diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..acff88bb2d --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +parm/gefs/postcntrl_gefs.xml text eol=lf diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..fceda048c0 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,14 @@ +# This is a comment. +# Each line is a file pattern followed by one or more owners. + +# These owners will be the default owners for everything in +# the repo. Unless a later match takes precedence, +# @global-owner1 and @global-owner2 will be requested for +# review when someone opens a pull request. +* @WenMeng-NOAA @BenjaminBlake-NOAA + + +# Support for public releases and documentation +docs/* @gspetro-NOAA +scripts/run_upp @FernandoAndrade-NOAA @gspetro-NOAA + diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml deleted file mode 100644 index eae74db3ae..0000000000 --- a/.github/workflows/build_and_test.yml +++ /dev/null @@ -1,67 +0,0 @@ -name: Build and Test -on: [push, pull_request] - -jobs: - build: - runs-on: ubuntu-20.04 - env: - FC: gfortran-9 - CC: gcc-9 - - steps: - - name: install-dependencies - run: | - sudo apt-get update - sudo apt-get install libmpich-dev - sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config - sudo apt-get install libpng-dev - sudo apt-get install libjpeg-dev - sudo apt-get install doxygen - - - name: checkout-jasper - uses: actions/checkout@v2 - with: - repository: jasper-software/jasper - path: jasper - ref: version-2.0.22 - - - name: build-jasper - run: | - cd jasper - mkdir build-jasper && cd build-jasper - cmake .. -DCMAKE_INSTALL_PREFIX=~ - make -j2 - make install - - - name: checkout-nceplibs - uses: actions/checkout@v2 - with: - repository: NOAA-EMC/NCEPLIBS - path: nceplibs - ref: v1.2.0 - - - name: build-nceplibs - run: | - cd nceplibs - mkdir build && cd build - cmake .. -DCMAKE_INSTALL_PREFIX=~ -DFLAT=ON -DBUILD_POST=OFF - make -j2 - - - name: checkout-post - uses: actions/checkout@v2 - with: - path: post - submodules: true - - - name: build-post - run: | - cd post - mkdir build && cd build - cmake .. -DCMAKE_PREFIX_PATH=~ -DENABLE_DOCS=ON - make -j2 - - - - - - diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml new file mode 100644 index 0000000000..7fa56eacb4 --- /dev/null +++ b/.github/workflows/developer.yml @@ -0,0 +1,92 @@ +# This is a GitHub Actions workflow for building and testing UPP on the develop branch. +# +# Alyson Stahl, 10/2025 +name: developer +on: + push: + branches: + - develop + pull_request: + branches: + - develop + +# Cancel in-progress workflows when pushing to a branch +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + developer: + runs-on: ubuntu-latest + env: + CC: gcc + FC: gfortran + CXX: g++ + + steps: + - name: install-dependencies + run: | + sudo apt-get update + sudo apt-get install libmpich-dev libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config + sudo apt-get install libopenblas-dev libpng-dev autotools-dev libaec-dev autoconf gcovr doxygen + + - name: build-crtm + uses: NOAA-EMC/ci-build-cmake-code@develop + with: + package-name: EMC_crtm + package-org: NOAA-EMC + git-ref: v2.3.0 + + - name: build-g2tmpl + uses: NOAA-EMC/ci-build-cmake-code@develop + with: + package-name: NCEPLIBS-g2tmpl + package-org: NOAA-EMC + + - name: build-sigio + uses: NOAA-EMC/ci-build-cmake-code@develop + with: + package-name: NCEPLIBS-sigio + package-org: NOAA-EMC + + - name: build-wrf-io + uses: NOAA-EMC/ci-build-cmake-code@develop + with: + package-name: NCEPLIBS-wrf_io + package-org: NOAA-EMC + + - name: build-dependencies + uses: NOAA-EMC/ci-build-nceplibs@develop + with: + jasper-version: version-4.0.0 + bacio-version: develop + w3emc-version: develop + w3emc-cmake-args: -DBUILD_WITH_BUFR=OFF + g2-version: v3.5.1 + ip-version: develop + nemsio-version: develop + + - name: checkout + uses: actions/checkout@v4 + with: + path: UPP + + - name: build + run: | + set -x + cd UPP + mkdir build && cd build + cmake .. -DBUILD_WITH_WRFIO=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_C_FLAGS='-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0' -DCMAKE_Fortran_FLAGS='-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -fno-lto' -DCMAKE_Fortran_COMPILER=gfortran \ + -DCMAKE_PREFIX_PATH="$GITHUB_WORKSPACE/nceplibs/jasper;$GITHUB_WORKSPACE/nceplibs/NCEPLIBS-bacio;$GITHUB_WORKSPACE/nceplibs/NCEPLIBS-w3emc;$GITHUB_WORKSPACE/nceplibs/NCEPLIBS-ip;$GITHUB_WORKSPACE/nceplibs/NCEPLIBS-g2;$GITHUB_WORKSPACE/nceplibs/NCEPLIBS-g2tmpl;$GITHUB_WORKSPACE/nceplibs/NCEPLIBS-sigio;$GITHUB_WORKSPACE/nceplibs/NCEPLIBS-nemsio;$GITHUB_WORKSPACE/nceplibs/NCEPLIBS-wrf_io;$GITHUB_WORKSPACE/nceplibs/EMC_crtm" + make VERBOSE=1 + make install + ctest --verbose --output-on-failure --rerun-failed + gcovr --root .. -v --html-details --exclude ../unit_tests --exclude CMakeFiles --print-summary -o test-coverage.html &> /dev/null + + - name: upload-test-coverage + uses: actions/upload-artifact@v4 + with: + name: UPP-test-coverage + path: | + UPP/build/*.html + UPP/build/*.css \ No newline at end of file diff --git a/.github/workflows/gcc.yml b/.github/workflows/gcc.yml new file mode 100644 index 0000000000..f7eb64200f --- /dev/null +++ b/.github/workflows/gcc.yml @@ -0,0 +1,97 @@ +name: GCC Linux Build +on: [push, pull_request, workflow_dispatch] + + +# Use custom shell with -l so .bash_profile is sourced +# without having to do it in manually every step +defaults: + run: + shell: bash -leo pipefail {0} + +env: + cache_key: gcc3 # The number (#) following the cache_key "gcc" is to flush Action cache. + CC: gcc-10 + FC: gfortran-10 + CXX: g++-10 + +# A note on flushing Action cache and relevance to "cache_key" above. +# There is no way to flush the Action cache, and hence a number (#) is appended +# to the "cache_key" (gcc). +# If the dependencies change, increment this number and a new cache will be +# generated by the dependency build step "setup" +# There is a Github issue to force clear the cache. +# See discussion on: +# https://stackoverflow.com/questions/63521430/clear-cache-in-github-actions + +# The jobs are split into: +# 1. a dependency build step (setup), and +# 2. a UPP build step (build) +# The setup is run once and the environment is cached, +# so each build of UPP can reuse the cached dependencies to save time (and compute). + +jobs: + setup: + runs-on: ubuntu-22.04 + + steps: + - name: checkout-upp # This is for getting spack.yaml + uses: actions/checkout@v4 + with: + path: UPP + + # Cache spack, compiler and dependencies + - name: cache-env + id: cache-env + uses: actions/cache@v4 + with: + path: | + spack + ~/.spack + key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('UPP/ci/spack.yaml') }} + + # Install dependencies using Spack + - name: install-dependencies-with-spack + if: steps.cache-env.outputs.cache-hit != 'true' + run: | + git clone -c feature.manyFiles=true https://github.com/NOAA-EMC/spack.git + source spack/share/spack/setup-env.sh + spack env create upp-env UPP/ci/spack.yaml + spack env activate upp-env + sudo apt install cmake + spack external find + spack add mpich@3.4.2 + spack add doxygen + spack concretize + spack install -v --fail-fast --dirty + spack clean --all + + build: + needs: setup + runs-on: ubuntu-22.04 + + steps: + - name: checkout-upp + uses: actions/checkout@v4 + with: + path: UPP + + - name: cache-env + id: cache-env + uses: actions/cache@v4 + with: + path: | + spack + ~/.spack + key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('UPP/ci/spack.yaml') }} + + - name: build-upp + run: | + source spack/share/spack/setup-env.sh + spack env activate upp-env + export CC=mpicc + export FC=mpif90 + cd UPP + mkdir -p build && cd build + cmake -DENABLE_DOCS=ON -DCMAKE_INSTALL_PREFIX=../install .. + make -j2 VERBOSE=1 + make install diff --git a/.github/workflows/intel.yml b/.github/workflows/intel.yml new file mode 100644 index 0000000000..0bb27de61b --- /dev/null +++ b/.github/workflows/intel.yml @@ -0,0 +1,115 @@ +name: Intel Linux Build +on: [push, pull_request, workflow_dispatch] + +# Use custom shell with -l so .bash_profile is sourced which loads intel/oneapi/setvars.sh +# without having to do it in manually every step +defaults: + run: + shell: bash -leo pipefail {0} + +# Set I_MPI_CC/F90 so Intel MPI wrapper uses icc/ifort instead of gcc/gfortran +env: + cache_key: intel3 # The number (#) following the cache_key "intel" is to flush Action cache. + CC: icc + FC: ifort + CXX: icpc + I_MPI_CC: icc + I_MPI_F90: ifort + +# A note on flushing Action cache and relevance to "cache_key" above. +# There is no way to flush the Action cache, and hence a number (#) is appended +# to the "cache_key" (intel). +# If the dependencies change, increment this number and a new cache will be +# generated by the dependency build step "setup" +# There is a Github issue to force clear the cache. +# See discussion on: +# https://stackoverflow.com/questions/63521430/clear-cache-in-github-actions + +# The jobs are split into: +# 1. a dependency build step (setup), and +# 2. a UPP build step (build) +# The setup is run once and the environment is cached, +# so each build of UPP can reuse the cached dependencies to save time (and compute). + +jobs: + setup: + runs-on: ubuntu-22.04 + + steps: + - name: checkout-upp # This is for getting spack.yaml + if: steps.cache-env.outputs.cache-hit != 'true' + uses: actions/checkout@v4 + with: + path: UPP + + # Cache spack, compiler and dependencies + - name: cache-env + id: cache-env + uses: actions/cache@v4 + with: + path: | + spack + ~/.spack + /opt/intel + key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('UPP/ci/spack.yaml') }} + + - name: install-intel-compilers + run: | + wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB + sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB + echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list + sudo apt-get update + sudo apt-get install intel-oneapi-dev-utilities intel-oneapi-mpi-devel intel-oneapi-openmp intel-oneapi-compiler-fortran-2023.2.1 intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.2.1 + echo "source /opt/intel/oneapi/setvars.sh" >> ~/.bash_profile + + # Install dependencies using Spack + - name: install-dependencies-with-spack + if: steps.cache-env.outputs.cache-hit != 'true' + run: | + git clone -c feature.manyFiles=true https://github.com/NOAA-EMC/spack.git + source spack/share/spack/setup-env.sh + spack env create upp-env UPP/ci/spack.yaml + spack env activate upp-env + spack compiler find + sudo apt install cmake + spack external find + spack add intel-oneapi-mpi + spack concretize + spack install --dirty -v --fail-fast + spack clean --all + + build: + needs: setup + runs-on: ubuntu-22.04 + + steps: + - name: checkout-upp + uses: actions/checkout@v4 + with: + path: UPP + + - name: install-intel + run: | + echo "source /opt/intel/oneapi/setvars.sh" >> ~/.bash_profile + + - name: cache-env + id: cache-env + uses: actions/cache@v4 + with: + path: | + spack + ~/.spack + /opt/intel + key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('UPP/ci/spack.yaml') }} + + - name: build-upp + run: | + source spack/share/spack/setup-env.sh + spack env activate upp-env + export CC=mpiicc + export FC=mpiifort + cd UPP + mkdir -p build && cd build + cmake -DENABLE_DOCS=ON -DCMAKE_INSTALL_PREFIX=../install .. + make -j2 VERBOSE=1 + make install diff --git a/.gitignore b/.gitignore index 2dc827ccf0..616ffe0122 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,10 @@ # USE CAUTION WHEN ADDING WILDCARDS, as some builds use different filename # # conventions than others # ############################################################################## -build/ -install/ +build +install +build/*/ +install*/ *.[aox] *.mod @@ -19,3 +21,5 @@ install/ *.swp configure.upp* + +*~ diff --git a/.gitmodules b/.gitmodules index 669c691de3..42ffe2a3d2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,8 @@ -[submodule "CMakeModules"] - path = CMakeModules - url = https://github.com/noaa-emc/CMakeModules - branch = develop +[submodule "post_gtg.fd"] + path = sorc/ncep_post.fd/post_gtg.fd + url = https://github.com/NCAR/UPP_GTG + update = none +[submodule "sorc/libIFI.fd"] + path = sorc/libIFI.fd + url = https://github.com/NCAR/UPP_IFI + update = none diff --git a/.readthedocs.yml b/.readthedocs.yml index 73f8f141c3..817d1e9ef8 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -4,10 +4,14 @@ # Required version: 2 +build: + os: ubuntu-20.04 + tools: + python: "3.9" # Build documentation in the docs/ directory with Sphinx sphinx: - configuration: docs/conf.py + configuration: doc/UserGuide/conf.py # Build documentation with MkDocs #mkdocs: @@ -17,8 +21,6 @@ sphinx: formats: all # Optionally set the version of Python and requirements required to build your docs -#python: -# version: 3.7 -# install: - -# - requirements: docs/requirements.txt +python: + install: + - requirements: doc/UserGuide/requirements.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index e2beafe4ba..fadf106756 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,15 +7,20 @@ file(STRINGS "VERSION" pVersion LIMIT_COUNT 1) project( upp VERSION ${pVersion} - LANGUAGES Fortran) + LANGUAGES Fortran C CXX) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/Modules") +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") # Handle user options. option(OPENMP "use OpenMP threading" ON) option(BUILD_POSTEXEC "Build NCEPpost executable" ON) +option(BUILD_WITH_NEMSIO "Build NCEPpost with nemsio library" ON) option(BUILD_WITH_WRFIO "Build NCEPpost with WRF-IO library" OFF) +option(BUILD_WITH_IFI "Build NCEPpost with In-Flight Icing (IFI) library if present" OFF) +option(REQUIRE_IFI "Abort if libIFI is not found ; enables BUILD_WITH_IFI=ON" OFF) +option(BUILD_WITH_GTG "Build NCEPpost with NCAR/GTG" OFF) option(ENABLE_DOCS "Enable generation of doxygen-based documentation." OFF) +option(BUILD_IFI_EXECUTABLES "Build libIFI FIP2-lookalike and test programs." OFF) if(NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|Release|RelWithDebInfo|MinSizeRel)$") message(STATUS "Setting build type to 'Release' as none was specified.") @@ -26,7 +31,7 @@ if(NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|Release|RelWithDebInfo|MinSizeRel)$") "MinSizeRel" "RelWithDebInfo") endif() -if(NOT CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel|GNU|Clang|AppleClang)$") +if(NOT CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel|IntelLLVM|GNU|Clang|AppleClang)$") message(WARNING "Compiler not officially supported: ${CMAKE_Fortran_COMPILER_ID}") endif() @@ -44,28 +49,129 @@ if(APPLE) endif() find_package(bacio REQUIRED) +if(bacio_VERSION LESS 2.5.0) + add_library(bacio::bacio ALIAS bacio::bacio_4) +endif() find_package(crtm REQUIRED) find_package(g2 REQUIRED) find_package(g2tmpl REQUIRED) -find_package(ip REQUIRED) +if(BUILD_WITH_GTG) + find_package(ip REQUIRED) +endif() + +if(INTERNAL_IFI) + if(BUILD_WITH_IFI) + message(SEND_ERROR "Cannot use INTERNAL_IFI with either BUILD_WITH_IFI or REQUIRE_IFI.") + endif() + if(IFI_DIR) + message(SEND_ERROR "When INTERNAL_IFI is specified, do not set IFI_DIR.") + endif() + set(REQUIRE_IFI ON) + set(BUILD_WITH_IFI ON) + set(IFI_FOUND ON) + set(IFI_DIR ${CMAKE_INSTALL_DIR}) + message(NOTICE "Building IFI inside the post.") +else() + if(REQUIRE_IFI) + set(BUILD_WITH_IFI ON) + endif() + + if(BUILD_WITH_IFI) + if(REQUIRE_IFI) + find_package(IFI REQUIRED) + else() + find_package(IFI) + endif() + endif() + if(IFI_FOUND) + message(NOTICE "Linking to IFI external to the post.") + endif() +endif() + +if(BUILD_IFI_EXECUTABLES) + if(NOT INTERNAL_IFI) + message(SEND_ERROR "Can only BUILD_IFI_EXECUTABLES when INTERNAL_IFI is enabled.") + else() + message(NOTICE "Building libIFI FIP2-lookalike and test programs.") + endif() +endif() if(BUILD_POSTEXEC) - find_package(nemsio REQUIRED) - find_package(sfcio REQUIRED) - find_package(sigio REQUIRED) - find_package(sp REQUIRED) - find_package(w3nco REQUIRED) + if(BUILD_WITH_NEMSIO) + find_package(nemsio REQUIRED) + find_package(sigio REQUIRED) + endif() + find_package(sp QUIET) + find_package(ip 5.0 QUIET) + if((NOT ip_VERSION VERSION_GREATER_EQUAL 5.0) AND (NOT sp_FOUND)) + message(SEND_ERROR "UPP requires sp or ip v5+.") + endif() + find_package(w3emc REQUIRED) if(BUILD_WITH_WRFIO) find_package(wrf_io REQUIRED) endif() + if(IFI_FOUND) + if(CMAKE_C_COMPILER_ID MATCHES "^Intel$") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -cxxlib") + elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^GNU$") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lstdc++") + elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU|AppleClang)$") + # This one is a wild guess. I haven't tried linking a Fortran + # executable with C++ libraries in clang. + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -lc++abi") + endif() + endif() endif() +if(IFI_FOUND OR INTERNAL_IFI) + message(NOTICE "Enabling USE_IFI in the post.") + add_definitions(-DUSE_IFI=1) +endif() + +# Enforce 32bit for UPP +# Intel +string(REPLACE "-real-size 64" "" CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}") +string(REPLACE " -r8 " " " CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}") +# GNU +string(REPLACE "-fdefault-real-8" "" CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}") +string(REPLACE "-fdefault-double-8" "" CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}") + add_subdirectory(sorc) -add_subdirectory(parm) + +# Run unit tests. +include(CTest) +if(BUILD_TESTING) + add_subdirectory(unit_tests) +endif() # If desired, build the doxygen docs. if(ENABLE_DOCS) find_package(Doxygen REQUIRED) - add_subdirectory(docs) + add_subdirectory(doc) endif() +### Package config +include(CMakePackageConfigHelpers) +set(CONFIG_INSTALL_DESTINATION lib/cmake/${PROJECT_NAME}) + +export(EXPORT ${PROJECT_NAME}Exports + NAMESPACE ${PROJECT_NAME}:: + FILE ${PROJECT_NAME}-targets.cmake) + +configure_package_config_file( + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/PackageConfig.cmake.in ${CMAKE_BINARY_DIR}/${PROJECT_NAME}-config.cmake + INSTALL_DESTINATION ${CONFIG_INSTALL_DESTINATION}) +install(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}-config.cmake + DESTINATION ${CONFIG_INSTALL_DESTINATION}) + +write_basic_package_version_file( + ${CMAKE_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake + VERSION ${PROJECT_VERSION} + COMPATIBILITY AnyNewerVersion) +install(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake + DESTINATION ${CONFIG_INSTALL_DESTINATION}) + +install(EXPORT ${PROJECT_NAME}Exports + NAMESPACE ${PROJECT_NAME}:: + FILE ${PROJECT_NAME}-targets.cmake + DESTINATION ${CONFIG_INSTALL_DESTINATION}) diff --git a/CMakeModules b/CMakeModules deleted file mode 160000 index 09ff76f1f6..0000000000 --- a/CMakeModules +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 09ff76f1f69ecaab97c59782fc718c124c174dfb diff --git a/Externals.cfg b/Externals.cfg deleted file mode 100644 index 4fa904f9cf..0000000000 --- a/Externals.cfg +++ /dev/null @@ -1,9 +0,0 @@ -[gtg] -tag = ncep_post_gtg.v2.0.3 -protocol = git -repo_url = git@github.com:NCAR/UPP_GTG.git -local_path = sorc/post_gtg.fd -required = True - -[externals_description] -schema_version = 1.0.0 diff --git a/README.md b/README.md index fc92552706..4d00db897c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# Unified Post-Processing (UPP) +# Unified Post Processor (UPP) The Unified Post Processor (UPP) software package is a software package designed to generate useful products from raw model @@ -7,25 +7,26 @@ 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. +Mesoscale (NAM), Rapid Refresh (RAP), High-Resolution Rapid Refresh +(HRRR), Short Range Ensemble Forecast (SREF), and Hurricane WRF (HWRF) +applications. It is also used in the Unified Forecast System (UFS), +including the Rapid Refresh Forecast System (RRFS), Hurricane Analysis and +Forecast System (HAFS), and the Medium-Range Weather (MRW) and Short- +Range Weather (SRW) Applications. The UPP provides the capability to compute a variety of diagnostic fields and interpolate to pressure levels or other vertical coordinates. UPP also incorporates the Joint Center for Satellite Data Assimilation -(JCSDA) Community Radiative Transfer Model (CRTM) to compute model -derived brightness temperature (TB) for various instruments and +(JCSDA) Community Radiative Transfer Model (CRTM) to compute model-derived brightness temperature (TB) for various instruments and channels. This additional feature enables the generation of a number of simulated satellite products including GOES products. Output from the UPP is in National Weather Service (NWS) and World Meteorological Organization (WMO) GRIB2 format and can be used -directly by visualization, plotting, or verification packages, or for -further downstream post-processing, e.g. statistical post-processing +directly by visualization, plotting, or verification packages or for +further downstream post-processing, e.g., statistical post-processing techniques. Examples of UPP products include: @@ -41,38 +42,47 @@ Examples of UPP products include: - 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. +## User Support +Support for the UFS UPP is provided through [GitHub Discussions](https://github.com/NOAA-EMC/UPP/discussions). + +## Documentation +User Guide for latest standalone public release: https://upp.readthedocs.io/en/latest/. + +Technical code-level documentation: https://noaa-emc.github.io/UPP/. + +## Developer Information +Please review the [wiki](https://github.com/NOAA-EMC/UPP/wiki) ## Authors NCEP/EMC Developers -Code Manager: Wen Meng, Huiya Chuang, Kate Fossell +Code Managers: Wen Meng, Ben Blake, Chad Lyden ## Prerequisites -This package requires the following NCEPLIBS packages: +The UPP requires certain NCEPLIBS packages to be installed via the +spack-stack project. For instructions on installing these packages as a +bundle via spack-stack, see: https://spack-stack.readthedocs.io/en/latest/. +The `UPP/modulefiles` directory indicates which package versions are +used and supported on Level 1 systems. + +Required NCEPLIBS packages: - [NCEPLIBS-g2](https://github.com/NOAA-EMC/NCEPLIBS-g2) - [NCEPLIBS-g2tmpl](https://github.com/NOAA-EMC/NCEPLIBS-g2tmpl) -- [NCEPLIBS-sp](https://github.com/NOAA-EMC/NCEPLIBS-sp) - [NCEPLIBS-ip](https://github.com/NOAA-EMC/NCEPLIBS-ip) - [NCEPLIBS-bacio](https://github.com/NOAA-EMC/NCEPLIBS-bacio) - [NCEPLIBS-w3emc](https://github.com/NOAA-EMC/NCEPLIBS-w3emc) -- [NCEPLIBS-w3nco](https://github.com/NOAA-EMC/NCEPLIBS-w3nco) - [CRTM](https://github.com/noaa-emc/emc_crtm) Also required to build NCEPpost executable (cmake option BUILD_POSTEXEC): -- [NCEPLIBS-sigio](https://github.com/NOAA-EMC/NCEPLIBS-sigio) - -- [NCEPLIBS-sfcio](https://github.com/NOAA-EMC/NCEPLIBS-sfcio) - -- [NCEPLIBS-nemsio](https://github.com/NOAA-EMC/NCEPLIBS-nemsio) - -- [NCEPLIBS-gfsio](https://github.com/NOAA-EMC/NCEPLIBS-gfsio) +- [NCEPLIBS-sigio](https://github.com/NOAA-EMC/NCEPLIBS-sigio) +- [NCEPLIBS-sfcio](https://github.com/NOAA-EMC/NCEPLIBS-sfcio) +- [NCEPLIBS-nemsio](https://github.com/NOAA-EMC/NCEPLIBS-nemsio) The [NCEPLIBS-wrf_io](https://github.com/NOAA-EMC/NCEPLIBS-wrf_io) library is required to build with NCEPpost with WRF-IO library (cmake @@ -80,39 +90,30 @@ option BUILD_WITH_WRFIO). The following third-party libraries are required: +- [netcdf](https://github.com/Unidata/netcdf) - [netcdf-c](https://github.com/Unidata/netcdf-c) - [netcdf-fortran](https://github.com/Unidata/netcdf-fortran) - [Jasper](https://github.com/jasper-software/jasper) - [libpng](http://www.libpng.org/pub/png/libpng.html) -- [libz](https://zlib.net/) +- [zlib](https://zlib.net/) +- [hdf5](https://github.com/HDFGroup/hdf5) ## Building Builds include: -- Operational use GNC build as Wen described for both library and - executable (library used for GFS only at this time) +- Inline post (UPP library): Currently only supported for the GFS, RRFS, + HAFS, and the UFS-MRW Application. -- MRW App uses UPP packaged with nceplibs and cmake to build/run with - executable (via release/public-v1 branch). +- Offline post (UPP executable): Supported for regional applications + including SRW, RRFS, HAFS, and standalone applications of UPP. -- SRW App uses UPP repo branch/tag directly and uses cmake to - build/run with executable (via release/public-v2 branch). -- Community standalone uses UPP repo branch/tag directly and uses - cmake to build/run with executable (via release/public-v2 - branch). For these procedures, we add a - -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} where INSTALL_PREFIX is the - location of the nceplibs installation as a dependency requirement. +CMake is used to manage all builds of the UPP. +The script `UPP/tests/compile_upp.sh` can be used to automatically +build UPP on fully supported platforms where HPC-stack is supported. +Details in this script can be used to build on new platforms. -``` -mkdir build -cd build -cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/install -make -make test -make install -``` ## Disclaimer @@ -130,3 +131,7 @@ Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by DOC or the United States Government. + +## UPP Terms of Use Notice + +The UPP Terms of Use Notice is available at: https://github.com/NOAA-EMC/UPP/wiki/UPP-Terms-of-Use-Notice diff --git a/VERSION b/VERSION index 82f3d338cf..275283a18f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -10.0.9 +11.0.0 diff --git a/ci/Jenkinsfile b/ci/Jenkinsfile new file mode 100644 index 0000000000..b62a5c9357 --- /dev/null +++ b/ci/Jenkinsfile @@ -0,0 +1,310 @@ +def formatComment(machine, compiler) { + script { + def buildResult = currentBuild.resultIsBetterOrEqualTo("SUCCESS") ? "PASSED" : "FAILED" + def commentMessage = "${machine} UPP Regression Tests with ${compiler} compiler ${buildResult}" + if (fileExists('ci/changed_results.txt')) { + echo 'changed_results.txt file found' + sh "cat ci/changed_results.txt" + def changedResults = readFile(file: 'ci/changed_results.txt') + def failMessage = commentMessage + "\n\n" + changedResults + def formattedMessage = failMessage.replaceAll("\n", "\\\\n") + postGitHubComment(formattedMessage) + sh "rm -rf ci/changed_results.txt" + } else { + echo 'changed_results.txt file not found' + postGitHubComment(commentMessage) + } + } +} + + +def postGitHubComment(commentMessage) { + script { + withCredentials([string(credentialsId: 'GithubJenkinsNew', variable: 'ACCESS_TOKEN')]) { + def apiUrl = "https://api.github.com/repos/NOAA-EMC/UPP/issues/${env.CHANGE_ID}/comments" + def curlCommand = "curl -s -H \"Authorization: token " + ACCESS_TOKEN + "\" \\\n" + + "-X POST -d '{\"body\": \"" + commentMessage + "\"}' \\\n" + + "\"" + apiUrl + "\"" + + def response = sh(script: curlCommand, returnStatus: true) + if (response == 0) { + echo "Comment added successfully to PR #${env.CHANGE_ID}" + } else { + error "Failed to add comment to PR #${env.CHANGE_ID}" + } + } + } +} + +/************************************************ +* Removes a label from the PR +* labelName: The name of the label to be removed +* Note: For security concerns remove GLOBAL_TOKEN +* from quoted text and use string concat op +************************************************/ +def removeGitHubLabel(labelName) { + script { + def apiURL = "https://api.github.com/repos/NOAA-EMC/UPP/issues/${env.CHANGE_ID}/labels/${labelName}" + def curlCmd = "curl -L -X DELETE -H \"Accept: application/vnd.github.v3+json\" -H \"Authorization: Bearer " + GLOBAL_TOKEN + "\" ${apiURL}" + def response = sh(script: curlCmd, returnStatus: true) + if (response == 0) { + echo "Label ${labelName} successfully removed from PR #${env.CHANGE_ID}" + } else { + error "Failed to remove Label ${labelName} from PR #${env.CHANGE_ID}" + } + } +} + +def ORION_RTS = 'false' +def HERCULES_RTS = 'false' +def URSA_RTS = 'false' +def RUN_RTS = 'false' + +pipeline { + agent none + + environment { + GLOBAL_TOKEN = credentials('GithubJenkinsNew') + } + stages { + stage('UPP Regression Tests') { + agent { + label 'built-in' + } + steps { + script { + // Determine which RDHPC systems have been selected for RTs + for (label in pullRequest.labels) { + if (label.matches("Run_RTs")) { + echo "Run_RTs label selected" + RUN_RTS = 'true' + } + } + if (RUN_RTS == 'true') { + echo "Remove label Run_RTs" + removeGitHubLabel("Run_RTs") + } + else { + echo "Jenkins automated RTs will not run unless the label 'Run_RTs' is added to the PR" + } + + if (RUN_RTS == 'true') { + for (label in pullRequest.labels) { + if (label.matches("hercules-RT")) { + echo "Hercules RTs Selected" + HERCULES_RTS = 'true' + } + if (label.matches("orion-RT")) { + echo "Orion RTs Selected" + ORION_RTS = 'true' + } + if (label.matches("ursa-RT")) { + echo "Ursa RTs Selected" + URSA_RTS = 'true' + } + if (label.matches("hera-RT")) { + echo "Hera RTs no longer supported" + } + } + } + } + } + } + + stage('Run UPP RTs on Hercules - Intel') { + agent { + label "hercules" + } + when { + beforeAgent true + expression { HERCULES_RTS == 'true' } + } + environment { + ACCNR = 'epic' + UPP_COMPILER = 'intel' + NODE_PATH = '/work/noaa/epic/UPP/jenkins-ci/hercules' + } + steps { + catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { + cleanWs() + checkout scm + sh ''' + echo $(pwd) + cd ci/ + echo $CHANGE_ID + export SSH_ORIGIN=$(curl --silent https://api.github.com/repos/NOAA-EMC/UPP/pulls/$CHANGE_ID | jq -r '.head.repo.ssh_url') + export FORK_BRANCH=$(curl --silent https://api.github.com/repos/NOAA-EMC/UPP/pulls/$CHANGE_ID | jq -r '.head.ref') + ./rt.sh -a ${ACCNR} -C ${UPP_COMPILER} -r `pwd`/rundir + cd ../tests/logs + git remote -v + git fetch --no-recurse-submodules origin + git config user.email "ecc.platform@noaa.gov" + git config user.name "epic-cicd-jenkins" + echo "Hercules testing concluded..." + git remote -v | grep -w sshorigin > /dev/null 2>&1 && git remote remove sshorigin > /dev/null 2>&1 + git remote add sshorigin $SSH_ORIGIN > /dev/null 2>&1 + git pull sshorigin $FORK_BRANCH + git add rt.log.HERCULES_${UPP_COMPILER} + git commit -m "Jenkins RT log for Hercules using ${UPP_COMPILER} compiler." + git push sshorigin HEAD:$FORK_BRANCH + ''' + } + } + post { + always { + script { + removeGitHubLabel("hercules-RT") + formatComment("Hercules", UPP_COMPILER) + } + } + } + } + + stage('Run UPP RTs on Orion - Intel') { + agent { + label "orion" + } + when { + beforeAgent true + expression { ORION_RTS == 'true' } + } + environment { + ACCNR = 'epic' + UPP_COMPILER = 'intel' + NODE_PATH = '/work/noaa/epic/UPP/jenkins-ci/orion' + } + steps { + catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { + cleanWs() + checkout scm + sh ''' + echo $(pwd) + cd ci/ + echo $CHANGE_ID + export SSH_ORIGIN=$(curl --silent https://api.github.com/repos/NOAA-EMC/UPP/pulls/$CHANGE_ID | jq -r '.head.repo.ssh_url') + export FORK_BRANCH=$(curl --silent https://api.github.com/repos/NOAA-EMC/UPP/pulls/$CHANGE_ID | jq -r '.head.ref') + ./rt.sh -a ${ACCNR} -C ${UPP_COMPILER} -r `pwd`/rundir + cd ../tests/logs + git remote -v + git fetch --no-recurse-submodules origin + git config user.email "ecc.platform@noaa.gov" + git config user.name "epic-cicd-jenkins" + echo "Orion testing concluded..." + git remote -v | grep -w sshorigin > /dev/null 2>&1 && git remote remove sshorigin > /dev/null 2>&1 + git remote add sshorigin $SSH_ORIGIN > /dev/null 2>&1 + git pull sshorigin $FORK_BRANCH + git add rt.log.ORION_${UPP_COMPILER} + git commit -m "Jenkins RT log for Orion using ${UPP_COMPILER} compiler." + git push sshorigin HEAD:$FORK_BRANCH + ''' + } + } + post { + always { + script { + formatComment("Orion", UPP_COMPILER) + removeGitHubLabel("orion-RT") + } + } + } + } + + stage('Run UPP RTs on Ursa - Intel') { + agent { + label "ursa" + } + when { + beforeAgent true + expression { URSA_RTS == 'true' } + } + environment { + ACCNR = 'epic' + UPP_COMPILER = 'intel' + NODE_PATH = '/scratch4/NAGAPE/epic/role-epic/ursa/UPP/test_suite' + } + steps { + catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { + cleanWs() + checkout scm + sh ''' + echo $(pwd) + cd ci/ + echo $CHANGE_ID + export SSH_ORIGIN=$(curl --silent https://api.github.com/repos/NOAA-EMC/UPP/pulls/$CHANGE_ID | jq -r '.head.repo.ssh_url') + export FORK_BRANCH=$(curl --silent https://api.github.com/repos/NOAA-EMC/UPP/pulls/$CHANGE_ID | jq -r '.head.ref') + ./rt.sh -a ${ACCNR} -C ${UPP_COMPILER} -r `pwd`/rundir + cd ../tests/logs + git remote -v + git fetch --no-recurse-submodules origin + git config user.email "ecc.platform@noaa.gov" + git config user.name "epic-cicd-jenkins" + echo "Ursa testing concluded..." + git remote -v | grep -w sshorigin > /dev/null 2>&1 && git remote remove sshorigin > /dev/null 2>&1 + git remote add sshorigin $SSH_ORIGIN > /dev/null 2>&1 + git pull sshorigin $FORK_BRANCH + git add rt.log.URSA_${UPP_COMPILER} + git commit -m "Jenkins RT log for URSA using ${UPP_COMPILER} compiler." + git push sshorigin HEAD:$FORK_BRANCH + ''' + } + } + post { + always { + script { + formatComment("Ursa", UPP_COMPILER) + // Dont remove Ursa label yet, so we can run for both compilers + } + } + } + } + + stage('Run UPP RTs on Ursa - Intelllvm') { + agent { + label "ursa" + } + when { + beforeAgent true + expression { URSA_RTS == 'true' } + } + environment { + ACCNR = 'epic' + UPP_COMPILER = 'intelllvm' + NODE_PATH = '/scratch4/NAGAPE/epic/role-epic/ursa/UPP/test_suite' + } + steps { + catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { + cleanWs() + checkout scm + sh ''' + echo $(pwd) + cd ci/ + echo $CHANGE_ID + export SSH_ORIGIN=$(curl --silent https://api.github.com/repos/NOAA-EMC/UPP/pulls/$CHANGE_ID | jq -r '.head.repo.ssh_url') + export FORK_BRANCH=$(curl --silent https://api.github.com/repos/NOAA-EMC/UPP/pulls/$CHANGE_ID | jq -r '.head.ref') + ./rt.sh -a ${ACCNR} -C ${UPP_COMPILER} -r `pwd`/rundir + cd ../tests/logs + git remote -v + git fetch --no-recurse-submodules origin + git config user.email "ecc.platform@noaa.gov" + git config user.name "epic-cicd-jenkins" + echo "Ursa testing concluded..." + git remote -v | grep -w sshorigin > /dev/null 2>&1 && git remote remove sshorigin > /dev/null 2>&1 + git remote add sshorigin $SSH_ORIGIN > /dev/null 2>&1 + git pull sshorigin $FORK_BRANCH + git add rt.log.URSA_${UPP_COMPILER} + git commit -m "Jenkins RT log for URSA using ${UPP_COMPILER} compiler." + git push sshorigin HEAD:$FORK_BRANCH + ''' + } + } + post { + always { + script { + formatComment("Ursa", UPP_COMPILER) + removeGitHubLabel("ursa-RT") + } + } + } + } + } +} diff --git a/ci/check_runtime.sh b/ci/check_runtime.sh new file mode 100755 index 0000000000..1451889909 --- /dev/null +++ b/ci/check_runtime.sh @@ -0,0 +1,96 @@ +#!/bin/bash +########################################################################## +# This script is used to retrive runtime on R&D machines. +# Wen Meng, 05/2025, First version. +########################################################################## + +#get runtime for each test +export some_failed="NO" +sleep 30 +for job_id in $jobid_list; do + ic=1 + sleep_loop_max=300 + while [ $ic -le $sleep_loop_max ]; do + status=$(sacct --parsable -j "$job_id" --format=jobid,jobname,elapsed,state | awk -F"|" 'FNR == 2 {print $4}') + + if [ "$status" = "COMPLETED" ]; then + break + elif ( echo "$status" | grep -E 'FAIL|TIMEOUT|CANCEL|DEAD|SIGNAL|SPECIAL' > /dev/null ) ; then + some_failed="YES" + echo "? Job $job_id failed with status: $status" + break + else + ((ic++)) + sleep 15 + fi + done + + if [ $ic -lt $sleep_loop_max ]; then + + info=$(sacct --parsable -j "$job_id" --format=jobid,jobname,elapsed,state | awk -F"|" 'FNR == 2') + runtime_fmt=$(echo "$info" | cut -d"|" -f3) + jobname=$(echo "$info" | cut -d"|" -f2) + + runtime_b=$(grep "^${jobname}" "${runtime_log}" | awk '{print $2}') + printf "%-10s %-16s %-10s %s\n" "$runtime_fmt" "$jobname" "baseline:" "$runtime_b" + msg="Runtime: $jobname $runtime_fmt -- baseline ${runtime_b}" + postmsg "$logfile" "$msg" + fi +done + +elapsed_time=$( printf '%02dh:%02dm:%02ds\n' $((SECONDS%86400/3600)) $((SECONDS%3600/60)) $((SECONDS%60)) ) + +python ${test_v}/ci/rt-status.py +test_results=$? + +if [ "$some_failed" = "YES" ] ; then + test_results=99 + echo WARNING: some tests exited with non-zero status. +fi + +# Cleanup rt log +cd ${test_v} + +UPP_HASH=$(git rev-parse HEAD) +SUBMODULE_HASHES=$(git submodule status --recursive) +DATE="$(date '+%Y%m%d %T')" + +cd ${test_v}/ci + +cat << EOF > ${rt_log}.temp +===== Start of UPP Regression Testing Log ===== +UPP Hash Tested: +${UPP_HASH} + +Submodule hashes: +${SUBMODULE_HASHES} + +Run directory: ${rundir} +Baseline directory: ${homedir} + +Total runtime: ${elapsed_time} +Test Date: ${DATE} +Summary Results: + +EOF + +if [ "$some_failed" = "YES" ] ; then + echo "Warning: some tests exited with non-zero. status" >> ${rt_log}.temp + echo >> ${rt_log}.temp +fi + +cat ${rt_log} | grep "test:" >> ${rt_log}.temp +cat ${rt_log} | grep "baseline" >> ${rt_log}.temp +python ${test_v}/ci/rt-status.py >> ${rt_log}.temp +echo "===== End of UPP Regression Testing Log =====" >> ${rt_log}.temp +mv ${rt_log}.temp ${rt_log} +mv ${rt_log} ${test_v}/tests/logs + +# should indicate failure to Jenkins +if [ $test_results -ne 0 ]; then + python ${test_v}/ci/rt-status.py > changed_results.txt + if [ "$some_failed" = "YES" ]; then + echo "Warning: some tests exited with non-zero status." >> changed_results.txt + fi + exit 1 +fi diff --git a/ci/check_runtime_WCOSS2.sh b/ci/check_runtime_WCOSS2.sh new file mode 100755 index 0000000000..1b2922383f --- /dev/null +++ b/ci/check_runtime_WCOSS2.sh @@ -0,0 +1,102 @@ +#!/bin/bash +########################################################################## +# This script is used to retrive runtime on WCOSS2 +# Wen Meng, 05/2025, First version. +########################################################################## + +#get runtime for each test +export some_failed="NO" +sleep 30 +for job_id in $jobid_list; do + ic=1 + sleep_loop_max=300 + while [ $ic -le $sleep_loop_max ]; do + status=$(qstat -x "$job_id" | awk 'FNR == 3 {print $5}') + if [ "$status" = "F" ]; then + break + #elif [ "$status" = "E" ]; then + # export some_failed="YES" + # jobname=`qstat -x ${job_id} | awk 'FNR == 3' | awk '{print $2}'` + # echo "Test $jobname ${job_id} failed $status" + # break + else + ((ic++)) + sleep 15 + fi + done + + if [ $ic -lt $sleep_loop_max ]; then + + stime=$(qstat -xf "$job_id" | awk -F '=' '/stime/ {gsub(/^ +| +$/, "", $2); print $2}') + etime=$(qstat -xf "$job_id" | awk -F '=' '/mtime/ {gsub(/^ +| +$/, "", $2); print $2}') + + stime_sec=$(date -d "$stime" +%s) + etime_sec=$(date -d "$etime" +%s) + runtime_sec=$((etime_sec - stime_sec)) + runtime_fmt=$(date -u -d @"$runtime_sec" +%H:%M:%S) + + jobname=$(qstat -x "$job_id" | awk 'FNR == 3 {print $2}') + runtime_b=$(grep "$jobname" "$runtime_log" | awk '{print $2}') + + printf "%-10s %-16s %-10s %s\n" "$runtime_fmt" "$jobname" "baseline:" "$runtime_b" + msg="Runtime: $jobname $runtime_fmt -- baseline ${runtime_b}" + postmsg "$logfile" "$msg" + fi +done + +elapsed_time=$( printf '%02dh:%02dm:%02ds\n' $((SECONDS%86400/3600)) $((SECONDS%3600/60)) $((SECONDS%60)) ) + +python ${test_v}/ci/rt-status.py +test_results=$? + +if [ "$some_failed" = "YES" ] ; then + test_results=99 + echo WARNING: some tests exited with non-zero status. +fi + +# Cleanup rt log +cd ${test_v} + +UPP_HASH=$(git rev-parse HEAD) +SUBMODULE_HASHES=$(git submodule status --recursive) +DATE="$(date '+%Y%m%d %T')" + +cd ${test_v}/ci + +cat << EOF > ${rt_log}.temp +===== Start of UPP Regression Testing Log ===== +UPP Hash Tested: +${UPP_HASH} + +Submodule hashes: +${SUBMODULE_HASHES} + +Run directory: ${rundir} +Baseline directory: ${homedir} + +Total runtime: ${elapsed_time} +Test Date: ${DATE} +Summary Results: + +EOF + +if [ $some_failed = YES ] ; then + echo "Warning: some tests exited with non-zero. status" >> ${rt_log}.temp + echo >> ${rt_log}.temp +fi + +cat ${rt_log} | grep "test:" >> ${rt_log}.temp +cat ${rt_log} | grep "baseline" >> ${rt_log}.temp +python ${test_v}/ci/rt-status.py >> ${rt_log}.temp +echo "===== End of UPP Regression Testing Log =====" >> ${rt_log}.temp +mv ${rt_log}.temp ${rt_log} +mv ${rt_log} ${test_v}/tests/logs + +# should indicate failure to Jenkins +if [ $test_results -ne 0 ]; then + python ${test_v}/ci/rt-status.py > changed_results.txt + if [ "$some_failed" = "YES" ]; then + echo "Warning: some tests exited with non-zero status." >> changed_results.txt + fi + exit 1 +fi diff --git a/ci/cmp_grib2_grib2.sh b/ci/cmp_grib2_grib2.sh new file mode 100755 index 0000000000..6224a28c1b --- /dev/null +++ b/ci/cmp_grib2_grib2.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# +# this routine compares two grib2 files +# the files must have the same fields in the same order +# Author: Wen Meng +# + + # for wgrib2 v2.0.7beta2 5/2017; tested with later wgrib2 versions too + wgrib2 $2 -var -lev -rpn "sto_1" -import_grib $1 -rpn "rcl_1:print_corr:print_rms" | \ + egrep -v "rpn_corr=1" diff --git a/ci/jobs-dev/atparse.sh b/ci/jobs-dev/atparse.sh new file mode 100755 index 0000000000..3f2fbf6312 --- /dev/null +++ b/ci/jobs-dev/atparse.sh @@ -0,0 +1,125 @@ +#! /usr/bin/env bash +function atparse { + # Usage: + # source atparse.bash # defines the "atparse" function; only do this once + # atparse [ var1=value1 [ var2=value2 [...] ] ] < input_file > output_file + # This function filters text from stdin to stdout. It scans for text sequences like: + # @[varname] + # And replaces them with the value of the corresponding ${varname} variable. + # You can provide variables that are not set in bash by providing them on the command line. + # If set -u is enabled, it will exit the process when a variable is empty or undefined via set -u. + + # Use __ in names to avoid clashing with variables in {var} blocks. + local __text # current line of text being parsed, or the current command-line argument being parsed + local __before # all text before the next @[...] option + local __after # all text after the next @[...] option + local __during # the contents of the @[...] option, including the @[ and ] + local __set_x=":" # will be "set -x" if the calling script had that option enabled + local __set_u=":" # will be "set -u" if the calling script had that option enabled + local __set_e=":" # will be "set -e" if the calling script had that option enabled + local __abort_on_undefined=NO # YES = script should abort if a variable is undefined, NO otherwise + + # Ensure "set -x -e -u" are all inactive, but remember if they + # were active so we can reset them later. + if [[ -o xtrace ]] ; then + __set_x="set -x" + fi + if [[ -o errexit ]] ; then + __set_e="set -e" + fi + if [[ -o nounset ]] ; then + __set_u="set -u" + fi + set +eux + + # Allow setting variables on the atparse command line rather than the environment. + # They will be local variables in this function. + for __text in "$@" ; do + if [[ $__text =~ ^([a-zA-Z][a-zA-Z0-9_]*)=(.*)$ ]] ; then + eval "local ${BASH_REMATCH[1]}" + eval "${BASH_REMATCH[1]}="'"${BASH_REMATCH[2]}"' + else + echo "ERROR: Ignoring invalid argument $__text" 1>&2 + fi + done + + # Loop over all lines of text. + while [[ 1 == 1 ]] ; do + # Read the next line of text. This will "fail" if no more text + # is left OR if the last line lacks an end-of-line character. + read -d '' -r __text + + # Stop when "read" reports it is done ($? -ne 0) AND the text is + # non-empty (! -n "$__text"). This ensures we read the final line + # even if it lacks an end-of-line character. + if [[ $? -ne 0 ]] ; then + if [[ -n "$__text" ]] ; then + # Text remained, but it had no end-of-line. + : + else + break + fi + fi + # Search for strings like @[varname] or @['string'] or @[@] + while [[ "$__text" =~ ^([^@]*)(@\[[a-zA-Z_][a-zA-Z_0-9]*\]|@\[\'[^\']*\'\]|@\[@\]|@)(.*) ]] ; do + __before="${BASH_REMATCH[1]}" + __during="${BASH_REMATCH[2]}" + __after="${BASH_REMATCH[3]}" + printf %s "$__before" + # @['string'] inserts string + if [[ "$__during" =~ ^@\[\'(.*)\'\]$ ]] ; then + printf %s "${BASH_REMATCH[1]}" + # @[@] inserts @ + elif [[ "$__during" == '@[@]' ]] ; then + printf @ + # @[varname] inserts $varname + elif [[ "$__during" =~ ^@\[([a-zA-Z_][a-zA-Z_0-9]*)\] ]] ; then + # Flag unknown variables at this step only. + if [[ ${__abort_on_undefined} == YES ]] ; then + set -u + fi + eval 'printf %s "$'"${BASH_REMATCH[1]}"'"' + if [[ ${__abort_on_undefined} == YES ]] ; then + set +u + fi + # Unrecognized sequences are inserted verbatim. + else + printf '%s' "$__during" + fi + # Continue until we run out of text in this line. + if [[ "$__after" == "$__text" ]] ; then + break + fi + __text="$__after" + done + # Print the corrected text + printf '%s\n' "$__text" + done + + # Restore the calling script's shell options. + eval "$__set_x" + eval "$__set_u" + eval "$__set_e" +} + +function test_atparse { + # Note that these cannot be local since they will be invisible + # to atparse: + testvar='[testvar]' + var1='[var1]' + var2='[var2]' + var4='[var4]' + ( cat<<\EOF ; echo -n "line with no end-of-line character [var4] = @[var4]" ) | atparse var3='**' +Nothing special here. = @['Nothing special here.'] +[testvar] = @[testvar] +[var1] [var2] = @[var1] @[var2] +** = @[var3] +[var4] == @[var4] +@ = @[@] = @['@'] +@[undefined_variable_that_should_exit_script_if_set_minus_u_is_used] +-n + eval "export PE$c=\${PE$c:-0}" = @[' eval "export PE$c=\${PE$c:-0}"'] +EOF + echo " ... this text should be on the same line as the line with no end-of-line character" + echo "After block, \$var3 = \"$var3\" should be empty" +} diff --git a/ci/jobs-dev/machine.sh b/ci/jobs-dev/machine.sh new file mode 100755 index 0000000000..b33d2af898 --- /dev/null +++ b/ci/jobs-dev/machine.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Set machine-specific variables + +if [[ ${machine} = "URSA" ]]; then + export EXCLUSIVE='--exclusive' + export STACK_SIZE='' +elif [[ ${machine} = "ORION" || ${machine} = "HERCULES" ]]; then + ulimit -s unlimited + export EXCLUSIVE='' +else + echo "${machine} is not a supported machine. Cannot set machine-specific variables." +fi diff --git a/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh b/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh new file mode 100755 index 0000000000..6254d0dd9f --- /dev/null +++ b/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh @@ -0,0 +1,76 @@ +#!/bin/bash + +#SBATCH -o out.post.ifi_standalone_hrrr +#SBATCH -e out.post.ifi_standalone_hrrr +#SBATCH -J ifi_standalone_hrrr_test +#SBATCH -t 00:30:00 +#SBATCH -q batch +#SBATCH -A rtrr +#SBATCH --ntasks=1 +#SBATCH --cpus-per-task=40 +#SBATCH --exclusive + +# specify computation resource +export threads=40 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export OMP_STACKSIZE=512M +export APRUN="srun" + +############################################ +# Loading module +############################################ + +# EXPORT list here + +module purge +module use $svndir/modulefiles +module load ursa_$compiler +module load ursa_${compiler}_ifi_test_prereqs +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +ulimit -s unlimited +ulimit + +msg="Starting ifi_standalone_hrrr test" +postmsg "$logfile" "$msg" + + +FIPEXEC=${svndir}/exec/fip2-lookalike.x + +# use the UPP run directory so we get the input files in the expected format +export startdate=2025063004 +export DATA=$rundir/hrrr_ifi_${startdate} +cd $DATA + +upp_output=cat_vars_0.nc +ifi_standalone_output=icing-category-output.nc +diff_file=cat_vars_0.nc.diff + +$APRUN --cpus-per-task=$OMP_NUM_THREADS --nodes=1 --ntasks=1 --exclusive \ + "$FIPEXEC" -u hybr_vars_0.nc hybr_vars_0.nc . + +nccmp -dfc1 -v ICE_PROB,ICE_SEV_CAT,SLD,WMO_ICE_SEV_CAT "$upp_output" "$ifi_standalone_output" 2>&1 | tee "$diff_file" +export err1=$? + +if [ -s "$ifi_standalone_output" ] ; then + if [ $err1 -eq 0 ] && ! [ -s "$diff_file" ] ; then + msg="ifi standalone_fv3r test: Passed. libIFI standalone program and IFI in UPP produce identical results" + rm -f "$diff_file" + echo $msg + else + msg="ifi standalone_fv3r test: Failed. Differences detected between libIFI standalone and UPP IFI output." + echo $msg + fi +else + msg="ifi standalone_fv3r test: Failed. ifi standalone failed using your new executable to generate $ifi_standalone_output" + echo $msg 2>&1 | tee -a TEST_ERROR +fi +postmsg "$logfile" "$msg" + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending ifi_standalone_hrrr test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_ifi_standalone_rrfs_URSA.sh b/ci/jobs-dev/run_ifi_standalone_rrfs_URSA.sh new file mode 100755 index 0000000000..ac5e0c0a47 --- /dev/null +++ b/ci/jobs-dev/run_ifi_standalone_rrfs_URSA.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +#SBATCH -o out.post.ifi_standalone_rrfs +#SBATCH -e out.post.ifi_standalone_rrfs +#SBATCH -J ifi_standalone_rrfs_test +#SBATCH -t 00:30:00 +#SBATCH --ntasks 240 +#SBATCH --tasks-per-node 48 +#SBATCH -q batch +#SBATCH -A rtrr +#SBATCH --exclusive + +set -x + +# specify computation resources +export threads=40 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use $svndir/modulefiles +module load ursa_$compiler +module load ursa_${compiler}_ifi_test_prereqs +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +ulimit -s unlimited +ulimit + +msg="Starting ifi_standalone_rrfs test" +postmsg "$logfile" "$msg" + + +FIPEXEC=${svndir}/exec/fip2-lookalike.x + +# use the UPP run directory so we get the input files in the expected format +export startdate=2025040112 +export DATA=$rundir/rrfs_ifi_${startdate} +cd $DATA + +upp_output=cat_vars_0.nc +ifi_standalone_output=icing-category-output.nc +diff_file=cat_vars_0.nc.diff + +$APRUN --cpus-per-task=$OMP_NUM_THREADS --nodes=1 --ntasks=1 --exclusive \ + "$FIPEXEC" -u hybr_vars_0.nc hybr_vars_0.nc . + +nccmp -dfc1 -v ICE_PROB,ICE_SEV_CAT,SLD,WMO_ICE_SEV_CAT "$upp_output" "$ifi_standalone_output" 2>&1 | tee "$diff_file" +export err1=$? + +if [ -s "$ifi_standalone_output" ] ; then + if [ $err1 -eq 0 ] && ! [ -s "$diff_file" ] ; then + msg="ifi standalone_fv3r test: Passed. libIFI standalone program and IFI in UPP produce identical results" + rm -f "$diff_file" + echo $msg + else + msg="ifi standalone_fv3r test: Failed. Differences detected between libIFI standalone and UPP IFI output." + echo $msg + fi +else + msg="ifi standalone_fv3r test: Failed. ifi standalone failed using your new executable to generate $ifi_standalone_output" + echo $msg 2>&1 | tee -a TEST_ERROR +fi +postmsg "$logfile" "$msg" + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending ifi_standalone_rrfs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_3drtma_WCOSS2.sh b/ci/jobs-dev/run_post_3drtma_WCOSS2.sh new file mode 100755 index 0000000000..21ed3b7138 --- /dev/null +++ b/ci/jobs-dev/run_post_3drtma_WCOSS2.sh @@ -0,0 +1,136 @@ +#!/bin/bash + +#PBS -o out.post.3drtma +#PBS -e out.post.3drtma +#PBS -N 3drtma_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l select=2:ncpus=48 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 96 -ppn 48 --cpu-bind core --depth 1" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting 3drtma test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour +export startdate=2025091010 +export fhr=000 + +# specify your running and output directory +export DATA=$rundir/3drtma_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=$startdate +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` +export min=00 + +cat > itag < outpost_3drtma_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# 3DRTMA post processing generates 3 files +filelist="WRFNAT.GrbF${fhr2} \ + WRFTWO.GrbF${fhr2} \ + WRFPRS.GrbF${fhr2}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/3drtma/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="3drtma test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="3drtma test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + $cmp_grib2_grib2 $homedir/data_out/3drtma/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="3drtma test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending 3drtma test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_3drtma_template.sh b/ci/jobs-dev/run_post_3drtma_template.sh new file mode 100755 index 0000000000..0a5b03a784 --- /dev/null +++ b/ci/jobs-dev/run_post_3drtma_template.sh @@ -0,0 +1,140 @@ +#!/bin/bash + +#SBATCH -o out.post.3drtma +#SBATCH -e out.post.3drtma +#SBATCH -J 3drtma_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH @[N_TASKS] +#SBATCH @[TASKS_PER_NODE] +#SBATCH @[NODES] @[N_TASKS_PER_NODE] + + +set -x + +# specify computation resources +export MP_LABELIO=yes +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting 3drtma test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2025091010 +export fhr=000 + +# specify your running and output directory +export DATA=$rundir/3drtma_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=$startdate +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` +export min=00 + +cat > itag < outpost_3drtma_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# 3DRTMA post processing generates 3 files +filelist="WRFNAT.GrbF${fhr2} \ + WRFTWO.GrbF${fhr2} \ + WRFPRS.GrbF${fhr2}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/3drtma/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="3drtma test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="3drtma test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/3drtma/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="3drtma test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending 3drtma test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_aqm_WCOSS2.sh b/ci/jobs-dev/run_post_aqm_WCOSS2.sh new file mode 100755 index 0000000000..97299913e3 --- /dev/null +++ b/ci/jobs-dev/run_post_aqm_WCOSS2.sh @@ -0,0 +1,118 @@ +#!/bin/bash + +#PBS -o out.post.aqm +#PBS -e out.post.aqm +#PBS -N aqm_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=48 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 96 -ppn 48" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting aqm test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2025103106 +export fhr=008 +export cyc=`echo $startdate | cut -c9-10` +export tmmark=tm00 + +# specify your running and output directory +export DATA=$rundir/aqm_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_aqm_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# AQM post processing generates 1 file +filelist="CMAQ${fhr2}.${tmmark}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/aqm/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="aqm test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="aqm test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/aqm/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="aqm test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending aqm test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_aqm_template.sh b/ci/jobs-dev/run_post_aqm_template.sh new file mode 100755 index 0000000000..17415801e3 --- /dev/null +++ b/ci/jobs-dev/run_post_aqm_template.sh @@ -0,0 +1,117 @@ +#!/bin/bash + +#SBATCH -o out.post.aqm +#SBATCH -e out.post.aqm +#SBATCH -J aqm_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH -N @[NODES] --ntasks-per-node=@[N_TASKS_PER_NODE] + +set -x + +# specify computation resources +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting aqm test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2025103106 +export cyc=`echo $startdate | cut -c9-10` +export fhr=008 +export tmmark=tm00 + +# specify your running and output directory +export DATA=$rundir/aqm_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_aqm_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# AQM post processing generates 1 file +filelist="CMAQ${fhr2}.${tmmark}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/aqm/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="aqm test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="aqm test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/aqm/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="aqm test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending aqm test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_dafs_WCOSS2.sh b/ci/jobs-dev/run_post_dafs_WCOSS2.sh new file mode 100755 index 0000000000..cd39ddd4e9 --- /dev/null +++ b/ci/jobs-dev/run_post_dafs_WCOSS2.sh @@ -0,0 +1,120 @@ +#!/bin/bash + +#PBS -o out.post.dafs +#PBS -e out.post.dafs +#PBS -N dafs_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=60:mem=300GB +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 120 -ppn 60" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting dafs test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2025061712 +export fhr=08 + +# specify your running and output directory +export DATA=$rundir/dafs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_dafs_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# DAFS post processing generates 2 files +filelist="AVIATION.GrbF${fhr2} \ + IFIFIP.GrbF${fhr2}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/dafs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="dafs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="dafs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/dafs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="dafs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rrfs_ifi test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_gcafs_WCOSS2.sh b/ci/jobs-dev/run_post_gcafs_WCOSS2.sh new file mode 100755 index 0000000000..388dfaba2c --- /dev/null +++ b/ci/jobs-dev/run_post_gcafs_WCOSS2.sh @@ -0,0 +1,127 @@ +#!/bin/bash + +#PBS -o out.post.gcafs +#PBS -e out.post.gcafs +#PBS -N gcafs_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=48 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 96 -ppn 48" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting gcafs test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=$svndir/exec/upp.x + +# specify forecast start time and hour +export startdate=2025110500 +export fhr=060 +export cyc=`echo $startdate |cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/gcafs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_gcafs_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=$((10#$fhr)) +FH3=$(printf "%03d" "$fhr") +FH2=$(printf "%02d" "$fhr") + +# GCAFS post processing generates 2 files +filelist="GFSPRS.GrbF${FH2} \ + GFSFLX.GrbF${FH2}" + +for file in $filelist; do + +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/gcafs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="gcafs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="gcafs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/gcafs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="gcafs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!!" 2>&1 | tee SUCCESS +msg="Ending gcafs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_gcafs_template.sh b/ci/jobs-dev/run_post_gcafs_template.sh new file mode 100755 index 0000000000..96d48a5c9a --- /dev/null +++ b/ci/jobs-dev/run_post_gcafs_template.sh @@ -0,0 +1,126 @@ +#!/bin/bash + +#SBATCH -o out.post.gcafs +#SBATCH -e out.post.gcafs +#SBATCH -J gcafs_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH -N @[NODES] --ntasks-per-node=@[N_TASKS_PER_NODE] + +set -x + +# specify computation resources +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting gcafs test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2025110500 +export fhr=060 +export cyc=`echo $startdate | cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/gcafs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_gcafs_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=$((10#$fhr)) +FH3=$(printf "%03d" "$fhr") +FH2=$(printf "%02d" "$fhr") + +# GCAFS post processing generates 2 file +filelist="GFSPRS.GrbF${FH2} \ + GFSFLX.GrbF${FH2}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/gcafs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="gcafs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="gcafs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/gcafs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="gcafs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending gcafs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_gefsv12_WCOSS2.sh b/ci/jobs-dev/run_post_gefsv12_WCOSS2.sh new file mode 100755 index 0000000000..e2a176d6b0 --- /dev/null +++ b/ci/jobs-dev/run_post_gefsv12_WCOSS2.sh @@ -0,0 +1,125 @@ +#!/bin/bash + +#PBS -o out.post.gefsv12 +#PBS -e out.post.gefsv12 +#PBS -N gefsv12_test +#PBS -l walltime=00:10:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=4:ncpus=12 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 48 -ppn 12" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting gefsv12 test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2022042400 +export fhr=060 +export cyc=`echo $startdate | cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/gefsv12_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_gefsv12_${NEWDATE} + +mv $PGBOUT geaer.t${cyc}z.master.grb2f${fhr} + +################################################ +# Compare with baseline data +################################################ +fhr2=`printf "%02d" $fhr` + +# GEFSv12 post processing generates 1 file +filelist="geaer.t${cyc}z.master.grb2f${fhr}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/gefsv12/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="gefsv12 test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="gefsv12 test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/gefsv12/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="gefsv12 test: post failed using your new post executable to generate ${filein2}" + echo $msg | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending gefsv12 test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_gefsv12_template.sh b/ci/jobs-dev/run_post_gefsv12_template.sh new file mode 100755 index 0000000000..a35e660594 --- /dev/null +++ b/ci/jobs-dev/run_post_gefsv12_template.sh @@ -0,0 +1,126 @@ +#!/bin/bash + +#SBATCH -o out.post.gefsv12 +#SBATCH -e out.post.gefsv12 +#SBATCH -J gefsv12_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH @[N_TASKS] +#SBATCH @[TASKS_PER_NODE] +#SBATCH @[NODES] @[N_TASKS_PER_NODE] + +set -x + +# specify computation resources +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting gefsv12 test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2022042400 +export fhr=060 +export cyc=`echo $startdate | cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/gefsv12_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_gefsv12_${NEWDATE} + +mv $PGBOUT geaer.t${cyc}z.master.grb2f${fhr} + +################################################ +# Compare with baseline data +################################################ +fhr2=`printf "%02d" $fhr` + +# GEFSv12 post processing generates 1 file +filelist="geaer.t${cyc}z.master.grb2f${fhr}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/gefsv12/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="gefsv12 test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="gefsv12 test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/gefsv12/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="gefsv12 test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending gefsv12 test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_gefsv13_WCOSS2.sh b/ci/jobs-dev/run_post_gefsv13_WCOSS2.sh new file mode 100755 index 0000000000..d8ba9d807a --- /dev/null +++ b/ci/jobs-dev/run_post_gefsv13_WCOSS2.sh @@ -0,0 +1,124 @@ +#!/bin/bash + +#PBS -o out.post.gefsv13 +#PBS -e out.post.gefsv13 +#PBS -N gefsv13_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=48 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 96 -ppn 48" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting gefsv13 test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=$svndir/exec/upp.x + +# specify forecast start time and hour +export startdate=2023080300 +export fhr=009 +export cyc=`echo $startdate |cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/gefsv13_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_gefsv13_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=$((10#$fhr)) +FH3=$(printf "%03d" "$fhr") +FH2=$(printf "%02d" "$fhr") +mv GFSPRS.GrbF${FH2} gefs.t${cyc}z.master.grb2f${FH3} + +# GEFSv13 post processing generates 1 file +filelist="gefs.t${cyc}z.master.grb2f${FH3}" + +for file in $filelist; do + +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/gefsv13/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="gefsv13 test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="gefsv13 test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/gefsv13/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="gefsv13 test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!!" 2>&1 | tee SUCCESS +msg="Ending gefsv13 test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_gefsv13_template.sh b/ci/jobs-dev/run_post_gefsv13_template.sh new file mode 100755 index 0000000000..8b3f998caf --- /dev/null +++ b/ci/jobs-dev/run_post_gefsv13_template.sh @@ -0,0 +1,124 @@ +#!/bin/bash + +#SBATCH -o out.post.gefsv13 +#SBATCH -e out.post.gefsv13 +#SBATCH -J gefsv13_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH @[N_TASKS] +#SBATCH @[TASKS_PER_NODE] +#SBATCH @[NODES] @[N_TASKS_PER_NODE] + +set -x + +# specify computation resources +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting gefsv13 test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2023080300 +export fhr=009 +export cyc=`echo $startdate | cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/gefsv13_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_gefsv13_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=$((10#$fhr)) +FH3=$(printf "%03d" "$fhr") +FH2=$(printf "%02d" "$fhr") +mv GFSPRS.GrbF${FH2} gefs.t${cyc}z.master.grb2f${FH3} + +# GEFSv13 post processing generates 1 file +filelist="gefs.t${cyc}z.master.grb2f${FH3}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/gefsv13/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="gefsv13 test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="gefsv13 test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/gefsv13/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="gefsv13 test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending gefsv13 test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_gfs_WCOSS2.sh b/ci/jobs-dev/run_post_gfs_WCOSS2.sh new file mode 100755 index 0000000000..82b11ac0c0 --- /dev/null +++ b/ci/jobs-dev/run_post_gfs_WCOSS2.sh @@ -0,0 +1,147 @@ +#!/bin/bash + +#PBS -o out.post.gfs +#PBS -e out.post.gfs +#PBS -N gfs_test +#PBS -l walltime=00:40:00 +#PBS -q dev +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=4:ncpus=48:mem=300GB +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 192 -ppn 48" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting gfs test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=$svndir/exec/upp.x + +# specify forecast start time and hour +export startdate=2025012600 +export fhr=006 +export cyc=`echo $startdate |cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/gfs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_gfs_master_${NEWDATE} + +# Generate goes file +cp ${svndir}/parm/gfs/postxconfig-NT-gfs-goes.txt ./postxconfig-NT.txt +${APRUN} ${POSTGPEXEC} < itag > outpost_gfs_goes_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=$((10#$fhr)) +FH3=$(printf "%03d" "$fhr") +FH2=$(printf "%02d" "$fhr") +mv GFSPRS.GrbF${FH2} gfs.t${cyc}z.master.grb2f${FH3} +mv GFSFLX.GrbF${FH2} gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 +mv GFSGOES.GrbF${FH2} gfs.t${cyc}z.special.grb2f${FH3} + +# GFS post processing generates 3 files +filelist="gfs.t${cyc}z.master.grb2f${FH3} \ + gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 \ + gfs.t${cyc}z.special.grb2f${FH3} " + +for file in $filelist; do + +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/gfs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="gfs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="gfs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/gfs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="gfs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo $? +echo "PROGRAM IS COMPLETE!!!!!!" 2>&1 | tee SUCCESS +msg="Ending gfs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_gfs_template.sh b/ci/jobs-dev/run_post_gfs_template.sh new file mode 100755 index 0000000000..d0b3b3eb32 --- /dev/null +++ b/ci/jobs-dev/run_post_gfs_template.sh @@ -0,0 +1,147 @@ +#!/bin/bash + +#SBATCH -o out.post.gfs +#SBATCH -e out.post.gfs +#SBATCH -J gfs_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH @[N_TASKS] +#SBATCH @[TASKS_PER_NODE] +#SBATCH @[NODES] @[N_TASKS_PER_NODE] + +set -x + +# specify computation resources +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting gfs test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2025012600 +export fhr=006 +export cyc=`echo $startdate |cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/gfs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_gfs_master_${NEWDATE} + +# Generate goes file +cp ${svndir}/parm/gfs/postxconfig-NT-gfs-goes.txt ./postxconfig-NT.txt +${APRUN} ${POSTGPEXEC} < itag > outpost_gfs_goes_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=$((10#$fhr)) +FH3=$(printf "%03d" "$fhr") +FH2=$(printf "%02d" "$fhr") +mv GFSPRS.GrbF${FH2} gfs.t${cyc}z.master.grb2f${FH3} +mv GFSFLX.GrbF${FH2} gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 +mv GFSGOES.GrbF${FH2} gfs.t${cyc}z.special.grb2f${FH3} + +# GFS post processing generates 3 files +filelist="gfs.t${cyc}z.master.grb2f${FH3} \ + gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 \ + gfs.t${cyc}z.special.grb2f${FH3} " + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/gfs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="gfs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="gfs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/gfs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="gfs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending gfs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_hafs_WCOSS2.sh b/ci/jobs-dev/run_post_hafs_WCOSS2.sh new file mode 100755 index 0000000000..87ae816f4d --- /dev/null +++ b/ci/jobs-dev/run_post_hafs_WCOSS2.sh @@ -0,0 +1,117 @@ +#!/bin/bash + +#PBS -o out.post.hafs +#PBS -e out.post.hafs +#PBS -N hafs_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=3:ncpus=24 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 72 -ppn 24" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting hafs test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2022092800 +export fhr=009 +export tmmark=tm00 + +# specify your running and output directory +export DATA=$rundir/hafs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_hafs_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# HAFS post processing generates 1 file +filelist="HURPRS${fhr2}.${tmmark}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/hafs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="hafs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="hafs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/hafs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="hafs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending hafs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_hafs_template.sh b/ci/jobs-dev/run_post_hafs_template.sh new file mode 100755 index 0000000000..4c6cfdc340 --- /dev/null +++ b/ci/jobs-dev/run_post_hafs_template.sh @@ -0,0 +1,118 @@ +#!/bin/bash + +#SBATCH -o out.post.hafs +#SBATCH -e out.post.hafs +#SBATCH -J hafs_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH @[N_TASKS] +#SBATCH @[TASKS_PER_NODE] +#SBATCH @[NODES] @[N_TASKS_PER_NODE] + +set -x + +# specify computation resources +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting hafs test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2022092800 +export fhr=009 +export tmmark=tm00 + +# specify your running and output directory +export DATA=$rundir/hafs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_hafs_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# HAFS post processing generates 1 file +filelist="HURPRS${fhr2}.${tmmark}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/hafs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="hafs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="hafs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/hafs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="hafs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending hafs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_hrrr_WCOSS2.sh b/ci/jobs-dev/run_post_hrrr_WCOSS2.sh new file mode 100755 index 0000000000..77ba01352a --- /dev/null +++ b/ci/jobs-dev/run_post_hrrr_WCOSS2.sh @@ -0,0 +1,118 @@ +#!/bin/bash + +#PBS -o out.post.hrrr +#PBS -e out.post.hrrr +#PBS -N hrrr_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=24 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 48 -ppn 24" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting hrrr test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour +export startdate=2025063004 +export fhr=10 + +# specify your running and output directory +export DATA=$rundir/hrrr_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +cat > itag < outpost_hrrr_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# HRRR post processing generates 3 files +filelist="WRFTWO.GrbF${fhr2} \ + WRFPRS.GrbF${fhr2} \ + WRFNAT.GrbF${fhr2}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/hrrr/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="hrrr test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="hrrr test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/hrrr/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="hrrr test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending hrrr test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh b/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh new file mode 100755 index 0000000000..e82a736946 --- /dev/null +++ b/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh @@ -0,0 +1,114 @@ +#!/bin/bash + +#SBATCH -o out.post.hrrr_ifi +#SBATCH -e out.post.hrrr_ifi +#SBATCH -J hrrr_ifi_test +#SBATCH -t 00:30:00 +#SBATCH -q batch +#SBATCH -A ovp +#SBATCH --exclusive +#SBATCH -N 2 --ntasks-per-node=24 + +# specify computation resources +export MP_LABELIO=yes +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use $svndir/modulefiles +module load ursa_$compiler +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting hrrr_ifi test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp_with_ifi.x + +# specify forecast start time and hour for running your post job +export startdate=2025063004 +export fhr=10 + +# specify your running and output directory +export DATA=$rundir/hrrr_ifi_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +cat > itag < outpost_hrrr_ifi_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# HRRR_IFI post processing generates 1 file +filelist="IFIFIP.GrbF${fhr2}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/hrrr_ifi/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="hrrr_ifi test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="hrrr_ifi test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/hrrr_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="hrrr_ifi test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending hrrr_ifi test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_hrrr_ifi_WCOSS2.sh b/ci/jobs-dev/run_post_hrrr_ifi_WCOSS2.sh new file mode 100755 index 0000000000..dc6297d163 --- /dev/null +++ b/ci/jobs-dev/run_post_hrrr_ifi_WCOSS2.sh @@ -0,0 +1,116 @@ +#!/bin/bash + +#PBS -o out.post.hrrr_ifi +#PBS -e out.post.hrrr_ifi +#PBS -N hrrr_ifi_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=24 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 48 -ppn 24" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting hrrr_ifi test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2025063004 +export fhr=10 + +# specify your running and output directory +export DATA=$rundir/hrrr_ifi_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +cat > itag < outpost_hrrr_ifi_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# HRRR_IFI post processing generates 1 file +filelist="IFIFIP.GrbF${fhr2}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/hrrr_ifi/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="hrrr_ifi test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="hrrr_ifi test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/hrrr_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="hrrr_ifi test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending hrrr_ifi test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_hrrr_template.sh b/ci/jobs-dev/run_post_hrrr_template.sh new file mode 100755 index 0000000000..a1cec0bb3a --- /dev/null +++ b/ci/jobs-dev/run_post_hrrr_template.sh @@ -0,0 +1,118 @@ +#!/bin/bash + +#SBATCH -o out.post.hrrr +#SBATCH -e out.post.hrrr +#SBATCH -J hrrr_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH -N @[NODES] --ntasks-per-node=@[N_TASKS_PER_NODE] + +set -x + +# specify computation resources +export MP_LABELIO=yes +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting hrrr test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour +export startdate=2025063004 +export fhr=10 + +# specify your running and output directory +export DATA=$rundir/hrrr_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +cat > itag < outpost_hrrr_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# HRRR post processing generates 3 files +filelist="WRFTWO.GrbF${fhr2} \ + WRFPRS.GrbF${fhr2} \ + WRFNAT.GrbF${fhr2}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/hrrr/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="hrrr test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="hrrr test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/hrrr/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="hrrr test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending hrrr test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_mpas_WCOSS2.sh b/ci/jobs-dev/run_post_mpas_WCOSS2.sh new file mode 100755 index 0000000000..7ba77c5359 --- /dev/null +++ b/ci/jobs-dev/run_post_mpas_WCOSS2.sh @@ -0,0 +1,139 @@ +#!/bin/bash + +#PBS -o out.post.mpas +#PBS -e out.post.mpas +#PBS -N mpas_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=4:ncpus=48 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 192 -ppn 48" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting mpas test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour +export startdate=2025071400 +export fhr=018 +export tmmark=tm00 + +# specify your running and output directory +export DATA=$rundir/mpas_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_mpas_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=$((10#$fhr)) +fhr2=$(printf "%02d" "$fhr") + +# MPAS post processing generates 3 files +filelist="POSTNAT${fhr2}.${tmmark} \ + POSTPRS${fhr2}.${tmmark} \ + POSTTWO${fhr2}.${tmmark}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/mpas/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="mpas test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="mpas test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/mpas/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="mpas test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending mpas test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_mpas_hfip_WCOSS2.sh b/ci/jobs-dev/run_post_mpas_hfip_WCOSS2.sh new file mode 100755 index 0000000000..6a781d1463 --- /dev/null +++ b/ci/jobs-dev/run_post_mpas_hfip_WCOSS2.sh @@ -0,0 +1,140 @@ +#!/bin/bash + +#PBS -o out.post.mpas_hfip +#PBS -e out.post.mpas_hfip +#PBS -N mpas_hfip.test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=4:ncpus=48 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 192 -ppn 48" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting mpas_hfip test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour +export startdate=2024100700 +export fhr=048 + +# specify your running and output directory +export DATA=$rundir/mpas_hfip_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_mpas_hfip_${startdate} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# MPAS_HFIP post processing generates 3 files +filelist="NATLEV.GrbF${fhr2} \ + PRSLEV.GrbF${fhr2} \ + 2DFLD.GrbF${fhr2}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/mpas_hfip/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="mpas_hfip test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="mpas_hfip test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/mpas_hfip/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="mpas_hfip test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending mpas_hfip test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_mpas_hfip_template.sh b/ci/jobs-dev/run_post_mpas_hfip_template.sh new file mode 100755 index 0000000000..128a48530c --- /dev/null +++ b/ci/jobs-dev/run_post_mpas_hfip_template.sh @@ -0,0 +1,139 @@ +#!/bin/bash + +#SBATCH -o out.post.mpas_hfip +#SBATCH -e out.post.mpas_hfip +#SBATCH -J mpas_hfip_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH --ntasks=@[N_TASKS] +#SBATCH --cpus-per-task=@[CPUS_PER_TASK] +#SBATCH @[MEM] + +set -x + +# specify computation resources +export threads=4 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting mpas_hfip test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour +export startdate=2024100700 +export fhr=048 + +# specify your running and output directory +export DATA=$rundir/mpas_hfip_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_mpas_hfip_${startdate} + +################################################ +# Compare with baseline data +################################################ +fhr=$((10#$fhr)) +fhr2=$(printf "%02d" "$fhr") + +# MPAS_HFIP post processing generates 3 files +filelist="NATLEV.GrbF$fhr2 \ + PRSLEV.GrbF$fhr2 \ + 2DFLD.GrbF$fhr2" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/mpas_hfip/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="mpas_hfip test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="mpas_hfip test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/mpas_hfip/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="mpas_hfip test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending mpas_hfip test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_mpas_template.sh b/ci/jobs-dev/run_post_mpas_template.sh new file mode 100755 index 0000000000..28e4fcda5f --- /dev/null +++ b/ci/jobs-dev/run_post_mpas_template.sh @@ -0,0 +1,136 @@ +#!/bin/bash + +#SBATCH -o out.post.mpas +#SBATCH -e out.post.mpas +#SBATCH -J mpas_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH --ntasks @[N_TASKS] +#SBATCH --tasks-per-node @[TASKS_PER_NODE] + +set -x + +# specify computation resources +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting mpas test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour +export startdate=2025071400 +export fhr=018 +export tmmark=tm00 + +# specify your running and output directory +export DATA=$rundir/mpas_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_mpas_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=$((10#$fhr)) +fhr2=$(printf "%02d" "$fhr") + +# MPAS post processing generates 3 files +filelist="POSTNAT${fhr2}.${tmmark} \ + POSTPRS${fhr2}.${tmmark} \ + POSTTWO${fhr2}.${tmmark}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/mpas/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then msg="mpas test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="mpas test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/mpas/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="mpas test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending mpas test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_nmmb_WCOSS2.sh b/ci/jobs-dev/run_post_nmmb_WCOSS2.sh new file mode 100755 index 0000000000..e5358d14df --- /dev/null +++ b/ci/jobs-dev/run_post_nmmb_WCOSS2.sh @@ -0,0 +1,117 @@ +#!/bin/bash + +#PBS -o out.post.nmmb +#PBS -e out.post.nmmb +#PBS -N nmmb_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=12 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 24 -ppn 12" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting nmmb test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2014120818 +export fhr=03 +export tmmark=tm00 + +# specify your running and output directory +export DATA=$rundir/nmmb_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`$NDATE +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_nmmb_${NEWDATE} + +mv BGDAWP${fhr}.${tmmark} BGDAWP${fhr}.${tmmark}.Grib2 +mv BGRD3D${fhr}.${tmmark} BGRD3D${fhr}.${tmmark}.Grib2 +mv BGRDSF${fhr}.${tmmark} BGRDSF${fhr}.${tmmark}.Grib2 + +################################################ +# Compare with baseline data +################################################ + +# NMMB post processing generates 3 files +filelist="BGDAWP${fhr}.${tmmark}.Grib2 \ + BGRD3D${fhr}.${tmmark}.Grib2 \ + BGRDSF${fhr}.${tmmark}.Grib2" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/nmmb/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="nmmb test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="nmmb test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="nmmb test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending nmmb test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_nmmb_template.sh b/ci/jobs-dev/run_post_nmmb_template.sh new file mode 100755 index 0000000000..f867a67e81 --- /dev/null +++ b/ci/jobs-dev/run_post_nmmb_template.sh @@ -0,0 +1,116 @@ +#!/bin/bash + +#SBATCH -o out.post.nmmb +#SBATCH -e out.post.nmmb +#SBATCH -J nmmb_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH -N @[NODES] --ntasks-per-node=@[N_TASKS_PER_NODE] + +set -x + +# specify computation resources +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting nmmb test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2014120818 +export fhr=03 +export tmmark=tm00 + +# specify your running and output directory +export DATA=$rundir/nmmb_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`$NDATE +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_nmmb_${NEWDATE} + +mv BGDAWP${fhr}.${tmmark} BGDAWP${fhr}.${tmmark}.Grib2 +mv BGRD3D${fhr}.${tmmark} BGRD3D${fhr}.${tmmark}.Grib2 +mv BGRDSF${fhr}.${tmmark} BGRDSF${fhr}.${tmmark}.Grib2 + +################################################ +# Compare with baseline data +################################################ + +# NMMB post processing generates 3 files +filelist="BGDAWP${fhr}.${tmmark}.Grib2 \ + BGRD3D${fhr}.${tmmark}.Grib2 \ + BGRDSF${fhr}.${tmmark}.Grib2" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/nmmb/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="nmmb test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="nmmb test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="nmmb test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending nmmb test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_rap_WCOSS2.sh b/ci/jobs-dev/run_post_rap_WCOSS2.sh new file mode 100755 index 0000000000..27197c2dde --- /dev/null +++ b/ci/jobs-dev/run_post_rap_WCOSS2.sh @@ -0,0 +1,118 @@ +#!/bin/bash + +#PBS -o out.post.rap +#PBS -e out.post.rap +#PBS -N rap_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=24 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 48 -ppn 24" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting rap test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour +export startdate=2025070115 +export fhr=06 + +# specify your running and output directory +export DATA=$rundir/rap_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +cat > itag < outpost_rap_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# RAP post processing generates 2 files +filelist="WRFPRS.GrbF${fhr2} \ + WRFNAT.GrbF${fhr2}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/rap/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="rap test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="rap test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/rap/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="rap test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rap test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_rap_template.sh b/ci/jobs-dev/run_post_rap_template.sh new file mode 100755 index 0000000000..a06bbb2489 --- /dev/null +++ b/ci/jobs-dev/run_post_rap_template.sh @@ -0,0 +1,117 @@ +#!/bin/sh + +#SBATCH -o out.post.rap +#SBATCH -e out.post.rap +#SBATCH -J rap_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH -N @[NODES] --ntasks-per-node=@[N_TASKS_PER_NODE] + +set -x + +# specify computation resources +export MP_LABELIO=yes +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting rap test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour +export startdate=2025070115 +export fhr=06 + +# specify your running and output directory +export DATA=$rundir/rap_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +cat > itag < outpost_rap_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# RAP post processing generates 2 files +filelist="WRFPRS.GrbF${fhr2} \ + WRFNAT.GrbF${fhr2}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/rap/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="rap test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="rap test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/rap/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="rap test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rap test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_rrfs_WCOSS2.sh b/ci/jobs-dev/run_post_rrfs_WCOSS2.sh new file mode 100755 index 0000000000..ce9aed7de5 --- /dev/null +++ b/ci/jobs-dev/run_post_rrfs_WCOSS2.sh @@ -0,0 +1,141 @@ +#!/bin/bash + +#PBS -o out.post.rrfs +#PBS -e out.post.rrfs +#PBS -N rrfs_test +#PBS -l walltime=00:40:00 +#PBS -q dev +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=5:ncpus=48 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 240 -ppn 48" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting rrfs test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2025040112 +export fhr=018 +export tmmark=tm00 + +# specify your running and output directory +export DATA=$rundir/rrfs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_rrfs_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# RRFS post processing generates 3 files +filelist="PRSLEV${fhr2}.${tmmark} \ + NATLEV${fhr2}.${tmmark} \ + 2DFLD${fhr2}.${tmmark}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/rrfs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="rrfs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="rrfs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/rrfs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="rrfs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rrfs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_rrfs_ifi_URSA.sh b/ci/jobs-dev/run_post_rrfs_ifi_URSA.sh new file mode 100755 index 0000000000..5f4b359b56 --- /dev/null +++ b/ci/jobs-dev/run_post_rrfs_ifi_URSA.sh @@ -0,0 +1,119 @@ +#!/bin/bash + +#SBATCH -o out.post.rrfs_ifi +#SBATCH -e out.post.rrfs_ifi +#SBATCH -J rrfs_ifi +#SBATCH -t 00:30:00 +#SBATCH --ntasks 384 +#SBATCH --tasks-per-node 96 +#SBATCH -q batch +#SBATCH -A rtrr +#SBATCH --exclusive + +set -x + +# specify computation resources +export threads=2 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use $svndir/modulefiles +module load ursa_$compiler +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting rrfs_ifi test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp_with_ifi.x + +# specify forecast start time and hour for running your post job +export startdate=2025040112 +export fhr=018 +export tmmark=tm00 + +# specify your running and output directory +export DATA=$rundir/rrfs_ifi_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_rrfs_ifi_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# RRFS_IFI post processing generates 1 file +filelist="IFIFIP${fhr2}.${tmmark}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/rrfs_ifi/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="rrfs_ifi test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="rrfs_ifi test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/rrfs_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="rrfs_ifi test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rrfs_ifi test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_rrfs_ifi_WCOSS2.sh b/ci/jobs-dev/run_post_rrfs_ifi_WCOSS2.sh new file mode 100755 index 0000000000..8979939df1 --- /dev/null +++ b/ci/jobs-dev/run_post_rrfs_ifi_WCOSS2.sh @@ -0,0 +1,119 @@ +#!/bin/bash + +#PBS -o out.post.rrfs_ifi +#PBS -e out.post.rrfs_ifi +#PBS -N rrfs_ifi_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=48 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 96 -ppn 48" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting rrfs_ifi test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2025040112 +export fhr=018 +export tmmark=tm00 + +# specify your running and output directory +export DATA=$rundir/rrfs_ifi_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_rrfs_ifi_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# RRFS_IFI post processing generates 1 file +filelist="IFIFIP${fhr2}.${tmmark}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/rrfs_ifi/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="rrfs_ifi test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="rrfs_ifi test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/rrfs_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="rrfs_ifi test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rrfs_ifi test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_rrfs_ifi_missing_WCOSS2.sh b/ci/jobs-dev/run_post_rrfs_ifi_missing_WCOSS2.sh new file mode 100755 index 0000000000..931dea34f6 --- /dev/null +++ b/ci/jobs-dev/run_post_rrfs_ifi_missing_WCOSS2.sh @@ -0,0 +1,119 @@ +#!/bin/bash + +#PBS -o out.post.rrfs_ifi_missing +#PBS -e out.post.rrfs_ifi_missing +#PBS -N rrfs_ifi_mis +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=48 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 96 -ppn 48" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting rrfs_ifi_missing test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp_no_ifi_gtg.x + +# specify forecast start time and hour for running your post job +export startdate=2025040112 +export fhr=018 +export tmmark=tm00 + +# specify your running and output directory +export DATA=$rundir/rrfs_ifi_missing_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_rrfs_ifi_missing_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# RRFS_IFI_missing post processing generates 1 file +filelist="IFIFIP${fhr2}.${tmmark}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/rrfs_ifi_missing/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="rrfs_ifi_missing test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="rrfs_ifi_missing test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/rrfs_ifi_missing/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="rrfs_ifi_missing test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rrfs_ifi_missing test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_rrfs_ifi_missing_template.sh b/ci/jobs-dev/run_post_rrfs_ifi_missing_template.sh new file mode 100755 index 0000000000..f8eba3ea74 --- /dev/null +++ b/ci/jobs-dev/run_post_rrfs_ifi_missing_template.sh @@ -0,0 +1,119 @@ +#!/bin/bash + +#SBATCH -o out.post.rrfs_ifi_missing +#SBATCH -e out.post.rrfs_ifi_missing +#SBATCH -J rrfs_ifi_missing +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH @[N_TASKS] +#SBATCH @[TASKS_PER_NODE] +#SBATCH @[NODES] @[N_TASKS_PER_NODE] + +set -x + +# specify computation resources +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting rrfs_ifi_missing test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp_no_ifi_gtg.x + +# specify forecast start time and hour for running your post job +export startdate=2025040112 +export fhr=018 + +# specify your running and output directory +export DATA=$rundir/rrfs_ifi_missing_${startdate} +export tmmark=tm00 +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_rrfs_ifi_missing_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# RRFS_IFI_missing post processing generates 1 file +filelist="IFIFIP${fhr2}.${tmmark}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/rrfs_ifi_missing/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="rrfs_ifi_missing test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="rrfs_ifi_missing test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/rrfs_ifi_missing/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="rrfs_ifi_missing test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rrfs_ifi_missing test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_rrfs_template.sh b/ci/jobs-dev/run_post_rrfs_template.sh new file mode 100755 index 0000000000..c6e5c7c840 --- /dev/null +++ b/ci/jobs-dev/run_post_rrfs_template.sh @@ -0,0 +1,141 @@ +#!/bin/bash + +#SBATCH -o out.post.rrfs +#SBATCH -e out.post.rrfs +#SBATCH -J rrfs_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH @[N_TASKS] +#SBATCH @[TASKS_PER_NODE] +#SBATCH @[NODES] @[N_TASKS_PER_NODE] + +set -x + +# specify computation resources +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +msg="Starting rrfs test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2025040112 +export fhr=018 +export tmmark=tm00 + +# specify your running and output directory +export DATA=$rundir/rrfs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_rrfs_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +# RRFS post processing generates 2 files +filelist="PRSLEV${fhr2}.${tmmark} \ + NATLEV${fhr2}.${tmmark} \ + 2DFLD${fhr2}.${tmmark}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/rrfs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="rrfs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="rrfs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/rrfs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="rrfs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rrfs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_sfs_WCOSS2.sh b/ci/jobs-dev/run_post_sfs_WCOSS2.sh new file mode 100755 index 0000000000..98c1ff07a3 --- /dev/null +++ b/ci/jobs-dev/run_post_sfs_WCOSS2.sh @@ -0,0 +1,122 @@ +#!/bin/bash + +#PBS -o out.post.sfs +#PBS -e out.post.sfs +#PBS -N sfs_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=1:ncpus=48 +#PBS -V + +set -x + +# specify computation resources +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 48 -ppn 48" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module reset +module use ${svndir}/modulefiles +module load wcoss2_intel +module load cray-pals/1.0.12 +module load libjpeg/9c +module load prod_util/2.0.14 +module load wgrib2/2.0.8 +module list + +msg="Starting sfs test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=$svndir/exec/upp.x + +# specify forecast start time and hour +export startdate=2017050100 +export fhr=048 +export cyc=`echo $startdate |cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/sfs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_sfs_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=$((10#$fhr)) +FH3=$(printf "%03d" "$fhr") +FH2=$(printf "%02d" "$fhr") +mv GFSPRS.GrbF${FH2} sfs.t${cyc}z.master.grb2f${FH3} + +# SFS post processing generates 1 file +filelist="sfs.t${cyc}z.master.grb2f${FH3}" + +for file in $filelist; do + +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/sfs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="sfs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="sfs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/sfs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="sfs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!!" 2>&1 | tee SUCCESS +msg="Ending sfs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_sfs_template.sh b/ci/jobs-dev/run_post_sfs_template.sh new file mode 100755 index 0000000000..8dcd46f0a7 --- /dev/null +++ b/ci/jobs-dev/run_post_sfs_template.sh @@ -0,0 +1,123 @@ +#!/bin/bash + +#SBATCH -o out.post.sfs +#SBATCH -e out.post.sfs +#SBATCH -J sfs_test +#SBATCH -t @[WTIME] +#SBATCH -q @[QUEUE] +#SBATCH -A @[accnr] +#SBATCH @[EXCLUSIVE] +#SBATCH @[N_TASKS] +#SBATCH @[TASKS_PER_NODE] +#SBATCH @[NODES] @[N_TASKS_PER_NODE] + +set -x + +# specify computation resources +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading modules +############################################ +module purge +module use ${svndir}/modulefiles +module load $(echo "${machine}" | tr '[:upper:]' '[:lower:]')_${compiler} +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module list + +@[STACK_SIZE] + +msg="Starting sfs test" +postmsg "$logfile" "$msg" + +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2017050100 +export fhr=048 +export cyc=`echo $startdate | cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/sfs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_sfs_${NEWDATE} + +################################################ +# Compare with baseline data +################################################ +fhr=$((10#$fhr)) +FH3=$(printf "%03d" "$fhr") +FH2=$(printf "%02d" "$fhr") +mv GFSPRS.GrbF${FH2} sfs.t${cyc}z.master.grb2f${FH3} + +# SFS post processing generates 1 file +filelist="sfs.t${cyc}z.master.grb2f${FH3}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out_$compiler/sfs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="sfs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="sfs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out_$compiler/sfs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi +else + msg="sfs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR +fi + +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending sfs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/test.sh b/ci/jobs-dev/test.sh new file mode 100755 index 0000000000..b41908a7b5 --- /dev/null +++ b/ci/jobs-dev/test.sh @@ -0,0 +1,227 @@ +#!/bin/bash + +set_global() { + + export WTIME=00:30:00 + export QUEUE=batch + + # Reset variables between tests + export NODES='' + export N_TASKS_PER_NODE='' + export N_TASKS='' + export TASKS_PER_NODE='' + export CPUS_PER_TASK='' + export NUMX='' + export MEM='' + +} + +3drtma() { + + case $machine in + ORION|HERCULES) + export NODES='-N 8' + export N_TASKS_PER_NODE='--ntasks-per-node=12' + ;; + URSA) + export WTIME=00:20:00 + export N_TASKS='--ntasks 96' + export TASKS_PER_NODE='--tasks-per-node 48' + ;; + esac +} + +gefsv12() { + case $machine in + ORION|HERCULES) + export NODES='-N 3' + export N_TASKS_PER_NODE='--ntasks-per-node=12' + ;; + URSA) + export N_TASKS='--ntasks 48' + export TASKS_PER_NODE='--tasks-per-node 24' + ;; + esac + +} + +gefsv13() { + case $machine in + ORION|HERCULES) + export NODES='-N 3' + export N_TASKS_PER_NODE='--ntasks-per-node=12' + ;; + URSA) + export N_TASKS='--ntasks 48' + export TASKS_PER_NODE='--tasks-per-node 24' + ;; + esac + +} + +gfs() { + case $machine in + ORION|HERCULES) + export NODES='-N 3' + export N_TASKS_PER_NODE='--ntasks-per-node=40' + ;; + URSA) + export N_TASKS='--ntasks 120' + export TASKS_PER_NODE='--tasks-per-node 40' + ;; + esac + +} + +hafs() { + + export WTIME=00:20:00 + + case $machine in + ORION|HERCULES) + export NODES='-N 5' + export N_TASKS_PER_NODE='--ntasks-per-node=12' + ;; + URSA) + export N_TASKS='--ntasks 72' + export TASKS_PER_NODE='--tasks-per-node 24' + export EXCLUSIVE='' + ;; + esac + +} + +hrrr() { + + # Same settings for all machines, unlike most tests + export WTIME=00:20:00 + export NODES=2 + export N_TASKS_PER_NODE=24 + +} + +mpas() { + + export WTIME=00:20:00 + + case $machine in + ORION|HERCULES) + export N_TASKS=200 + export TASKS_PER_NODE=40 + ;; + URSA) + export N_TASKS=192 + export TASKS_PER_NODE=48 + ;; + esac + +} + +mpas_hfip() { + + export EXCLUSIVE='--exclusive' + export N_TASKS=256 + export CPUS_PER_TASK=4 + + if [[ $machine = URSA ]]; then + export MEM='--mem=0' + fi + +} + +nmmb() { + + export WTIME=00:20:00 + + case $machine in + ORION|HERCULES) + export NODES=2 + export N_TASKS_PER_NODE=8 + ;; + URSA) + export NODES=7 + export N_TASKS_PER_NODE=4 + ;; + esac + +} + +rap() { + + export WTIME=00:20:00 + + case $machine in + ORION|HERCULES) + export NODES=2 + export N_TASKS_PER_NODE=24 + export NUMX=',numx=4' + ;; + URSA) + export NODES=4 + export N_TASKS_PER_NODE=12 + ;; + esac + +} + +rrfs() { + + case $machine in + ORION|HERCULES) + export NODES='-N 6' + export N_TASKS_PER_NODE='--ntasks-per-node=40' + ;; + URSA) + export N_TASKS='--ntasks 240' + export TASKS_PER_NODE='--tasks-per-node 48' + ;; + esac + +} + +rrfs_ifi_missing() { + + case $machine in + ORION|HERCULES) + export NODES='-N 8' + export N_TASKS_PER_NODE='--ntasks-per-node=12' + ;; + URSA) + export N_TASKS='--ntasks 240' + export TASKS_PER_NODE='--tasks-per-node 48' + ;; + esac + +} + +sfs() { + + case $machine in + ORION|HERCULES) + export NODES='-N 3' + export N_TASKS_PER_NODE='--ntasks-per-node=12' + export STACK_SIZE='export OMP_STACKSIZE=128M' + ;; + URSA) + export N_TASKS='--ntasks 48' + export TASKS_PER_NODE='--tasks-per-node 24' + ;; + esac + +} + +aqm() { + + export WTIME=00:05:00 + export NODES=1 + export N_TASKS_PER_NODE=30 + +} + +gcafs() { + + export WTIME=00:05:00 + export NODES=3 + export N_TASKS_PER_NODE=30 + +} diff --git a/ci/rt-status.py b/ci/rt-status.py new file mode 100755 index 0000000000..af73b06601 --- /dev/null +++ b/ci/rt-status.py @@ -0,0 +1,81 @@ +# check the UPP RT rundir for .diff files that would indicate a change in test results + +''' +Updates +Aug/29/2023 - Fernando Andrade-Maldonado: Script creation +Feb/10/2025 - Sam Trahan: Detect if a test was unable to run. +Jun/12/2025 - Sam Trahan: Fix parser errors in test name detection. +''' + +import os +import sys + +# files used in result comparison +test_list = os.environ["test_list"].split() + +print('Check tests:') +print(test_list) +tests = test_list + +# look for .diff files +# every case has its own directory in rundir +# loop through every test case sub directory and files, then match with the test name +def check_for_diff(tests): + changed = False + failed = False + success = False + rundir = os.getenv('rundir') + for case_dir in os.listdir(rundir): + full_case_dir=rundir+'/'+case_dir + case_failed = False + case_success = False + diff_case = '' + for file in os.listdir(full_case_dir): + full_file = full_case_dir + '/' + file + if file.endswith('.diff') or ( file=="TEST_ERROR" and os.path.getsize(full_file) ): + for test in tests: + if test in case_dir: + diff_case = test + break + if diff_case: + break + for file in os.listdir(full_case_dir): + full_file = full_case_dir + '/' + file + if file == 'TEST_ERROR': + case_failed = True + print('Error: Test case {} was unable to run! See {} for details.' + .format(diff_case, full_case_dir + '/TEST_ERROR')) + elif file == 'SUCCESS': + case_success = True + elif file.endswith('.diff'): + checked_file = full_case_dir + '/' + file.replace(".diff", "") + if case_dir.endswith('pe_test'): + # the rap pe test currently has a false positive bug with WRFPRS + if 'rap' in case_dir and file == 'WRFPRS.GrbF16.diff': + with open(full_file) as f: + data = f.readlines() + if len(data) == 1 and 'CDCON:convective cloud layer:rpn_corr=-nan:rpn_rms=undefined' in data[0]: + continue + print('There are changes in results for case {}_pe_test in {}'.format(diff_case, checked_file)) + else: + print('There are changes in results for case {} in {}'.format(diff_case, checked_file)) + changed = True + if not case_success and not case_failed: + print('Error: Test case {} did not produce SUCCESS flag file, but provided no reason for failing. ' + 'Check {} for trouble.'.format(diff_case,rundir + '/' + case_dir)) + failed = case_failed or failed + success = case_success and success + if changed: + print('Refer to .diff files in rundir: {} for details on differences in results for each case.'.format(rundir)) + if failed: + print('Error: Some tests were unable to run!') + if failed or changed: + sys.exit(1) + else: + print('No changes in test results detected.') + +def main(): + check_for_diff(tests) + +if __name__ == "__main__": + main() diff --git a/ci/rt.sh b/ci/rt.sh new file mode 100755 index 0000000000..89fe0265c9 --- /dev/null +++ b/ci/rt.sh @@ -0,0 +1,398 @@ +#!/bin/bash +###################################################################### +# This script is desined for UPP regression tests run by UPP developer. +# Wen Meng, 12/2020, First version. +# Fernando Andrade-Maldonado 5/2023 rework for CLI Options +# Fernando Andrade-Maldonado / Wen Meng 9/2023 Add Hercules, fix typos, and refactor +# Fernando Andrade-Maldonado 4/2024 Additional Log info +# Wen Meng 05/2025 Refactor to support WCOSS2 and R&D machines +# Sam Trahan 06/2025 Add usage message, Ursa support, and multi-compiler support +# Gillian Petro 06/2025 Update to spack-stack 1.9.1; require compiler indication on Orion/Hercules +# Wen Meng and Ben Blake, 07/2025, Update test names, add RRFS, MPAS, DAFS, SFS tests +# Ben Blake, 12/2025, Remove Hera support +###################################################################### +set -xue +SECONDS=0 + +git_branch="develop" +git_url="https://github.com/NOAA-EMC/UPP.git" +clone_on="no" +disable_ifi="no" # don't use libIFI, even if it is present +disable_gtg="no" # don't use post_gtg, even if it is present +print_full_help="no" +build_exe="yes" #build executable +compiler="MISSING" + +usage() { + set +xue + + cat<&2 + exit 2 + fi + if [[ "${OPTARG:0:1}" == '-' ]] ; then + echo "Argument error: -$opt requires an argument" + usage FATAL ERROR: Script is exiting due to a missing argument. See error message above 1>&2 + exit 2 + fi +} + +# Space required at start and and of string for pattern matching in check_valid_tests +valid_tests=' sfs aqm gefsv12 gefsv13 nmmb rap hrrr hafs 3drtma mpas mpas_hfip gcafs rrfs rrfs_ifi_missing gfs ' + +check_valid_tests() { + local tests=${@} + if [[ -n ${tests} ]]; then + test_list='' + read -a tests_to_run <<< ${tests} + for t in ${tests_to_run[@]} + do + if [[ ${valid_tests} =~ " ${t} " ]]; then + test_list+="${t} " + else + echo "${t} is not a valid test" + fi + done + if [[ -z ${test_list} ]]; then + echo "No valid tests provided. Exiting..." + exit 1 + fi + export test_list=${test_list} + fi + echo "rt.sh will run ${test_list}" +} + +set +x +export OPTERR=1 +while getopts a:w:h:r:l:t:b:u:C:cdgHe opt; do + case $opt in + C) compiler=${OPTARG} ; check_for_dash + ;; + d) disable_ifi=yes + ;; + g) disable_gtg=yes + ;; + a) accnr=${OPTARG} ; check_for_dash + ;; + w) workdir=${OPTARG} ; check_for_dash + ;; + h) homedir=${OPTARG} ; check_for_dash + ;; + r) rundir=${OPTARG} ; check_for_dash + ;; + l) check_valid_tests ${OPTARG} + ;; + t) test_v=${OPTARG} ; check_for_dash + ;; + b) git_branch=${OPTARG} ; check_for_dash + ;; + u) git_url=${OPTARG} ; check_for_dash + ;; + c) clone_on="yes" + ;; + e) build_exe="no" # don't build executable + ;; + H) print_full_help=YES ; usage ; exit 1 + ;; + :) echo "Error: Required argument not provided." + help + exit 2 + ;; + *) + usage FATAL ERROR: Invalid -option. See error message above. 1>&2 + exit 2 + ;; + esac +done + +# Fail if positional arguments are present: +positional_count=$(( $# - OPTIND + 1 )) +if (( positional_count > 0)) ; then + if (( positional_count > 1)) ; then + arguments=arguments + else + arguments=argument + fi + shift $(( OPTIND - 1 )) + usage FATAL ERROR: Script is aborting due to spurious $arguments: "$@" 2>&1 + exit 2 +fi +set -x + +# Set test list if not set + +test_list=${test_list:-${valid_tests}} + +#UPP working copy +export test_v=${test_v:-`pwd`/..} +if [[ $clone_on == "yes" ]]; then + rm -rf $test_v + mkdir -p $test_v + git clone -b $git_branch $git_url $test_v +fi +export svndir=${test_v} + +if [[ -d $svndir/sorc/libIFI.fd/src/ ]] ; then + export have_ifi=yes +else + export have_ifi=no +fi + +if [[ -f $svndir/sorc/ncep_post.fd/post_gtg.fd/gtg.config.hrrr ]] ; then + export have_gtg=yes +else + export have_gtg=no +fi + +#find machine +mac=$(hostname | cut -c1-1) +mac2=$(hostname | cut -c1-2) +mac3=$(hostname | cut -c1-4) +if [ $mac2 = uf ]; then # for Ursa + export machine=URSA + export homedir=${homedir:-"/scratch4/NAGAPE/epic/role-epic/ursa/UPP/test_suite"} + export rundir=${rundir:-"/scratch3/NCEPDEV/stmp/$USER/scrub"} + export accnr=${accnr:-"rtrr"} + module use /contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.2.1/install/modulefiles/Core + module use /contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.2.1/install/modulefiles/intel-oneapi-mpi/2021.13-haww6b3/gcc/12.4.0 + module load stack-oneapi/2024.2.1 + module load stack-intel-oneapi-mpi/2021.13 + module load prod_util/2.1.1 + module load python/3.11.7 +elif [ $mac3 = orio ] ; then + export machine=ORION + export homedir=${homedir:-"/work/noaa/epic/role-epic/orion/UPP"} + export rundir=${rundir:-"/work2/noaa/stmp/$USER"} + export accnr=${accnr:-"rtrr"} + module purge + module use /apps/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.1.0/install/modulefiles/Core + module use /apps/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.1.0/install/modulefiles/intel-oneapi-mpi/2021.13-li242lf/gcc/12.2.0 + module load stack-oneapi/2024.2.1 + module load stack-intel-oneapi-mpi/2021.13 + module load prod_util/2.1.1 + module load python/3.11.7 +elif [ $mac3 = herc ] ; then + export machine=HERCULES + export homedir=${homedir:-"/work/noaa/epic/role-epic/hercules/UPP"} + export rundir=${rundir:-"/work2/noaa/stmp/$USER"} + export accnr=${accnr:-"rtrr"} + module purge + module use /apps/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.1.0/install/modulefiles/Core + module use /apps/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.1.0/install/modulefiles/intel-oneapi-mpi/2021.13-sqiixt7/gcc/13.3.0 + module load stack-oneapi/2024.2.1 + module load stack-intel-oneapi-mpi/2021.13 + module load prod_util/2.1.1 + module load python/3.11.7 +elif [ $mac = d -o $mac = c ]; then #for WCOSS2 + export machine=WCOSS2 + export homedir=${homedir:-"/lfs/h2/emc/vpppg/noscrub/wen.meng/test_suite"} + export rundir=${rundir:-"/lfs/h2/emc/ptmp/$USER"} + export accnr=${accnr:-"GFS-DEV"} + module reset + module load intel/19.1.3.304 + module load PrgEnv-intel/8.1.0 + module load craype/2.7.8 + module load cray-mpich/8.1.7 + module load prod_util/2.0.14 + module load python/3.12.0 +fi + +if [[ "$compiler" == MISSING ]] ; then + if [[ "$machine" == "URSA" ]]; then + usage FATAL ERROR: You must specify the compiler on Ursa: -C 'intel|intelllvm' 1>&2 + exit 2 + else + compiler=intel + fi +fi + +export compiler + +#set working directory +export workdir=${workdir:-"`pwd`/work-upp-${machine}-${compiler}"} +rm -rf $workdir +mkdir -p $workdir + +export cmp_grib2_grib2=$svndir/ci/cmp_grib2_grib2.sh + +#differentiates for orion and hercules +export rundir="${rundir}/upp-${machine}" +#test -d "${rundir}" || mkdir -p "${rundir}" +rm -rf ${rundir}; mkdir -p ${rundir} + +#set log file +export rt_log=rt.log.${machine}_${compiler} +export logfile=`pwd`/$rt_log +if [ -f $logfile ] ; then + rm -r $logfile +fi +export runtime_log=$svndir/ci/runtime.log.${machine}_${compiler} + +# Validate post_avblflds.xml against schema +cd ${test_v}/parm +if [[ ${machine} != "URSA" ]]; then + xmllint --noout --schema EMC_POST_Avblflds_Schema.xsd post_avblflds.xml + # If an error results from running xmllint, rt.sh will terminate execution and report that the XML fails to validate. +fi + +#build executable +if [ "$build_exe" == "yes" ]; then + cd ${test_v} + mkdir -p ${test_v}/exec + cd ${test_v}/tests + ./compile_upp.sh -o upp_no_ifi_gtg.x -c "$compiler" + status=$? + if [ $status -eq 0 ]; then + msg="Building executable successfully" + else + msg="Building executable with failure" + postmsg "$logfile" "$msg" + exit 2 + fi + + if [[ "$have_ifi" == "yes" && "$disable_ifi" == "no" && "$have_gtg" == "yes" && "$disable_gtg" == "no" ]] ; then + if [[ "${machine}" == "WCOSS2" ]]; then ##GTG tests only supported on WCOSS2 + ./compile_upp.sh -a -o upp_with_ifi_gtg.x -I -g -c "$compiler" + status=$? + else + msg="GTG tests are not currently supported on machines other than WCOSS2, exiting" + postmsg "$logfile" "$msg" + exit 2 + fi + if [ "$status" -eq 0 ]; then + msg="Built UPP+IFI+GTG executables successfully" + else + msg="Built UPP+IFI+GTG executables with failure" + postmsg "$logfile" "$msg" + exit 2 + fi + ln -s upp_with_ifi_gtg.x $svndir/exec/upp.x + elif [[ "$have_ifi" == "yes" && "$disable_ifi" == "no" && "$have_gtg" == "no" ]] ; then + if [[ "${machine}" == "WCOSS2" ]]; then ##No ifi standalone executable + ./compile_upp.sh -a -o upp_with_ifi.x -I -c "$compiler" + status=$? + else + ./compile_upp.sh -a -o upp_with_ifi.x -I -B -c "$compiler" + status=$? + fi + if [ "$status" -eq 0 ]; then + msg="Built UPP+IFI executables successfully" + else + msg="Built UPP+IFI executables with failure" + postmsg "$logfile" "$msg" + exit 2 + fi + ln -s upp_with_ifi.x $svndir/exec/upp.x + elif [[ "$have_gtg" == "yes" && "$disable_gtg" == "no" && "$have_ifi" == "no" ]] ; then + if [[ "${machine}" == "WCOSS2" ]]; then ##GTG tests only supported on WCOSS2 + ./compile_upp.sh -a -o upp_with_gtg.x -g -c "$compiler" + status=$? + else + msg="GTG tests are not currently supported on machines other than WCOSS2, exiting" + postmsg "$logfile" "$msg" + exit 2 + fi + if [ "$status" -eq 0 ]; then + msg="Built UPP+GTG executables successfully" + else + msg="Built UPP+GTG executables with failure" + postmsg "$logfile" "$msg" + exit 2 + fi + ln -s upp_with_gtg.x $svndir/exec/upp.x + else + ln -s upp_no_ifi_gtg.x $svndir/exec/upp.x + fi + + postmsg "$logfile" "$msg" +fi + +# Create job cards from template for RDHPCS +if [[ ${machine} != "WCOSS2" ]]; then + + cd $svndir/ci/jobs-dev + + source machine.sh + source test.sh + source atparse.sh + + for test in ${test_list} + do + set_global + ${test} + atparse < run_post_${test}_template.sh > run_post_${test}_${machine}.sh + done + +fi + +#submit test jobs +cd $svndir/ci +if [ "${machine}" = "WCOSS2" ]; then + source "./submit_jobs_${machine}.sh" +else ##R&D machines + source "./submit_jobs.sh" +fi + +set +xe +echo "Job cards submitted for enabled tests, waiting on timestamps for finished jobs..." + +#get run time for each test +cd $svndir/ci +if [ "${machine}" = "WCOSS2" ]; then + source "./check_runtime_${machine}.sh" +else + source "./check_runtime.sh" +fi diff --git a/ci/runtime.log.HERCULES_intel b/ci/runtime.log.HERCULES_intel new file mode 100644 index 0000000000..f309533127 --- /dev/null +++ b/ci/runtime.log.HERCULES_intel @@ -0,0 +1,15 @@ +sfs_test 00:01:20 +aqm_test 00:00:30 +nmmb_test 00:03:00 +gefsv12_test 00:01:00 +gefsv13_test 00:02:00 +rap_test 00:02:00 +hrrr_test 00:06:00 +hafs_test 00:01:00 +3drtma_test 00:03:00 +mpas_test 00:02:30 +mpas_hfip_test 00:05:00 +gcafs_test 00:02:30 +rrfs_test 00:12:00 +rrfs_ifi_missing 00:04:00 +gfs_test 00:25:00 diff --git a/ci/runtime.log.HERCULES_intelllvm b/ci/runtime.log.HERCULES_intelllvm new file mode 100644 index 0000000000..54464faaae --- /dev/null +++ b/ci/runtime.log.HERCULES_intelllvm @@ -0,0 +1,10 @@ +nmmb_test 00:03:00 +fv3gefs_test 00:01:00 +rap_test 00:02:00 +hrrr_test 00:05:00 +fv3hafs_test 00:01:00 +fv3gfs_test 00:11:00 +fv3r_test 00:03:00 +fv3r_ifi_missing 00:01:00 +3drtma_test 00:03:00 +mpas_hfip_test 00:05:00 diff --git a/ci/runtime.log.ORION_intel b/ci/runtime.log.ORION_intel new file mode 100644 index 0000000000..1320fe7486 --- /dev/null +++ b/ci/runtime.log.ORION_intel @@ -0,0 +1,15 @@ +sfs_test 00:01:20 +aqm_test 00:00:30 +nmmb_test 00:03:00 +gefsv12_test 00:01:00 +gefsv13_test 00:02:00 +rap_test 00:02:00 +hrrr_test 00:08:00 +hafs_test 00:01:00 +3drtma_test 00:03:00 +mpas_test 00:02:30 +mpas_hfip_test 00:05:00 +gcafs_test 00:03:15 +rrfs_test 00:12:00 +rrfs_ifi_missing 00:04:00 +gfs_test 00:26:00 diff --git a/ci/runtime.log.ORION_intelllvm b/ci/runtime.log.ORION_intelllvm new file mode 100644 index 0000000000..d4508547a8 --- /dev/null +++ b/ci/runtime.log.ORION_intelllvm @@ -0,0 +1,10 @@ +nmmb_test 00:03:00 +fv3gefs_test 00:01:00 +rap_test 00:02:00 +hrrr_test 00:09:00 +fv3hafs_test 00:01:00 +fv3gfs_test 00:13:00 +fv3r_test 00:03:00 +fv3r_ifi_missing 00:01:00 +3drtma_test 00:03:00 +mpas_hfip_test 00:05:00 diff --git a/ci/runtime.log.URSA_intel b/ci/runtime.log.URSA_intel new file mode 100644 index 0000000000..3f55760a42 --- /dev/null +++ b/ci/runtime.log.URSA_intel @@ -0,0 +1,18 @@ +sfs_test 00:01:20 +aqm_test 00:00:30 +hrrr_ifi_test 00:05:00 +rrfs_ifi_test 00:05:00 +ifi_standalone_fv3r_test 00:05:00 +nmmb_test 00:02:00 +gefsv12_test 00:02:00 +gefsv13_test 00:02:00 +rap_test 00:02:00 +hrrr_test 00:03:00 +hafs_test 00:01:30 +3drtma_test 00:01:30 +mpas_test 00:02:30 +mpas_hfip_test 00:05:00 +gcafs_test 00:02:00 +rrfs_test 00:07:00 +rrfs_ifi_missing 00:03:00 +gfs_test 00:15:00 diff --git a/ci/runtime.log.URSA_intelllvm b/ci/runtime.log.URSA_intelllvm new file mode 100644 index 0000000000..277d195b96 --- /dev/null +++ b/ci/runtime.log.URSA_intelllvm @@ -0,0 +1,18 @@ +sfs_test 00:01:20 +aqm_test 00:00:30 +hrrr_ifi_test 00:05:00 +rrfs_ifi_test 00:05:00 +ifi_standalone_fv3r_test 00:05:00 +nmmb_test 00:01:30 +gefsv12_test 00:02:00 +gefsv13_test 00:02:00 +rap_test 00:02:00 +hrrr_test 00:02:30 +hafs_test 00:01:30 +3drtma_test 00:01:30 +mpas_test 00:02:30 +mpas_hfip_test 00:05:00 +gcafs_test 00:02:30 +rrfs_test 00:06:00 +rrfs_ifi_missing 00:03:00 +gfs_test 00:15:00 diff --git a/ci/runtime.log.WCOSS2_intel b/ci/runtime.log.WCOSS2_intel new file mode 100644 index 0000000000..90225c6820 --- /dev/null +++ b/ci/runtime.log.WCOSS2_intel @@ -0,0 +1,18 @@ +sfs_test 00:00:50 +aqm_test 00:01:00 +gefsv12_test 00:01:20 +gefsv13_test 00:02:00 +nmmb_test 00:02:20 +dafs_test 00:02:00 +rap_test 00:02:00 +hrrr_test 00:03:40 +hrrr_ifi_test 00:02:00 +hafs_test 00:02:00 +3drtma_test 00:03:00 +mpas_test 00:02:40 +mpas_hfip_test 00:05:00 +gcafs_test 00:05:30 +rrfs_test 00:10:00 +rrfs_ifi_test 00:08:10 +rrfs_ifi_missing 00:08:00 +gfs_test 00:15:00 diff --git a/ci/spack.yaml b/ci/spack.yaml new file mode 100644 index 0000000000..85699c0584 --- /dev/null +++ b/ci/spack.yaml @@ -0,0 +1,23 @@ +# Spack environment file to build UPP dependencies +spack: + packages: + all: + compiler: + - intel + - gcc@10:10 + specs: + - netcdf-c@4.9.2 + - netcdf-fortran@4.6.1 + - bacio@2.4.1 + - w3emc@2.10.0 + - g2@3.5.1 + - g2tmpl@1.13.0 + - ip@5.1.0 + - sigio@2.3.2 + - nemsio@2.5.4 + - wrf-io@1.2.0 + - crtm@2.4.0.1 + view: true + concretizer: + unify: true + diff --git a/ci/submit_jobs.sh b/ci/submit_jobs.sh new file mode 100755 index 0000000000..d88e5b1a09 --- /dev/null +++ b/ci/submit_jobs.sh @@ -0,0 +1,38 @@ +#!/bin/bash +########################################################################## +# This script is used to submit test jobs on R&D machines. +# # Wen Meng, 05/2025, First version. +# ########################################################################## + +export jobid_list="" + +cd $workdir +for test in ${test_list} +do + cp $svndir/ci/jobs-dev/run_post_${test}_${machine}.sh . + job_id=$(sbatch --parsable -A "${accnr}" run_post_${test}_${machine}.sh) + jobid_list="${jobid_list} ${job_id}" +done + +#Run additional ifi tests +if [[ "$have_ifi" == "yes" && "$disable_ifi" == "no" ]] ; then + for model in hrrr rrfs; do + cp "$svndir/ci/jobs-dev/run_post_${model}_ifi_${machine}.sh" . + job_id=$(sbatch --parsable -A "$accnr" "run_post_${model}_ifi_${machine}.sh") + jobid_list="${jobid_list} $job_id" + + if [[ "$model" != rrfs ]] ; then + cp "$svndir/ci/jobs-dev/run_ifi_standalone_${model}_${machine}.sh" . + dep_job_id="$job_id" + job_id=$(sbatch --parsable -A "$accnr" --dependency=afterany:"$dep_job_id" \ + "run_ifi_standalone_${model}_${machine}.sh") + jobid_list="${jobid_list} $job_id" + fi + + test_list="${test_list} ${model}_ifi" + done + +fi + +export jobid_list +export test_list diff --git a/ci/submit_jobs_WCOSS2.sh b/ci/submit_jobs_WCOSS2.sh new file mode 100755 index 0000000000..2f714df0ce --- /dev/null +++ b/ci/submit_jobs_WCOSS2.sh @@ -0,0 +1,38 @@ +#!/bin/bash +########################################################################## +# This script is used to submit test jobs on WCOSS2. +# # Wen Meng, 05/2025, First version. +# ########################################################################## + +jobid_list="" + +cd $workdir +for test in ${test_list} +do +cp $svndir/ci/jobs-dev/run_post_${test}_${machine}.sh . +job_id=$(qsub -A "${accnr}" run_post_${test}_${machine}.sh) +jobid_list="${jobid_list} ${job_id}" +done + +# Run additional IFI tests +if [[ "$have_ifi" == "yes" && "$disable_ifi" == "no" ]] ; then + for ifi_test in hrrr_ifi rrfs_ifi; do + cp $svndir/ci/jobs-dev/run_post_${ifi_test}_${machine}.sh . + job_id=$(qsub -A "${accnr}" run_post_${ifi_test}_${machine}.sh) + jobid_list="${jobid_list} ${job_id}" + test_list=${test_list}" ${ifi_test}" + done +fi + +# Run additional GTG tests +if [[ "$have_ifi" == "yes" && "$disable_ifi" == "no" && "$have_gtg" == "yes" && "$disable_gtg" == "no" ]] ; then + for gtg_test in dafs; do + cp $svndir/ci/jobs-dev/run_post_${gtg_test}_${machine}.sh . + job_id=$(qsub -A "${accnr}" run_post_${gtg_test}_${machine}.sh) + jobid_list="${jobid_list} ${job_id}" + test_list=${test_list}" ${gtg_test}" + done +fi + +export jobid_list +export test_list diff --git a/cmake/FindNetCDF.cmake b/cmake/FindNetCDF.cmake new file mode 100644 index 0000000000..64d0395541 --- /dev/null +++ b/cmake/FindNetCDF.cmake @@ -0,0 +1,340 @@ +# (C) Copyright 2011- ECMWF. +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. +# In applying this licence, ECMWF does not waive the privileges and immunities +# granted to it by virtue of its status as an intergovernmental organisation nor +# does it submit to any jurisdiction. + +# Try to find NetCDF includes and library. +# Supports static and shared libaries and allows each component to be found in sepearte prefixes. +# +# This module defines +# +# - NetCDF_FOUND - System has NetCDF +# - NetCDF_INCLUDE_DIRS - the NetCDF include directories +# - NetCDF_VERSION - the version of NetCDF +# - NetCDF_CONFIG_EXECUTABLE - the netcdf-config executable if found +# - NetCDF_PARALLEL - Boolean True if NetCDF4 has parallel IO support via hdf5 and/or pnetcdf +# - NetCDF_HAS_PNETCDF - Boolean True if NetCDF4 has pnetcdf support +# +# Deprecated Defines +# - NetCDF_LIBRARIES - [Deprecated] Use NetCDF::NetCDF_ targets instead. +# +# +# Following components are available: +# +# - C - C interface to NetCDF (netcdf) +# - CXX - CXX4 interface to NetCDF (netcdf_c++4) +# - Fortran - Fortran interface to NetCDF (netcdff) +# +# For each component the following are defined: +# +# - NetCDF__FOUND - whether the component is found +# - NetCDF__LIBRARIES - the libraries for the component +# - NetCDF__LIBRARY_SHARED - Boolean is true if libraries for component are shared +# - NetCDF__INCLUDE_DIRS - the include directories for specified component +# - NetCDF::NetCDF_ - target of component to be used with target_link_libraries() +# +# The following paths will be searched in order if set in CMake (first priority) or environment (second priority) +# +# - NetCDF_ROOT - root of NetCDF installation +# - NetCDF_PATH - root of NetCDF installation +# +# The search process begins with locating NetCDF Include headers. If these are in a non-standard location, +# set one of the following CMake or environment variables to point to the location: +# +# - NetCDF_INCLUDE_DIR or NetCDF_${comp}_INCLUDE_DIR +# - NetCDF_INCLUDE_DIRS or NetCDF_${comp}_INCLUDE_DIR +# +# Notes: +# +# - Use "NetCDF::NetCDF_" targets only. NetCDF_LIBRARIES exists for backwards compatibility and should not be used. +# - These targets have all the knowledge of include directories and library search directories, and a single +# call to target_link_libraries will provide all these transitive properties to your target. Normally all that is +# needed to build and link against NetCDF is, e.g.: +# target_link_libraries(my_c_tgt PUBLIC NetCDF::NetCDF_C) +# - "NetCDF" is always the preferred naming for this package, its targets, variables, and environment variables +# - For compatibility, some variables are also set/checked using alternate names NetCDF4, NETCDF, or NETCDF4 +# - Environments relying on these older environment variable names should move to using a "NetCDF_ROOT" environment variable +# - Preferred component capitalization follows the CMake LANGUAGES variables: i.e., C, Fortran, CXX +# - For compatibility, alternate capitalizations are supported but should not be used. +# - If no components are defined, all components will be searched +# + +list( APPEND _possible_components C CXX Fortran ) + +## Include names for each component +set( NetCDF_C_INCLUDE_NAME netcdf.h ) +set( NetCDF_CXX_INCLUDE_NAME netcdf ) +set( NetCDF_Fortran_INCLUDE_NAME netcdf.mod ) + +## Library names for each component +set( NetCDF_C_LIBRARY_NAME netcdf ) +set( NetCDF_CXX_LIBRARY_NAME netcdf_c++4 ) +set( NetCDF_Fortran_LIBRARY_NAME netcdff ) + +## Enumerate search components +foreach( _comp ${_possible_components} ) + string( TOUPPER "${_comp}" _COMP ) + set( _arg_${_COMP} ${_comp} ) + set( _name_${_COMP} ${_comp} ) +endforeach() + +set( _search_components C) +foreach( _comp ${${CMAKE_FIND_PACKAGE_NAME}_FIND_COMPONENTS} ) + string( TOUPPER "${_comp}" _COMP ) + set( _arg_${_COMP} ${_comp} ) + list( APPEND _search_components ${_name_${_COMP}} ) + if( NOT _name_${_COMP} ) + message(SEND_ERROR "Find${CMAKE_FIND_PACKAGE_NAME}: COMPONENT ${_comp} is not a valid component. Valid components: ${_possible_components}" ) + endif() +endforeach() +list( REMOVE_DUPLICATES _search_components ) + +## Search hints for finding include directories and libraries +foreach( _comp IN ITEMS "_" "_C_" "_Fortran_" "_CXX_" ) + foreach( _name IN ITEMS NetCDF4 NetCDF NETCDF4 NETCDF ) + foreach( _var IN ITEMS ROOT PATH ) + list(APPEND _search_hints ${${_name}${_comp}${_var}} $ENV{${_name}${_comp}${_var}} ) + list(APPEND _include_search_hints + ${${_name}${_comp}INCLUDE_DIR} $ENV{${_name}${_comp}INCLUDE_DIR} + ${${_name}${_comp}INCLUDE_DIRS} $ENV{${_name}${_comp}INCLUDE_DIRS} ) + endforeach() + endforeach() +endforeach() +#Old-school HPC module env variable names +foreach( _name IN ITEMS NetCDF4 NetCDF NETCDF4 NETCDF ) + foreach( _comp IN ITEMS "_C" "_Fortran" "_CXX" ) + list(APPEND _search_hints ${${_name}} $ENV{${_name}}) + list(APPEND _search_hints ${${_name}${_comp}} $ENV{${_name}${_comp}}) + endforeach() +endforeach() + +## Find headers for each component +set(NetCDF_INCLUDE_DIRS) +set(_new_search_components) +foreach( _comp IN LISTS _search_components ) + if(NOT ${PROJECT_NAME}_NetCDF_${_comp}_FOUND) + list(APPEND _new_search_components ${_comp}) + endif() + find_file(NetCDF_${_comp}_INCLUDE_FILE + NAMES ${NetCDF_${_comp}_INCLUDE_NAME} + DOC "NetCDF ${_comp} include directory" + HINTS ${_include_search_hints} ${_search_hints} + PATH_SUFFIXES include include/netcdf + ) + mark_as_advanced(NetCDF_${_comp}_INCLUDE_FILE) + message(DEBUG "NetCDF_${_comp}_INCLUDE_FILE: ${NetCDF_${_comp}_INCLUDE_FILE}") + if( NetCDF_${_comp}_INCLUDE_FILE ) + get_filename_component(NetCDF_${_comp}_INCLUDE_FILE ${NetCDF_${_comp}_INCLUDE_FILE} ABSOLUTE) + get_filename_component(NetCDF_${_comp}_INCLUDE_DIR ${NetCDF_${_comp}_INCLUDE_FILE} DIRECTORY) + list(APPEND NetCDF_INCLUDE_DIRS ${NetCDF_${_comp}_INCLUDE_DIR}) + endif() +endforeach() +if(NetCDF_INCLUDE_DIRS) + list(REMOVE_DUPLICATES NetCDF_INCLUDE_DIRS) +endif() +set(NetCDF_INCLUDE_DIRS "${NetCDF_INCLUDE_DIRS}" CACHE STRING "NetCDF Include directory paths" FORCE) + +## Find n*-config executables for search components +foreach( _comp IN LISTS _search_components ) + if( _comp MATCHES "^(C)$" ) + set(_conf "c") + elseif( _comp MATCHES "^(Fortran)$" ) + set(_conf "f") + elseif( _comp MATCHES "^(CXX)$" ) + set(_conf "cxx4") + endif() + find_program( NetCDF_${_comp}_CONFIG_EXECUTABLE + NAMES n${_conf}-config + HINTS ${NetCDF_INCLUDE_DIRS} ${_include_search_hints} ${_search_hints} + PATH_SUFFIXES bin Bin ../bin ../../bin + DOC "NetCDF n${_conf}-config helper" ) + message(DEBUG "NetCDF_${_comp}_CONFIG_EXECUTABLE: ${NetCDF_${_comp}_CONFIG_EXECUTABLE}") +endforeach() + +set(_C_libs_flag --libs) +set(_Fortran_libs_flag --flibs) +set(_CXX_libs_flag --libs) +set(_C_includes_flag --includedir) +set(_Fortran_includes_flag --includedir) +set(_CXX_includes_flag --includedir) +function(netcdf_config exec flag output_var) + set(${output_var} False PARENT_SCOPE) + if( exec ) + execute_process( COMMAND ${exec} ${flag} RESULT_VARIABLE _ret OUTPUT_VARIABLE _val) + if( _ret EQUAL 0 ) + string( STRIP ${_val} _val ) + set( ${output_var} ${_val} PARENT_SCOPE ) + endif() + endif() +endfunction() + +## Find libraries for each component +set( NetCDF_LIBRARIES ) +foreach( _comp IN LISTS _search_components ) + string( TOUPPER "${_comp}" _COMP ) + + find_library( NetCDF_${_comp}_LIBRARY + NAMES ${NetCDF_${_comp}_LIBRARY_NAME} + DOC "NetCDF ${_comp} library" + HINTS ${NetCDF_${_comp}_INCLUDE_DIRS} ${_search_hints} + PATH_SUFFIXES lib64 lib ../lib64 ../lib ../../lib64 ../../lib ) + mark_as_advanced( NetCDF_${_comp}_LIBRARY ) + get_filename_component(NetCDF_${_comp}_LIBRARY ${NetCDF_${_comp}_LIBRARY} ABSOLUTE) + set(NetCDF_${_comp}_LIBRARY ${NetCDF_${_comp}_LIBRARY} CACHE STRING "NetCDF ${_comp} library" FORCE) + message(DEBUG "NetCDF_${_comp}_LIBRARY: ${NetCDF_${_comp}_LIBRARY}") + + if( NetCDF_${_comp}_LIBRARY ) + if( NetCDF_${_comp}_LIBRARY MATCHES ".a$" ) + set( NetCDF_${_comp}_LIBRARY_SHARED FALSE ) + set( _library_type STATIC) + else() + list( APPEND NetCDF_LIBRARIES ${NetCDF_${_comp}_LIBRARY} ) + set( NetCDF_${_comp}_LIBRARY_SHARED TRUE ) + set( _library_type SHARED) + endif() + endif() + + #Use nc-config to set per-component LIBRARIES variable if possible + netcdf_config( ${NetCDF_${_comp}_CONFIG_EXECUTABLE} ${_${_comp}_libs_flag} _val ) + if( _val ) + set( NetCDF_${_comp}_LIBRARIES ${_val} ) + if(NOT NetCDF_${_comp}_LIBRARY_SHARED AND NOT NetCDF_${_comp}_FOUND) #Static targets should use nc_config to get a proper link line with all necessary static targets. + list( APPEND NetCDF_LIBRARIES ${NetCDF_${_comp}_LIBRARIES} ) + endif() + else() + set( NetCDF_${_comp}_LIBRARIES ${NetCDF_${_comp}_LIBRARY} ) + if(NOT NetCDF_${_comp}_LIBRARY_SHARED) + message(SEND_ERROR "Unable to properly find NetCDF. Found static libraries at: ${NetCDF_${_comp}_LIBRARY} but could not run nc-config: ${NetCDF_CONFIG_EXECUTABLE}") + endif() + endif() + + #Use nc-config to set per-component INCLUDE_DIRS variable if possible + netcdf_config( ${NetCDF_${_comp}_CONFIG_EXECUTABLE} ${_${_comp}_includes_flag} _val ) + if( _val ) + string( REPLACE " " ";" _val ${_val} ) + set( NetCDF_${_comp}_INCLUDE_DIRS ${_val} ) + else() + set( NetCDF_${_comp}_INCLUDE_DIRS ${NetCDF_${_comp}_INCLUDE_DIR} ) + endif() + + if( NetCDF_${_comp}_LIBRARIES AND NetCDF_${_comp}_INCLUDE_DIRS ) + set( ${CMAKE_FIND_PACKAGE_NAME}_${_arg_${_COMP}}_FOUND TRUE ) + if (NOT TARGET NetCDF::NetCDF_${_comp}) + add_library(NetCDF::NetCDF_${_comp} ${_library_type} IMPORTED) + set_target_properties(NetCDF::NetCDF_${_comp} PROPERTIES + IMPORTED_LOCATION ${NetCDF_${_comp}_LIBRARY} + INTERFACE_INCLUDE_DIRECTORIES "${NetCDF_${_comp}_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES ${NetCDF_${_comp}_LIBRARIES} ) + if( NOT _comp MATCHES "^(C)$" ) + target_link_libraries(NetCDF::NetCDF_${_comp} INTERFACE NetCDF::NetCDF_C) + endif() + endif() + endif() +endforeach() +if(NetCDF_LIBRARIES AND NetCDF_${_comp}_LIBRARY_SHARED) + list(REMOVE_DUPLICATES NetCDF_LIBRARIES) +endif() +set(NetCDF_LIBRARIES "${NetCDF_LIBRARIES}" CACHE STRING "NetCDF library targets" FORCE) + +## Find version via netcdf-config if possible +if (NetCDF_INCLUDE_DIRS) + if( NetCDF_C_CONFIG_EXECUTABLE ) + netcdf_config( ${NetCDF_C_CONFIG_EXECUTABLE} --version _vers ) + if( _vers ) + string(REGEX REPLACE ".* ((([0-9]+)\\.)+([0-9]+)).*" "\\1" NetCDF_VERSION "${_vers}" ) + endif() + else() + foreach( _dir IN LISTS NetCDF_INCLUDE_DIRS) + if( EXISTS "${_dir}/netcdf_meta.h" ) + file(STRINGS "${_dir}/netcdf_meta.h" _netcdf_version_lines + REGEX "#define[ \t]+NC_VERSION_(MAJOR|MINOR|PATCH|NOTE)") + string(REGEX REPLACE ".*NC_VERSION_MAJOR *\([0-9]*\).*" "\\1" _netcdf_version_major "${_netcdf_version_lines}") + string(REGEX REPLACE ".*NC_VERSION_MINOR *\([0-9]*\).*" "\\1" _netcdf_version_minor "${_netcdf_version_lines}") + string(REGEX REPLACE ".*NC_VERSION_PATCH *\([0-9]*\).*" "\\1" _netcdf_version_patch "${_netcdf_version_lines}") + string(REGEX REPLACE ".*NC_VERSION_NOTE *\"\([^\"]*\)\".*" "\\1" _netcdf_version_note "${_netcdf_version_lines}") + set(NetCDF_VERSION "${_netcdf_version_major}.${_netcdf_version_minor}.${_netcdf_version_patch}${_netcdf_version_note}") + unset(_netcdf_version_major) + unset(_netcdf_version_minor) + unset(_netcdf_version_patch) + unset(_netcdf_version_note) + unset(_netcdf_version_lines) + endif() + endforeach() + endif() +endif () + +## Detect additional package properties +netcdf_config(${NetCDF_C_CONFIG_EXECUTABLE} --has-parallel4 _val) +if( NOT _val MATCHES "^(yes|no)$" ) + netcdf_config(${NetCDF_C_CONFIG_EXECUTABLE} --has-parallel _val) +endif() +if( _val MATCHES "^(yes)$" ) + set(NetCDF_PARALLEL TRUE CACHE STRING "NetCDF has parallel IO capability via pnetcdf or hdf5." FORCE) +else() + set(NetCDF_PARALLEL FALSE CACHE STRING "NetCDF has no parallel IO capability." FORCE) +endif() + +## Finalize find_package +include(FindPackageHandleStandardArgs) + +if(NOT NetCDF_FOUND OR _new_search_components) + find_package_handle_standard_args( ${CMAKE_FIND_PACKAGE_NAME} + REQUIRED_VARS NetCDF_INCLUDE_DIRS NetCDF_LIBRARIES + VERSION_VAR NetCDF_VERSION + HANDLE_COMPONENTS ) +endif() + +foreach( _comp IN LISTS _search_components ) + if( NetCDF_${_comp}_FOUND ) + #Record found components to avoid duplication in NetCDF_LIBRARIES for static libraries + set(NetCDF_${_comp}_FOUND ${NetCDF_${_comp}_FOUND} CACHE BOOL "NetCDF ${_comp} Found" FORCE) + #Set a per-package, per-component found variable to communicate between multiple calls to find_package() + set(${PROJECT_NAME}_NetCDF_${_comp}_FOUND True) + endif() +endforeach() + +if( ${CMAKE_FIND_PACKAGE_NAME}_FOUND AND NOT ${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY AND _new_search_components) + message( STATUS "Find${CMAKE_FIND_PACKAGE_NAME} defines targets:" ) + message( STATUS " - NetCDF_VERSION [${NetCDF_VERSION}]") + message( STATUS " - NetCDF_PARALLEL [${NetCDF_PARALLEL}]") + foreach( _comp IN LISTS _new_search_components ) + string( TOUPPER "${_comp}" _COMP ) + message( STATUS " - NetCDF_${_comp}_CONFIG_EXECUTABLE [${NetCDF_${_comp}_CONFIG_EXECUTABLE}]") + if( ${CMAKE_FIND_PACKAGE_NAME}_${_arg_${_COMP}}_FOUND ) + get_filename_component(_root ${NetCDF_${_comp}_INCLUDE_DIR}/.. ABSOLUTE) + if( NetCDF_${_comp}_LIBRARY_SHARED ) + message( STATUS " - NetCDF::NetCDF_${_comp} [SHARED] [Root: ${_root}] Lib: ${NetCDF_${_comp}_LIBRARY} ") + else() + message( STATUS " - NetCDF::NetCDF_${_comp} [STATIC] [Root: ${_root}] Lib: ${NetCDF_${_comp}_LIBRARY} ") + endif() + endif() + endforeach() +endif() + +foreach( _prefix NetCDF NetCDF4 NETCDF NETCDF4 ${CMAKE_FIND_PACKAGE_NAME} ) + set( ${_prefix}_INCLUDE_DIRS ${NetCDF_INCLUDE_DIRS} ) + set( ${_prefix}_LIBRARIES ${NetCDF_LIBRARIES}) + set( ${_prefix}_VERSION ${NetCDF_VERSION} ) + set( ${_prefix}_FOUND ${${CMAKE_FIND_PACKAGE_NAME}_FOUND} ) + set( ${_prefix}_CONFIG_EXECUTABLE ${NetCDF_CONFIG_EXECUTABLE} ) + set( ${_prefix}_PARALLEL ${NetCDF_PARALLEL} ) + + foreach( _comp ${_search_components} ) + string( TOUPPER "${_comp}" _COMP ) + set( _arg_comp ${_arg_${_COMP}} ) + set( ${_prefix}_${_comp}_FOUND ${${CMAKE_FIND_PACKAGE_NAME}_${_arg_comp}_FOUND} ) + set( ${_prefix}_${_COMP}_FOUND ${${CMAKE_FIND_PACKAGE_NAME}_${_arg_comp}_FOUND} ) + set( ${_prefix}_${_arg_comp}_FOUND ${${CMAKE_FIND_PACKAGE_NAME}_${_arg_comp}_FOUND} ) + + set( ${_prefix}_${_comp}_LIBRARIES ${NetCDF_${_comp}_LIBRARIES} ) + set( ${_prefix}_${_COMP}_LIBRARIES ${NetCDF_${_comp}_LIBRARIES} ) + set( ${_prefix}_${_arg_comp}_LIBRARIES ${NetCDF_${_comp}_LIBRARIES} ) + + set( ${_prefix}_${_comp}_INCLUDE_DIRS ${NetCDF_${_comp}_INCLUDE_DIRS} ) + set( ${_prefix}_${_COMP}_INCLUDE_DIRS ${NetCDF_${_comp}_INCLUDE_DIRS} ) + set( ${_prefix}_${_arg_comp}_INCLUDE_DIRS ${NetCDF_${_comp}_INCLUDE_DIRS} ) + endforeach() +endforeach() diff --git a/cmake/PackageConfig.cmake.in b/cmake/PackageConfig.cmake.in index acaf390bfc..88f9902d7e 100644 --- a/cmake/PackageConfig.cmake.in +++ b/cmake/PackageConfig.cmake.in @@ -30,7 +30,7 @@ find_dependency(ip CONFIG) #find_dependency(sfcio CONFIG) #find_dependency(sigio CONFIG) #find_dependency(sp CONFIG) -#find_dependency(w3nco CONFIG) +#find_dependency(w3emc CONFIG) # Get the build type from library target get_target_property(@PROJECT_NAME@_BUILD_TYPES @PROJECT_NAME@::@PROJECT_NAME@ IMPORTED_CONFIGURATIONS) diff --git a/doc/2D-decomp.md b/doc/2D-decomp.md new file mode 100644 index 0000000000..16fa468ac1 --- /dev/null +++ b/doc/2D-decomp.md @@ -0,0 +1,67 @@ +# 2-D Decomposition Overview + +**Author:** George Vandenberghe + +**Date:** June 2022 + +## Comparison of 1D vs. 2D Decomposition +The 1D decomposition can read state from a model forecast file, either by reading on rank 0 and scattering, or by doing MPI_IO on the model history file using either nemsio, sigio, or netcdf serial or parallel I/O. Very old post tags also implement the more primitive full state broadcast or (a performance bug rectified 10/17) read the entire state on all tasks. This is mentioned in case a very old tag is encountered. + +The 2D decomposition only supports MPI_IO, namely NetCDF Parallel I/O. But the code is backwards compatible and all I/O methods remain supported for the 1D decomposition cases and works for all cases currently supported by older 1D tags and branches. + +## 2D Decomposition Design + +The 2D decomposition operates on subdomains with some latitudes and some longitudes. The subdomains are lon-lat rectangles rather than strips. This means state must be chopped into pieces in any scatter operation and the pieces reassembled in any gather operation that requires a continuous in memory state. I/O and halo exchanges both require significantly more bookkeeping. + +The structural changes needed for the 2D decomposition are implemented in MPI_FIRST.f and CTLBLK.f. The CTLBLK.f routine contains numerous additional variables describing left and right domain boundaries. Many additional changes are also implemented in EXCH.f to support 2D halos. Many additional routines required addition of the longitude subdomain limits but changes to the layouts are handled in CTLBLK.f and the "many additional routines" do not require additional changes when subdomain shapes are changed and have not been a trouble point. + +Both MPI_FIRST.f and EXCH.f contain significant additional test code to exchange arrays containing grid coordinates and ensure EXACT matches for all exchanges before the domain exchanges are performed. This is intended to trap errors in the larger variety of 2D decomposition layouts that are possible and most of it can eventually be removed or made conditional at build and run time. + +The following is found in CTLBLK.f and shared in the rest of UPP through use of CTLBLK.mod: + +| Variable | Type | Description | +|---------|------|-------------| +| im | integer | full longitude domain| +| jm | integer | full latitude domain| +| | | | +| jsta | integer | start latitude on a task subdomain| +| jend | integer | end latitude on a task subdomain| +| ista | integer | start longitude on a task subdomain| +| iend | integer | end longitude on a task subdomain| +| | | | +| ista_2l | integer |start longitude -2 of the subdomain| +| iend_2u | integer |end longitude +2 of the subdomain| +| jsta_2l | integer |start latitude -2 of the subdomain| +| jend_2u | integer |end latitude +2 of the subdomain| + +The shape of the subdomain is ista_2l:iend_2u,jsta_2l:jend_2u so it includes the halos although the halos are not populated until exchange is done in EXCH.f. Because of halos we need more bounds defined: + +| Variable | Type | Description | +|---------|------|-------------| +| jsta_m | integer | Beginning latitude loop index in subdomain for halo depth 1 | +| jend_m | integer | ending latitude loop index in subdomain for halo depth 1 | +| jsta_m2 | integer | second latitude below begin latitude of subdomain for halo depth 2 (in NGMFLD.f) | +| jend_m2 | integer | second latitude above end latitude of subdomain for halo depth 2 ( in NGMFLD.f) | + +Note:
  • In interior subdomains these are the same as jsta and jend.
  • In boundary subdomains these loop indices define a smaller subset of the subdomain since halos are not defined on the full domain boundaries and stencils must be restricted to valid full domain points.
+ +| Variable | Type | Description | +|---------|------|-------------| +| ista_m | integer | begining longitude loop index in subdomain for halo depth 1| +| iend_m | integer | end longitude loop index in subdomain for halo depth 1 | +| ista_m2 | integer | second longitude before begin longitude for halo depth 2 (not used as of 6/22)| +| iend_m2 | integer | second longitude after end longitude for halo depth 2 (not used as of 6/22) | + +Note:
  • In interior subdomains these are the same as ista and iend.
  • In boundary subdomains these loop indices define a smaller subset of the subdomain since halos are not defined on the full domain boundaries and stencils must be restricted to valid full domain points.
+ + +| Variable | Type | Description | +|---------|------|-------------| +| ileft | integer | MPI rank containing the last longitude before ista +| iright | integer | MPI rank containing the first longitude after iend +| iup | integer | MPI rank containing the first latitude after jend +| idn | integer | MPI rank containing the last latitude before jsta +| | | | +| ileftb | integer |MPI rank containing the last longitude before ista but for cyclic boundary conditions where "last" at the beginning is the other end of the domain (apparently unused and replaced with local calculation) | +| irightb | integer | MPI rank containing the first longitude after iend but for cyclic boundary conditions where "first" at the beginning is the other end of the domain (apparently unused and replaced with local calculation) | + diff --git a/docs/CMakeLists.txt b/doc/CMakeLists.txt similarity index 94% rename from docs/CMakeLists.txt rename to doc/CMakeLists.txt index 633bbbd0fb..c6774887ee 100644 --- a/docs/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -7,7 +7,7 @@ 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 +add_custom_target(upp_doc ALL ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Generating API Documentation with Doxygen" VERBATIM) diff --git a/docs/Doxyfile.in b/doc/Doxyfile.in similarity index 63% rename from docs/Doxyfile.in rename to doc/Doxyfile.in index a5a2d6eb8c..b829210e35 100644 --- a/docs/Doxyfile.in +++ b/doc/Doxyfile.in @@ -1,3 +1,5 @@ +# Doxyfile 1.9.8 + # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. # @@ -10,16 +12,26 @@ # For lists, items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (\" \"). +# +# Note: +# +# Use doxygen to compare the used configuration file with the template +# configuration file: +# doxygen -x [configFile] +# Use doxygen to compare the used configuration file with the template +# configuration file without replacing the environment variables or CMake type +# replacement variables: +# doxygen -x_noenv [configFile] #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all text -# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv -# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv -# for the list of possible encodings. +# This tag specifies the encoding used for all characters in the configuration +# file that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# https://www.gnu.org/software/libiconv/ for the list of possible encodings. # The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 @@ -44,12 +56,12 @@ PROJECT_NUMBER = @PROJECT_VERSION@ PROJECT_BRIEF = -# With the PROJECT_LOGO tag one can specify an logo or icon that is included in -# the documentation. The maximum height of the logo should not exceed 55 pixels -# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo -# to the output directory. +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. -PROJECT_LOGO = +PROJECT_LOGO = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is @@ -58,39 +70,59 @@ PROJECT_LOGO = OUTPUT_DIRECTORY = -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub- -# directories (in 2 levels) under the output directory of each output format and -# will distribute the generated files over these directories. Enabling this +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 +# sub-directories (in 2 levels) under the output directory of each output format +# and will distribute the generated files over these directories. Enabling this # option can be useful when feeding doxygen a huge amount of source files, where # putting all generated files in the same directory would otherwise causes -# performance problems for the file system. +# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to +# control the number of sub-directories. # The default value is: NO. CREATE_SUBDIRS = NO +# Controls the number of sub-directories that will be created when +# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every +# level increment doubles the number of directories, resulting in 4096 +# directories at level 8 which is the default and also the maximum value. The +# sub-directories are organized in 2 levels, the first level always has a fixed +# number of 16 directories. +# Minimum value: 0, maximum value: 8, default value: 8. +# This tag requires that the tag CREATE_SUBDIRS is set to YES. + +CREATE_SUBDIRS_LEVEL = 8 + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, -# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), -# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, -# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, -# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, -# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, -# Ukrainian and Vietnamese. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, +# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English +# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, +# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with +# English messages), Korean, Korean-en (Korean with English messages), Latvian, +# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, +# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, +# Swedish, Turkish, Ukrainian and Vietnamese. # The default value is: English. OUTPUT_LANGUAGE = English -# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. # The default value is: YES. BRIEF_MEMBER_DESC = YES -# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief # description of a member or function before the detailed description # # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the @@ -125,7 +157,7 @@ ALWAYS_DETAILED_SEC = YES INLINE_INHERITED_MEMB = YES -# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path # before files name in the file list and in the header files. If set to NO the # shortest path that makes the file name unique will be used # The default value is: YES. @@ -169,6 +201,16 @@ SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES +# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line +# such as +# /*************** +# as being the beginning of a Javadoc-style comment "banner". If set to NO, the +# Javadoc-style will behave just like regular comments and it will not be +# interpreted by doxygen. +# The default value is: NO. + +JAVADOC_BANNER = NO + # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first # line (until the first dot) of a Qt-style comment as the brief description. If # set to NO, the Qt-style will behave just like regular Qt-style comments (thus @@ -189,15 +231,23 @@ QT_AUTOBRIEF = YES MULTILINE_CPP_IS_BRIEF = YES +# By default Python docstrings are displayed as preformatted text and doxygen's +# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the +# doxygen's special commands can be used and the contents of the docstring +# documentation blocks is shown as doxygen documentation. +# The default value is: YES. + +PYTHON_DOCSTRING = YES + # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. # The default value is: YES. INHERIT_DOCS = YES -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a -# new page for each member. If set to NO, the documentation of a member will be -# part of the file/class/namespace that contains it. +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. # The default value is: NO. SEPARATE_MEMBER_PAGES = NO @@ -212,20 +262,19 @@ TAB_SIZE = 4 # the documentation. An alias has the form: # name=value # For example adding -# "sideeffect=@par Side Effects:\n" +# "sideeffect=@par Side Effects:^^" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines. +# "Side Effects:". Note that you cannot put \n's in the value part of an alias +# to insert newlines (in the resulting output). You can put ^^ in the value part +# of an alias to insert a newline as if a physical newline was in the original +# file. When you need a literal { or } or , in the value part of an alias you +# have to escape them by means of a backslash (\), this can lead to conflicts +# with the commands \{ and \} for these it is advised to use the version @{ and +# @} or use a double escape (\\{ and \\}) ALIASES = -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding "class=itcl::class" -# will allow you to use the command class in the itcl::class meaning. - -TCL_SUBST = - # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For # instance, some of the names that are used will be different. The list of all @@ -254,25 +303,40 @@ OPTIMIZE_FOR_FORTRAN = YES OPTIMIZE_OUTPUT_VHDL = NO +# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice +# sources only. Doxygen will then generate output that is more tailored for that +# language. For instance, namespaces will be presented as modules, types will be +# separated into more groups, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_SLICE = NO + # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, Javascript, -# C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. +# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, +# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, +# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser +# tries to guess whether the code is fixed or free formatted code, this is the +# default for Fortran type files). For instance to make doxygen treat .inc files +# as Fortran files (default is PHP), and .f files as C (default is Fortran), +# use: inc=Fortran f=C. # -# Note For files without extension you can use no_extension as a placeholder. +# Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. +# the files are not read by doxygen. When specifying no_extension you should add +# * to the FILE_PATTERNS. +# +# Note see also the list of default file extension mappings. EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. +# documentation. See https://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. @@ -280,10 +344,30 @@ EXTENSION_MAPPING = MARKDOWN_SUPPORT = YES +# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up +# to that level are automatically included in the table of contents, even if +# they do not have an id attribute. +# Note: This feature currently applies only to Markdown headings. +# Minimum value: 0, maximum value: 99, default value: 5. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +TOC_INCLUDE_HEADINGS = 5 + +# The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to +# generate identifiers for the Markdown headings. Note: Every identifier is +# unique. +# Possible values are: DOXYGEN use a fixed 'autotoc_md' string followed by a +# sequence number starting at 0 and GITHUB use the lower case version of title +# with any whitespace replaced by '-' and punctuation characters removed. +# The default value is: DOXYGEN. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +MARKDOWN_ID_STYLE = DOXYGEN + # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can -# be prevented in individual cases by by putting a % sign in front of the word -# or globally by setting AUTOLINK_SUPPORT to NO. +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. # The default value is: YES. AUTOLINK_SUPPORT = YES @@ -305,7 +389,7 @@ BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. @@ -323,13 +407,20 @@ SIP_SUPPORT = NO IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first +# tag is set to YES then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. # The default value is: NO. DISTRIBUTE_GROUP_DOC = YES +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + # Set the SUBGROUPING tag to YES to allow class member groups of the same type # (for instance a group of public functions) to be put as a subgroup of that # type (e.g. under the Public Functions section). Set it to NO to prevent @@ -384,11 +475,32 @@ TYPEDEF_HIDES_STRUCT = NO LOOKUP_CACHE_SIZE = 0 +# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use +# during processing. When set to 0 doxygen will based this on the number of +# cores available in the system. You can set it explicitly to a value larger +# than 0 to get more control over the balance between CPU load and processing +# speed. At this moment only the input processing can be done using multiple +# threads. Since this is still an experimental feature the default is set to 1, +# which effectively disables parallel processing. Please report any issues you +# encounter. Generating dot graphs in parallel is controlled by the +# DOT_NUM_THREADS setting. +# Minimum value: 0, maximum value: 32, default value: 1. + +NUM_PROC_THREADS = 1 + +# If the TIMESTAMP tag is set different from NO then each generated page will +# contain the date or date and time when the page was generated. Setting this to +# NO can help when comparing the output of multiple runs. +# Possible values are: YES, NO, DATETIME and DATE. +# The default value is: NO. + +TIMESTAMP = NO + #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in # documentation are documented, even if no documentation was available. Private # class members and static file members will be hidden unless the # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. @@ -398,35 +510,41 @@ LOOKUP_CACHE_SIZE = 0 EXTRACT_ALL = NO -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will # be included in the documentation. # The default value is: NO. EXTRACT_PRIVATE = NO -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal +# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual +# methods of a class will be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIV_VIRTUAL = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal # scope will be included in the documentation. # The default value is: NO. EXTRACT_PACKAGE = NO -# If the EXTRACT_STATIC tag is set to YES all static members of a file will be +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be # included in the documentation. # The default value is: NO. EXTRACT_STATIC = YES -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined -# locally in source files will be included in the documentation. If set to NO +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, # only classes defined in header files are included. Does not have any effect # for Java sources. # The default value is: YES. EXTRACT_LOCAL_CLASSES = NO -# This flag is only useful for Objective-C code. When set to YES local methods, +# This flag is only useful for Objective-C code. If set to YES, local methods, # which are defined in the implementation section but not in the interface are -# included in the documentation. If set to NO only methods in the interface are +# included in the documentation. If set to NO, only methods in the interface are # included. # The default value is: NO. @@ -441,6 +559,13 @@ EXTRACT_LOCAL_METHODS = NO EXTRACT_ANON_NSPACES = YES +# If this flag is set to YES, the name of an unnamed parameter in a declaration +# will be determined by the corresponding definition. By default unnamed +# parameters remain unnamed in the output. +# The default value is: YES. + +RESOLVE_UNNAMED_PARAMS = YES + # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation @@ -451,21 +576,22 @@ HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. If set -# to NO these classes will be included in the various overviews. This option has -# no effect if EXTRACT_ALL is enabled. +# to NO, these classes will be included in the various overviews. This option +# will also hide undocumented C++ concepts if enabled. This option has no effect +# if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend -# (class|struct|union) declarations. If set to NO these declarations will be -# included in the documentation. +# declarations. If set to NO, these declarations will be included in the +# documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any -# documentation blocks found inside the body of a function. If set to NO these +# documentation blocks found inside the body of a function. If set to NO, these # blocks will be appended to the function's detailed documentation block. # The default value is: NO. @@ -478,22 +604,43 @@ HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. -# The default value is: system dependent. +# With the correct setting of option CASE_SENSE_NAMES doxygen will better be +# able to match the capabilities of the underlying filesystem. In case the +# filesystem is case sensitive (i.e. it supports files in the same directory +# whose names only differ in casing), the option must be set to YES to properly +# deal with such files in case they appear in the input. For filesystems that +# are not case sensitive the option should be set to NO to properly deal with +# output files written for symbols that only differ in casing, such as for two +# classes, one named CLASS and the other named Class, and to also support +# references to files without having to specify the exact matching casing. On +# Windows (including Cygwin) and MacOS, users should typically set this option +# to NO, whereas on Linux or other Unix flavors it should typically be set to +# YES. +# Possible values are: SYSTEM, NO and YES. +# The default value is: SYSTEM. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with -# their full class and namespace scopes in the documentation. If set to YES the +# their full class and namespace scopes in the documentation. If set to YES, the # scope will be hidden. # The default value is: NO. HIDE_SCOPE_NAMES = NO +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class +# will show which file needs to be included to use the class. +# The default value is: YES. + +SHOW_HEADERFILE = YES + # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. @@ -521,14 +668,14 @@ INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the # (detailed) documentation of file and class members alphabetically by member -# name. If set to NO the members will appear in declaration order. +# name. If set to NO, the members will appear in declaration order. # The default value is: YES. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief # descriptions of file, namespace and class members alphabetically by member -# name. If set to NO the members will appear in declaration order. Note that +# name. If set to NO, the members will appear in declaration order. Note that # this will also influence the order of the classes in the class list. # The default value is: NO. @@ -573,27 +720,25 @@ SORT_BY_SCOPE_NAME = NO STRICT_PROTO_MATCHING = NO -# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the -# todo list. This list is created by putting \todo commands in the -# documentation. +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. # The default value is: YES. GENERATE_TODOLIST = NO -# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the -# test list. This list is created by putting \test commands in the -# documentation. +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. # The default value is: YES. GENERATE_TESTLIST = NO -# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug # list. This list is created by putting \bug commands in the documentation. # The default value is: YES. GENERATE_BUGLIST = NO -# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO) +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) # the deprecated list. This list is created by putting \deprecated commands in # the documentation. # The default value is: YES. @@ -618,8 +763,8 @@ ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at -# the bottom of the documentation of classes and structs. If set to YES the list -# will mention the files that were used to generate the documentation. +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. # The default value is: YES. SHOW_USED_FILES = YES @@ -653,22 +798,22 @@ FILE_VERSION_FILTER = # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. +# will be used as the name of the layout file. See also section "Changing the +# layout of pages" for information. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. -LAYOUT_FILE = +LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the -# search path. Do not use file names with spaces, bibtex cannot handle them. See -# also \cite for info how to create references. +# search path. See also \cite for info how to create references. CITE_BIB_FILES = @@ -684,51 +829,97 @@ CITE_BIB_FILES = QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are -# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES # this implies that the warnings are on. # # Tip: Turn warnings on while writing the documentation. # The default value is: YES. WARNINGS = YES -WARN_AS_ERROR = YES -# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag # will automatically be disabled. # The default value is: YES. -WARN_IF_UNDOCUMENTED = NO +WARN_IF_UNDOCUMENTED = YES # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. +# potential errors in the documentation, such as documenting some parameters in +# a documented function twice, or documenting parameters that don't exist or +# using markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES +# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete +# function parameter documentation. If set to NO, doxygen will accept that some +# parameters have no documentation without warning. +# The default value is: YES. + +WARN_IF_INCOMPLETE_DOC = YES + # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return -# value. If set to NO doxygen will only warn about wrong or incomplete parameter -# documentation, but not about the absence of documentation. +# value. If set to NO, doxygen will only warn about wrong parameter +# documentation, but not about the absence of documentation. If EXTRACT_ALL is +# set to YES then this flag will automatically be disabled. See also +# WARN_IF_INCOMPLETE_DOC # The default value is: NO. WARN_NO_PARAMDOC = YES +# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about +# undocumented enumeration values. If set to NO, doxygen will accept +# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: NO. + +WARN_IF_UNDOC_ENUM_VAL = NO + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS +# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but +# at the end of the doxygen process doxygen will return with a non-zero status. +# If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then doxygen behaves +# like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined doxygen will not +# write the warning messages in between other messages but write them at the end +# of a run, in case a WARN_LOGFILE is defined the warning messages will be +# besides being in the defined file also be shown at the end of a run, unless +# the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case +# the behavior will remain as with the setting FAIL_ON_WARNINGS. +# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT. +# The default value is: NO. + +WARN_AS_ERROR = YES + # The WARN_FORMAT tag determines the format of the warning messages that doxygen # can produce. The string should contain the $file, $line, and $text tags, which # will be replaced by the file and line number from which the warning originated # and the warning text. Optionally the format may contain $version, which will # be replaced by the version of the file (if it could be obtained via # FILE_VERSION_FILTER) +# See also: WARN_LINE_FORMAT # The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" +# In the $text part of the WARN_FORMAT command it is possible that a reference +# to a more specific place is given. To make it easier to jump to this place +# (outside of doxygen) the user can define a custom "cut" / "paste" string. +# Example: +# WARN_LINE_FORMAT = "'vi $file +$line'" +# See also: WARN_FORMAT +# The default value is: at line $line of file $file. + +WARN_LINE_FORMAT = "at line $line of file $file" + # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard -# error (stderr). +# error (stderr). In case the file specified cannot be opened for writing the +# warning and error messages are written to standard error. When as file - is +# specified the warning and error messages are written to standard output +# (stdout). WARN_LOGFILE = @@ -739,30 +930,58 @@ WARN_LOGFILE = # The INPUT tag is used to specify the files and/or directories that contain # documented source files. You may enter file names like myfile.cpp or # directories like /usr/src/myproject. Separate the files or directories with -# spaces. +# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = @abs_top_srcdir@/docs/user_guide.md @abs_top_srcdir@/sorc/ncep_post.fd @config_srcdir@ +INPUT = @abs_top_srcdir@/doc/user_guide.md \ + @abs_top_srcdir@/doc/2D-decomp.md \ + @abs_top_srcdir@/sorc/ncep_post.fd \ + @config_srcdir@ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: http://www.gnu.org/software/libiconv) for the list of -# possible encodings. +# documentation (see: +# https://www.gnu.org/software/libiconv/) for the list of possible encodings. +# See also: INPUT_FILE_ENCODING # The default value is: UTF-8. INPUT_ENCODING = UTF-8 +# This tag can be used to specify the character encoding of the source files +# that doxygen parses The INPUT_FILE_ENCODING tag can be used to specify +# character encoding on a per file pattern basis. Doxygen will compare the file +# name with each pattern and apply the encoding instead of the default +# INPUT_ENCODING) if there is a match. The character encodings are a list of the +# form: pattern=encoding (like *.php=ISO-8859-1). See cfg_input_encoding +# "INPUT_ENCODING" for further information on supported encodings. + +INPUT_FILE_ENCODING = + # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and -# *.h) to filter out the source-files in the directories. If left blank the -# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii, -# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, -# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, -# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, -# *.qsf, *.as and *.js. - -FILE_PATTERNS = *.F90 *.f90 *.f *.F *.c *.h +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# Note the list of default checked file patterns might differ from the list of +# default file extension mappings. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cxxm, +# *.cpp, *.cppm, *.c++, *.c++m, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, +# *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, *.h++, *.ixx, *.l, *.cs, *.d, *.php, +# *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be +# provided as doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.f18, *.f, *.for, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice. + +FILE_PATTERNS = *.F90 \ + *.f90 \ + *.f \ + *.F \ + *.c \ + *.h # The RECURSIVE tag can be used to specify whether or not subdirectories should # be searched for input files as well. @@ -799,10 +1018,7 @@ EXCLUDE_PATTERNS = # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories use the pattern */test/* +# ANamespace::AClass, ANamespace::*Test EXCLUDE_SYMBOLS = @@ -810,7 +1026,7 @@ EXCLUDE_SYMBOLS = # that contain example code fragments that are included (see the \include # command). -EXAMPLE_PATH = +EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and @@ -830,7 +1046,7 @@ EXAMPLE_RECURSIVE = NO # that contain images that are to be included in the documentation (see the # \image command). -IMAGE_PATH = +IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program @@ -846,6 +1062,15 @@ IMAGE_PATH = # Note that the filter must not add or remove lines; it is applied before the # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. +# +# Note that doxygen will use the data processed and written to standard output +# for further processing, therefore nothing else, like debug statements or used +# commands (so in case of a Windows batch file always use @echo OFF), should be +# written to standard output. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. INPUT_FILTER = @@ -855,11 +1080,15 @@ INPUT_FILTER = # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how # filters are used. If the FILTER_PATTERNS tag is empty or if none of the # patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER ) will also be used to filter the input files that are used for +# INPUT_FILTER) will also be used to filter the input files that are used for # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). # The default value is: NO. @@ -878,7 +1107,16 @@ FILTER_SOURCE_PATTERNS = # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. -USE_MDFILE_AS_MAINPAGE = @abs_top_srcdir@/docs/sp_user_guide.md +USE_MDFILE_AS_MAINPAGE = @abs_top_srcdir@/doc/user_guide.md + +# The Fortran standard specifies that for fixed formatted Fortran code all +# characters from position 72 are to be considered as comment. A common +# extension is to allow longer lines before the automatic comment starts. The +# setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can +# be processed before the automatic comment starts. +# Minimum value: 7, maximum value: 10000, default value: 72. + +FORTRAN_COMMENT_AFTER = 200 #--------------------------------------------------------------------------- # Configuration options related to source browsing @@ -907,19 +1145,19 @@ INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# function all documented functions referencing it will be listed. +# entity all documented functions referencing it will be listed. # The default value is: NO. -REFERENCED_BY_RELATION = NO +REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES then for each documented function # all documented entities called/used by that function will be listed. # The default value is: NO. -REFERENCES_RELATION = NO +REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set -# to YES, then the hyperlinks from functions in REFERENCES_RELATION and +# to YES then the hyperlinks from functions in REFERENCES_RELATION and # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will # link to the documentation. # The default value is: YES. @@ -939,12 +1177,12 @@ SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system -# (see http://www.gnu.org/software/global/global.html). You will need version +# (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: # - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file # - Make sure the INPUT points to the root of the source tree # - Run doxygen as normal # @@ -966,25 +1204,6 @@ USE_HTAGS = NO VERBATIM_HEADERS = YES -# If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the -# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the -# cost of reduced performance. This can be particularly helpful with template -# rich C++ code for which doxygen's built-in parser lacks the necessary type -# information. -# Note: The availability of this option depends on whether or not doxygen was -# compiled with the --with-libclang option. -# The default value is: NO. - -# CLANG_ASSISTED_PARSING = NO - -# If clang assisted parsing is enabled you can provide the compiler with command -# line options that you would normally use when invoking the compiler. Note that -# the include paths will already be set by doxygen for the files and directories -# specified with INPUT and INCLUDE_PATH. -# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. - -# CLANG_OPTIONS = - #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- @@ -996,17 +1215,11 @@ VERBATIM_HEADERS = YES ALPHABETICAL_INDEX = NO -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all classes will -# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag -# can be used to specify a prefix (or a list of prefixes) that should be ignored -# while generating the index headers. +# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes) +# that should be ignored while generating the index headers. The IGNORE_PREFIX +# tag works for classes, function and member names. The entity will be placed in +# the alphabetical list under the first letter of the entity name that remains +# after removing the prefix. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = @@ -1015,7 +1228,7 @@ IGNORE_PREFIX = # Configuration options related to the HTML output #--------------------------------------------------------------------------- -# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output # The default value is: YES. GENERATE_HTML = YES @@ -1053,7 +1266,7 @@ HTML_FILE_EXTENSION = .html # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_HEADER = +HTML_HEADER = # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard @@ -1063,7 +1276,7 @@ HTML_HEADER = # that doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_FOOTER = +HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of @@ -1077,22 +1290,23 @@ HTML_FOOTER = HTML_STYLESHEET = -# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user- -# defined cascading style sheet that is included after the standard style sheets +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets # created by doxygen. Using this option one can overrule certain style aspects. # This is preferred over using HTML_STYLESHEET since it does not replace the # standard style sheet and is therefore more robust against future updates. -# Doxygen will copy the style sheet file to the output directory. For an example -# see the documentation. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). +# Note: Since the styling of scrollbars can currently not be overruled in +# Webkit/Chromium, the styling will be left out of the default doxygen.css if +# one or more extra stylesheets have been specified. So if scrollbar +# customization is desired it has to be added explicitly. For an example see the +# documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -# HTML_ALIGN_MEMBERS = YES +HTML_EXTRA_STYLESHEET = # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note @@ -1104,10 +1318,23 @@ HTML_EXTRA_STYLESHEET = HTML_EXTRA_FILES = +# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output +# should be rendered with a dark or light theme. +# Possible values are: LIGHT always generate light mode output, DARK always +# generate dark mode output, AUTO_LIGHT automatically set the mode according to +# the user preference, use light mode if no preference is set (the default), +# AUTO_DARK automatically set the mode according to the user preference, use +# dark mode if no preference is set and TOGGLE allow to user to switch between +# light and dark mode via a button. +# The default value is: AUTO_LIGHT. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE = AUTO_LIGHT + # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen -# will adjust the colors in the stylesheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see -# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a color-wheel, see +# https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. @@ -1116,7 +1343,7 @@ HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A +# in the HTML output. For a value of 0 the output will use gray-scales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1134,13 +1361,16 @@ HTML_COLORSTYLE_SAT = 100 HTML_COLORSTYLE_GAMMA = 80 -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to NO can help when comparing the output of multiple runs. +# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML +# documentation will contain a main index with vertical navigation menus that +# are dynamically created via JavaScript. If disabled, the navigation index will +# consists of multiple levels of tabs that are statically embedded in every HTML +# page. Disable this option to support browsers that do not have JavaScript, +# like the Qt help browser. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_TIMESTAMP = NO +HTML_DYNAMIC_MENUS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the @@ -1150,6 +1380,13 @@ HTML_TIMESTAMP = NO HTML_DYNAMIC_SECTIONS = NO +# If the HTML_CODE_FOLDING tag is set to YES then classes and functions can be +# dynamically folded and expanded in the generated HTML source code. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_CODE_FOLDING = YES + # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand # and collapse entries dynamically later on. Doxygen will expand the tree to @@ -1165,13 +1402,14 @@ HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: http://developer.apple.com/tools/xcode/), introduced with -# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in +# environment (see: +# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To +# create a documentation set, doxygen will generate a Makefile in the HTML +# output directory. Running make will produce the docset in that directory and +# running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. +# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy +# genXcode/_index.html for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1185,6 +1423,13 @@ GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" +# This tag determines the URL of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDURL = + # This tag specifies a string that should uniquely identify the documentation # set bundle. This should be a reverse domain-name style string, e.g. # com.mycompany.MyDocSet. Doxygen will append .docset to the name. @@ -1210,8 +1455,12 @@ DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. +# on Windows. In the beginning of 2021 Microsoft took the original page, with +# a.o. the download links, offline the HTML help workshop was already many years +# in maintenance mode). You can download the HTML help workshop from the web +# archives at Installation executable (see: +# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo +# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML @@ -1233,28 +1482,29 @@ GENERATE_HTMLHELP = NO CHM_FILE = # The HHC_LOCATION tag can be used to specify the location (absolute path -# including file name) of the HTML help compiler ( hhc.exe). If non-empty +# including file name) of the HTML help compiler (hhc.exe). If non-empty, # doxygen will try to run the HTML help compiler on the generated index.hhp. # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. HHC_LOCATION = -# The GENERATE_CHI flag controls if a separate .chi index file is generated ( -# YES) or that it should be included in the master .chm file ( NO). +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the main .chm file (NO). # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. GENERATE_CHI = NO -# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc) +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) # and project file content. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_INDEX_ENCODING = -# The BINARY_TOC flag controls whether a binary table of contents is generated ( -# YES) or a normal table of contents ( NO) in the .chm file. +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. @@ -1267,6 +1517,16 @@ BINARY_TOC = NO TOC_EXPAND = NO +# The SITEMAP_URL tag is used to specify the full URL of the place where the +# generated documentation will be placed on the server by the user during the +# deployment of the documentation. The generated sitemap is called sitemap.xml +# and placed on the directory specified by HTML_OUTPUT. In case no SITEMAP_URL +# is specified no sitemap is generated. For information about the sitemap +# protocol see https://www.sitemaps.org +# This tag requires that the tag GENERATE_HTML is set to YES. + +SITEMAP_URL = + # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help @@ -1285,7 +1545,8 @@ QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace -# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1293,8 +1554,8 @@ QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- -# folders). +# Folders (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1302,30 +1563,30 @@ QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: -# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. +# The QHG_LOCATION tag can be used to specify the location (absolute path +# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to +# run qhelpgenerator on the generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = @@ -1362,15 +1623,34 @@ ECLIPSE_DOC_ID = org.doxygen.Project DISABLE_INDEX = NO # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine tune the look of the index (see "Fine-tuning the output"). As an +# example, the default style sheet generated by doxygen has an example that +# shows how to put an image at the root of the tree instead of the PROJECT_NAME. +# Since the tree basically has the same information as the tab index, you could +# consider setting DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = YES +# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the +# FULL_SIDEBAR option determines if the side bar is limited to only the treeview +# area (value NO) or if it should extend to the full height of the window (value +# YES). Setting this to YES gives a layout similar to +# https://docs.readthedocs.io with more room for contents, but less room for the +# project logo, title, and description. If either GENERATE_TREEVIEW or +# DISABLE_INDEX is set to NO, this option has no effect. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FULL_SIDEBAR = NO + # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # @@ -1388,13 +1668,31 @@ ENUM_VALUES_PER_LINE = 4 TREEVIEW_WIDTH = 250 -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to # external symbols imported via tag files in a separate window. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. EXT_LINKS_IN_WINDOW = NO +# If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email +# addresses. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +OBFUSCATE_EMAILS = YES + +# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg +# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see +# https://inkscape.org) to generate formulas as SVG images instead of PNGs for +# the HTML output. These images will generally look nicer at scaled resolutions. +# Possible values are: png (the default) and svg (looks nicer but requires the +# pdf2svg or inkscape tool). +# The default value is: png. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FORMULA_FORMAT = png + # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful # doxygen run you need to manually remove any form_*.png images from the HTML @@ -1404,20 +1702,15 @@ EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. +# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands +# to create new LaTeX commands to be used in formulas as building blocks. See +# the section "Including formulas" for details. -FORMULA_TRANSPARENT = YES +FORMULA_MACROFILE = # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# http://www.mathjax.org) which uses client side Javascript for the rendering -# instead of using prerendered bitmaps. Use this if you do not have LaTeX +# https://www.mathjax.org) which uses client side JavaScript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path # to it using the MATHJAX_RELPATH option. @@ -1426,11 +1719,29 @@ FORMULA_TRANSPARENT = YES USE_MATHJAX = NO +# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. +# Note that the different versions of MathJax have different requirements with +# regards to the different settings, so it is possible that also other MathJax +# settings have to be changed when switching between the different MathJax +# versions. +# Possible values are: MathJax_2 and MathJax_3. +# The default value is: MathJax_2. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_VERSION = MathJax_2 + # When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. +# the MathJax output. For more details about the output format see MathJax +# version 2 (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 +# (see: +# http://docs.mathjax.org/en/latest/web/components/output.html). # Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. +# compatibility. This is the name for Mathjax version 2, for MathJax version 3 +# this will be translated into chtml), NativeMML (i.e. MathML. Only supported +# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This +# is the name for Mathjax version 3, for MathJax version 2 this will be +# translated into HTML-CSS) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1443,22 +1754,29 @@ MATHJAX_FORMAT = HTML-CSS # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of -# MathJax from http://www.mathjax.org before deployment. -# The default value is: http://cdn.mathjax.org/mathjax/latest. +# MathJax from https://www.mathjax.org before deployment. The default value is: +# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 +# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example +# for MathJax version 2 (see +# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# For example for MathJax version 3 (see +# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): +# MATHJAX_EXTENSIONS = ams # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1486,12 +1804,12 @@ MATHJAX_CODEFILE = SEARCHENGINE = YES # When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a web server instead of a web client using Javascript. There -# are two flavours of web server based searching depending on the -# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for -# searching and an index file used by the script. When EXTERNAL_SEARCH is -# enabled the indexing and searching needs to be provided by external tools. See -# the section "External Indexing and Searching" for details. +# implemented using a web server instead of a web client using JavaScript. There +# are two flavors of web server based searching depending on the EXTERNAL_SEARCH +# setting. When disabled, doxygen will generate a PHP script for searching and +# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing +# and searching needs to be provided by external tools. See the section +# "External Indexing and Searching" for details. # The default value is: NO. # This tag requires that the tag SEARCHENGINE is set to YES. @@ -1503,9 +1821,10 @@ SERVER_BASED_SEARCH = NO # external search engine pointed to by the SEARCHENGINE_URL option to obtain the # search results. # -# Doxygen ships with an example indexer ( doxyindexer) and search engine +# Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). +# Xapian (see: +# https://xapian.org/). # # See the section "External Indexing and Searching" for details. # The default value is: NO. @@ -1516,10 +1835,11 @@ EXTERNAL_SEARCH = NO # The SEARCHENGINE_URL should point to a search engine hosted by a web server # which will return the search results when EXTERNAL_SEARCH is enabled. # -# Doxygen ships with an example indexer ( doxyindexer) and search engine +# Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). See the section "External Indexing and -# Searching" for details. +# Xapian (see: +# https://xapian.org/). See the section "External Indexing and Searching" for +# details. # This tag requires that the tag SEARCHENGINE is set to YES. SEARCHENGINE_URL = @@ -1554,7 +1874,7 @@ EXTRA_SEARCH_MAPPINGS = # Configuration options related to the LaTeX output #--------------------------------------------------------------------------- -# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output. +# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. # The default value is: YES. GENERATE_LATEX = YES @@ -1570,22 +1890,36 @@ LATEX_OUTPUT = latex_main # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. # -# Note that when enabling USE_PDFLATEX this option is only used for generating -# bitmaps for formulas in the HTML output, but not in the Makefile that is -# written to the output directory. -# The default file is: latex. +# Note that when not enabling USE_PDFLATEX the default is latex when enabling +# USE_PDFLATEX the default is pdflatex and when in the later case latex is +# chosen this is overwritten by pdflatex. For specific output languages the +# default can have been set differently, this depends on the implementation of +# the output language. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate # index for LaTeX. +# Note: This tag is used in the Makefile / make.bat. +# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file +# (.tex). # The default file is: makeindex. # This tag requires that the tag GENERATE_LATEX is set to YES. MAKEINDEX_CMD_NAME = makeindex -# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX +# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to +# generate index for LaTeX. In case there is no backslash (\) as first character +# it will be automatically added in the LaTeX code. +# Note: This tag is used in the generated output file (.tex). +# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat. +# The default value is: makeindex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_MAKEINDEX_CMD = makeindex + +# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX # documents. This may be useful for small projects and may help to save some # trees in general. # The default value is: NO. @@ -1600,42 +1934,60 @@ COMPACT_LATEX = NO # The default value is: a4. # This tag requires that the tag GENERATE_LATEX is set to YES. -PAPER_TYPE = a4wide +PAPER_TYPE = a4 # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names -# that should be included in the LaTeX output. To get the times font for -# instance you can specify -# EXTRA_PACKAGES=times +# that should be included in the LaTeX output. The package can be specified just +# by its name or with the correct syntax as to be used with the LaTeX +# \usepackage command. To get the times font for instance you can specify : +# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times} +# To use the option intlimits with the amsmath package you can specify: +# EXTRA_PACKAGES=[intlimits]{amsmath} # If left blank no extra packages will be included. # This tag requires that the tag GENERATE_LATEX is set to YES. EXTRA_PACKAGES = -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the -# generated LaTeX document. The header should contain everything until the first -# chapter. If it is left blank doxygen will generate a standard header. See -# section "Doxygen usage" for information on how to let doxygen write the -# default header to a separate file. +# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for +# the generated LaTeX document. The header should contain everything until the +# first chapter. If it is left blank doxygen will generate a standard header. It +# is highly recommended to start with a default header using +# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty +# and then modify the file new_header.tex. See also section "Doxygen usage" for +# information on how to generate the default header that doxygen normally uses. # -# Note: Only use a user-defined header if you know what you are doing! The -# following commands have a special meaning inside the header: $title, -# $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will -# replace them by respectively the title of the page, the current date and time, -# only the current date, the version number of doxygen, the project name (see -# PROJECT_NAME), or the project number (see PROJECT_NUMBER). +# Note: Only use a user-defined header if you know what you are doing! +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. The following +# commands have a special meaning inside the header (and footer): For a +# description of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_HEADER = -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the -# generated LaTeX document. The footer should contain everything after the last -# chapter. If it is left blank doxygen will generate a standard footer. -# -# Note: Only use a user-defined footer if you know what you are doing! +# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for +# the generated LaTeX document. The footer should contain everything after the +# last chapter. If it is left blank doxygen will generate a standard footer. See +# LATEX_HEADER for more information on how to generate a default footer and what +# special commands can be used inside the footer. See also section "Doxygen +# usage" for information on how to generate the default footer that doxygen +# normally uses. Note: Only use a user-defined footer if you know what you are +# doing! # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_FOOTER = +# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# LaTeX style sheets that are included after the standard style sheets created +# by doxygen. Using this option one can overrule certain style aspects. Doxygen +# will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_EXTRA_STYLESHEET = + # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the LATEX_OUTPUT output # directory. Note that the files will be copied as-is; there are no commands or @@ -1653,18 +2005,26 @@ LATEX_EXTRA_FILES = PDF_HYPERLINKS = YES -# If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate -# the PDF file directly from the LaTeX files. Set this option to YES to get a -# higher quality PDF documentation. +# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as +# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX +# files. Set this option to YES, to get a higher quality PDF documentation. +# +# See also section LATEX_CMD_NAME for selecting the engine. # The default value is: YES. # This tag requires that the tag GENERATE_LATEX is set to YES. USE_PDFLATEX = YES -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode -# command to the generated LaTeX files. This will instruct LaTeX to keep running -# if errors occur, instead of asking the user for help. This option is also used -# when generating formulas in HTML. +# The LATEX_BATCHMODE tag signals the behavior of LaTeX in case of an error. +# Possible values are: NO same as ERROR_STOP, YES same as BATCH, BATCH In batch +# mode nothing is printed on the terminal, errors are scrolled as if is +# hit at every error; missing files that TeX tries to input or request from +# keyboard input (\read on a not open input stream) cause the job to abort, +# NON_STOP In nonstop mode the diagnostic message will appear on the terminal, +# but there is no possibility of user interaction just like in batch mode, +# SCROLL In scroll mode, TeX will stop only for missing files to input or if +# keyboard input is necessary and ERROR_STOP In errorstop mode, TeX will stop at +# each error, asking for user intervention. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1677,29 +2037,27 @@ LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO -# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source -# code with syntax highlighting in the LaTeX output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_SOURCE_CODE = NO - # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See -# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. +# https://en.wikipedia.org/wiki/BibTeX and \cite for more info. # The default value is: plain. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_BIB_STYLE = plain +# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) +# path from which the emoji images will be read. If a relative path is entered, +# it will be relative to the LATEX_OUTPUT directory. If left blank the +# LATEX_OUTPUT directory will be used. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_EMOJI_DIRECTORY = + #--------------------------------------------------------------------------- # Configuration options related to the RTF output #--------------------------------------------------------------------------- -# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The +# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The # RTF output is optimized for Word 97 and may not look too pretty with other RTF # readers/editors. # The default value is: NO. @@ -1714,7 +2072,7 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf -# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF +# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF # documents. This may be useful for small projects and may help to save some # trees in general. # The default value is: NO. @@ -1734,9 +2092,9 @@ COMPACT_RTF = NO RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's config -# file, i.e. a series of assignments. You only have to provide replacements, -# missing definitions are set to their default value. +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# configuration file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. # # See also section "Doxygen usage" for information on how to generate the # default style sheet that doxygen normally uses. @@ -1745,8 +2103,8 @@ RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an RTF document. Syntax is -# similar to doxygen's config file. A template extensions file can be generated -# using doxygen -e rtf extensionFile. +# similar to doxygen's configuration file. A template extensions file can be +# generated using doxygen -e rtf extensionFile. # This tag requires that the tag GENERATE_RTF is set to YES. RTF_EXTENSIONS_FILE = @@ -1755,7 +2113,7 @@ RTF_EXTENSIONS_FILE = # Configuration options related to the man page output #--------------------------------------------------------------------------- -# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for +# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for # classes and files. # The default value is: NO. @@ -1779,6 +2137,13 @@ MAN_OUTPUT = man MAN_EXTENSION = .3 +# The MAN_SUBDIR tag determines the name of the directory created within +# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by +# MAN_EXTENSION with the initial . removed. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_SUBDIR = + # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it # will generate one additional man file for each entity documented in the real # man page(s). These additional files only source the real man page, but without @@ -1792,7 +2157,7 @@ MAN_LINKS = YES # Configuration options related to the XML output #--------------------------------------------------------------------------- -# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that +# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that # captures the structure of the code including all documentation. # The default value is: NO. @@ -1806,7 +2171,7 @@ GENERATE_XML = NO XML_OUTPUT = xml -# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program +# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program # listings (including syntax highlighting and cross-referencing information) to # the XML output. Note that enabling this will significantly increase the size # of the XML output. @@ -1815,11 +2180,18 @@ XML_OUTPUT = xml XML_PROGRAMLISTING = YES +# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include +# namespace members in file scope as well, matching the HTML output. +# The default value is: NO. +# This tag requires that the tag GENERATE_XML is set to YES. + +XML_NS_MEMB_FILE_SCOPE = NO + #--------------------------------------------------------------------------- # Configuration options related to the DOCBOOK output #--------------------------------------------------------------------------- -# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files +# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files # that can be used to generate PDF. # The default value is: NO. @@ -1837,19 +2209,45 @@ DOCBOOK_OUTPUT = docbook # Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- -# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen -# Definitions (see http://autogen.sf.net) file that captures the structure of -# the code including all documentation. Note that this feature is still -# experimental and incomplete at the moment. +# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an +# AutoGen Definitions (see https://autogen.sourceforge.net/) file that captures +# the structure of the code including all documentation. Note that this feature +# is still experimental and incomplete at the moment. # The default value is: NO. GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# Configuration options related to Sqlite3 output +#--------------------------------------------------------------------------- + +# If the GENERATE_SQLITE3 tag is set to YES doxygen will generate a Sqlite3 +# database with symbols found by doxygen stored in tables. +# The default value is: NO. + +GENERATE_SQLITE3 = NO + +# The SQLITE3_OUTPUT tag is used to specify where the Sqlite3 database will be +# put. If a relative path is entered the value of OUTPUT_DIRECTORY will be put +# in front of it. +# The default directory is: sqlite3. +# This tag requires that the tag GENERATE_SQLITE3 is set to YES. + +SQLITE3_OUTPUT = sqlite3 + +# The SQLITE3_OVERWRITE_DB tag is set to YES, the existing doxygen_sqlite3.db +# database file will be recreated with each doxygen run. If set to NO, doxygen +# will warn if an a database file is already found and not modify it. +# The default value is: YES. +# This tag requires that the tag GENERATE_SQLITE3 is set to YES. + +SQLITE3_RECREATE_DB = YES + #--------------------------------------------------------------------------- # Configuration options related to the Perl module output #--------------------------------------------------------------------------- -# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module +# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module # file that captures the structure of the code including all documentation. # # Note that this feature is still experimental and incomplete at the moment. @@ -1857,7 +2255,7 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO -# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary +# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI # output from the Perl module output. # The default value is: NO. @@ -1865,9 +2263,9 @@ GENERATE_PERLMOD = NO PERLMOD_LATEX = NO -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely +# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely # formatted so it can be parsed by a human reader. This is useful if you want to -# understand what is going on. On the other hand, if this tag is set to NO the +# understand what is going on. On the other hand, if this tag is set to NO, the # size of the Perl module output will be much smaller and Perl will parse it # just the same. # The default value is: YES. @@ -1887,14 +2285,14 @@ PERLMOD_MAKEVAR_PREFIX = # Configuration options related to the preprocessor #--------------------------------------------------------------------------- -# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all +# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all # C-preprocessor directives found in the sources and include files. # The default value is: YES. ENABLE_PREPROCESSING = YES -# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names -# in the source code. If set to NO only conditional compilation will be +# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names +# in the source code. If set to NO, only conditional compilation will be # performed. Macro expansion can be done in a controlled way by setting # EXPAND_ONLY_PREDEF to YES. # The default value is: NO. @@ -1910,7 +2308,7 @@ MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO -# If the SEARCH_INCLUDES tag is set to YES the includes files in the +# If the SEARCH_INCLUDES tag is set to YES, the include files in the # INCLUDE_PATH will be searched if a #include is found. # The default value is: YES. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. @@ -1919,7 +2317,8 @@ SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by the -# preprocessor. +# preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of +# RECURSIVE has no effect here. # This tag requires that the tag SEARCH_INCLUDES is set to YES. INCLUDE_PATH = @@ -1952,9 +2351,9 @@ PREDEFINED = EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will -# remove all references to function-like macros that are alone on a line, have an -# all uppercase name, and do not end with a semicolon. Such function macros are -# typically used for boiler-plate code, and will confuse the parser if not +# remove all references to function-like macros that are alone on a line, have +# an all uppercase name, and do not end with a semicolon. Such function macros +# are typically used for boiler-plate code, and will confuse the parser if not # removed. # The default value is: YES. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. @@ -1974,11 +2373,11 @@ SKIP_FUNCTION_MACROS = YES # where loc1 and loc2 can be relative or absolute paths or URLs. See the # section "Linking to external documentation" for more information about the use # of tag files. -# Note: Each tag file must have an unique name (where the name does NOT include +# Note: Each tag file must have a unique name (where the name does NOT include # the path). If a tag file is not located in the directory in which doxygen is # run, you must also specify the path to the tagfile here. -TAGFILES = +TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create a # tag file that is based on the input files it reads. See section "Linking to @@ -1986,20 +2385,21 @@ TAGFILES = GENERATE_TAGFILE = -# If the ALLEXTERNALS tag is set to YES all external class will be listed in the -# class index. If set to NO only the inherited external classes will be listed. +# If the ALLEXTERNALS tag is set to YES, all external classes and namespaces +# will be listed in the class and namespace index. If set to NO, only the +# inherited external classes will be listed. # The default value is: NO. ALLEXTERNALS = NO -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in -# the modules index. If set to NO, only the current project's groups will be +# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed +# in the topic index. If set to NO, only the current project's groups will be # listed. # The default value is: YES. EXTERNAL_GROUPS = NO -# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in +# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in # the related pages index. If set to NO, only the current project's pages will # be listed. # The default value is: YES. @@ -2007,26 +2407,10 @@ EXTERNAL_GROUPS = NO EXTERNAL_PAGES = NO #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to diagram generator tools #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram -# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to -# NO turns the diagrams off. Note that this option also works with HAVE_DOT -# disabled, but it is recommended to install and use dot, since it yields more -# powerful graphs. -# The default value is: YES. - -CLASS_DIAGRAMS = YES - -# You can include diagrams made with dia in doxygen documentation. Doxygen will -# then run dia to produce the diagram and insert it in the documentation. The -# DIA_PATH tag allows you to specify the directory where the dia binary resides. -# If left empty dia is assumed to be found in the default search path. - -DIA_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide inheritance +# If set to YES the inheritance and collaboration graphs will hide inheritance # and usage relations if the target is undocumented or is not a class. # The default value is: YES. @@ -2034,7 +2418,7 @@ HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz (see: -# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent +# https://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent # Bell Labs. The other options in this section have no effect if this option is # set to NO # The default value is: NO. @@ -2051,55 +2435,79 @@ HAVE_DOT = NO DOT_NUM_THREADS = 0 -# When you want a differently looking font n the dot files that doxygen -# generates you can specify the font name using DOT_FONTNAME. You need to make -# sure dot is able to find the font, which can be done by putting it in a -# standard location or by setting the DOTFONTPATH environment variable or by -# setting DOT_FONTPATH to the directory containing the font. -# The default value is: Helvetica. +# DOT_COMMON_ATTR is common attributes for nodes, edges and labels of +# subgraphs. When you want a differently looking font in the dot files that +# doxygen generates you can specify fontname, fontcolor and fontsize attributes. +# For details please see Node, +# Edge and Graph Attributes specification You need to make sure dot is able +# to find the font, which can be done by putting it in a standard location or by +# setting the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. Default graphviz fontsize is 14. +# The default value is: fontname=Helvetica,fontsize=10. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTNAME = Helvetica +DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10" -# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of -# dot graphs. -# Minimum value: 4, maximum value: 24, default value: 10. +# DOT_EDGE_ATTR is concatenated with DOT_COMMON_ATTR. For elegant style you can +# add 'arrowhead=open, arrowtail=open, arrowsize=0.5'. Complete documentation about +# arrows shapes. +# The default value is: labelfontname=Helvetica,labelfontsize=10. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTSIZE = 10 +DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10" -# By default doxygen will tell dot to use the default font as specified with -# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set -# the path where dot can find it using this tag. +# DOT_NODE_ATTR is concatenated with DOT_COMMON_ATTR. For view without boxes +# around nodes set 'shape=plain' or 'shape=plaintext' Shapes specification +# The default value is: shape=box,height=0.2,width=0.4. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4" + +# You can set the path where dot can find font specified with fontname in +# DOT_COMMON_ATTR and others dot attributes. # This tag requires that the tag HAVE_DOT is set to YES. DOT_FONTPATH = -# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for -# each documented class showing the direct and indirect inheritance relations. -# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. +# If the CLASS_GRAPH tag is set to YES or GRAPH or BUILTIN then doxygen will +# generate a graph for each documented class showing the direct and indirect +# inheritance relations. In case the CLASS_GRAPH tag is set to YES or GRAPH and +# HAVE_DOT is enabled as well, then dot will be used to draw the graph. In case +# the CLASS_GRAPH tag is set to YES and HAVE_DOT is disabled or if the +# CLASS_GRAPH tag is set to BUILTIN, then the built-in generator will be used. +# If the CLASS_GRAPH tag is set to TEXT the direct and indirect inheritance +# relations will be shown as texts / links. +# Possible values are: NO, YES, TEXT, GRAPH and BUILTIN. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a # graph for each documented class showing the direct and indirect implementation # dependencies (inheritance, containment, and class references variables) of the -# class with other documented classes. +# class with other documented classes. Explicit enabling a collaboration graph, +# when COLLABORATION_GRAPH is set to NO, can be accomplished by means of the +# command \collaborationgraph. Disabling a collaboration graph can be +# accomplished by means of the command \hidecollaborationgraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for -# groups, showing the direct groups dependencies. +# groups, showing the direct groups dependencies. Explicit enabling a group +# dependency graph, when GROUP_GRAPHS is set to NO, can be accomplished by means +# of the command \groupgraph. Disabling a directory graph can be accomplished by +# means of the command \hidegroupgraph. See also the chapter Grouping in the +# manual. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GROUP_GRAPHS = YES -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. # The default value is: NO. @@ -2116,10 +2524,32 @@ UML_LOOK = NO # but if the number exceeds 15, the total amount of fields shown is limited to # 10. # Minimum value: 0, maximum value: 100, default value: 10. -# This tag requires that the tag HAVE_DOT is set to YES. +# This tag requires that the tag UML_LOOK is set to YES. UML_LIMIT_NUM_FIELDS = 10 +# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and +# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS +# tag is set to YES, doxygen will add type and arguments for attributes and +# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen +# will not generate fields with class member information in the UML graphs. The +# class diagrams will look similar to the default class diagrams but using UML +# notation for the relationships. +# Possible values are: NO, YES and NONE. +# The default value is: NO. +# This tag requires that the tag UML_LOOK is set to YES. + +DOT_UML_DETAILS = NO + +# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters +# to display on a single line. If the actual line length exceeds this threshold +# significantly it will wrapped across multiple lines. Some heuristics are apply +# to avoid ugly line breaks. +# Minimum value: 0, maximum value: 1000, default value: 17. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_WRAP_THRESHOLD = 17 + # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and # collaboration graphs will show the relations between templates and their # instances. @@ -2131,7 +2561,9 @@ TEMPLATE_RELATIONS = NO # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to # YES then doxygen will generate a graph for each documented file showing the # direct and indirect include dependencies of the file with other documented -# files. +# files. Explicit enabling an include graph, when INCLUDE_GRAPH is is set to NO, +# can be accomplished by means of the command \includegraph. Disabling an +# include graph can be accomplished by means of the command \hideincludegraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2140,7 +2572,10 @@ INCLUDE_GRAPH = YES # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are # set to YES then doxygen will generate a graph for each documented file showing # the direct and indirect include dependencies of the file with other documented -# files. +# files. Explicit enabling an included by graph, when INCLUDED_BY_GRAPH is set +# to NO, can be accomplished by means of the command \includedbygraph. Disabling +# an included by graph can be accomplished by means of the command +# \hideincludedbygraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2151,7 +2586,8 @@ INCLUDED_BY_GRAPH = YES # # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. +# functions only using the \callgraph command. Disabling a call graph can be +# accomplished by means of the command \hidecallgraph. # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2162,7 +2598,8 @@ CALL_GRAPH = NO # # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable caller graphs for selected -# functions only using the \callergraph command. +# functions only using the \callergraph command. Disabling a caller graph can be +# accomplished by means of the command \hidecallergraph. # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2178,18 +2615,32 @@ GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the # dependencies a directory has on other directories in a graphical way. The # dependency relations are determined by the #include relations between the -# files in the directories. +# files in the directories. Explicit enabling a directory graph, when +# DIRECTORY_GRAPH is set to NO, can be accomplished by means of the command +# \directorygraph. Disabling a directory graph can be accomplished by means of +# the command \hidedirectorygraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. DIRECTORY_GRAPH = YES +# The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels +# of child directories generated in directory dependency graphs by dot. +# Minimum value: 1, maximum value: 25, default value: 1. +# This tag requires that the tag DIRECTORY_GRAPH is set to YES. + +DIR_GRAPH_MAX_DEPTH = 1 + # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. +# generated by dot. For an explanation of the image formats see the section +# output formats in the documentation of the dot tool (Graphviz (see: +# https://www.graphviz.org/)). # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order # to make the SVG files visible in IE 9+ (other browsers do not have this # requirement). -# Possible values are: png, jpg, gif and svg. +# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo, +# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and +# png:gdiplus:gdiplus. # The default value is: png. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2220,11 +2671,12 @@ DOT_PATH = DOTFILE_DIRS = -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the \mscfile -# command). +# You can include diagrams made with dia in doxygen documentation. Doxygen will +# then run dia to produce the diagram and insert it in the documentation. The +# DIA_PATH tag allows you to specify the directory where the dia binary resides. +# If left empty dia is assumed to be found in the default search path. -MSCFILE_DIRS = +DIA_PATH = # The DIAFILE_DIRS tag can be used to specify one or more directories that # contain dia files that are included in the documentation (see the \diafile @@ -2232,6 +2684,24 @@ MSCFILE_DIRS = DIAFILE_DIRS = +# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the +# path where java can find the plantuml.jar file or to the filename of jar file +# to be used. If left blank, it is assumed PlantUML is not used or called during +# a preprocessing step. Doxygen will generate a warning when it encounters a +# \startuml command in this case and will not generate output for the diagram. + +PLANTUML_JAR_PATH = + +# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a +# configuration file for plantuml. + +PLANTUML_CFG_FILE = + +# When using plantuml, the specified paths are searched for files specified by +# the !include statement in a plantuml block. + +PLANTUML_INCLUDE_PATH = + # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes # that will be shown in the graph. If the number of nodes in a graph becomes # larger than this value, doxygen will truncate the graph, which is visualized @@ -2256,19 +2726,7 @@ DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 0 -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not seem -# to support this out of the box. -# -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). -# The default value is: NO. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) support # this, this feature is disabled by default. @@ -2280,14 +2738,34 @@ DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page # explaining the meaning of the various boxes and arrows in the dot generated # graphs. +# Note: This tag requires that UML_LOOK isn't set, i.e. the doxygen internal +# graphical representation for inheritance and collaboration diagrams is used. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot +# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate # files that are used to generate the various graphs. +# +# Note: This setting is not only used for dot files but also for msc temporary +# files. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. DOT_CLEANUP = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. If the MSCGEN_TOOL tag is left empty (the default), then doxygen will +# use a built-in version of mscgen tool to produce the charts. Alternatively, +# the MSCGEN_TOOL tag can also specify the name an external tool. For instance, +# specifying prog as the value, doxygen will call the tool as prog -T +# -o . The external tool should support +# output file formats "png", "eps", "svg", and "ismap". + +MSCGEN_TOOL = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the \mscfile +# command). + +MSCFILE_DIRS = diff --git a/docs/Release_Notes.ncep_post.v7.0.0 b/doc/Release_Notes.ncep_post.v7.0.0 similarity index 100% rename from docs/Release_Notes.ncep_post.v7.0.0 rename to doc/Release_Notes.ncep_post.v7.0.0 diff --git a/docs/Acknowledgments.rst b/doc/UserGuide/BackgroundInfo/Acknowledgments.rst similarity index 67% rename from docs/Acknowledgments.rst rename to doc/UserGuide/BackgroundInfo/Acknowledgments.rst index ec69df3a38..770b580749 100644 --- a/docs/Acknowledgments.rst +++ b/doc/UserGuide/BackgroundInfo/Acknowledgments.rst @@ -2,20 +2,20 @@ Acknowledgments *************** -The adaptation of the original WRF Post Processor package and Users Guide (by Mike Baldwin of +The adaptation of the original WRF Post Processor package and User's 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 +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, Kate Fossell, and Tracy Hertneky (NCAR/RAL/DTC). +Tricia Slovacek, Kate Fossell, and Tracy Hertneky (NCAR/RAL/DTC). Currently, community user support is provided by the Earth Prediction Innovation Center (EPIC) UPP team. -Acknowledgement +**Acknowledging the UPP Team:** If significant help was provided via the UPP helpdesk for work resulting in a publication, please -acknowledge the Developmental Testbed Center UPP Team. +acknowledge the EPIC UPP team. For referencing this document please use: -UPP Users Guide V9.0.0, 24 pp. +UPP User's Guide V11.0.0, 24 pp. diff --git a/doc/UserGuide/BackgroundInfo/CodeOverview.rst b/doc/UserGuide/BackgroundInfo/CodeOverview.rst new file mode 100644 index 0000000000..6648619c29 --- /dev/null +++ b/doc/UserGuide/BackgroundInfo/CodeOverview.rst @@ -0,0 +1,125 @@ +.. role:: underline + :class: underline +.. role:: bolditalic + :class: bolditalic + +******************* +Technical Overview +******************* + +The Unified Post Processor (UPP) is used to post-process model forecasts. +It can compute a variety of diagnostic fields and interpolate output from the model's +native grids to National Weather Service (:term:`NWS`) standard levels (e.g., pressure, height) +and standard output grids (e.g., AWIPS, Lambert Conformal, polar-stereographic) in NWS +and World Meteorological Organization (WMO) `GRIB2 `__ format. +There is also an option to output fields on the model's native vertical levels. +Output from the UPP can be used directly by visualization, plotting, or verification packages +or used in further downstream post-processing (e.g., statistical post-processing techniques). + +**HIGHLIGHTS** + +The UPP reads and processes :term:`GFS` and :term:`LAM` (Limited Area Model) data from the :term:`FV3` :term:`dynamical core` +and generates output in :term:`GRIB2` format. It uses :term:`MPI` parallel code and produces hundreds of +products like those used operationally on the same operational grids. Examples of UPP products include: + + - T, Z, humidity, wind, cloud water, cloud ice, rain, and snow on pressure levels + - :term:`SLP`, shelter-level T, humidity, and wind fields + - Precipitation-related fields + - :term:`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 + +A full list of fields that can be generated by the UPP is provided in the table of :doc:`../tables/UPP_GRIB2_Table_byID`. + +As of v11.0.0, the UPP has 2D decomposition capabilities and is also backwards compatible for 1D decomposition. +The functionality demonstrates runtime improvements, especially for larger domains. Support for this +feature is available for standalone UPP applications. + +Support for the community UPP is provided through `GitHub Discussions `_. + +**SYNTHETIC SATELLITE PRODUCTS** + +The UPP also incorporates the Joint Center for Satellite Data Assimilation (:term:`JCSDA`) Community Radiative +Transfer Model (:term:`CRTM`) to compute model-derived brightness temperature (TB) for various instruments and +channels. +This additional feature enables the generation of simulated satellite products such as: + + * Geostationary Operational Environmental Satellites (GOES) + * Advanced Microwave Scanning Radiometer (AMSRE) + +For CRTM documentation, refer to the `CRTM User Guide `__. + +============================== +System Architecture Overview +============================== + +The basic components of the :term:`offline UPP` are shown in the schematic below. + +.. figure:: https://raw.githubusercontent.com/wiki/NOAA-EMC/UPP/UPP_schematic.png + :width: 75% + :alt: The model output files are used as input to the UPP executable. The UPP executable uses the parameter files to determine the list of output fields. The executable generates post-processed output files in grib2 format, which can be used in downstream applications for regridding, visualization, verification, etc. + +The ``upp.x`` component performs the bulk of the post-processing. Its functions include: + + * Vertical interpolation from model levels/surfaces to isobaric, height, and other levels/surfaces + * Computing diagnostics from model data such as CAPE, relative humidity, radar reflectivities, etc. + +======================== +UPP Directory Structure +======================== + +The main UPP repository is named ``UPP``; it is available on GitHub at https://github.com/NOAA-EMC/UPP. +Under the main **UPP** directory reside the following relevant subdirectories +(the * indicates a directory that exists only after the build is complete): + + * **exec***: Contains the ``upp.x`` executable after successful compilation + + * **modulefiles**: Contains modulefiles for specific platforms and compilers for building on preconfigured machines. + + * **parm**: Contains parameter files, which can be modified by the user to control how the post-processing is performed. + + * **sorc**: Contains source code for: + + - The UPP (under ``ncep_post.fd``) + - In-Flight Icing (IFI) (under ``libIFI.fd``). Note that IFI code is private not available to the public. + + * **tests**: Contains the scripts used to install UPP + + - ``compile_upp.sh``: UPP build script + - ``build*``: Contains the UPP build + - ``install*``: Contains the installed executable (``bin/upp.x``), modules, and libraries + +When the ``develop`` branch of the UPP repository is cloned, the basic directory structure follows the example below. Some files and directories have been removed for brevity. + +.. code-block:: console + + UPP + ├── ci -------- Regression testing files + ├── cmake -------- CMake build files + ├── doc -------- User's Guide files + │ └── Doxyfile.in -------- Doxygen configuration file + ├── exec* -------- Location of UPP executable + ├── fix + ├── modulefiles + ├── parm + │ ├── post_avblflds.xml -------- List of all fields available in UPP + │ ├── postcntrl*.xml -------- User-editable control files that list the variables to be output by the UPP + │ └── postxconfig-NT-*.txt -------- Text file of requested output that UPP reads (processed from postcntrl) + ├── sorc + │ ├── libIFI.fd -------- Private repository (submodule) for in-flight icing + │ └── ncep_post.fd -------- Main post-processing routines + ├── tests + │ ├── build* + │ ├── install* + │ └── compile_upp.sh -------- UPP build script + ├── CMakeLists.txt + ├── LICENSE.md + ├── README.md + └── VERSION + + + diff --git a/doc/UserGuide/BackgroundInfo/Introduction.rst b/doc/UserGuide/BackgroundInfo/Introduction.rst new file mode 100644 index 0000000000..4ee8a576af --- /dev/null +++ b/doc/UserGuide/BackgroundInfo/Introduction.rst @@ -0,0 +1,24 @@ +************ +Introduction +************ + +The Unified Post Processor (UPP) 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 (:term:`GFS`), GFS Ensemble Forecast +System (GEFS), North American Mesoscale (:term:`NAM`), Rapid Refresh (:term:`RAP`), High Resolution Rapid Refresh +(HRRR), Short Range Ensemble Forecast (SREF), and Hurricane WRF (HWRF) applications. It is also used +in the Unified Forecast System (:term:`UFS`), including the Rapid Refresh Forecast System (:term:`RRFS`), Hurricane +Analysis and Forecast System (HAFS), and the Medium-Range Weather (:term:`MRW`) and Short-Range Weather (:term:`SRW`) +Applications. + +This software package can be run inline---built as a library to be used by the model---and offline---built +standalone and run separately from the model. This documentation primarily details the offline +procedures. + +===================== +Terms of Use Notice +===================== + +The UPP Terms of Use Notice is available at: +https://github.com/NOAA-EMC/UPP/wiki/UPP-Terms-of-Use-Notice \ No newline at end of file diff --git a/doc/UserGuide/BackgroundInfo/index.rst b/doc/UserGuide/BackgroundInfo/index.rst new file mode 100644 index 0000000000..8e3c9ca1be --- /dev/null +++ b/doc/UserGuide/BackgroundInfo/index.rst @@ -0,0 +1,10 @@ +Background Information +========================= + +.. toctree:: + :maxdepth: 3 + + + Introduction + CodeOverview + Acknowledgments diff --git a/doc/UserGuide/BuildingRunningTesting/BuildingUPP.rst b/doc/UserGuide/BuildingRunningTesting/BuildingUPP.rst new file mode 100644 index 0000000000..a7378ca2ee --- /dev/null +++ b/doc/UserGuide/BuildingRunningTesting/BuildingUPP.rst @@ -0,0 +1,104 @@ +.. role:: underline + :class: underline +.. role:: bolditalic + :class: bolditalic + +.. _building-upp: + +************************* +Building UPP Standalone +************************* + +The UPP uses a CMake-based build system to integrate all the required components for building the UPP. +Once built, the UPP can be run standalone (outside the :term:`UFS` Applications) to post-process model output. + +===================== +Software Requirements +===================== + +The UPP is tested on a variety of research platforms, including NOAA HPC systems (e.g., Ursa, Orion). These supported platforms are preconfigured for building and running the UPP and already +have the required libraries available via `spack-stack `__ in a centralized +location. The :term:`spack-stack` is a :term:`Spack`-based method for installing UFS prerequisite software libraries. + +Users working on unsupported platforms will need to install spack-stack on their system and can do so following +the instructions in the :doc:`spack-stack User's Guide `. + +---------------- +Common Modules +---------------- + +As of August 8, 2025, the UPP uses the following `common modules `_ from spack-stack: + +.. code-block:: console + + hdf5 1.14.3 + netcdf-c 4.9.2 + netcdf-fortran 4.6.1 + jasper 2.0.32 + libpng 1.6.37 + zlib 1.2.13 + g2 3.5.1 + g2tmpl 1.13.0 + bacio 2.4.1 + ip 5.1.0 + crtm 2.4.0.1 + w3emc 2.10.0 + nemsio 2.5.4 + sigio 2.3.3 + wrf-io 1.2.0 + +Individual machines may subsequently load slightly different versions. The most updated list of modules for a given machine can be viewed `in each machine's modulefile `__. +Users on non-Tier-1 systems should look at the modulefile for the system +whose architecture most closely resembles their own system's architecture to determine which modules they may need. + +============================ +Obtaining and Installing UPP +============================ + +Building and running UPP v11.0.0 has been tested and is supported on the following pre-configured platforms. + ++---------------+----------------------+ +| System | Compiler and Version | ++===============+======================+ +| NOAA Hera | Intel 18.0.5.274 | ++---------------+----------------------+ +| NOAA Orion | Intel 2018.4 | ++---------------+----------------------+ + +To install the UPP, navigate to the directory where you want to install UPP and clone the repository. This directory will be referred to as ``${TOP_DIR}`` throughout the documentation. + +.. include:: ../doc-snippets/clone.rst + +where, ``branch-or-tag-name`` is the release branch or tag you wish to clone (e.g., ``upp_v11.0.0``). (Leaving off the ``-b`` argument will clone the default ``develop`` branch of the repository.) + +Move to the directory with the build script and build the UPP. + +.. code-block:: console + + cd UPP/tests + ./compile_upp.sh + +.. note:: + To build in debug mode, you can activate ``-DCMAKE_BUILD_TYPE=Debug`` by adding the ``-d`` flag when running the ``compile_upp.sh`` script. + This removes compiler optimization flags and adds the ``-g`` flag to the Fortran compilation. You can also use + ``-DCMAKE_BUILD_TYPE=RELWITHDEBINFO``, which adds the ``-g`` flag and uses the ``-O2`` optimization + for the Fortran compilation. + +--------------------------------------- +Post-processing CRTM Files (optional) +--------------------------------------- + +Move back to the top-level UPP directory and create a directory where the CRTM fix files will be unpacked. Download the fix files from the GitHub `release page +`_ or use the ``wget`` command. Unpack the tar file. + +.. code-block:: console + + cd ../ + mkdir crtm && cd crtm + wget https://github.com/NOAA-EMC/UPP/releases/download/upp_v11.0.0/fix.tar.gz + tar -xzf fix.tar.gz + +.. hint:: + To make a clean build, simply remove both the ``tests/build`` and ``tests/install`` directories and the + ``exec/upp.x`` executable and then rerun the ``compile_upp.sh`` script. This is recommended if a mistake is made during the installation process. + diff --git a/doc/UserGuide/BuildingRunningTesting/InputsOutputs.rst b/doc/UserGuide/BuildingRunningTesting/InputsOutputs.rst new file mode 100644 index 0000000000..398e9e3a73 --- /dev/null +++ b/doc/UserGuide/BuildingRunningTesting/InputsOutputs.rst @@ -0,0 +1,271 @@ +.. role:: underline + :class: underline +.. role:: bolditalic + :class: bolditalic + +.. _input-output: + +*********************** +UPP Inputs and Outputs +*********************** + +This section describes the input files used to run the UPP and the resulting output files. + +.. _input-files: + +=========== +Input Files +=========== + +The UPP requires the following input files: + - Forecast model output files + - The ``itag`` namelist file + - The :term:`GRIB2` control file (e.g., ``postxconfig-NT.txt``) + - Additional data files (e.g., lookup tables, coefficient files for satellites) + +.. _model-forecast: + +-------------- +Model Forecast +-------------- + +The UPP ingests FV3 :term:`write component` files in parallel :term:`netCDF` ("netcdfpara") format. + +The table below is a list of the unified model variables available from the :term:`FV3` model core. Whether a specific variable is able to be read by the UPP relies on dependencies such as physics options and choice of model. This table does not include variables that are diagnosed when running the UPP. + +UFS Unified Model Variables + - :doc:`../tables/UFS_unified_variables_table` + +.. _itag: + +---- +ITAG +---- + +The file called ``itag`` is a Fortran namelist file that contains two sections: ``&model_inputs`` and ``&nampgb``. It is read in by the ``upp.x`` executable from standard input (stdin -- unit 5). Most UFS applications generate it automatically based on user-defined application-level options. All UPP namelist choices are described here. + +:bolditalic:`&model_inputs` + +The ``&model_inputs`` section parameterizes choices about the set of model output files that will be used for the UPP. + +.. list-table:: *Description of the &model_inputs namelist section.* + :widths: 15 40 20 20 + :header-rows: 1 + + * - Variable Name + - Description + - Data Type + - Default Value + * - ``datestr`` + - Time stamp being processed (e.g., 2022-08-02_19:00:00). + - character(len=19) + - n/a + * - ``filename`` + - Name of input dynamics file; name of full 3-D model output file. + - character(len=256) + - n/a + * - ``filenameflat`` + - Input configuration text file defining the requested fields. + - character(len=256) + - postxconfig-NT.txt + * - ``filenameflux`` + - Name of input physics file; name of 2-D model output file with physics and surface fields. + - character(len=256) + - n/a + * - ``grib`` + - Grib type (Note that UPP only supports Grib2 currently) + - character(5) + - grib2 + * - ``ioform`` + - Input file format. Choices: binarynemsio or netcdf + - character(len=20) + - n/a + * - ``modelname`` + - Model name used by UPP internally (e.g., FV3R for RRFS, 3DRTMA, HAFS; GFS for GFS and GEFS; RAPR for RAP and HRRR; NMM for NAM) + - character(len=4) + - n/a + +:bolditalic:`&nampgb` + +The ``&nampgb`` section parameterizes choices concerning the processing done in UPP. + +.. list-table:: *Description of the &nampgb namelist section.* + :widths: 25 40 20 15 + :header-rows: 1 + + * - Variable Name + - Description + - Data Type + - Default Value + * - ``aqf_on`` + - Turn on Air Quality Forecasting (CMAQ-based) + - logical + - .false. + * - ``d2d_chem`` + - Turn on option to process the 2D aerosol/chemical tracers + - logical + - .false. + * - ``d3d_on`` + - Turn on option to use dynamic 3D fields from GFS + - logical + - .false. + * - ``filenameaer`` + - aerosols file name + - character(len=256) + - "" + * - ``gccpp_on`` + - Turn on option to process the aerosol/chemical tracers related output from UFS-Chem (CCPP-Chem) model + - logical + - .false. + * - ``gocart_on`` + - Turn on option to process the aerosol/chemical tracers related output from GEFS-Aerosols model (GOCART) + - logical + - .false. + * - ``gtg_on`` + - Turn on GTG (Graphical Turbulence Guidance) + - logical + - .false. + * - ``hyb_sigp`` + - Not used + - logical + - .true. + * - ``kpo`` + - The number of pressure levels, if different than standard one specified by ``SPLDEF`` described below. + - integer + - 0 + * - ``kpv`` + - The number of output potential vorticity levels + - integer + - 8 + * - ``kth`` + - The number of output isentropic levels + - integer + - 6 + * - ``method_blsn`` + - Turn on blowing snow effect on visibility diagnostic (default=true) + - logical + - .true. + * - ``nasa_on`` + - Turn on option to process the aerosol/chemical tracers related output from UFS-Aerosols model (NASA GOCART) + - logical + - .false. + * - ``numx`` + - The number of i regions in a 2D decomposition; Each i row is distibuted to numx ranks; numx=1 is the special case of a 1D decomposition in Y only. + - integer + - 1 + * - ``po`` + - List indicating pressure levels in output + - real,dimension(70) + - 0 + * - ``popascal`` + - Switch to indicate if pressure levels are in pascals (multply by 100 if false) + - logical + - .false. + * - ``pv`` + - List indicating the potential vorticity level output + - real,dimension(70) + - (/0.5,-0.5,1.0,-1.0,1.5,-1.5,2.0,-2.0,(0.,k=kpv+1,70)/) + * - ``rdaod`` + - Turn on the option to process the AOD from the GFS scheme + - logical + - .false. + * - ``slrutah_on`` + - Calculate snow to liquid ratio (SLR) using method from University of Utah.(default=false) + - logical + - .false. + * - ``th`` + - List indicating isentropic level output + - real,dimension(70) + - (/310.,320.,350.,450.,550.,650.,(0.,k=kth+1,70)/) + * - ``vtimeunits`` + - valid time units, default="", Choices: FMIN + - character(len=4) + - "" + * - ``write_ifi_debug_files`` + - Write debug files for In-Flight Icing (IFI), a restricted option in UPP + - logical + - .false. + +.. _control-file: + +------------ +Control File +------------ + +The user interacts with the UPP 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 the UPP. Users who wish to customize the control file to add or remove fields and/or levels may do so by modifying ``postcntrl.xml`` and then remaking the text file as described in the later section: :ref:`create_txt_file`. + +.. Note:: + The control file names ``postxconfig-NT.txt`` and ``postcntrl.xml`` are generic names and are different depending on the application used. Control files for various operational models are located in the ``UPP/parm`` directory. + +.. _control-output: + +Selecting Which Variables the UPP Outputs +----------------------------------------- + +To output a field, the body of the control file needs to contain an entry for the appropriate variable. 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. For variables found on vertical levels (e.g., isobaric or height levels), the desired levels to be output must be listed (see next section: :ref:`control_levels`). A list of available GRIB2 fields that can be output by UPP can be found in the table :doc:`../tables/UPP_GRIB2_Table_byID`. Please note that some fields are dependent on model, physics, and other fields. + +.. _control_levels: + +Controlling which levels the UPP outputs +---------------------------------------- + +The ```` tag in the ``postcntrl.xml`` file 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 ``sorc/ncep_post.fd/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 ``NSOIL`` for “RUC LSM” from 9 to 6 in the ``sorc/ncep_post.fd/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. +- For surface or shelter-level output, the ```` is not necessary. + +.. _create_txt_file: + +Creating the Flat Text File +--------------------------- + +If the control file requires any modifications, a preprocessing step will be required by the user to convert the modified XML file ``parm/postcntrl.xml`` to a flat text file ``parm/postxconfig-NT.txt``. The user will first need to edit the ``postcntrl.xml`` file to declare which fields are to be output from the 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``) can be 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. This step is optional, but acts as a safeguard to avoid run-time failures with the UPP. To run the validation: + +.. code-block:: console + + 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. The command below will run the Perl program ``parm/PostXMLPreprocessor.pl`` to generate the post flat file: + +.. code-block:: console + + /usr/bin/perl PostXMLPreprocessor.pl your_user_defined_xml post_avblflds.xml your_user_defined_flat + +where ``your_user_defined_xml`` is your modified XML and ``your_user_defined_flat`` is the output text file. + +.. include:: ../doc-snippets/run-parm.rst + +.. include:: ../doc-snippets/ursa-workaround.rst + +.. _output-files: + +============ +Output Files +============ + +Upon a successful run, ``upp.x`` will generate GRIB2 output files in the post processor working directory. These files will include all fields that were requested in the control file. + +When running UPP standalone, the following GRIB2 output files will be generated: + + | **GFS Model**: ``GFSPRS.HHH`` + | **LAM (Limited Area Model)**: ``NATLEV.HHH`` and ``PRSLEV.HHH`` + +When executed with the provided run script, UPP provides log files in the post-processor working directory named ``upp.fHHH.out``, where ``HHH`` is the forecast hour. These log files may be consulted for further runtime information in the event of an error. diff --git a/doc/UserGuide/BuildingRunningTesting/RunningUPP.rst b/doc/UserGuide/BuildingRunningTesting/RunningUPP.rst new file mode 100644 index 0000000000..f7106653c2 --- /dev/null +++ b/doc/UserGuide/BuildingRunningTesting/RunningUPP.rst @@ -0,0 +1,109 @@ +.. role:: underline + :class: underline +.. role:: bolditalic + :class: bolditalic + +.. _running-upp: + +*********************** +Running UPP Standalone +*********************** + +This section describes how to run UPP in a standalone environment using the ``run_upp`` script. It assumes that users already have forecast model output available and that they have already :ref:`cloned and built the UPP `. For an example of how to generate forecast model output from the UFS WM, see :numref:`Section %s ` of the UPP tutorial, or refer to the :doc:`authoritative UFS WM documentation `. Before running the script, perform the following instructions: + +#. **Optional:** If desired, users may edit the control XML file(s) in ``UPP/parm`` to reflect the fields + and levels they want UPP to output. For an example of how to do this, see :numref:`Section %s `. It is recommended that users make copies of the original XML file beforehand. + + * :term:`GFS` text files are located in ``UPP/parm/gfs`` and include ``postxconfig-NT-gfs-f00-two.txt`` (0-hour lead time) and ``postxconfig-NT-gfs-two.txt`` (all other lead times). + * :term:`LAM` text files are located in ``UPP/parm/rrfs`` and include ``postxconfig-NT-rrfs.txt``. + + After modifying an XML, remake the corresponding flat text file(s) following the steps in :numref:`Section %s: Control File: Creating the Flat Text File ` or :numref:`Section %s `. + +#. Navigate to your top-level working directory, which is referred to as ``${TOP_DIR}`` throughout the documentation. + +#. Create a directory to place the UPP results in: + + .. code-block:: console + + cd ${TOP_DIR} + mkdir postprd + + The UPP typically assumes that this directory will be named ``postprd``. + +#. Download the UPP utility script for running standalone UPP, and change the permissions: + + .. code-block:: console + + cd postprd + wget https://raw.githubusercontent.com/wiki/NOAA-EMC/UPP/run_upp + chmod 755 run_upp + +#. Edit the run script as outlined below in :numref:`Section %s: Run Script Overview `. Once these directories are set + up, and the edits outlined below are complete, the script can be run from the ``postprd`` directory: + + .. include:: ../doc-snippets/run-upp.rst + + .. note:: + The UPP is supported on Ursa, Orion, and Hercules NOAA :term:`RDHPCS`. It will likely run on other machines, but users may have to create a modulefile for their machine and/or modify the ``run_upp`` script if loading the ``upp_common`` module doesn't work. + +.. _run-script-overview: + +=================== +Run Script Overview +=================== + +It is recommended that the user refer to the ``run_upp`` script while reading this overview. All user-modified variables are contained at the top of the ``run_upp`` script in the user-edit section, along with a brief description. Descriptions below follow the ``run_upp`` script. + +#. Set up basic path variables: + + * ``TOP_DIR``: Top level directory for building and running UPP + * ``POSTPRD_DIR``: Working directory for this run + * ``UPP_HOME``: Location of the **UPP** directory + * ``POSTEXEC``: Location of the **UPP** executable + * ``modelDataPath``: Location of the model output files to be processed by the UPP + * ``txtCntrlFile``: Full path to the flat text file that lists desired fields for output. + + * :term:`GFS` text files are located in ``UPP/parm/gfs`` and include ``postxconfig-NT-gfs-f00-two.txt`` (0-hour lead time) and ``postxconfig-NT-gfs-two.txt`` (all other lead times). + * :term:`LAM` text files are located in ``UPP/parm/rrfs`` and include ``postxconfig-NT-rrfs.txt``. + + * ``CRTMDIR``: Path to simulated synthetic satellite files (required for the LAM implementation) + + .. note:: + For FV3, the scripts are configured such that UPP expects the flat text file to be in ``parm``, + and the postprocessor working directory to be called ``postprd``. + This setup is for user convenience to have a script ready to run; paths may be modified, but be + sure to check the run script to make sure settings are correct. + +#. Specify model configuration being run in the ``model`` field. Valid options: Global Forecast System (``GFS``) or Limited Area Model (``LAM``). + + .. include:: ../doc-snippets/expected-files.rst + +#. Specify the forecast cycles to be post-processed: + + * ``startdate``: Forecast start date (YYYYMMDDHH) + * ``fhr``: First forecast hour to be post-processed + * ``lastfhr``: Last forecast hour to be post-processed + * ``incrementhr``: Increment (in hours) between forecast files (cannot be set to zero) + +#. Set/uncomment the run command (``RUN_COMMAND``) for your system: + + * The default execution command in the distributed scripts is for a single processor: ``./upp.x > upp.${fhr}.out 2>&1`` + + * To run UPP using :term:`MPI` (*dmpar* compilation), the command line should be: + + | >> NOAA :term:`RDHPCS` with Slurm-based job scheduler: ``srun -A -n 4 ${POSTEXEC}/upp.x`` + | (Note: ```` should be replaced with the actual name of an account where the user can charge computational resources.) + | >> LINUX-MPI systems: ``mpirun -np N upp.x > outpost 2>&1`` + | (Note: On some systems a host file also needs to be specified: ``-machinefile "host"``) + | >> IBM: ``mpirun.lsf upp.x < itag > outpost`` + | >> SGI MPT: ``mpiexec_mpt upp.x < itag > outpost`` + +#. Set the value for ``numx``, which is the number of subdomains in the x-direction used for decomposition. + + * For 1D decomposition, set numx=1 (default) + * For 2D decomposition, set numx>1 + +Upon a successful run, UPP will generate output files for each forecast hour in ``${POSTPRD_DIR}``. + +When executed with the provided run script, UPP provides log files in the post-processor working directory named +``upp.fHHH.out``, where ``HHH`` is the forecast hour. These log files may be consulted for further runtime information in the event of an error. diff --git a/doc/UserGuide/BuildingRunningTesting/TestingUPP.rst b/doc/UserGuide/BuildingRunningTesting/TestingUPP.rst new file mode 100644 index 0000000000..726a268367 --- /dev/null +++ b/doc/UserGuide/BuildingRunningTesting/TestingUPP.rst @@ -0,0 +1,70 @@ +.. role:: underline + :class: underline +.. role:: bolditalic + :class: bolditalic + +.. _testing-upp: + +***************** +Testing the UPP +***************** + +Running UPP Regression Tests +============================= + +To run the full regression test (RT) suite in preparation for opening a pull request (PR): + + #. Navigate to the local clone of your UPP fork containing the changes you would like to introduce, and run the included RT script within ``ci``: + + .. code-block:: console + + cd /path/to/UPP/ci + nohup ./rt.sh -a epic -C intel -r $PWD/rundir & + + where ```` is the name of an account where you have permissions to run jobs. The terminal will print a message like: + + .. code-block:: console + + nohup: ignoring input and appending output to ‘nohup.out’ + + The user can continue to issue commands in the Terminal while the RTs run in the background. + + .. note:: + + The time it takes for tests to run is queue-dependent. RTs can take as little as half an hour to run, but on machines with long queue times, it can take a few hours to complete the full set of tests. + + #. Check ``nohup.out`` or ``UPP/tests/logs/rt.log._`` for a short summary of any changes in results. The tests are finished when there are 17 timestamps and a final results summary (e.g., "No changes in test results detected."). + + * The ``work`` directory generated in ``UPP/ci`` contains ``out.post.`` files, which list output from each test, including any unexpected errors during runtime. + * The ``rundir`` directory generated within ``UPP/ci`` will include test case results, and ``.diff`` files located within each test's directory will outline changes in fields with the current baselines. + * Confirm that any changes within the run directory ``.diff`` files are expected if any are present. + + #. Check for errors in the RT output directory (e.g., ``work-upp-``) using the following commands: + + .. code-block:: console + + cd work-upp- + grep -ir "error" . + grep -ir "fatal" . + + #. Push the test log into your local branch: + + .. code-block:: console + + cd /path/to/UPP/tests/logs + git add rt.log._ + git commit -m " rt log" + git push origin + +Additional Configuration +========================= +For repeated regression test runs, users can edit the ``rt.sh`` file and remove any tests that should not be run from ``test_list``. However, please be sure to enable all test cases and build settings and conduct a full RT run in preparation for a pull request so that code managers (CMs) can confirm all changes in results are expected and consistent with the developer's results. + +``rt.sh`` will allow for changing the configuration of the regression tests if users desire to do so with the following available options: + +* ``w`` -- specify the work directory for test case job output +* ``r`` -- specify the run directory containing baselines and ``.diff`` files for comparison of changes in results +* ``d`` -- disable IFI tests even if IFI is available +* ``e`` -- do not build the UPP executable + +The following are legacy options from before ``rt.sh`` was included within the UPP repository; they may be ignored by developers: ``-b``, ``-u``, ``-c``, ``-t``. \ No newline at end of file diff --git a/doc/UserGuide/BuildingRunningTesting/index.rst b/doc/UserGuide/BuildingRunningTesting/index.rst new file mode 100644 index 0000000000..02599d8037 --- /dev/null +++ b/doc/UserGuide/BuildingRunningTesting/index.rst @@ -0,0 +1,10 @@ +Building, Running, and Testing the UPP +============================================ + +.. toctree:: + :maxdepth: 3 + + InputsOutputs + BuildingUPP + RunningUPP + TestingUPP diff --git a/doc/UserGuide/CustomizingTheUPP/AddNewVariable.rst b/doc/UserGuide/CustomizingTheUPP/AddNewVariable.rst new file mode 100644 index 0000000000..c58a2539c9 --- /dev/null +++ b/doc/UserGuide/CustomizingTheUPP/AddNewVariable.rst @@ -0,0 +1,371 @@ +.. _add-new-var: + +********************* +Adding a New Variable +********************* + +This chapter provides general procedures and an example of how to add a new variable to the UPP code. +Please keep in mind that it may not be an exhaustive step-by-step process depending on your particular situation. +While we can provide general assistance for adding a new variable, users should be aware that this +requires good knowledge of Fortran and a thorough understanding of the code. + +NOAA UPP developers who wish to add new variables to the UPP will need to: + +1. Read and follow procedures on the `UPP wiki page `__ on how to contribute your code changes to the UPP main development branch. Doing so will ensure your changes are merged + to the UPP development branch quickly. + +2. Submit your pull request with small incremental changes. Advantages of doing this include avoiding conflicts with other UPP developers in terms of using the UPP internal index and variables. + +3. Please do not modify existing algorithms without coordinating with UPP code managers (Wen Meng). UPP supports many NOAA operational models, and we cannot change operational products without coordination and advanced notice. + +We encourage non-NOAA UPP developers to contact EPIC via +`GitHub Discussions `_ to make them aware of modifications you +are making. In some cases, if they determine the changes you are making may be relevant for operational +and/or community purposes, they will be interested in incorporating your changes into the code base for +support and future release. We would then work with you to make this possible. + +.. _add-var-process: + +========================================= +Process Overview: Adding a New Variable +========================================= + +The following steps outline the process for adding a new variable. This description is followed by a detailed +example in :numref:`Section %s ` below. + +#. Check whether your new variable has been defined in the file ``parm/post_avblflds.xml`` in your UPP working + directory. This file defines all available :term:`GRIB2` fields in the UPP. Users may also check the table showing + :doc:`../tables/UPP_GRIB2_Table_byID`. + + A. If NO (not available in ``post_avblflds.xml``), check whether your new variable has been defined in the + `NCEP Grib2 Table `__ + (Product Discipline and Parameter Category). + + \i. If NO (not available in the NCEP Grib2 Table): + + a. NOAA users can email Benjamin.Blake@noaa.gov with the following information for your new + variable: variable definition, unit, and what Grib2 discipline and category you think this + variable should belong to. Ben will define your new variable in the `NCEP Grib2 Table + `_ and + inform you of the Grib2 discipline and category numbers you should use. + + b. Contact Ben to update ``parm/params_grib2_tbl_new.text`` with your new variable and + generate a ``params_grib2_tbl_new`` that lists variables in alphabetical order to improve post-processing + efficiency. + + c. Save new ``params_grib2_tbl_new.text`` and ``params_grib2_tbl_new`` under ``parm/`` of your UPP + working directory. + + d. Non-NOAA users should coordinate through EPIC for the above three steps. Users may post a + `GitHub Discussions `__ + topic and tag @FernandoAndrade-NOAA and @gspetro-NOAA for directions in steps a-c. + + e. Add a new entry in ``post_avblflds.xml`` with your new variable; then follow step B below, then step 2 and beyond. You should assign a new UPP ID for your new variable. + + \ii. If YES (variable is available in the NCEP Grib2 Table): + + a. Add a new entry in ``post_avblflds.xml`` with your new variable, then follow step B below, then step 2 and beyond. You should assign a new UPP ID for your new variable. + + B. If YES (variable is in ``post_avblflds.xml``), then your new variable is already available in the UPP. + Follow steps i) and ii), make a test UPP run, and then look for your new variable in your output. + You can skip the remaining steps about modifying the source code. + + \i. Add a new entry in your application’s control xml file (e.g., ``fv3lam.xml`` for the FV3LAM application, ``postcntrl_gfs.xml`` for the FV3GFS application). This file lets users control which variables to output from UPP for Grib2. + + \ii. Generate ``your_user_defined_flat`` file (e.g., ``postxconfig-NT-fv3lam.txt`` for FV3LAM application) by executing: + + .. code-block:: console + + /usr/bin/perl PostXMLPreprocessor.pl your_user_defined_xml post_avblflds.xml your_user_defined_flat + + This flat file (instead of the xml file) is read in by the UPP because it is much faster to read a text file than an XML file. + + .. note:: + + On ``Ursa`` the usual process for generating a new/updated ``postxconfig.txt`` file is slighlty different due to a missing XML module. The following workaround has been developed: + + .. code-block:: console + + wget https://raw.githubusercontent.com/wiki/NOAA-EMC/UPP/perl_venv_create.sh + chmod 755 perl_venv_create.sh + ./perl_venv_create.sh perl_venv + source perl_venv/bin/activate + cpanm XML::LibXML + cd /path/to/UPP + cd parm + +#. Allocate and initialize the field in ``sorc/ncep_post.fd/ALLOCATE_ALL.f``. + + This file contains the instantiation or allocation of each variable. Note that the variables are defined + based on the parallel processing capability of UPP. Use an example from the file. + +#. Deallocate the field in ``sorc/ncep_post.fd/DEALLOCATE.f``. + + All good programmers give back their resources when they are done. Please update this routine to + return your resource to the system. + +#. Declare the new variable in ``VRBLS2D_mod.f``, ``VRBLS3D_mod.f``, or ``VRBLS4D_mod.f``. + + The variable is declared in one of these module-defining files depending on its dimension. + +#. Read model output if necessary using ``INITPOST_NETCDF.f``. + + Check first to see if all variables needed to derive your new variable are already available in the UPP. If not, + you will need to use this file (or another appropriate ``INITPOST_*.f`` file) for reading the model output files. + The appropriate one should be chosen based on the model and the model output format. + +#. Add to appropriate routine(s) for filling the new variable (e.g., ``SURFCE.f``, ``MDLFLD.f``, ``MDL2P.f``). + + This is the place where you will derive your new variable and then fill the Grib2 array with the data to be + written out later on. + +#. Build or rebuild the code for changes to take effect before running your UPP run script. + +.. _add-var-example: + +=========================================================== +Example Procedure: Steps for adding a new variable ‘TG3’ +=========================================================== + +This example adds TG3 to the UPP. TG3 is the averaged climatology of surface temperature, which the land surface models (LSMs) use to specify bottom soil temperature, where the depth of the bottom is LSM-dependent. For this example, a depth of 500cm is used. + +- This example illustrates adding a new variable from GFS output that will be read into UPP + and directly output into the Grib2 output files (i.e., no additional computations/calculations + are needed for the field). +- Additions to each of the routines are highlighted. +- Locations of routines are in ``UPP/sorc/ncep_post.fd`` unless specified otherwise. +- The new variable, TG3, added in this example is found in the ``gfs.t00z.sfcf006.nc`` file; however, both the + ``gfs.t00z.sfcf006.nc`` and ``gfs.t00z.atmf006.nc`` output files are required to run UPP for GFS. + + New variable to add:: + + float tg3(time, grid_yt, grid_xt) ; + tg3:long_name = "deep soil temperature" ; + tg3:units = "K" ; + tg3:missing_value = 9.99e+20 ; + tg3:cell_methods = "time: point" ; + tg3:output_file = "sfc" ; + +1. Check whether your new variable has been defined in the file ``parm/post_avblflds.xml`` in your UPP working + version. + + A. This variable is not available in ``parm/post_avblflds.xml``. + + \i. Check whether your new variable has been defined in the NCEP Grib2 Table. + + 1) This variable is not defined in the NCEP Grib2 Table. + + a)-d) For the purpose of this example alone, steps a) - d) are not executed as instructed. + Instead, manual instructions are provided here for adding to the ``params_grib2_table_new`` in order + to create a working example. + + For this example, the variable will be added to ``parm/params_grib2_tbl_new`` manually. You would only + do this if you had no plans to contribute your addition to the UPP ``develop`` branch; otherwise, follow the + instructions as a NOAA or Other user in steps a) - d). + + For all current UPP output fields, the ``params_grib2_table_new`` lists, in order, the following attributes: + - Discipline (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table0-0.shtml) + - Category (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-1.shtml) + - Parameter Number (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-2.shtml) + - Table information (0 for parameters from the WMO table; 1 for parameters from the local NCEP table) + - Abbreviated Variable Name (from the parameters table) + + User Procedure + - Add this variable as TG3. + - TG3 is a land surface product (discipline=2) + - TG3 is a vegetation/biomass product (category=0) + - Pick an unused parameter number from the table defined by discipline=2 and category=0 + (Table 4.2-0-0: https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-2-2-0.shtml). + The parameter number should not be in use in Table 4.2 or the current ``params_grib2_tbl_new``. + In this case, the unused parameter number 251 was chosen. + - Add using the NCEP local table (table=1) + - Choose an abbreviated parameter name to describe your field (e.g., TG3) + - Add alphabetically (by variable name) to the table as: + + :: + + 2 0 251 1 TG3 + + e) **Add the new variable to** ``UPP/parm/post_avblflds.xml``, **which lists all fields available + for output in GRIB2 format.** This file is generally not modified unless adding a new field or + modifying an existing one. Users should indicate the following variable attributes in the XML file: + + - ``post_avblfldidx``: the unique array index number used to store this variable. The number chosen here + is just an example, and it is important to pick one that is not yet in use. + - ``shortname``: name describing the variable and level type + - ``pname``: the abbreviation for your variable (should match what is used in ``params_grib2_tbl_new``) + - ``table info``: table used if not standard WMO + - ``fixed_sfc1_type``: level type + - ``level``: generally only used here if it is a fixed level specific to the variable (e.g., T2m, TSOIL5m) + - ``scale``: precision of data written out to Grib2 file + + User procedure + - Add as: + + :: + + + 1063 + DEEP_TSOIL_ON_DEPTH_BEL_LAND_SFC + TG3 + depth_bel_land_sfc + NCEP + 500. + 3.0 + + + B. Add the variable to the user-defined control file. + + i. Add a new entry in your application's control XML file (e.g., ``fv3lam.xml`` for the FV3LAM application, + ``postcntrl_gfs.xml`` for the ``FV3GFS`` application). This file lets users control which variables to output + from the UPP for Grib2. + + User procedure + - Add as: + + :: + + + DEEP_TSOIL_ON_DEPTH_BEL_LAND_SFC + 4.0 + + + ii. Generate ``your_user_defined_flat`` file (e.g., ``postxconfig-NT-fv3lam.txt`` for the FV3LAM application) by + executing: + + :: + + >> /usr/bin/perl PostXMLPreprocessor.pl your_user_defined_xml post_avblflds.xml your_user_defined_flat + + This flat file (instead of the XML file) is read in by the UPP. + +2. Allocate and initialize the new variable in ``ALLOCATE_ALL.f`` using an example from the file. + Note that the variables are defined based on the parallel processing capability of the UPP. + + + User Procedure + - TG3 is a 2-dimensional field, so allocate it in the :bolditalic:`VRBLS2D` GFS section of ``ALLOCATE_ALL.f`` as: + + :: + + allocate(tg3(ista_2l:iend_2u,jsta_2l:jend_2u)) + + - Initialize TG3 in the initialization section that comes after the allocation section you added to. + + :: + + tg3(i,j)=spval + +3. Deallocate the variable to give the resources back in ``DEALLOCATE.f``. + Updating this routine returns your resources to the system. + + User procedure + - Add in :bolditalic:`VRBLS2D` GFS section of ``DEALLOCATE.f`` as: + + :: + + deallocate(tg3) + +4. Declare the new variable in the appropriate file (e.g., ``VRBLS2D_mod.f``, + ``VRBLS3D_mod.f``, or ``VRBLS4D_mod.f``) depending on its dimensions. + + User procedure + - TG3 is a 2-dimensional field, so declare it in ``VRBLS2D_mod.f``. + - Add to the GFS section as: + + :: + + tg3(:,:) + +5. Read the field from the GFS model output file by adding the new variable into ``INITPOST_NETCDF.f``. + This file is used for reading the GFS model FV3 output files in parallel netCDF format. + + User procedure + - Add to top section of the routine in the ‘use vrbls2d’ section to initiate the new variable as: + + :: + + tg3 + + - Read in the new variable in the section for reading the 2D netCDF file. Look at other 2D variables, such as ``hpbl``, for an example. Add as: + + :: + + ! deep soil temperature + VarName='tg3' + call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,tg3) + +6. Determine the appropriate routine to add the new variable to (e.g., ``SURFCE.f``, ``MDLFLD.f``, + ``MDL2P.f``). The appropriate routine will depend on what your field is. + For example, if you have a new diagnostic called *foo*, + and you want it interpolated to pressure levels, you would need to add it to ``MDL2P.f``. If *foo* were only a + surface variable, you would add it to ``SURFCE.f``. If you wanted *foo* on native model levels, you + would add it to ``MDLFLD.f``. If you are not sure which routine to add the new variable to, choose a + similar variable as a template, and add it in the same places. + + .. note:: + + This is also where you would add any calculations needed for your new variable, should they + be required. + + User procedure + - Treat TG3 like a surface field, similar to the other soil fields, and add it to ``SURFCE.f``. + - Use another 2D variable, such as 'SNOW WATER EQUIVALENT' as a template. This variable is also + being read through and output, similar to what we want. + - Add to top section in ‘use vrbls2d, only’ to initiate the new variable as: + + :: + + tg3 + + - Add in main section using a template variable as a guide. + + :: + + ! DEEP SOIL TEMPERATURE + IF ( IGET(1063).GT.0 ) THEN + ID(1:25) = 0 + If(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1063)) + !$omp parallel do private(i,j,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = TG3(ii,jj) + enddo + enddo + endif + ENDIF + +7. Build or rebuild the code for changes to take effect before running your UPP run script. + + User procedure for building on preconfigured machines: + + :: + + >> cd UPP/tests + >> ./compile_upp.sh + + Assuming the modified code built successfully, and you were able to produce Grib2 output, you can check the Grib2 + file for your new variable. + + **GRIB2 output of the new variable from this example procedure (using the wgrib2 utility if available on your system):** + + :: + + wgrib2 -V GFSPRS.006 + + 716:37731711:vt=2019061506:500 m underground:6 hour fcst:var discipline=2 center=7 local_table=1 parmcat=0 parm=251: + ndata=73728:undef=0:mean=278.383:min=215.47:max=302.4 + grid_template=40:winds(N/S): + Gaussian grid: (384 x 192) units 1e-06 input WE:NS output WE:SN + number of latitudes between pole-equator=96 #points=73728 + lat 89.284225 to -89.284225 + lon 0.000000 to 359.062500 by 0.937500 + + - For this example, since the new variable was not added to the NCEP Grib2 table, it will not be defined by the + variable name. Instead it will be defined using the Grib2 parameter information entered into ``params_grib2_tbl_new`` + from step 1 of this procedure. \ No newline at end of file diff --git a/doc/UserGuide/CustomizingTheUPP/EnablingOutput.rst b/doc/UserGuide/CustomizingTheUPP/EnablingOutput.rst new file mode 100644 index 0000000000..daf3d834d1 --- /dev/null +++ b/doc/UserGuide/CustomizingTheUPP/EnablingOutput.rst @@ -0,0 +1,344 @@ +.. role:: bolditalic + :class: bolditalic + +.. _enabling-output: + +*************************************************** +Tutorial: Enabling User-Defined Sigma Level Output +*************************************************** + +This documentation describes the steps required to generate UPP output for temperature, U, and V components at user-defined sigma levels. These correspond to indices 206, 208, and 209 in the :doc:`GRIB2 <../tables/UPP_GRIB2_Table_byID>` table. The instructions address the configuration of XML files and the resolution of potential issues encountered during this process. + +Create a Working Directory +=========================== + +Create and navigate into a top-level working directory. This directory will be referred to as ``${TOP_DIR}`` throughout the tutorial. + +.. code-block:: console + + mkdir wrk_dir + cd wrk_dir + +.. note:: + + Users can optionally save their working directory in an environment variable. For example: + + .. code-block:: console + + export TOP_DIR=/path/to/wrk_dir + +.. _prepare-forecast: + +Prepare Forecast Output +======================== + +#. The UPP requires forecast output as its input. In this example, we will use output created from a UFS Weather Model (WM) forecast run. This subsection is provided for ease of use, but users should refer to the :doc:`authoritative UFS WM documentation ` and `UFS WM GitHub Discussions Q & A `_ for questions: + + .. code-block:: console + + git clone --recursive https://github.com/ufs-community/ufs-weather-model.git + cd ufs-weather-model/tests + +#. Create a custom configuration file with the test or tests you want to run. + + .. code-block:: console + + vi mytests.conf + i + + .. note:: + Users can check `rt.conf `_ for a full list of tests and select the ones they want to run. The UPP expects ``atmf*``, ``sfcf*``, and ``GFSPRS*`` files for the GFS model, and it expects ``phyf*``, ``dynf*``, ``NATLEV*``, and ``PRSLEV*`` files for the LAM model, so users should run and/or adapt tests with these expected outputs. + +#. Paste the following lines, which compile and run two sample cases (``control_p8`` and ``regional_control``), into ``mytests.conf``: + + .. code-block:: console + + COMPILE | atm_dyn32 | intel | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v16,FV3_GFS_v16_flake,FV3_GFS_v17_p8,FV3_GFS_v17_p8_rrtmgp,FV3_GFS_v15_thompson_mynn_lam3km,FV3_WoFS_v0,FV3_GFS_v17_p8_mynn,FV3_GFS_v17_p8_ugwpv1,FV3_GFS_v16_gfdlmpv3,FV3_GFS_v17_p8_ugwpv1_tempo -D32BIT=ON | | fv3 | + RUN | control_p8 | - noaacloud | baseline | + RUN | regional_control | | baseline | + +#. Save and exit: Type ``esc`` and ``:wq``. Then hit ``Enter``/``Return``. + +#. Edit each test's output frequency by modifying the test files under ``ufs-weather-model/tests/tests``. For example, to output every three hours for 24 hours: + + .. code-block:: console + + export OUTPUT_FH='3 -1' + + .. note:: + + ``'3 -1'`` means every 3 hours. The ``-1`` indicates that it is not a list of hours. For example, someone could choose to output an arbitrary list of hours like ``export OUTPUT_FH='0 4 5 7 12 16 19'``. + +6. If you are not running on NOAA :term:`RDHPCS` or do not have access to the ``stmp*`` disk space on those systems, alter the ``dprefix`` path for the machine you are running on in ``rt.sh`` to point to a directory (such as ``$TOP_DIR``) where you have write permissions. For example: + + .. code-block:: console + + dprefix=${dprefix:-"path/to/${TOP_DIR}"} + + .. note:: + + For users not running on NOAA :term:`RDHPCS`, see the UFS WM documentation for :ref:`building the Weather Model on other systems `. + +#. Run the forecast tests: + + .. code-block:: console + + nohup ./rt.sh -e -k -a epic -l mytests.conf & + + See the UFS WM documentation for ``rt.sh`` :ref:`optional arguments `. + + +UPP Procedures +================ + +.. _clone: + +Clone the UPP +-------------- + +Clone the ``UPP`` into ``${TOP_DIR}``: + +.. code-block:: console + + cd ${TOP_DIR} + git clone https://github.com/NOAA-EMC/UPP.git + cd UPP/parm + +.. _modify-xml: + +Modify ``postcntrl*.xml`` +-------------------------- + +An XML :ref:`control file ` determines what fields and levels the UPP will output. Control files for various operational models are located in the ``UPP/parm`` directory. The ``post_avblflds.xml`` file contains all fields that the UPP can currently output. + +Select a ``postcntrl*.xml`` file that is most relevant to your experiment. In this example, for a GFS experiment, navigate to ``UPP/parm/gfs`` and choose an XML from that directory to modify. + +If the user wishes to generate model output at user-defined sigma levels for temperature, U, and V values on sigma surfaces, copy the entries from ``post_avblflds.xml`` +(206, 208, and 209), and add them to, e.g., ``postcntrl_gfs_f00_two.xml``. Then, add the desired levels to the entries using a ```` tag. Users may choose to remove extraneous information, including ``post_avblfldidx`` and ``pname``. For example: + +.. code-block:: console + + + 206 + TMP_ON_SIGMA_LVLS + TMP + sigma_lvl + 0. 500. 1000. 1500. 2000. 2500. 3000. 3500. 4000. 4500. 5000. 5500. 6000. 6500. 7000. 7500. 8000. 8500. 9000. 9500. 10000. + 4.0 + + + + 208 + UGRD_ON_SIGMA_LVLS + UGRD + sigma_lvl + 0. 500. 1000. 1500. 2000. 2500. 3000. 3500. 4000. 4500. 5000. 5500. 6000. 6500. 7000. 7500. 8000. 8500. 9000. 9500. 10000. + 4.0 + + + + 209 + VGRD_ON_SIGMA_LVLS + VGRD + sigma_lvl + 0. 500. 1000. 1500. 2000. 2500. 3000. 3500. 4000. 4500. 5000. 5500. 6000. 6500. 7000. 7500. 8000. 8500. 9000. 9500. 10000. + 4.0 + + +.. _validate-xml: + +Validate the XML postcontrol file +----------------------------------- + +After modifying the XML postcontrol file, users must validate the file to ensure it was formatted successfully: + +.. code-block:: console + + cd UPP/parm + # For GFS/Global + xmllint --noout --schema EMC_POST_CTRL_Schema.xsd gfs/postcntrl_gfs_f00_two.xml + # For LAM/regional + xmllint --noout --schema EMC_POST_CTRL_Schema.xsd rrfs/rrfs_postcntrl.xml + +If the XML file is formatted correctly, it will print a message like: + +.. code-block:: console + + gfs/postcntrl_gfs_f00_two.xml validates + +.. _gen-text: + +Generate the flat text file +---------------------------- + +If the control file requires any modifications, the user must convert the modified XML file to a flat text file. The command below will run the Perl program ``parm/PostXMLPreprocessor.pl`` to generate the ``postxconfig*`` flat file: + + .. code-block:: console + + cd UPP/parm + # Global/GFS + /usr/bin/perl PostXMLPreprocessor.pl gfs/postcntrl_gfs_f00_two.xml post_avblflds.xml gfs/postxconfig-NT-gfs-f00-two.txt + # OR Regional/RRFS + /usr/bin/perl PostXMLPreprocessor.pl rrfs/rrfs_postcntrl.xml post_avblflds.xml rrfs/postxconfig-NT-rrfs.txt + +.. include:: ../doc-snippets/run-parm.rst + +.. include:: ../doc-snippets/ursa-workaround.rst + +.. _modify-sorc: + +Modify UPP source code +------------------------ + +By default, only certain sigma levels are outputted. These levels are defined in `SET_LVLSXML.f `_ using the ``ASIGO1`` array. Users must review these levels to confirm compatibility with their requirements. If default sigma levels are insufficient, users must modify ``SET_LVLSXML.f`` to include their desired sigma levels. + +For example in ``UPP/sorc/ncep_post.fd/SET_LVLSXML.f`` set: + +.. code-block:: console + + ELSE ! SPECIFY SIGO + ASIGO1( 1)= 0.0000 + ASIGO1( 2)= 0.0500 + ASIGO1( 3)= 0.1000 + ASIGO1( 4)= 0.1500 + ASIGO1( 5)= 0.2000 + ASIGO1( 6)= 0.2500 + ASIGO1( 7)= 0.3000 + ASIGO1( 8)= 0.3500 + ASIGO1( 9)= 0.4000 + ASIGO1(10)= 0.4500 + ASIGO1(11)= 0.5000 + ASIGO1(12)= 0.5500 + ASIGO1(13)= 0.6000 + ASIGO1(14)= 0.6500 + ASIGO1(15)= 0.7000 + ASIGO1(16)= 0.7500 + ASIGO1(17)= 0.8000 + ASIGO1(18)= 0.8500 + ASIGO1(19)= 0.9000 + ASIGO1(20)= 0.9500 + ASIGO1(21)= 1.0000 + +.. _build-upp: + + + +Build/Compile the UPP +---------------------- + +After modifying the source code, users must (re)build/(re)compile the UPP to ensure that changes take effect: + +.. code-block:: console + + cd UPP/tests + ./compile_upp.sh + +This will generate the UPP executable in the ``UPP/exec`` directory. + +.. _postprd: + +Prepare the post-processing working directory +---------------------------------------------- + +#. Create a post-processing output directory: + + .. code-block:: console + + cd ${TOP_DIR} + mkdir postprd + + .. note:: + This directory can be created anywhere, but default settings assume that it is named ``postprd`` and created inside ``${TOP_DIR}``. + +#. Download the UPP utility script for running standalone UPP and change the permissions: + + .. code-block:: console + + cd postprd + wget https://raw.githubusercontent.com/wiki/NOAA-EMC/UPP/run_upp + chmod 755 run_upp + +#. Modify the script: + + Users will need to edit directory paths and start date for the experiment. It may also be necessary to modify the run command, model type, and I/O file formats. For example: + + .. code-block:: console + + ... + export TOP_DIR=/work2/noaa/epic/jsmith/hercules/test-sigma/ + export POSTPRD_DIR=${TOP_DIR}/postprd + export UPP_HOME=${TOP_DIR}/UPP + export POSTEXEC=${UPP_HOME}/exec + export modelDataPath=${TOP_DIR}/control_p8_intel + export txtCntrlFile=${UPP_HOME}/parm/gfs/postxconfig-NT-gfs-f00-two.txt + export CRTMDIR=${UPP_HOME}/crtm/fix + # Set date/time information + export startdate=2021032206 + export fhr=00 + export lastfhr=06 + export incrementhr=03 + # Specify model ("GFS" or "LAM" in upper case) + export model="GFS" + # Set input format from model and ouput format from UPP + export inFormat="netcdfpara" + export outFormat="grib2" + # Set run command: + # Single processor command example + # export RUN_COMMAND="${POSTEXEC}/upp.x " + + #MPI sample command + # "-n 4" can be changed to a different number of tasks. + export RUN_COMMAND="srun -A epic -n 4 ${POSTEXEC}/upp.x " + + # The number of subdomains in the x-direction (set to >=2 for 2d decomposition) + export numx=1 + ... + + .. include:: ../doc-snippets/expected-files.rst + +#. For regional (LAM) post-processing only: + + Regional/LAM post-processing requires satellite files, which can be downloaded from the UPP repository: + + .. code-block:: console + + mkdir crtm && cd crtm + wget https://github.com/NOAA-EMC/UPP/releases/download/upp_v11.0.0/fix.tar.gz + tar -xzf fix.tar.gz + + Make sure to adjust the ``CRTMDIR`` path in ``run_upp`` to point to the location of these files. + +.. _run-runupp: + +Run UPP +-------- + +#. Run the script: + + .. include:: ../doc-snippets/run-upp.rst + + Users can add the ``-v`` option to see more output. + Check the ``upp.f{fhr}.out`` files to see if there were any errors when the script ran. + +#. Checking output: + + To view information about a file, use the *wgrib2* utility. Users may need to load the *wgrib2* module first (e.g., via ``module load wgrib2``). For example, to see summary information from ``GFSPRS.000``, run: + + .. code-block:: console + + wgrib2 -s GFSPRS.000 + + For more detailed information, use the ``-V`` flag instead, but note that this is computationally intensive and may require allocating and using a compute node on some systems. + + To see information about a specific variable, run: + + .. code-block:: console + + wgrib2 GFSPRS.000 -match ":0.995 sigma level:" + + To obtain statistics for a specific variable, use the ``-stats`` flag. To print the values of the variables, use the ``-text`` flag along with the name of a file where the values can be printed: + + .. code-block:: console + + wgrib2 GFSPRS.000 -match ":UGRD:0.995 sigma level:" -stats + wgrib2 GFSPRS.000 -match ":UGRD:0.995 sigma level:" -text gfsprs.000.txt diff --git a/docs/Regridding.rst b/doc/UserGuide/CustomizingTheUPP/Regridding.rst similarity index 75% rename from docs/Regridding.rst rename to doc/UserGuide/CustomizingTheUPP/Regridding.rst index c41f96b46b..515bddcc4d 100644 --- a/docs/Regridding.rst +++ b/doc/UserGuide/CustomizingTheUPP/Regridding.rst @@ -1,18 +1,16 @@ +.. _regridding: + ********** 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 various common projections are outlined in the following -examples. +Users who wish to interpolate their UPP output to a different grid may do so with the *wgrib2* utility. The general format for regridding to various common projections are outlined in the following examples. *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 +for various user-defined grids as well as predefined :term:`NCEP` grids. Complete documentation with examples +of regridding for all available grid definitions can be found at: https://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/new_grid.html -.. _Examples-of-wgrib2 +.. _Examples-of-wgrib2: ================== Examples of wgrib2 @@ -20,7 +18,7 @@ Examples of wgrib2 **Example 1: Latitude-Longitude Grid** -*-new_grid latlon lon0:nlon:dlon lat0:nlat:dlat outfile* +``-new_grid latlon lon0:nlon:dlon lat0:nlat:dlat outfile`` +----------+------------------------------------------+ | Variable | Description | @@ -40,12 +38,12 @@ Examples of wgrib2 **Example 2: Lambert Conic Conformal Grid** -*-new_grid lambert:lov:latin1:latin2 lon0:nx:dx lat0:ny:dy outfile* +``-new_grid lambert:lov:latin1:latin2 lon0:nx:dx lat0:ny:dy outfile`` +----------+-----------------------------------------------------------------+ | Variable | Description | +==========+=================================================================+ -| lov | Longitude where y axis is parallel to meridian in degrees | +| lov | Longitude where y-axis is parallel to meridian in degrees | +----------+-----------------------------------------------------------------+ | latin1 | First latitude from pole which cuts the secant cone in degrees | +----------+-----------------------------------------------------------------+ @@ -55,25 +53,27 @@ Examples of wgrib2 +----------+-----------------------------------------------------------------+ | nx | Total number of grid points along x | +----------+-----------------------------------------------------------------+ -| dx | Grid cell size in meters in x direction | +| dx | Grid cell size in meters in x-direction | +----------+-----------------------------------------------------------------+ | lat0 | Latitude of the first grid point in degrees | +----------+-----------------------------------------------------------------+ | ny | Total number of grid points along y | +----------+-----------------------------------------------------------------+ -| dy | Grid cell size in meters in y direction | +| dy | Grid cell size in meters in y-direction | +----------+-----------------------------------------------------------------+ **Example 3: Polar Stereographic Grid** -*-new_grid nps(or SPS):lov:lad lon0:nx:dx lat0:ny:dy outfile* +``-new_grid nps:lov:lad lon0:nx:dx lat0:ny:dy outfile`` +OR +``-new_grid sps:lov:lad lon0:nx:dx lat0:ny:dy outfile`` +----------+-----------------------------------------------------------+ | Variable | Description | +==========+===========================================================+ | nps/sps | North/south polar stereographic | +----------+-----------------------------------------------------------+ -| lov | Longitude where y axis is parallel to meridian in degrees | +| lov | Longitude where y-axis is parallel to meridian in degrees | +----------+-----------------------------------------------------------+ | lad | Latitude where dx and dy are specified | +----------+-----------------------------------------------------------+ @@ -81,32 +81,32 @@ Examples of wgrib2 +----------+-----------------------------------------------------------+ | nx | Total number of grid points along x | +----------+-----------------------------------------------------------+ -| dx | Grid cell distance in meters in x direction at lad | +| dx | Grid cell distance in meters in x-direction at *lad* | +----------+-----------------------------------------------------------+ | lat0 | Latitude of the first grid point in degrees | +----------+-----------------------------------------------------------+ | ny | Total number of grid points along y | +----------+-----------------------------------------------------------+ -| dy | Grid cell distance in meters in y direction at lad | +| dy | Grid cell distance in meters in y-direction at *lad* | +----------+-----------------------------------------------------------+ **Winds** -*-new_grid_winds grid(or earth)* +``-new_grid_winds grid`` OR ``-new_grid_winds earth`` +----------+----------------------------------------------+ | Variable | Description | +==========+==============================================+ -| grid | U-wind goes from grid (i,J) to (i+1,j) | +| grid | U-wind goes from grid (i,j) to (i+1,j) | +----------+----------------------------------------------+ | earth | U-wind goes eastward, V-wind goes northward | +----------+----------------------------------------------+ **Interpolation** -The default interpolation type is bilinear, but it can be set to another type (e.g. neighbor, budget). +The default interpolation type is bilinear, but it can be set to another type (e.g., neighbor, budget). -*-new_grid_interpolation type* +``-new_grid_interpolation type`` **Operational Example** @@ -120,8 +120,9 @@ the variable. -if ":(CRAIN|CICEP|CFRZR|CSNOW|ICSEV):" -new_grid_interpolation neighbor -fi | -set_bitmap 1 -set_grib_max_bits 16 | -if ":(APCP|ACPCP|PRATE|CPRAT):" -set_grib_max_bits 25 -fi | - -if ":(APCP|ACPCP|PRATE|CPRAT|DZDT):" -new_grid_interpolation budget -if | + -if ":(APCP|ACPCP|PRATE|CPRAT|DZDT):" -new_grid_interpolation budget -fi | -new_grid "latlon 0:1440:0.25 90:721:-0.25" outfile -**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/.* +.. note:: + *wgrib2* is not distributed as part of the :term:`UFS`, but it can be installed via :term:`spack-stack` along with other UFS prerequisite software. + Users may also download and install it directly from https://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/. diff --git a/doc/UserGuide/CustomizingTheUPP/index.rst b/doc/UserGuide/CustomizingTheUPP/index.rst new file mode 100644 index 0000000000..a06c093ad6 --- /dev/null +++ b/doc/UserGuide/CustomizingTheUPP/index.rst @@ -0,0 +1,10 @@ +Customizing the UPP +=========================== + +.. toctree:: + :maxdepth: 3 + + AddNewVariable + Regridding + EnablingOutput + diff --git a/manage_externals/test/doc/Makefile b/doc/UserGuide/Makefile similarity index 60% rename from manage_externals/test/doc/Makefile rename to doc/UserGuide/Makefile index 18f4d5bf99..d3987c6e8f 100644 --- a/manage_externals/test/doc/Makefile +++ b/doc/UserGuide/Makefile @@ -2,19 +2,27 @@ # # You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -SPHINXPROJ = ManageExternals +SPHINXOPTS = -a -n #-W +SPHINXBUILD ?= sphinx-build SOURCEDIR = . -BUILDDIR = _build +BUILDDIR = build +LINKCHECKDIR = $(BUILDDIR)/linkcheck # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -.PHONY: help Makefile +.PHONY: help Makefile linkcheck + +doc: + make clean + $(MAKE) linkcheck + $(MAKE) html + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(SPHINXOPTS) $(SOURCEDIR) $(LINKCHECKDIR) # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) -w $(BUILDDIR)/warnings.log \ No newline at end of file diff --git a/doc/UserGuide/Reference/FAQ.rst b/doc/UserGuide/Reference/FAQ.rst new file mode 100644 index 0000000000..84961d6cb0 --- /dev/null +++ b/doc/UserGuide/Reference/FAQ.rst @@ -0,0 +1,105 @@ +.. _FAQ: + +****************************** +Frequently Asked Questions +****************************** + +* :ref:`Is UPP compatible with NetCDF4? ` +* :ref:`How do I compile on another platform/compiler? ` +* :ref:`How can I output satellite fields with the Unified Post Processor (UPP)? ` +* :ref:`How do I add a new variable to UPP output? ` +* :ref:`Why is the variable I requested not present in the UPP output? ` +* :ref:`If the UPP fails, how do I troubleshoot the problem? ` +* :ref:`How do I regrid UPP output to another domain or projection? ` +* :ref:`I am running UPP in parallel, but it fails. ` +* :ref:`My FV3GFS unipost output is on a Gaussian grid. How can I process it to another grid such as a lat-lon grid or other user-defined grid? ` +* :ref:`What does this warning mean in my compile.log? ` ``libnemsio.a(nemsio_module_mpi.o): In function '__nemsio_module_mpi_MOD_readmpi4': nemsio_module_mpi.f90:(.text+0x1088): undefined reference to 'mpi_type_create_indexed_block_'`` +* :ref:`Why do I see ** FATAL ERROR: Statistical processing bad n=0 ** when using the wgrib2 utility on my UPP output? ` + + +.. _netcdf4: + +Is UPP compatible with NetCDF4? +================================= + +The UPP is compatible with NetCDF4 when used on UFS model output. + +.. _compile-other-platforms: + +How do I compile on another platform/compiler? +================================================ + +We are not able to support all platform and compiler combinations out there but will try to help with specific issues when able. Users may request support on the UPP `GitHub Discussions `__ page. We always welcome and are grateful for user-contributed configurations. + +.. _satellite-fields: + +How can I output satellite fields with the Unified Post Processor (UPP)? +========================================================================== + +Currently, the standalone release of the UPP can be utilized to output satellite fields if desired. The UPP documentation :ref:`lists the grib2 fields `, including satellite fields, produced by the UPP. After selecting which fields to output, the user must :ref:`adjust the control file ` according to the instructions in the UPP documentation to output the desired fields. When outputting satellite products, users should note that not all physics options are supported for outputting satellite products. Additionally, for regional runs, users must ensure that the satellite field of view overlaps some part of their domain. + +Most UFS application releases do not currently support this capability, although it is available in the Short-Range Weather (SRW) Application. `This SRW App pull request (PR) `__ added the option for users to output satellite fields using the SRW App. The capability is documented in the :ref:`SRW App User’s Guide `. + +.. _new-variable: + +How do I add a new variable to UPP output? +============================================ + +If the desired variable is already available in the UPP code, then the user can simply add that variable to the ``postcntrl.xml`` file and :ref:`remake the postxconfig-NT.txt file ` that the UPP reads. Please note that some variables may be dependent on the model and/or physics used. + +If the desired variable is not already available in the UPP code, it can be added following the instructions for :ref:`adding a new variable ` in the UPP User’s Guide. + +.. _var-not-present: + +Why is the variable I requested not present in the UPP output? +================================================================ + +There are a few possible reasons why a requested variable might not appear in the UPP output: + +#. The variable may be dependent on the model. +#. Certain variables are dependent on the model configuration. For example, if a variable depends on a particular physics suite, it may not appear in the output when a different physics suite is used. +#. The requested variable may depend on output from a different field that was not included in the model output. + +.. _troubleshooting: + +If the UPP fails, how do I troubleshoot the problem? +====================================================== + +If the user suspects that the UPP failed (e.g., no UPP output was produced or console output includes an error message like ``mv: cannot stat `GFSPRS.GrbF00`: No such file or directory``), the best way to diagnose the issue is to consult the UPP runtime log file for errors. When using the standalone UPP with the ``run_upp`` script, this log file will be located in the ``postprd`` directory under the name ``upp.fHHH.out``, where ``HHH`` refers to the 3-digit forecast hour being processed. When the UPP is used with the SRW App, the UPP log files can be found in the experiment directory under ``log/run_post_fHHH.log``. + +.. _regridding-faq: + +How do I regrid UPP output to another domain or projection? +============================================================= + +UPP output is in standard grib2 format and can be interpolated to another grid using the third-party utility `wgrib2 `__. Some basic examples can also be found in :numref:`Section %s `. + +.. _upp-parallel: + +I am running UPP in parallel, but it fails. +================================================================== + +This may be a memory issue; try increasing the number of CPUs or spreading them out across nodes (e.g., increase ``ptiles``). We also know of one version of MPI (mpich v3.0.4) that does not work with UPP. A work-around was found by modifying the ``UPP/sorc/ncep_post.fd/WRFPOST.f`` routine to change all ``unit 5`` references (which is standard I/O) to ``unit 4`` instead. + +.. _process-grid: + +My FV3GFS unipost output is on a Gaussian grid. How can I process it to another grid such as a lat-lon grid or other user-defined grid? +============================================================================================================================================= + +For regridding grib2 unipost output, the wgrib2 utility can be used. See `complete documentation on grid specification with examples of regridding for all available grid definitions `__. The :ref:`Regridding section ` of this UPP User’s Guide also gives examples (including an example from operations) of using wgrib2 to interpolate to various common grids. + +.. _nemsio-error: + +What does this warning mean in my compile.log? ``libnemsio.a(nemsio_module_mpi.o): In function '__nemsio_module_mpi_MOD_readmpi4': nemsio_module_mpi.f90:(.text+0x1088): undefined reference to 'mpi_type_create_indexed_block_'`` +==================================================================================================================================================================================================================================== + +This warning appears for some platforms/compilers because a call in the *nemsio* library is never used or referenced for a serial build. This is just a warning and should not hinder a successful build of UPP or negatively impact your UPP run. + +.. _wgrib2-error: + +Why do I see ``** FATAL ERROR: Statistical processing bad n=0 **`` when using the wgrib2 utility on my UPP output? +===================================================================================================================== + +This error message is displayed when using more recent versions of the wgrib2 utility on files for forecast hour zero that contain accumulated or time-averaged fields. This is due to the newer versions of wgrib2 no longer allowing the ``n`` parameter to be zero or empty. + +Users should consider using a separate control file (e.g., ``postcntrl_gfs_f00.xml``) for forecast hour zero that does not include accumulated or time-averaged fields, since they are zero anyway. Users can also continue to use an older version of *wgrib2*; v2.0.4 is the latest known version that does not result in this error. \ No newline at end of file diff --git a/doc/UserGuide/Reference/Glossary.rst b/doc/UserGuide/Reference/Glossary.rst new file mode 100644 index 0000000000..e18f7b15e0 --- /dev/null +++ b/doc/UserGuide/Reference/Glossary.rst @@ -0,0 +1,171 @@ +.. _Glossary: + +********** +Glossary +********** + +.. glossary:: + + CAPE + Convective Available Potential Energy. + + CCPP + The `Common Community Physics Package `_ is a forecast-model agnostic, vetted collection of code containing atmospheric physical parameterizations and suites of parameterizations for use in Numerical Weather Prediction (:term:`NWP`) along with a framework that connects the physics to the host forecast model. + + CIN + Convective Inhibition. + + CRTM + The `Community Radiative Transfer Model `__ (CRTM) is a fast and accurate radiative transfer model developed at the `Joint Center for Satellite Data Assimilation `__ (JCSDA) in the United States. It is a sensor-based radiative transfer model and supports more than 100 sensors, including sensors on most meteorological satellites and some from other remote sensing satellites. + + Component + A software element that has a clear function and interface. In Earth system models, components are often single portions of the Earth system (e.g., atmosphere, ocean, or land surface) that are assembled to form a whole. + + Component Repository + A :term:`repository` that contains, at a minimum, source code for a single component. + + CONUS + Continental United States + + CAM + convection-allowing models + Convection-allowing models (CAMs) are models that run on high-resolution grids (usually with grid spacing at 4km or less). They are able to resolve the effects of small-scale convective processes. They typically run several times a day to provide frequent forecasts (e.g., hourly or subhourly). + + data assimilation + Data assimilation is the process of combining observations, model data, and error statistics to achieve the best estimate of the state of a system. One of the major sources of error in weather and climate forecasts is uncertainty related to the initial conditions that are used to generate future predictions. Even the most precise instruments have a small range of unavoidable measurement error, which means that tiny measurement errors (e.g., related to atmospheric conditions and instrument location) can compound over time. These small differences result in very similar forecasts in the short term (i.e., minutes, hours), but they cause widely divergent forecasts in the long term. Errors in weather and climate forecasts can also arise because models are imperfect representations of reality. Data assimilation systems seek to mitigate these problems by combining the most timely observational data with a "first guess" of the atmospheric state (usually a previous forecast) and other sources of data to provide a "best guess" analysis of the atmospheric state to start a weather or climate simulation. When combined with an "ensemble" of model runs (many forecasts with slightly different conditions), data assimilation helps predict a range of possible atmospheric states, giving an overall measure of uncertainty in a given forecast. + + dycore + dynamical core + Global atmospheric model based on fluid dynamics principles, including Euler's equations of motion. + + echo top + The radar-indicated top of an area of precipitation. Specifically, it contains the height of the 18 dBZ reflectivity value. + + EMC + The `Environmental Modeling Center `__. + + EPIC + The `Earth Prediction Innovation Center `__ seeks to accelerate scientific research and modeling contributions through continuous and sustained community engagement in order to produce the most accurate and reliable operational modeling system in the world. + + ESG + Extended Schmidt Gnomonic (ESG) grid. The ESG grid uses the map projection developed by Jim Purser of NOAA :term:`EMC`. + + ESMF + `Earth System Modeling Framework `__. The ESMF defines itself as “a suite of software tools for developing high-performance, multi-component Earth science modeling applications.” + + FV3 + The Finite-Volume Cubed-Sphere :term:`dynamical core` (dycore). Developed at NOAA's `Geophysical + Fluid Dynamics Laboratory `__ (GFDL), it is a scalable and flexible dycore capable of both hydrostatic and non-hydrostatic atmospheric simulations. It is the dycore used in the UFS Weather Model. + + GFS + The `Global Forecast System `__. The GFS is a National Centers for Environmental Prediction (:term:`NCEP`) weather forecast model that generates data for dozens of atmospheric and land-soil variables, including temperatures, winds, precipitation, soil moisture, and atmospheric ozone concentration. The system couples four separate models (atmosphere, ocean, land/soil, and sea ice) that work together to accurately depict weather conditions. + + GRIB2 + The second version of the World Meterological Organization's (WMO) standard for distributing gridded data. + + GSI + `Gridpoint Statistical Interpolation `__ (GSI) is a variational data assimilation system, designed to be flexible, state-of-art, and run efficiently on various parallel computing platforms. It supports :term:`RRFS` features. GSI code is publicly available `on GitHub `__, and fix file data is publicly available `here `__. + + HPC-Stack + `HPC-Stack `__ is a repository that provides a unified, shell script-based build system for building the software stack required for numerical weather prediction (NWP) tools such as the `Unified Forecast System (UFS) `__ and the `Joint Effort for Data assimilation Integration (JEDI) `__ framework. It is being phased out in favor of :term:`spack-stack`. `HPC-Stack documentation `__ is available, but the repository and documentation is rarely updated since it is being deprecated. + + HRRR + `High Resolution Rapid Refresh `__. The HRRR is a NOAA real-time 3-km resolution, hourly updated, cloud-resolving, convection-allowing atmospheric model initialized by 3-km grids with 3-km radar assimilation. Radar data is assimilated in the HRRR every 15 min over a 1-hour period adding further detail to that provided by the hourly data assimilation from the 13-km radar-enhanced Rapid Refresh. + + JCSDA + Joint Center for Data Satellite Assimilation + The `Joint Center for Satellite Data Assimilation `__ is a multi-agency research center hosted by the University Corporation for Atmospheric Research (`UCAR `__). JCSDA is dedicated to improving and accelerating the quantitative use of research and operational satellite data in weather, ocean, climate, and environmental analysis and prediction systems. + + LAM + Limited Area Model (grid type), formerly known as the "Stand-Alone Regional" or SAR. LAM grids use a regional (rather than global) configuration of the :term:`FV3` :term:`dynamical core`. + + MPI + MPI stands for Message Passing Interface. An MPI is a standardized communication system used in parallel programming. It establishes portable and efficient syntax for the exchange of messages and data between multiple processors that are used by a single computer program. An MPI is required for high-performance computing (HPC) systems. + + MRW + Medium-Range Weather Application + The `Medium-Range Weather Application `__ is a UFS Application that targets predictions of atmospheric behavior out to about two weeks. It packages a prognostic atmospheric model (the UFS Weather Model), pre- and post-processing tools, and a community workflow. + + NAM + `North American Mesoscale Forecast System `_. NAM generates multiple grids (or domains) of weather forecasts over the North American continent at various horizontal resolutions. Each grid contains data for dozens of weather parameters, including temperature, precipitation, lightning, and turbulent kinetic energy. NAM uses additional numerical weather models to generate high-resolution forecasts over fixed regions, and occasionally to follow significant weather events like hurricanes. + + namelist + A namelist defines a group of variables or arrays. Namelists are an I/O feature for format-free input and output of variables by key-value assignments in Fortran compilers. Fortran variables can be read from and written to plain-text files in a standardised format, usually with a ``.nml`` file ending. + + NCAR + The `National Center for Atmospheric Research `__. + + NCEP + National Centers for Environmental Prediction (NCEP) is an arm of the National Weather Service + consisting of nine centers. More information can be found at https://www.ncep.noaa.gov. + + NEMSIO + A binary format for atmospheric model output from :term:`NCEP`'s Global Forecast System (:term:`GFS`). + + netCDF + NetCDF (`Network Common Data Form `__) is a file format and community standard for storing multidimensional scientific data. It includes a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. + + NUOPC + The `National Unified Operational Prediction Capability `__ Layer "defines conventions and a set of generic components for building coupled models using the Earth System Modeling Framework (:term:`ESMF`)." + + NWP + Numerical Weather Prediction (NWP) takes current observations of weather and processes them with computer models to forecast the future state of the weather. + + NWS + The `National Weather Service `__ (NWS) is an agency of the United States government that is tasked with providing weather forecasts, warnings of hazardous weather, and other weather-related products to organizations and the public for the purposes of protection, safety, and general information. It is a part of the National Oceanic and Atmospheric Administration (NOAA) branch of the Department of Commerce. + + offline UPP + Refers to cases where UPP is built standalone and run separately from the model. + + PBL + Planetary Boundary Layer + + RAP + `Rapid Refresh `__. The continental-scale NOAA hourly-updated assimilation/modeling system operational at :term:`NCEP`. RAP covers North America and is comprised primarily of a numerical forecast model and an analysis/assimilation system to initialize that model. RAP is complemented by the higher-resolution 3km High-Resolution Rapid Refresh (:term:`HRRR`) model. + + RDHPCS + NOAA Research & Development High-Performance Computing Systems + + Repository + A central location in which files (e.g., data, code, documentation) are stored and managed. + + RRFS + The `Rapid Refresh Forecast System `__ (RRFS) is NOAA's next-generation convection-allowing, rapidly-updated, ensemble-based data assimilation and forecasting system currently scheduled for operational implementation in 2024. It is designed to run forecasts on a 3-km :term:`CONUS` domain. + + SDF + Suite Definition File. An external file containing information about the construction of a physics suite. It describes the schemes that are called, in which order they are called, whether they are subcycled, and whether they are assembled into groups to be called together. + + SLP + Sea-Level Pressure + + SRW + Short-Range Weather Application + The `Short-Range Weather Application `__ is a UFS Application that targets predictions of atmospheric behavior on a limited spatial domain and on time scales from minutes out to about two days. It packages a prognostic atmospheric model (the UFS Weather Model), pre- and post-processing tools, and a community workflow. + + Spack + `Spack `__ is a package management tool designed to support multiple versions and configurations of software on a wide variety of platforms and environments. It was designed for large supercomputing centers, where many users and application teams share common installations of software on clusters with exotic architectures. + + spack-stack + The `spack-stack `__ is a collaborative effort between the NOAA Environmental Modeling Center (:term:`EMC`), the UCAR Joint Center for Satellite Data Assimilation (:term:`JCSDA`), and the Earth Prediction Innovation Center (:term:`EPIC`). *spack-stack* is a repository that provides a :term:`Spack`-based method for building the software stack required for numerical weather prediction (NWP) tools such as the `Unified Forecast System (UFS) `__ and the `Joint Effort for Data assimilation Integration (JEDI) `__ framework. *spack-stack* uses the Spack package manager along with custom Spack configuration files and Python scripts to simplify installation of the libraries required to run various applications. The *spack-stack* can be installed on a range of platforms and comes pre-configured for many systems. Users can install the necessary packages for a particular application and later add the missing packages for another application without having to rebuild the entire stack. + + UFS + The Unified Forecast System is a community-based, coupled, comprehensive Earth modeling + system consisting of several applications (apps). These apps span regional to global + domains and sub-hourly to seasonal time scales. The UFS is designed to support the :term:`Weather Enterprise` and to be the source system for NOAA's operational numerical weather prediction applications. For more information, visit https://ufscommunity.org/. + + Updraft helicity + Helicity measures the rotation in a storm's updraft (rising) air. Significant rotation increases the probability that the storm will produce severe weather, including tornadoes. See http://ww2010.atmos.uiuc.edu/(Gh)/guides/mtr/svr/modl/fcst/params/hel.rxml for more details on updraft helicity. + + Weather Enterprise + Individuals and organizations from public, private, and academic sectors that contribute to the research, development, and production of weather forecast products; primary consumers of these weather forecast products. + + Weather Model + A prognostic model that can be used for short- and medium-range research and + operational forecasts. It can be an atmosphere-only model or an atmospheric + model coupled with one or more additional components, such as a wave or ocean model. The SRW App uses the `UFS Weather Model `__. + + Workflow + The sequence of steps required to run an experiment from start to finish. + + write component + The output files written by the UFS Weather Model use an Earth System Modeling Framework (ESMF) component, referred to as the write component because the UPP cannot directly process output on the native grid types (e.g., “GFDLgrid”, “ESGgrid”). Output fields are interpolated to a write component grid before writing them to an output file. diff --git a/doc/UserGuide/Reference/index.rst b/doc/UserGuide/Reference/index.rst new file mode 100644 index 0000000000..af294c82e7 --- /dev/null +++ b/doc/UserGuide/Reference/index.rst @@ -0,0 +1,8 @@ +Reference +============ + +.. toctree:: + :maxdepth: 3 + + FAQ + Glossary diff --git a/docs/_static/custom.css b/doc/UserGuide/_static/custom.css similarity index 100% rename from docs/_static/custom.css rename to doc/UserGuide/_static/custom.css diff --git a/doc/UserGuide/_static/theme_overrides.css b/doc/UserGuide/_static/theme_overrides.css new file mode 100644 index 0000000000..0416b736cd --- /dev/null +++ b/doc/UserGuide/_static/theme_overrides.css @@ -0,0 +1,9 @@ +/* !important prevents the common CSS stylesheets from overriding this CSS since on RTD they are loaded after this stylesheet */ + +.wy-nav-content { + max-width: 100% !important; +} + +.wy-table-responsive table td, .wy-table-responsive table th { + white-space: normal !important; +} diff --git a/docs/conf.py b/doc/UserGuide/conf.py similarity index 55% rename from docs/conf.py rename to doc/UserGuide/conf.py index 81504c5370..e0524f2a00 100644 --- a/docs/conf.py +++ b/doc/UserGuide/conf.py @@ -10,9 +10,9 @@ # 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('.')) +import os +import sys +sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- @@ -31,7 +31,9 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ - 'sphinx.ext.autosectionlabel' + 'sphinx_rtd_theme', + 'sphinx.ext.autosectionlabel', + 'sphinx.ext.intersphinx', ] autosectionlabel_prefix_document = True autosectionlabel_maxdepth = 4 @@ -51,15 +53,33 @@ # The master toctree document. master_doc = 'index' +# -- Linkcheck options ------------------------------------------------- + +# Avoid a 403 Forbidden error when accessing certain links (e.g., noaa.gov) +# Can be found using navigator.userAgent inside a browser console. +user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" + +# Ignore working links that cause a linkcheck 403 error. +linkcheck_ignore = [] + +linkcheck_allowed_redirects = {r"https://github.com/JCSDA/crtm/wiki/.*/.*": + r"https://raw.githubusercontent.com/wiki/JCSDA/crtm/.*/.*", + } + # -- 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 = 'sphinx_rtd_theme' +html_theme_path = ["_themes", ] +html_logo = 'https://github.com/ufs-community/ufs/wiki/images/ufs.png' # html_theme_options = {} -html_theme_options = {"body_max_width": "none"} +html_theme_options = { + "body_max_width": "none", + "navigation_depth": 6, + } # html_sidebar_options = {} html_sidebars = { '**': ['globaltoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html'] } @@ -68,6 +88,21 @@ # 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'] +html_context = {} + +# Add custom style sheets +def setup(app): + app.add_css_file('custom.css') # may also be an URL + app.add_css_file('theme_overrides.css') # may also be an URL + +# -- Extension configuration ------------------------------------------------- + +# -- Options for intersphinx extension --------------------------------------- -# Add custom style sheet -html_css_files = ['custom.css'] +# Example configuration for intersphinx: refer to the Python standard library. +intersphinx_mapping = { + 'hpc-stack': ('https://hpc-stack-epic.readthedocs.io/en/develop/', None), + 'spack-stack': ('https://spack-stack.readthedocs.io/en/develop/', None), + 'ufs-wm': ('https://ufs-weather-model.readthedocs.io/en/develop/', None), + 'srw': ('https://ufs-srweather-app.readthedocs.io/en/develop', None), +} diff --git a/doc/UserGuide/doc-snippets/clone.rst b/doc/UserGuide/doc-snippets/clone.rst new file mode 100644 index 0000000000..67974980e0 --- /dev/null +++ b/doc/UserGuide/doc-snippets/clone.rst @@ -0,0 +1,3 @@ +.. code-block:: console + + git clone -b branch-or-tag-name https://github.com/NOAA-EMC/UPP \ No newline at end of file diff --git a/doc/UserGuide/doc-snippets/expected-files.rst b/doc/UserGuide/doc-snippets/expected-files.rst new file mode 100644 index 0000000000..927d89f63b --- /dev/null +++ b/doc/UserGuide/doc-snippets/expected-files.rst @@ -0,0 +1,2 @@ +.. note:: + The UPP expects ``atmf*``, ``sfcf*``, and ``GFSPRS*`` files for the GFS model, and it expects ``phyf*``, ``dynf*``, ``NATLEV*``, and ``PRSLEV*`` files for the LAM model \ No newline at end of file diff --git a/doc/UserGuide/doc-snippets/run-parm.rst b/doc/UserGuide/doc-snippets/run-parm.rst new file mode 100644 index 0000000000..d2aaacbc6c --- /dev/null +++ b/doc/UserGuide/doc-snippets/run-parm.rst @@ -0,0 +1,2 @@ +.. note:: + ``PostXMLPreprocessor.pl`` must be run from the ``parm`` directory or it will produce an error. \ No newline at end of file diff --git a/doc/UserGuide/doc-snippets/run-upp.rst b/doc/UserGuide/doc-snippets/run-upp.rst new file mode 100644 index 0000000000..2ac118414e --- /dev/null +++ b/doc/UserGuide/doc-snippets/run-upp.rst @@ -0,0 +1,5 @@ +.. code-block:: console + + ./run_upp -c -m + +where ```` is "intel" or "intelllvm" and ```` is a supported machine (e.g., "hercules", "orion", or "ursa"). \ No newline at end of file diff --git a/doc/UserGuide/doc-snippets/ursa-workaround.rst b/doc/UserGuide/doc-snippets/ursa-workaround.rst new file mode 100644 index 0000000000..a6131a5cce --- /dev/null +++ b/doc/UserGuide/doc-snippets/ursa-workaround.rst @@ -0,0 +1,15 @@ +.. attention:: + + On Ursa, the usual process for generating a new/updated ``postxconfig*.txt`` file is slightly different due to a missing XML module (see `Issue #1250 `_). The following workaround has been developed: + + .. code-block:: console + + wget https://raw.githubusercontent.com/wiki/NOAA-EMC/UPP/perl_venv_create.sh + chmod 755 perl_venv_create.sh + ./perl_venv_create.sh perl_venv + source perl_venv/bin/activate + cpanm XML::LibXML + cd /path/to/UPP + cd parm + + Then, run ``PostXMLPreprocessor.pl`` as described above. \ No newline at end of file diff --git a/doc/UserGuide/index.rst b/doc/UserGuide/index.rst new file mode 100644 index 0000000000..f213719179 --- /dev/null +++ b/doc/UserGuide/index.rst @@ -0,0 +1,11 @@ +Welcome to the UPP User's Guide +=============================== + +.. toctree:: + :maxdepth: 3 + :numbered: + + BackgroundInfo/index + BuildingRunningTesting/index + CustomizingTheUPP/index + Reference/index diff --git a/doc/UserGuide/requirements.in b/doc/UserGuide/requirements.in new file mode 100644 index 0000000000..a067648cfe --- /dev/null +++ b/doc/UserGuide/requirements.in @@ -0,0 +1,3 @@ +sphinx>=7.2.0 +sphinx_rtd_theme +sphinxcontrib-bibtex \ No newline at end of file diff --git a/doc/UserGuide/requirements.txt b/doc/UserGuide/requirements.txt new file mode 100644 index 0000000000..567db028d2 --- /dev/null +++ b/doc/UserGuide/requirements.txt @@ -0,0 +1,76 @@ +# +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: +# +# pip-compile --strip-extras requirements.in +# +alabaster==0.7.16 + # via sphinx +babel==2.14.0 + # via sphinx +certifi==2024.7.4 + # via requests +charset-normalizer==3.3.2 + # via requests +docutils==0.20.1 + # via + # pybtex-docutils + # sphinx + # sphinx-rtd-theme + # sphinxcontrib-bibtex +idna==3.7 + # via requests +imagesize==1.4.1 + # via sphinx +jinja2==3.1.6 + # via sphinx +latexcodec==2.0.1 + # via pybtex +markupsafe==2.1.5 + # via jinja2 +packaging==23.2 + # via sphinx +pybtex==0.24.0 + # via + # pybtex-docutils + # sphinxcontrib-bibtex +pybtex-docutils==1.0.3 + # via sphinxcontrib-bibtex +pygments==2.17.2 + # via sphinx +pyyaml==6.0.1 + # via pybtex +requests==2.32.4 + # via sphinx +six==1.16.0 + # via + # latexcodec + # pybtex +snowballstemmer==2.2.0 + # via sphinx +sphinx==7.2.6 + # via + # -r requirements.in + # sphinx-rtd-theme + # sphinxcontrib-bibtex + # sphinxcontrib-jquery +sphinx-rtd-theme==2.0.0 + # via -r requirements.in +sphinxcontrib-applehelp==1.0.8 + # via sphinx +sphinxcontrib-bibtex==2.6.2 + # via -r requirements.in +sphinxcontrib-devhelp==1.0.6 + # via sphinx +sphinxcontrib-htmlhelp==2.0.5 + # via sphinx +sphinxcontrib-jquery==4.1 + # via sphinx-rtd-theme +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==1.0.7 + # via sphinx +sphinxcontrib-serializinghtml==1.1.10 + # via sphinx +urllib3==2.6.3 + # via requests diff --git a/doc/UserGuide/tables/UFS_unified_variables_table.csv b/doc/UserGuide/tables/UFS_unified_variables_table.csv new file mode 100644 index 0000000000..8f4f55485c --- /dev/null +++ b/doc/UserGuide/tables/UFS_unified_variables_table.csv @@ -0,0 +1,240 @@ +Field Description,Model Variable NetCDF Name,UPP Internal Name,Dimensions,dyn (atm) or phy (sfc),Notes +U-component of wind,ugrd,uh,3d,dyn, +V-component of wind,vgrd,vh,3d,dyn, +Specific humidity,spfh,q,3d,dyn, +Temperature,tmp,t,3d,dyn, +Ozone mixing ratio,o3mr,o3,3d,dyn, +Geometric vertical velocity,dzdt,wh,3d,dyn, +Cloud water mixing ratio,clwmr,qqw,3d,dyn, +Layer thickness in pressure on hybrid levels,dpres,dpres,3d,dyn, +Layer thickness in height,delz,na,3d,dyn, +Ice mixing ratio,icmr,qqi,3d,dyn, +Rain mixing ratio,rwmr,qqr,3d,dyn, +Snow mixing ratio,snmr,qqs,3d,dyn, +Graupel mixing ratio,grle,qqg,3d,dyn, +Hail mixing ratio,qqh,qqh,3d,dyn, +Instantaneous 3d cloud fraction,cld_amt,cfr,3d,dyn,imp_physics = 11 +Instantaneous 3d cloud fraction,cldfra,cfr,3d,phy,imp_physics ≠ 11 +Instantaneous 3d cloud fraction from boundary layer scheme,cldfra_bl,cfr,3d,phy,imp_physics ≠ 11 +Thompson scheme cloud ice effective radius,cieffr,effri,3d,phy +Thompson scheme cloud water effective radius,cleffr,effrl,3d,phy +Thompson scheme snow effective radius,cseffr,effrs,3d,phy +Max hourly updraft velocity,upvvelmax,w_up_max,2d,dyn,regional FV3 +Max hourly downdraft velocity,dnvvelmax,w_dn_max,2d,dyn,regional FV3 +Max hourly updraft helicity,uhmax25,up_heli_max,2d,dyn,regional FV3 +Min hourly updraft helicity,uhmin25,up_heli_min,2d,dyn,regional FV3 +Max hourly 0-3km updraft helicity,uhmax03,up_heli_max03,2d,dyn,regional FV3 +Min hourly 0-3km updraft helicity,uhmin03,up_heli_min03,2d,dyn,regional FV3 +Max 0-1km relative vorticity max,maxvort01,rel_vort_max01,2d,dyn,regional FV3 +Max 0-2km relative vorticity max,maxvort02,rel_vort_max,2d,dyn,regional FV3 +Max hybrid level 1 relative vorticity max,maxvorthy1,rel_vort_maxhy1,2d,dyn,regional FV3 +HAILCAST maximum hail diameter (mm) since last output,hailcast_dhail,hail_maxhailcast,2d,dyn,regional FV3 +Biomass burning emissions,ebb_smoke_hr,ebb,2d,phy,regional FV3 +Hourly wildfire potential,hwp_ave,hwp,2d,phy,regional FV3 +Hourly averaged smoke,smoke_ave,smoke_ave,2d,phy,regional FV3 +Hourly averaged dust,dust_ave,dust_ave,2d,phy,regional FV3 +Hourly averaged coarsepm,coarsepm_ave,coarsepm_ave,2d,phy,regional FV3 +Lightning threat index 1,ltg1_max,ltg1_max,2d,phy,regional FV3 +Lightning threat index 2,ltg2_max,ltg2_max,2d,phy,regional FV3 +Lightning threat index 3,ltg3_max,ltg3_max,2d,phy,regional FV3 +Surface pressure,pressfc,"pint(:,:,LM+1)",2d,dyn,regional FV3 +Surface height,hgtsfc,"zint(:,:,LM+1)",2d,dyn,regional FV3 +Smoke,smoke,smoke,3d,dyn,regional FV3 +FV3 dust,fv3dust,fv3dust,3d,dyn,regional FV3 +Coarse particulate matter,coarsepm,coarsepm,3d,dyn,regional FV3 +Unified extinction ext550/Aerosol optical depth,ext550,ext550,3d,phy,regional FV3 +Cloud ice number concentration,qqni,qqni,3d,dyn,regional FV3 +Cloud water number concentration,qqnw,qqnw,3d,dyn,regional FV3 +Rain number concentration,qqnr,qqnr,3d,dyn,regional FV3 +Reflectivity,refl_10cm,REF_10CM,3d,phy, +Turbulence kinetic energy,qke,q2,3d,phy, +Ice-friendly aerosol number concentration,nifa,qqnifa,3d,phy, +Water-friendly aerosol number concentration,nwfa,qqnwfa,3d,phy, +Land mask,land,sm,2d,phy, +Sea ice mask,icec,sice,2d,phy, +PBL height,hpbl,pblh,2d,phy, +Frictional velocity,fricv,ustar,2d,phy, +Roughness length,sfcr,z0,2d,phy, +Surface exchange coefficient,sfexc,SFCEXC,2d,phy, +Accumulated snowfall,tsnowp,SNOW_ACM,2d,phy +Snowfall bucket,tsnowpb,SNOW_BKT,2d,phy +Accumulated graupel/sleet,frozr,acgraup,2d,phy, +Graupel/sleet bucket,frozrb,graup_bucket,2d,phy, +Accumulated freezing rain,frzr,acfrain,2d,phy, +Freezing rain bucket,frzrb,frzrn_bucket,2d,phy, +Time step snow (in m),snow,snownc,2d,phy, +Time step graupel (in m),graupel,graupelnc,2d,phy, +Aerodynamic conductance,acond,acond,2d,phy, +Mid day avg albedo,albdo_ave,avgalbedo,2d,phy, +Surface albedo,sfalb,albedo,2d,phy, +Surface potential temperature,tmpsfc,ths,2d,phy, +Foundation temperature,tref,fdnsst,2d,phy, +Convective precip in m per physics time step,cpratb_ave,avgcprate,2d,phy, +Convective precip - coninuous bucket,cprat_ave,avgcprate_cont,2d,phy, +Average precip rate in m per physics time step,prateb_ave,avgprec,2d,phy, +Average precip rate - continuous bucket,prate_ave,avgprec_cont,2d,phy, +Precip rate,tprcp,prec,2d,phy, +Convective precip rate,cnvprcp,cprate,2d,phy, +Max hourly surface precip rate,pratemax,prate_max,2d,phy, +Max hourly 1 km agl reflectivity,refdmax,refd_max,2d,phy, +Max hourly -10C reflectivity,refdmax263k,refdm10c_max,2d,phy, +Max hourly u comp of 10m agl wind,u10max,u10max,2d,phy, +Max hourly v comp of 10m agl wind,v10max,v10max,2d,phy, +Max hourly 10m agl wind speed,spd10max,wspd10max,2d,phy, +Max time-varying 10m agl wind speed,spd10max,wind10m_max,2d,phy, +Max time-varying 10m agl wind speed in U component,u10m_max,wspd10umax,2d,phy, +Max time-varying 10m agl wind speed in V component,v10m_max,wspd10vmax,2d,phy, +Instantaneous snow water equivalent,weasd,sno,2d,phy, +Average snow cover,snowc_ave,snoavg,2d,phy, +Snow depth in mm,snod,si,2d,phy, +2m temperature,tmp2m,tshltr,2d,phy, +2m specific humidity,spfh2m,qshltr,2d,phy, +Time-averaged column cloud fraction,tcdc_aveclm,avgtcdc,2d,phy, +Maximum snow albedo,snoalb,mxsnal,2d,phy, +Land fraction,lfrac,landfrac,2d,phy, +Average high cloud fraction,tcdc_avehcl,avgcfrach,2d,phy, +Average low cloud fraction,tcdc_avelcl,avgcfracl,2d,phy, +Average mid cloud fraction,tcdc_avemcl,avgcfracm,2d,phy, +Instantaneous convective cloud fraction,tcdccnvcl,cnvcfr,2d,phy, +Slope type,sltyp,islope,2d,phy, +Plant canopy sfc water in m,cnwat,cmc,2d,phy, +Frozen precip fraction,cpofp,sr,2d,phy, +Sea ice skin temperature,tisfc,ti,2d,phy, +Vegetation fraction,veg,vegfrc,2d,phy, +Liquid volumetric soil moisture,soill,sh2o,3d,phy +Volumetric soil moisture,soilw,smc,3d,phy +Soil temperature,soilt,stc,3d,phy +Time averaged incoming surface longwave,dlwrf_ave,alwin,2d,phy, +Instantaneous incoming surface longwave,dlwrf,rlwin,2d,phy, +Time averaged outgoing surface longwave,ulwrf_ave,alwout,2d,phy, +Instataneous outgoing surface longwave,ulwrf,radot,2d,phy, +Time average outgoing model top longwave,ulwrf_avetoa,alwtoa,2d,phy, +Instantaneous outgoing model top longwave,ulwrf_toa,rlwtoa,2d,phy, +Time averaged incoming surface shortwave,dswrf_ave,aswin,2d,phy, +Instantaneous incoming surface shortwave,dswrf,rswin,2d,phy, +Instananeous incoming clear sky surface shortwave,dswrf_clr,rswinc,2d,phy, +Instananeous incoming direct beam surface shortwave,visbmdi,swddni,2d,phy, +Instananeous incoming diffused surface shortwave,visdfdi,swddif,2d,phy, +Leaf area index,xlaixy,xlaixy,2d,phy, +Time averaged incoming sfc uv-b,duvb_ave,auvbin,2d,phy, +Time averaged incoming sfc clear sky uv-b,cduvb_ave,auvbinc,2d,phy, +Time averaged outgoing sfc shortwave,uswrf_ave,aswout,2d,phy, +Inst outgoing sfc shortwave,uswrf,rswout,2d,phy, +Time averaged model top incoming shortwave,dswrf_avetoa,aswintoa,2d,phy, +Time averaged model top outgoing shortwave,uswrf_avetoa,aswtoa,2d,phy, +Time averaged surface sensible heat flux,shtfl_ave,sfcshx,2d,phy, +Inst surface sensible heat flux,shtfl,twbs,2d,phy, +Time averaged surface latent heat flux,lhtfl_ave,sfclhx,2d,phy, +Inst surface latent heat flux,lhtfl,qwbs,2d,phy, +Time averaged ground heat flux,gflux_ave,subshx,2d,phy, +Instantaneous ground heat flux,gflux,grnflx,2d,phy, +Time averaged zonal momentum flux,uflx_ave,sfcux,2d,phy, +Time averaged meridional momentum flux,vflx_ave,sfcvx,2d,phy, +Instantaneous zonal momentum flux,uflx,sfcuxi,2d,phy, +Instantaneous meridional momentum flux,vflx,sfcvxi,2d,phy, +Time averaged zonal gravity wave stress,u-gwd_ave,gtaux,2d,phy, +Time averaged meridional gravity wave stress,v-gwd_ave,gtauy,2d,phy, +Time averaged accumulated potential evaporation,pevpr_ave,avgpotevp,2d,phy, +Instantaneous potential evaporation,pevpr,potevp,2d,phy, +10 m u-wind component,ugrd10m,u10,2d,phy, +10 m v-wind component,vgrd10m,v10,2d,phy, +10-meter wind speed divided by lowest model wind speed (FV3 initialization variable),f10m,2d,phy, +Vegetation type,vtype,ivgtyp,2d,phy, +Soil type,sotyp,isltyp,2d,phy, +Soil moisture availability,wetness,smstav,2d,phy,not GFS +Accumulated snow depth over land,snacc_land,for computing *sndepac*,2d,phy, +Accumulated snow depth over ice,snacc_ice,for computing *sndepac*,2d,phy, +Snow melt over land,snom_land,buf,2d,phy, +Snow melt over ice,snom_ice,buf2,2d,phy, +Instantaneous convective cloud top pressure,prescnvclt,ptop,2d,phy, +Instantaneous convective cloud bottom pressure,prescnvclb,pbot,2d,phy, +Time averaged low cloud top pressure,pres_avelct,ptopl,2d,phy, +Time averaged low cloud bottom pressure,pres_avelcb,pbotl,2d,phy, +Time averaged low cloud top temperature,tmp_avelct,Ttopl,2d,phy, +Time averaged middle cloud top pressure,pres_avemct,ptopm,2d,phy, +Time averaged middle cloud bottom pressure,pres_avemcb,pbotm,2d,phy, +Time averaged middle cloud top temperature,tmp_avemct,Ttopm,2d,phy, +Time averaged high cloud top pressure,pres_avehct,ptoph,2d,phy, +Time averaged high cloud bottom pressure,pres_avehcb,pboth,2d,phy, +Time averaged high cloud top temperature,tmp_avehct,Ttoph,2d,phy, +Boundary layer cloud cover,tcdc_avebndcl,pblcfr,2d,phy, +Cloud work function,cwork_aveclm,cldwork,2d,phy, +Accumulated total (base+surface) runoff,watr_acc,runoff,2d,phy, +Total water storage in aquifer,wa_acc,twa,2d,phy, +Accumulated evaporation of intercepted water,ecan_acc,tecan,2d,phy, +Accumulated plant transpiration,etran_acc,tetran,2d,phy, +Accumulated soil surface evaporation,edir_acc,tedir,2d,phy, +Shelter max temperature,t02max,maxtshltr,2d,phy,not GFS +Shelter max temperature,tmax_max2m,maxtshltr,2d,phy,GFS only +Shelter min temperature,t02min,mintshltr,2d,phy,not GFS +Shelter min temperature,tmin_min2m,mintshltr,2d,phy,GFS only +Shelter max rh,rh02max,maxrhshltr,2d,phy, +Shelter min rh,rh02min,minrhshltr,2d,phy, +Shelter max specific humidity,spfhmax_max2m,maxqshltr,2d,phy, +Shelter min specific humidity,spfhmin_min2m,minqshltr,2d,phy, +Ice thickness,icetk,dzice,2d,phy, +Wilting point,wilt,smcwlt,2d,phy, +Sunshine duration,sunsd_acc,suntime,2d,phy, +Field capacity,fldcp,fieldcapa,2d,phy, +Time averaged surface visible beam downward solar flux,vbdsf_ave,avisbeamswin,2d,phy, +Time averaged surface visible diffuse downward solar flux,vddsf_ave,avisdiffswin,2d,phy, +Time averaged surface near ir beam downward solar flux,nbdsf_ave,airbeamswin,2d,phy, +Time averaged surface near ir diffuse downward solar flux,nddsf_ave,airdiffswin,2d,phy, +Time averaged surface clear sky outgoing lw,csulf,alwoutc,2d,phy, +Time averaged toa clear sky outgoing lw,csulftoa,alwtoac,2d,phy, +Time averaged surface clear sky outgoing sw,csusf,aswoutc,2d,phy, +Time averaged toa clear sky outgoing sw,csusftoa,aswtoac,2d,phy, +Time averaged surface clear sky incoming lw,csdlf,alwinc,2d,phy, +Time averaged surface clear sky incoming sw,csdsf,aswinc,2d,phy, +Storm runoff,ssrun_acc,SSROFF,2d,phy, +Direct soil evaporation,evbs_ave,avgedir,2d,phy, +Canopy water evaporation,evcw_ave,avgecan,2d,phy, +Averaged precipitation advected heat flux,pah_ave,paha,2d,phy, +Instantaneous precipitation advected heat flux,pahi,pahi,2d,phy, +Plant transpiration,trans_ave,avgetrans,2d,phy, +Snow sublimation,sbsno_ave,avgesnow,2d,phy, +Total soil moisture,soilm,smstot,2d,phy,not GFS +Snow phase change heat flux,snohf,snopcx,2d,phy, +Precipitable water,pwat,pwat,2d,phy, +Average ozone concentration,o3_ave,avgozcon,3d,dyn,aqf_on=True +Average particulate matter (fine),pm25_ave,avgpmtf,3d,dyn,aqf_on=True +Aerosol optical depth,aod,aqm_aod550,2d,phy,aqf_on=True +Instantaneous aod550 optical depth,aod550,aod550,2d,phy,rdaod = True +Instantaneous aod550 optical depth (dust),du_aod550,du_aod550,2d,phy,rdaod = True +Instantaneous aod550 optical depth (seasalt),ss_aod550,ss_aod550,2d,phy,rdaod = True +Instantaneous aod550 optical depth (sulfates),su_aod550,su_aod550,2d,phy,rdaod = True +Instantaneous aod550 optical depth (organic carbon),oc_aod550,oc_aod550,2d,phy,rdaod = True +Instantaneous aod550 optical depth (black carbon),bc_aod550,bc_aod550,2d,phy,rdaod = True +Dust (1-5),dust1/.../dust5,dust,3d,dyn,GOCART - all requested read into 4d array +Sea salt (1-5),seas1/.../seas5,salt,3d,dyn,GOCART - all requested read into 4d array +Black carbon,bc1/bc2,soot,3d,dyn,GOCART - all requested read into 4d array +Organic carbon,oc1/oc2,waso,3d,dyn,GOCART - all requested read into 4d array +Sulfate,sulf,suso,3d,dyn,gocart_on=True or gccpp_on=True +Sulfate,so4,suso,3d,dyn,nasa_on=True +Nitrate,no3an1/no3an2/no3an3,no3,3d,dyn,GOCART - all requested read into 4d array +NH4,nh4a,nh4,3d,dyn,GOCART +Particulate matter (PP25),pp25,pp25,3d,dyn,gocart_on=True +Particulate matter (PM25),pm25,pp25,3d,dyn,nasa_on=True +Particulate matter (PP10),pp10,pp10,3d,dyn,gocart_on=True +Particulate matter (PM10),pm10,pp10,3d,dyn,nasa_on=True +Dust emission fluxes (1-5),duem001/.../duem005,duem,2d,phy, all requested read into 3d array +Dust sedimentation fluxes (1-5),dust1sd/.../dust5sd,dusd,2d, phy, all requested read into 3d array +Dust dry deposition fluxes (1-5),dust1dp/.../dust5dp,dudp,2d,phy, all requested read into 3d array +Dust wet deposition fluxes (1-5),dust1wtl/.../dust5wtl,duwt,2d,phy, all requested read into 3d array +Dust scavenging fluxes (1-5),dust1wtc/.../dust5wtc,dusv,2d,phy, all requested read into 3d array +Seasalt emission fluxes (1-5),ssem001/.../ssem005,ssem,2d,phy, all requested read into 3d array +Seasalt **emission/sedimentation** fluxes (1-5),seas1sd/.../seas5sd,sssd,2d,phy, all requested read into 3d array +Seasalt dry deposition fluxes (1-5),seas1dp/.../seas5dp,ssdp,2d,phy,all requested read into 3d array +Seasalt wet deposition fluxes (1-5),seas1wtl/.../seas5wtl,sswt,2d,phy,all requested read into 3d array +Seasalt scavenging fluxes (1-5),seas1wtc/.../seas5wtc,sssv,2d,phy,all requested read into 3d array +Black carbon emission fluxes,bceman/bcembb,bcem,2d,phy,all requested read into 3d array +Black carbon sedimentation fluxes,bc1sd/bc2sd,bcsd,2d,phy,all requested read into 3d array +Black carbon dry deposition fluxes,bc1dp/bc2dp,bcdp,2d,phy,all requested read into 3d array +Black carbon large wet deposition fluxes,bc1wtl/bc2wtl,bcwt,2d,phy,all requested read into 3d array +Black carbon convective wet deposition fluxes,bc1wtc/bc2wtc,bcsv,2d,phy,all requested read into 3d array +Organic carbon emission fluxes,oceman/ocembb,ocem,2d,phy,all requested read into 3d array +Organic carbon sedimentation fluxes,oc1sd/oc2sd,ocsd,2d,phy,all requested read into 3d array +Organic carbon dry deposition fluxes,oc1dp/oc2dp,ocdp,2d,phy,all requested read into 3d array +Organic carbon large wet deposition fluxes,oc1wtl/oc2wtl,ocwt,2d,phy,all requested read into 3d array +Organic carbon convective wet deposition fluxes,oc1wtc/oc2wtc,ocsv,2d,phy,all requested read into 3d array +Mie-based aerosol optical depth,maod,maod,2d,phy, diff --git a/doc/UserGuide/tables/UFS_unified_variables_table.rst b/doc/UserGuide/tables/UFS_unified_variables_table.rst new file mode 100644 index 0000000000..b5fa1d7d5d --- /dev/null +++ b/doc/UserGuide/tables/UFS_unified_variables_table.rst @@ -0,0 +1,15 @@ +:orphan: + +******************************** +Unified Model Variables from UFS +******************************** + +Unified model variables read by UPP (column 1), the name of the variable in the model NetCDF file (column 2), +corresponding UPP internal name that the variable is read in as (column 3), variable dimension (column 4), +whether the variable resides in the dyn (atm) or phy (sfc) NetCDF file, and relevant notes such as +dependencies (column 5). + +.. csv-table:: + :file: UFS_unified_variables_table.csv + :widths: 25, 15, 15, 10, 15, 20 + :header-rows: 1 diff --git a/doc/UserGuide/tables/UPP_GRIB2_Table_byID.csv b/doc/UserGuide/tables/UPP_GRIB2_Table_byID.csv new file mode 100644 index 0000000000..90fd49c1dd --- /dev/null +++ b/doc/UserGuide/tables/UPP_GRIB2_Table_byID.csv @@ -0,0 +1,856 @@ +Field Description,Name in Grib2 Control File,Grib2 pname,UPP ID +Pressure on model surface,PRES_ON_HYBRID_LVL,PRES,1 +Temperature on model surface,TMP_ON_HYBRID_LVL,TMP,2 +Potential temperature on model surface,POT_ON_HYBRID_LVL,POT,3 +Dew point temperature on model surface,DPT_ON_HYBRID_LVL,DPT,4 +Specific humidity on model surface,SPFH_ON_HYBRID_LVL,SPFH,5 +Relative humidity on model surface,RH_ON_HYBRID_LVL,RH,6 +U-component wind on model surface,UGRD_ON_HYBRID_LVL,UGRD,7 +V-component wind on model surface,VGRD_ON_HYBRID_LVL,VGRD,8 +Omega on model surface,VVEL_ON_HYBRID_LVL,VVEL,9 +Absolute vorticity on model surface,ABSV_ON_HYBRID_LVL,ABSV,10 +Turbulent kinetic energy on model surface,TKE_ON_HYBRID_LVL,TKE,11 +Height on pressure surface,HGT_ON_ISOBARIC_SFC,HGT,12 +Temperature on pressure surface,TMP_ON_ISOBARIC_SFC,TMP,13 +Potential temperature on pressure surface,POT_ON_ISOBARIC_SFC,POT,14 +Dew point temperature on pressure surface,DPT_ON_ISOBARIC_SFC,DPT,15 +Specific humidity on pressure surface,SPFH_ON_ISOBARIC_SFC,SPFH,16 +Relative humidity on pressure surface,RH_ON_ISOBARIC_SFC,RH,17 +U-component wind on pressure surface,UGRD_ON_ISOBARIC_SFC,UGRD,18 +V-component wind on pressure surface,VGRD_ON_ISOBARIC_SFC,VGRD,19 +Omega on pressure surface,VVEL_ON_ISOBARIC_SFC,VVEL,20 +Absolute vorticity on pressure surface,ABSV_ON_ISOBARIC_SFC,ABSV,21 +Turbulent kinetic energy on pressure surface,TKE_ON_ISOBARIC_SFC,TKE,22 +Mesinger (Membrane) sea level pressure,MSLET_ON_MEAN_SEA_LVL,MSLET,23 +Surface pressure,PRES_ON_SURFACE,PRES,24 +Terrain height,HGT_ON_SURFACE,HGT,25 +Skin temperature,TMP_ON_SURFACE,TMP,26 +Skin potential temperature,POT_ON_SURFACE,POT,27 +Skin specific humidity,SPFH_ON_SURFACE,SPFH,28 +Skin dew point temperature,DPT_ON_SURFACE,DPT,29 +Lifted index—surface based,LFTX_ON_ISOBARIC_SFC_500-1000hpa,LFTX,30 +Lifted index—best,4LFTX_ON_SPEC_PRES_ABOVE_GRND,4LFTX,31 +Surface CAPE,CAPE_ON_SURFACE,CAPE,32 +Accumulated convective precipitation,ACM_ACPCP_ON_SURFACE,ACPCP,33 +Accumulated grid-scale precipitation,ACM_NCPCP_ON_SURFACE,NCPCP,34 +Accumulated snowfall,ACM_WEASD_ON_SURFACE,WEASD,35 +Total soil moisture,GFS_CISOILM_ON_DEPTH_BEL_LAND_SFC,CISOILM,36 +Low level cloud fraction,LCDC_ON_LOW_CLOUD_LYR,LCDC,37 +Mid level cloud fraction,MCDC_ON_MID_CLOUD_LYR,MCDC,38 +High level cloud fraction,HCDC_ON_HIGH_CLOUD_LYR,HCDC,39 +Temperature tendency from shortwave radiative flux,SWHR_ON_HYBRID_LVL,SWHR,40 +Temperature tendency from longwave radiative flux,LWHR_ON_HYBRID_LVL,LWHR,41 +Surface latent heat flux - time-averaged,AVE_LHTFL_ON_SURFACE,LHTFL,42 +Surface sensible heat flux - time-averaged,AVE_SHTFL_ON_SURFACE,SHTFL,43 +Roughness length,SFCR_ON_SURFACE,SFCR,44 +Friction velocity,FRICV_ON_SURFACE,FRICV,45 +Surface momentum flux - time-averaged,AVE_MFLX_ON_SURFACE,MFLX,46 +Accumulated surface evaporation,ACM_EVP_ON_SURFACE,EVP,47 +Latitude,NLAT_ON_SURFACE,NLAT,48 +Longitude,ELON_ON_SURFACE,ELON,49 +Land sea mask (land=1 sea=0),LAND_ON_SURFACE,LAND,50 +Sea ice mask,ICEC_ON_SURFACE,ICEC,51 +Press at tropopause,PRES_ON_TROPOPAUSE,PRES,54 +Temperature at tropopause,TMP_ON_TROPOPAUSE,TMP,55 +U wind at tropopause,UGRD_ON_TROPOPAUSE,UGRD,56 +V wind at tropopause,VGRD_ON_TROPOPAUSE,VGRD,57 +Wind shear at tropopause,VWSH_ON_TROPOPAUSE,VWSH,58 +Temperature at flight levels,TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,TMP,59 +U wind at flight levels,UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,UGRD,60 +V wind at flight levels,VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,VGRD,61 +Freezing level height (above mean sea level),HGT_ON_0C_ISOTHERM,HGT,62 +Freezing level RH,RH_ON_0C_ISOTHERM,RH,63 +10 M u-component wind,UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,UGRD,64 +10 M v-component wind,VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,VGRD,65 +Relative humidity on sigma layer (0.33-1.0 mean),RH_ON_SIGMA_LVL_0.33-1.0,RH,66 +Pressure in boundary layer (30 mb mean),PRES_ON_SPEC_PRES_ABOVE_GRND,PRES,67 +Temperature in boundary layer (30 mb mean),TMP_ON_SPEC_PRES_ABOVE_GRND,TMP,68 +Potential temperature in boundary layers (30 mb mean),POT_ON_SPEC_PRES_ABOVE_GRND,POT,69 +Dew point temperature in boundary layer (30 mb mean),DPT_ON_SPEC_PRES_ABOVE_GRND,DPT,70 +Specific humidity in boundary layer (30 mb mean),SPFH_ON_SPEC_PRES_ABOVE_GRND,SPFH,71 +RH in boundary layer (30 mb mean),RH_ON_SPEC_PRES_ABOVE_GRND,RH,72 +U wind in boundary layer (30 mb mean),UGRD_ON_SPEC_PRES_ABOVE_GRND,UGRD,73 +V wind in boundary layer (30 mb mean),VGRD_ON_SPEC_PRES_ABOVE_GRND,VGRD,74 +Lifted index—from boundary layer,PLI_ON_SPEC_PRES_ABOVE_GRND,PLI,75 +Skin Relative humidity,RH_ON_SURFACE,RH,76 +Height on model surface,HGT_ON_HYBRID_LVL,HGT,77 +Averaged temperature tendency from grid scale latent heat release,AVE_LRGHR_ON_HYBRID_LVL,LRGHR,78 +Averaged temperature tendency from convective latent heat release,AVE_CNVHR_ON_HYBRID_LVL,CNVHR,79 +Column integrated precipitable water,PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR,PWAT,80 +Relative humidity on sigma layer (0.66-1.0 mean),RH_ON_SIGMA_LVL_0.66-1.0,RH,81 +Relative humidity on sigma layer (0.33-0.66 mean),RH_ON_SIGMA_LVL_0.33-0.66,RH,82 +Moisture convergence on model surface,MCONV_ON_HYBRID_LVL,MCONV,83 +Geostrophic streamfunction on model surface,STRM_ON_HYBRID_LVL,STRM,84 +Moisture convergence on pressure surface,MCONV_ON_ISOBARIC_SFC,MCONV,85 +Geostrophic streamfunction on pressure surface,STRM_ON_ISOBARIC_SFC,STRM,86 +Accumulated total precipitation,ACM_APCP_ON_SURFACE,APCP,87 +Moisture convergence in boundary layer (30 mb mean),MCONV_ON_SPEC_PRES_ABOVE_GRND,MCONV,88 +Precipitable water in boundary layer (30 mb mean),PWAT_ON_SPEC_PRES_ABOVE_GRND,PWAT,89 +Omega in boundary layer (30 mb mean),VVEL_ON_SPEC_PRES_ABOVE_GRND,VVEL,90 +Pressure on sigma level 0.98230,PRES_ON_SIGMA_LVL_0.98230,PRES,91 +Temperature on sigma level 0.98230,TMP_ON_SIGMA_LVL_0.98230,TMP,92 +Specific humidity on sigma level 0.98230,SPFH_ON_SIGMA_LVL_0.98230,SPFH,93 +Relative humidity on sigma level 0.98230,RH_ON_SIGMA_LVL_0.98230,RH,94 +U-wind on sigma level 0.98230,UGRD_ON_SIGMA_LVL_0.98230,UGRD,95 +V-wind on sigma level 0.98230,VGRD_ON_SIGMA_LVL_0.98230,VGRD,96 +Temperature on sigma level 0.89671,TMP_ON_SIGMA_LVL_0.89671,TMP,97 +Temperature on sigma level 0.78483,TMP_ON_SIGMA_LVL_0.78483,TMP,98 +Relative humidity on sigma layer (0.47_1.0* mean),RH_ON_SIGMA_LVL_0.47_1.0,RH,99 +Relative humidity on sigma layer (0.47_0.96 mean),RH_ON_SIGMA_LVL_0.47_0.96,RH,100 +Relative humidity on sigma layer (0.18_0.47 mean),RH_ON_SIGMA_LVL_0.18_0.47,RH,101 +Relative humidity on sigma layer (0.84_0.98 mean),RH_ON_SIGMA_LVL_0.84_0.98,RH,102 +Moisture convergence on sigma layer (0.85_1.0 mean),MCONV_ON_SIGMA_LVL_0.85_1.0,MCONV,103 +Precipitable water on sigma layer (0.33_1.0 mean),PWAT_ON_SIGMA_LVL_0.33_1.0,PWAT,104 +Shuell sea level pressure,PRES_ON_MEAN_SEA_LVL,PRMSL,105 +2 M temperature,TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,TMP,106 +Surface CIN,CIN_ON_SURFACE,CIN,107 +Potential temperature at tropopause,POT_ON_TROPOPAUSE,POT,108 +Above-ground height of LCL,HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC,HGT,109 +Pressure of LCL,PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC,PRES,110 +Richardson number on model surface,RI_ON_HYBRID_LVL,RI,111 +2 M specific humidity,SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,SPFH,112 +2 M dew point temperature,DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,DPT,113 +2 M RH,RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,RH,114 +Soil temperature at the bottom of soil layers,TSOIL_ON_DEPTH_BEL_LAND_SFC_3m,TSOIL,115 +Soil temperature in between each of soil layers,TSOIL_ON_DEPTH_BEL_LAND_SFC,TSOIL,116 +Soil moisture in between each of soil layers,SOILW_ON_DEPTH_BEL_LAND_SFC,SOILW,117 +Plant canopy surface water,CNWAT_ON_SURFACE,CNWAT,118 +Snow water equivalent,WEASD_ON_SURFACE,WEASD,119 +Snow cover in percentage,SNOWC_ON_SURFACE,SNOWC,120 +Accumulated total snow melt,ACM_SNOM_ON_SURFACE,SNOM,121 +Accumulated storm surface runoff,ACM_SSRUN_ON_SURFACE,SSRUN,122 +Accumulated baseflow runoff,ACM_BGRUN_ON_SURFACE,BGRUN,123 +Cloud water on model surface,CLMR_ON_HYBRID_LVL,CLMR,124 +Cloud ice on model surface,ICMR_ON_HYBRID_LVL,ICMR,125 +Incoming surface shortwave radiation - time-averaged,AVE_DSWRF_ON_SURFACE,DSWRF,126 +Incoming surface longwave radiation - time-averaged,AVE_DLWRF_ON_SURFACE,DLWRF,127 +Outgoing surface shortwave radiation - time-averaged,AVE_USWRF_ON_SURFACE,USWRF,128 +Outgoing surface longwave radiation - time-averaged,AVE_ULWRF_ON_SURFACE,ULWRF,129 +Outgoing model top shortwave radiation - time-averaged,AVE_USWRF_ON_TOP_OF_ATMOS,USWRF,130 +Outgoing model top longwave radiation - time-averaged,AVE_ULWRF_ON_TOP_OF_ATMOS,ULWRF,131 +Surface drag coefficient,CD_ON_SURFACE,CD,132 +Surface u wind stress,UFLX_ON_SURFACE,UFLX,133 +Surface v wind stress,VFLX_ON_SURFACE,VFLX,134 +Ground heat flux - time-averaged,AVE_GFLUX_ON_SURFACE,GFLUX,135 +Average snow phase change heat flux,AVE_SNOHF_ON_SURFACE,SNOHF,136 +Accumulated potential evaporation,ACM_PEVAP_ON_SURFACE,PEVAP,137 +2 M pressure,PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,PRES,138 +Time-averaged stratospheric cloud fraction,AVE_CDLYR_ON_ENTIRE_ATMOS,CDLYR,139 +Temperature tendency from radiative fluxes,TTRAD_ON_HYBRID_LVL,TTRAD,140 +Outgoing surface shortwave radiation - instantaneous,INST_USWRF_ON_SURFACE,USWRF,141 +Outgoing surface longwave radiation - instantaneous,INST_ULWRF_ON_SURFACE,ULWRF,142 +Time-averaged convective cloud fraction,AVE_CDCON_ON_ENTIRE_ATMOS,CDCON,143 +Time-averaged total cloud fraction,AVE_TCDC_ON_ENTIRE_ATMOS,TCDC,144 +Cloud fraction on model surface,TCDC_ON_HYBRID_LVL,TCDC,145 +Master length scale on model surface,BMIXL_ON_HYBRID_LVL,BMIXL,146 +Asymptotic length scale on model surface,AMIXL_ON_HYBRID_LVL,AMIXL,147 +Cloud bottom pressure,PRES_ON_CLOUD_BASE,PRES,148 +Cloud top pressure,PRES_ON_CLOUD_TOP,PRES,149 +Surface midday albedo,ALBDO_ON_SURFACE,ALBDO,150 +Sea surface temperature,WTMP_ON_SURFACE,WTMP,151 +Ground heat flux - instantaneous,INST_GFLUX_ON_SURFACE,GFLUX,152 +Cloud water on pressure surface,CLMR_ON_ISOBARIC_SFC,CLMR,153 +Surface sensible heat flux – instantaneous,INST_SHTFL_ON_SURFACE,SHTFL,154 +Surface latent heat flux - instantaneous,INST_LHTFL_ON_SURFACE,LHTFL,155 +Incoming surface shortwave radiation - instantaneous,INST_DSWRF_ON_SURFACE,DSWRF,156 +Incoming surface longwave radiation - instantaneous,INST_DLWRF_ON_SURFACE,DLWRF,157 +10 M potential temperature,POT_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,POT,158 +10 M specific humidity,SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,SPFH,159 +Precipitation type (4 types) – instantaneous,INST_CRAIN_ON_SURFACE,CRAIN,160 +Total cloud fraction,INST_TCDC_ON_ENTIRE_ATMOS,TCDC,161 +Helicity,HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND,HLCY,162 +U-component storm motion,USTM_ON_SPEC_HGT_LVL_ABOVE_GRND,USTM,163 +V-component storm motion,VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND,VSTM,164 +Highest freezing level height,HGT_ON_HGHST_TROP_FRZ_LVL,HGT,165 +Cloud ice on pressure surface,ICMR_ON_ISOBARIC_SFC,ICMR,166 +Precipitation rate - instantaneous,INST_PRATE_ON_SURFACE,PRATE,167 +Cloud top temperature,TMP_ON_CLOUD_TOP,TMP,168 +Heat exchange coeff at surface,SFEXC_ON_SURFACE,SFEXC,169 +Vegetation cover,VEG_ON_SURFACE,VEG,170 +Soil moisture availability,RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC,MSTAV,171 +Fraction of frozen precipitation,CPOFP_ON_SURFACE,CPOFP,172 +Maximum wind pressure level,PRES_ON_MAX_WIND,PRES,173 +Maximum wind height,HGT_ON_MAX_WIND,HGT,174 +U-component of maximum wind,UGRD_ON_MAX_WIND,UGRD,175 +V-component of maximum wind,VGRD_ON_MAX_WIND,VGRD,176 +Height at tropopause,HGT_ON_TROPOPAUSE,HGT,177 +Cloud bottom height (above MSL),HGT_ON_CLOUD_BASE,HGT,178 +Cloud top height (above MSL),HGT_ON_CLOUD_TOP,HGT,179 +Visibility,VIS_ON_SURFACE,VIS,180 +Rain on model surface,RWMR_ON_HYBRID_LVL,RWMR,181 +Snow on model surface,SNMR_ON_HYBRID_LVL,SNMR,182 +Rain on pressure surface,RWMR_ON_ISOBARIC_SFC,RWMR,183 +Snow water on pressure surface,SNMR_ON_ISOBARIC_SFC,SNMR,184 +Model level fraction of rain for Ferrier scheme,FRAIN_ON_HYBRID_LVL,FRAIN,185 +Model level fraction of ice for Ferrier scheme,FICE_ON_HYBRID_LVL,FICE,186 +Model level riming factor for Ferrier scheme,RIME_ON_HYBRID_LVL,RIME,187 +Convective cloud bottom pressure,PRES_ON_CONVECTIVE_CLOUD_BOT_LVL,PRES,188 +Convective cloud top pressure,PRES_ON_CONVECTIVE_CLOUD_TOP_LVL,PRES,189 +Shallow convective cloud bottom pressure,PRES_ON_SHALL_CONVECTIVE_CLOUD_BOT_LVL,PRES,190 +Shallow convective cloud top pressure,PRES_ON_SHALL_CONVECTIVE_CLOUD_TOP_LVL,PRES,191 +Deep convective cloud bottom pressure,PRES_ON_DEEP_CONVECTIVE_CLOUD_BOT_LVL,PRES,192 +Deep convective cloud top pressure,PRES_ON_DEEP_CONVECTIVE_CLOUD_TOP_LVL,PRES,193 +Grid scale cloud bottom pressure,PRES_ON_GRID_SCALE_CLOUD_BOT_LVL,PRES,194 +Grid scale cloud top pressure,PRES_ON_GRID_SCALE_CLOUD_TOP_LVL,PRES,195 +Convective cloud fraction,CDCON_ON_ENTIRE_ATMOS,CDCON,196 +Convective cloud efficiency,CUEFI_ON_ENTIRE_ATMOS_SINGLE_LYR,CUEFI,197 +Total condensate on pressure surface,TCOND_ON_ISOBARIC_SFC,TCOND,198 +Model level total condensate for Ferrier scheme,TCOND_ON_HYBRID_LVL,TCOND,199 +Column integrated cloud water,TCOLW_ON_ENTIRE_ATMOS,TCOLW,200 +Column integrated cloud ice,TCOLI_ON_ENTIRE_ATMOS,TCOLI,201 +Column integrated rain,TCOLR_ON_ENTIRE_ATMOS,TCOLR,202 +Column integrated snow,TCOLS_ON_ENTIRE_ATMOS,TCOLS,203 +Column integrated total condensate,TCOLC_ON_ENTIRE_ATMOS,TCOLC,204 +Height of sigma surface,HGT_ON_SIGMA_LVLS,HGT,205 +Temperature on sigma surface,TMP_ON_SIGMA_LVLS,TMP,206 +Specific humidity on sigma surface,SPFH_ON_SIGMA_LVLS,SPFH,207 +U-wind on sigma surface,UGRD_ON_SIGMA_LVLS,UGRD,208 +V-wind on sigma surface,VGRD_ON_SIGMA_LVLS,VGRD,209 +Omega on sigma surface,VVEL_ON_SIGMA_LVLS,VVEL,210 +Cloud water on sigma surface,CLMR_ON_SIGMA_LVLS,CLMR,211 +Cloud ice on sigma surface,ICMR_ON_SIGMA_LVLS,ICMR,212 +Rain on sigma surface,RWMR_ON_SIGMA_LVLS,RWMR,213 +Snow on sigma surface,SNMR_ON_SIGMA_LVLS,SNMR,214 +Condensate on sigma surface,TCOND_ON_SIGMA_LVLS,TCOND,215 +Pressure on sigma surface,PRES_ON_SIGMA_LVLS,PRES,216 +Turbulent kinetic energy on sigma surface,TKE_ON_SIGMA_LVLS,TKE,217 +Vegetation type,VGTYP_ON_SURFACE,VGTYP,218 +Soil type,SOTYP_ON_SURFACE,SOTYP,219 +Canopy conductance,CCOND_ON_SURFACE,CCOND,220 +PBL height,HPBL_ON_SURFACE,HPBL,221 +Cloud fraction on sigma surface,TCDC_ON_SIGMA_LVLS,TCDC,222 +Slope type,SLTYP_ON_SURFACE,SLTYP,223 +Snow depth,SNOD_ON_SURFACE,SNOD,224 +Liquid soil moisture,SOILL_ON_DEPTH_BEL_LAND_SFC,SOILL,225 +Snow free albedo,SNFALB_ON_SURFACE,SNFALB,226 +Maximum snow albedo,MXSALB_ON_SURFACE,MXSALB,227 +Canopy water evaporation,EVCW_ON_SURFACE,EVCW,228 +Direct soil evaporation,EVBS_ON_SURFACE,EVBS,229 +Plant transpiration,TRANS_ON_SURFACE,TRANS,230 +Snow sublimation,SBSNO_ON_SURFACE,SBSNO,231 +Air dry soil moisture,SMDRY_ON_SURFACE,SMDRY,232 +Soil moist porosity,POROS_ON_SURFACE,POROS,233 +Minimum stomatal resistance,RSMIN_ON_SURFACE,RSMIN,234 +Number of root layers,RLYRS_ON_SURFACE,RLYRS,235 +Soil moist wilting point,WILT_ON_SURFACE,WILT,236 +Soil moist reference,SMREF_ON_SURFACE,SMREF,237 +Canopy conductance - solar component,RCS_ON_SURFACE,RCS,238 +Canopy conductance - temperature component,RCT_ON_SURFACE,RCT,239 +Canopy conductance - humidity component,RCQ_ON_SURFACE,RCQ,240 +Canopy conductance - soil component,RCSOL_ON_SURFACE,RCSOL,241 +Potential evaporation,PEVPR_ON_SURFACE,PEVPR,242 +Heat diffusivity on sigma surface,VEDH_ON_SIGMA_LVLS,VEDH,243 +Time-maximum composite reflectivity,MAX_REFC_ON_ENTIRE_ATMOS,MAXREFC,244 +Surface wind gust,GUST_ON_SURFACE,GUST,245 +LCL level pressure,PLPL_ON_SPEC_PRES_ABOVE_GRND,PLPL,246 +Lowest wet bulb zero height,HGT_ON_LWST_LVL_OF_WET_BULB_ZERO,HGT,247 +Accumulated large scale snow,ACM_SNOL_ON_SURFACE,SNOL,248 +Convective precipitation rate,CPRAT_ON_SURFACE,CPRAT,249 +Radar reflectivity on model surface,REFD_ON_HYBRID_LVL,REFD,250 +Radar reflectivity on pressure surface,REFD_ON_ISOBARIC_SFC,REFD,251 +Composite radar reflectivity,REFC_ON_ENTIRE_ATMOS,REFC,252 +Radar reflectivity at certain above ground heights,REFD_ON_SPEC_HGT_LVL_ABOVE_GRND,REFD,253 +Leaf area index,LAI_ON_SURFACE,LAI,254 +Graupel on sigma surface,GRLE_ON_SIGMA_LVLS,GRLE,255 +Accumulated land surface model precipitation,ACM_LSPA_ON_SURFACE,LSPA,256 +In-flight icing,TIPD_ON_ISOBARIC_SFC,TIPD,257 +Clear air turbulence,TPFI_ON_ISOBARIC_SFC,TPFI,258 +Wind shear between shelter level and 2000 FT,VWSH_ON_SPEC_HGT_LVL_ABOVE_GRND,VWSH,259 +Ceiling,HGT_ON_CLOUD_CEILING,HGT,260 +Flight restriction,VIS_ON_CLOUD_BASE,VIS,261 +Instantaneous clear sky incoming surface shortwave,INST_CSDSF_ON_SURFACE,CSDSF,262 +Pressure level riming factor for Ferrier scheme,RIME_ON_ISOBARIC_SFC,RIME,263 +Model level vertical velocity,DZDT_ON_HYBRID_LVL,DZDT,264 +Brightness temperature,SBT122_ON_TOP_OF_ATMOS_FROM_LWRAD,SBT122,265 +Average albedo,AVE_ALBDO_ON_SURFACE,ALBDO,266 +Ozone on model surface,O3MR_ON_HYBRID_LVL,O3MR,267 +Ozone on pressure surface,O3MR_ON_ISOBARIC_SFC,O3MR,268 +Surface zonal momentum flux,AVE_UFLX_ON_SURFACE,UFLX,269 +Surface meridional momentum flux,AVE_VFLX_ON_SURFACE,VFLX,270 +Average precipitation rate,AVE_PRATE_ON_SURFACE,PRATE,271 +Average convective precipitation rate,AVE_CPRAT_ON_SURFACE,CPRAT,272 +Sigma pressure thickness on model surface,PRES_ON_HYBRID_LVL_LLM,PRES,273 +Instantaneous outgoing longwave at top of atmosphere,INST_ULWRF_ON_TOP_OF_ATMOS,ULWRF,274 +Total spectrum brightness temperature,BRTMP_ON_TOP_OF_ATMOS,BRTMP,275 +Composite rain radar reflectivity,REFZR_ON_ENTIRE_ATMOS,REFZR,276 +Composite ice radar reflectivity,REFZI_ON_ENTIRE_ATMOS,REFZI,277 +Composite radar reflectivity from convection,REFZC_ON_ENTIRE_ATMOS,REFZC,278 +Rain radar reflecting angle,REFZR_ON_SPEC_HGT_LVL_ABOVE_GRND,REFZR,279 +Ice radar reflecting angle,REFZI_ON_SPEC_HGT_LVL_ABOVE_GRND,REFZI,280 +Convection radar reflecting angle,REFZC_ON_SPEC_HGT_LVL_ABOVE_GRND,REFZC,281 +Model top pressure,PRES_ON_TOP_OF_ATMOS,PRES,282 +Pressure thickness on model surface,PRES_ON_HYBRID_LVL_1L,PRES,283 +Model level vertical velocity,DZDT_ON_ISOBARIC_SFC,DZDT,284 +Column integrated super cool liquid water,TCLSW_ON_ENTIRE_ATMOS,TCLSW,285 +Column integrated melting ice,TCOLM_ON_ENTIRE_ATMOS,TCOLM,286 +Height of lowest level super cool liquid water,HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR,HGT,287 +Height of highest level super cool liquid water,HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR,HGT,288 +Richardson number planetary boundary layer height,HGT_ON_PLANETARY_BOUND_LYR,HGT,289 +Total column shortwave temperature tendency,SWHR_ON_ENTIRE_ATMOS,SWHR,290 +Total column longwave temperature tendency,LWHR_ON_ENTIRE_ATMOS,LWHR,291 +Total column gridded temperature tendency,AVE_LRGHR_ON_ENTIRE_ATMOS,LRGHR,292 +Total column convective temperature tendency,AVE_CNVHR_ON_ENTIRE_ATMOS,CNVHR,293 +Radiative flux temperature tendency on pressure level,TTRAD_ON_ISOBARIC_SFC,TTRAD,294 +Column integrated moisture convergence,MCONV_ON_ENTIRE_ATMOS,MCONV,295 +Temperature on sigma levels,TMP_ON_SIGMA_LVL_HPC,TMP,296 +Time averaged clear sky incoming UV-B shortwave,AVE_CDUVB_ON_SURFACE,CDUVB,297 +Time averaged incoming UV-B shortwave,AVE_DUVB_ON_SURFACE,DUVB,298 +Total column ozone,TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR,TOZNE,299 +Average low cloud fraction,AVE_TCDC_ON_LOW_CLOUD_LYR,TCDC,300 +Average mid cloud fraction,AVE_TCDC_ON_MID_CLOUD_LYR,TCDC,301 +Average high cloud fraction,AVE_TCDC_ON_HIGH_CLOUD_LYR,TCDC,302 +Average low cloud bottom pressure,AVE_PRES_ON_LOW_CLOUD_BOT_LVL,PRES,303 +Average low cloud top pressure,AVE_PRES_ON_LOW_CLOUD_TOP_LVL,PRES,304 +Average low cloud top temperature,AVE_TMP_ON_LOW_CLOUD_TOP_LVL,TMP,305 +Average mid cloud bottom pressure,AVE_PRES_ON_MID_CLOUD_BOT_LVL,PRES,306 +Average mid cloud top pressure,AVE_PRES_ON_MID_CLOUD_TOP_LVL,PRES,307 +Average mid cloud top temperature,AVE_TMP_ON_MID_CLOUD_TOP_LVL,TMP,308 +Average high cloud bottom pressure,AVE_PRES_ON_HIGH_CLOUD_BOT_LVL,PRES,309 +Average high cloud top pressure,AVE_PRES_ON_HIGH_CLOUD_TOP_LVL,PRES,310 +Average high cloud top temperature,AVE_TMP_ON_HIGH_CLOUD_TOP_LVL,TMP,311 +Total column relative humidity,RH_ON_ENTIRE_ATMOS_SINGLE_LYR,RH,312 +Cloud work function,AVE_CWORK_ON_ENTIRE_ATMOS_SINGLE_LYR,CWORK,313 +Temperature at maximum wind level,TMP_ON_MAX_WIND,TMP,314 +Time averaged zonal gravity wave stress,AVE_U-GWD_ON_SURFACE,U-GWD,315 +Time averaged meridional gravity wave stress,AVE_V-GWD_ON_SURFACE,V-GWD,316 +Average precipitation type,AVE_CRAIN_ON_SURFACE,CRAIN,317 +Relative humidity on sigma layer (0.44-1.0 mean),RH_ON_SIGMA_LVL_0.44-1.0,RH,318 +Relative humidity on sigma layer (0.72-0.94 mean),RH_ON_SIGMA_LVL_0.72-0.94,RH,319 +Relative humidity on sigma layer (0.44-0.72 mean),RH_ON_SIGMA_LVL_0.44-0.72,RH,320 +Temperature on sigma level 0.9950,TMP_ON_SIGMA_LVL_0.9950,TMP,321 +Potential temperature on sigma level 0.9950,POT_ON_SIGMA_LVL_0.9950,POT,322 +Relative humidity on sigma level 0.9950,RH_ON_SIGMA_LVL_0.9950,RH,323 +U-wind at sigma level 0.9950,UGRD_ON_SIGMA_LVL_0.9950,UGRD,324 +V-wind at sigma level 0.9950,VGRD_ON_SIGMA_LVL_0.9950,VGRD,325 +Omega at sigma level 0.9950,VVEL_ON_SIGMA_LVL_0.9950,VVEL,326 +Simulated GOES 12 channel 2 brightness temperature,SBT122_ON_TOP_OF_ATMOS,SBT122,327 +Simulated GOES 12 channel 3 brightness temperature,SBT123_ON_TOP_OF_ATMOS,SBT123,328 +Simulated GOES 12 channel 4 brightness temperature,SBT124_ON_TOP_OF_ATMOS,SBT124,329 +Simulated GOES 12 channel 5 brightness temperature,SBT126_ON_TOP_OF_ATMOS,SBT126,330 +Cloud fraction on pressure surface,TCDC_ON_ISOBARIC_SFC,TCDC,331 +U-wind on theta surface,UGRD_ON_ISENTROPIC_LVL,UGRD,332 +V-wind on theta surface,VGRD_ON_ISENTROPIC_LVL,VGRD,333 +Temperature on theta surface,TMP_ON_ISENTROPIC_LVL,TMP,334 +Potential vorticity on theta surface,PVORT_ON_ISENTROPIC_LVL,PVORT,335 +U wind on constant PV surface,UGRD_ON_POT_VORT_SFC,UGRD,336 +V wind on constant PV surface,VGRD_ON_POT_VORT_SFC,VGRD,337 +Temperature on constant PV surface,TMP_ON_POT_VORT_SFC,TMP,338 +Height on constant PV surface,HGT_ON_POT_VORT_SFC,HGT,339 +Pressure on constant PV surface,PRES_ON_POT_VORT_SFC,PRES,340 +Wind shear on constant PV surface,VWSH_ON_POT_VORT_SFC,VWSH,341 +Planetary boundary layer cloud fraction,AVE_TCDC_ON_BOUND_LYR_CLOUD_LYR,TCDC,342 +Average water runoff,ACM_WATR_ON_SURFACE,WATR,343 +Planetary boundary layer regime,PBLREG_ON_SURFACE,PBLREG,344 +Maximum 2m temperature,MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,TMAX,345 +Minimum 2m temperature,MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,TMIN,346 +Maximum 2m RH,MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,MAXRH,347 +Minimum 2m RH,MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,MINRH,348 +Ice thickness,ICETK_ON_SURFACE,ICETK,349 +Highest freezing level relative humidity,RH_ON_HGHST_TROP_FRZ_LVL,RH,350 +Lapse rate on theta surface,LAPR_ON_ISENTROPIC_LVL,LAPR,351 +Relative humidity on theta surface,RH_ON_ISENTROPIC_LVL,RH,352 +Montgomery streamfunction on theta surface,MNTSF_ON_ISENTROPIC_LVL,MNTSF,353 +Shortwave temperature tendency on pressure surface,SWHR_ON_ISOBARIC_SFC,SWHR,354 +Longwave temperature tendency on pressure surface,LWHR_ON_ISOBARIC_SFC,LWHR,355 +Vertical diffusion temperature tendency on pressure surface,VDFHR_ON_ISOBARIC_SFC,VDFHR,356 +Deep convective temperature tendency on pressure surface,CNVHR_ON_ISOBARIC_SFC,CNVHR,357 +Shallow convective temperature tendency on pressure surface,SHAHR_ON_ISOBARIC_SFC,SHAHR,358 +Grid scale temperature tendency on pressure surface,LRGHR_ON_ISOBARIC_SFC,LRGHR,359 +Vertical diffusion moistening rate on pressure surface,VDFMR_ON_ISOBARIC_SFC,VDFMR,360 +Deep convective moistening rate on pressure surface,CNVMR_ON_ISOBARIC_SFC,CNVMR,361 +Shallow convective moistening rate on pressure surface,SHAMR_ON_ISOBARIC_SFC,SHAMR,362 +Grid scale moistening rate on pressure surface,LRGMR_ON_ISOBARIC_SFC,LRGMR,363 +Ozone vertical diffusion on pressure surface,VDFOZ_ON_ISOBARIC_SFC,VDFOZ,364 +Ozone production on pressure surface,POZ_ON_ISOBARIC_SFC,POZ,365 +Ozone tendency on pressure surface,TOZ_ON_ISOBARIC_SFC,TOZ,366 +Mass weighted potential vorticity on pressure surface,PVMW_ON_ISOBARIC_SFC,PVMW,367 +Snow temperature on pressure surface,SNOT_ON_ISOBARIC_SFC,SNOT,368 +Vertical diffusion zonal acceleration on pressure surface,VDFUA_ON_ISOBARIC_SFC,VDFUA,369 +Gravity wave drag zonal acceleration on pressure surface,GWDU_ON_ISOBARIC_SFC,GWDU,370 +Convective zonal momentum mixing acceleration on pressure surface,CNVU_ON_ISOBARIC_SFC,CNVU,371 +Vertical diffusion meridional acceleration on pressure surface,VDFVA_ON_ISOBARIC_SFC,VDFVA,372 +Gravity wave drag meridional acceleration on pressure surface,GWDV_ON_ISOBARIC_SFC,GWDV,373 +Convective meridional momentum mixing acceleration on pressure surface,CNVV_ON_ISOBARIC_SFC,CNVV,374 +Non-Convective Cloud Cover % on pressure surface,CDLYR_ON_ISOBARIC_SFC,CDLYR,375 +Simulated GOES 12 channel 3 brightness count,SBC123_ON_TOP_OF_ATMOS,SBC123,376 +Simulated GOES 12 channel 4 brightness count,SBC124_ON_TOP_OF_ATMOS,SBC124,377 +Omega on theta surface,VVEL_ON_ISENTROPIC_LVL,VVEL,378 +Temperature tendency by all physics on pressure surface,TTDIA_ON_ISOBARIC_SFC,TTDIA,379 +Vertical eddy diffusivity heat exchange on model surface,VEDH_ON_HYBRID_LVL,VEDH,380 +Mixing height,MIXHT_ON_SURFACE,MIXHT,381 +Average clear-sky incoming longwave at surface,AVE_CSDLF_ON_SURFACE,CSDLF,382 +Average clear-sky incoming shortwave at surface,AVE_CSDSF_ON_SURFACE,CSDSF,383 +Average clear-sky outgoing longwave at surface,AVE_CSULF_ON_SURFACE,CSULF,384 +Average clear-sky outgoing longwave at top of atmosphere,AVE_CSULF_ON_TOP_OF_ATMOS,CSULF,385 +Average clear-sky outgoing shortwave at surface,AVE_CSUSF_ON_SURFACE,CSUSF,386 +Average clear-sky outgoing shortwave at top of atmosphere,AVE_CSUSF_ON_TOP_OF_ATMOS,CSUSF,387 +Average incoming shortwave at top of atmosphere,AVE_DSWRF_ON_TOP_OF_ATMOS,DSWRF,388 +Transport wind u-component,UGRD_ON_PLANETARY_BOUND_LYR,UGRD,389 +Transport wind v-component,VGRD_ON_PLANETARY_BOUND_LYR,VGRD,390 +Convective updraft mass flux on pressure surface,CNVUMF_ON_ISOBARIC_SFC,CNVUMF,391 +Convective downdraft mass flux on pressure surface,CNVDMF_ON_ISOBARIC_SFC,CNVDMF,392 +Convective detrainment mass flux on pressure surface,CNVEMF_ON_ISOBARIC_SFC,CNVEMF,393 +Convective gravity drag zonal acceleration on pressure surface,CNVWDU_ON_ISOBARIC_SFC,CNVWDU,394 +Convective gravity drag meridional acceleration on pressure surface,CNVWDV_ON_ISOBARIC_SFC,CNVWDV,395 +Sunshine duration,SUNSD_ON_SURFACE,SUNSD,396 +Field capacity,FLDCP_ON_SURFACE,FLDCP,397 +ICAO height at maximum wind level,ICAHT_ON_MAX_WIND,ICAHT,398 +ICAO height at tropopause,ICAHT_ON_TROPOPAUSE,ICAHT,399 +Radar echo top,RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR,RETOP,400 +Time averaged surface Visible beam downward solar flux,AVE_VBDSF_ON_SURFACE,VBDSF,401 +Time averaged surface Visible diffuse downward solar flux,AVE_VDDSF_ON_SURFACE,VDDSF,402 +Time averaged surface Near IR beam downward solar flux,AVE_NBDSF_ON_SURFACE,NBDSF,403 +Time averaged surface Near IR diffuse downward solar flux,AVE_NDDSF_ON_SURFACE,NDDSF,404 +Average snowfall rate,AVE_SRWEQ_ON_SURFACE,SRWEQ,405 +GSD Instant precipitation type on surface,GSD_INST_CRAIN_ON_SURFACE,CRAIN,407 +GSD cloud ceiling height,GSD_HGT_ON_CLOUD_CEILING,HGT,408 +GSD visibility,GSD_VIS_ON_SURFACE,VIS,410 +Wind energy potential,WMIXE_ON_SPEC_HGT_LVL_ABOVE_GRND,WMIXE,411 +U wind at 80 m above ground,UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND,UGRD,412 +V wind at 80 m above ground,VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND,VGRD,413 +2 M mixing ratio,Not currently available for grib2,NA,414 +Graupel on model surface,GRLE_ON_HYBRID_LVL,GRLE,415 +Graupel on pressure surface,GRLE_ON_ISOBARIC_SFC,GRLE,416 +Continuous accumulated total precipitation,CACM_APCP_ON_SURFACE,APCP,417 +Continuous accumulated convective precipitation,CACM_ACPCP_ON_SURFACE,ACPCP,418 +Continuous accumulated grid-scale precipitation,CACM_NCPCP_ON_SURFACE,NCPCP,419 +Maximum updraft helicity,MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km,MXUPHL,420 +Maximum 1km reflectivity,MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km,MAXREF,421 +Maximum wind speed at 10m,MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,WIND,422 +Maximum updraft vertical velocity,MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa,MAXUVV,423 +Maximum downdraft vertical velocity,MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa,MAXDVV,424 +Mean vertical velocity,AVE_DZDT_ON_SIGMA_LVL_0.5-0.8,DZDT,425 +Radar echo top in KDT,HGT_ON_SPEC_HGT_LVL_ABOVE_GRND,HGT,426 +Updraft helicity,UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km,MXUPHL,427 +Total column integrated graupel,TCOLG_ON_ENTIRE_ATMOS,TCOLG,428 +Column integrated maximum graupel,MAXVIG_ON_ENTIRE_ATMOS_SINGLE_LYR,TCOLG,429 +U-component of 0-1km level wind shear,VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km,VUCSH,430 +V-component of 0-1km level wind shear,VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km,VVCSH,431 +U-component of 0-6km level wind shear,VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km,VUCSH,432 +V-component of 0-6km level wind shear,VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km,VVCSH,433 +Total precipitation accumulated over user-specified bucket,BUCKET_APCP_ON_SURFACE,APCP,434 +Convective precipitation accumulated over user-specified bucket,BUCKET_ACPCP_ON_SURFACE,ACPCP,435 +Grid-scale precipitation accumulated over user-specified bucket,BUCKET_NCPCP_ON_SURFACE,NCPCP,436 +Snow accumulated over user-specified bucket,BUCKET_WEASD_ON_SURFACE,WEASD,437 +Dust 1 on pressure surface,DUST1_ON_ISOBARIC_LVL,MASSMR,438 +Dust 2 on pressure surface,DUST2_ON_ISOBARIC_LVL,MASSMR,439 +Dust 3 on pressure surface,DUST3_ON_ISOBARIC_LVL,MASSMR,440 +Dust 4 on pressure surface,DUST4_ON_ISOBARIC_LVL,MASSMR,441 +Dust 5 on pressure surface,DUST5_ON_ISOBARIC_LVL,MASSMR,442 +Equilibrium level height,HGT_ON_EQUIL_LVL,HGT,443 +Lightning,LTNG_ON_SURFACE,LTNG,444 +MAPS Sea Level Pressure,MAPS_PRMSL_ON_MEAN_SEA_LVL,PRMSL,445 +GOES west channel 2 brightness temperature,SBT112_ON_TOP_OF_ATMOS,SBT112,446 +GOES west channel 3 brightness temperature,SBT113_ON_TOP_OF_ATMOS,SBT113,447 +GOES west channel 4 brightness temperature,SBT114_ON_TOP_OF_ATMOS,SBT114,448 +GOES west channel 5 brightness temperature,SBT115_ON_TOP_OF_ATMOS,SBT115,449 +In flight icing from NCAR algorithm,ICIP_ON_ISOBARIC_SFC,ICIP,450 +Specific humidity at flight levels,SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,SPFH,451 +Virtual temperature based convective available potential energy (CAPE),VTCAPE_ON_SURFACE,CAPE,452 +Virtual temperature based convective inhibition (CIN),VTCIN_ON_SURFACE,CIN,453 +Ventilation rate,VRATE_ON_PLANETARY_BOUND_LYR,VRATE,454 +Haines index,HINDEX_ON_SURFACE,HINDEX,455 +Simulated GOES 12 channel 2 brightness temperature with satellite angle correction,NON_NADIR_SBT122_ON_TOP_OF_ATMOS,SBT122,456 +Simulated GOES 12 channel 3 brightness temperature with satellite angle correction,NON_NADIR_SBT123_ON_TOP_OF_ATMOS,SBT123,457 +Simulated GOES 12 channel 4 brightness temperature with satellite angle correction,NON_NADIR_SBT124_ON_TOP_OF_ATMOS,SBT124,458 +Simulated GOES 12 channel 5 brightness temperature with satellite angle correction,NON_NADIR_SBT126_ON_TOP_OF_ATMOS,SBT126,459 +Simulated GOES 11 channel 2 brightness temperature with satellite angle correction,SBT112_ON_TOP_OF_ATMOS,SBT112,460 +Simulated GOES 11 channel 3 brightness temperature with satellite angle correction,SBT113_ON_TOP_OF_ATMOS,SBT113,461 +Simulated GOES 11 channel 4 brightness temperature with satellite angle correction,SBT114_ON_TOP_OF_ATMOS,SBT114,462 +Simulated GOES 11 channel 5 brightness temperature with satellite angle correction,SBT115_ON_TOP_OF_ATMOS,SBT115,463 +GTG eddy dissipation parameter (EDR) on pressure surface,EDPARM_ON_ISOBARIC_SFC,EDPARM,464 +GTG clean air turbulence (CAT) on pressure surface,CAT_ON_ISOBARIC_SFC,CATEDR,465 +GTG mountain wave turbulence (MWT) on pressure surface,MWTURB_ON_ISOBARIC_SFC,MWTURB,466 +GTG eddy dissipation parameter (EDR) at specific altitude above mean sea level,EDPARM_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,EDPARM,467 +GTG clean air turbulence (CAT) at specific altitude above mean sea level,CAT_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,CATEDR,468 +GTG mountain wave turbulence (MWT) at specific altitude above mean sea level,MWTURB_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,MWTURB,469 +GTG eddy dissipation parameter (EDR) on model surface,EDPARM_ON_HYBRID_LVL,EDPARM,470 +GTG clean air turbulence (CAT) on model surface,CAT_ON_HYBRID_LVL,CATEDR,471 +GTG mountain wave turbulence (MWT) on model surface,MWTURB_ON_HYBRID_LVL,MWTURB,472 +Horizontal extent of cumulonimbus (CB) %,CBHE_ON_ENTIRE_ATMOS,CBHE,473 +Standard atmosphere reference height of base of cumulonimbus,ICAHT_ON_CB_BASE,ICAHT,474 +Standard atmosphere reference height of top of cumulonimbus,ICAHT_ON_CB_TOP,ICAHT,475 +Maximum of Eddy Dissipation Parameter in Layer, MXEDPRM_ON_ENTIRE_ATMOS,MXEDPRM,476 +G2G Convectively-induced turbulence (CIT) eddy dissipation rate (EDR) at specific altitude above mean sea level (for regional model),CIT_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,CITEDR,477 +GFIP in-flight icing severity on pressure surface,ICESEV_ON_ISOBARIC_SFC,ICESEV,480 +Pressure at flight levels,PRES_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,PRES,482 +GSD experimental ceiling diagnostic,GSD_EXP_CEILING,CEIL,487 +Time-averaged percentage snow cover,AVE_SNOWC_ON_SURFACE,SNOWC,500 +Time-averaged surface pressure,AVE_PRES_ON_SURFACE,PRES,501 +Time-averaged 10m temperature,AVE_TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,TMP,502 +Time-averaged mass exchange coefficient,AVE_AKHS_ON_SURFACE,AKHS,503 +Time-averaged wind exchange coefficient,AVE_AKMS_ON_SURFACE,AKMS,504 +Temperature at 10m,TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,TMP,505 +Maximum U-component wind at 10m,MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,MAXUW,506 +Maximum V-component wind at 10m,MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,MAXVW,507 +Maximum instantaneous precipitation rate on surface,MAX_PRATE_ON_SURFACE,PRATE,508 +Maximum specific humidity at 2m,MAX_QMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,QMAX,510 +Minimum specific humidity at 2m,MIN_QMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,QMIN,511 +Aerodynamic conductance on surface,ACOND_ON_SURFACE,ACOND,512 +Canopy water evaporation on surface,AVE_EVCW_ON_SURFACE,EVCW,513 +Direct evaporation from bare soil on surface,AVE_EVBS_ON_SURFACE,EVBS,514 +Transpiration on surface,AVE_TRANS_ON_SURFACE,TRANS,515 +Sublimation on surface,AVE_SBSNO_ON_SURFACE,SBSNO,516 +Potential evaporation rate on surface,AVE_PEVPR_ON_SURFACE,PEVPR,517 +Maximum 1-minute average precipitation rate on surface,MAX_PRATE_1MIN_ON_SURFACE,PRATE1MIN,518 +Maximum 5-minute average precipitation rate on surface,MAX_PRATE_5MIN_ON_SURFACE,PRATE5MIN,519 +Maximum 10-minute average precipitation rate on surface,MAX_PRATE_10MIN_ON_SURFACE,PRATE10MIN,520 +Bucket density snowfall on surface,BUCKET1_ASNOW_ON_SURFACE,ASNOW,525 +Bucket total precipitation on surface,BUCKET1_APCP_ON_SURFACE,APCP,526 +Bucket freezing rain on surface,BUCKET1_FRZR_ON_SURFACE,FRZR,527 +Bucket snowfall on surface,BUCKET1_TSNOWP_ON_SURFACE,TSNOWP,528 +Bucket water equivalent accumulated snow depth on surface,BUCKET1_WEASD_ON_SURFACE,WEASD,529 +Bucket graupel precipitation on surface,BUCKET1_GRAUPEL_ON_SURFACE,FROZR,530 +Simulated Brightness Temperature for ABI GOES-18 Band-7,SBTA187_ON_TOP_OF_ATMOS,SBTA187,531 +Simulated Brightness Temperature for ABI GOES-18 Band-8,SBTA188_ON_TOP_OF_ATMOS,SBTA188,532 +Simulated Brightness Temperature for ABI GOES-18 Band-9,SBTA189_ON_TOP_OF_ATMOS,SBTA189,533 +Simulated Brightness Temperature for ABI GOES-18 Band-10,SBTA1810_ON_TOP_OF_ATMOS,SBTA1810,534 +Simulated Brightness Temperature for ABI GOES-18 Band-11,SBTA1811_ON_TOP_OF_ATMOS,SBTA1811,535 +Simulated Brightness Temperature for ABI GOES-18 Band-12,SBTA1812_ON_TOP_OF_ATMOS,SBTA1812,536 +Simulated Brightness Temperature for ABI GOES-18 Band-13,SBTA1813_ON_TOP_OF_ATMOS,SBTA1813,537 +Simulated Brightness Temperature for ABI GOES-18 Band-14,SBTA1814_ON_TOP_OF_ATMOS,SBTA1814,538 +Simulated Brightness Temperature for ABI GOES-18 Band-15,SBTA1815_ON_TOP_OF_ATMOS,SBTA1815,539 +Simulated Brightness Temperature for ABI GOES-18 Band-16,SBTA1816_ON_TOP_OF_ATMOS,SBTA1816,540 +GSD shelter level potential temperature,GSD_POT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,POT,546 +GSD shelter level dewpoint depression,GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,DEPR,547 +GSD shelter level surface equivalent potential temperature,GSD_EPOT_ON_SURFACE,EPOT,548 +Foundation sea surface temperature on surface,FDNSSTMP_ON_SURFACE,FDNSSTMP,549 +Categorical snow on surface,CSNOW_ON_SURFACE,CSNOW,551 +Categorical ice pellets on surface,CICEP_ON_SURFACE,CICEP,552 +Categorical freezing rain on surface,CFRZR_ON_SURFACE,CFRZR,553 +Average categorical snow on surface,AVE_CSNOW_ON_SURFACE,CSNOW,555 +Average categorical ice pellets on surface,AVE_CICEP_ON_SURFACE,CICEP,556 +Average categorical freezing rain on surface,AVE_CFRZR_ON_SURFACE,CFRZR,557 +GSD_Categorical snow on surface,GSD_CSNOW_ON_SURFACE,CSNOW,559 +GSD_Categorical ice pellets on surface,GSD_CICEP_ON_SURFACE,CICEP,560 +GSD_Categorical freezing rain on surface,GSD_CFRZR_ON_SURFACE,CFRZR,561 +GSD_average Categorical snow on surface,GSD_AVE_CSNOW_ON_SURFACE,CSNOW,563 +GSD_average Categorical ice pellets on surface,GSD_AVE_CICEP_ON_SURFACE,CICEP,564 +GSD_average Categorical freezing rain on surface,GSD_AVE_CFRZR_ON_SURFACE,CFRZR,565 +Best boundary layer CAPE,BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND,CAPE,566 +Best boundary layer CIN,BEST_CIN_ON_SPEC_PRES_ABOVE_GRND,CIN,567 +GFS sea level pressure,GFS_PRES_ON_MEAN_SEA_LVL,PRES,568 +GFS average convective cloud fraction,GFS_AVE_TCDC_ON_CONVECTIVE_CLOUD_LYR,TCDC,569 +GFS convective cloud fraction,GFS_TCDC_ON_CONVECTIVE_CLOUD_LYR,TCDC,570 +GFS Soil temperature at the bottom of soil layers,GFS_TMP_ON_DEPTH_BEL_LAND_SFC_3m,TMP,571 +GFS lifted index on surface,GFS_LFTX_ON_SURFACE,LFTX,572 +GFS lifted index on surface - best,GFS_4LFTX_ON_SURFACE,4LFTX,573 +Soil temperature in between each of soil layers,GFS_TMP_ON_DEPTH_BEL_LAND_SFC,TMP,574 +Column integrated cloud water,CWAT_ON_ENTIRE_ATMOS_SINGLE_LYR,CWAT,575 +Flight-level u-component wind,UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT,UGRD,576 +Flight-level v-component wind,VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT,VGRD,577 +Flight level specific humidity,SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT,SPFH,578 +Flight level pressure,PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT,PRES,579 +Flight level icing,ICI_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL_FDHGT,ICI,580 +Entire Atmosphere Vertically Integrated Liquid (kg/m-2) dervived from reflectivity,VIL_ON_ENTIRE_ATMOS,VIL,581 +Mixed-layer CAPE,MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND,CAPE,582 +Mixed-layer CIN,MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND,CIN,583 +Most unstable CAPE,UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND,CAPE,584 +Most unstable CIN,UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND,CIN,585 +Flight level temperature,TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT,TMP,586 +Flight level icing,ICI_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT,ICI,587 +Ice growth rate,ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,ICEG,588 +GFS 2D aerosol optical depth at 550 nm,AER_OPT_GFS_at550,AOTK,600 +GFS 2D dust aerosol optical depth at 550 nm,DUST_AER_OPT_GFS_at550,AOTK,601 +GFS 2D seasalt aerosol optical depth at 550 nm,SEASALT_AER_OPT_GFS_at550,AOTK,602 +GFS 2D sulfate aerosol optical depth at 550 nm,SULFATE_AER_OPT_GFS_at550,AOTK,603 +GFS 2D organic carbon aerosol optical depth at 550 nm,ORGANIC_CARBON_AER_OPT_GFS_at550,AOTK,604 +GFS 2D black carbon aerosol optical depth at 550 nm,BLACK_CARBON_AER_OPT_GFS_at550,AOTK,605 +Aerosol extinction coefficient on model surface,AECOEF_ON_HYBRID_LVL,AECOEF,606 +Asymmetry factor on model surface,ASYSFK_ON_HYBRID_LVL,ASYSFK,607 +Single scattering albedo on model surface,SSALBK_ON_HYBRID_LVL,SSALBK,608 +Aerosol optical depth at 550nm,AER_OPT_DEP_at550,AOTK,609 +Dust aerosol optical depth at 550nm,DUST_AER_OPT_DEP_at550,AOTK,610 +Seasalt aerosol optical depth at 550nm,SEASALT_AER_OPT_DEP_at550,AOTK,611 +Sulfate aerosol optical depth at 550nm,SULFATE_AER_OPT_DEP_at550,AOTK,612 +Organic carbon aerosol optical depth at 550nm,ORGANIC_CARBON_AER_OPT_DEP_at550,AOTK,613 +Black carbon aerosol optical depth at 550nm,BLACK_CARBON_AER_OPT_DEP_at550,AOTK,614 +Nitrate aerosol optical depth at 550nm,NITRATE_AER_OPT_DEP_at550,AOTK,615 +Black carbon column integrated mass density,BC_COL_MASS_DEN,COLMD,616 +Organic carbon column integrated mass density,OC_COL_MASS_DEN,COLMD,617 +Sulfate column integrated mass density,SULF_COL_MASS_DEN,COLMD,618 +Aerosol surface particulate matter (PM) 10 mass concentration (ug/m3),PM10_SFC_MASS_CON,PMTC,619 +Aerosol surface particulate matter (PM) 2.5 mass concentration (ug/m3),PM25_SFC_MASS_CON,PMTF,620 +Total aerosol particulate matter (PM) 10 column integrated mass density,PM10_COL_MASS_DEN,COLMD,621 +Total aerosol particulate matter (PM) 2.5 column integrated mass density,PM25_COL_MASS_DEN,COLMD,622 +Aerosol optical depth at 340nm,AER_OPT_DEP_at340,AOTK,623 +Aerosol optical depth at 440nm,AER_OPT_DEP_at440,AOTK,624 +Aerosol optical depth at 660nm,AER_OPT_DEP_at660,AOTK,625 +Aerosol optical depth at 860nm,AER_OPT_DEP_at860,AOTK,626 +Aerosol optical depth at 1630nm,AER_OPT_DEP_at1630,AOTK,627 +Aerosol optical depth at 11100nm,AER_OPT_DEP_at11100,AOTK,628 +Dust 1 on model surface,DUST1_ON_HYBRID_LVL,PMTF,629 +Dust 2 on model surface,DUST2_ON_HYBRID_LVL,PMTF,630 +Dust 3 on model surface,DUST3_ON_HYBRID_LVL,PMTC,631 +Dust 4 on model surface,DUST4_ON_HYBRID_LVL,PMTC,632 +Dust 5 on model surface,DUST5_ON_HYBRID_LVL,PMTC,633 +Seasalt 1 on model surface,SEASALT1_ON_HYBRID_LVL,PMTF,634 +Seasalt 2 on model surface,SEASALT2_ON_HYBRID_LVL,PMTF,635 +Seasalt 3 on model surface,SEASALT3_ON_HYBRID_LVL,PMTC,636 +Seasalt 4 on model surface,SEASALT4_ON_HYBRID_LVL,PMTC,637 +Seasalt 5 on model surface,SEASALT5_ON_HYBRID_LVL,PMTC,638 +SO4 on model surface,SO4_ON_HYBRID_LVL,PMTF,639 +Hydrophobic organic carbon on model surface,OCPHOBIC_ON_HYBRID_LVL,PMTF,640 +Hydrophilic organic carbon on model surface,OCPHILIC_ON_HYBRID_LVL,PMTF,641 +Hydrophobic black carbon on model surface,BCPHOBIC_ON_HYBRID_LVL,PMTF,642 +Hydrophilic black carbon on model surface,BCPHILIC_ON_HYBRID_LVL,PMTF,643 +Air density on model surface,AIR_DENSITY_ON_HYBRID_LVL,DEN,644 +Layer thickness on model surface,LAYER_THICKNESS_ON_HYBRID_LVL,THICK,645 +Dust particulate matter (PM) 2.5 column integrated mass density,DUST_COL_MASS_DEN,COLMD,646 +Sea salt particulate matter (PM) 2.5 column integrated mass density,SEAS_COL_MASS_DEN,COLMD,647 +Aerosol single scattering albedo at 340 nm,SINGLE_SCAT_ALBD_at340,SSALBK,648 +Aersol asymmetry factor at 340nm,AER_ASYM_FACTOR_at340,ASYSFK,649 +Total aerosol scattering optical depth at 550nm,AER_SCAT_OPT_DEP_at550,SCTAOTK,650 +Dust aerosol scattering optical depth at 550nm,DUST_AER_SCAT_OPT_DEP_at550,SCTAOTK,651 +Seasalt aerosol scattering optical depth at 550nm,SEASALT_AER_SCAT_OPT_DEP_at550,SCTAOTK,652 +Sulfate aerosol scattering optical depth at 550nm,SULFATE_AER_SCAT_OPT_DEP_at550,SCTAOTK,653 +Organic carbon aerosol scattering optical depth at 550nm,ORGANIC_CARBON_AER_SCAT_OPT_DEP_at550,SCTAOTK,654 +Black carbon aerosol scattering optical depth at 550nm,BLACK_CARBON_AER_SCAT_OPT_DEP_at550,SCTAOTK,655 +Angstrom exponent,ANGSTROM_EXP_at440_860,ANGSTEXP,656 +NO3 column integrated mass density,NO3_COL_MASS_DEN,COLMD,657 +NH4 column integrated mass density,NH4_COL_MASS_DEN,COLMD,658 +Dust emission mass flux,DUST_EMISSION_FLUX,AEMFLX,659 +Dust sedimentation mass flux,DUST_SEDIMENTATION_FLUX,SEDMFLX,660 +Dust dry deposition mass flux,DUST DRY DEPOSITION,DDMFLX,661 +Dust wet deposition mass flux,DUST WET DEPOSITION,WLSMFLX,662 +Seasalt emission mass flux,SEASALT_EMISSION_FLUX,AEMFLX,663 +Seasalt sedimentation mass flux,SEASALT_SEDIMENTATION_FLUX,SEDMFLX,664 +Seasalt dry deposition mass flux,SEASALT_DRY_DEPOSITION_FLUX,DDMFLX,665 +Seasalt wet deposition mass flux,SEASALT_WET_DEPOSITION_FLUX,WLSMFLX,666 +Black carbon emission mass flux,BLACK_CARBON_EMISSION_FLUX,AEMFLX,667 +Black carbon sedimentation mass flux,BLACK_CARBON_SEDIMENTATION_FLUX,SEDMFLX,668 +Black carbon dry deposition mass flux,BLACK_CARBON_DRY_DEPOSITION_FLUX,DDMFLX,669 +Black carbon wet deposition mass flux,BLACK_CARBON_WET_DEPOSITION_FLUX,WLSMFLX,670 +Organic carbon emission mass flux,ORGANIC_CARBON_EMISSION_FLUX,AEMFLX,671 +Organic carbon sedimentation mass flux,ORGANIC_CARBON_SEDIMENTATION_FLUX,SEDMFLX,672 +Organic carbon dry deposition mass flux,ORGANIC_CARBON_DRY_DEPOSITION_FLUX,DDMFLX,673 +Organic carbon wet deposition mass flux,ORGANIC_CARBON_WET_DEPOSITION_FLUX,WLSMFLX,674 +Sulfate emission mass flux,SULFATE_EMISSION_FLUX,AEMFLX,675 +Sulfate sedimentation mass flux,SULFATE_SEDIMENTATION_FLUX,SEDMFLX,676 +Sulfate dry deposition mass flux,SULFATE_DRY_DEPOSITION_FLUX,DDMFLX,677 +Sulfate wet deposition mass flux,SULFATE_WET_DEPOSITION_FLUX,WLSMFLX,678 +Dust scavenging mass flux,DUST_SCAVENGING_FLUX,WDCPMFLX,679 +Seasalt scavenging mass flux,SEASALT_SCAVENGING_FLUX,WDCPMFLX,680 +Black carbon scavenging mass flux,BLACK_CARBON_SCAVENGING_FLUX,WDCPMFLX,681 +Organic carbon scavenging mass flux,ORGANIC_CARBON_SCAVENGING_FLUX,WDCPMFLX,682 +Seasalt coarse aersol mass density concentration on model surface,SS_CR_AER_SFC_MASS_CON,MASSDEN,683 +Seasalt 2.5 mass density concentration on model surface,SEAS25_SFC_MASS_CON,PMTF,684 +Dust 10 mass density concentration on model surface,DUST10_SFC_MASS_CON,PMTC,685 +Dust 2.5 mass density concentration on model surface,DUST25_SFC_MASS_CON,PMTF,686 +Nitrate aerosol scattering optical depth at 550nm,NITRATE_AER_SCAT_OPT_DEP_at550,SCTAOTK,687 +NO3 on model surface,NO3_ON_HYBRID_LVL,PMTF,688 +NH4 on model surface,NH4_ON_HYBRID_LVL,PMTF,689 +Sulfate aerosol surface mass density concentration,SU_AER_SFC_MASS_CON,MASSDEN,689 +Instantaneous sulfate aerosol surface mass concentration,INST_SU_AER_SFC_MASS_CON,MASSDEN,690 +Instantaneous organic carbon aerosol surface mass concentration,INST_OC_AER_SFC_MASS_CON,MASSDEN,691 +Instantaneous black carbon aerosol surface mass concentration,INST_BC_AER_SFC_MASS_CON,MASSDEN,692 +Instantaneous coarse dust aerosol surface mass concentration,INST_DU_CR_AER_SFC_MASS_CON,MASSDEN,693 +Instantaneous fine dust aerosol surface mass concentration,INST_DU_FN_AER_SFC_MASS_CON,MASSDEN,694 +Instantaneous coarse seasalt aerosol surface mass concentration,INST_SS_CR_AER_SFC_MASS_CON,MASSDEN,695 +Instantaneous fine seasalt aerosol surface mass concentration,INST_SS_FN_AER_SFC_MASS_CON,MASSDEN,696 +Instantaneous coarse aerosol surface mass concentration,INST_CR_AER_SFC_MASS_CON,MASSDEN,697 +Instantaneous fine aerosol surface mass concentration,INST_FN_AER_SFC_MASS_CON,MASSDEN,698 +Mie-based aerosol optical depth at 550nm,MIE_OPT_DEP_at550,AOTK,699 +GSD Max updraft helicity at 1-6 km layer above ground,GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_1-6km,MXUPHL,700 +GSD updraft helicity at 1-6 km layer above ground,GSD_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_1-6km,UPHL,701 +GSD Max lightning threat 1,GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND,LTNGSD,702 +GSD Max lightning threat 2,GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND,LTNGSD,703 +GSD Max lightning threat 3,GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS,LTNG,704 +GSD Convective Initiation Lightning,GSD_NCI_LTG_ON_ENTIRE_ATMOS,NCILTG,705 +GSD Convective Activity Lightning,GSD_NCA_LTG_ON_ENTIRE_ATMOS,NCALTG,706 +GSD Convective Initiation Vertical Hydrometeor Flux,GSD_NCI_WQ_ON_ENTIRE_ATMOS,NCIWQ,707 +GSD Convective Activity Vertical Hydrometeor Flux,GSD_NCA_WQ_ON_ENTIRE_ATMOS,NCAWQ,708 +GSD Convective Initiation Reflectivity,GSD_NCI_REFL_ON_ENTIRE_ATMOS,TSEC,709 +GSD Convective Activity Reflectivity,GSD_NCA_REFL_ON_ENTIRE_ATMOS,TSEC,710 +Experimental cloud base height,GSD_EXP_CEILING_2,CEIL,711 +AQM aerosol optical depth at 550 nm,AER_OPT_AQM_at550,AOTK,712 +Column-Integrated Soil Moisture below the surface,CISOILM_ON_DEPTH_BEL_LAND_SFC,CISOILM,713 +Instantaneous all-sky outgoing shortwave flux at model top,INST_USWRF_ON_TOP_OF_ATMOS,USWRF,719 +GSD accumulated depth of snowfall,GSD_ACM_SNOD_ON_SURFACE,ASNOW,725 +Minimum green vegetation fraction,VEG_MIN_ON_SURFACE,VEGMIN,726 +GSD updraft helicity (2-5 km),GSD_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km,UPHL,727 +Max hail diameter at surface from WRF HAILCAST algorithm,GSD_HAILCAST_HAIL_DIAMETER,HAIL,728 +Maximum green vegetation fraction,VEG_MAX_ON_SURFACE,VEGMAX,729 +Time-averaged 10 M wind speed,AVE_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,WIND,730 +Time-averaged 10 M u-component wind,AVE_UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,UGRD,731 +Time-averaged 10 M v-component wind,AVE_VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,VGRD,732 +Time-averaged downward short-wave radiation flux,GSD_AVE_DSWRF_ON_SURFACE,DSWRF,733 +Time-averaged visible beam downward solar flux,GSD_AVE_SWDDNI_ON_SURFACE,VBDSF,734 +Total column aerosol optical depth,AOD_ON_ENTIRE_ATMOS_SINGLE_LYR,AOTK,735 +Total column fire smoke,SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR,COLMD,736 +Smoke on model surface,SMOKE_ON_HYBRID_LVL,MASSDEN,737 +Smoke on pressure surface,SMOKE_ON_ISOBARIC_SFC,MASSDEN,738 +Smoke at 8m above ground,SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m,MASSDEN,739 +Instantaneous mean fire radiative power (FRP),MEAN_FIRE_RDIATV_PWR,CFNSF,740 +Total column dust,DUST_ON_ENTIRE_ATMOS_SINGLE_LYR,COLMD,741 +Dust on model surface,DUST_ON_HYBRID_LVL,MASSDEN,742 +Dust on pressure surface,DUST_ON_ISOBARIC_SFC,MASSDEN,743 +Dust at 8m above ground,DUST_ON_SPEC_HGT_LVL_ABOVE_GRND_8m,MASSDEN,744 +Biomass burning emissions,BIOMASS_BURNING_EMISSIONS,AEMFLX,745 +Accumulated graupel,ACM_GRAUPEL_ON_SURFACE,FROZR,746 +Number concentration for cloud water drops on hybrid level,NCCD_ON_HYBRID_LVL,NCONCD,747 +Radar reflectivity at 1km above ground,GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_1km,REFD,748 +Relative humidity with respect to precipitable water,GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS,RHPW,749 +Water vapor mixing ratio on model surface,GSD_WV_MIXR_ON_HYBRID_LVL,MIXR,750 +Virtual potential temperature on model surface,GSD_VPTMP_ON_HYBRID_LVL,VPTMP,751 +Number concentration for ice particles on hybrid level,NCIP_ON_HYBRID_LVL,NCCICE,752 +GSD pressure on level of 0 deg (C) isotherm,GSD_PRES_ON_0C_ISOTHERM,PRES,753 +Number concentration of rain drops on model surface,NCRAIN_ON_HYBRID_LVL,SPNCR,754 +Hourly Wildfire Potential on surface,HWP_ON_SURFACE,WFIREPOT,755 +GSD pressure on highest tropospheric freezing level,GSD_PRES_ON_HGHST_TROP_FRZ_LVL,PRES,756 +GSD radar reflectivity at 4km above ground,GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_4km,REFD,757 +GSD convective cloud top height,GSD_HGT_ON_CONVECTIVE_CLOUD_TOP_LVL,HGT,758 +Hourly averaged smoke particulate matter 2.5 (PM) at 8m above ground,AVE_PM25_ON_SPEC_HGT_LVL_ABOVE_GRND_8m,MASSDEN,759 +GSD shelter mixing ratio,GSD_MIXR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,MIXR,760 +GSD snow temperature,GSD_INSIDE_SNOW_TMP_ON_SURFACE,TMP,761 +GSD surface mixing ratio,GSD_MIXR_ON_SURFACE,MIXR,762 +GSD mixing ration on level of free convection (LFC),GSD_MIXR_ON_LFC,MIXR,763 +Instantaneous clear-sky downwelling longwave at the surface,CSDLF_ON_SURFACE,CSDLF,764 +Instantaneous clear-sky upwelling longwave at the surface,CSULF_ON_SURFACE,CSULF,765 +GSD water-friendly aerosol number concentration on model surface,NCWFA_ON_HYBRID_LVL,PMTF,766 +GSD ice-friendly aerosol number concentration on model surface,NCIFA_ON_HYBRID_LVL,PMTC,767 +Echo top height (Highest height in meters of the 18-dBZ reflectivity on a model level),GSD_ECHOTOP_ON_CLOUD_TOP,RETOP,768 +Total Column Integrated Precipitation,TCOLP_ON_ENTIRE_ATMOS,TCOLP,769 +Hourly averaged dust 10-micron particulate matter (PM10) at 8m above ground,AVE_PM10_ON_SPEC_HGT_LVL_ABOVE_GRND_8m,MASSDEN,771 +Instantaneous shortwave surface downward direct normal irradiance,INST_SWDDNI_ON_SURFACE,VBDSF,772 +Instantaneous shortwave surface downward diffuse irradiance,INST_SWDDIF_ON_SURFACE,VDDSF,773 +Model-state cloud fraction (unprocessed) on model surface,FRACCC_ON_HYBRID_LVL,FRACCC,774 +Bucket graupel precipitation on surface,BUCKET_GRAUPEL_ON_SURFACE,FROZR,775 +Height on highest tropospheric -10C level,`HGT_ON_HGHST_TROP_-10C_LVL`,HGT,776 +Relative humidity on highest tropospheric -10C level,`RH_ON_HGHST_TROP_-10C_LVL`,RH,777 +Pressure on highest tropospheric -10C level,`PRES_ON_HGHST_TROP_-10C_LVL`,PRES,778 +Height on highest tropospheric -20C level,`HGT_ON_HGHST_TROP_-20C_LVL`,HGT,779 +Relative humidity on highest tropospheric -20C level,`RH_ON_HGHST_TROP_-20C_LVL`,RH,780 +Pressure on highest tropospheric -20C level,`PRES_ON_HGHST_TROP_-20C_LVL`,PRES,781 +Accumulated freezing rain,ACM_FRAIN_ON_SURFACE,FRZR,782 +Maximum u wind on 10 meter above ground,MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,MAXUW,783 +Maximum v wind on 10 meter above ground,MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,MAXVW,784 +Maximum reflectivity on -10C surface,`MAX_REF_ON_ISOTHERMAL_-10C`,REFD,785 +Global Systems Division (GSD) Minimum updraft helicity 2-5km,GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km,MNUPHL,786 +GSD Minimum updraft helicity 1-6 km,GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_1-6km,MNUPHL,787 +GSD Maximum updraft helicity 0-2km,GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km,MXUPHL,788 +GSD Minimum updraft helicity 0-2km,GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km,MNUPHL,789 +GSD Maximum updraft helicity 0-3km,GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km,MXUPHL,790 +GSD Minimum updraft helicity 0-3km,GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km,MNUPHL,791 +GSD Maximum relative vertical vorticity 0-2 km,GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km,RELV,792 +GSD Maximum relative vertical vorticity 0-1 km,GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km,RELV,793 +GSD Maximum hail diameter in column,MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN,HAIL,794 +GSD Maximum hail diameter at k=1,MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL,HAIL,795 +Shortwave Direct Normal Irradiance,INST_CLRSKY_SWDDNI_ON_SURFACE,DSWRFLXCS,796 +Shortwave Diffuse Irradiance,INST_CLRSKY_SWDDIF_ON_SURFACE,DFSWRFLXCS,797 +GSD maximum cloud fraction in (PBL + 1 km),TCDC_ON_BOUND_LYR,TCDC,799 +Shelter level apparent temperature,APTMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,APTMP,808 +Simulated Brightness Temperature (K) for SSMIS-F17 Channel 12,SSMS1712_ON_TOP_OF_ATMOS,SSMS1712,829 +Simulated Brightness Temperature (K) for SSMIS-F17 Channel 13,SSMS1713_ON_TOP_OF_ATMOS,SSMS1713,830 +Simulated GOES 13 channel 2 brightness temperature with satellite angle correction,Not currently available for grib2,NA,868 +Simulated GOES 15 channel 5 brightness temperature with satellite angle correction,Not currently available for grib2,NA,872 +Seviri brightness temperature channels 5-11,Not currently available for grib2,NA,876 +Hourly max relative vorticity on hybrid level 1,GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1,RELV,890 +Virtual temperature on model surfaces,VTMP_ON_HYBRID_LVL,VTMP,909 +Virtual temperature on pressure surfaces,VTMP_ON_ISOBARIC_SFC,VTMP,910 +Virtual temperature on flight levels,VTMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,VTMP,911 +Radar reflectivity at -10C,REFD_ON_ISOTHERMAL,REFD,912 +1h precipitation comparison to Flash Flood Guidance (FFG) thresholds,1H_FFG_EXCEEDANCE,QPFFFG,913 +Total accumulated precipitation comparison to FFG thresholds,ACM_FFG_EXCEEDANCE,QPFFFG,914 +1h precipitation comparison with 2-year Average Recurrence Interval (ARI) threshold,1H_2YARI_EXCEEDANCE,QPFARI,915 +Total accumulated precipitation comparison with 2-year ARI threshold,ACM_2YARI_EXCEEDANCE,QPFARI,916 +1h precipitation comparison with 5-year ARI threshold,1H_5YARI_EXCEEDANCE,QPFARI,917 +Total accumulated precipitation comparison with 5-year ARI threshold,ACM_5YARI_EXCEEDANCE,QPFARI,918 +1h precipitation comparison with 10-year ARI threshold,1H_10YARI_EXCEEDANCE,QPFARI,919 +Total accumulated precipitation comparison with 10-year ARI threshold,ACM_10YARI_EXCEEDANCE,QPFARI,920 +1h precipitation comparison with 100-year ARI threshold,1H_100YARI_EXCEEDANCE,QPFARI,921 +Total accumulated precipitation comparison with 100-year ARI threshold,ACM_100YARI_EXCEEDANCE,QPFARI,922 +Simulated GOES 16 band 7 brightness temperature,SBTA167_ON_TOP_OF_ATMOS,SBTA167,927 +Simulated GOES 16 band 8 brightness temperature,SBTA168_ON_TOP_OF_ATMOS,SBTA168,928 +Simulated GOES 16 band 9 brightness temperature,SBTA169_ON_TOP_OF_ATMOS,SBTA169,929 +Simulated GOES 16 band 10 brightness temperature,SBTA1610_ON_TOP_OF_ATMOS,SBTA1610,930 +Simulated GOES 16 band 11 brightness temperature,SBTA1611_ON_TOP_OF_ATMOS,SBTA1611,931 +Simulated GOES 16 band 12 brightness temperature,SBTA1612_ON_TOP_OF_ATMOS,SBTA1612,932 +Simulated GOES 16 band 13 brightness temperature,SBTA1613_ON_TOP_OF_ATMOS,SBTA1613,933 +Simulated GOES 16 band 14 brightness temperature,SBTA1614_ON_TOP_OF_ATMOS,SBTA1614,934 +Simulated GOES 16 band 15 brightness temperature,SBTA1615_ON_TOP_OF_ATMOS,SBTA1615,935 +Simulated GOES 16 band 16 brightness temperature,SBTA1616_ON_TOP_OF_ATMOS,SBTA1616,936 +Simulated GOES 17 band 7 brightness temperature,SBTA177_ON_TOP_OF_ATMOS,SBTA177,937 +Simulated GOES 17 band 8 brightness temperature,SBTA178_ON_TOP_OF_ATMOS,SBTA178,938 +Simulated GOES 17 band 9 brightness temperature,SBTA179_ON_TOP_OF_ATMOS,SBTA179,939 +Simulated GOES 17 band 10 brightness temperature,SBTA1710_ON_TOP_OF_ATMOS,SBTA1710,940 +Simulated GOES 17 band 11 brightness temperature,SBTA1711_ON_TOP_OF_ATMOS,SBTA1711,941 +Simulated GOES 17 band 12 brightness temperature,SBTA1712_ON_TOP_OF_ATMOS,SBTA1712,942 +Simulated GOES 17 band 13 brightness temperature,SBTA1713_ON_TOP_OF_ATMOS,SBTA1713,943 +Simulated GOES 17 band 14 brightness temperature,SBTA1714_ON_TOP_OF_ATMOS,SBTA1714,944 +Simulated GOES 17 band 15 brightness temperature,SBTA1715_ON_TOP_OF_ATMOS,SBTA1715,945 +Simulated GOES 17 band 16 brightness temperature,SBTA1716_ON_TOP_OF_ATMOS,SBTA1716,946 +CAPE on 0-3 km above ground,CAPE_ON_0_3KM_ABOVE_GRND,CAPE,950 +CIN on 0-3 km above ground,CIN_ON_0_3KM_ABOVE_GRND,CIN,951 +Level of free convection (LFC) height,HGT_ON_LFC,HGT,952 +Effective storm relative helicity,EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND,EFHL,953 +Downdraft CAPE,DOWNWARD_CAPE,DCAPE,954 +Dendritic layer depth,DENDRITIC_LAYER_DEPTH,LAYTH,955 +Enhanced stretching potential,ENHANCED_STRETCHING_POTENTIAL,ESP,956 +Critical angle,CRITICAL_ANGLE,CANGLE,957 +Simulated GOES R band 7 brightness temperature,SBTAGR7_ON_TOP_OF_ATMOS,SBTAGR7,958 +Simulated GOES R band 8 brightness temperature,SBTAGR8_ON_TOP_OF_ATMOS,SBTAGR8,959 +Simulated GOES R band 9 brightness temperature,SBTAGR9_ON_TOP_OF_ATMOS,SBTAGR9,960 +Simulated GOES R band 10 brightness temperature,SBTAGR10_ON_TOP_OF_ATMOS,SBTAGR10,961 +Simulated GOES R band 11 brightness temperature,SBTAGR11_ON_TOP_OF_ATMOS,SBTAGR11,962 +Simulated GOES R band 12 brightness temperature,SBTAGR12_ON_TOP_OF_ATMOS,SBTAGR12,963 +Simulated GOES R band 13 brightness temperature,SBTAGR13_ON_TOP_OF_ATMOS,SBTAGR13,964 +Simulated GOES R band 14 brightness temperature,SBTAGR14_ON_TOP_OF_ATMOS,SBTAGR14,965 +Simulated GOES R band 15 brightness temperature,SBTAGR15_ON_TOP_OF_ATMOS,SBTAGR15,966 +Simulated GOES R band 16 brightness temperature,SBTAGR16_ON_TOP_OF_ATMOS,SBTAGR16,967 +Sea ice skin temperature,ICETMP_ON_SURFACE,ICETMP,968 +Simulated Himawari-8 band 7 brightness temperature,SBTAHI7_ON_TOP_OF_ATMOS,SBTAHI7,969 +Simulated Himawari-8 band 8 brightness temperature,SBTAHI8_ON_TOP_OF_ATMOS,SBTAHI8,970 +Simulated Himawari-8 band 9 brightness temperature,SBTAHI9_ON_TOP_OF_ATMOS,SBTAHI9,971 +Simulated Himawari-8 band 10 brightness temperature,SBTAHI10_ON_TOP_OF_ATMOS,SBTAHI10,972 +Simulated Himawari-8 band 11 brightness temperature,SBTAHI11_ON_TOP_OF_ATMOS,SBTAHI11,973 +Simulated Himawari-8 band 12 brightness temperature,SBTAHI12_ON_TOP_OF_ATMOS,SBTAHI12,974 +Simulated Himawari-8 band 13 brightness temperature,SBTAHI13_ON_TOP_OF_ATMOS,SBTAHI13,975 +Simulated Himawari-8 band 14 brightness temperature,SBTAHI14_ON_TOP_OF_ATMOS,SBTAHI14,976 +Simulated Himawari-8 band 15 brightness temperature,SBTAHI15_ON_TOP_OF_ATMOS,SBTAHI15,977 +Simulated Himawari-8 band 16 brightness temperature,SBTAHI16_ON_TOP_OF_ATMOS,SBTAHI16,978 +Effective surface height on effective layer bottom (m),EFSH_ON_EFBL,EFSH,979 +Effective surface height on effective layer top (m),EFSH_ON_EFTL,EFSH,980 +Equilibrium temperature on effective layer (EL) top,ELMELT_ON_EFTL,ELMELT,982 +U-inflow based to 50% EL shear vector,UESH_ON_EFL,UESH,983 +V-inflow based to 50% EL shear vector,VESH_ON_EFL,VESH,984 +Inflow based (ESFC) to (50%) EL shear magnitude,ESHR_ON_EFL,ESHR,985 +U-component Bunkers effective right motion,UEID_ON_EFL,UEID,986 +V-component Bunkers effective right motion,VEID_ON_EFL,VEID,987 +Effective layer helicity,E3KH_ON_EFL,E3KH,988 +Effective layer significant tornado parameter with CIN,STPC_ON_EFL,STPC,989 +Fixed layer tornado parameter,SIGT_ON_EFL,SIGT,990 +Effective layer supercell composite parameter,SCCP_ON_EFL,SCCP,991 +Mixed Layer (100 mb) virtual LFC,MLFC_ON_EFL,MLFC,992 +Significant hail parameter,SIGH_ON_EFL,SIGH,993 +Average ozone concentration on model surface,AVE_OZCON_ON_HYBRID_LVL,OZCON,994 +Average particulate matter 2.5 (PM25) on model surface,AVE_PM25TOT_ON_HYBRID_LVL,PMTF,995 +Land fraction,LAND_FRAC,LANDFRC,996 +Instantaneous precipitation advected heat flux,INST_PREC_ADVEC_HEAT,PAHFLX,997 +Water storage in aquifer,WATER_AQUIFER,WATERSA,998 +Accumulated evaporation of intercepted water,ACM_EIWATER_ON_SURFACE,EIWATER,999 +Accumulated plant transpiration on surface,ACM_PLANTTR_ON_SURFACE,PLANTTR,1000 +Accumulated soil surface evaporation,ACM_SOILSE_ON_SURFACE,SOILSE,1001 +Average precipitation advected heat flux,AVE_PREC_ADVEC_HEAT,PAHFLX,1002 +Bucket freezing rain on surface,BUCKET_FRAIN_ON_SURFACE,FRZR,1003 +Accumulated snowfall on surface,ACM_SNOWFALL_ON_SURFACE,TSNOWP,1004 +Bucket snowfall on surface,BUCKET_SNOWFALL_ON_SURFACE,TSNOWP,1005 +Snow density solid-liquid ratio on surface,SDEN_ON_SURFACE,SDEN,1006 +Icing probability on flight levels,ICE_PROB_IFI_FLIGHT_LEVEL,ICPRB,1007 +Supercooled large droplet icing on flight levels,SLD_IFI_FLIGHT_LEVEL,SIPD,1008 +Icing severity category on flight levels,ICE_SEV_CAT_IFI_FLIGHT_LEVEL,ICSEV,1009 +WMO icing severity category on flight levels,WMO_ICE_SEV_CAT_IFI_FLIGHT_LEVEL,ICESEV,1010 +Total column coarse particulate matter (PM),COARSEPM_ON_ENTIRE_ATMOS_SINGLE_LYR,COLMD,1011 +Coarse particulate matter on model surface,COARSEPM_ON_HYBRID_LVL,MASSDEN,1012 +Coarse particulate matter on pressure surface,COARSEPM_ON_ISOBARIC_SFC,MASSDEN,1013 +Coarse particulate matter at 8m above ground,COARSEPM_ON_SPEC_HGT_LVL_ABOVE_GRND_8m,MASSDEN,1014 +Atmosphere Emission Mass Flux on model surface,EBB_ON_HYBRID_LVL, AEMFLX,1015 +Atmosphere Emission Mass Flux on pressure surface,EBB_ON_ISOBARIC_SFC,AEMFLX,1016 +Atmosphere Emission Mass Flux at 8m above ground,EBB_ON_SPEC_HGT_LVL_ABOVE_GRND_8m,AEMFLX,1017 +Number concentration for cloud water drops on isobaric surfaces,NCCD_ON_ISOBARIC_SFC,NCONCD,1018 +Number concentration for ice particles on isobaric surfaces,NCIP_ON_ISOBARIC_SFC,NCCICE,1019 +Number concentration for rain on isobaric surfaces,NCRAIN_ON_ISOBARIC_SFC,SPNCR,1020 +Velocity potential on isobaric surfaces,POISSION_VPOT_ON_ISOBARIC_SFC,VPOT,1021 +Stream Function on isobaric surface,POISSION_STRM_ON_ISOBARIC_SFC,STRM,1022 +Number concentraion of graupel on native levels,NCGRAUP_ON_HYBRID_LVL,SPNCG,1023 +Number concentraion of graupel on isobaric levels,NCGRAUP_ON_ISOBARIC_SFC,SPNCG,1024 diff --git a/docs/UPP_GRIB2_Table.rst b/doc/UserGuide/tables/UPP_GRIB2_Table_byID.rst similarity index 60% rename from docs/UPP_GRIB2_Table.rst rename to doc/UserGuide/tables/UPP_GRIB2_Table_byID.rst index b64b61cac3..3f5f1be3fc 100644 --- a/docs/UPP_GRIB2_Table.rst +++ b/doc/UserGuide/tables/UPP_GRIB2_Table_byID.rst @@ -1,14 +1,17 @@ +:orphan: + +.. _grib2-fields-by-id: + ******************************** GRIB2 Fields Produced by UPP ******************************** GRIB2 fields produced by UPP (column 1), abbreviated names used in the *postcntrl.xml* file (column 2), corresponding standard -grib2 pname (column 3), corresponding grib identification number for the -vertical coordinate (column 4), and corresponding array location UPP +grib2 pname (column 3), and corresponding array location UPP uses to store the variable in parallel arrays (column 5). .. csv-table:: - :file: UPP_GRIB2_Table.csv - :widths: 25, 30, 15, 15, 15 + :file: UPP_GRIB2_Table_byID.csv + :widths: 25, 30, 15, 15 :header-rows: 1 diff --git a/docs/module-load-make-howto.txt b/doc/module-load-make-howto.txt similarity index 100% rename from docs/module-load-make-howto.txt rename to doc/module-load-make-howto.txt diff --git a/docs/user_guide.md b/doc/user_guide.md similarity index 50% rename from docs/user_guide.md rename to doc/user_guide.md index 9514436c0b..00bc5d86ea 100644 --- a/docs/user_guide.md +++ b/doc/user_guide.md @@ -2,6 +2,15 @@ # Unified Post-Processing (UPP) +The UPP code is publicly available on GitHub at https://github.com/NOAA-EMC/UPP. + +## Documentation for Previous Versions of UPP + +* [UPP Version UPP-SRW-v2.2.0](upp-srw-v2.2.0/index.html) +* [UPP Version 11.0.0](upp_v11.0.0/index.html) + +## Background Information + 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 @@ -20,7 +29,7 @@ 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: +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 @@ -33,5 +42,18 @@ techniques. Examples of UPP products include: - 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. +## Prerequisites +The UPP requires certain NCEPLIBS packages to be installed via the spack-stack project. For instructions on installing these packages as a bundle via spack-stack, see: https://spack-stack.readthedocs.io/en/latest/. The UPP/modulefiles directory indicates which package versions are used and supported on Level 1 systems. + +## Community Support +Community support for the Unified Forecast System (UFS) UPP in FV3-based applications is provided by the +Earth Prediction Innovation Center (EPIC). Community support for the UPP with WRF is no longer available. + +* Support for the UFS UPP is provided through [GitHub Discussions](https://github.com/NOAA-EMC/UPP/discussions). +* The UPP User's Guide for the latest standalone public release is [UPP v11.0.0](https://upp.readthedocs.io/en/upp_v11.0.0/). +* The UPP User's Guide for develop branch is [UPP develop](https://upp.readthedocs.io/en/develop/). +* The [UPP wiki](https://github.com/NOAA-EMC/UPP/wiki) includes relevant information and links for users and developers. +* Instructions on technical code documentation are available in a set of [Doxygen Documentation Slides](https://github.com/NOAA-EMC/UPP/wiki/DoxygenDocumentation.pdf). + +Code Managers: Wen Meng (EMC), Huiya Chuang (EMC), Fernando Andrade-Maldonado (EPIC) + diff --git a/docs/AddNewVariable.rst b/docs/AddNewVariable.rst deleted file mode 100644 index 3c98540d09..0000000000 --- a/docs/AddNewVariable.rst +++ /dev/null @@ -1,396 +0,0 @@ -********************* -Adding a New Variable -********************* - -This document provides general procedures and an example of how to add a new variable to the UPP code. -Please keep in mind it may not be an exhaustive step-by-step depending on your particular situation. -While we can provide general assistance for adding a new variable, users should be aware that this -requires good knowledge of Fortran and thorough understanding of the code. - -NOAA UPP developers who wish to add new variables to the UPP, please follow the following procedures: - -1. Read and follow procedures on the `UPP wiki page `_ - on how to contribute your code changes to the UPP main development. Doing so will ensure your changes are merged - to the UPP development quickly. - -2. Submit your pull request with small incremental changes. Advantages of doing this include avoiding - conflicts with other UPP developers in terms of using the UPP internal Index and variables. - -3. Please do not modify existing algorithms without coordinating with UPP code managers (Wen Meng and - Hui-Ya Chuang). UPP supports many NOAA operational models and we can not change operational products - without coordination and advanced notices. - -We encourage non NOAA UPP developers to contact the Developmental Testbed Center (DTC) via the UPP -`forum `_ to make them aware of modifications you -are making. In some cases, if they determine the changes you are making may be relevant for operational -and/or community purposes, they will be interested in incorporating your changes into the code base for -support and future release. We would then work with you to make this possible. - -The following outlines a brief description of the steps to be taken and are described in more detail -with examples in the sections below. - -1. Check whether your new variable has been defined in the file parm/post_avblflds.xml in your UPP working - version. This file defines all available GRIB2 fields in UPP. - - A. If no (not available in post_avblflds.xml) - - i. Check whether your new variable has been defined in the - `NCEP Grib2 Table `_ - (Product Discipline and Parameter Category). - - 1. If no (not available in the NCEP Grib2 Table) - - a. NOAA users can email Boi.Vuong@noaa.gov with the following information for your new - variable: variable definition, unit, and what Grib2 discipline and category you think this - variable should belong to. Boi will define your new variable in the `NCEP Grib2 Table - `_ and - inform you of the Grib2 discipline and category numbers you should use. - - b. Contact with Boi to update parm/params_grib2_tbl_new.text with your new variable and - generate a params_grib2_tbl_new which lists in alphabetical order to improve post - processing efficiency. - - c. Save new params_grib2_tbl_new.text and params_grib2_tbl_new under parm/ of your UPP - working version. - - d. Other users please coordinate through the DTC for the above three steps. - - e. Add a new entry in post_avblflds.xml with your new variable, then follow step B), then step 2) - and beyond. You should assign a new UPP ID for your new variable. - - 2. If yes (available in the NCEP Grib2 Table) - - a. Add a new entry in post_avblflds.xml with your new variable, then follow step B), then step 2) - and beyond. You should assign a new UPP ID for your new variable. - - B. If yes (available in post_avblflds.xml), then your new variable is already available in UPP. Follow the - following two steps i) and ii), make a test UPP run, and then look for your new variable in your output. - You can skip the remaining steps about modifying the source codes. - - i. Add a new entry in your application’s control xml file (e.g. fv3lam.xml for FV3LAM application, - postcntrl_gfs.xml for FV3GFS application). This file lets users control which variables to output - from UPP for Grib2. - - ii. Generate your_user_defined_flat file (e.g. postxconfig-NT-fv3lam.txt for FV3LAM application) by - executing: - - /usr/bin/perl PostXMLPreprocessor.pl your_user_defined_xml post_avblflds.xml your_user_defined_flat - - This flat file (instead of the xml file) is read in by UPP as it was much faster to read a text file - than an xml file. - -2. Define the new field: RQSTFLD.F - - This file contains a list of all possible fields to be output by UPP, corresponding Grib1 key-word character - strings, UPP ID (Index) for internal code, and Grib1 IDs. Note that as of December 2020, EMC removed the Grib1 - option from its repository as part of its re-reginnering effort. Users will continue to use UPP ID (Index) for - defining the new variable to be added. However, the character string and Grib1 ID in RQSTFLD.F will no longer - be used by UPP. - -3. Allocate the field: ALLOCATE.f - - This file is the instantiation or allocation of the variable. Note that the variables are defined - based on the parallel processing capability of UPP - use an example from the file. - -4. Deallocate the field: DEALLOCATE.f - - All good programmers give back their resources when they are done. Please update this routine to - return your resource to the system. - -5. Declare the new variable: VRBLS2D_mod.f, VRBLS3D_mod.f, or VRBLS4D_mod.f - - The variable is declared in one of these modules defining files depending on its dimension. - -6. Read model output if necessary: INITPOST_GFS_NETCDF_PARA.f (current operational netcdf output with GFS V16), - INITPOST_NETCDF.f (LAM FV3 netcdf) - - Check first to see if all variables needed to derive your new variable are already available in UPP. If not, - you will need to use one of these files for reading the model output files. The appropriate one will need to - be chosen based on the model and model output format. - -7. Add to appropriate routine for filling the new variable: e.g. SURFCE.f, MDLFLD.f, MDL2P.f, etc - - This is the place where you will derive your new variable and then fill the Grib2 array with the data to be - written out later on. - -8. Build or rebuild the code for changes to take effect before running your UPP run script. - - -**Example Procedure: Steps for adding a new variable ‘TG3’** - -- This example illustrates adding a new variable from GFS output that will be read into UPP - and directly output into the Grib2 output files (i.e. in this case no additional computations/calculations - are needed for the field). -- Additions to each of the routines are highlighted. -- Locations of routines are in EMC_post/sorc/ncep_post.fd unless specified otherwise. -- The new variable, TG3, added in this example is found in the gfs.t00z.sfcf006.nc; however, both the - gfs.t00z.sfcf006.nc and gfs.t00z.atmf006.nc output files are required to run UPP for GFS. -- TG3 is the averaged climatology of surface temperature, which the LSMs use to specify bottom soil T, - where the depth of the bottom is LSM dependent. For this example, a depth of 500cm is used. - - New variable to add:: - - float tg3(time, grid_yt, grid_xt) ; - tg3:long_name = "deep soil temperature" ; - tg3:units = "K" ; - tg3:missing_value = 9.99e+20 ; - tg3:cell_methods = "time: point" ; - tg3:output_file = "sfc" ; - -1. Check whether your new variable has been defined in the file parm/post_avblflds.xml in your UPP working - version. - - A. This variable is not available in parm/post_avblflds.xml. - - i. Check whether your new variable has been defined in the NCEP Grib2 Table. - - 1) This variable is not defined in the NCEP Grib2 Table. - - a)-d) For the purpose of this example alone, steps a) - d) are not executed as instructed. - Instead, manual instructions are provided here for adding to the params_grib2_table_new in order - to create a working example. - - For this example, the variable will be added to parm/params_grib2_tbl_new manually. You would only - do this if you had no plans to contribute your addition to UPP develop, otherwise, follow the - instructions as a NOAA or Other user in steps a) - d). - - For all current UPP output fields, the params_grib2_table_new lists, in order, the: - - Discipline (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table0-0.shtml) - - Category (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-1.shtml) - - Parameter Number (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-2.shtml) - - Table information (0 for parameters from the WMO table; 1 for parameters from the local NCEP table) - - Abbreviated Variable Name (from the parameters table) - - User Procedure - - Add this variable as TG3. - - TG3 is a land surface product (discipline=2) - - TG3 is a vegetation/biomass product (category=0) - - Pick an unused parameter number from the table defined by discipline=2 and category=0 - (Table 4.2-0-0: https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-2-2-0.shtml). - The parameter number should not be in use in table 4.2 or the current params_grib2_tbl_new. - In this case, the unused parameter number 231 was chosen. - - Add using the NCEP local table (table=1) - - Choose an abbreviated parameter name to describe your field (e.g. TG3) - - Add alphabetically to the table as: - - :: - - 2 0 231 1 TG3 - - e) Add the new variable to the EMC_post/parm/post_avblflds.xml, which lists all fields available - for output in GRIB2 format. This file is generally not modified unless adding a new field or - modifying an existing one. - - Post_avblfldidx: the unique array number given in the RQSTFLD.f routine. - - Shortname: name describing the variable and level type - - Pname: the abbreviation for your variable (should match what is used in params_grib2_tbl_new) - - Table info: table used if not standard WMO - - Fixed_sfc1_type: level type - - Level: Generally only used here if it's a fixed level specific to the variable (e.g. T2m, TSOIL5m) - - Scale: precision of data written out to Grib2 file - - User procedure - - Add as: - - :: - - - 999 - DEEP_TSOIL_ON_DEPTH_BEL_LAND_SFC - TG3 - depth_bel_land_sfc - NCEP - 500. - 3.0 - - - B. Add the variable to the user defined control file. - - i. Add a new entry in your application’s control xml file (e.g. fv3lam.xml for FV3LAM application, - postcntrl_gfs.xml for FV3GFS application). This file lets users control which variables to output - from UPP for Grib2. - - User procedure - - Add as: - - :: - - - DEEP_TSOIL_ON_DEPTH_BEL_LAND_SFC - 4.0 - - - ii. Generate your_user_defined_flat file (e.g. postxconfig-NT-fv3lam.txt for FV3LAM application) by - executing: - - :: - - >> /usr/bin/perl PostXMLPreprocessor.pl your_user_defined_xml post_avblflds.xml your_user_defined_flat - - This flat file (instead of the xml file) is read in by UPP as it was much faster to read a text file - than an xml file. - -2. Define the new variable in RQSTFLD.F which includes a list of all possible fields to be output by - UPP, corresponding Grib1 key-word character strings, UPP ID (Index) for internal code, and Grib1 IDs. - Ensure your code is up-to-date and pick a unique identifier that is not already used for the new variable. - Currently, the 900's are being used for new contributions. - - Example Entry - - | ! HWRF addition for v_flux as pass through variable: - - | DATA IFILV(901),AVBL(901),IQ(901),IS(901),AVBLGRB2(901) & - | & /1,'MODEL SFC V WIND STR’,125,001, & - | & 'V_FLX ON surface’/ - - Where: - - **IFILV** Identifies field as MASS/VELOCITY point (e.g. 1) - - **AVBL** is the model output character string variable name for Grib1 (e.g. MODEL SFC V WIND STR) - - **IQ** is the GRIB PDS OCTET 9 (table 2) - Indicator of parameter and units (e.g. 125) - - **IS** is the GRIB PDS OCTET 10 (table 3&3a) - Indicator of type of level or layer (e.g. 001) - - **AVBLGRB2** is the model output character string variable name for Grib2 (e.g. V_FLX ON surface) - - A UNIQUE array Index UPP uses to store this variable in parallel arrays (e.g. **901**) - - User procedure - - Soil temperature (TSOIL) is found in the Grib1 parameter tables as parameter number 085, so this - can be used for the Grib1 ID. - http://www.nco.ncep.noaa.gov/pmb/docs/on388/table2.html - - Use level type 'depth below land surface', which is 111. - http://www.nco.ncep.noaa.gov/pmb/docs/on388/table3.html - - New variables are continuously being added to UPP, so be sure to check that the UPP Index 999 is - still available before using it to add your new variable. If it is already in use, pick the next - available Index. - - Add as: - - :: - - DATA IFILV(999),AVBL(999),IQ(999),IS(999),AVBLGRB2(999) & - & /1,'DEEP SOIL TMP',085,111, & - & 'DEEP TSOIL ON depth_bel_land_sfc'/ - - .. note:: - Since Grib1 is no longer supported, the variable character strings and Grib IDs for Grib1 are not - important, but still need to be included here for correct formatting. - -3. Allocate the new variable in ALLOCATE_ALL.f - This file is the instantiation or allocation of the variable. Note that the variables are defined - based on the parallel processing capability of UPP - use an example from the file. - - User Procedure - - Add in VRBLS2D GFS section as: - - :: - - allocate(tg3(im,jsta_2l:jend_2u)) - -4. De-allocate the variable to give the resources back in DEALLOCATE.f - All good programmers give back their resources when they are done. Please update this - routine to return your resources to the system. - - User procedure - - Add in VRBLS2D GFS section as: - - :: - - deallocate(tg3) - -5. Declare the new variable in the appropriate file depending on its dimensions; - VRBLS2D_mod.f, VRBLS3D_mod.f or VRBLS4D_mod.f - - User procedure - - tg3 is a 2-dimensional field, so declare it in VRBLS2D_mod.f - - Add to the GFS section for adding new fields as: - - :: - - tg3(:,:) - -6. Read the field from the GFS model output file by adding the new variable into INITPOST_GFS_NETCDF_PARA.f. - This file is used for reading the GFS model FV3 output files in netcdf format. - - User procedure - - Add to top section of the routine in ‘use vrbls2d’ to initiate the new variable as: - - :: - - tg3 - - - Read in the new variable in the section for reading the 2D netcdf file using another 2D variable - as an example, such as 'hpbl'. Add as: - - :: - - ! deep soil temperature - VarName='tg3' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,tg3) - -7. Determine the appropriate routine to add the new variable to (e.g. SURFCE.f, MDLFLD.f, - MDL2P.f, etc). This is the place that you will fill the Grib2 array with the data to be written out later on. - The appropriate routine will depend on what your field is. For example, if you have a new diagnostic called foo, - and you want it interpolated to pressure levels, you would need to add it to MDL2P.f. If foo was only a - surface variable, you would add it to SURFCE.f. If you wanted foo on native model levels, you - would add it to MDLFLD.f. If you’re not sure which routine to add the new variable to, choose a - similar variable as a template. - - Note: This is also where you would add any calculations needed for your new variable, should it - be required. - - User procedure - - Treat tg3 like a surface field (SURFCE.f), similar to the other soil fields. - - Use another 2D variable, such as 'SNOW WATER EQUIVALENT' as a template. This variable is also - being read through and output, similar to what we want. - - Add to top section in ‘use vrbls2d, only’ to initiate the new variable as: - - :: - - tg3 - - - Add in main section using a template variable as a guide. - - :: - - ! DEEP SOIL TEMPERATURE - IF ( IGET(999).GT.0 ) THEN - ID(1:25) = 0 - If(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(999)) - !$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = TG3(i,jj) - enddo - enddo - endiF - ENDIF - -8. Build or rebuild the code for changes to take effect before running your UPP run script. - - User procedure IF you already have the code built. Otherwise, see the User's Guide for instructions on building. - - :: - - >> cd EMC_post/build - >> make install - - Assuming the modified code built successfully and you were able to produce Grib2 output, you can check the Grib2 - file for your new variable. - - GRIB2 output of the new variable from this example procedure (using the wgrib2 utility if available on your system). - - For this example, since the new variable was not added to the NCEP Grib2 table, it will not be defined by the - variable name. Instead it will be defined using the Grib2 parameter information entered into params_grib2_tbl_new - from step 1 of this procedure. - - :: - - wgrib2 -V GFSPRS.006 - - 716:37731711:vt=2019061506:500 m underground:6 hour fcst:var discipline=2 center=7 local_table=1 parmcat=0 parm=231: - ndata=73728:undef=0:mean=278.383:min=215.47:max=302.4 - grid_template=40:winds(N/S): - Gaussian grid: (384 x 192) units 1e-06 input WE:NS output WE:SN - number of latitudes between pole-equator=96 #points=73728 - lat 89.284225 to -89.284225 - lon 0.000000 to 359.062500 by 0.937500 - diff --git a/docs/CodeOverview.rst b/docs/CodeOverview.rst deleted file mode 100644 index 5ca2284cee..0000000000 --- a/docs/CodeOverview.rst +++ /dev/null @@ -1,20 +0,0 @@ -************* -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 applications available for FV3 only. It can ingest FV3 write component files in -netCDF and binarynemsiompiio format. - -UPP 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 the UPP is provided in - :doc:`UPP_GRIB2_Table`. - - - Outputs the results in NWS and WMO standard GRIB2 format (see - `Grib documentation `_). diff --git a/docs/InputsOutputs.rst b/docs/InputsOutputs.rst deleted file mode 100644 index 56c65cb9bf..0000000000 --- a/docs/InputsOutputs.rst +++ /dev/null @@ -1,156 +0,0 @@ -.. role:: underline - :class: underline -.. role:: bolditalic - :class: bolditalic - -****************** -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 :bolditalic:`itag` namelist that is read in by the :bolditalic:`upp.x` executable from stdin (unit 5) is -generated automatically within the UFS application workflow or stand-alone run script based on -user-defined options. It should not be necessary to edit this. For description purposes, the namelist -(:bolditalic:`itag`) contains 7 lines for FV3: - -#. Name of the FV3 (pressure level) output file to be posted. - -#. Format of FV3 model output (netcdf, binarynemsiompiio). - -#. Format of UPP output (GRIB2) - -#. Forecast valid time (not model start time) in YYYY-MM-DD_HH:00:00 format (the forecast time desired - to be post-processed). - -#. Model used (GFS, FV3R - regional FV3 also known as the LAM - Limited Area Model). - -#. Name of the FV3 (surface) output file to be post-processed. - -#. Name of configuration file (postxconfig-NT.txt) - ------------- -Control File ------------- - -The user interacts with the UPP 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, :bolditalic:`postxconfig-NT.txt`, is provided and read by the UPP. For users -wishing to customize the control file to add or remove fields and/or levels, they may do so by -modifying the :bolditalic:`postcntrl.xml` and then remaking the text file as described in the later section -:ref:`Creating the Flat Text File`. - -.. Note:: - The control file names :bolditalic:`postxconfig-NT.txt` and :bolditalic:`postcntrl.xml` are generic - names and are different depending on the application used. - -The tables below list all fields that are included in the control files for the various UFS -applications. All fields in the tables may not be present in your output depending on whether the field -dependencies are available in your model output. - -UFS MRW Table (GFS model) - - :doc:`MRW_GFSPRS_table` - -UFS SRW Tables (LAM - Limited Area Model) - - :doc:`SRW_BGDAWP_table` - - :doc:`SRW_BGRD3D_table` - -Controlling which variables the UPP outputs -------------------------------------------- - -To output a field, the body of the control file needs to contain an entry for the appropriate variable. -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. For variables found on vertical levels (e.g. -isobaric or height levels), the desired levels to be output must be listed (see next section: -:ref:`control_levels`). A list of available Grib2 fields that can be output by UPP can be found in the -table :doc:`UPP_GRIB2_Table`. Please note that some fields are dependent on model, physics, and other fields. - -.. _control_levels: - -Controlling which levels the UPP outputs ----------------------------------------- - -The tag in the postcntrl.xml file 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 - :bolditalic:`sorc/ncep_post.fd/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 :bolditalic:`sorc/ncep_post.fd/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 ---------------------------- - -If the control file requires any modifications, a preprocessing step will be required by the user to -convert the modified xml file :bolditalic:`parm/postcntrl.xml` to a flat text file -:bolditalic:`parm/postxconfig-NT.txt`. The user will first need to edit the :bolditalic:`postcntrl.xml` -file to declare which fields are to be output from the UPP. - -In order to ensure that the user-edited xml files are error free, XML stylesheets -(:bolditalic:`parm/EMC\_POST\_CTRL\_Schema.xsd` and :bolditalic:`EMC\_POST\_Avblflds\_Schema.xsd`) can -be used to validate both the :bolditalic:`postcntrl.xml` and :bolditalic:`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. This step is optional, but acts as a safe-guard to avoid -run-time failures with UPP. To run the validation: - -.. code-block:: console - - 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. The makefile will call the -perl program :bolditalic:`parm/POSTXMLPreprocessor.pl` to regenerate any post flat files -:bolditalic:`postxconfig-NT.txt` where modifications were made since it was last run. Generate the flat -file: - -.. code-block:: console - - make - -============ -Output Files -============ - -Upon a successful run, :bolditalic:`upp.x` will generate GRIB2 output files in the post-processor -working directory. These files will include all fields that were requested in the control file. - -When running UPP stand-alone, the following Grib2 output files will be generated: - - | **GFS Model**: GFSPRS.HHH - | **LAM (Limited Area Model)**: NATLEV.HHH and PRSLEV.HHH - -When executed with the provided run script, UPP provides log files in the post-processor working directory named -:bolditalic:`upp.fHHH.out`, where :bolditalic:`HHH` is the forecast hour. These log files may be consulted for further -run-time information in the event of an error. diff --git a/docs/Installation.rst b/docs/Installation.rst deleted file mode 100644 index d5aa3ae7c7..0000000000 --- a/docs/Installation.rst +++ /dev/null @@ -1,117 +0,0 @@ -.. role:: underline - :class: underline -.. role:: bolditalic - :class: bolditalic - -******************** -Building Stand-Alone -******************** - -===================== -Software Requirements -===================== - -Before installing the UPP code, it is necessary to ensure that you have the required libraries -available on your system. These libraries include: - - - The external NCEP libraries - https://github.com/NOAA-EMC/NCEPLIBS-external - - - The NCEP libraries - https://github.com/NOAA-EMC/NCEPLIBS - -An introduction of each can be found in their respective top level :bolditalic:`README.md` files. -Detailed instructions for building the libraries on various platforms can be found in the -**NCEPLIBS-external/doc** directory. - -Certain machines do have the NCEP libraries in a pre-installed location for use to build UPP. Paths to -these pre-installed libraries are available on the -`UFS-SRW wiki `_ -and include platform name and compiler version. - -============================ -Obtaining and Installing UPP -============================ - -Building and running UPP V9.0.0 has been tested on the following platforms using pre-configured libraries. - -+---------------+----------------------+ -| System | Compiler and Version | -+===============+======================+ -| NCAR Cheyenne | Intel 19.1.1 | -| +----------------------+ -| | GNU 9.1.0 | -| | GNU 10.1.0 | -+---------------+----------------------+ -| NOAA Hera | Intel 18.0.5.274 | -+---------------+----------------------+ - -Move to the directory where you want to clone and build UPP and clone the repository into the directory -EMC_post. - -.. code-block:: console - - git clone -b release-tag-name --recurse-submodules https://github.com/NOAA-EMC/EMC_post - -where, ``release-tag-name`` is the release tag you wish to clone (e.g. for stand-alone UPP version 9, use -the release tag :bolditalic:`upp_v9.0.0`). - -Move into the top level UPP directory and create and move into the build directory. Then build the UPP code -using the cmake utility. -The path ``INSTALL_PREFIX`` should point to the location of the pre-installed NCEP libraries. - -.. code-block:: console - - cd EMC_post - mkdir build && cd build - - cmake .. -DCMAKE_INSTALL_PREFIX=.. -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} - make install - -.. note:: - To build in debug mode, you can add :bolditalic:`-DCMAKE_BUILD_TYPE=Debug` to the cmake command. - This removes compiler optimization flags and adds -g to the fortran compilation. You can also use - :bolditalic:`-DCMAKE_BUILD_TYPE=RELWITHDEBINFO`, which gives the -g, but keeps the -O2 optimization - for the fortran compilation. - -Move back to the top level UPP directory and create a directory for the CRTM fix files to be unpacked -in. Download the fix files from the Github `release page -`_ or use the wget command. Unpack the -tar file. - -.. code-block:: console - - cd ../ - mkdir crtm && cd crtm - wget https://github.com/NOAA-EMC/EMC_post/releases/download/upp_v9.0.0/fix.tar.gz - tar -xzf fix.tar.gz - -.. note:: - To make a clean build, simply remove both the **/build** directory and the - :bolditalic:`bin/upp.x` executable and then re-create the build from step #2. This is recommended if a - mistake is made during the installation process. If a simple change is made to the code, you can simply - type :bolditalic:`make install` again in the pre-existing build directory. - -======================= -UPP Directory Structure -======================= - -Under the main directory **EMC_post** reside the following relevant subdirectories (The * indicates a -directory that exists only after the build is complete): - - | **bin***: Contains the :bolditalic:`upp.x` executable after successful compilation - - | **build**: Contains the UPP build - - | **include***: Contains include modules built/used during compilation of UPP - - | **lib***: Libraries built/used by UPP that are separate from NCEPlibs - - | **parm**: Contains parameter files, which can be modified by the user to control how the post - processing is performed. - - | **scripts**: Contains a sample run script to process fv3 history files. - | - **run_upp**: runs :bolditalic:`upp.x`. - - | **sorc**: Contains source codes for: - | - **ncep_post.fd**: Source code for the UPP diff --git a/docs/Introduction.rst b/docs/Introduction.rst deleted file mode 100644 index 4dc972b54b..0000000000 --- a/docs/Introduction.rst +++ /dev/null @@ -1,33 +0,0 @@ -************ -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/MRW_GFSPRS_table.csv b/docs/MRW_GFSPRS_table.csv deleted file mode 100644 index db595d16d4..0000000000 --- a/docs/MRW_GFSPRS_table.csv +++ /dev/null @@ -1,188 +0,0 @@ -No.,Field Description,Level Type,Short Name,nlvl -1,Height on pressure surface,isobaric,HGT,57 -2,Temperature on pressure surface,isobaric,TMP,57 -3,Specific humidity on pressure surface,isobaric,SPFH,57 -4,Relative humidity on pressure surface,isobaric,RH,57 -5,U component of wind on pressure surface,isobaric,UGRD,57 -6,V component of wind on pressure surface,isobaric,VGRD,57 -7,Vertical velocity on pressure surface,isobaric,DZDT,45 -8,Omega on pressure surface,isobaric,VVEL,45 -9,Absolute vorticity on pressure surface,isobaric,ABSV,57 -10,Ozone on pressure surface,isobaric,O3MR,32 -11,Cloud water mixing ratio on pressure surface,isobaric,CLWMR,39 -12,Cloud ice mixing ratio on pressure surface,isobaric,ICMR,39 -13,Rain mixing ratio on pressure surface,isobaric,RWMR,39 -14,Snow mixing ratio on pressure surface,isobaric,SNMR,39 -15,Graupel mixing ratio on pressure surface,isobaric,GRLE,39 -16,Composite radar reflectivity,entire atmosphere,REFC,1 -17,Mesinger (Membrane) sea level pressure,mean sea level,MSLET,1 -18,Shuell sea level pressure,mean sea level,PRES,1 -19,Temperature at 2m,height agl,TMP,1 -20,Specific humidity at 2m,height agl,SPFH,1 -21,Dew point temperature at 2m,height agl,DPT,1 -22,Relative humidity at 2m,height agl,RH,1 -23,U component of wind at 10m,height agl,UGRD,1 -24,V component of wind at 10m,height agl,VGRD,1 -25,Surface Pressure,surface,PRES,1 -26,Terrain height,surface,HGT,1 -27,Skin temperature,surface,TMP,1 -28,Soil temperature in between each soil layer,depth below land surface,TSOIL,4 -29,Soil moisture in between each soil layer,depth below land surface,SOILW,4 -30,Liquid soil moisture in between each soil layer,depth below land surface,SOILL,4 -31,Plant canopy surface water,surface,CNWAT,1 -32,Snow water equivalent,surface,WEASD,1 -33,Potential evaporation,surface,PEVPR,1 -34,Ice thickness,surface,ICETK,1 -35,Snow depth,surface,SNOD,1 -36,Wilting point,surface,WILT,1 -37,Field Capacity,surface,FLDCP,1 -38,Surface lifted index,surface,LFTX,1 -39,Best lifted index (4 layer),surface,4LFTX,1 -40,Parcel lifted index,pressure above ground,PLI,1 -41,Convective available potential energy,surface,CAPE,1 -42,Best cape,pressure above ground,CAPE,1 -43,Unstable cape,pressure above ground,CAPE,1 -44,Convective inhibition,surface,CIN,1 -45,Best cin,pressure above ground,CIN,1 -46,Unstable cin,pressure above ground,CIN,1 -47,Column integrated precipitable water,entire atmosphere,PWAT,1 -48,Helicity,height agl,HLCY,1 -49,U component storm motion,height agl,USTM,1 -50,V component storm motion,height agl,VSTM,1 -51,Accumulated total precipitation,surface,APCP,1 -52,Accumulated convective precipitation,surface,ACPCP,1 -53,Accumulated grid-scale precipitation,surface,NCPCP,1 -54,Continuous accumulated total precipitation,surface,APCP,1 -55,Continuous accumulated convective precipitation,surface,ACPCP,1 -56,Continuous accumulated grid-scale precipitation,surface,NCPCP,1 -57,Categorical rain (instantaneous),surface,CRAIN,1 -58,Categorical snow (instantaneous),surface,CSNOW,1 -59,Categorical ice pellets (instantaneous),surface,CICEP,1 -60,Categorical freezing rain (instantaneous),surface,CFRZR,1 -61,Categorical rain (average),surface,CRAIN,1 -62,Categorical snow (average),surface,CSNOW,1 -63,Categorical ice pellets (average),surface,CICEP,1 -64,Categorical freezing rain (average),surface,CFRZR,1 -65,Average precipitation rate,surface,PRATE,1 -66,Average convective precipitation rate,surface,CPRAT,1 -67,Average low cloud fraction,low cloud layer,TCDC,1 -68,Average mid cloud fraction,mid cloud layer,TCDC,1 -69,Average high cloud fraction,high cloud layer,TCDC,1 -70,Average total cloud fraction,entire atmosphere,TCDC,1 -71,Visibility,surface,VIS,1 -72,Average incoming surface shortwave radiation,surface,DSWRF,1 -73,Average clear sky incoming UV-B shortwave,surface,CDUVB,1 -74,Average incoming UV-B shortwave,surface,DUVB,1 -75,Average incoming surface longwave radiation,surface,DLWRF,1 -76,Average outgoing surface shortwave radiation,surface,USWRF,1 -77,Average outgoing surface longwave radiation,surface,ULWRF,1 -78,Average outgoing model top shortwave radiation,top of atmosphere,USWRF,1 -79,Average outgoing model top longwave radiation,top of atmosphere,ULWRF,1 -80,Total spectrum brightness temperature,top of atmosphere,BRTMP,1 -81,Roughness length,surface,SFCR,1 -82,Friction velocity,surface,FRICV,1 -83,Average surface sensible heat flux,surface,SHTFL,1 -84,Average ground heat flux,surface,GFLUX,1 -85,Average surface latent heat flux,surface,LHTFL,1 -86,Average surface zonal momentum flux,surface,UFLX,1 -87,Average surface meridional momentum flux,surface,VFLX,1 -88,Land sea mask (land=1 sea=0),surface,LAND,1 -89,Sea ice mask,surface,ICEC,1 -90,Average albedo,surface,ALBDO,1 -91,Pressure at tropopause,tropopause,PRES,1 -92,Height at tropopause,tropopause,HGT,1 -93,Temperature at tropopause,tropopause,TMP,1 -94,U component of wind at tropopause,tropopause,UGRD,1 -95,V component of wind at tropopause,tropopause,VGRD,1 -96,Wind shear at tropopause,tropopause,VWSH,1 -97,Temperature at flight levels,height msl,TMP,8 -98,U component of wind at flight levels,height msl,UGRD,8 -99,V component of wind at flight levels,height msl,VGRD,8 -100,Temperature at flight levels,height agl,TMP,2 -101,U component of wind at flight levels,height agl,UGRD,6 -102,V component of wind at flight levels,height agl,VGRD,6 -103,Pressure at flight levels,height agl,PRES,1 -104,Specific humidity at flight levels,height agl,SPFH,1 -105,Freezing level height,0 degree isotherm,HGT,1 -106,Freezing level relative humidity,0 degree isotherm,RH,1 -107,Highest freezing level height,highest tropospheric frz lvl,HGT,1 -108,Highest freezing level relative humidity,highest tropospheric frz lvl,RH,1 -109,Temperature in layer between pressure levels,pressure layer agl,TMP,6 -110,Dew point temperature in layer between pressure levels,pressure layer agl,DPT,1 -111,Specific humidity in layer between pressure levels,pressure layer agl,SPFH,6 -112,Relative humidity in layer between pressure levels,pressure layer agl,RH,6 -113,Precipitable water in layer between pressure levels,pressure layer agl,PWAT,1 -114,U component of wind in layer between pressure levels,pressure layer agl,UGRD,6 -115,V component of wind in layer between pressure levels,pressure layer agl,VGRD,6 -116,Relative humidity on sigma level 0.33-1.0,sigma level,RH,1 -117,Relative humidity on sigma level 0.44-1.0,sigma level,RH,1 -118,Relative humidity on sigma level 0.72-0.94,sigma level,RH,1 -119,Relative humidity on sigma level 0.44-0.72,sigma level,RH,1 -120,Temperature on sigma level 0.9950,sigma level,TMP,1 -121,Potential temperature on sigma level 0.9950,sigma level,POT,1 -122,Relative humidity on sigma level 0.9950,sigma level,RH,1 -123,U component of wind on sigma level 0.9950,sigma level,UGRD,1 -124,V component of wind on sigma level 0.9950,sigma level,VGRD,1 -125,Omega on sigma level 0.9950,sigma level,VVEL,1 -126,Maximum wind pressure level,max wind,PRES,1 -127,Maximum wind height,max wind,HGT,1 -128,U component of maximum wind,max wind,UGRD,1 -129,V component of maximum wind,max wind,VGRD,1 -130,Temperature at maximum wind level,max wind,TMP,1 -131,Planetary boundary layer height,surface,HPBL,1 -132,Convective cloud bottom pressure,convective cloud bottom,PRES,1 -133,Convective cloud top pressure,convective cloud top,PRES,1 -134,Average low cloud bottom pressure,low cloud bottom,PRES,1 -135,Average mid cloud bottom pressure,mid cloud bottom,PRES,1 -136,Average high cloud bottom pressure,high cloud bottom,PRES,1 -137,Average low cloud top pressure,low cloud top,PRES,1 -138,Average mid cloud top pressure,mid cloud top,PRES,1 -139,Average high cloud top pressure,high cloud top,PRES,1 -140,Average low cloud top temperature,low cloud top,TMP,1 -141,Average mid cloud top temperature,mid cloud top,TMP,1 -142,Average high cloud top temperature,high cloud top,TMP,1 -143,Total cloud fraction on convective cloud layer,entire atmosphere,TCDC,1 -144,Column integrated cloud water,entire atmosphere,CWAT,1 -145,Total column relative humidity,entire atmosphere,RH,1 -146,Total column ozone,entire atmosphere,TOZNE,1 -147,Surface wind gust,surface,GUST,1 -148,LCL level pressure,pressure layer agl,PLPL,1 -149,Cloud fraction on pressure surface,isobaric,TCDC,39 -150,U component of wind on theta surface,isentropic,UGRD,1 -151,V component of wind on theta surface,isentropic,VGRD,1 -152,Temperature on theta surface,isentropic,TMP,1 -153,Potential vorticity on theta surface,isentropic,PVORT,1 -154,Montgomery stream function on theta surface,isentropic,MNTSF,1 -155,U component of wind on constant PV surface,potential vorticity surface,UGRD,8 -156,V component of wind on constant PV surface,potential vorticity surface,VGRD,8 -157,Temperature on constant PV surface,potential vorticity surface,TMP,8 -158,Height on constant PV surface,potential vorticity surface,HGT,8 -159,Pressure on constant PV surface,potential vorticity surface,PRES,8 -160,Wind shear on constant PV surface,potential vorticity surface,VWSH,8 -161,Average planetary boundary layer cloud fraction,boundary layer cloud layer,TCDC,1 -162,Cloud work function,entire atmosphere,CWORK,1 -163,Average zonal gravity wave stress,surface,U-GWD,1 -164,Average meridional gravity wave stress,surface,V-GWD,1 -165,Average water runoff,surface,WATR,1 -166,Maximum 2m temperature,height agl,TMAX,1 -167,Minimum 2m temperature,height agl,TMIN,1 -168,ICAO height at maximum wind level,max wind,ICAHT,1 -169,ICAO height at tropopause,tropopause,ICAHT,1 -170,Sunshine duration,surface,SUNSD,1 -171,Transport u component of wind,planetary boundary layer,UGRD,1 -172,Transport v component of wind,planetary boundary layer,VGRD,1 -173,Ventilation rate,planetary boundary layer,VRATE,1 -174,Haines index,surface,HINDEX,1 -175,Fraction of frozen precipitation,surface,CPOFP,1 -176,Apparent temperature at 2m,height agl,APTMP,1 -177,Instantaneous precipitation rate,surface,PRATE,1 -178,Convective precipitation rate,surface,CPRAT,1 -179,Snow mixing ratio on model surface,hybrid,SNMR,1 -180,Rain mixing ratio on model surface,hybrid,RWMR,1 -181,Cloud water mixing ratio on model surface,hybrid,CLWMR,1 -182,Cloud ice mixing ratio on model surface,hybrid,ICMR,1 -183,Graupel mixing ratio on model surface,hybrid,GRLE,1 -184,Ice growth rate,height msl,ICEG,1 -185,Soil type,surface,SOTYP,1 -186,Vegetation cover,surface,VEG,1 -187,Sea ice skin temperature,surface,ICETMP,1 diff --git a/docs/MRW_GFSPRS_table.rst b/docs/MRW_GFSPRS_table.rst deleted file mode 100644 index a667226bf0..0000000000 --- a/docs/MRW_GFSPRS_table.rst +++ /dev/null @@ -1,11 +0,0 @@ -*************************************************** -Fields Requested in the UPP Parameter Table for MRW -*************************************************** - -Field description (column 1), level type as defined by WMO (column 2), abbreviated names -as they appear in the Grib2 output file (column 3), and number of levels output (column 4). - -.. csv-table:: - :file: MRW_GFSPRS_table.csv - :widths: 5, 40, 30, 15, 10 - :header-rows: 1 diff --git a/docs/Running.rst b/docs/Running.rst deleted file mode 100644 index c5fadd880a..0000000000 --- a/docs/Running.rst +++ /dev/null @@ -1,125 +0,0 @@ -.. role:: underline - :class: underline -.. role:: bolditalic - :class: bolditalic - -*********************** -Running UPP Stand-Alone -*********************** - -A script for running the UPP package is included in the **/scripts** directory: - - :bolditalic:`run_upp` - -:underline:`Before running the script, perform the following instructions:` - -1. :bolditalic:`cd` to your **DOMAINPATH** directory. This is the top working directory for the run. - -2. Make a directory to put the UPP results in. - - .. code-block:: console - - mkdir postprd - -3. Make a directory for staging a copy of the desired control file. - - .. code-block:: console - - mkdir parm - -4. Optional: If desired, edit the control **XML** file(s) in **/EMC_post/parm** to reflect the fields - and levels you want UPP to output. It is recommended that you make copies of the original - beforehand. - - | **GFS XMLs**: :bolditalic:`postcntrl_gfs_f00.xml` (0-hour lead time) and - :bolditalic:`postcntrl_gfs.xml` (all other lead times) - | **LAM (Limited Area Model) XML**: :bolditalic:`fv3lam.xml` - - Re-make the flat text file(s) following the steps in the "Control File: Creating the Flat Text File" - section. - -5. Copy the flat text file(s) to the **/parm** directory in your **DOMAINPATH**. These are the files - that UPP reads directly. - - | **GFS text files**: :bolditalic:`postxconfig-NT-GFS-F00.txt` (0-hour lead time) and - :bolditalic:`postxconfig-NT-GFS.txt` (all other lead times). - | **LAM text file**: :bolditalic:`postxconfig-NT-fv3lam.txt` - -6. Copy the :bolditalic:`/scripts/run_upp` script to the **/postprd** directory. - -7. Edit the run script as outlined in the "Run Script Overview" section. Once these directories are set - up and the edits outlined below are complete, the script can be run interactively from the - **/postprd** directory by simply typing the script name on the command line. - -=================== -Run Script Overview -=================== - -.. note:: - It is recommended that the user refer to the :bolditalic:`run_upp` script while reading this - overview. All user modified variables are contained at the top of the :bolditalic:`run_upp` script - in the user-edit section, along with a brief description. Descriptions below follow the - :bolditalic:`run_upp` script. - -1. Set up basic path variables - - | **TOP_DIR**: Top level directory for building and running UPP - | **DOMAINPATH**: Working directory for this run - | **UNIPOST_HOME**: Location of the **EMC_post** directory - | **POSTEXEC**: Location of the **EMC_post** executable - | **modelDataPath**: Location of the model output data files to be processed - | **txtCntrlFile**: Name and location of the flat text file that lists desired fields for - output. - - .. note:: - For FV3, the scripts are configured such that UPP expects the flat text file to be in **/parm**, - and the postprocessor working directory to be called **/postprd**, all under **DOMAINPATH**. - This setup is for user convenience to have a script ready to run, paths may be modified but be - sure to check the run script to make sure settings are correct. - -2. Specify dynamic core being run - - | **model**: What model is used ("GFS" or "LAM" - Limited Area Model) - -3. Specify the format for the input model files and output UPP files - - | **inFormat**: Format of the model data ("binarynemsiompiio": GFS only or "netcdf": GFS/LAM) - | **outFormat**: Format of output from UPP ("grib2") - -4. Specify the forecast cycles to be post-processed - - | **startdate**: Forecast start date (YYYYMMDDHH) - | **fhr**: First forecast hour to be post-processed - | **lastfhr**: Last forecast hour to be post-processed - | **incrementhr**: Increment (in hours) between forecast files - | *Do not set to 0 or the script will loop continuously* - -5. Set/uncomment the run command for your system. (i.e. mpirun, etc). - - | **RUN_COMMAND**: System run commands - - | - The default execution command in the distributed scripts is for a single processor: - | ``./upp.x > upp.${fhr}.out 2>&1`` - - | - To run UPP using mpi (dmpar compilation), the command line should be: - | >> LINUX-MPI systems: ``mpirun -np N upp.x > outpost 2>&1`` - | (Note: On some systems a host file also needs to be specified: - ``-machinefile "host"``) - | >> IBM: ``mpirun.lsf upp.x < itag > outpost`` - | >> SGI MPT: ``mpiexec_mpt upp.x < itag > outpost`` - -6. Set naming convention for prefix and extension of output file name - - **comsp** is the initial string of the output file name. By default it is not set and the prefix - of the output file will be the string set in the XML file DATSET parameter. If set it will - concatenate the setting to the front of the string specified in the XML file DATSET parameter. - - **tmmark** is used for the file extension (in :bolditalic:`run_upp`, *tmmark=tm00*; if not set, - it is set to .GrbF) - -Upon a successful run, UPP will generate output files for each forecast hour in the **/postprd** directory. - -When executed with the provided run script, UPP provides log files in the post-processor working directory named -:bolditalic:`upp.fHHH.out`, where :bolditalic:`HHH` is the forecast hour. These log files may be consulted for further -run-time information in the event of an error. - -.. note:: - FV3 output is on a Guassian grid. To interpolate to a lat/lon or other projection, use wgrib2 (see - :ref:`Examples-of-wgrib2` section). diff --git a/docs/SRW_BGDAWP_table.csv b/docs/SRW_BGDAWP_table.csv deleted file mode 100644 index 6426ec95bf..0000000000 --- a/docs/SRW_BGDAWP_table.csv +++ /dev/null @@ -1,258 +0,0 @@ -No.,Field Description,Level Type,Short Name,nlvl -1,Pressure on model surface,hybrid,PRES,2 -2,Height on model surface,hybrid,HGT,2 -3,Temperature on model surface,hybrid,TMP,2 -4,Potential temperature on model surface,hybrid,POT,2 -5,Dew point temperature on model surface,hybrid,DPT,2 -6,Specific humidity on model surface,hybrid,SPFH,1 -7,Relative humidity on model surface,hybrid,RH,1 -8,U component of wind on model surface,hybrid,UGRD,2 -9,V component of wind on model surface,hybrid,VGRD,2 -10,Omega on model surface,hybrid,VVEL,1 -11,Vertical velocity on model surface,hybrid,DZDT,1 -12,Turbulent kinetic energy on model surface,hybrid,TKE,2 -13,Rain mixing ratio on model surface,hybrid,RWMR,2 -14,Snow mixing ratio on model surface,hybrid,SNMR,2 -15,Rimming factor for Ferrier scheme on model surface,hybrid,RIME,2 -16,Total condensate for Ferrier scheme on mode surface,hybrid,TCOND,2 -17,Radar reflectivity on model surface,hybrid,REFD,2 -18,Master length scale on model surface,hybrid,BMIXL,1 -19,Height on pressure surface,isobaric,HGT,46 -20,Temperature on pressure surface,isobaric,TMP,46 -21,Dew point temperature on pressure surface,isobaric,DPT,46 -22,Specific humidity on pressure surface,isobaric,SPFH,46 -23,Relative humidity on pressure surface,isobaric,RH,46 -24,Moisture convergence on pressure surface,isobaric,MCONV,2 -25,U component of wind on pressure surface,isobaric,UGRD,46 -26,V component of wind on pressure surface,isobaric,VGRD,46 -27,Vertical velocity on pressure surface,isobaric,DZDT,46 -28,Omega on pressure surface,isobaric,VVEL,46 -29,Absolute vorticity on pressure surface,isobaric,ABSV,10 -30,Geostrophic streamfunction on pressure surface,isobaric,STRM,2 -31,Turbulent kinetic energy on pressure surface,isobaric,TKE,46 -32,Cloud ice mixing ratio on pressure surface,isobaric,ICMR,46 -33,Cloud water mixing ratio on pressure surface,isobaric,CLWMR,46 -34,Rain mixing ratio on pressure surface,isobaric,RWMR,46 -35,Graupel mixing ratio on pressure surface,isobaric,GRLE,46 -36,Snow mixing ratio on pressure surface,isobaric,SNMR,46 -37,Rimming factor for Ferrier scheme on pressure surface,isobaric,RIME,46 -38,Mesinger (Membrane) sea level pressure,mean sea level,MSLET,1 -39,Shuell sea level pressure,mean sea level,PRES,1 -40,Temperature at 2m,height agl,TMP,1 -41,Specific humidity at 2m,height agl,SPFH,1 -42,Dew point temperature at 2m,height agl,DPT,1 -43,Relative humidity at 2m,height agl,RH,1 -44,U component of wind at 10m,height agl,UGRD,1 -45,V component of wind at 10m,height agl,VGRD,1 -46,Surface wind gust,surface,GUST,1 -47,LCL level pressure,pressure layer agl,PLPL,1 -48,Potential temperature at 10m,height agl,POT,1 -49,Specific humidity at 10m,height agl,SPFH,1 -50,Surface Pressure,surface,PRES,1 -51,Terrain height,surface,HGT,1 -52,Skin potential temperature,surface,POT,1 -53,Skin specific humidity,surface,SPFH,1 -54,Skin temperature,surface,TMP,1 -55,Soil temperature at 3m,depth below land surface,TSOIL,1 -56,Soil temperature in between each soil layer,depth below land surface,TSOIL,4 -57,Soil moisture in between each soil layer,depth below land surface,SOILW,4 -58,Liquid soil moisture in between each soil layer,depth below land surface,SOILL,4 -59,Total soil moisture,depth below land surface,SOILM,1 -60,Plant canopy surface water,surface,CNWAT,1 -61,Snow water equivalent,surface,WEASD,1 -62,Snow cover in percentage,surface,SNOWC,1 -63,Heat exchange coeff at surface,surface,SFEXC,1 -64,Vegetation cover,surface,VEG,1 -65,Vegetation type,surface,VGTYP,1 -66,Soil type,surface,SOTYP,1 -67,Snow free albedo,surface,SNFALB,1 -68,Maximum snow albedo,surface,MXSALB,1 -69,Canopy conductance,surface,CCOND,1 -70,Canopy conductance - solar component,surface,RCS,1 -71,Canopy conductance - temperature component,surface,RCT,1 -72,Canopy conductance - humidity component,surface,RCQ,1 -73,Canopy conductance - soil component,surface,RCSOL,1 -74,Soil moist reference,surface,SMREF,1 -75,Soil moist porosity,surface,POROS,1 -76,Number of root layers,surface,RLYRS,1 -77,Minimum stomatal resistance,surface,RSMIN,1 -78,Snow depth,surface,SNOD,1 -79,Air dry soil moisture,surface,SMDRY,1 -80,Soil moist wilting point,surface,WILT,1 -81,Soil moisture availability,depth below land surface,MSTAV,1 -82,Ground heat flux (instantaneous),surface,GFLUX,1 -83,Lifted index—surface based (500-1000 hPa),isobaric,LFTX,1 -84,Lifted index—best,pressure above ground,4LFTX,1 -85,Lifted index—parcel,pressure above ground,PLI,1 -86,Convective available potential energy,surface,CAPE,1 -87,Best cape,pressure above ground,CAPE,1 -88,Mixed layer cape,pressure above ground,CAPE,1 -89,Unstable cape,pressure above ground,CAPE,1 -90,Convective inhibition,surface,CIN,1 -91,Best cin,pressure above ground,CIN,1 -92,Mixed layer cin,pressure above ground,CIN,1 -93,Unstable cin,pressure above ground,CIN,1 -94,Column integrated precipitable water,entire atmosphere,PWAT,1 -95,Helicity,height agl,HLCY,2 -96,U component storm motion,height agl,USTM,1 -97,V component storm motion,height agl,VSTM,1 -98,Accumulated total precipitation,surface,APCP,1 -99,Accumulated grid-scale precipitation,surface,NCPCP,1 -100,Continuous accumulated total precipitation,surface,APCP,1 -101,Continuous accumulated grid-scale precipitation,surface,NCPCP,1 -102,Accumulated snowfall,surface,WEASD,1 -103,Accumulated total snow melt,surface,SNOM,1 -104,Accumulated storm surface runoff,surface,SSRUN,1 -105,Accumulated base flow runoff,surface,BGRUN,1 -106,Average water runoff,surface,WATR,1 -107,Categorical rain (instantaneous),surface,CRAIN,1 -108,Categorical snow (instantaneous),surface,CSNOW,1 -109,Categorical ice pellets (instantaneous),surface,CICEP,1 -110,Categorical freezing rain (instantaneous),surface,CFRZR,1 -111,Precipitation rate (instantaneous),surface,PRATE,1 -112,Fraction of frozen precipitation,surface,CPOFP,1 -113,Cloud water mixing ratio on model surface,hybrid,CLWMR,2 -114,Cloud ice mixing ratio on model surface,hybrid,ICMR,2 -115,Graupel mixing ratio on model surface,hybrid,GRLE,1 -116,Cloud fraction on model surface,hybrid,TCDC,2 -117,Low level cloud fraction,low cloud layer,LCDC,1 -118,Mid level cloud fraction,mid cloud layer,MCDC,1 -119,High level cloud fraction,high cloud layer,HCDC,1 -120,Total cloud fraction,entire atmosphere,TCDC,1 -121,Total cloud fraction (time-averaged),entire atmosphere,TCDC,1 -122,stratospheric cloud fraction (time-averaged),entire atmosphere,CDLYR,1 -123,Visibility,surface,VIS,1 -124,GSD visibility,cloud top,VIS,1 -125,Above-ground height of LCL,adiabatic condensation from surface,HGT,1 -126,Pressure of LCL,adiabatic condensation from surface,PRES,1 -127,Outgoing surface shortwave radiation (instantaneous),surface,USWRF,1 -128,Outgoing surface longwave radiation (instantaneous),surface,ULWRF,1 -129,Incoming surface shortwave radiation (time-averaged),surface,DSWRF,1 -130,Incoming surface longwave radiation (time-averaged),surface,DLWRF,1 -131,Outgoing surface shortwave radiation (time-averaged),surface,USWRF,1 -132,Outgoing surface longwave radiation (time-averaged),surface,ULWRF,1 -133,Outgoing model top shortwave radiation (time-averaged),top of atmosphere,USWRF,1 -134,Outgoing model top longwave radiation (time-averaged),top of atmosphere,ULWRF,1 -135,Outgoing longwave at top of atmosphere (instantaneous),top of atmosphere,ULWRF,1 -136,Total spectrum brightness temperature,top of atmosphere,BRTMP,1 -137,Incoming surface shortwave radiation (instantaneous),surface,DSWRF,1 -138,Incoming surface longwave radiation (instantaneous),surface,DLWRF,1 -139,Clear sky incoming surface shortwave (instantaneous),surface,CSDSF,1 -140,Roughness length,surface,SFCR,1 -141,Friction velocity,surface,FRICV,1 -142,Surface drag coefficient,surface,CD,1 -143,Surface u wind stress,surface,UFLX,1 -144,Surface v wind stress,surface,VFLX,1 -145,Surface sensible heat flux (time-averaged),surface,SHTFL,1 -146,Ground heat flux (time-averaged),surface,GFLUX,1 -147,Snow phase change heat flux (time-averaged),surface,SNOHF,1 -148,Surface latent heat flux (time-averaged),surface,LHTFL,1 -149,Accumulated surface evaporation,surface,EVP,1 -150,Accumulated potential evaporation,surface,PEVAP,1 -151,Surface sensible heat flux (instantaneous),surface,SHTFL,1 -152,Surface latent heat flux (instantaneous),surface,LHTFL,1 -153,Latitude,surface,NLAT,1 -154,Longitude,surface,ELON,1 -155,Land sea mask (land=1 sea=0),surface,LAND,1 -156,Sea ice mask,surface,ICEC,1 -157,Surface albedo,surface,ALBDO,1 -158,Sea surface temperature,surface,WTMP,1 -159,Pressure at tropopause,tropopause,PRES,1 -160,Height at tropopause,tropopause,HGT,1 -161,Temperature at tropopause,tropopause,TMP,1 -162,Potential temperature at tropopause,tropopause,POT,1 -163,U component of wind at tropopause,tropopause,UGRD,1 -164,V component of wind at tropopause,tropopause,VGRD,1 -165,Wind shear at tropopause,tropopause,VWSH,1 -166,U component of 0-6km level wind shear,height agl,VUCSH,1 -167,V-component of 0-6km level wind shear,height agl,VVCSH,1 -168,Temperature at flight levels,height msl,TMP,10 -169,Temperature at flight levels,height agl,TMP,4 -170,U component of wind at flight levels,height msl,UGRD,10 -171,U component of wind at flight levels,height agl,UGRD,4 -172,V component of wind at flight levels,height msl,VGRD,10 -173,V component of wind at flight levels,height agl,VGRD,4 -174,Specific humidity at flight levels,height msl,SPFH,1 -175,Specific humidity at flight levels,height agl,SPFH,4 -176,Pressure at flight levels,height agl,PRES,4 -177,Freezing level height,0 degree isotherm,HGT,1 -178,Freezing level relative humidity,0 degree isotherm,RH,1 -179,Highest freezing level height,highest tropospheric frz lvl,HGT,1 -180,Lowest wet bulb zero height,lowest lvl wet bulb zero,HGT,1 -181,Pressure in boundary layer (30 mb means),pressure agl,PRES,6 -182,Temperature in boundary layer (30 mb means),pressure agl,TMP,6 -183,Potential temperature in boundary layer (30 mb means),pressure agl,POT,1 -184,Dew point temperature in boundary layer (30 mb means),pressure agl,DPT,1 -185,Specific humidity in boundary layer (30 mb means),pressure agl,SPFH,6 -186,RH in boundary layer (30 mb means),pressure agl,RH,6 -187,Moisture convergence in boundary layer (30 mb means),pressure agl,MCONV,1 -188,Precipitable water in boundary layer (30 mb means),pressure agl,PWAT,1 -189,U wind in boundary layer (30 mb means),pressure agl,UGRD,6 -190,V wind in boundary layer (30 mb means),pressure agl,VGRD,6 -191,Omega in boundary layer (30 mb means),pressure agl,VVEL,3 -192,Cloud bottom pressure,cloud base,PRES,1 -193,Cloud top pressure,cloud top,PRES,1 -194,Cloud top temperature,cloud top,TMP,1 -195,Cloud bottom height (above MSL),cloud base,HGT,1 -196,Cloud top height (above MSL),cloud top,HGT,1 -197,Maximum wind pressure level,max wind,PRES,1 -198,Maximum wind height,max wind,HGT,1 -199,U-component of maximum wind,max wind,UGRD,1 -200,V-component of maximum wind,max wind,VGRD,1 -201,Composite radar reflectivity,entire atmosphere,REFC,1 -202,Composite rain radar reflectivity,entire atmosphere,REFZR,1 -203,Composite ice radar reflectivity,entire atmosphere,REFZI,1 -204,Radar reflectivity at certain above ground heights,height agl,REFD,2 -205,Radar reflectivity from rain,height agl,REFZR,2 -206,Radar reflectivity from ice,height agl,REFZI,2 -207,Planetary boundary layer height,surface,HPBL,1 -208,Grid scale cloud bottom pressure,grid scale cloud bottom,PRES,1 -209,Grid scale cloud top pressure,grid scale cloud top,PRES,1 -210,Column integrated cloud water,entire atmosphere,TCOLW,1 -211,Column integrated cloud ice,entire atmosphere,TCOLI,1 -212,Column integrated rain,entire atmosphere,TCOLR,1 -213,Column integrated snow,entire atmosphere,TCOLS,1 -214,Column integrated total condensate,entire atmosphere,TCOLC,1 -215,Column integrated graupel,entire atmosphere,TCOLG,1 -216,Column integrated super cool liquid water,entire atmosphere,TCLSW,1 -217,Column integrated melting ice,entire atmosphere,TCOLM,1 -218,Height of lowest level super cool liquid water,lwst bot lvl of supercooled liq wtr,HGT,1 -219,Height of highest level super cool liquid water,hghst top lvl of supercooled liq wtr,HGT,1 -220,Ceiling height,cloud ceiling,HGT,1 -221,Accumulated land surface model precipitation,surface,LSPA,1 -222,Model top pressure,top of atmosphere,PRES,1 -223,Total column shortwave temperature tendency,entire atmosphere,SWHR,1 -224,Total column longwave temperature tendency,entire atmosphere,LWHR,1 -225,Total column gridded temperature tendency,entire atmosphere,LRGHR,1 -226,Column integrated moisture convergence,entire atmosphere,MCONV,1 -227,Temperature on sigma levels,sigma level,TMP,5 -228,Planetary boundary layer regime,surface,PBLREG,1 -229,Transport wind u component,planetary boundary layer,UGRD,1 -230,Transport wind v component,planetary boundary layer,VGRD,1 -231,Richardson number planetary boundary layer height,planetary boundary layer,HGT,1 -232,Mixing height,surface,MIXHT,1 -233,Radar echo top,entire atmosphere,RETOP,1 -234,Ventilation rate,planetary boundary layer,VRATE,1 -235,Haines index,surface,HINDEX,1 -236,Maximum 2m temperature,height agl,TMAX,1 -237,Minimum 2m temperature,height agl,TMIN,1 -238,Maximum 2m RH,height agl,MAXRH,1 -239,Minimum 2m RH,height agl,MINRH,1 -240,Maximum U-component wind at 10m,height agl,MAXUW,1 -241,Maximum V-component wind at 10m,height agl,MAXVW,1 -242,Maximum wind speed at 10m,height agl,WIND,1 -243,Maximum 1km reflectivity,height agl,MAXREF,1 -244,Maximum updraft vertical velocity,isobaric layer,MAXUVV,1 -245,Maximum downdraft vertical velocity,isobaric layer,MAXDVV,1 -246,Lightning,surface,LTNG,1 -247,Radar derived vertically integrated liquid,entire atmosphere,VIL,1 -248,Updraft helicity (2-5 km),height agl,UPHL,1 -249,Maximum updraft helicity (2-5 km),height agl,MXUPHL,1 -250,Minimum updraft helicity (2-5 km),height agl,MNUPHL,1 -251,Minimum updraft helicity (0-3 km),height agl,MNUPHL,1 -252,Maximum updraft helicity (0-3 km),height agl,MXUPHL,1 -253,Maximum relative vertical vorticity (0-1 km),height agl,RELV,1 -254,Maximum relative vertical vorticity at hybrid level 1,hybrid,RELV,1 -255,Maximum relative vertical vorticity (0-2 km),height agl,RELV,1 -256,Maximum derived radar reflectivity at -10 C,isothermal,MAXREF,1 -257,Radar reflectivity at -10 C,isothermal,REFD,1 \ No newline at end of file diff --git a/docs/SRW_BGDAWP_table.rst b/docs/SRW_BGDAWP_table.rst deleted file mode 100644 index f578bd3101..0000000000 --- a/docs/SRW_BGDAWP_table.rst +++ /dev/null @@ -1,11 +0,0 @@ -********************************************************** -Fields Requested in the UPP Parameter Table for SRW BGDAWP -********************************************************** - -Field description (column 1), level type as defined by WMO (column 2), abbreviated names -as they appear in the Grib2 output file (column 3), and number of levels output (column 4). - -.. csv-table:: - :file: SRW_BGDAWP_table.csv - :widths: 5, 40, 30, 15, 10 - :header-rows: 1 diff --git a/docs/SRW_BGRD3D_table.csv b/docs/SRW_BGRD3D_table.csv deleted file mode 100644 index d9567b15d2..0000000000 --- a/docs/SRW_BGRD3D_table.csv +++ /dev/null @@ -1,217 +0,0 @@ -No.,Field Description,Level Type,Short Name,nlvl -1,Height on pressure surface,isobaric,HGT,4 -2,Temperature on pressure surface,isobaric,TMP,5 -3,Relative humidity on pressure surface,isobaric,RH,4 -4,U component of wind on pressure surface,isobaric,UGRD,4 -5,V component of wind on pressure surface,isobaric,VGRD,4 -6,Omega on pressure surface,isobaric,VVEL,4 -7,Specific humidity on pressure surface,isobaric,SPFH,4 -8,Absolute vorticity on pressure surface,isobaric,ABSV,4 -9,Pressure on model surface,hybrid,PRES,64 -10,Height on model surface,hybrid,HGT,64 -11,Temperature on model surface,hybrid,TMP,64 -12,Specific humidity on model surface,hybrid,SPFH,64 -13,U component of wind on model surface,hybrid,UGRD,64 -14,V component of wind on model surface,hybrid,VGRD,64 -15,Omega on model surface,hybrid,VVEL,64 -16,Vertical velocity on model surface,hybrid,DZDT,64 -17,Turbulent kinetic energy on model surface,hybrid,TKE,64 -18,Temperature tendency from grid scale latent heat release (time-averaged),hybrid,LRGHR,64 -19,Mesinger (Membrane) sea level pressure,mean sea level,MSLET,1 -20,Shuell sea level pressure,mean sea level,PRES,1 -21,Temperature at 2m,height agl,TMP,1 -22,Specific humidity at 2m,height agl,SPFH,1 -23,Dew point temperature at 2m,height agl,DPT,1 -24,Relative humidity at 2m,height agl,RH,1 -25,U component of wind at 10m,height agl,UGRD,1 -26,V component of wind at 10m,height agl,VGRD,1 -27,Potential temperature at 10m,height agl,POT,1 -28,Specific humidity at 10m,height agl,SPFH,1 -29,Surface Pressure,surface,PRES,1 -30,Terrain height,surface,HGT,1 -31,Skin potential temperature,surface,POT,1 -32,Skin specific humidity,surface,SPFH,1 -33,Skin temperature,surface,TMP,1 -34,Maximum updraft vertical velocity (10-100 hPa),isobaric,MAXUVV,1 -35,Maximum downdraft vertical velocity (10-100 hPa),isobaric,MAXDVV,1 -36,Maximum updraft helicity (0-3 km),height agl,MXUPHL,1 -37,Maximum updraft helicity (2-5 km),height agl,MXUPHL,1 -38,Minimum updraft helicity (2-5 km),height agl,MNUPHL,1 -39,Minimum updraft helicity (0-3 km),height agl,MNUPHL,1 -40,Maximum relative vertical vorticity (0-1 km),height agl,RELV,1 -41,Maximum relative vertical vorticity at hybrid level 1,hybrid,RELV,1 -42,Maximum relative vertical vorticity (0-2 km),height agl,RELV,1 -43,Maximum U-component wind at 10m,height agl,MAXUW,1 -44,Maximum V-component wind at 10m,height agl,MAXVW,1 -45,Maximum derived radar reflectivity at 1 km,height agl,MAXREF,1 -46,Maximum derived radar reflectivity at -10 C,isothermal,MAXREF,1 -47,Radar reflectivity at -10 C,isothermal,REFD,1 -48,Maximum 2m temperature,height agl,TMAX,1 -49,Minimum 2m temperature,height agl,TMIN,1 -50,Maximum 2m RH,height agl,MAXRH,1 -51,Minimum 2m RH,height agl,MINRH,1 -52,Soil temperature in between each soil layer,depth below land surface,TSOIL,4 -53,Soil moisture in between each soil layer,depth below land surface,SOILW,4 -54,Total soil moisture,depth below land surface,SOILM,1 -55,Heat exchange coeff at surface,surface,SFEXC,1 -56,Vegetation cover,surface,VEG,1 -57,Soil moisture availability,depth below land surface,MSTAV,1 -58,Soil temperature at 3m,depth below land surface,TSOIL,1 -59,Ground heat flux (instantaneous),surface,GFLUX,1 -60,Plant canopy surface water,surface,CNWAT,1 -61,Snow water equivalent,surface,WEASD,1 -62,Lifted index—best,pressure above ground,4LFTX,1 -63,Column integrated precipitable water,entire atmosphere,PWAT,1 -64,Accumulated total precipitation,surface,APCP,1 -65,Accumulated grid-scale precipitation,surface,NCPCP,1 -66,Continuous accumulated total precipitation,surface,APCP,1 -67,Continuous accumulated grid-scale precipitation,surface,NCPCP,1 -68,Accumulated snowfall,surface,WEASD,1 -69,Accumulated total snow melt,surface,SNOM,1 -70,Accumulated storm surface runoff,surface,SSRUN,1 -71,Accumulated base flow runoff,surface,BGRUN,1 -72,Categorical rain (instantaneous),surface,CRAIN,1 -73,Categorical snow (instantaneous),surface,CSNOW,1 -74,Categorical ice pellets (instantaneous),surface,CICEP,1 -75,Categorical freezing rain (instantaneous),surface,CFRZR,1 -76,Precipitation rate (instantaneous),surface,PRATE,1 -77,Fraction of frozen precipitation,surface,CPOFP,1 -78,Cloud water mixing ratio on model surface,hybrid,CLWMR,64 -79,Cloud ice mixing ratio on model surface,hybrid,ICMR,64 -80,Graupel mixing ratio on mmodel surface,hybrid,GRLE,64 -81,Cloud fraction on model surface,hybrid,TCDC,64 -82,Rain mixing ratio on model surface,hybrid,RWMR,64 -83,Snow mixing ratio on model surface,hybrid,SNMR,64 -84,Rimming factor for Ferrier scheme on model surface,hybrid,RIME,64 -85,Total condensate for Ferrier scheme on mode surface,hybrid,TCOND,64 -86,Model level fraction of rain for Ferrier scheme,hybrid,FRAIN,64 -87,Model level fraction of ice for Ferrier scheme,hybrid,FICE,64 -88,Low level cloud fraction,low cloud layer,LCDC,1 -89,Mid level cloud fraction,mid cloud layer,MCDC,1 -90,High level cloud fraction,high cloud layer,HCDC,1 -91,Total cloud fraction,entire atmosphere,TCDC,1 -92,Total cloud fraction (time-averaged),entire atmosphere,TCDC,1 -93,stratospheric cloud fraction (time-averaged),entire atmosphere,CDLYR,1 -94,Outgoing surface shortwave radiation (instantaneous),surface,USWRF,1 -95,Outgoing surface longwave radiation (instantaneous),surface,ULWRF,1 -96,Incoming surface shortwave radiation (time-averaged),surface,DSWRF,1 -97,Incoming surface longwave radiation (time-averaged),surface,DLWRF,1 -98,Outgoing surface shortwave radiation (time-averaged),surface,USWRF,1 -99,Outgoing surface longwave radiation (time-averaged),surface,ULWRF,1 -100,Outgoing model top shortwave radiation (time-averaged),top of atmosphere,USWRF,1 -101,Outgoing model top longwave radiation (time-averaged),top of atmosphere,ULWRF,1 -102,Incoming surface shortwave radiation (instantaneous),surface,DSWRF,1 -103,Incoming surface longwave radiation (instantaneous),surface,DLWRF,1 -104,Clear sky incoming surface shortwave (instantaneous),surface,CSDSF,1 -105,Roughness length,surface,SFCR,1 -106,Friction velocity,surface,FRICV,1 -107,Surface drag coefficient,surface,CD,1 -108,Surface u wind stress,surface,UFLX,1 -109,Surface v wind stress,surface,VFLX,1 -110,Surface sensible heat flux (time-averaged),surface,SHTFL,1 -111,Ground heat flux (time-averaged),surface,GFLUX,1 -112,Snow phase change heat flux (time-averaged),surface,SNOHF,1 -113,Surface latent heat flux (time-averaged),surface,LHTFL,1 -114,Accumulated surface evaporation,surface,EVP,1 -115,Accumulated potential evaporation,surface,PEVAP,1 -116,Surface sensible heat flux (instantaneous),surface,SHTFL,1 -117,Surface latent heat flux (instantaneous),surface,LHTFL,1 -118,Latitude,surface,NLAT,1 -119,Longitude,surface,ELON,1 -120,Land sea mask (land=1 sea=0),surface,LAND,1 -121,Sea ice mask,surface,ICEC,1 -122,Mass point at eta surface mask,surface,LMH,1 -123,Velocity point at eta surface mask,surface,LMV,1 -124,Surface albedo,surface,ALBDO,1 -125,Sea surface temperature,surface,WTMP,1 -126,Pressure in boundary layer (30 mb means),pressure agl,PRES,6 -127,Temperature in boundary layer (30 mb means),pressure agl,TMP,6 -128,Potential temperature in boundary layer (30 mb means),pressure agl,POT,1 -129,Dew point temperature in boundary layer (30 mb means),pressure agl,DPT,1 -130,Specific humidity in boundary layer (30 mb means),pressure agl,SPFH,6 -131,RH in boundary layer (30 mb means),pressure agl,RH,6 -132,Moisture convergence in boundary layer (30 mb means),pressure agl,MCONV,1 -133,Precipitable water in boundary layer (30 mb means),pressure agl,PWAT,1 -134,U wind in boundary layer (30 mb means),pressure agl,UGRD,6 -135,V wind in boundary layer (30 mb means),pressure agl,VGRD,6 -136,Accumulated land surface model precipitation,surface,LSPA,1 -137,Model top pressure,top of atmosphere,PRES,1 -138,Pressure thickness,hybrid,PRES,1 -139,Sigma pressure thickness,hybrid,PRES,1 -140,Plant canopy surface water,surface,CNWAT,1 -141,Ground heat flux (instantaneous),surface,GFLUX,1 -142,Lifted index—surface based (500-1000 hPa),isobaric,LFTX,1 -143,Convective available potential energy,surface,CAPE,1 -144,Best cape,pressure above ground,CAPE,1 -145,Mixed layer cape,pressure above ground,CAPE,1 -146,Unstable cape,pressure above ground,CAPE,1 -147,Convective inhibition,surface,CIN,1 -148,Best cin,pressure above ground,CIN,1 -149,Mixed layer cin,pressure above ground,CIN,1 -150,Unstable cin,pressure above ground,CIN,1 -151,LCL level pressure,pressure layer agl,PLPL,1 -152,Helicity,height agl,HLCY,2 -153,U component storm motion,height agl,USTM,1 -154,V component storm motion,height agl,VSTM,1 -155,Cloud bottom pressure,cloud base,PRES,1 -156,Cloud top pressure,cloud top,PRES,1 -157,Cloud top temperature,cloud top,TMP,1 -158,Pressure at tropopause,tropopause,PRES,1 -159,Height at tropopause,tropopause,HGT,1 -160,Temperature at tropopause,tropopause,TMP,1 -161,U component of wind at tropopause,tropopause,UGRD,1 -162,V component of wind at tropopause,tropopause,VGRD,1 -163,Wind shear at tropopause,tropopause,VWSH,1 -164,Temperature at flight levels,height msl,TMP,10 -165,U component of wind at flight levels,height msl,UGRD,10 -166,V component of wind at flight levels,height msl,VGRD,10 -167,Freezing level height,0 degree isotherm,HGT,1 -168,Freezing level relative humidity,0 degree isotherm,RH,1 -169,Highest freezing level height,highest tropospheric frz lvl,HGT,1 -170,Maximum wind pressure level,max wind,PRES,1 -171,Maximum wind height,max wind,HGT,1 -172,U-component of maximum wind,max wind,UGRD,1 -173,V-component of maximum wind,max wind,VGRD,1 -174,Maximum wind speed at 10m,height agl,WIND,1 -175,Cloud bottom height (above MSL),cloud base,HGT,1 -176,Cloud top height (above MSL),cloud top,HGT,1 -177,Visibility,surface,VIS,1 -178,Composite radar reflectivity,entire atmosphere,REFC,1 -179,Grid scale cloud bottom pressure,grid scale cloud bottom,PRES,1 -180,Grid scale cloud top pressure,grid scale cloud top,PRES,1 -181,Column integrated cloud water,entire atmosphere,TCOLW,1 -182,Column integrated cloud ice,entire atmosphere,TCOLI,1 -183,Column integrated rain,entire atmosphere,TCOLR,1 -184,Column integrated snow,entire atmosphere,TCOLS,1 -185,Column integrated total condensate,entire atmosphere,TCOLC,1 -186,Column integrated graupel,entire atmosphere,TCOLG,1 -187,Vegetation type,surface,VGTYP,1 -188,Soil type,surface,SOTYP,1 -189,Canopy conductance,surface,CCOND,1 -190,Planetary boundary layer height,surface,HPBL,1 -191,Snow depth,surface,SNOD,1 -192,Snow sublimation,surface,SBSNO,1 -193,Air dry soil moisture,surface,SMDRY,1 -194,Soil moist porosity,surface,POROS,1 -195,Minimum stomatal resistance,surface,RSMIN,1 -196,Number of root layers,surface,RLYRS,1 -197,Soil moist wilting point,surface,WILT,1 -198,Soil moist reference,surface,SMREF,1 -199,Canopy conductance - solar component,surface,RCS,1 -200,Canopy conductance - temperature component,surface,RCT,1 -201,Canopy conductance - humidity component,surface,RCQ,1 -202,Canopy conductance - soil component,surface,RCSOL,1 -203,Potential evaporation,surface,PEVPR,1 -204,Surface wind gust,surface,GUST,1 -205,Lowest wet bulb zero height,lowest lvl wet bulb zero,HGT,1 -206,Leaf area index,surface,LAI,1 -207,Clear sky incoming surface shortwave (instantaneous),surface,CSDSF,1 -208,Cloud fraction on sigma surface,sigma,TCDC,22 -209,Richardson number planetary boundary layer height,planetary boundary layer,HGT,1 -210,Mixing height,surface,MIXHT,1 -211,Temperature at 10m,height agl,TMP,1 -212,Time-averaged percentage snow cover,surface,SNOWC,1 -213,Time-averaged surface pressure,surface,PRES,1 -214,Time-averaged 10m temperature,height agl,TMP,1 -215,Time-averaged mass exchange coefficient,surface,AKHS,1 -216,Time-averaged wind exchange coefficient,surface,AKMS,1 \ No newline at end of file diff --git a/docs/SRW_BGRD3D_table.rst b/docs/SRW_BGRD3D_table.rst deleted file mode 100644 index 246c178a1f..0000000000 --- a/docs/SRW_BGRD3D_table.rst +++ /dev/null @@ -1,11 +0,0 @@ -********************************************************** -Fields Requested in the UPP Parameter Table for SRW BGRD3D -********************************************************** - -Field description (column 1), level type as defined by WMO (column 2), abbreviated names -as they appear in the Grib2 output file (column 3), and number of levels output (column 4). - -.. csv-table:: - :file: SRW_BGRD3D_table.csv - :widths: 5, 40, 30, 15, 10 - :header-rows: 1 diff --git a/docs/UPP_GRIB2_Table.csv b/docs/UPP_GRIB2_Table.csv deleted file mode 100644 index 56957d83e7..0000000000 --- a/docs/UPP_GRIB2_Table.csv +++ /dev/null @@ -1,479 +0,0 @@ -Field Description,Name in Grib2 Control File,Grib2 pname,Vertical Level,UPP ID -Radar reflectivity on model surface*,REFD_ON_HYBRID_LVL,REFD,109,250 -Pressure on model surface,PRES_ON_HYBRID_LVL,PRES,109,1 -Height on model surface,HGT_ON_HYBRID_LVL,HGT,109,77 -Temperature on model surface,TMP_ON_HYBRID_LVL,TMP,109,2 -Potential temperature on model surface,POT_ON_HYBRID_LVL,POT,109,3 -Dew point temperature on model surface,DPT_ON_HYBRID_LVL,DPT,109,4 -Specific humidity on model surface,SPFH_ON_HYBRID_LVL,SPFH,109,5 -Relative humidity on model surface,RH_ON_HYBRID_LVL,RH,109,6 -Moisture convergence on model surface,MCONV_ON_HYBRID_LVL,MCONV,109,83 -U component wind on model surface,UGRD_ON_HYBRID_LVL,UGRD,109,7 -V component wind on model surface,VGRD_ON_HYBRID_LVL,VGRD,109,8 -Cloud water on model surface,CLWMR_ON_HYBRID_LVL,CLWMR,109,124 -Cloud ice on model surface,CICE_ON_HYBRID_LVL,CICE,109,125 -Rain on model surface,RWMR_ON_HYBRID_LVL,RWMR,109,181 -Snow on model surface,SNMR_ON_HYBRID_LVL,SNMR,109,182 -Cloud fraction on model surface,TCDC_ON_HYBRID_LVL,TCDC,109,145 -Omega on model surface,VVEL_ON_HYBRID_LVL,VVEL,109,9 -Absolute vorticity on model surface,ABSV_ON_HYBRID_LVL,ABSV,109,10 -Geostrophic streamfunction on model surface,STRM_ON_HYBRID_LVL,STRM,109,84 -Turbulent kinetic energy on model surface,TKE_ON_HYBRID_LVL,TKE,109,11 -Richardson number on model surface,RI_ON_HYBRID_LVL,RI,109,111 -Master length scale on model surface,BMIXL_ON_HYBRID_LVL,BMIXL,109,146 -Asymptotic length scale on model surface,AMIXL_ON_HYBRID_LVL,AMIXL,109,147 -Radar reflectivity on pressure surface*,REFD_ON_ISOBARIC_SFC,REFD,100,251 -Height on pressure surface,HGT_ON_ISOBARIC_SFC,HGT,100,12 -Temperature on pressure surface,TMP_ON_ISOBARIC_SFC,TMP,100,13 -Potential temperature on pressure surface,POT_ON_ISOBARIC_SFC,POT,100,14 -Dew point temperature on pressure surface,DPT_ON_ISOBARIC_SFC,DPT,100,15 -Specific humidity on pressure surface,SPFH_ON_ISOBARIC_SFC,SPFH,100,16 -Relative humidity on pressure surface,RH_ON_ISOBARIC_SFC,RH,100,17 -Moisture convergence on pressure surface,MCONV_ON_ISOBARIC_SFC,MCONV,100,85 -U component wind on pressure surface,UGRD_ON_ISOBARIC_SFC,UGRD,100,18 -V component wind on pressure surface,VGRD_ON_ISOBARIC_SFC,VGRD,100,19 -Omega on pressure surface,VVEL_ON_ISOBARIC_SFC,VVEL,100,20 -Absolute vorticity on pressure surface,ABSV_ON_ISOBARIC_SFC,ABSV,100,21 -Geostrophic streamfunction on pressure surface,STRM_ON_ISOBARIC_SFC,STRM,100,86 -Turbulent kinetic energy on pressure surface,TKE_ON_ISOBARIC_SFC,TKE,100,22 -Cloud water on pressure surface,CLWMR_ON_ISOBARIC_SFC,CLWMR,100,153 -Cloud ice on pressure surface,CICE_ON_ISOBARIC_SFC,CICE,100,166 -Rain on pressure surface,RWMR_ON_ISOBARIC_SFC,RWMR,100,183 -Snow water on pressure surface,SNMR_ON_ISOBARIC_SFC,SNMR,100,184 -Total condensate on pressure surface,TCOND_ON_ISOBARIC_SFC,TCOND,100,198 -Mesinger (Membrane) sea level pressure,MSLET_ON_MEAN_SEA_LVL,MSLET,102,23 -Shuell sea level pressure,PRES_ON_MEAN_SEA_LVL,PRMSL,102,105 -2 M pressure,PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,PRES,105,138 -2 M temperature,TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,TMP,105,106 -2 M specific humidity,SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,SPFH,105,112 -2 M mixing ratio,Not currently available for grib2,NA,105,414 -2 M dew point temperature,DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,DPT,105,113 -2 M RH,RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,RH,105,114 -10 M u component wind,UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,UGRD,105,64 -10 M v component wind,VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,VGRD,105,65 -10 M potential temperature,POT_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,POT,105,158 -10 M specific humidity,SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,SPFH,105,159 -Surface pressure,PRES_ON_SURFACE,PRES,1,24 -Terrain height,HGT_ON_SURFACE,HGT,1,25 -Skin potential temperature,POT_ON_SURFACE,POT,1,27 -Skin specific humidity,SPFH_ON_SURFACE,SPFH,1,28 -Skin dew point temperature,DPT_ON_SURFACE,DPT,1,29 -Skin Relative humidity,RH_ON_SURFACE,RH,1,76 -Skin temperature,TMP_ON_SURFACE,TMP,1,26 -Soil temperature at the bottom of soil layers,TSOIL_ON_DEPTH_BEL_LAND_SFC_3m,TSOIL,111,115/571 -Soil temperature in between each of soil layers,TSOIL_ON_DEPTH_BEL_LAND_SFC,TSOIL,112,116 -Soil moisture in between each of soil layers,SOILW_ON_DEPTH_BEL_LAND_SFC,SOILW,112,117 -Snow water equivalent,WEASD_ON_SURFACE,WEASD,1,119 -Snow cover in percentage,SNOWC_ON_SURFACE,SNOWC,1,120 -Heat exchange coeff at surface,SFEXC_ON_SURFACE,SFEXC,1,169 -Vegetation cover,VEG_ON_SURFACE,VEG,1,170 -Soil moisture availability,MSTAV_ON_DEPTH_BEL_LAND_SFC,MSTAV,112,171 -Ground heat flux - instantaneous,INST_GFLUX_ON_SURFACE,GFLUX,1,152 -Lifted index—surface based,LFTX_ON_ISOBARIC_SFC_500-1000hpa,LFTX,101,30 -Lifted index—best,4LFTX_ON_SPEC_PRES_ABOVE_GRND,4LFTX,116,31 -Lifted index—from boundary layer,PLI_ON_SPEC_PRES_ABOVE_GRND,PLI,116,75 -CAPE (4 types) ***,CAPE_ON_SURFACE,CAPE,1,32 -CIN (4 types) ***,CIN_ON_SURFACE,CIN,1,107 -Column integrated precipitable water,PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR,PWAT,200,80 -Column integrated cloud water,TCOLW_ON_ENTIRE_ATMOS,TCOLW,200,200 -Column integrated cloud ice,TCOLI_ON_ENTIRE_ATMOS,TCOLI,200,201 -Column integrated rain,TCOLR_ON_ENTIRE_ATMOS,TCOLR,200,202 -Column integrated snow,TCOLS_ON_ENTIRE_ATMOS,TCOLS,200,203 -Column integrated total condensate,TCOLC_ON_ENTIRE_ATMOS,TCOLC,200,204 -Column integrated cloud water,CWAT_ON_ENTIRE_ATMOS_SINGLE_LYR,CWAT,200,575 -Helicity,HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND,HLCY,106,162 -U component storm motion,USTM_ON_SPEC_HGT_LVL_ABOVE_GRND,USTM,106,163 -V component storm motion,VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND,VSTM,106,164 -Accumulated total precipitation,ACM_APCP_ON_SURFACE,APCP,1,87 -Accumulated convective precipitation,ACM_ACPCP_ON_SURFACE,ACPCP,1,33 -Accumulated grid-scale precipitation,ACM_NCPCP_ON_SURFACE,NCPCP,1,34 -Accumulated snowfall,ACM_WEASD_ON_SURFACE,WEASD,1,35 -Accumulated large scale snow,Not currently available for grib2,NA,1,244 -Accumulated total snow melt,ACM_SNOM_ON_SURFACE,SNOM,1,121 -Precipitation type (4 types) – instantaneous,INST_CRAIN_ON_SURFACE,CRAIN,1,160 -Precipitation rate - instantaneous,INST_PRATE_ON_SURFACE,PRATE,1,167 -Composite radar reflectivity*,REFC_ON_ENTIRE_ATMOS,REFC,200,252 -Low level cloud fraction,LCDC_ON_LOW_CLOUD_LYR,LCDC,214,37 -Mid level cloud fraction,MCDC_ON_MID_CLOUD_LYR,MCDC,224,38 -High level cloud fraction,HCDC_ON_HIGH_CLOUD_LYR,HCDC,234,39 -Total cloud fraction,INST_TCDC_ON_ENTIRE_ATMOS,TCDC,200,161 -Time-averaged total cloud fraction,AVE_TCDC_ON_ENTIRE_ATMOS,TCDC,200,144 -Time-averaged stratospheric cloud fraction,AVE_CDLYR_ON_ENTIRE_ATMOS,CDLYR,200,139 -Time-averaged convective cloud fraction,AVE_CDCON_ON_ENTIRE_ATMOS,CDCON,200,143 -Cloud bottom pressure,PRES_ON_CLOUD_BASE,PRES,2,148 -Cloud top pressure,PRES_ON_CLOUD_TOP,PRES,3,149 -Cloud bottom height (above MSL),HGT_ON_CLOUD_BASE,HGT,2,178 -Cloud top height (above MSL),HGT_ON_CLOUD_TOP,HGT,3,179 -Convective cloud bottom pressure,PRES_ON_CONVECTIVE_CLOUD_BOT_LVL,PRES,242,188 -Convective cloud top pressure,PRES_ON_CONVECTIVE_CLOUD_TOP_LVL,PRES,243,189 -Shallow convective cloud bottom pressure,PRES_ON_SHALL_CONVECTIVE_CLOUD_BOT_LVL,PRES,248,190 -Shallow convective cloud top pressure,PRES_ON_SHALL_CONVECTIVE_CLOUD_TOP_LVL,PRES,249,191 -Deep convective cloud bottom pressure,PRES_ON_DEEP_CONVECTIVE_CLOUD_BOT_LVL,PRES,251,192 -Deep convective cloud top pressure,PRES_ON_DEEP_CONVECTIVE_CLOUD_TOP_LVL,PRES,252,193 -Grid scale cloud bottom pressure,PRES_ON_GRID_SCALE_CLOUD_BOT_LVL,PRES,206,194 -Grid scale cloud top pressure,PRES_ON_GRID_SCALE_CLOUD_TOP_LVL,PRES,207,195 -Convective cloud fraction,CDCON_ON_ENTIRE_ATMOS,CDCON,200,196 -Convective cloud efficiency,CUEFI_ON_ENTIRE_ATMOS_SINGLE_LYR,CUEFI,200,197 -Above-ground height of LCL,HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC,HGT,5,109 -Pressure of LCL,PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC,PRES,5,110 -Cloud top temperature,TMP_ON_CLOUD_TOP,TMP,3,168 -Temperature tendency from radiative fluxes,TTRAD_ON_HYBRID_LVL,TTRAD,109,140 -Temperature tendency from shortwave radiative flux,SWHR_ON_HYBRID_LVL,SWHR,109,40 -Temperature tendency from longwave radiative flux,LWHR_ON_HYBRID_LVL,LWHR,109,41 -Outgoing surface shortwave radiation - instantaneous,INST_USWRF_ON_SURFACE,USWRF,1,141 -Outgoing surface longwave radiation - instantaneous,INST_ULWRF_ON_SURFACE,ULWRF,1,142 -Incoming surface shortwave radiation - time-averaged,AVE_DSWRF_ON_SURFACE,DSWRF,1,126 -Incoming surface longwave radiation - time-averaged,AVE_DLWRF_ON_SURFACE,DLWRF,1,127 -Outgoing surface shortwave radiation - time-averaged,AVE_USWRF_ON_SURFACE,USWRF,1,128 -Outgoing surface longwave radiation - time-averaged,AVE_ULWRF_ON_SURFACE,ULWRF,1,129 -Outgoing model top shortwave radiation - time-averaged,AVE_USWRF_ON_TOP_OF_ATMOS,USWRF,8,130 -Outgoing model top longwave radiation - time-averaged,AVE_ULWRF_ON_TOP_OF_ATMOS,ULWRF,8,131 -Incoming surface shortwave radiation - instantaneous,INST_DSWRF_ON_SURFACE,DSWRF,1,156 -Incoming surface longwave radiation - instantaneous,INST_DLWRF_ON_SURFACE,DLWRF,1,157 -Roughness length,SFCR_ON_SURFACE,SFCR,1,44 -Friction velocity,FRICV_ON_SURFACE,FRICV,1,45 -Surface drag coefficient,CD_ON_SURFACE,CD,1,132 -Surface u wind stress,UFLX_ON_SURFACE,UFLX,1,133 -Surface v wind stress,VFLX_ON_SURFACE,VFLX,1,134 -Surface sensible heat flux - time-averaged,AVE_SHTFL_ON_SURFACE,SHTFL,1,43 -Ground heat flux - time-averaged,AVE_GFLUX_ON_SURFACE,GFLUX,1,135 -Surface latent heat flux - time-averaged,AVE_LHTFL_ON_SURFACE,LHTFL,1,42 -Surface momentum flux - time-averaged,AVE_MFLX_ON_SURFACE,MFLX,1,46 -Accumulated surface evaporation,ACM_EVP_ON_SURFACE,EVP,1,47 -Surface sensible heat flux – instantaneous,INST_SHTFL_ON_SURFACE,SHTFL,1,154 -Surface latent heat flux - instantaneous,INST_LHTFL_ON_SURFACE,LHTFL,1,155 -Latitude,NLAT_ON_SURFACE,NLAT,1,48 -Longitude,ELON_ON_SURFACE,ELON,1,49 -Land sea mask (land=1 sea=0),LAND_ON_SURFACE,LAND,1,50 -Sea ice mask,ICEC_ON_SURFACE,ICEC,1,51 -Surface midday albedo,ALBDO_ON_SURFACE,ALBDO,1,150 -Sea surface temperature,WTMP_ON_SURFACE,WTMP,1,151 -Press at tropopause,PRES_ON_TROPOPAUSE,PRES,7,54 -Temperature at tropopause,TMP_ON_TROPOPAUSE,TMP,7,55 -Potential temperature at tropopause,POT_ON_TROPOPAUSE,POT,7,108 -U wind at tropopause,UGRD_ON_TROPOPAUSE,UGRD,7,56 -V wind at tropopause,VGRD_ON_TROPOPAUSE,VGRD,7,57 -Wind shear at tropopause,VWSH_ON_TROPOPAUSE,VWSH,7,58 -Height at tropopause,HGT_ON_TROPOPAUSE,HGT,7,177 -Temperature at flight levels,TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,TMP,103,59 -U wind at flight levels,UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,UGRD,103,60 -V wind at flight levels,VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,VGRD,103,61 -Freezing level height (above mean sea level),HGT_ON_0C_ISOTHERM,HGT,4,62 -Freezing level RH,RH_ON_0C_ISOTHERM,RH,4,63 -Highest freezing level height,HGT_ON_HGHST_TROP_FRZ_LVL,HGT,204,165 -Pressure in boundary layer (30 mb mean),PRES_ON_SPEC_PRES_ABOVE_GRND,PRES,116,67 -Temperature in boundary layer (30 mb mean),TMP_ON_SPEC_PRES_ABOVE_GRND,TMP,116,68 -Potential temperature in boundary layers (30 mb mean),POT_ON_SPEC_PRES_ABOVE_GRND,POT,116,69 -Dew point temperature in boundary layer (30 mb mean),DPT_ON_SPEC_PRES_ABOVE_GRND,DPT,116,70 -Specific humidity in boundary layer (30 mb mean),SPFH_ON_SPEC_PRES_ABOVE_GRND,SPFH,116,71 -RH in boundary layer (30 mb mean),RH_ON_SPEC_PRES_ABOVE_GRND,RH,116,72 -Moisture convergence in boundary layer (30 mb mean),MCONV_ON_SPEC_PRES_ABOVE_GRND,MCONV,116,88 -Precipitable water in boundary layer (30 mb mean),PWAT_ON_SPEC_PRES_ABOVE_GRND,PWAT,116,89 -U wind in boundary layer (30 mb mean),UGRD_ON_SPEC_PRES_ABOVE_GRND,UGRD,116,73 -V wind in boundary layer (30 mb mean),VGRD_ON_SPEC_PRES_ABOVE_GRND,VGRD,116,74 -Omega in boundary layer (30 mb mean),VVEL_ON_SPEC_PRES_ABOVE_GRND,VVEL,116,90 -Visibility,VIS_ON_SURFACE,VIS,1,180 -Vegetation type,VGTYP_ON_SURFACE,VGTYP,1,218 -Soil type,SOTYP_ON_SURFACE,SOTYP,1,219 -Canopy conductance,CCOND_ON_SURFACE,CCOND,1,220 -PBL height,HPBL_ON_SURFACE,HPBL,1,221 -Slope type,SLTYP_ON_SURFACE,SLTYP,1,223 -Snow depth,SNOD_ON_SURFACE,SNOD,1,224 -Liquid soil moisture,SOILL_ON_DEPTH_BEL_LAND_SFC,SOILL,112,225 -Snow free albedo,SNFALB_ON_SURFACE,SNFALB,1,226 -Maximum snow albedo,MXSALB_ON_SURFACE,MXSALB,1,227 -Canopy water evaporation,EVCW_ON_SURFACE,EVCW,1,228 -Direct soil evaporation,EVBS_ON_SURFACE,EVBS,1,229 -Plant transpiration,TRANS_ON_SURFACE,TRANS,1,230 -Snow sublimation,SBSNO_ON_SURFACE,SBSNO,1,231 -Air dry soil moisture,SMDRY_ON_SURFACE,SMDRY,1,232 -Soil moist porosity,POROS_ON_SURFACE,POROS,1,233 -Minimum stomatal resistance,RSMIN_ON_SURFACE,RSMIN,1,234 -Number of root layers,RLYRS_ON_SURFACE,RLYRS,1,235 -Soil moist wilting point,WILT_ON_SURFACE,WILT,1,236 -Soil moist reference,SMREF_ON_SURFACE,SMREF,1,237 -Canopy conductance - solar component,RCS_ON_SURFACE,RCS,1,238 -Canopy conductance - temperature component,RCT_ON_SURFACE,RCT,1,239 -Canopy conductance - humidity component,RCQ_ON_SURFACE,RCQ,1,240 -Canopy conductance - soil component,RCSOL_ON_SURFACE,RCSOL,1,241 -Potential evaporation,PEVPR_ON_SURFACE,PEVPR,1,242 -Heat diffusivity on sigma surface,VEDH_ON_SIGMA_LVLS,VEDH,107,243 -Surface wind gust,GUST_ON_SURFACE,GUST,1,245 -Convective precipitation rate,CPRAT_ON_SURFACE,CPRAT,1,249 -Radar reflectivity at certain above ground heights*,REFD_ON_SPEC_HGT_LVL_ABOVE_GRND,REFD,105,253 -MAPS Sea Level Pressure,MAPS_PRMSL_ON_MEAN_SEA_LVL,PRMSL,102,445 -Total soil moisture,SOILM_ON_DEPTH_BEL_LAND_SFC,SOILM,112,36 -Plant canopy surface water,CNWAT_ON_SURFACE,CNWAT,1,118 -Accumulated storm surface runoff,ACM_SSRUN_ON_SURFACE,SSRUN,1,122 -Accumulated baseflow runoff,ACM_BGRUN_ON_SURFACE,BGRUN,1,123 -Fraction of frozen precipitation,CPOFP_ON_SURFACE,CPOFP,1,172 -GSD Cloud Base pressure,Not currently available for grib2,NA,2,787 -GSD Cloud Top pressure,GSD_PRES_ON_CLOUD_TOP,PRES,3,406 -Averaged temperature tendency from grid scale latent heat release,AVE_LRGHR_ON_HYBRID_LVL,LRGHR,109,78 -Averaged temperature tendency from convective latent heat release,AVE_CNVHR_ON_HYBRID_LVL,CNVHR,109,79 -Average snow phase change heat flux,AVE_SNOHF_ON_SURFACE,SNOHF,1,136 -Accumulated potential evaporation,ACM_PEVAP_ON_SURFACE,PEVAP,1,137 -Highest freezing level relative humidity,RH_ON_HGHST_TROP_FRZ_LVL,RH,204,350 -Maximum wind pressure level,PRES_ON_MAX_WIND,PRES,6,173 -Maximum wind height,HGT_ON_MAX_WIND,HGT,6,174 -U-component of maximum wind,UGRD_ON_MAX_WIND,UGRD,6,175 -V-component of maximum wind,VGRD_ON_MAX_WIND,VGRD,6,176 -GSD cloud base height,GSD_HGT_ON_CLOUD_BASE,HGT,2,408 -GSD cloud top height,GSD_HGT_ON_CLOUD_TOP,HGT,3,409 -GSD visibility,GSD_VIS_ON_CLOUD_TOP,VIS,3,410 -Wind energy potential,WMIXE_ON_SPEC_HGT_LVL_ABOVE_GRND,WMIXE,105,411 -U wind at 80 m above ground,UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND,UGRD,105,412 -V wind at 80 m above ground,VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND,VGRD,105,413 -Graupel on model surface,GRMR_ON_HYBRID_LVL,GRMR,109,415 -Graupel on pressure surface,GRMR_ON_ISOBARIC_SFC,GRMR,100,416 -Maximum updraft helicity,MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km,MXUPHL,106,420 -Maximum 1km reflectivity,MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km,MAXREF,105,421 -Maximum wind speed at 10m,MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,WIND,105,422 -Maximum updraft vertical velocity,MAX_MAXUVV_ON_ISOBARIC_SFC_40-100hpa,MAXUVV,106,423 -Maximum downdraft vertical velocity,MAX_MAXDVV_ON_ISOBARIC_SFC_40-100hpa,MAXDVV,106,424 -Mean vertical velocity,AVE_DZDT_ON_SIGMA_LVL_0.5-0.8,DZDT,108,425 -Radar echo top in KDT,HGT_ON_SPEC_HGT_LVL_ABOVE_GRND,HGT,105,426 -Updraft helicity,UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km,MXUPHL,106,427 -Column integrated graupel,GRMR_ON_ENTIRE_ATMOS_SINGLE_LYR,GRMR,200,428 -Column integrated maximum graupel,MAXVIG_ON_ENTIRE_ATMOS_SINGLE_LYR,TCOLG,200,429 -U-component of 0-1km level wind shear,VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km,VUCSH,106,430 -V-component of 0-1km level wind shear,VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km,VVCSH,106,431 -U-component of 0-6km level wind shear,VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km,VUCSH,106,432 -V-component of 0-6km level wind shear,VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km,VVCSH,106,433 -Total precipitation accumulated over user-specified bucket,BUCKET_APCP_ON_SURFACE,APCP,1,434 -Convective precipitation accumulated over user-specified bucket,BUCKET_ACPCP_ON_SURFACE,ACPCP,1,435 -Grid-scale precipitation accumulated over user-specified bucket,BUCKET_NCPCP_ON_SURFACE,NCPCP,1,436 -Snow accumulated over user-specified bucket,BUCKET_WEASD_ON_SURFACE,WEASD,1,437 -Model level fraction of rain for Ferrier scheme,FRAIN_ON_HYBRID_LVL,FRAIN,109,185 -Model level fraction of ice for Ferrier scheme,FICE_ON_HYBRID_LVL,FICE,109,186 -Model level riming factor for Ferrier scheme,RIME_ON_HYBRID_LVL,RIME,109,187 -Model level total condensate for Ferrier scheme,TCOND_ON_HYBRID_LVL,TCOND,109,199 -Height of sigma surface,HGT_ON_SIGMA_LVLS,HGT,107,205 -Temperature on sigma surface,TMP_ON_SIGMA_LVLS,TMP,107,206 -Specific humidity on sigma surface,SPFH_ON_SIGMA_LVLS,SPFH,107,207 -U-wind on sigma surface,UGRD_ON_SIGMA_LVLS,UGRD,107,208 -V-wind on sigma surface,VGRD_ON_SIGMA_LVLS,VGRD,107,209 -Omega on sigma surface,VVEL_ON_SIGMA_LVLS,VVEL,107,210 -Cloud water on sigma surface,CLWMR_ON_SIGMA_LVLS,CLWMR,107,211 -Cloud ice on sigma surface,CICE_ON_SIGMA_LVLS,CICE,107,212 -Rain on sigma surface,RWMR_ON_SIGMA_LVLS,RWMR,107,213 -Snow on sigma surface,SNMR_ON_SIGMA_LVLS,SNMR,107,214 -Condensate on sigma surface,TCOND_ON_SIGMA_LVLS,TCOND,107,215 -Pressure on sigma surface,PRES_ON_SIGMA_LVLS,PRES,107,216 -Turbulent kinetic energy on sigma surface,TKE_ON_SIGMA_LVLS,TKE,107,217 -Cloud fraction on sigma surface,TCDC_ON_SIGMA_LVLS,TCDC,107,222 -Graupel on sigma surface,GRLE_ON_SIGMA_LVLS,GRLE,107,255 -LCL level pressure,PLPL_ON_SPEC_PRES_ABOVE_GRND,PLPL,116,246 -LOWEST WET BULB ZERO HEIGHT,HGT_ON_LWST_LVL_OF_WET_BULB_ZERO,HGT,245,247 -Leaf area index,LAI_ON_SURFACE,LAI,1,254 -Accumulated land surface model precipitation,ACM_LSPA_ON_SURFACE,LSPA,1,256 -In-flight icing,TIPD_ON_ISOBARIC_SFC,TIPD,100,257 -Clear air turbulence,TPFI_ON_ISOBARIC_SFC,TPFI,100,258 -Wind shear between shelter level and 2000 FT,VWSH_ON_SPEC_HGT_LVL_ABOVE_GRND,VWSH,106,259 -Ceiling,HGT_ON_CLOUD_CEILING,HGT,215,260 -Flight restriction,VIS_ON_CLOUD_BASE,VIS,2,261 -Instantaneous clear sky incoming surface shortwave,INST_CSDSF_ON_SURFACE,CSDSF,1,262 -Pressure level riming factor for Ferrier scheme,RIME_ON_ISOBARIC_SFC,RIME,100,263 -Model level vertical velocity,DZDT_ON_HYBRID_LVL,DZDT,109,264 -Brightness temperature,SBT122_ON_TOP_OF_ATMOS_FROM_LWRAD,SBT122,8,265 -Average albedo,AVE_ALBDO_ON_SURFACE,ALBDO,1,266 -Ozone on model surface,O3MR_ON_HYBRID_LVL,O3MR,109,267 -Ozone on pressure surface,O3MR_ON_ISOBARIC_SFC,O3MR,100,268 -Surface zonal momentum flux,AVE_UFLX_ON_SURFACE,UFLX,1,269 -Surface meridional momentum flux,AVE_VFLX_ON_SURFACE,VFLX,1,270 -Average precipitation rate,AVE_PRATE_ON_SURFACE,PRATE,1,271 -Average convective precipitation rate,AVE_CPRAT_ON_SURFACE,CPRAT,1,272 -Instantaneous outgoing longwave at top of atmosphere,INST_ULWRF_ON_TOP_OF_ATMOS,ULWRF,8,274 -Total spectrum brightness temperature,BRTMP_ON_TOP_OF_ATMOS,BRTMP,8,275 -Model top pressure,PRES_ON_TOP_OF_ATMOS,PRES,8,282 -Composite rain radar reflectivity,REFZR_ON_ENTIRE_ATMOS,REFZR,200,276 -Composite ice radar reflectivity,REFZI_ON_ENTIRE_ATMOS,REFZI,200,277 -Composite radar reflectivity from convection,REFZC_ON_ENTIRE_ATMOS,REFZC,200,278 -Rain radar reflecting angle,REFZR_ON_SPEC_HGT_LVL_ABOVE_GRND,REFZR,105,279 -Ice radar reflecting angle,REFZI_ON_SPEC_HGT_LVL_ABOVE_GRND,REFZI,105,280 -Convection radar reflecting angle,REFZC_ON_SPEC_HGT_LVL_ABOVE_GRND,REFZC,105,281 -Model level vertical velocity,DZDT_ON_ISOBARIC_SFC,DZDT,100,284 -Column integrated super cool liquid water,TCLSW_ON_ENTIRE_ATMOS,TCLSW,200,285 -Column integrated melting ice,TCOLM_ON_ENTIRE_ATMOS,TCOLM,200,286 -Height of lowest level super cool liquid water,HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR,HGT,253,287 -Height of highest level super cool liquid water,HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR,HGT,254,288 -Richardson number planetary boundary layer height,HGT_ON_PLANETARY_BOUND_LYR,HGT,220,289 -Total column shortwave temperature tendency,SWHR_ON_ENTIRE_ATMOS,SWHR,200,290 -Total column longwave temperature tendency,LWHR_ON_ENTIRE_ATMOS,LWHR,200,291 -Total column gridded temperature tendency,AVE_LRGHR_ON_ENTIRE_ATMOS,LRGHR,200,292 -Total column convective temperature tendency,AVE_CNVHR_ON_ENTIRE_ATMOS,CNVHR,200,293 -Radiative flux temperature tendency on pressure level,TTRAD_ON_ISOBARIC_SFC,TTRAD,100,294 -Column integrated moisture convergence,MCONV_ON_ENTIRE_ATMOS,MCONV,200,295 -Time averaged clear sky incoming UV-B shortwave,AVE_CDUVB_ON_SURFACE,CDUVB,1,297 -Time averaged incoming UV-B shortwave,AVE_DUVB_ON_SURFACE,DUVB,1,298 -Total column ozone,TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR,TOZNE,200,299 -Average low cloud fraction,AVE_TCDC_ON_LOW_CLOUD_LYR,TCDC,214,300 -Average mid cloud fraction,AVE_TCDC_ON_MID_CLOUD_LYR,TCDC,224,301 -Average high cloud fraction,AVE_TCDC_ON_HIGH_CLOUD_LYR,TCDC,234,302 -Average low cloud bottom pressure,AVE_PRES_ON_LOW_CLOUD_BOT_LVL,PRES,212,303 -Average low cloud top pressure,AVE_PRES_ON_LOW_CLOUD_TOP_LVL,PRES,213,304 -Average low cloud top temperature,AVE_TMP_ON_LOW_CLOUD_TOP_LVL,TMP,213,305 -Average mid cloud bottom pressure,AVE_PRES_ON_MID_CLOUD_BOT_LVL,PRES,222,306 -Average mid cloud top pressure,AVE_PRES_ON_MID_CLOUD_TOP_LVL,PRES,223,307 -Average mid cloud top temperature,AVE_TMP_ON_MID_CLOUD_TOP_LVL,TMP,223,308 -Average high cloud bottom pressure,AVE_PRES_ON_HIGH_CLOUD_BOT_LVL,PRES,232,309 -Average high cloud top pressure,AVE_PRES_ON_HIGH_CLOUD_TOP_LVL,PRES,233,310 -Average high cloud top temperature,AVE_TMP_ON_HIGH_CLOUD_TOP_LVL,TMP,233,311 -Total column relative humidity,RH_ON_ENTIRE_ATMOS_SINGLE_LYR,RH,200,312 -Cloud work function,AVE_CWORK_ON_ENTIRE_ATMOS_SINGLE_LYR,CWORK,200,313 -Temperature at maximum wind level,TMP_ON_MAX_WIND,TMP,6,314 -Time averaged zonal gravity wave stress,AVE_U-GWD_ON_SURFACE,U-GWD,1,315 -Time averaged meridional gravity wave stress,AVE_V-GWD_ON_SURFACE,V-GWD,1,316 -Average precipitation type,AVE_CRAIN_ON_SURFACE,CRAIN,1,317 -Simulated GOES 12 channel 2 brightness temperature,SBT122_ON_TOP_OF_ATMOS,SBT122,8,327 -Simulated GOES 12 channel 3 brightness temperature,SBT123_ON_TOP_OF_ATMOS,SBT123,8,328 -Simulated GOES 12 channel 4 brightness temperature,SBT124_ON_TOP_OF_ATMOS,SBT124,8,329 -Simulated GOES 12 channel 5 brightness temperature,SBT126_ON_TOP_OF_ATMOS,SBT126,8,330 -Cloud fraction on pressure surface,TCDC_ON_ISOBARIC_SFC,TCDC,100,331 -U-wind on theta surface,UGRD_ON_ISENTROPIC_LVL,UGRD,113,332 -V-wind on theta surface,VGRD_ON_ISENTROPIC_LVL,VGRD,113,333 -Temperature on theta surface,TMP_ON_ISENTROPIC_LVL,TMP,113,334 -Potential vorticity on theta surface,PVORT_ON_ISENTROPIC_LVL,PVORT,113,335 -Montgomery streamfunction on theta surface,MNTSF_ON_ISENTROPIC_LVL,MNTSF,113,353 -Relative humidity on theta surface,RH_ON_ISENTROPIC_LVL,RH,113,352 -U wind on constant PV surface,UGRD_ON_POT_VORT_SFC,UGRD,117,336 -V wind on constant PV surface,VGRD_ON_POT_VORT_SFC,VGRD,117,337 -Temperature on constant PV surface,TMP_ON_POT_VORT_SFC,TMP,117,338 -Height on constant PV surface,HGT_ON_POT_VORT_SFC,HGT,117,339 -Pressure on constant PV surface,PRES_ON_POT_VORT_SFC,PRES,117,340 -Wind shear on constant PV surface,VWSH_ON_POT_VORT_SFC,VWSH,117,341 -Planetary boundary layer cloud fraction,AVE_TCDC_ON_BOUND_LYR_CLOUD_LYR,TCDC,211,342 -Average water runoff,ACM_WATR_ON_SURFACE,WATR,1,343 -Planetary boundary layer regime,PBLREG_ON_SURFACE,PBLREG,1,344 -Maximum 2m temperature,MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,TMAX,105,345 -Minimum 2m temperature,MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,TMIN,105,346 -Maximum 2m RH,MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,MAXRH,105,347 -Minimum 2m RH,MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m,MINRH,105,348 -Ice thickness,ICETK_ON_SURFACE,ICETK,1,349 -Shortwave tendency on pressure surface,SWHR_ON_ISOBARIC_SFC,SWHR,100,354 -Longwave tendency on pressure surface,LWHR_ON_ISOBARIC_SFC,LWHR,100,355 -Deep convective tendency on pressure surface,CNVHR_ON_ISOBARIC_SFC,CNVHR,100,357 -Shallow convective tendency on pressure surface,SHAHR_ON_ISOBARIC_SFC,SHAHR,100,358 -Grid scale tendency on pressure surface,LRGHR_ON_ISOBARIC_SFC,LRGHR,100,359 -Deep convective moisture on pressure surface,CNVMR_ON_ISOBARIC_SFC,CNVMR,100,361 -Shallow convective moisture on pressure surface,SHAMR_ON_ISOBARIC_SFC,SHAMR,100,362 -Ozone tendency on pressure surface,TOZ_ON_ISOBARIC_SFC,TOZ,100,366 -Mass weighted potential vorticity,PVMW_ON_ISOBARIC_SFC,PVMW,100,367 -Simulated GOES 12 channel 3 brightness count,SBC123_ON_TOP_OF_ATMOS,SBC123,8,376 -Simulated GOES 12 channel 4 brightness count,SBC124_ON_TOP_OF_ATMOS,SBC124,8,377 -Omega on theta surface,VVEL_ON_ISENTROPIC_LVL,VVEL,113,378 -Mixing height,MIXHT_ON_SURFACE,MIXHT,1,381 -Average clear-sky incoming longwave at surface,AVE_CSDLF_ON_SURFACE,CSDLF,1,382 -Average clear-sky incoming shortwave at surface,AVE_CSDSF_ON_SURFACE,CSDSF,1,383 -Average clear-sky outgoing longwave at surface,AVE_CSULF_ON_SURFACE,CSULF,1,384 -Average clear-sky outgoing longwave at top of atmosphere,AVE_CSULF_ON_TOP_OF_ATMOS,CSULF,8,385 -Average clear-sky outgoing shortwave at surface,AVE_CSUSF_ON_SURFACE,CSUSF,1,386 -Average clear-sky outgoing shortwave at top of atmosphere,AVE_CSUSF_ON_TOP_OF_ATMOS,CSUSF,8,387 -Average incoming shortwave at top of atmosphere,AVE_DSWRF_ON_TOP_OF_ATMOS,DSWRF,8,388 -Transport wind u component,UGRD_ON_PLANETARY_BOUND_LYR,UGRD,220,389 -Transport wind v component,VGRD_ON_PLANETARY_BOUND_LYR,VGRD,220,390 -Sunshine duration,SUNSD_ON_SURFACE,SUNSD,1,396 -Field capacity,FLDCP_ON_SURFACE,FLDCP,1,397 -ICAO height at maximum wind level,ICAHT_ON_MAX_WIND,ICAHT,6,398 -ICAO height at tropopause,ICAHT_ON_TROPOPAUSE,ICAHT,7,399 -Radar echo top,RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR,RETOP,200,400 -Time averaged surface Visible beam downward solar flux,AVE_VBDSF_ON_SURFACE,VBDSF,1,401 -Time averaged surface Visible diffuse downward solar flux,AVE_VDDSF_ON_SURFACE,VDDSF,1,402 -Time averaged surface Near IR beam downward solar flux,AVE_NBDSF_ON_SURFACE,NBDSF,1,403 -Time averaged surface Near IR diffuse downward solar flux,AVE_NDDSF_ON_SURFACE,NDDSF,1,404 -Average snowfall rate,AVE_SRWEQ_ON_SURFACE,SRWEQ,1,405 -Dust 1 on pressure surface,DUST1_ON_ISOBARIC_LVL,MASSMR,100,438 -Dust 2 on pressure surface,DUST2_ON_ISOBARIC_LVL,MASSMR,100,439 -Dust 3 on pressure surface,DUST3_ON_ISOBARIC_LVL,MASSMR,100,440 -Dust 4 on pressure surface,DUST4_ON_ISOBARIC_LVL,MASSMR,100,441 -Dust 5 on pressure surface,DUST5_ON_ISOBARIC_LVL,MASSMR,100,442 -Equilibrium level height,HGT_ON_EQUIL_LVL,HGT,247,443 -Lightning,LTNG_ON_SURFACE,LTNG,1,444 -Goes west channel 2 brightness temperature,SBT112_ON_TOP_OF_ATMOS,SBT112,8,446 -Goes west channel 3 brightness temperature,SBT113_ON_TOP_OF_ATMOS,SBT113,8,447 -Goes west channel 4 brightness temperature,SBT114_ON_TOP_OF_ATMOS,SBT114,8,448 -Goes west channel 5 brightness temperature,SBT115_ON_TOP_OF_ATMOS,SBT115,8,449 -In flight icing from NCAR algorithm,ICIP_ON_ISOBARIC_SFC,ICIP,100,450 -Specific humidity at flight levels,SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,SPFH,103,451 -Virtual temperature based convective available potential energy,VTCAPE_ON_SURFACE,CAPE,1,452 -Virtual temperature based convective inhibition,VTCIN_ON_SURFACE,CIN,1,453 -Virtual temperature on model surfaces,Not currently available for grib2,NA,109,909 -Virtual temperature on pressure surfaces,Not currently available for grib2,NA,100,910 -Virtual temperature on flight levels,Not currently available for grib2,NA,103,911 -Ventilation rate,VRATE_ON_PLANETARY_BOUND_LYR,VRATE,220,454 -Haines index,HINDEX_ON_SURFACE,HINDEX,1,455 -Pressure at flight levels,PRES_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL,PRES,103,482 -Time-averaged percentage snow cover,AVE_SNOWC_ON_SURFACE,SNOWC,1,500 -Time-averaged surface pressure,AVE_PRES_ON_SURFACE,PRES,1,501 -Time-averaged 10m temperature,AVE_TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,TMP,105,502 -Time-averaged mass exchange coefficient,AVE_AKHS_ON_SURFACE,AKHS,1,503 -Time-averaged wind exchange coefficient,AVE_AKMS_ON_SURFACE,AKMS,1,504 -Temperature at 10m,TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,TMP,105,505 -Maximum U-component wind at 10m,MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,MAXUW,105,506 -Maximum V-component wind at 10m,MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m,MAXVW,105,507 -Simulated GOES 12 channel 2 brightness temperature with satellite angle correction,NON_NADIR_SBT122_ON_TOP_OF_ATMOS,SBT122,8,456 -Simulated GOES 12 channel 3 brightness temperature with satellite angle correction,NON_NADIR_SBT123_ON_TOP_OF_ATMOS,SBT123,8,457 -Simulated GOES 12 channel 4 brightness temperature with satellite angle correction,NON_NADIR_SBT124_ON_TOP_OF_ATMOS,SBT124,8,458 -Simulated GOES 12 channel 5 brightness temperature with satellite angle correction,NON_NADIR_SBT126_ON_TOP_OF_ATMOS,SBT126,8,459 -Simulated GOES 11 channel 2 brightness temperature with satellite angle correction,SBT112_ON_TOP_OF_ATMOS,SBT112,8,460 -Simulated GOES 11 channel 3 brightness temperature with satellite angle correction,SBT113_ON_TOP_OF_ATMOS,SBT113,8,461 -Simulated GOES 11 channel 4 brightness temperature with satellite angle correction,SBT114_ON_TOP_OF_ATMOS,SBT114,8,462 -Simulated GOES 11 channel 5 brightness temperature with satellite angle correction,SBT115_ON_TOP_OF_ATMOS,SBT115,8,463 -Simulated GOES 15 channel 5 brightness temperature with satellite angle correction,Not currently available for grib2,NA,109,872 -Simulated GOES 13 channel 2 brightness temperature with satellite angle correction,Not currently available for grib2,NA,109,868 -Simulated AMSR-E channel 9 brightness temperature,AMSRE9_ON_TOP_OF_ATMOS,AMSRE9,8,483 -Simulated AMSR-E channel 10 brightness temperature,AMSRE10_ON_TOP_OF_ATMOS,AMSRE10,8,484 -Simulated AMSR-E channel 11 brightness temperature,AMSRE11_ON_TOP_OF_ATMOS,AMSRE11,8,485 -Simulated AMSR-E channel 12 brightness temperature,AMSRE12_ON_TOP_OF_ATMOS,AMSRE12,8,486 -SSMI F13 (19H 19V 37H 37V 85H 85V),Not currently available for grib2,NA,109,800 -SSMI F14 (19H 19V 37H 37V 85H 85V),Not currently available for grib2,NA,109,806 -SSMI F15 (19H 19V 37H 37V 85H 85V),Not currently available for grib2,NA,109,812 -SSMIS F16 (183H 19H 19V 37H 37V 85H 85V),Not currently available for grib2,NA,109,818 -SSMIS F17 (183H 19H 19V 37H 37V 85H 85V),Not currently available for grib2,NA,109,825 -SSMIS F18 (183H 19H 19V 37H 37V 85H 85V),Not currently available for grib2,NA,109,832 -SSMIS F19 (183H 19H 19V 37H 37V 85H 85V),Not currently available for grib2,NA,109,839 -SSMIS F20 (183H 19H 19V 37H 37V 85H 85V),Not currently available for grib2,NA,109,846 -MTSAT-1r imager channels 1-4 (backup for mtsat2),Not currently available for grib2,NA,109,864 -MTSAT2 imager channels 1-4,Not currently available for grib2,NA,109,860 -Seviri brightness temperature channels 5-11,Not currently available for grib2,NA,109,876 -Insat 3d brightness temperature IR channels 1-4,Not currently available for grib2,NA,109,865 -Simulated GOES 16 band 7 brightness temperature,SBTA167_ON_TOP_OF_ATMOS,SBTA167,109,927 -Simulated GOES 16 band 8 brightness temperature,SBTA168_ON_TOP_OF_ATMOS,SBTA168,109,928 -Simulated GOES 16 band 9 brightness temperature,SBTA169_ON_TOP_OF_ATMOS,SBTA169,109,929 -Simulated GOES 16 band 10 brightness temperature,SBTA1610_ON_TOP_OF_ATMOS,SBTA1610,109,930 -Simulated GOES 16 band 11 brightness temperature,SBTA1611_ON_TOP_OF_ATMOS,SBTA1611,109,931 -Simulated GOES 16 band 12 brightness temperature,SBTA1612_ON_TOP_OF_ATMOS,SBTA1612,109,932 -Simulated GOES 16 band 13 brightness temperature,SBTA1613_ON_TOP_OF_ATMOS,SBTA1613,109,933 -Simulated GOES 16 band 14 brightness temperature,SBTA1614_ON_TOP_OF_ATMOS,SBTA1614,109,934 -Simulated GOES 16 band 15 brightness temperature,SBTA1615_ON_TOP_OF_ATMOS,SBTA1615,109,935 -Simulated GOES 16 band 16 brightness temperature,SBTA1616_ON_TOP_OF_ATMOS,SBTA1616,109,936 -Simulated GOES 17 band 7 brightness temperature,SBTA177_ON_TOP_OF_ATMOS,SBTA177,109,937 -Simulated GOES 17 band 8 brightness temperature,SBTA178_ON_TOP_OF_ATMOS,SBTA178,109,938 -Simulated GOES 17 band 9 brightness temperature,SBTA179_ON_TOP_OF_ATMOS,SBTA179,109,939 -Simulated GOES 17 band 10 brightness temperature,SBTA1710_ON_TOP_OF_ATMOS,SBTA1710,109,940 -Simulated GOES 17 band 11 brightness temperature,SBTA1711_ON_TOP_OF_ATMOS,SBTA1711,109,941 -Simulated GOES 17 band 12 brightness temperature,SBTA1712_ON_TOP_OF_ATMOS,SBTA1712,109,942 -Simulated GOES 17 band 13 brightness temperature,SBTA1713_ON_TOP_OF_ATMOS,SBTA1713,109,943 -Simulated GOES 17 band 14 brightness temperature,SBTA1714_ON_TOP_OF_ATMOS,SBTA1714,109,944 -Simulated GOES 17 band 15 brightness temperature,SBTA1715_ON_TOP_OF_ATMOS,SBTA1715,109,945 -Simulated GOES 17 band 16 brightness temperature,SBTA1716_ON_TOP_OF_ATMOS,SBTA1716,109,946 -Simulated GOES R band 7 brightness temperature,SBTAGR7_ON_TOP_OF_ATMOS,SBTAGR7,109,958 -Simulated GOES R band 8 brightness temperature,SBTAGR8_ON_TOP_OF_ATMOS,SBTAGR8,109,959 -Simulated GOES R band 9 brightness temperature,SBTAGR9_ON_TOP_OF_ATMOS,SBTAGR9,109,960 -Simulated GOES R band 10 brightness temperature,SBTAGR10_ON_TOP_OF_ATMOS,SBTAGR10,109,961 -Simulated GOES R band 11 brightness temperature,SBTAGR11_ON_TOP_OF_ATMOS,SBTAGR11,109,962 -Simulated GOES R band 12 brightness temperature,SBTAGR12_ON_TOP_OF_ATMOS,SBTAGR12,109,963 -Simulated GOES R band 13 brightness temperature,SBTAGR13_ON_TOP_OF_ATMOS,SBTAGR13,109,964 -Simulated GOES R band 14 brightness temperature,SBTAGR14_ON_TOP_OF_ATMOS,SBTAGR14,109,965 -Simulated GOES R band 15 brightness temperature,SBTAGR15_ON_TOP_OF_ATMOS,SBTAGR15,109,966 -Simulated GOES R band 16 brightness temperature,SBTAGR16_ON_TOP_OF_ATMOS,SBTAGR16,109,967 -Simulated Himawari-8 band 7 brightness temperature,SBTAHI7_ON_TOP_OF_ATMOS,SBTAHI7,109,969 -Simulated Himawari-8 band 8 brightness temperature,SBTAHI8_ON_TOP_OF_ATMOS,SBTAHI8,109,970 -Simulated Himawari-8 band 9 brightness temperature,SBTAHI9_ON_TOP_OF_ATMOS,SBTAHI9,109,971 -Simulated Himawari-8 band 10 brightness temperature,SBTAHI10_ON_TOP_OF_ATMOS,SBTAHI10,109,972 -Simulated Himawari-8 band 11 brightness temperature,SBTAHI11_ON_TOP_OF_ATMOS,SBTAHI11,109,973 -Simulated Himawari-8 band 12 brightness temperature,SBTAHI12_ON_TOP_OF_ATMOS,SBTAHI12,109,974 -Simulated Himawari-8 band 13 brightness temperature,SBTAHI13_ON_TOP_OF_ATMOS,SBTAHI13,109,975 -Simulated Himawari-8 band 14 brightness temperature,SBTAHI14_ON_TOP_OF_ATMOS,SBTAHI14,109,976 -Simulated Himawari-8 band 15 brightness temperature,SBTAHI15_ON_TOP_OF_ATMOS,SBTAHI15,109,977 -Simulated Himawari-8 band 16 brightness temperature,SBTAHI16_ON_TOP_OF_ATMOS,SBTAHI16,109,978 diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index c9146cc86a..0000000000 --- a/docs/index.rst +++ /dev/null @@ -1,15 +0,0 @@ -Welcome to the UPP User's Guide -=============================== - -.. toctree:: - :maxdepth: 3 - :numbered: - - Introduction - CodeOverview - InputsOutputs - Installation - Running - Regridding - AddNewVariable - Acknowledgments diff --git a/fix/Breadboard/2.5km_climo_snoden_fall-SON.gfs.3072.1536.grib2 b/fix/Breadboard/2.5km_climo_snoden_fall-SON.gfs.3072.1536.grib2 new file mode 100644 index 0000000000..7024f3f71e Binary files /dev/null and b/fix/Breadboard/2.5km_climo_snoden_fall-SON.gfs.3072.1536.grib2 differ diff --git a/fix/Breadboard/2.5km_climo_snoden_fall-SON.grb b/fix/Breadboard/2.5km_climo_snoden_fall-SON.grb new file mode 100644 index 0000000000..f0c5d27ce6 Binary files /dev/null and b/fix/Breadboard/2.5km_climo_snoden_fall-SON.grb differ diff --git a/fix/Breadboard/2.5km_climo_snoden_spring-MAM.gfs.3072.1536.grib2 b/fix/Breadboard/2.5km_climo_snoden_spring-MAM.gfs.3072.1536.grib2 new file mode 100644 index 0000000000..3d862701c9 Binary files /dev/null and b/fix/Breadboard/2.5km_climo_snoden_spring-MAM.gfs.3072.1536.grib2 differ diff --git a/fix/Breadboard/2.5km_climo_snoden_spring-MAM.grb b/fix/Breadboard/2.5km_climo_snoden_spring-MAM.grb new file mode 100644 index 0000000000..6e2a010aa9 Binary files /dev/null and b/fix/Breadboard/2.5km_climo_snoden_spring-MAM.grb differ diff --git a/fix/Breadboard/2.5km_climo_snoden_winter-DJF.gfs.3072.1536.grib2 b/fix/Breadboard/2.5km_climo_snoden_winter-DJF.gfs.3072.1536.grib2 new file mode 100644 index 0000000000..3ca2a27919 Binary files /dev/null and b/fix/Breadboard/2.5km_climo_snoden_winter-DJF.gfs.3072.1536.grib2 differ diff --git a/fix/Breadboard/2.5km_climo_snoden_winter-DJF.grb b/fix/Breadboard/2.5km_climo_snoden_winter-DJF.grb new file mode 100644 index 0000000000..e94bd1ba4e Binary files /dev/null and b/fix/Breadboard/2.5km_climo_snoden_winter-DJF.grb differ diff --git a/fix/Breadboard/Breadboard1.nsw b/fix/Breadboard/Breadboard1.nsw new file mode 100644 index 0000000000..6e9b2e6be8 --- /dev/null +++ b/fix/Breadboard/Breadboard1.nsw @@ -0,0 +1,43 @@ +// Weights saved from breadboard C:\MY DOCUMENTS\BREADBOARD1R.NSB. +// Saved after epoch 1, exemplar 0. + +#NSWeightFileVersion 225 + +#inputFile File +7 +1.077844262123108e+000 -1.778443008661270e-001 +2.295625507831574e-001 6.163756549358368e-002 +2.081887423992157e-001 6.210270524024963e-001 +3.646677434444428e-001 1.214343756437302e-001 +2.430133521556854e-001 3.004860281944275e-001 +1.935067623853684e-001 4.185551702976227e-001 +1.962280571460724e-001 -4.804643988609314e-001 +0 + +#inputAxon Axon +7 1 +1 +0 + +#hidden1Axon TanhAxon +40 1 +1 +40 -1.150484442710877e+000 -1.461968779563904e+000 1.349107265472412e+000 6.686212420463562e-001 -8.486616015434265e-001 -1.908162593841553e+000 -1.514992356300354e+000 -1.632351636886597e+000 -1.794843912124634e+000 1.354879975318909e+000 1.389558911323547e+000 1.464104652404785e+000 1.896052122116089e+000 1.401677846908569e+000 1.436681509017944e+000 -1.590880393981934e+000 -1.070504426956177e+000 2.047163248062134e+000 1.564107656478882e+000 1.298712372779846e+000 -1.316817998886108e+000 -1.253177642822266e+000 -1.392926216125488e+000 7.356406450271606e-001 1.594561100006104e+000 -1.532955884933472e+000 -1.021214842796326e+000 1.341110348701477e+000 6.124811172485352e-001 1.415654063224793e+000 -8.509962558746338e-001 1.753035664558411e+000 6.275475621223450e-001 1.482843875885010e+000 1.326028347015381e+000 1.641556143760681e+000 1.339018464088440e+000 -1.374068379402161e+000 -1.220067739486694e+000 1.714797854423523e+000 + +#outputAxon SoftMaxAxon +3 1 +1 +3 0.000000000000000e+000 0.000000000000000e+000 0.000000000000000e+000 + +#hidden1Synapse FullSynapse +280 -4.612099826335907e-001 -3.177818655967712e-001 -2.800635099411011e-001 -6.984808295965195e-002 6.583837419748306e-002 -5.769817233085632e-001 3.955098092556000e-001 -1.624705344438553e-001 -2.889076173305512e-001 -9.411631226539612e-001 -5.058886408805847e-001 -3.110982775688171e-001 -3.723000884056091e-001 8.419776558876038e-001 2.598794996738434e-001 -1.364605724811554e-001 9.416468143463135e-001 -4.025689139962196e-002 4.176554381847382e-001 1.196979433298111e-001 -3.846398293972015e-001 -1.414917409420013e-001 -2.344214916229248e+000 -3.556166291236877e-001 -7.762963771820068e-001 -1.243659138679504e+000 4.907984733581543e-001 -1.891903519630432e+000 -5.802390575408936e-001 -5.546363592147827e-001 -4.520095884799957e-001 -2.473797500133514e-001 -7.757837772369385e-001 -5.350160598754883e-001 1.817676275968552e-001 -1.932217180728912e-001 5.944451093673706e-001 -6.568105518817902e-002 -1.562235504388809e-001 4.926294833421707e-002 -6.931540369987488e-001 7.082754969596863e-001 -3.878217563033104e-002 5.063381195068359e-001 -7.642447352409363e-001 -2.539043128490448e-001 -4.328470230102539e-001 -4.773662984371185e-001 6.699458956718445e-001 -1.670347154140472e-001 6.986252665519714e-001 -6.806275844573975e-001 1.059119179844856e-001 5.320579931139946e-002 -4.806780517101288e-001 7.601988911628723e-001 -1.864496916532517e-001 -3.076690435409546e-001 -6.505665779113770e-001 7.355872541666031e-002 -4.033335149288178e-001 -2.168276757001877e-001 5.354191064834595e-001 2.991014420986176e-001 4.275756180286408e-001 6.465418934822083e-001 -1.401910781860352e-001 5.381527543067932e-001 9.247279167175293e-001 -3.687029778957367e-001 6.354923844337463e-001 -1.423558890819550e-001 9.430686831474304e-001 1.187003701925278e-001 5.426434278488159e-001 7.573884129524231e-001 3.361994773149490e-002 3.300542756915093e-002 -4.439333379268646e-001 5.953744649887085e-001 3.412617444992065e-001 1.421828866004944e-001 5.224847793579102e-001 -8.267756700515747e-001 5.009499788284302e-001 2.736742198467255e-001 8.603093624114990e-001 9.373022615909576e-002 1.714528501033783e-001 9.114132076501846e-002 -1.638108491897583e-001 5.879403948783875e-001 5.585592240095139e-003 8.149939179420471e-001 -1.340572237968445e-001 3.880683779716492e-001 3.857498764991760e-001 -8.105239868164063e-001 5.239543914794922e-001 7.420576363801956e-002 7.694411277770996e-001 -3.954831138253212e-002 5.615213513374329e-001 4.560695886611939e-001 -5.006425976753235e-001 -4.725854694843292e-001 5.887325108051300e-002 -3.199687898159027e-001 -5.229111015796661e-002 -6.034490466117859e-001 -8.414428234100342e-001 1.826022863388062e-001 -6.954011321067810e-001 -5.277091860771179e-001 -9.834931492805481e-001 -2.964940369129181e-001 1.752081327140331e-002 -2.412298470735550e-001 5.861807465553284e-001 3.650662600994110e-001 -1.846716850996018e-001 3.277707397937775e-001 1.213769540190697e-001 1.398152709007263e-001 1.624975651502609e-001 -7.172397375106812e-001 -4.065496101975441e-002 -1.131931394338608e-001 7.050336003303528e-001 3.453079611063004e-002 5.642467141151428e-001 7.171959280967712e-001 -3.295499980449677e-001 5.192958116531372e-001 7.558688521385193e-001 6.164067387580872e-001 -1.597565859556198e-001 1.512383669614792e-001 5.231227278709412e-001 -2.199545800685883e-001 -3.987313508987427e-001 -9.710572957992554e-001 -4.689137935638428e-001 -4.037811756134033e-001 -4.528387784957886e-001 -4.784810543060303e-001 1.759306043386459e-001 7.449938654899597e-001 1.120681285858154e+000 -5.609570741653442e-001 1.393345594406128e+000 1.374282408505678e-002 -2.458193153142929e-001 1.237058401107788e+000 -4.854794219136238e-002 -6.664386391639710e-001 -8.786886334419251e-001 -3.208510577678680e-001 -4.315690398216248e-001 -5.186472535133362e-001 -2.117208093404770e-001 8.998587727546692e-002 7.763032317161560e-001 1.078992128372192e+000 3.667660653591156e-001 5.805531740188599e-001 1.517073512077332e-001 9.344519972801209e-001 3.396262824535370e-001 2.450248003005981e-001 9.134629368782044e-001 7.127542048692703e-002 -1.287281513214111e-001 3.953699469566345e-001 -4.097535610198975e-001 -5.983641743659973e-001 4.500437378883362e-001 -8.147508651018143e-002 -7.916551083326340e-002 -1.505649089813232e-001 -1.703914403915405e-001 1.294612526893616e+000 -4.859757721424103e-001 -1.034098416566849e-001 -6.859915256500244e-001 4.521823674440384e-002 3.100419938564301e-001 -9.373775720596314e-001 5.841451883316040e-001 7.020491957664490e-001 -1.681403964757919e-001 6.397892832756043e-001 1.168430075049400e-001 4.124156236648560e-001 5.404921174049377e-001 -3.311195969581604e-001 -3.494578003883362e-001 1.379718184471130e+000 2.731607258319855e-001 5.512273311614990e-001 2.997024357318878e-001 3.475511670112610e-001 6.777516603469849e-001 1.471205204725266e-001 1.011002138257027e-001 8.974244594573975e-001 8.688372373580933e-002 4.767233729362488e-001 9.785303473472595e-001 -2.200428694486618e-001 -6.173372268676758e-001 -8.801369071006775e-001 -1.111719012260437e+000 -3.223371803760529e-001 -6.491173505783081e-001 -3.894545435905457e-001 -2.843862473964691e-001 7.331426739692688e-001 -3.287445753812790e-002 -5.741032306104899e-003 6.212961673736572e-001 3.749484941363335e-002 6.244438700377941e-003 -6.228777766227722e-001 -4.667133837938309e-002 2.016694307327271e+000 2.834755480289459e-001 6.229624748229981e-001 6.552317738533020e-001 -9.771268069744110e-002 7.506207823753357e-001 6.942567825317383e-001 -1.662521809339523e-001 3.003259599208832e-001 -2.531996071338654e-001 2.399661689996719e-001 5.109554529190064e-001 -7.031706571578980e-001 2.836774885654450e-001 4.888223409652710e-001 1.384589523077011e-001 -3.524579405784607e-001 -2.050135582685471e-001 1.160808563232422e+000 -4.008938968181610e-001 1.656456440687180e-001 -5.116114616394043e-001 8.800522685050964e-001 6.836380064487457e-002 -5.902936309576035e-002 5.672354102134705e-001 -7.219299674034119e-001 3.463289514183998e-002 -1.044675827026367e+000 -8.341925591230393e-002 -3.036961853504181e-001 -5.605638027191162e-001 5.722484588623047e-001 -1.604338049888611e+000 -5.696258544921875e-001 -2.531512081623077e-001 -4.675458073616028e-001 -6.486019492149353e-001 -2.437075823545456e-001 -2.898264527320862e-001 3.836293518543243e-001 4.061043560504913e-001 3.909072279930115e-001 -8.113911151885986e-001 1.260317683219910e+000 -3.924282491207123e-001 3.586370870471001e-002 7.703443765640259e-001 6.714462637901306e-001 -4.909946396946907e-002 3.536651730537415e-001 1.900762617588043e-001 3.638494014739990e-001 2.248179465532303e-001 -6.255846619606018e-001 + +#outputSynapse FullSynapse +120 -4.825605154037476e-001 -1.119017243385315e+000 5.116804838180542e-001 -6.694142222404480e-001 -5.718530416488648e-001 -7.233589291572571e-001 -8.200560212135315e-001 -6.121573448181152e-001 -1.034205436706543e+000 1.015549778938294e+000 1.183975338935852e+000 5.342597365379334e-001 1.186208128929138e+000 7.657266259193420e-001 9.990772604942322e-001 -1.051267385482788e+000 -7.288008332252502e-001 9.447612762451172e-001 6.943449974060059e-001 5.248318314552307e-001 -1.042970657348633e+000 -4.857340827584267e-004 -8.969252705574036e-001 5.206210613250732e-001 7.825390100479126e-001 -3.175100982189179e-001 -7.697273492813110e-001 3.042222857475281e-001 7.400255203247070e-001 1.082547545433044e+000 -1.058874249458313e+000 3.296852707862854e-001 9.955985546112061e-001 7.361931800842285e-001 8.618848919868469e-001 7.109408378601074e-001 1.148022636771202e-001 -6.803723573684692e-001 -4.462003335356712e-002 7.384030222892761e-001 -2.215545326471329e-001 -8.702403903007507e-001 8.234908580780029e-001 6.819239258766174e-001 -4.687527120113373e-001 -6.959788203239441e-001 -6.105158329010010e-001 -7.225347757339478e-001 -7.860832810401917e-001 5.608791112899780e-001 9.937217235565186e-001 6.797130703926086e-001 8.231667280197144e-001 1.115462303161621e+000 5.290299654006958e-001 -4.602016210556030e-001 -5.394889116287231e-001 1.053055644035339e+000 9.533493518829346e-001 8.694807887077332e-001 -4.802323281764984e-001 -1.070514082908630e+000 -8.236010670661926e-001 7.932062149047852e-001 1.111655592918396e+000 -1.025945305824280e+000 -2.268178462982178e-001 6.432797908782959e-001 2.442117929458618e-001 7.986634969711304e-001 -3.561095297336578e-001 1.058865070343018e+000 6.459046602249146e-001 4.042869210243225e-001 2.976681292057037e-002 1.033244490623474e+000 9.110773205757141e-001 -6.528528332710266e-001 -8.971995115280151e-001 1.046785235404968e+000 -5.487565994262695e-001 -1.033755183219910e+000 5.164890289306641e-001 1.108534336090088e+000 -2.507440149784088e-001 -1.150385260581970e+000 -1.040475010871887e+000 -1.114320755004883e+000 -9.695596694946289e-001 9.147439599037170e-001 3.035557866096497e-001 1.044997453689575e+000 1.059857130050659e+000 7.304399013519287e-001 1.102171182632446e+000 -9.304327964782715e-001 -5.997116565704346e-001 1.120478868484497e+000 6.444569826126099e-001 2.137384265661240e-001 -4.117920994758606e-001 -1.000458717346191e+000 -2.041520774364471e-001 -1.859422773122788e-001 3.711319267749786e-001 -9.141649603843689e-001 -7.499164938926697e-001 9.900025129318237e-001 -2.189985066652298e-001 8.942219614982605e-001 -3.195305764675140e-001 6.445295810699463e-001 -2.110123336315155e-001 9.763143658638001e-001 8.833498954772949e-001 1.071311354637146e+000 1.134591102600098e+000 -4.175429344177246e-001 -6.000540852546692e-001 7.281569838523865e-001 + +#activeOutputProbe DataWriter +3 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 + diff --git a/fix/Breadboard/Breadboard10.nsw b/fix/Breadboard/Breadboard10.nsw new file mode 100644 index 0000000000..705a96bec3 --- /dev/null +++ b/fix/Breadboard/Breadboard10.nsw @@ -0,0 +1,45 @@ +// Weights saved from breadboard C:\My Documents\Breadboard10.nsb. +// Saved after epoch 1, exemplar 0. + +#NSWeightFileVersion 225 + +#inputFile File +7 +1.077844262123108e+000 -1.778443008661270e-001 +2.269289046525955e-001 -1.588500849902630e-002 +1.906577646732330e-001 6.807435750961304e-001 +3.703703582286835e-001 -4.592590779066086e-002 +2.611723542213440e-001 3.901915252208710e-001 +1.911842674016953e-001 4.027296602725983e-001 +1.951007992029190e-001 -4.725341200828552e-001 +0 + +#inputAxon Axon +7 1 +1 +0 + +#hidden1Axon TanhAxon +7 1 +1 +7 1.307985544204712e+000 -1.960705667734146e-001 -1.105142459273338e-001 -1.207442641258240e+000 -1.665081620216370e+000 1.251117825508118e+000 -7.307677268981934e-001 + +#hidden2Axon TanhAxon +4 1 +1 +4 2.186001092195511e-002 3.369570672512054e-001 1.165086925029755e-001 2.747000660747290e-003 + +#outputAxon SoftMaxAxon +3 1 +1 +3 0.000000000000000e+000 0.000000000000000e+000 0.000000000000000e+000 + +#hidden1Synapse FullSynapse +49 -3.375437259674072e-001 -3.020816326141357e+000 -1.435481071472168e+000 1.473870635032654e+000 -7.776365280151367e-001 6.734371185302734e-001 -1.643768787384033e+000 -1.227448821067810e+000 -7.365036606788635e-001 -4.473563134670258e-001 -5.696173906326294e-001 -2.562220990657806e-001 8.557485342025757e-001 -8.057124614715576e-001 4.266147911548615e-001 2.171551227569580e+000 3.776189982891083e-001 5.574828386306763e-001 3.814708292484283e-001 2.591066062450409e-001 1.959651827812195e+000 1.003962755203247e-001 -1.228965446352959e-002 -3.882043361663818e-001 -2.722288109362125e-002 -3.378733694553375e-001 -7.981095314025879e-001 4.839731752872467e-001 1.432798147201538e+000 1.885666996240616e-001 -6.051751971244812e-001 2.924412488937378e+000 1.136252880096436e+000 2.994727194309235e-001 1.604383468627930e+000 -8.440219759941101e-001 6.088087558746338e-001 -3.722844421863556e-001 5.441566109657288e-001 3.944540619850159e-001 7.044004201889038e-001 3.459328413009644e-001 1.054268121719360e+000 -3.348083496093750e+000 -7.199336886405945e-001 -1.489133596420288e+000 -4.090557992458344e-001 8.203456401824951e-001 -1.118073821067810e+000 + +#hidden2Synapse FullSynapse +28 -6.871775984764099e-001 -1.148896694183350e+000 -2.102893590927124e-001 -5.890849828720093e-001 5.899340510368347e-001 7.098034024238586e-001 -1.422515869140625e+000 -1.206974506378174e+000 4.104525446891785e-001 3.567897081375122e-001 2.746991515159607e-001 1.193219542503357e+000 3.167707324028015e-001 -1.222744822502136e+000 -9.918631613254547e-002 4.355156719684601e-001 2.938420772552490e-001 -1.012830615043640e+000 -1.290418803691864e-001 7.479285597801209e-001 -2.292920649051666e-001 -1.372484922409058e+000 -6.534293759614229e-003 1.525195717811585e+000 2.076585590839386e-001 1.434590101242065e+000 7.887706905603409e-002 -1.401232123374939e+000 + +#outputSynapse FullSynapse +12 6.101396083831787e-001 3.122945129871368e-001 3.869898915290833e-001 4.438063502311707e-001 5.161536335945129e-001 -2.700618803501129e-001 -3.105166740715504e-002 -5.569267272949219e-001 -5.549081563949585e-001 -3.867979049682617e-001 1.623111665248871e-001 -6.052750945091248e-001 + diff --git a/fix/Breadboard/Breadboard2.nsw b/fix/Breadboard/Breadboard2.nsw new file mode 100644 index 0000000000..7e6eac5d83 --- /dev/null +++ b/fix/Breadboard/Breadboard2.nsw @@ -0,0 +1,43 @@ +// Weights saved from breadboard C:\MY DOCUMENTS\BREADBOARD2.NSB. +// Saved after epoch 1, exemplar 0. + +#NSWeightFileVersion 225 + +#inputFile File +7 +1.077844262123108e+000 -1.778443008661270e-001 +2.188449800014496e-001 1.674167998135090e-002 +1.868382692337036e-001 6.490761637687683e-001 +3.361344337463379e-001 4.151264205574989e-002 +2.621995508670807e-001 2.531536519527435e-001 +1.944894641637802e-001 3.221717774868012e-001 +3.179650008678436e-001 -2.033386379480362e-001 +0 + +#inputAxon Axon +7 1 +1 +0 + +#hidden1Axon TanhAxon +40 1 +1 +40 -9.235364943742752e-002 -5.511198639869690e-001 1.012191653251648e+000 -1.148184835910797e-001 -8.399781584739685e-001 -4.726789295673370e-001 7.570160627365112e-001 -3.985013365745544e-001 1.164000511169434e+000 2.212587594985962e-001 9.570528268814087e-001 -1.504407286643982e+000 -1.262813359498978e-001 9.741528630256653e-001 2.278975844383240e-001 -3.282702267169952e-001 1.716251969337463e-001 4.979004263877869e-001 6.414948105812073e-001 -2.775986790657044e-001 -6.721665859222412e-001 7.226511836051941e-001 -1.020949006080627e+000 -9.638186097145081e-001 4.050622135400772e-002 -8.287806510925293e-001 -2.900803685188294e-001 1.004199028015137e+000 -1.221053838729858e+000 -5.891714692115784e-001 -6.459002494812012e-001 8.228222727775574e-001 1.921370178461075e-001 1.575044542551041e-001 -9.904603362083435e-001 1.186665743589401e-001 1.871918141841888e-001 -6.121324300765991e-001 1.056765243411064e-001 -5.654883384704590e-001 + +#outputAxon SoftMaxAxon +3 1 +1 +3 0.000000000000000e+000 0.000000000000000e+000 0.000000000000000e+000 + +#hidden1Synapse FullSynapse +280 -5.215738341212273e-002 6.958795785903931e-001 -3.700282871723175e-001 4.440588057041168e-001 -9.248711913824081e-002 9.709199517965317e-002 1.255098581314087e-001 -1.359838247299194e-001 3.981630802154541e-001 -4.047442674636841e-001 -5.247595906257629e-001 -5.138890147209168e-001 2.293408364057541e-001 5.139534473419190e-001 2.035804986953735e-001 3.003124892711639e-001 -2.340262830257416e-001 3.037432730197907e-001 4.666079878807068e-001 3.753643631935120e-001 -5.292671918869019e-002 3.674933612346649e-001 3.854512274265289e-001 1.749511361122131e-001 1.320011764764786e-001 2.418431788682938e-001 1.245125234127045e-001 -2.677426636219025e-001 3.884479776024818e-002 -1.385747641324997e-001 -3.117613494396210e-001 3.016934990882874e-001 -2.856997251510620e-001 -4.838032424449921e-001 4.488031566143036e-001 -3.862534165382385e-001 2.520084977149963e-001 -6.066129356622696e-002 -2.037643343210220e-001 -9.749407321214676e-002 1.909288167953491e-001 -2.689029574394226e-001 8.022837042808533e-001 4.543448388576508e-001 1.268999278545380e-001 2.794430553913117e-001 4.331161379814148e-001 -1.717756092548370e-001 -5.167780518531799e-001 6.074145808815956e-002 2.141399085521698e-001 -3.536535203456879e-001 -2.548796236515045e-001 -4.349331259727478e-001 3.771509276703000e-003 1.351494044065476e-001 8.080910146236420e-002 -2.638687789440155e-001 1.792310923337936e-001 -5.317723155021668e-001 6.300682574510574e-002 1.391339004039764e-001 -6.581404209136963e-001 1.574699729681015e-001 -5.979638695716858e-001 -6.864693760871887e-001 -6.892689466476440e-001 -1.189238503575325e-001 -1.904999166727066e-001 -4.838389158248901e-001 4.585682973265648e-002 3.201213181018829e-001 5.204908251762390e-001 -3.531241044402123e-002 4.392628967761993e-001 4.307939708232880e-001 -4.227218031883240e-002 1.247199028730393e-001 1.489800363779068e-001 -3.146159052848816e-001 2.637389600276947e-001 -8.966535329818726e-002 2.010040730237961e-001 3.161593675613403e-001 -8.221558481454849e-002 -4.601925909519196e-001 -3.832246661186218e-001 2.877672016620636e-001 -1.351716276258230e-002 -5.320604424923658e-003 -3.493662178516388e-002 -1.777663826942444e-001 -1.865815520286560e-001 6.387206912040710e-001 -4.405377805233002e-001 4.452396631240845e-001 -1.245370283722878e-001 -2.323225736618042e-001 1.697962284088135e-001 1.118463352322578e-001 -2.475701570510864e-001 -3.791887685656548e-002 5.509998202323914e-001 1.247667223215103e-001 3.189268708229065e-001 -3.584641516208649e-001 8.915060758590698e-001 9.720049053430557e-002 -1.117252558469772e-001 3.543806076049805e-001 -2.351483702659607e-001 5.283502340316773e-001 1.746209561824799e-001 1.741478294134140e-001 2.738423347473145e-001 3.764865398406982e-001 3.486587703227997e-001 -3.462808132171631e-001 9.324266910552979e-001 2.155355364084244e-001 -5.171442404389381e-002 6.311618685722351e-001 -1.088170856237412e-001 4.840107262134552e-001 -2.310744374990463e-001 -3.167505562305450e-001 -2.271509468555450e-001 -2.800688743591309e-001 4.713648185133934e-002 -1.575807780027390e-001 3.583298251032829e-002 -3.308865129947662e-001 -2.662795484066010e-001 1.894978582859039e-001 7.474141567945480e-002 -1.493624746799469e-001 -1.482628136873245e-001 -1.058527529239655e-001 -3.737696707248688e-001 -1.093639135360718e-001 -4.270362555980682e-001 1.249950975179672e-001 -1.971846818923950e-001 3.135327398777008e-001 4.604682624340057e-001 -4.614944458007813e-001 4.820220768451691e-001 3.806282877922058e-001 3.629744052886963e-001 3.986520171165466e-001 -2.283873707056046e-001 1.246029064059258e-001 3.940442204475403e-001 2.390366494655609e-001 8.402416110038757e-002 3.498363792896271e-001 -3.888027667999268e-001 2.272991091012955e-001 -3.421411216259003e-001 1.273499727249146e-001 1.342627108097076e-001 1.159043312072754e-001 1.274240911006928e-001 -2.915177941322327e-001 6.415430903434753e-001 1.699399948120117e-001 -6.556300520896912e-001 9.605846554040909e-002 3.632318377494812e-001 -3.854629993438721e-001 -3.860571384429932e-001 -1.257066577672958e-001 -1.186188161373138e-001 -1.368320286273956e-001 -2.300722897052765e-001 -4.762146174907684e-001 -3.621844053268433e-001 -4.978014528751373e-002 -1.940275430679321e-001 -1.588442362844944e-002 -1.519876420497894e-001 1.312368810176849e-001 1.862339228391647e-001 6.462548375129700e-001 5.544137358665466e-001 -3.416634351015091e-002 9.995899349451065e-002 -6.969342380762100e-002 -1.428494304418564e-001 2.647481858730316e-001 1.083492934703827e-001 5.986538901925087e-002 -1.576850377023220e-002 1.962803453207016e-001 6.334787011146545e-001 -1.408149152994156e-001 -1.756295561790466e-001 -2.156554609537125e-001 -1.412229537963867e-001 -5.801249146461487e-001 -5.700040608644486e-002 -3.019523918628693e-001 -1.161280944943428e-001 -3.032382726669312e-001 1.140000447630882e-001 -2.648598253726959e-001 -2.016042023897171e-001 -3.181084990501404e-002 7.931513339281082e-002 5.399967432022095e-001 -4.595367014408112e-001 9.602636098861694e-002 -4.730868339538574e-001 2.077568918466568e-001 -2.257115393877029e-001 3.216529190540314e-001 1.631081402301788e-001 6.222640164196491e-003 -1.323710232973099e-001 1.348871737718582e-001 1.123578473925591e-001 5.462109446525574e-001 5.289056897163391e-001 5.155519247055054e-001 2.748569846153259e-001 -3.125837743282318e-001 -3.262098431587219e-001 -8.945185691118240e-003 -4.980920553207398e-001 5.064374208450317e-001 -1.056439951062203e-001 -3.115973472595215e-001 3.343601152300835e-002 -7.157339155673981e-002 5.459919571876526e-001 2.175374031066895e-001 -2.892075665295124e-002 1.139620468020439e-001 -4.409461319446564e-001 -4.908669367432594e-002 -2.098206430673599e-001 3.024870157241821e-001 -3.447104394435883e-001 -2.666398882865906e-001 -1.739841997623444e-001 -1.120999976992607e-001 4.268572330474854e-001 4.144327044487000e-001 4.936498403549194e-001 5.718982815742493e-001 5.464938655495644e-002 3.950506746768951e-001 -1.432464718818665e-001 -8.016809076070786e-002 5.947722792625427e-001 -1.419431418180466e-001 -2.328271418809891e-001 -1.958254128694534e-001 -9.914696216583252e-003 -1.478249877691269e-001 4.182004928588867e-001 7.797469943761826e-002 3.761124014854431e-001 4.066407680511475e-001 1.217691525816917e-001 -1.124059110879898e-001 7.020493596792221e-002 1.022125557065010e-001 -5.025411844253540e-001 -2.482684552669525e-001 -5.819427594542503e-002 -1.587846502661705e-002 -1.881837695837021e-001 4.026338756084442e-001 3.339109122753143e-001 2.215891182422638e-001 7.083265781402588e-001 -7.670203596353531e-002 3.171359598636627e-001 8.310161828994751e-001 + +#outputSynapse FullSynapse +120 2.309078276157379e-001 8.006124198436737e-002 5.207773447036743e-001 3.642434999346733e-002 -5.444544181227684e-002 -2.300137132406235e-001 4.965198636054993e-001 -3.590968847274780e-001 1.392439752817154e-001 -2.941058278083801e-001 6.655657291412354e-001 -4.931978881359100e-001 -1.253394484519959e-001 1.540697813034058e-001 1.752252578735352e-001 4.873855113983154e-001 5.741749405860901e-001 1.275441497564316e-001 -4.765471443533897e-002 -5.038099363446236e-002 -8.334141224622726e-002 5.842098593711853e-001 -4.490646719932556e-001 -5.416034907102585e-002 -2.264686524868012e-001 -1.698177903890610e-001 3.113179206848145e-001 4.435532391071320e-001 -5.240975022315979e-001 1.108570247888565e-001 2.321150526404381e-002 2.374080866575241e-001 -2.570592761039734e-001 3.205819129943848e-001 -3.468126952648163e-001 2.772298157215118e-001 1.148034259676933e-001 1.865169033408165e-003 3.649827241897583e-001 5.026416182518005e-001 -2.502067089080811e-001 -6.028710007667542e-001 -6.978485733270645e-002 8.656968921422958e-002 -5.227651596069336e-001 9.525942802429199e-002 -1.903700232505798e-001 1.426358073949814e-001 5.602359771728516e-001 -2.479453980922699e-001 1.296138316392899e-001 -4.612154662609100e-001 -4.198251068592072e-001 6.053315401077271e-001 -1.160371229052544e-001 -4.044520258903503e-001 -1.530461944639683e-002 4.267008602619171e-001 2.162231802940369e-001 1.101492717862129e-001 -9.195729345083237e-002 -3.771322593092918e-002 3.320552408695221e-002 -4.979051947593689e-001 1.581449210643768e-001 -5.021102428436279e-001 1.184114068746567e-002 4.836803376674652e-001 -5.539562702178955e-001 -2.782657444477081e-001 -1.547775119543076e-001 4.582551419734955e-001 2.844007611274719e-001 -4.516306817531586e-001 1.886052638292313e-002 3.602048456668854e-001 4.175081476569176e-002 2.075715661048889e-001 -5.455711483955383e-001 -2.442489415407181e-001 -2.680016458034515e-001 2.636941149830818e-003 4.164874255657196e-001 8.120876550674439e-002 -4.927250146865845e-001 -3.254565298557282e-001 5.583248138427734e-001 -1.608870923519135e-001 5.749610066413879e-001 5.479150414466858e-001 3.469662666320801e-001 -5.061987638473511e-001 3.353976905345917e-001 2.548734247684479e-001 2.064624279737473e-001 -5.114225745201111e-001 -4.629626572132111e-001 -1.936426460742950e-001 2.327886223793030e-001 -4.583241790533066e-002 -5.125665068626404e-001 1.089363321661949e-001 -4.951449036598206e-001 -5.018569827079773e-001 2.582837454974651e-002 4.913705959916115e-002 -2.441505938768387e-001 -3.174663335084915e-002 -1.644173413515091e-001 -2.947083115577698e-001 -5.097694396972656e-001 7.136650383472443e-003 1.942666023969650e-001 1.587397605180740e-001 -4.691866040229797e-001 -4.862202703952789e-001 1.432444006204605e-001 -4.405085742473602e-001 3.072859644889832e-001 -4.172921180725098e-001 + +#activeOutputProbe DataWriter +3 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 + diff --git a/fix/Breadboard/Breadboard3.nsw b/fix/Breadboard/Breadboard3.nsw new file mode 100644 index 0000000000..3c3ec9efe1 --- /dev/null +++ b/fix/Breadboard/Breadboard3.nsw @@ -0,0 +1,43 @@ +// Weights saved from breadboard C:\My Documents\Breadboard3.nsb. +// Saved after epoch 1, exemplar 0. + +#NSWeightFileVersion 225 + +#inputFile File +7 +1.077844262123108e+000 -1.778443008661270e-001 +2.442665100097656e-001 3.212104737758637e-002 +2.107975035905838e-001 6.168988943099976e-001 +3.646677434444428e-001 1.214343756437302e-001 +2.485501170158386e-001 2.868268489837647e-001 +1.976718604564667e-001 4.469360709190369e-001 +3.208556175231934e-001 -2.509090602397919e-001 +0 + +#inputAxon Axon +7 1 +1 +0 + +#hidden1Axon TanhAxon +40 1 +1 +40 4.393131732940674e-001 -1.290386915206909e-001 6.327351331710815e-001 5.494017004966736e-001 4.969031810760498e-001 2.086368650197983e-001 -2.167895883321762e-001 9.464725255966187e-001 1.640024334192276e-001 2.452306896448135e-001 1.972979009151459e-001 9.276027083396912e-001 2.502645850181580e-001 5.485208034515381e-001 -2.839279770851135e-001 6.810981035232544e-001 -2.170253098011017e-001 -3.821973502635956e-001 8.861125111579895e-001 -6.720829606056213e-001 2.960434183478355e-002 -3.987881243228912e-001 -1.057050973176956e-001 6.963993310928345e-001 -1.413413435220718e-001 7.551014423370361e-001 1.243001222610474e-002 -3.603826761245728e-001 7.450697422027588e-001 7.630060315132141e-001 5.904716849327087e-001 -5.035977959632874e-001 2.082890830934048e-003 -1.259811818599701e-001 -8.103467822074890e-001 -4.683765172958374e-001 -3.666405081748962e-001 -5.880022794008255e-002 -5.269588828086853e-001 -1.594118028879166e-001 + +#outputAxon SoftMaxAxon +3 1 +1 +3 0.000000000000000e+000 0.000000000000000e+000 0.000000000000000e+000 + +#hidden1Synapse FullSynapse +280 2.258135080337524e-001 -8.417334407567978e-002 -6.296884268522263e-002 -1.971755474805832e-001 -2.008096426725388e-001 1.312222182750702e-001 -2.187249064445496e-001 3.300825655460358e-001 -1.458171010017395e-001 -2.447441816329956e-001 2.373344898223877e-001 -3.369296491146088e-001 -2.142974138259888e-001 7.442125119268894e-003 2.400149852037430e-001 5.063241720199585e-001 1.461273133754730e-001 3.199279010295868e-001 2.184794545173645e-001 6.378577351570129e-001 2.826454937458038e-001 1.467282772064209e-001 4.167218208312988e-001 3.410821408033371e-002 -1.507616639137268e-001 1.607457697391510e-001 1.063031926751137e-001 4.860900044441223e-001 -7.546984404325485e-002 3.811344206333160e-001 -3.500247746706009e-002 -3.294828236103058e-001 -2.355449087917805e-002 3.319101631641388e-001 1.341840159147978e-002 -2.975183129310608e-001 -2.044427692890167e-001 7.903610914945602e-002 -2.241216152906418e-001 -1.982768028974533e-001 2.166045308113098e-001 -3.769811093807221e-001 -4.219292849302292e-002 -4.683617055416107e-001 1.365721821784973e-001 -5.708352923393250e-001 -5.482509136199951e-001 -5.697317123413086e-001 3.948671817779541e-001 4.008982181549072e-001 -6.056785583496094e-001 -6.540334783494473e-003 -4.144128859043121e-001 -9.239719808101654e-002 1.977843493223190e-001 -2.407579571008682e-001 -2.472878843545914e-001 -3.429937064647675e-001 -1.058190166950226e-001 -8.456809073686600e-002 4.944565296173096e-001 4.329789280891419e-001 2.303941249847412e-001 2.076211571693420e-001 1.421037223190069e-002 5.740813165903091e-002 1.577541381120682e-001 1.072699949145317e-001 3.550452180206776e-003 -7.603026926517487e-002 1.787180006504059e-001 3.000865578651428e-001 -4.790667295455933e-001 -1.263711899518967e-001 -1.886992603540421e-001 -1.971553862094879e-001 -4.320513010025024e-001 -1.786982715129852e-001 -3.415124714374542e-001 3.517304956912994e-001 3.841716647148132e-001 1.595797836780548e-001 1.466515809297562e-001 3.235963284969330e-001 3.831133618950844e-002 3.778985887765884e-002 4.742037355899811e-001 -1.204959601163864e-001 -6.766954064369202e-002 4.763844013214111e-001 2.847502529621124e-001 -2.614455521106720e-001 4.211461246013641e-001 2.459102123975754e-001 -3.291262984275818e-001 4.159525930881500e-001 1.433917880058289e-001 5.506788492202759e-001 -4.396528601646423e-001 3.432570993900299e-001 -4.605481028556824e-001 -1.657515168190002e-001 2.847986221313477e-001 -3.968485295772553e-001 2.652311325073242e-001 2.413431182503700e-003 6.885899305343628e-001 -1.771224141120911e-001 -2.605379931628704e-002 1.681880354881287e-001 4.201361536979675e-001 -2.905318737030029e-001 -1.065197512507439e-001 2.377779632806778e-001 3.171224892139435e-001 -5.171843245625496e-002 8.248845487833023e-002 -4.904226213693619e-002 3.065647780895233e-001 1.610077768564224e-001 8.712385892868042e-001 3.008154034614563e-001 5.729283690452576e-001 -1.608658432960510e-001 -3.810124993324280e-001 6.462811827659607e-001 -2.662218213081360e-001 -5.297539830207825e-001 -1.356185525655747e-001 2.623566091060638e-001 -1.624718308448792e-001 -2.004417479038239e-001 -3.377428650856018e-002 3.970716595649719e-001 -1.560127288103104e-001 4.747187346220017e-002 -3.162815868854523e-001 -3.350041508674622e-001 -3.987393081188202e-001 -4.969080090522766e-001 -1.142657846212387e-001 -7.119160890579224e-001 1.153976768255234e-001 -6.001577973365784e-001 -3.606468439102173e-001 -3.741255104541779e-001 -7.550917863845825e-001 1.106901541352272e-001 -1.475569456815720e-001 -2.016223073005676e-001 -2.226002812385559e-001 2.520006597042084e-001 -4.015582501888275e-001 -6.874573230743408e-001 -3.860632777214050e-001 1.074488908052445e-001 -3.594025373458862e-001 -2.556712925434113e-001 2.491754293441773e-001 -1.749203801155090e-001 -5.133146420121193e-003 -2.629097700119019e-001 1.706630140542984e-001 5.300921797752380e-001 3.016012907028198e-001 3.024738729000092e-001 1.334729231894016e-002 3.605858981609345e-001 -3.797290921211243e-001 2.125910073518753e-001 -3.324515819549561e-001 -2.657738924026489e-001 8.549436926841736e-002 2.843597829341888e-001 -1.628004312515259e-001 4.068509638309479e-001 -1.096388697624207e-001 1.842555999755859e-001 -2.429902255535126e-001 1.793259531259537e-001 6.289024949073792e-001 4.427114427089691e-001 -8.943214267492294e-002 1.407862901687622e-001 -4.747562706470490e-001 1.607088744640350e-001 2.691341638565064e-001 -1.326033025979996e-001 -6.888723373413086e-002 3.347525000572205e-001 2.391179502010346e-001 -7.601787149906158e-002 3.946174979209900e-001 4.608300328254700e-001 -4.973608553409576e-001 2.180006355047226e-002 -2.155515551567078e-001 4.018128812313080e-001 5.872810482978821e-001 -2.970355451107025e-001 6.164746284484863e-001 -2.832284271717072e-001 -7.214747369289398e-002 3.505393862724304e-001 3.504253327846527e-001 -3.037774860858917e-001 -3.341494500637054e-001 -2.143821418285370e-001 3.230984508991242e-001 -6.691335439682007e-001 -1.196009963750839e-001 2.609530091285706e-001 6.332063078880310e-001 -2.495922595262528e-001 -1.421163380146027e-001 4.370761811733246e-001 2.344440817832947e-001 -4.770855009555817e-001 -1.213536486029625e-001 -4.947537779808044e-001 2.018401175737381e-001 -3.219321966171265e-001 -1.836685538291931e-001 6.838442683219910e-001 -5.349717736244202e-001 5.601373910903931e-001 -3.152181506156921e-001 2.578000128269196e-001 4.295753240585327e-001 -1.423847377300263e-001 6.693964004516602e-001 -2.671292051672936e-002 -2.906464338302612e-001 -6.406581997871399e-001 -5.139582753181458e-001 2.622411847114563e-001 2.534431815147400e-001 -1.518065035343170e-001 -4.292866215109825e-002 4.628975689411163e-001 1.969320774078369e-001 4.264309704303742e-001 -4.475159347057343e-001 -5.727919340133667e-001 5.388451814651489e-001 -2.982297539710999e-001 -3.593768924474716e-002 -1.298359930515289e-001 -4.535509645938873e-001 -1.963836848735809e-001 -2.640297412872315e-001 3.889253437519074e-001 -2.371201291680336e-002 5.441716909408569e-001 -3.557947278022766e-001 -1.912423074245453e-001 3.168485462665558e-001 -3.096546828746796e-001 2.481035888195038e-001 2.293358147144318e-001 -7.027690410614014e-001 -4.839945435523987e-001 -2.963027358055115e-001 -5.126427412033081e-001 2.138081789016724e-001 -2.071801871061325e-001 -9.827529639005661e-002 -4.680003225803375e-001 -3.230824470520020e-001 -2.535474896430969e-001 2.779140770435333e-001 -5.119556188583374e-001 1.893053054809570e-001 -5.211792513728142e-002 4.212611019611359e-001 -5.767111182212830e-001 3.436119556427002e-001 1.560586243867874e-001 -1.338404417037964e-001 2.465801686048508e-001 + +#outputSynapse FullSynapse +120 -1.504478603601456e-001 8.304652571678162e-002 2.053809165954590e-001 4.613898992538452e-001 3.307471871376038e-001 -2.503668665885925e-001 -4.260648787021637e-001 -2.033478170633316e-001 1.205723360180855e-001 3.727485835552216e-001 -2.320208251476288e-001 4.672348499298096e-001 -1.567042618989945e-001 4.181037843227387e-001 -2.018750756978989e-001 2.649243474006653e-001 2.292609065771103e-001 2.745892405509949e-001 2.554303109645844e-001 -3.891312777996063e-001 -4.561745524406433e-001 -3.781261444091797e-001 -2.881123721599579e-001 2.764029800891876e-001 8.924255520105362e-002 4.471623599529266e-001 9.589984267950058e-002 4.323486387729645e-001 4.792469739913940e-001 -9.918873012065888e-002 4.427296221256256e-001 3.841804563999176e-001 1.890532523393631e-001 -4.477364718914032e-001 -2.994475699961186e-002 -7.976207137107849e-002 2.607934474945068e-001 -3.710708916187286e-001 -2.811897993087769e-001 6.034602597355843e-002 4.014556109905243e-001 2.982565164566040e-001 4.447779953479767e-001 -3.612459823489189e-002 -2.895380258560181e-001 2.155442684888840e-001 -3.415147066116333e-001 4.278375506401062e-001 1.896717213094235e-002 -9.841635823249817e-002 1.671093255281448e-001 3.151571452617645e-001 -1.678100675344467e-001 -4.435905069112778e-002 -2.333792001008987e-001 4.360995292663574e-001 3.587894737720490e-001 -1.017290875315666e-001 1.382773071527481e-001 -3.980610668659210e-001 -2.268472909927368e-001 -2.996328286826611e-002 2.546367645263672e-001 1.532198935747147e-001 -1.018586382269859e-002 3.147244155406952e-001 -3.700032234191895e-001 2.747226655483246e-001 4.799823760986328e-001 3.735623657703400e-001 3.757937550544739e-001 -5.869687348604202e-002 7.807171344757080e-002 -1.428240090608597e-001 -5.030028820037842e-001 -4.323083460330963e-001 -2.643692195415497e-001 -4.277939200401306e-001 3.172474205493927e-001 -4.587580561637878e-001 4.488629996776581e-001 -1.273735053837299e-002 2.275637537240982e-001 2.276848852634430e-001 1.995900124311447e-001 -1.224325075745583e-001 -1.321871429681778e-001 4.938367307186127e-001 3.713837862014771e-001 4.943797290325165e-001 -8.973516523838043e-002 3.630679845809937e-001 3.118912279605866e-001 3.763218820095062e-001 -2.658533453941345e-001 5.210888572037220e-003 -3.098636865615845e-001 -4.516429603099823e-001 3.575363755226135e-001 3.780608177185059e-001 3.606519103050232e-001 4.404914379119873e-001 -4.452764391899109e-001 2.741447389125824e-001 1.122588440775871e-001 2.581178247928619e-001 -2.986721992492676e-001 -3.506239950656891e-001 -4.466909915208817e-002 1.343552619218826e-001 -2.677312493324280e-002 -5.070485472679138e-001 -5.414816737174988e-001 3.392856195569038e-002 -4.090670943260193e-001 2.741051837801933e-002 7.242175936698914e-002 4.587205946445465e-001 -2.530987001955509e-002 1.304957270622253e-002 + +#activeOutputProbe DataWriter +3 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 + diff --git a/fix/Breadboard/Breadboard4.nsw b/fix/Breadboard/Breadboard4.nsw new file mode 100644 index 0000000000..ef1a48db0c --- /dev/null +++ b/fix/Breadboard/Breadboard4.nsw @@ -0,0 +1,43 @@ +// Weights saved from breadboard C:\My Documents\Breadboard4.nsb. +// Saved after epoch 1, exemplar 0. + +#NSWeightFileVersion 225 + +#inputFile File +7 +1.077844262123108e+000 -1.778443008661270e-001 +2.296211272478104e-001 6.142363324761391e-002 +2.128665894269943e-001 6.552034020423889e-001 +3.361344337463379e-001 4.151264205574989e-002 +2.430133521556854e-001 3.004860281944275e-001 +1.976718604564667e-001 4.469360709190369e-001 +1.951007992029190e-001 -4.725341200828552e-001 +0 + +#inputAxon Axon +7 1 +1 +0 + +#hidden1Axon TanhAxon +40 1 +1 +40 -1.700838446617127e+000 1.409139156341553e+000 -1.263895153999329e+000 -1.653346180915833e+000 -1.753814935684204e+000 1.510319232940674e+000 -1.652730584144592e+000 1.968622922897339e+000 -1.764715671539307e+000 -1.920537590980530e+000 1.703584432601929e+000 9.688673615455627e-001 1.621924757957459e+000 -1.195185184478760e+000 -1.170735836029053e+000 -1.726262569427490e+000 1.693020582199097e+000 -1.789734363555908e+000 2.076834440231323e+000 -2.054785251617432e+000 1.735462069511414e+000 -1.377997517585754e+000 1.685962557792664e+000 -1.505226492881775e+000 1.329061865806580e+000 -1.970339655876160e+000 1.326048374176025e+000 -1.803932785987854e+000 -1.356570959091187e+000 -7.451403737068176e-001 1.977797389030457e+000 1.962222456932068e+000 -1.924186825752258e+000 -1.927103757858276e+000 1.772511124610901e+000 2.267752170562744e+000 1.343345522880554e+000 -1.727791309356690e+000 -1.688525199890137e+000 -2.020093202590942e+000 + +#outputAxon SoftMaxAxon +3 1 +1 +3 0.000000000000000e+000 0.000000000000000e+000 0.000000000000000e+000 + +#hidden1Synapse FullSynapse +280 -3.217298686504364e-001 -1.535140275955200e-001 -9.374593496322632e-001 -3.773699328303337e-002 -7.610699534416199e-001 1.124547328799963e-003 7.987623810768127e-001 5.171887874603272e-001 1.182283610105515e-001 1.252476930618286e+000 -2.393243610858917e-001 8.846385776996613e-002 4.983871877193451e-001 -1.072657704353333e+000 -5.902777314186096e-001 3.053096830844879e-001 -1.245228290557861e+000 -9.408684819936752e-002 -1.261333227157593e+000 7.626018673181534e-002 -3.566111624240875e-001 -2.651087939739227e-001 5.490935966372490e-002 -1.231116533279419e+000 -3.552156984806061e-001 -4.995369017124176e-001 -1.970071047544479e-001 6.921592950820923e-001 -7.216929793357849e-001 -3.322352096438408e-002 -1.040984153747559e+000 -2.749272584915161e-001 -3.936901688575745e-001 -5.485629439353943e-001 2.315377295017242e-001 3.925201594829559e-001 2.289973348379135e-001 9.091649055480957e-001 -2.400987595319748e-001 2.274930775165558e-001 7.657364010810852e-001 -4.531333744525909e-001 -3.045647442340851e-001 -1.612837314605713e-001 -6.530205607414246e-001 6.988145411014557e-002 -3.664937913417816e-001 -1.209497332572937e+000 1.716423481702805e-001 2.888691425323486e-001 -6.977611780166626e-001 1.001697182655335e+000 -3.773393929004669e-001 -3.817198425531387e-002 3.071420192718506e-001 -1.018374800682068e+000 -3.812201619148254e-001 2.521711289882660e-001 -1.311386704444885e+000 -4.305998682975769e-001 -2.096824795007706e-001 -6.536886692047119e-001 9.946095943450928e-002 -8.006195425987244e-001 6.314782798290253e-002 -9.162106513977051e-001 1.249427199363709e-001 -1.967987567186356e-001 -2.837883234024048e-001 4.405716657638550e-001 7.357195615768433e-001 2.873047888278961e-001 7.006355524063110e-001 -2.267676740884781e-001 1.684177815914154e-001 2.451081871986389e-001 -6.897705197334290e-001 -1.359052062034607e-001 -1.217865824699402e+000 6.268809437751770e-001 -1.108817100524902e+000 -1.098538115620613e-001 6.363938003778458e-002 -2.163156747817993e+000 2.993230819702148e-001 -6.225543469190598e-002 6.338689923286438e-001 2.340336740016937e-001 3.334980309009552e-001 5.768545866012573e-001 -8.454492688179016e-001 -7.557854652404785e-001 -6.227542161941528e-001 -1.105716824531555e+000 2.116404175758362e-001 -2.117430865764618e-001 -1.036560058593750e+000 -1.257222741842270e-001 5.264365077018738e-001 -1.787502527236939e+000 -6.102513074874878e-001 -1.036811590194702e+000 -1.041777491569519e+000 6.762499362230301e-002 -1.829331994056702e+000 -1.342972517013550e-001 2.181535959243774e+000 7.125011086463928e-001 9.849542975425720e-001 4.515964090824127e-001 -5.667360424995422e-001 1.371907234191895e+000 4.193291962146759e-001 -4.483173191547394e-001 1.056447148323059e+000 -4.035096466541290e-001 2.473213225603104e-001 4.283659458160400e-001 -1.105738878250122e+000 -3.882422149181366e-001 1.359030008316040e-001 -1.316889882087708e+000 1.206199750304222e-001 -2.816296517848969e-001 -3.856543898582459e-001 -1.341159194707871e-001 2.931591272354126e-001 -8.115946650505066e-001 1.549627929925919e-001 -3.494594991207123e-002 1.392071247100830e-001 8.500702381134033e-001 -1.105314135551453e+000 -8.855208158493042e-001 -1.129539161920548e-001 -7.288187742233276e-001 2.031663209199905e-001 -2.040854692459106e-001 -2.651244997978210e-001 6.747405529022217e-001 6.289814710617065e-001 3.702930510044098e-001 8.955963253974915e-001 -1.791490912437439e-001 6.291658878326416e-001 3.181912600994110e-001 -7.458741664886475e-001 -5.797970294952393e-001 8.048549294471741e-003 -1.517996788024902e+000 1.586797833442688e-002 -1.968807131052017e-001 -6.696819067001343e-001 2.561997175216675e-001 1.585537791252136e-001 -3.939553797245026e-001 1.001605153083801e+000 -3.178015723824501e-002 2.169712930917740e-001 7.597719430923462e-001 -8.711787462234497e-001 -2.590858340263367e-001 -4.994206726551056e-001 -1.350332260131836e+000 -1.754350513219833e-001 -5.298053622245789e-001 -1.044484019279480e+000 -5.103482306003571e-002 8.845404386520386e-001 4.584137201309204e-001 1.076861619949341e+000 1.874905377626419e-001 2.787777185440064e-001 8.369036912918091e-001 -8.217707276344299e-001 -2.826712131500244e-001 -2.450734227895737e-001 -8.279343843460083e-001 3.510917425155640e-001 -3.488889932632446e-001 -7.627615332603455e-001 3.606846034526825e-001 5.258455872535706e-001 -5.099301040172577e-002 6.352093815803528e-001 -1.835833787918091e-001 1.247637987136841e+000 5.917957425117493e-001 1.019452288746834e-001 -5.673841834068298e-001 1.377126276493073e-001 -1.055184245109558e+000 -2.036373913288117e-001 -6.316062808036804e-001 -3.354403078556061e-001 3.826665878295898e-001 -6.721435189247131e-001 -6.410418748855591e-001 -1.417969822883606e+000 -8.955898880958557e-002 -6.617363095283508e-001 -6.313887238502502e-001 1.284139454364777e-001 -7.438000291585922e-002 3.091568231582642e+000 8.395515084266663e-001 7.227233052253723e-001 8.192335367202759e-001 -2.106423974037170e-001 2.122008800506592e+000 7.060149908065796e-001 3.394779860973358e-001 6.117095947265625e-001 -3.271679580211639e-001 1.616740077733994e-001 1.569840312004089e-001 -1.123665213584900e+000 3.844760954380035e-001 2.845884263515472e-001 7.137780785560608e-001 1.460106819868088e-001 -1.021391227841377e-001 5.172263383865356e-001 -7.423986196517944e-001 -2.789774909615517e-002 -1.258952766656876e-001 -1.325458526611328e+000 -5.270438194274902e-001 -3.967397287487984e-002 -2.709308564662933e-001 1.340401768684387e-001 -6.963784694671631e-001 -3.221498429775238e-001 -8.531031608581543e-001 3.377375304698944e-001 1.652107536792755e-001 -3.512997031211853e-001 -1.630981415510178e-001 3.690161705017090e-001 1.549807284027338e-002 1.193455934524536e+000 2.675475478172302e-001 3.856497108936310e-001 9.223973155021668e-001 -8.005780726671219e-002 7.949089407920837e-001 1.678814589977264e-001 5.589793920516968e-001 -2.890521883964539e-001 -6.459630280733109e-002 1.577395349740982e-001 -6.019581556320190e-001 1.361452788114548e-001 -1.461234450340271e+000 2.132855653762817e-001 -7.116237878799439e-001 -1.837224513292313e-001 6.981704831123352e-001 -1.456485867500305e+000 -8.896524459123612e-002 -6.985316872596741e-001 -9.188821911811829e-001 -1.798982769250870e-001 -3.445543348789215e-001 -9.767906665802002e-001 6.575983762741089e-001 -5.698328614234924e-001 2.794421613216400e-001 -9.889149665832520e-001 2.113757282495499e-001 -4.894487261772156e-001 -9.110729694366455e-001 3.156659901142120e-001 -8.372070193290710e-001 1.710339263081551e-002 -7.162731885910034e-001 -9.848624467849731e-002 -2.407071143388748e-001 -4.630023241043091e-001 5.028110146522522e-001 + +#outputSynapse FullSynapse +120 -1.209702730178833e+000 1.183213353157044e+000 -1.019356846809387e+000 -1.344744205474854e+000 -1.445307731628418e+000 1.024327754974365e+000 -1.584630727767944e+000 1.083521246910095e+000 -1.308865427970886e+000 -1.247952342033386e+000 1.239847064018250e+000 1.287056356668472e-001 9.846584796905518e-001 -1.553632378578186e+000 -1.231866717338562e+000 4.489912092685700e-002 1.253254055976868e+000 -1.430614471435547e+000 1.041161060333252e+000 -1.605084300041199e+000 1.527578949928284e+000 -1.474965572357178e+000 1.355290770530701e+000 -1.745877861976624e+000 1.712602972984314e+000 -1.563431382179260e+000 8.333104252815247e-001 -1.541154265403748e+000 -1.556280970573425e+000 7.898001670837402e-001 1.451943874359131e+000 1.376102089881897e+000 -1.475358963012695e+000 -1.508958697319031e+000 1.723131775856018e+000 1.577485084533691e+000 2.009120136499405e-001 -1.543342947959900e+000 -1.532042622566223e+000 -1.665173649787903e+000 -1.577844977378845e+000 1.509271860122681e+000 -1.648273229598999e+000 -1.399203181266785e+000 -1.230364322662354e+000 1.090018987655640e+000 -7.097014784812927e-001 1.677408456802368e+000 -1.743194699287415e+000 -1.423129081726074e+000 7.856354713439941e-001 1.262704372406006e+000 1.029602646827698e+000 -8.157435655593872e-001 -1.168590903282166e+000 -1.007120013237000e+000 1.498046159744263e+000 -1.094031929969788e+000 1.288908720016480e+000 -1.570232629776001e+000 1.331548571586609e+000 -1.591911792755127e+000 1.173869848251343e+000 -1.569446206092835e+000 1.071457147598267e+000 -1.386015534400940e+000 1.319629669189453e+000 -1.251965403556824e+000 -1.506981730461121e+000 -5.631150603294373e-001 1.476744890213013e+000 1.224819302558899e+000 -1.190375804901123e+000 -4.876171946525574e-001 1.674062848091126e+000 1.343202710151672e+000 8.375900387763977e-001 -1.624152183532715e+000 -1.477828741073608e+000 -1.320914030075073e+000 -1.082759499549866e+000 1.309733152389526e+000 -5.913071632385254e-001 -1.292264103889465e+000 -1.440814852714539e+000 1.020094513893127e+000 -1.208431601524353e+000 1.691915869712830e+000 -1.277797341346741e+000 -1.482174158096314e+000 1.266713261604309e+000 1.296367645263672e+000 1.238657712936401e+000 -7.025628685951233e-001 2.491326481103897e-001 -1.536825418472290e+000 1.577931523323059e+000 -1.065637469291687e+000 1.696800708770752e+000 -1.695444345474243e+000 1.581656932830811e+000 -1.088520646095276e+000 1.492973804473877e+000 -1.063908934593201e+000 1.496415257453919e+000 -1.486176609992981e+000 6.039925217628479e-001 -1.485497832298279e+000 -1.147870540618897e+000 -1.266431331634522e+000 1.607187867164612e+000 1.494379520416260e+000 -1.001191616058350e+000 -1.084854602813721e+000 1.410489916801453e+000 1.581320643424988e+000 1.205576062202454e+000 -1.245357394218445e+000 -1.343545675277710e+000 -1.709581851959229e+000 + +#activeOutputProbe DataWriter +3 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 + diff --git a/fix/Breadboard/Breadboard5.nsw b/fix/Breadboard/Breadboard5.nsw new file mode 100644 index 0000000000..a49f372582 --- /dev/null +++ b/fix/Breadboard/Breadboard5.nsw @@ -0,0 +1,43 @@ +// Weights saved from breadboard C:\My Documents\Breadboard5.nsb. +// Saved after epoch 1, exemplar 0. + +#NSWeightFileVersion 225 + +#inputFile File +7 +1.077844262123108e+000 -1.778443008661270e-001 +2.188449800014496e-001 1.674167998135090e-002 +1.918158382177353e-001 6.903452277183533e-001 +3.361344337463379e-001 4.151264205574989e-002 +2.485501170158386e-001 2.868268489837647e-001 +1.839550286531448e-001 3.534696102142334e-001 +1.951007992029190e-001 -4.725341200828552e-001 +0 + +#inputAxon Axon +7 1 +1 +0 + +#hidden1Axon TanhAxon +40 1 +1 +40 3.177257776260376e-001 -3.444353640079498e-001 5.270494818687439e-001 -5.221590399742127e-001 -2.202716171741486e-001 -4.241476655006409e-001 2.620704658329487e-002 6.034846901893616e-001 -3.619376122951508e-001 -3.380794525146484e-001 4.901479184627533e-002 4.951947927474976e-002 1.800213754177094e-001 -2.407073378562927e-001 -3.286456167697907e-001 -6.795548200607300e-001 -5.868792533874512e-001 -3.454326987266541e-001 1.429300457239151e-001 -2.292728424072266e-001 4.302643239498138e-001 -2.324737906455994e-001 -4.539224207401276e-001 5.544423460960388e-001 -4.054053127765656e-001 -1.476568281650543e-001 -2.141656428575516e-001 1.077265888452530e-001 5.846756696701050e-001 3.272875547409058e-001 1.847147941589356e-003 -4.990870654582977e-001 1.531988829374313e-001 1.791626960039139e-001 -6.736395359039307e-001 -5.093495845794678e-001 -6.099227815866470e-002 3.861090838909149e-001 -6.592265367507935e-001 -2.490588128566742e-001 + +#outputAxon SoftMaxAxon +3 1 +1 +3 0.000000000000000e+000 0.000000000000000e+000 0.000000000000000e+000 + +#hidden1Synapse FullSynapse +280 3.541271016001701e-002 -7.549672126770020e-001 -4.738137125968933e-001 -2.348672598600388e-003 -2.733762562274933e-001 -8.357829414308071e-003 -8.771334886550903e-001 -2.402636408805847e-001 -3.840126693248749e-001 -5.802615284919739e-001 1.073393039405346e-003 -2.714654207229614e-001 -1.682563573122025e-001 2.412795424461365e-001 6.722061038017273e-001 -2.907541096210480e-001 1.961677670478821e-001 -3.303197622299194e-001 1.424128562211990e-001 5.971218943595886e-001 -3.415485620498657e-001 -3.709296286106110e-001 2.636498510837555e-001 -6.461778879165649e-001 -4.282482266426086e-001 -1.192058548331261e-001 -7.758595943450928e-001 -4.671352729201317e-002 -2.137460708618164e-001 -1.528403162956238e-002 -7.986806631088257e-001 -3.911508247256279e-002 -5.328277871012688e-002 -6.519866585731506e-001 3.402085006237030e-001 1.100756451487541e-001 6.820629835128784e-001 7.288114726543427e-002 2.484970390796661e-001 -1.383271068334580e-001 1.246754452586174e-001 6.508666276931763e-001 3.158373534679413e-001 -5.986170172691345e-001 6.103343367576599e-001 -6.012113094329834e-001 -1.359632611274719e-001 -2.586761862039566e-002 -4.111338853836060e-001 1.772232651710510e-001 -6.230232119560242e-001 3.960133790969849e-001 -6.472764015197754e-001 -3.764366805553436e-001 -9.892498701810837e-002 -9.984154999256134e-002 -4.294761717319489e-001 -2.304461598396301e-001 -7.071238160133362e-001 -4.068204462528229e-001 -4.626799225807190e-001 -3.020684123039246e-001 6.521416902542114e-001 1.521919965744019e-001 -7.091572284698486e-001 -4.207086861133575e-001 -5.045717954635620e-001 -3.018378615379334e-001 -4.485827982425690e-001 -5.111956596374512e-001 -8.567054569721222e-002 4.856635630130768e-001 2.459491789340973e-001 -1.496585756540299e-001 -1.183001995086670e-001 4.713786244392395e-001 -2.809847891330719e-001 8.547450602054596e-002 -3.530589640140533e-001 -7.254429459571838e-001 -1.860966980457306e-001 -6.639543771743774e-001 4.769657552242279e-001 -7.412918210029602e-001 3.024796843528748e-001 -6.272576451301575e-001 -5.452296733856201e-001 -2.242822349071503e-001 -3.738160133361816e-001 3.284691274166107e-001 -4.564896821975708e-001 2.556349933147430e-001 4.318492487072945e-002 -1.320876032114029e-001 -9.898099303245544e-002 6.774403899908066e-002 1.919083893299103e-001 2.400640696287155e-001 4.077304899692535e-001 2.524036169052124e-001 5.042297840118408e-001 2.886471152305603e-001 -1.700776815414429e-001 -2.435589283704758e-001 -2.057165205478668e-001 1.996059715747833e-001 2.711705565452576e-001 3.861612975597382e-001 -2.083975523710251e-001 7.296724617481232e-002 -2.396509945392609e-001 -1.525006294250488e-001 -4.502384066581726e-001 -5.351938009262085e-001 -3.890139460563660e-001 1.700514107942581e-001 -4.677065312862396e-001 -3.514041006565094e-001 4.196007549762726e-001 2.812465429306030e-001 -2.938374876976013e-001 -3.160441517829895e-001 -4.980419874191284e-001 3.127529323101044e-001 2.271771281957626e-001 -1.466843336820602e-001 -6.397774219512940e-001 4.446669816970825e-001 8.942086249589920e-002 9.681937843561173e-002 -5.533168092370033e-002 -4.528337121009827e-001 6.882410049438477e-001 -3.133308887481690e-001 -2.058080136775971e-001 -2.226170003414154e-001 -2.296325266361237e-001 -2.966837584972382e-001 -3.301460444927216e-001 -3.557955026626587e-001 3.304032683372498e-001 -8.399857580661774e-002 4.199078381061554e-001 1.194518618285656e-002 7.232509851455689e-001 9.784302115440369e-002 -1.134829670190811e-001 1.034526005387306e-001 -8.523296117782593e-001 5.190717577934265e-001 5.323929339647293e-002 1.697375029325485e-001 5.581731796264648e-001 -9.171869754791260e-001 -1.815564483404160e-001 3.742720186710358e-001 -2.523972094058991e-001 1.490504741668701e-001 -6.334505081176758e-001 2.519290745258331e-001 2.056387513875961e-001 -1.307390183210373e-001 -9.355121254920960e-001 -2.585434913635254e-001 -4.636541008949280e-002 -1.257960349321365e-001 1.712975054979324e-001 -7.756385207176209e-001 -2.476336807012558e-001 2.972539961338043e-001 4.443784654140472e-001 4.029458761215210e-002 -2.695891633629799e-002 -1.858536303043366e-001 -1.682455986738205e-001 -1.443968862295151e-001 3.042537868022919e-001 -4.171138703823090e-001 -1.896526068449020e-001 1.934753060340881e-001 -5.211362838745117e-001 -4.224704951047897e-002 -5.408123731613159e-001 -2.546814382076263e-001 -3.727044463157654e-001 -4.361395835876465e-001 1.507636755704880e-001 8.203987777233124e-002 1.366124451160431e-001 5.710709095001221e-001 3.028809726238251e-001 9.636782407760620e-001 -3.770071640610695e-002 3.973050415515900e-001 2.884645946323872e-003 -8.364310860633850e-001 5.341901779174805e-001 -1.418879022821784e-003 5.416565537452698e-001 3.877540528774262e-001 -1.585132908076048e-003 1.770619601011276e-001 4.701207578182221e-002 4.187163114547730e-001 9.934148788452148e-001 2.260543704032898e-001 7.113759517669678e-001 4.728879332542419e-001 -3.471966087818146e-001 7.732371240854263e-002 -2.182047963142395e-001 8.698941469192505e-001 6.959328651428223e-001 1.184082403779030e-001 1.408587545156479e-001 2.005882859230042e-001 3.091167509555817e-001 -1.955157965421677e-001 -2.792426571249962e-002 -7.336559891700745e-002 1.834385395050049e-001 -3.164150416851044e-001 -5.837532281875610e-001 9.843266010284424e-001 -5.053303837776184e-001 9.432902336120606e-001 2.762463316321373e-002 3.678649663925171e-001 -8.084134012460709e-002 2.041484862565994e-001 5.061163306236267e-001 7.991071939468384e-001 2.264233529567719e-001 7.115226387977600e-001 -5.186138153076172e-001 4.093891084194183e-001 -1.001899018883705e-001 -1.933344826102257e-002 1.815729439258575e-001 -1.810713559389114e-001 -5.504883527755737e-001 7.005249857902527e-001 -1.967341639101505e-002 1.448700390756130e-002 3.791421651840210e-001 -3.687309324741364e-001 6.238684058189392e-001 2.549594640731812e-002 6.611171960830689e-001 -2.348230034112930e-001 4.087108075618744e-001 1.835047304630280e-001 2.745413780212402e-001 -5.477424860000610e-001 4.227129369974136e-002 1.370747834444046e-001 -1.771535575389862e-001 2.915630638599396e-001 8.117929100990295e-002 -5.147354602813721e-001 -7.195407748222351e-001 -2.950702905654907e-001 -8.272841572761536e-001 -8.926602080464363e-003 6.488984823226929e-001 -7.542604207992554e-001 -1.718278229236603e-001 -4.908424615859985e-002 -3.619753718376160e-001 -9.747832268476486e-002 -9.625122696161270e-002 -1.545960754156113e-001 4.842050671577454e-001 -9.618758410215378e-002 1.017526090145111e-001 -1.527849882841110e-001 5.150741338729858e-001 -2.614658325910568e-002 -4.681808650493622e-001 6.698484718799591e-002 + +#outputSynapse FullSynapse +120 -4.252142608165741e-001 -5.190939903259277e-001 2.900628745555878e-001 -4.749988615512848e-001 -2.432068884372711e-001 2.475018054246903e-001 1.508098654448986e-002 -1.032671928405762e-001 -5.695398449897766e-001 -4.341589808464050e-001 3.563072979450226e-001 -1.610363721847534e-001 -1.529531776905060e-001 3.572074323892593e-002 -1.639768481254578e-001 -2.103261351585388e-001 -5.111085772514343e-001 -9.769214689731598e-002 -1.570120900869370e-001 -1.928524225950241e-001 4.143640100955963e-001 -3.950143232941628e-002 -2.028328180313110e-001 -1.475265175104141e-001 -2.296919003129005e-002 -3.979336936026812e-003 -3.908852040767670e-001 4.192969501018524e-001 2.397747188806534e-001 4.962041378021240e-001 4.480696618556976e-001 -2.336141020059586e-001 3.938802778720856e-001 2.352581322193146e-001 1.772783696651459e-002 -5.289353057742119e-002 -3.967223316431046e-002 -4.341553747653961e-001 -2.162312269210815e-001 4.311326891183853e-002 4.480128586292267e-001 1.783114373683929e-001 5.068565607070923e-001 -4.451447725296021e-001 -5.096289515495300e-001 -4.807172119617462e-001 1.144711822271347e-001 3.887178003787994e-001 -3.575057387351990e-001 -1.148879528045654e-001 -3.399987518787384e-002 -2.313354164361954e-001 -7.217752188444138e-002 3.657472431659699e-001 3.738324940204620e-001 4.177713990211487e-001 -4.159389436244965e-001 -1.484509706497192e-001 2.662932872772217e-001 -4.467738270759583e-001 7.071519643068314e-002 3.344006240367889e-001 -5.436876043677330e-002 3.525221049785614e-001 -2.395160868763924e-002 -3.141686320304871e-001 3.852373957633972e-001 4.932067096233368e-001 -1.492380946874619e-001 4.595996737480164e-001 3.445216640830040e-002 -5.653984546661377e-001 -4.437799155712128e-001 1.460446715354919e-001 -4.742037057876587e-001 1.456019878387451e-001 3.867210447788239e-001 4.871259629726410e-001 -4.954726397991180e-001 1.770049333572388e-002 2.028178423643112e-001 -3.220860958099365e-001 2.971330881118774e-001 -1.783177554607391e-001 -2.126741260290146e-001 -2.823735475540161e-001 4.713099896907806e-001 2.155631184577942e-001 -3.713304102420807e-001 2.199546098709106e-001 2.943331003189087e-001 4.534626007080078e-001 3.414066731929779e-001 -1.535274535417557e-001 -1.036400645971298e-001 -4.483501911163330e-001 8.723334968090057e-002 -1.368855964392424e-002 -5.010653138160706e-001 4.472654759883881e-001 1.106471717357636e-001 5.139253139495850e-001 -2.296521663665772e-001 4.545788764953613e-001 1.664130948483944e-002 2.438283525407314e-002 -1.943250745534897e-001 4.952348470687866e-001 3.839295804500580e-001 -3.456721901893616e-001 -1.650201976299286e-001 -3.892767727375031e-001 -3.154349029064179e-001 3.591218292713165e-001 -2.804268598556519e-001 -4.606449007987976e-001 1.020256653428078e-001 2.229744791984558e-001 -4.180959761142731e-001 -4.198006689548492e-001 + +#activeOutputProbe DataWriter +3 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 + diff --git a/fix/Breadboard/Breadboard6.nsw b/fix/Breadboard/Breadboard6.nsw new file mode 100644 index 0000000000..ac52abc13d --- /dev/null +++ b/fix/Breadboard/Breadboard6.nsw @@ -0,0 +1,45 @@ +// Weights saved from breadboard C:\My Documents\Breadboard6.nsb. +// Saved after epoch 1, exemplar 0. + +#NSWeightFileVersion 225 + +#inputFile File +7 +1.353383421897888e+000 -4.533834457397461e-001 +2.269289046525955e-001 -1.588500849902630e-002 +1.868382692337036e-001 6.490761637687683e-001 +4.038590788841248e-001 3.776083141565323e-002 +2.430133521556854e-001 3.004860281944275e-001 +1.935067623853684e-001 4.185551702976227e-001 +1.951007992029190e-001 -4.725341200828552e-001 +0 + +#inputAxon Axon +7 1 +1 +0 + +#hidden1Axon TanhAxon +7 1 +1 +7 7.384125608950853e-003 -2.202851057052612e+000 2.003432661294937e-001 -2.467587143182755e-001 5.973502993583679e-001 3.834692537784576e-001 2.687855064868927e-001 + +#hidden2Axon TanhAxon +4 1 +1 +4 3.643750846385956e-001 2.449363768100739e-001 4.754272103309631e-001 7.550075054168701e-001 + +#outputAxon SoftMaxAxon +3 1 +1 +3 0.000000000000000e+000 0.000000000000000e+000 0.000000000000000e+000 + +#hidden1Synapse FullSynapse +49 7.333400845527649e-001 5.450296998023987e-001 -7.700046896934509e-001 1.426693439483643e+000 -1.024212338961661e-003 -6.459779292345047e-002 1.028800487518311e+000 -2.116347402334213e-001 3.591781139373779e+000 2.435753583908081e+000 -6.687584519386292e-001 1.201278567314148e+000 -3.478864133358002e-001 1.830960988998413e+000 -3.111673295497894e-001 -4.177703261375427e-001 -3.920616805553436e-001 -5.040770769119263e-001 -5.354442000389099e-001 -1.534618530422449e-002 -1.089364647865295e+000 -3.010036647319794e-001 1.486289381980896e+000 1.059559464454651e+000 1.640596628189087e+000 2.254628390073776e-001 4.839954376220703e-001 8.484285473823547e-001 -6.926012784242630e-002 4.926209524273872e-002 2.834132313728333e-001 3.028324842453003e-001 2.161216735839844e-001 7.251360416412354e-001 2.851752638816834e-001 -5.653074979782105e-001 3.640621304512024e-001 1.341893225908279e-001 7.511208057403565e-001 -1.088509336113930e-001 1.044083759188652e-001 6.529347300529480e-001 -6.885128021240234e-001 -1.003871187567711e-001 9.337020665407181e-002 -4.425194561481476e-001 -3.668845295906067e-001 -2.661575675010681e-001 -5.936880707740784e-001 + +#hidden2Synapse FullSynapse +28 -5.461466908454895e-001 -1.490996479988098e+000 7.721499800682068e-001 -3.842977285385132e-001 1.134691461920738e-001 -7.171064615249634e-001 4.990165829658508e-001 -4.233781099319458e-001 5.502462983131409e-001 -1.000102013349533e-001 1.481512188911438e+000 1.637827455997467e-001 5.879161506891251e-002 -3.256742060184479e-001 4.237195849418640e-001 1.471476674079895e+000 -1.982609331607819e-001 6.787789463996887e-001 5.525223612785339e-001 4.395257532596588e-001 1.643348783254623e-001 8.910947442054749e-001 1.772162079811096e+000 -2.550726830959320e-001 4.305597543716431e-001 1.965346336364746e-001 -2.251276820898056e-001 -5.650298595428467e-001 + +#outputSynapse FullSynapse +12 4.605286195874214e-002 1.636024713516235e-001 7.045555710792542e-001 4.994805455207825e-001 5.167593955993652e-001 2.924540340900421e-001 -1.490857079625130e-002 -1.826021969318390e-001 3.571106493473053e-001 -3.790216147899628e-001 -6.031348705291748e-001 -4.664786159992218e-001 + diff --git a/fix/Breadboard/Breadboard7.nsw b/fix/Breadboard/Breadboard7.nsw new file mode 100644 index 0000000000..c884534047 --- /dev/null +++ b/fix/Breadboard/Breadboard7.nsw @@ -0,0 +1,45 @@ +// Weights saved from breadboard C:\My Documents\Breadboard7.nsb. +// Saved after epoch 1, exemplar 0. + +#NSWeightFileVersion 225 + +#inputFile File +7 +1.077844262123108e+000 -1.778443008661270e-001 +2.295625507831574e-001 6.163756549358368e-002 +2.081165313720703e-001 6.204994320869446e-001 +3.565062582492828e-001 -1.051693689078093e-002 +2.430133521556854e-001 3.004860281944275e-001 +1.839550286531448e-001 3.534696102142334e-001 +1.951007992029190e-001 -4.725341200828552e-001 +0 + +#inputAxon Axon +7 1 +1 +0 + +#hidden1Axon TanhAxon +7 1 +1 +7 -4.191969335079193e-001 1.229978561401367e+000 -2.403785735368729e-001 5.233071446418762e-001 8.062141537666321e-001 1.000604867935181e+000 -1.015548110008240e-001 + +#hidden2Axon TanhAxon +4 1 +1 +4 -5.321261882781982e-001 -2.396449327468872e+000 -1.170158505439758e+000 -4.097367227077484e-001 + +#outputAxon SoftMaxAxon +3 1 +1 +3 0.000000000000000e+000 0.000000000000000e+000 0.000000000000000e+000 + +#hidden1Synapse FullSynapse +49 1.341468811035156e+000 -4.215665817260742e+000 -1.636691570281982e+000 -2.792109727859497e+000 -1.489341259002686e+000 4.075187742710114e-001 -2.091729402542114e+000 -5.029736161231995e-001 -4.151493072509766e+000 -1.452428579330444e+000 2.398953676223755e+000 -8.748555183410645e-001 1.340690374374390e+000 -2.277854681015015e+000 6.057588458061218e-001 1.353034019470215e+000 -1.214678883552551e+000 -3.864320814609528e-001 1.148570895195007e+000 5.792776346206665e-001 1.344245020300150e-002 -8.885311484336853e-001 -1.594583272933960e+000 4.960928857326508e-001 -1.118881464004517e+000 -2.252289772033691e+000 6.328870654106140e-001 -1.946701169013977e+000 -2.910976111888886e-001 2.447998225688934e-001 2.001658976078033e-001 -1.229660585522652e-002 6.969845890998840e-001 -5.897524300962687e-003 -5.688555836677551e-001 2.619750201702118e-001 -4.162483692169190e+000 -1.468571424484253e+000 -3.118389844894409e+000 6.947994828224182e-001 -2.687734663486481e-001 -2.110401153564453e+000 3.224660456180573e-002 8.378994464874268e-001 9.896742701530457e-001 -7.354493737220764e-001 6.684727072715759e-001 1.465887904167175e+000 -3.726872503757477e-001 + +#hidden2Synapse FullSynapse +28 -3.395457863807678e-001 -5.815528631210327e-001 2.929831743240356e-001 -5.629656314849854e-001 4.701104387640953e-002 -9.300172328948975e-001 -1.461120098829269e-001 -3.458845615386963e-001 1.266251802444458e-001 6.342335790395737e-002 1.869771480560303e-001 -1.476681977510452e-001 5.144428834319115e-002 -3.145390946883708e-004 8.697064518928528e-001 1.057970225811005e-001 2.603019773960114e-001 4.393529295921326e-001 -2.832717299461365e-001 5.771816968917847e-001 -3.896601796150208e-001 -7.260112762451172e-001 -7.957320213317871e-001 6.776907294988632e-002 -3.073690235614777e-001 -1.540119051933289e-001 -6.733091473579407e-001 2.009786069393158e-001 + +#outputSynapse FullSynapse +12 3.156347572803497e-001 -8.236174583435059e-001 -9.946570396423340e-001 4.212915897369385e-001 -7.918102145195007e-001 -2.033229321241379e-001 -1.056663155555725e+000 -5.699685215950012e-001 -9.666987657546997e-001 -5.505290031433106e-001 8.724089711904526e-002 -9.536570906639099e-001 + diff --git a/fix/Breadboard/Breadboard8.nsw b/fix/Breadboard/Breadboard8.nsw new file mode 100644 index 0000000000..56b61746ec --- /dev/null +++ b/fix/Breadboard/Breadboard8.nsw @@ -0,0 +1,51 @@ +// Weights saved from breadboard C:\My Documents\Breadboard8.nsb. +// Saved after epoch 1, exemplar 0. + +#NSWeightFileVersion 225 + +#inputFile File +7 +1.353383421897888e+000 -4.533834457397461e-001 +2.188449800014496e-001 1.674167998135090e-002 +1.906577646732330e-001 6.807435750961304e-001 +3.361344337463379e-001 4.151264205574989e-002 +2.491349428892136e-001 3.307266235351563e-001 +1.839550286531448e-001 3.534696102142334e-001 +1.951007992029190e-001 -4.725341200828552e-001 +0 + +#inputAxon Axon +7 1 +1 +0 + +#hidden1Axon TanhAxon +7 1 +1 +7 -3.274627029895783e-001 2.668272238224745e-003 -3.019839525222778e-001 -4.557206928730011e-001 -5.515558272600174e-002 3.119016764685512e-004 8.753398060798645e-002 + +#hidden2Axon TanhAxon +4 1 +1 +4 2.733168303966522e-001 -3.423235416412354e-001 8.666662573814392e-001 -6.124708056449890e-001 + +#outputAxon SoftMaxAxon +3 1 +1 +3 0.000000000000000e+000 0.000000000000000e+000 0.000000000000000e+000 + +#hidden1Synapse FullSynapse +49 2.732226848602295e-001 1.847893238067627e+000 -1.084923520684242e-001 1.385403037071228e+000 2.885355055332184e-001 -3.135629594326019e-001 1.057805895805359e+000 -5.868541821837425e-002 3.278825521469116e+000 4.641786217689514e-001 4.461606740951538e-001 -1.952850073575974e-001 -5.789646506309509e-001 1.945697903633118e+000 -9.578172862529755e-002 2.150904417037964e+000 9.114052653312683e-001 1.107189536094666e+000 6.752110123634338e-001 2.475811988115311e-001 1.050705909729004e+000 3.205673992633820e-001 2.478840798139572e-001 -5.084273815155029e-001 -2.407394796609879e-001 -1.702371835708618e-001 1.456947028636932e-001 3.221787512302399e-001 -2.719256579875946e-001 -5.116361379623413e-001 3.973563387989998e-002 -1.733802706003189e-001 -1.649789661169052e-001 -4.471102654933929e-001 -4.071239829063416e-001 -1.492276042699814e-001 -1.245773434638977e+000 -6.851593255996704e-001 -8.733592033386231e-001 -4.348643422126770e-001 -3.520536422729492e-001 -9.930510520935059e-001 1.956800930202007e-002 -9.781590104103088e-001 -6.039583683013916e-001 -6.923800706863403e-001 -6.682770848274231e-001 4.162513464689255e-002 -1.004322052001953e+000 + +#hidden2Synapse FullSynapse +28 -8.183520436286926e-001 -1.621446132659912e+000 -1.045793533325195e+000 -5.855653062462807e-002 4.404523968696594e-001 7.002395391464233e-001 2.097517400979996e-001 -9.925779700279236e-002 -8.263560533523560e-001 -1.043026208877564e+000 4.524357020854950e-001 2.231711596250534e-001 8.736496567726135e-001 8.797182440757752e-001 6.963157653808594e-001 2.816314399242401e-001 1.525615751743317e-001 1.936565339565277e-001 1.900831162929535e-001 1.180221140384674e-001 1.027775928378105e-001 9.149055480957031e-001 1.129598617553711e+000 6.131598353385925e-001 2.547058761119843e-001 2.556352131068707e-002 -3.627143800258637e-002 -6.722733378410339e-001 + +#outputSynapse FullSynapse +12 -5.266965627670288e-001 -1.973343640565872e-001 1.362649053335190e-001 9.479679167270660e-002 2.987665235996246e-001 -3.116582632064819e-001 -1.842434853315353e-001 -4.986568093299866e-001 6.261917948722839e-001 5.454919338226318e-001 -3.484728187322617e-002 -4.687039256095886e-001 + +#activeOutputProbe DataWriter +3 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 + diff --git a/fix/Breadboard/Breadboard9.nsw b/fix/Breadboard/Breadboard9.nsw new file mode 100644 index 0000000000..95b1f1ed68 --- /dev/null +++ b/fix/Breadboard/Breadboard9.nsw @@ -0,0 +1,51 @@ +// Weights saved from breadboard C:\My Documents\Breadboard9.nsb. +// Saved after epoch 1, exemplar 0. + +#NSWeightFileVersion 225 + +#inputFile File +7 +1.077844262123108e+000 -1.778443008661270e-001 +2.188449800014496e-001 1.674167998135090e-002 +1.868382692337036e-001 6.490761637687683e-001 +3.733665347099304e-001 1.051026657223702e-001 +2.430133521556854e-001 3.004860281944275e-001 +2.083092182874680e-001 3.581876754760742e-001 +1.951007992029190e-001 -4.725341200828552e-001 +0 + +#inputAxon Axon +7 1 +1 +0 + +#hidden1Axon TanhAxon +7 1 +1 +7 1.012814998626709e+000 -3.782782554626465e-001 -2.220184087753296e+000 -3.424299955368042e-001 1.449530482292175e+000 -2.592789530754089e-001 -4.670010507106781e-001 + +#hidden2Axon TanhAxon +4 1 +1 +4 3.516010642051697e-001 3.293374776840210e-001 -1.675553172826767e-001 3.799068629741669e-001 + +#outputAxon SoftMaxAxon +3 1 +1 +3 0.000000000000000e+000 0.000000000000000e+000 0.000000000000000e+000 + +#hidden1Synapse FullSynapse +49 1.390573829412460e-001 -3.110583126544952e-001 1.105552077293396e+000 4.394045472145081e-001 4.795211851596832e-001 1.969023197889328e-001 5.574952811002731e-002 1.690310984849930e-001 2.208244323730469e+000 2.111947536468506e+000 3.239532709121704e-001 7.690296173095703e-001 1.264077782630920e+000 1.672740578651428e+000 1.320844173431397e+000 7.965675592422485e-001 -7.341063618659973e-001 3.702043294906616e+000 1.716022133827210e+000 -6.642882823944092e-001 1.686427950859070e+000 -4.863217473030090e-001 1.285641908645630e+000 1.281449794769287e+000 2.356275558471680e+000 -1.406845331192017e+000 6.027717590332031e-001 6.652191877365112e-001 -9.871492385864258e-001 -5.513690948486328e+000 -2.750334143638611e-001 1.229651212692261e+000 -2.504641294479370e+000 -3.219850361347199e-001 -2.744197607040405e+000 -4.023179113864899e-001 9.932321496307850e-003 -6.916724443435669e-001 -2.260914087295532e+000 1.261568814516068e-001 3.248662948608398e-001 6.963043808937073e-001 1.830800414085388e+000 -2.054267644882202e+000 -9.595731496810913e-001 -8.711494207382202e-001 -1.330682396888733e+000 2.109736204147339e+000 -6.145163774490356e-001 + +#hidden2Synapse FullSynapse +28 -3.299105465412140e-001 4.235435724258423e-001 9.191738963127136e-001 6.795659661293030e-001 -1.440919041633606e+000 4.634908214211464e-002 -1.265781879425049e+000 2.394487708806992e-001 1.205053567886353e+000 5.790516138076782e-001 1.087130665779114e+000 -6.723164916038513e-001 -1.834900081157684e-001 -4.767680168151856e-001 8.402896672487259e-002 1.035530328750610e+000 1.644443035125732e+000 4.317290484905243e-001 -1.714672803878784e+000 5.225644707679749e-001 -5.602287650108337e-001 1.068559288978577e+000 -2.211284125223756e-003 -2.943626642227173e-001 1.341261714696884e-001 4.324447214603424e-001 -5.482236146926880e-001 -4.985276758670807e-001 + +#outputSynapse FullSynapse +12 3.726457059383392e-001 7.749153375625610e-001 4.159255921840668e-001 5.234625935554504e-001 -1.592817008495331e-001 5.884559154510498e-001 -7.756121158599854e-001 2.137655019760132e-001 -6.172903776168823e-001 -4.417923986911774e-001 -4.576872885227203e-001 4.440903961658478e-001 + +#activeOutputProbe DataWriter +3 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 +8.999999761581421e-001 5.000000074505806e-002 + diff --git a/parm/optics_luts_DUST.dat b/fix/chem/optics_luts_DUST.dat similarity index 100% rename from parm/optics_luts_DUST.dat rename to fix/chem/optics_luts_DUST.dat diff --git a/fix/chem/optics_luts_DUST_nasa.dat b/fix/chem/optics_luts_DUST_nasa.dat new file mode 100644 index 0000000000..ba114c6ee6 --- /dev/null +++ b/fix/chem/optics_luts_DUST_nasa.dat @@ -0,0 +1,720 @@ + DUST 1 ext + 1.94864 1.94864 1.94864 1.94864 1.94864 1.94864 1.94864 1.94864 + 1.94864 1.94864 1.94864 1.94864 1.94864 1.94864 1.94864 1.94864 + 1.94864 1.94864 1.94864 1.94864 1.94864 1.94864 1.94864 1.94864 + 1.94864 1.94864 1.94864 1.94864 1.94864 1.94864 1.94864 1.94864 + 1.94864 1.94864 1.94864 1.94864 + 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 + 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 + 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 + 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 + 2.01649 2.01649 2.01649 2.01649 + 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 + 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 + 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 + 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 2.01649 + 2.01649 2.01649 2.01649 2.01649 + 1.99528 1.99528 1.99528 1.99528 1.99528 1.99528 1.99528 1.99528 + 1.99528 1.99528 1.99528 1.99528 1.99528 1.99528 1.99528 1.99528 + 1.99528 1.99528 1.99528 1.99528 1.99528 1.99528 1.99528 1.99528 + 1.99528 1.99528 1.99528 1.99528 1.99528 1.99528 1.99528 1.99528 + 1.99528 1.99528 1.99528 1.99528 + 1.93435 1.93435 1.93435 1.93435 1.93435 1.93435 1.93435 1.93435 + 1.93435 1.93435 1.93435 1.93435 1.93435 1.93435 1.93435 1.93435 + 1.93435 1.93435 1.93435 1.93435 1.93435 1.93435 1.93435 1.93435 + 1.93435 1.93435 1.93435 1.93435 1.93435 1.93435 1.93435 1.93435 + 1.93435 1.93435 1.93435 1.93435 + 1.29773 1.29773 1.29773 1.29773 1.29773 1.29773 1.29773 1.29773 + 1.29773 1.29773 1.29773 1.29773 1.29773 1.29773 1.29773 1.29773 + 1.29773 1.29773 1.29773 1.29773 1.29773 1.29773 1.29773 1.29773 + 1.29773 1.29773 1.29773 1.29773 1.29773 1.29773 1.29773 1.29773 + 1.29773 1.29773 1.29773 1.29773 + 0.11377 0.11377 0.11377 0.11377 0.11377 0.11377 0.11377 0.11377 + 0.11377 0.11377 0.11377 0.11377 0.11377 0.11377 0.11377 0.11377 + 0.11377 0.11377 0.11377 0.11377 0.11377 0.11377 0.11377 0.11377 + 0.11377 0.11377 0.11377 0.11377 0.11377 0.11377 0.11377 0.11377 + 0.11377 0.11377 0.11377 0.11377 + DUST 1 sca + 1.74200 1.74200 1.74200 1.74200 1.74200 1.74200 1.74200 1.74200 + 1.74200 1.74200 1.74200 1.74200 1.74200 1.74200 1.74200 1.74200 + 1.74200 1.74200 1.74200 1.74200 1.74200 1.74200 1.74200 1.74200 + 1.74200 1.74200 1.74200 1.74200 1.74200 1.74200 1.74200 1.74200 + 1.74200 1.74200 1.74200 1.74200 + 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 + 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 + 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 + 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 + 1.94363 1.94363 1.94363 1.94363 + 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 + 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 + 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 + 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 1.94363 + 1.94363 1.94363 1.94363 1.94363 + 1.94481 1.94481 1.94481 1.94481 1.94481 1.94481 1.94481 1.94481 + 1.94481 1.94481 1.94481 1.94481 1.94481 1.94481 1.94481 1.94481 + 1.94481 1.94481 1.94481 1.94481 1.94481 1.94481 1.94481 1.94481 + 1.94481 1.94481 1.94481 1.94481 1.94481 1.94481 1.94481 1.94481 + 1.94481 1.94481 1.94481 1.94481 + 1.89485 1.89485 1.89485 1.89485 1.89485 1.89485 1.89485 1.89485 + 1.89485 1.89485 1.89485 1.89485 1.89485 1.89485 1.89485 1.89485 + 1.89485 1.89485 1.89485 1.89485 1.89485 1.89485 1.89485 1.89485 + 1.89485 1.89485 1.89485 1.89485 1.89485 1.89485 1.89485 1.89485 + 1.89485 1.89485 1.89485 1.89485 + 1.25799 1.25799 1.25799 1.25799 1.25799 1.25799 1.25799 1.25799 + 1.25799 1.25799 1.25799 1.25799 1.25799 1.25799 1.25799 1.25799 + 1.25799 1.25799 1.25799 1.25799 1.25799 1.25799 1.25799 1.25799 + 1.25799 1.25799 1.25799 1.25799 1.25799 1.25799 1.25799 1.25799 + 1.25799 1.25799 1.25799 1.25799 + 0.00540 0.00540 0.00540 0.00540 0.00540 0.00540 0.00540 0.00540 + 0.00540 0.00540 0.00540 0.00540 0.00540 0.00540 0.00540 0.00540 + 0.00540 0.00540 0.00540 0.00540 0.00540 0.00540 0.00540 0.00540 + 0.00540 0.00540 0.00540 0.00540 0.00540 0.00540 0.00540 0.00540 + 0.00540 0.00540 0.00540 0.00540 + DUST 1 asy + 0.76166 0.76166 0.76166 0.76166 0.76166 0.76166 0.76166 0.76166 + 0.76166 0.76166 0.76166 0.76166 0.76166 0.76166 0.76166 0.76166 + 0.76166 0.76166 0.76166 0.76166 0.76166 0.76166 0.76166 0.76166 + 0.76166 0.76166 0.76166 0.76166 0.76166 0.76166 0.76166 0.76166 + 0.76166 0.76166 0.76166 0.76166 + 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 + 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 + 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 + 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 + 0.71088 0.71088 0.71088 0.71088 + 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 + 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 + 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 + 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 0.71088 + 0.71088 0.71088 0.71088 0.71088 + 0.70697 0.70697 0.70697 0.70697 0.70697 0.70697 0.70697 0.70697 + 0.70697 0.70697 0.70697 0.70697 0.70697 0.70697 0.70697 0.70697 + 0.70697 0.70697 0.70697 0.70697 0.70697 0.70697 0.70697 0.70697 + 0.70697 0.70697 0.70697 0.70697 0.70697 0.70697 0.70697 0.70697 + 0.70697 0.70697 0.70697 0.70697 + 0.70487 0.70487 0.70487 0.70487 0.70487 0.70487 0.70487 0.70487 + 0.70487 0.70487 0.70487 0.70487 0.70487 0.70487 0.70487 0.70487 + 0.70487 0.70487 0.70487 0.70487 0.70487 0.70487 0.70487 0.70487 + 0.70487 0.70487 0.70487 0.70487 0.70487 0.70487 0.70487 0.70487 + 0.70487 0.70487 0.70487 0.70487 + 0.65305 0.65305 0.65305 0.65305 0.65305 0.65305 0.65305 0.65305 + 0.65305 0.65305 0.65305 0.65305 0.65305 0.65305 0.65305 0.65305 + 0.65305 0.65305 0.65305 0.65305 0.65305 0.65305 0.65305 0.65305 + 0.65305 0.65305 0.65305 0.65305 0.65305 0.65305 0.65305 0.65305 + 0.65305 0.65305 0.65305 0.65305 + 0.03460 0.03460 0.03460 0.03460 0.03460 0.03460 0.03460 0.03460 + 0.03460 0.03460 0.03460 0.03460 0.03460 0.03460 0.03460 0.03460 + 0.03460 0.03460 0.03460 0.03460 0.03460 0.03460 0.03460 0.03460 + 0.03460 0.03460 0.03460 0.03460 0.03460 0.03460 0.03460 0.03460 + 0.03460 0.03460 0.03460 0.03460 + DUST 1 ssa + 0.89396 0.89396 0.89396 0.89396 0.89396 0.89396 0.89396 0.89396 + 0.89396 0.89396 0.89396 0.89396 0.89396 0.89396 0.89396 0.89396 + 0.89396 0.89396 0.89396 0.89396 0.89396 0.89396 0.89396 0.89396 + 0.89396 0.89396 0.89396 0.89396 0.89396 0.89396 0.89396 0.89396 + 0.89396 0.89396 0.89396 0.89396 + 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 + 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 + 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 + 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 + 0.96387 0.96387 0.96387 0.96387 + 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 + 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 + 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 + 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 0.96387 + 0.96387 0.96387 0.96387 0.96387 + 0.97471 0.97471 0.97471 0.97471 0.97471 0.97471 0.97471 0.97471 + 0.97471 0.97471 0.97471 0.97471 0.97471 0.97471 0.97471 0.97471 + 0.97471 0.97471 0.97471 0.97471 0.97471 0.97471 0.97471 0.97471 + 0.97471 0.97471 0.97471 0.97471 0.97471 0.97471 0.97471 0.97471 + 0.97471 0.97471 0.97471 0.97471 + 0.97958 0.97958 0.97958 0.97958 0.97958 0.97958 0.97958 0.97958 + 0.97958 0.97958 0.97958 0.97958 0.97958 0.97958 0.97958 0.97958 + 0.97958 0.97958 0.97958 0.97958 0.97958 0.97958 0.97958 0.97958 + 0.97958 0.97958 0.97958 0.97958 0.97958 0.97958 0.97958 0.97958 + 0.97958 0.97958 0.97958 0.97958 + 0.96938 0.96938 0.96938 0.96938 0.96938 0.96938 0.96938 0.96938 + 0.96938 0.96938 0.96938 0.96938 0.96938 0.96938 0.96938 0.96938 + 0.96938 0.96938 0.96938 0.96938 0.96938 0.96938 0.96938 0.96938 + 0.96938 0.96938 0.96938 0.96938 0.96938 0.96938 0.96938 0.96938 + 0.96938 0.96938 0.96938 0.96938 + 0.04749 0.04749 0.04749 0.04749 0.04749 0.04749 0.04749 0.04749 + 0.04749 0.04749 0.04749 0.04749 0.04749 0.04749 0.04749 0.04749 + 0.04749 0.04749 0.04749 0.04749 0.04749 0.04749 0.04749 0.04749 + 0.04749 0.04749 0.04749 0.04749 0.04749 0.04749 0.04749 0.04749 + 0.04749 0.04749 0.04749 0.04749 + DUST 2 ext + 0.59199 0.59199 0.59199 0.59199 0.59199 0.59199 0.59199 0.59199 + 0.59199 0.59199 0.59199 0.59199 0.59199 0.59199 0.59199 0.59199 + 0.59199 0.59199 0.59199 0.59199 0.59199 0.59199 0.59199 0.59199 + 0.59199 0.59199 0.59199 0.59199 0.59199 0.59199 0.59199 0.59199 + 0.59199 0.59199 0.59199 0.59199 + 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 + 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 + 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 + 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 + 0.64447 0.64447 0.64447 0.64447 + 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 + 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 + 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 + 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 0.64447 + 0.64447 0.64447 0.64447 0.64447 + 0.66068 0.66068 0.66068 0.66068 0.66068 0.66068 0.66068 0.66068 + 0.66068 0.66068 0.66068 0.66068 0.66068 0.66068 0.66068 0.66068 + 0.66068 0.66068 0.66068 0.66068 0.66068 0.66068 0.66068 0.66068 + 0.66068 0.66068 0.66068 0.66068 0.66068 0.66068 0.66068 0.66068 + 0.66068 0.66068 0.66068 0.66068 + 0.69937 0.69937 0.69937 0.69937 0.69937 0.69937 0.69937 0.69937 + 0.69937 0.69937 0.69937 0.69937 0.69937 0.69937 0.69937 0.69937 + 0.69937 0.69937 0.69937 0.69937 0.69937 0.69937 0.69937 0.69937 + 0.69937 0.69937 0.69937 0.69937 0.69937 0.69937 0.69937 0.69937 + 0.69937 0.69937 0.69937 0.69937 + 0.89154 0.89154 0.89154 0.89154 0.89154 0.89154 0.89154 0.89154 + 0.89154 0.89154 0.89154 0.89154 0.89154 0.89154 0.89154 0.89154 + 0.89154 0.89154 0.89154 0.89154 0.89154 0.89154 0.89154 0.89154 + 0.89154 0.89154 0.89154 0.89154 0.89154 0.89154 0.89154 0.89154 + 0.89154 0.89154 0.89154 0.89154 + 0.15545 0.15545 0.15545 0.15545 0.15545 0.15545 0.15545 0.15545 + 0.15545 0.15545 0.15545 0.15545 0.15545 0.15545 0.15545 0.15545 + 0.15545 0.15545 0.15545 0.15545 0.15545 0.15545 0.15545 0.15545 + 0.15545 0.15545 0.15545 0.15545 0.15545 0.15545 0.15545 0.15545 + 0.15545 0.15545 0.15545 0.15545 + DUST 2 sca + 0.47257 0.47257 0.47257 0.47257 0.47257 0.47257 0.47257 0.47257 + 0.47257 0.47257 0.47257 0.47257 0.47257 0.47257 0.47257 0.47257 + 0.47257 0.47257 0.47257 0.47257 0.47257 0.47257 0.47257 0.47257 + 0.47257 0.47257 0.47257 0.47257 0.47257 0.47257 0.47257 0.47257 + 0.47257 0.47257 0.47257 0.47257 + 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 + 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 + 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 + 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 + 0.59147 0.59147 0.59147 0.59147 + 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 + 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 + 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 + 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 0.59147 + 0.59147 0.59147 0.59147 0.59147 + 0.62094 0.62094 0.62094 0.62094 0.62094 0.62094 0.62094 0.62094 + 0.62094 0.62094 0.62094 0.62094 0.62094 0.62094 0.62094 0.62094 + 0.62094 0.62094 0.62094 0.62094 0.62094 0.62094 0.62094 0.62094 + 0.62094 0.62094 0.62094 0.62094 0.62094 0.62094 0.62094 0.62094 + 0.62094 0.62094 0.62094 0.62094 + 0.66548 0.66548 0.66548 0.66548 0.66548 0.66548 0.66548 0.66548 + 0.66548 0.66548 0.66548 0.66548 0.66548 0.66548 0.66548 0.66548 + 0.66548 0.66548 0.66548 0.66548 0.66548 0.66548 0.66548 0.66548 + 0.66548 0.66548 0.66548 0.66548 0.66548 0.66548 0.66548 0.66548 + 0.66548 0.66548 0.66548 0.66548 + 0.84917 0.84917 0.84917 0.84917 0.84917 0.84917 0.84917 0.84917 + 0.84917 0.84917 0.84917 0.84917 0.84917 0.84917 0.84917 0.84917 + 0.84917 0.84917 0.84917 0.84917 0.84917 0.84917 0.84917 0.84917 + 0.84917 0.84917 0.84917 0.84917 0.84917 0.84917 0.84917 0.84917 + 0.84917 0.84917 0.84917 0.84917 + 0.03505 0.03505 0.03505 0.03505 0.03505 0.03505 0.03505 0.03505 + 0.03505 0.03505 0.03505 0.03505 0.03505 0.03505 0.03505 0.03505 + 0.03505 0.03505 0.03505 0.03505 0.03505 0.03505 0.03505 0.03505 + 0.03505 0.03505 0.03505 0.03505 0.03505 0.03505 0.03505 0.03505 + 0.03505 0.03505 0.03505 0.03505 + DUST 2 asy + 0.82765 0.82765 0.82765 0.82765 0.82765 0.82765 0.82765 0.82765 + 0.82765 0.82765 0.82765 0.82765 0.82765 0.82765 0.82765 0.82765 + 0.82765 0.82765 0.82765 0.82765 0.82765 0.82765 0.82765 0.82765 + 0.82765 0.82765 0.82765 0.82765 0.82765 0.82765 0.82765 0.82765 + 0.82765 0.82765 0.82765 0.82765 + 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 + 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 + 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 + 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 + 0.75416 0.75416 0.75416 0.75416 + 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 + 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 + 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 + 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 0.75416 + 0.75416 0.75416 0.75416 0.75416 + 0.72659 0.72659 0.72659 0.72659 0.72659 0.72659 0.72659 0.72659 + 0.72659 0.72659 0.72659 0.72659 0.72659 0.72659 0.72659 0.72659 + 0.72659 0.72659 0.72659 0.72659 0.72659 0.72659 0.72659 0.72659 + 0.72659 0.72659 0.72659 0.72659 0.72659 0.72659 0.72659 0.72659 + 0.72659 0.72659 0.72659 0.72659 + 0.70684 0.70684 0.70684 0.70684 0.70684 0.70684 0.70684 0.70684 + 0.70684 0.70684 0.70684 0.70684 0.70684 0.70684 0.70684 0.70684 + 0.70684 0.70684 0.70684 0.70684 0.70684 0.70684 0.70684 0.70684 + 0.70684 0.70684 0.70684 0.70684 0.70684 0.70684 0.70684 0.70684 + 0.70684 0.70684 0.70684 0.70684 + 0.72831 0.72831 0.72831 0.72831 0.72831 0.72831 0.72831 0.72831 + 0.72831 0.72831 0.72831 0.72831 0.72831 0.72831 0.72831 0.72831 + 0.72831 0.72831 0.72831 0.72831 0.72831 0.72831 0.72831 0.72831 + 0.72831 0.72831 0.72831 0.72831 0.72831 0.72831 0.72831 0.72831 + 0.72831 0.72831 0.72831 0.72831 + 0.14287 0.14287 0.14287 0.14287 0.14287 0.14287 0.14287 0.14287 + 0.14287 0.14287 0.14287 0.14287 0.14287 0.14287 0.14287 0.14287 + 0.14287 0.14287 0.14287 0.14287 0.14287 0.14287 0.14287 0.14287 + 0.14287 0.14287 0.14287 0.14287 0.14287 0.14287 0.14287 0.14287 + 0.14287 0.14287 0.14287 0.14287 + DUST 2 ssa + 0.79826 0.79826 0.79826 0.79826 0.79826 0.79826 0.79826 0.79826 + 0.79826 0.79826 0.79826 0.79826 0.79826 0.79826 0.79826 0.79826 + 0.79826 0.79826 0.79826 0.79826 0.79826 0.79826 0.79826 0.79826 + 0.79826 0.79826 0.79826 0.79826 0.79826 0.79826 0.79826 0.79826 + 0.79826 0.79826 0.79826 0.79826 + 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 + 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 + 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 + 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 + 0.91776 0.91776 0.91776 0.91776 + 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 + 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 + 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 + 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 0.91776 + 0.91776 0.91776 0.91776 0.91776 + 0.93984 0.93984 0.93984 0.93984 0.93984 0.93984 0.93984 0.93984 + 0.93984 0.93984 0.93984 0.93984 0.93984 0.93984 0.93984 0.93984 + 0.93984 0.93984 0.93984 0.93984 0.93984 0.93984 0.93984 0.93984 + 0.93984 0.93984 0.93984 0.93984 0.93984 0.93984 0.93984 0.93984 + 0.93984 0.93984 0.93984 0.93984 + 0.95153 0.95153 0.95153 0.95153 0.95153 0.95153 0.95153 0.95153 + 0.95153 0.95153 0.95153 0.95153 0.95153 0.95153 0.95153 0.95153 + 0.95153 0.95153 0.95153 0.95153 0.95153 0.95153 0.95153 0.95153 + 0.95153 0.95153 0.95153 0.95153 0.95153 0.95153 0.95153 0.95153 + 0.95153 0.95153 0.95153 0.95153 + 0.95247 0.95247 0.95247 0.95247 0.95247 0.95247 0.95247 0.95247 + 0.95247 0.95247 0.95247 0.95247 0.95247 0.95247 0.95247 0.95247 + 0.95247 0.95247 0.95247 0.95247 0.95247 0.95247 0.95247 0.95247 + 0.95247 0.95247 0.95247 0.95247 0.95247 0.95247 0.95247 0.95247 + 0.95247 0.95247 0.95247 0.95247 + 0.22547 0.22547 0.22547 0.22547 0.22547 0.22547 0.22547 0.22547 + 0.22547 0.22547 0.22547 0.22547 0.22547 0.22547 0.22547 0.22547 + 0.22547 0.22547 0.22547 0.22547 0.22547 0.22547 0.22547 0.22547 + 0.22547 0.22547 0.22547 0.22547 0.22547 0.22547 0.22547 0.22547 + 0.22547 0.22547 0.22547 0.22547 + DUST 3 ext + 0.30948 0.30948 0.30948 0.30948 0.30948 0.30948 0.30948 0.30948 + 0.30948 0.30948 0.30948 0.30948 0.30948 0.30948 0.30948 0.30948 + 0.30948 0.30948 0.30948 0.30948 0.30948 0.30948 0.30948 0.30948 + 0.30948 0.30948 0.30948 0.30948 0.30948 0.30948 0.30948 0.30948 + 0.30948 0.30948 0.30948 0.30948 + 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 + 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 + 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 + 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 + 0.33388 0.33388 0.33388 0.33388 + 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 + 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 + 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 + 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 0.33388 + 0.33388 0.33388 0.33388 0.33388 + 0.34427 0.34427 0.34427 0.34427 0.34427 0.34427 0.34427 0.34427 + 0.34427 0.34427 0.34427 0.34427 0.34427 0.34427 0.34427 0.34427 + 0.34427 0.34427 0.34427 0.34427 0.34427 0.34427 0.34427 0.34427 + 0.34427 0.34427 0.34427 0.34427 0.34427 0.34427 0.34427 0.34427 + 0.34427 0.34427 0.34427 0.34427 + 0.36108 0.36108 0.36108 0.36108 0.36108 0.36108 0.36108 0.36108 + 0.36108 0.36108 0.36108 0.36108 0.36108 0.36108 0.36108 0.36108 + 0.36108 0.36108 0.36108 0.36108 0.36108 0.36108 0.36108 0.36108 + 0.36108 0.36108 0.36108 0.36108 0.36108 0.36108 0.36108 0.36108 + 0.36108 0.36108 0.36108 0.36108 + 0.41983 0.41983 0.41983 0.41983 0.41983 0.41983 0.41983 0.41983 + 0.41983 0.41983 0.41983 0.41983 0.41983 0.41983 0.41983 0.41983 + 0.41983 0.41983 0.41983 0.41983 0.41983 0.41983 0.41983 0.41983 + 0.41983 0.41983 0.41983 0.41983 0.41983 0.41983 0.41983 0.41983 + 0.41983 0.41983 0.41983 0.41983 + 0.22625 0.22625 0.22625 0.22625 0.22625 0.22625 0.22625 0.22625 + 0.22625 0.22625 0.22625 0.22625 0.22625 0.22625 0.22625 0.22625 + 0.22625 0.22625 0.22625 0.22625 0.22625 0.22625 0.22625 0.22625 + 0.22625 0.22625 0.22625 0.22625 0.22625 0.22625 0.22625 0.22625 + 0.22625 0.22625 0.22625 0.22625 + DUST 3 sca + 0.22731 0.22731 0.22731 0.22731 0.22731 0.22731 0.22731 0.22731 + 0.22731 0.22731 0.22731 0.22731 0.22731 0.22731 0.22731 0.22731 + 0.22731 0.22731 0.22731 0.22731 0.22731 0.22731 0.22731 0.22731 + 0.22731 0.22731 0.22731 0.22731 0.22731 0.22731 0.22731 0.22731 + 0.22731 0.22731 0.22731 0.22731 + 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 + 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 + 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 + 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 + 0.29583 0.29583 0.29583 0.29583 + 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 + 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 + 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 + 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 0.29583 + 0.29583 0.29583 0.29583 0.29583 + 0.31536 0.31536 0.31536 0.31536 0.31536 0.31536 0.31536 0.31536 + 0.31536 0.31536 0.31536 0.31536 0.31536 0.31536 0.31536 0.31536 + 0.31536 0.31536 0.31536 0.31536 0.31536 0.31536 0.31536 0.31536 + 0.31536 0.31536 0.31536 0.31536 0.31536 0.31536 0.31536 0.31536 + 0.31536 0.31536 0.31536 0.31536 + 0.33467 0.33467 0.33467 0.33467 0.33467 0.33467 0.33467 0.33467 + 0.33467 0.33467 0.33467 0.33467 0.33467 0.33467 0.33467 0.33467 + 0.33467 0.33467 0.33467 0.33467 0.33467 0.33467 0.33467 0.33467 + 0.33467 0.33467 0.33467 0.33467 0.33467 0.33467 0.33467 0.33467 + 0.33467 0.33467 0.33467 0.33467 + 0.38226 0.38226 0.38226 0.38226 0.38226 0.38226 0.38226 0.38226 + 0.38226 0.38226 0.38226 0.38226 0.38226 0.38226 0.38226 0.38226 + 0.38226 0.38226 0.38226 0.38226 0.38226 0.38226 0.38226 0.38226 + 0.38226 0.38226 0.38226 0.38226 0.38226 0.38226 0.38226 0.38226 + 0.38226 0.38226 0.38226 0.38226 + 0.09755 0.09755 0.09755 0.09755 0.09755 0.09755 0.09755 0.09755 + 0.09755 0.09755 0.09755 0.09755 0.09755 0.09755 0.09755 0.09755 + 0.09755 0.09755 0.09755 0.09755 0.09755 0.09755 0.09755 0.09755 + 0.09755 0.09755 0.09755 0.09755 0.09755 0.09755 0.09755 0.09755 + 0.09755 0.09755 0.09755 0.09755 + DUST 3 asy + 0.88057 0.88057 0.88057 0.88057 0.88057 0.88057 0.88057 0.88057 + 0.88057 0.88057 0.88057 0.88057 0.88057 0.88057 0.88057 0.88057 + 0.88057 0.88057 0.88057 0.88057 0.88057 0.88057 0.88057 0.88057 + 0.88057 0.88057 0.88057 0.88057 0.88057 0.88057 0.88057 0.88057 + 0.88057 0.88057 0.88057 0.88057 + 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 + 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 + 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 + 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 + 0.79637 0.79637 0.79637 0.79637 + 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 + 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 + 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 + 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 0.79637 + 0.79637 0.79637 0.79637 0.79637 + 0.77332 0.77332 0.77332 0.77332 0.77332 0.77332 0.77332 0.77332 + 0.77332 0.77332 0.77332 0.77332 0.77332 0.77332 0.77332 0.77332 + 0.77332 0.77332 0.77332 0.77332 0.77332 0.77332 0.77332 0.77332 + 0.77332 0.77332 0.77332 0.77332 0.77332 0.77332 0.77332 0.77332 + 0.77332 0.77332 0.77332 0.77332 + 0.75693 0.75693 0.75693 0.75693 0.75693 0.75693 0.75693 0.75693 + 0.75693 0.75693 0.75693 0.75693 0.75693 0.75693 0.75693 0.75693 + 0.75693 0.75693 0.75693 0.75693 0.75693 0.75693 0.75693 0.75693 + 0.75693 0.75693 0.75693 0.75693 0.75693 0.75693 0.75693 0.75693 + 0.75693 0.75693 0.75693 0.75693 + 0.72148 0.72148 0.72148 0.72148 0.72148 0.72148 0.72148 0.72148 + 0.72148 0.72148 0.72148 0.72148 0.72148 0.72148 0.72148 0.72148 + 0.72148 0.72148 0.72148 0.72148 0.72148 0.72148 0.72148 0.72148 + 0.72148 0.72148 0.72148 0.72148 0.72148 0.72148 0.72148 0.72148 + 0.72148 0.72148 0.72148 0.72148 + 0.39855 0.39855 0.39855 0.39855 0.39855 0.39855 0.39855 0.39855 + 0.39855 0.39855 0.39855 0.39855 0.39855 0.39855 0.39855 0.39855 + 0.39855 0.39855 0.39855 0.39855 0.39855 0.39855 0.39855 0.39855 + 0.39855 0.39855 0.39855 0.39855 0.39855 0.39855 0.39855 0.39855 + 0.39855 0.39855 0.39855 0.39855 + DUST 3 ssa + 0.73450 0.73450 0.73450 0.73450 0.73450 0.73450 0.73450 0.73450 + 0.73450 0.73450 0.73450 0.73450 0.73450 0.73450 0.73450 0.73450 + 0.73450 0.73450 0.73450 0.73450 0.73450 0.73450 0.73450 0.73450 + 0.73450 0.73450 0.73450 0.73450 0.73450 0.73450 0.73450 0.73450 + 0.73450 0.73450 0.73450 0.73450 + 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 + 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 + 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 + 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 + 0.88604 0.88604 0.88604 0.88604 + 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 + 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 + 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 + 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 0.88604 + 0.88604 0.88604 0.88604 0.88604 + 0.91604 0.91604 0.91604 0.91604 0.91604 0.91604 0.91604 0.91604 + 0.91604 0.91604 0.91604 0.91604 0.91604 0.91604 0.91604 0.91604 + 0.91604 0.91604 0.91604 0.91604 0.91604 0.91604 0.91604 0.91604 + 0.91604 0.91604 0.91604 0.91604 0.91604 0.91604 0.91604 0.91604 + 0.91604 0.91604 0.91604 0.91604 + 0.92686 0.92686 0.92686 0.92686 0.92686 0.92686 0.92686 0.92686 + 0.92686 0.92686 0.92686 0.92686 0.92686 0.92686 0.92686 0.92686 + 0.92686 0.92686 0.92686 0.92686 0.92686 0.92686 0.92686 0.92686 + 0.92686 0.92686 0.92686 0.92686 0.92686 0.92686 0.92686 0.92686 + 0.92686 0.92686 0.92686 0.92686 + 0.91053 0.91053 0.91053 0.91053 0.91053 0.91053 0.91053 0.91053 + 0.91053 0.91053 0.91053 0.91053 0.91053 0.91053 0.91053 0.91053 + 0.91053 0.91053 0.91053 0.91053 0.91053 0.91053 0.91053 0.91053 + 0.91053 0.91053 0.91053 0.91053 0.91053 0.91053 0.91053 0.91053 + 0.91053 0.91053 0.91053 0.91053 + 0.43115 0.43115 0.43115 0.43115 0.43115 0.43115 0.43115 0.43115 + 0.43115 0.43115 0.43115 0.43115 0.43115 0.43115 0.43115 0.43115 + 0.43115 0.43115 0.43115 0.43115 0.43115 0.43115 0.43115 0.43115 + 0.43115 0.43115 0.43115 0.43115 0.43115 0.43115 0.43115 0.43115 + 0.43115 0.43115 0.43115 0.43115 + DUST 4 ext + 0.15845 0.15845 0.15845 0.15845 0.15845 0.15845 0.15845 0.15845 + 0.15845 0.15845 0.15845 0.15845 0.15845 0.15845 0.15845 0.15845 + 0.15845 0.15845 0.15845 0.15845 0.15845 0.15845 0.15845 0.15845 + 0.15845 0.15845 0.15845 0.15845 0.15845 0.15845 0.15845 0.15845 + 0.15845 0.15845 0.15845 0.15845 + 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 + 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 + 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 + 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 + 0.16736 0.16736 0.16736 0.16736 + 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 + 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 + 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 + 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 0.16736 + 0.16736 0.16736 0.16736 0.16736 + 0.17134 0.17134 0.17134 0.17134 0.17134 0.17134 0.17134 0.17134 + 0.17134 0.17134 0.17134 0.17134 0.17134 0.17134 0.17134 0.17134 + 0.17134 0.17134 0.17134 0.17134 0.17134 0.17134 0.17134 0.17134 + 0.17134 0.17134 0.17134 0.17134 0.17134 0.17134 0.17134 0.17134 + 0.17134 0.17134 0.17134 0.17134 + 0.17814 0.17814 0.17814 0.17814 0.17814 0.17814 0.17814 0.17814 + 0.17814 0.17814 0.17814 0.17814 0.17814 0.17814 0.17814 0.17814 + 0.17814 0.17814 0.17814 0.17814 0.17814 0.17814 0.17814 0.17814 + 0.17814 0.17814 0.17814 0.17814 0.17814 0.17814 0.17814 0.17814 + 0.17814 0.17814 0.17814 0.17814 + 0.20265 0.20265 0.20265 0.20265 0.20265 0.20265 0.20265 0.20265 + 0.20265 0.20265 0.20265 0.20265 0.20265 0.20265 0.20265 0.20265 + 0.20265 0.20265 0.20265 0.20265 0.20265 0.20265 0.20265 0.20265 + 0.20265 0.20265 0.20265 0.20265 0.20265 0.20265 0.20265 0.20265 + 0.20265 0.20265 0.20265 0.20265 + 0.20360 0.20360 0.20360 0.20360 0.20360 0.20360 0.20360 0.20360 + 0.20360 0.20360 0.20360 0.20360 0.20360 0.20360 0.20360 0.20360 + 0.20360 0.20360 0.20360 0.20360 0.20360 0.20360 0.20360 0.20360 + 0.20360 0.20360 0.20360 0.20360 0.20360 0.20360 0.20360 0.20360 + 0.20360 0.20360 0.20360 0.20360 + DUST 4 sca + 0.10550 0.10550 0.10550 0.10550 0.10550 0.10550 0.10550 0.10550 + 0.10550 0.10550 0.10550 0.10550 0.10550 0.10550 0.10550 0.10550 + 0.10550 0.10550 0.10550 0.10550 0.10550 0.10550 0.10550 0.10550 + 0.10550 0.10550 0.10550 0.10550 0.10550 0.10550 0.10550 0.10550 + 0.10550 0.10550 0.10550 0.10550 + 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 + 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 + 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 + 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 + 0.13947 0.13947 0.13947 0.13947 + 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 + 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 + 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 + 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 0.13947 + 0.13947 0.13947 0.13947 0.13947 + 0.14962 0.14962 0.14962 0.14962 0.14962 0.14962 0.14962 0.14962 + 0.14962 0.14962 0.14962 0.14962 0.14962 0.14962 0.14962 0.14962 + 0.14962 0.14962 0.14962 0.14962 0.14962 0.14962 0.14962 0.14962 + 0.14962 0.14962 0.14962 0.14962 0.14962 0.14962 0.14962 0.14962 + 0.14962 0.14962 0.14962 0.14962 + 0.15925 0.15925 0.15925 0.15925 0.15925 0.15925 0.15925 0.15925 + 0.15925 0.15925 0.15925 0.15925 0.15925 0.15925 0.15925 0.15925 + 0.15925 0.15925 0.15925 0.15925 0.15925 0.15925 0.15925 0.15925 + 0.15925 0.15925 0.15925 0.15925 0.15925 0.15925 0.15925 0.15925 + 0.15925 0.15925 0.15925 0.15925 + 0.17476 0.17476 0.17476 0.17476 0.17476 0.17476 0.17476 0.17476 + 0.17476 0.17476 0.17476 0.17476 0.17476 0.17476 0.17476 0.17476 + 0.17476 0.17476 0.17476 0.17476 0.17476 0.17476 0.17476 0.17476 + 0.17476 0.17476 0.17476 0.17476 0.17476 0.17476 0.17476 0.17476 + 0.17476 0.17476 0.17476 0.17476 + 0.10677 0.10677 0.10677 0.10677 0.10677 0.10677 0.10677 0.10677 + 0.10677 0.10677 0.10677 0.10677 0.10677 0.10677 0.10677 0.10677 + 0.10677 0.10677 0.10677 0.10677 0.10677 0.10677 0.10677 0.10677 + 0.10677 0.10677 0.10677 0.10677 0.10677 0.10677 0.10677 0.10677 + 0.10677 0.10677 0.10677 0.10677 + DUST 4 asy + 0.91581 0.91581 0.91581 0.91581 0.91581 0.91581 0.91581 0.91581 + 0.91581 0.91581 0.91581 0.91581 0.91581 0.91581 0.91581 0.91581 + 0.91581 0.91581 0.91581 0.91581 0.91581 0.91581 0.91581 0.91581 + 0.91581 0.91581 0.91581 0.91581 0.91581 0.91581 0.91581 0.91581 + 0.91581 0.91581 0.91581 0.91581 + 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 + 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 + 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 + 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 + 0.84029 0.84029 0.84029 0.84029 + 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 + 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 + 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 + 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 0.84029 + 0.84029 0.84029 0.84029 0.84029 + 0.81727 0.81727 0.81727 0.81727 0.81727 0.81727 0.81727 0.81727 + 0.81727 0.81727 0.81727 0.81727 0.81727 0.81727 0.81727 0.81727 + 0.81727 0.81727 0.81727 0.81727 0.81727 0.81727 0.81727 0.81727 + 0.81727 0.81727 0.81727 0.81727 0.81727 0.81727 0.81727 0.81727 + 0.81727 0.81727 0.81727 0.81727 + 0.79887 0.79887 0.79887 0.79887 0.79887 0.79887 0.79887 0.79887 + 0.79887 0.79887 0.79887 0.79887 0.79887 0.79887 0.79887 0.79887 + 0.79887 0.79887 0.79887 0.79887 0.79887 0.79887 0.79887 0.79887 + 0.79887 0.79887 0.79887 0.79887 0.79887 0.79887 0.79887 0.79887 + 0.79887 0.79887 0.79887 0.79887 + 0.77255 0.77255 0.77255 0.77255 0.77255 0.77255 0.77255 0.77255 + 0.77255 0.77255 0.77255 0.77255 0.77255 0.77255 0.77255 0.77255 + 0.77255 0.77255 0.77255 0.77255 0.77255 0.77255 0.77255 0.77255 + 0.77255 0.77255 0.77255 0.77255 0.77255 0.77255 0.77255 0.77255 + 0.77255 0.77255 0.77255 0.77255 + 0.67149 0.67149 0.67149 0.67149 0.67149 0.67149 0.67149 0.67149 + 0.67149 0.67149 0.67149 0.67149 0.67149 0.67149 0.67149 0.67149 + 0.67149 0.67149 0.67149 0.67149 0.67149 0.67149 0.67149 0.67149 + 0.67149 0.67149 0.67149 0.67149 0.67149 0.67149 0.67149 0.67149 + 0.67149 0.67149 0.67149 0.67149 + DUST 4 ssa + 0.66580 0.66580 0.66580 0.66580 0.66580 0.66580 0.66580 0.66580 + 0.66580 0.66580 0.66580 0.66580 0.66580 0.66580 0.66580 0.66580 + 0.66580 0.66580 0.66580 0.66580 0.66580 0.66580 0.66580 0.66580 + 0.66580 0.66580 0.66580 0.66580 0.66580 0.66580 0.66580 0.66580 + 0.66580 0.66580 0.66580 0.66580 + 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 + 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 + 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 + 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 + 0.83335 0.83335 0.83335 0.83335 + 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 + 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 + 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 + 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 0.83335 + 0.83335 0.83335 0.83335 0.83335 + 0.87327 0.87327 0.87327 0.87327 0.87327 0.87327 0.87327 0.87327 + 0.87327 0.87327 0.87327 0.87327 0.87327 0.87327 0.87327 0.87327 + 0.87327 0.87327 0.87327 0.87327 0.87327 0.87327 0.87327 0.87327 + 0.87327 0.87327 0.87327 0.87327 0.87327 0.87327 0.87327 0.87327 + 0.87327 0.87327 0.87327 0.87327 + 0.89395 0.89395 0.89395 0.89395 0.89395 0.89395 0.89395 0.89395 + 0.89395 0.89395 0.89395 0.89395 0.89395 0.89395 0.89395 0.89395 + 0.89395 0.89395 0.89395 0.89395 0.89395 0.89395 0.89395 0.89395 + 0.89395 0.89395 0.89395 0.89395 0.89395 0.89395 0.89395 0.89395 + 0.89395 0.89395 0.89395 0.89395 + 0.86236 0.86236 0.86236 0.86236 0.86236 0.86236 0.86236 0.86236 + 0.86236 0.86236 0.86236 0.86236 0.86236 0.86236 0.86236 0.86236 + 0.86236 0.86236 0.86236 0.86236 0.86236 0.86236 0.86236 0.86236 + 0.86236 0.86236 0.86236 0.86236 0.86236 0.86236 0.86236 0.86236 + 0.86236 0.86236 0.86236 0.86236 + 0.52442 0.52442 0.52442 0.52442 0.52442 0.52442 0.52442 0.52442 + 0.52442 0.52442 0.52442 0.52442 0.52442 0.52442 0.52442 0.52442 + 0.52442 0.52442 0.52442 0.52442 0.52442 0.52442 0.52442 0.52442 + 0.52442 0.52442 0.52442 0.52442 0.52442 0.52442 0.52442 0.52442 + 0.52442 0.52442 0.52442 0.52442 + DUST 5 ext + 0.08061 0.08061 0.08061 0.08061 0.08061 0.08061 0.08061 0.08061 + 0.08061 0.08061 0.08061 0.08061 0.08061 0.08061 0.08061 0.08061 + 0.08061 0.08061 0.08061 0.08061 0.08061 0.08061 0.08061 0.08061 + 0.08061 0.08061 0.08061 0.08061 0.08061 0.08061 0.08061 0.08061 + 0.08061 0.08061 0.08061 0.08061 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 0.08391 + 0.08391 0.08391 0.08391 0.08391 + 0.08489 0.08489 0.08489 0.08489 0.08489 0.08489 0.08489 0.08489 + 0.08489 0.08489 0.08489 0.08489 0.08489 0.08489 0.08489 0.08489 + 0.08489 0.08489 0.08489 0.08489 0.08489 0.08489 0.08489 0.08489 + 0.08489 0.08489 0.08489 0.08489 0.08489 0.08489 0.08489 0.08489 + 0.08489 0.08489 0.08489 0.08489 + 0.08850 0.08850 0.08850 0.08850 0.08850 0.08850 0.08850 0.08850 + 0.08850 0.08850 0.08850 0.08850 0.08850 0.08850 0.08850 0.08850 + 0.08850 0.08850 0.08850 0.08850 0.08850 0.08850 0.08850 0.08850 + 0.08850 0.08850 0.08850 0.08850 0.08850 0.08850 0.08850 0.08850 + 0.08850 0.08850 0.08850 0.08850 + 0.09852 0.09852 0.09852 0.09852 0.09852 0.09852 0.09852 0.09852 + 0.09852 0.09852 0.09852 0.09852 0.09852 0.09852 0.09852 0.09852 + 0.09852 0.09852 0.09852 0.09852 0.09852 0.09852 0.09852 0.09852 + 0.09852 0.09852 0.09852 0.09852 0.09852 0.09852 0.09852 0.09852 + 0.09852 0.09852 0.09852 0.09852 + 0.11163 0.11163 0.11163 0.11163 0.11163 0.11163 0.11163 0.11163 + 0.11163 0.11163 0.11163 0.11163 0.11163 0.11163 0.11163 0.11163 + 0.11163 0.11163 0.11163 0.11163 0.11163 0.11163 0.11163 0.11163 + 0.11163 0.11163 0.11163 0.11163 0.11163 0.11163 0.11163 0.11163 + 0.11163 0.11163 0.11163 0.11163 + DUST 5 sca + 0.04899 0.04899 0.04899 0.04899 0.04899 0.04899 0.04899 0.04899 + 0.04899 0.04899 0.04899 0.04899 0.04899 0.04899 0.04899 0.04899 + 0.04899 0.04899 0.04899 0.04899 0.04899 0.04899 0.04899 0.04899 + 0.04899 0.04899 0.04899 0.04899 0.04899 0.04899 0.04899 0.04899 + 0.04899 0.04899 0.04899 0.04899 + 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 + 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 + 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 + 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 + 0.06440 0.06440 0.06440 0.06440 + 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 + 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 + 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 + 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 0.06440 + 0.06440 0.06440 0.06440 0.06440 + 0.06937 0.06937 0.06937 0.06937 0.06937 0.06937 0.06937 0.06937 + 0.06937 0.06937 0.06937 0.06937 0.06937 0.06937 0.06937 0.06937 + 0.06937 0.06937 0.06937 0.06937 0.06937 0.06937 0.06937 0.06937 + 0.06937 0.06937 0.06937 0.06937 0.06937 0.06937 0.06937 0.06937 + 0.06937 0.06937 0.06937 0.06937 + 0.07456 0.07456 0.07456 0.07456 0.07456 0.07456 0.07456 0.07456 + 0.07456 0.07456 0.07456 0.07456 0.07456 0.07456 0.07456 0.07456 + 0.07456 0.07456 0.07456 0.07456 0.07456 0.07456 0.07456 0.07456 + 0.07456 0.07456 0.07456 0.07456 0.07456 0.07456 0.07456 0.07456 + 0.07456 0.07456 0.07456 0.07456 + 0.07955 0.07955 0.07955 0.07955 0.07955 0.07955 0.07955 0.07955 + 0.07955 0.07955 0.07955 0.07955 0.07955 0.07955 0.07955 0.07955 + 0.07955 0.07955 0.07955 0.07955 0.07955 0.07955 0.07955 0.07955 + 0.07955 0.07955 0.07955 0.07955 0.07955 0.07955 0.07955 0.07955 + 0.07955 0.07955 0.07955 0.07955 + 0.05695 0.05695 0.05695 0.05695 0.05695 0.05695 0.05695 0.05695 + 0.05695 0.05695 0.05695 0.05695 0.05695 0.05695 0.05695 0.05695 + 0.05695 0.05695 0.05695 0.05695 0.05695 0.05695 0.05695 0.05695 + 0.05695 0.05695 0.05695 0.05695 0.05695 0.05695 0.05695 0.05695 + 0.05695 0.05695 0.05695 0.05695 + DUST 5 asy + 0.93879 0.93879 0.93879 0.93879 0.93879 0.93879 0.93879 0.93879 + 0.93879 0.93879 0.93879 0.93879 0.93879 0.93879 0.93879 0.93879 + 0.93879 0.93879 0.93879 0.93879 0.93879 0.93879 0.93879 0.93879 + 0.93879 0.93879 0.93879 0.93879 0.93879 0.93879 0.93879 0.93879 + 0.93879 0.93879 0.93879 0.93879 + 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 + 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 + 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 + 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 + 0.87232 0.87232 0.87232 0.87232 + 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 + 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 + 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 + 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 0.87232 + 0.87232 0.87232 0.87232 0.87232 + 0.85054 0.85054 0.85054 0.85054 0.85054 0.85054 0.85054 0.85054 + 0.85054 0.85054 0.85054 0.85054 0.85054 0.85054 0.85054 0.85054 + 0.85054 0.85054 0.85054 0.85054 0.85054 0.85054 0.85054 0.85054 + 0.85054 0.85054 0.85054 0.85054 0.85054 0.85054 0.85054 0.85054 + 0.85054 0.85054 0.85054 0.85054 + 0.83694 0.83694 0.83694 0.83694 0.83694 0.83694 0.83694 0.83694 + 0.83694 0.83694 0.83694 0.83694 0.83694 0.83694 0.83694 0.83694 + 0.83694 0.83694 0.83694 0.83694 0.83694 0.83694 0.83694 0.83694 + 0.83694 0.83694 0.83694 0.83694 0.83694 0.83694 0.83694 0.83694 + 0.83694 0.83694 0.83694 0.83694 + 0.83165 0.83165 0.83165 0.83165 0.83165 0.83165 0.83165 0.83165 + 0.83165 0.83165 0.83165 0.83165 0.83165 0.83165 0.83165 0.83165 + 0.83165 0.83165 0.83165 0.83165 0.83165 0.83165 0.83165 0.83165 + 0.83165 0.83165 0.83165 0.83165 0.83165 0.83165 0.83165 0.83165 + 0.83165 0.83165 0.83165 0.83165 + 0.80566 0.80566 0.80566 0.80566 0.80566 0.80566 0.80566 0.80566 + 0.80566 0.80566 0.80566 0.80566 0.80566 0.80566 0.80566 0.80566 + 0.80566 0.80566 0.80566 0.80566 0.80566 0.80566 0.80566 0.80566 + 0.80566 0.80566 0.80566 0.80566 0.80566 0.80566 0.80566 0.80566 + 0.80566 0.80566 0.80566 0.80566 + DUST 5 ssa + 0.60776 0.60776 0.60776 0.60776 0.60776 0.60776 0.60776 0.60776 + 0.60776 0.60776 0.60776 0.60776 0.60776 0.60776 0.60776 0.60776 + 0.60776 0.60776 0.60776 0.60776 0.60776 0.60776 0.60776 0.60776 + 0.60776 0.60776 0.60776 0.60776 0.60776 0.60776 0.60776 0.60776 + 0.60776 0.60776 0.60776 0.60776 + 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 + 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 + 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 + 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 + 0.76747 0.76747 0.76747 0.76747 + 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 + 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 + 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 + 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 0.76747 + 0.76747 0.76747 0.76747 0.76747 + 0.81716 0.81716 0.81716 0.81716 0.81716 0.81716 0.81716 0.81716 + 0.81716 0.81716 0.81716 0.81716 0.81716 0.81716 0.81716 0.81716 + 0.81716 0.81716 0.81716 0.81716 0.81716 0.81716 0.81716 0.81716 + 0.81716 0.81716 0.81716 0.81716 0.81716 0.81716 0.81716 0.81716 + 0.81716 0.81716 0.81716 0.81716 + 0.84240 0.84240 0.84240 0.84240 0.84240 0.84240 0.84240 0.84240 + 0.84240 0.84240 0.84240 0.84240 0.84240 0.84240 0.84240 0.84240 + 0.84240 0.84240 0.84240 0.84240 0.84240 0.84240 0.84240 0.84240 + 0.84240 0.84240 0.84240 0.84240 0.84240 0.84240 0.84240 0.84240 + 0.84240 0.84240 0.84240 0.84240 + 0.80753 0.80753 0.80753 0.80753 0.80753 0.80753 0.80753 0.80753 + 0.80753 0.80753 0.80753 0.80753 0.80753 0.80753 0.80753 0.80753 + 0.80753 0.80753 0.80753 0.80753 0.80753 0.80753 0.80753 0.80753 + 0.80753 0.80753 0.80753 0.80753 0.80753 0.80753 0.80753 0.80753 + 0.80753 0.80753 0.80753 0.80753 + 0.51019 0.51019 0.51019 0.51019 0.51019 0.51019 0.51019 0.51019 + 0.51019 0.51019 0.51019 0.51019 0.51019 0.51019 0.51019 0.51019 + 0.51019 0.51019 0.51019 0.51019 0.51019 0.51019 0.51019 0.51019 + 0.51019 0.51019 0.51019 0.51019 0.51019 0.51019 0.51019 0.51019 + 0.51019 0.51019 0.51019 0.51019 diff --git a/fix/chem/optics_luts_NITR_nasa.dat b/fix/chem/optics_luts_NITR_nasa.dat new file mode 100644 index 0000000000..ad58ae09ff --- /dev/null +++ b/fix/chem/optics_luts_NITR_nasa.dat @@ -0,0 +1,432 @@ + NITR 1 ext + 6.02555 7.30874 7.92768 8.54895 9.18698 9.85687 10.38813 11.12264 + 11.90522 12.72627 13.57852 14.47123 15.17235 16.13567 17.14034 18.44349 + 19.80489 20.08519 20.36681 20.64928 20.93495 21.22325 21.80705 22.10250 + 22.70034 23.00269 23.61428 24.23474 25.18231 25.82570 26.80936 28.14929 + 29.17083 30.92049 33.08688 37.20183 + 4.83988 5.84334 6.31702 6.82536 7.37393 7.96715 8.43704 9.09445 + 9.78695 10.51808 11.29206 12.10176 12.73570 13.61482 14.53111 15.72658 + 16.97700 17.23392 17.49339 17.75526 18.01965 18.28651 18.82752 19.10135 + 19.65498 19.93500 20.50215 21.07894 21.96263 22.56255 23.48074 24.73759 + 25.70466 27.36422 29.42888 33.42739 + 3.83608 4.65973 5.05076 5.46913 5.92236 6.41166 6.80302 7.35558 + 7.94239 8.56409 9.22249 9.91910 10.46606 11.22768 12.02772 13.08113 + 14.19395 14.42326 14.65487 14.88900 15.12554 15.36424 15.84924 16.09542 + 16.59412 16.84723 17.36079 17.88416 18.68754 19.23509 20.07383 21.22542 + 22.11465 23.64529 25.56175 29.29947 + 2.72467 3.33663 3.63241 3.95376 4.30260 4.67906 4.97925 5.40230 + 5.85405 6.33539 6.84801 7.39268 7.82231 8.42398 9.06004 9.90361 + 10.80250 10.98910 11.17773 11.36856 11.56170 11.75715 12.15490 12.35722 + 12.76874 12.97796 13.40333 13.83799 14.50749 14.96556 15.67039 16.64355 + 17.39851 18.70466 20.35169 23.59686 + 1.77331 2.19648 2.39891 2.61949 2.85987 3.12114 3.33109 3.63090 + 3.95429 4.30211 4.67532 5.07472 5.39195 5.83898 6.31407 6.94860 + 7.62953 7.77142 7.91523 8.06097 8.20867 8.35831 8.66352 8.81909 + 9.13624 9.29784 9.62712 9.96455 10.48614 10.84428 11.39729 12.16437 + 12.76230 13.80211 15.12288 17.75505 + 0.38845 0.49519 0.54815 0.60686 0.67174 0.74324 0.80146 0.88558 + 0.97753 1.07780 1.18687 1.30523 1.40041 1.53625 1.68277 1.88172 + 2.09917 2.14497 2.19155 2.23894 2.28712 2.33612 2.43659 2.48807 + 2.59359 2.64763 2.75834 2.87259 3.05074 3.17413 3.36630 3.63610 + 3.84891 4.22416 4.70962 5.70471 + 0.07623 0.10583 0.11981 0.13487 0.15105 0.16838 0.18215 0.20160 + 0.22232 0.24435 0.26772 0.29249 0.31201 0.33932 0.36813 0.40633 + 0.44704 0.45549 0.46404 0.47270 0.48146 0.49033 0.50839 0.51758 + 0.53629 0.54580 0.56517 0.58499 0.61557 0.63653 0.66884 0.71359 + 0.74842 0.80894 0.88575 1.03887 + NITR 1 sca + 6.02555 7.30874 7.92768 8.54895 9.18698 9.85687 10.38813 11.12264 + 11.90522 12.72627 13.57852 14.47123 15.17235 16.13567 17.14034 18.44349 + 19.80489 20.08519 20.36681 20.64928 20.93495 21.22325 21.80705 22.10250 + 22.70034 23.00269 23.61428 24.23474 25.18231 25.82570 26.80936 28.14929 + 29.17083 30.92049 33.08688 37.20183 + 4.83988 5.84334 6.31702 6.82536 7.37393 7.96715 8.43704 9.09445 + 9.78695 10.51808 11.29206 12.10176 12.73570 13.61482 14.53111 15.72658 + 16.97700 17.23392 17.49339 17.75526 18.01965 18.28651 18.82752 19.10135 + 19.65498 19.93500 20.50215 21.07894 21.96263 22.56255 23.48074 24.73759 + 25.70466 27.36422 29.42888 33.42739 + 3.83608 4.65973 5.05076 5.46913 5.92236 6.41166 6.80302 7.35558 + 7.94239 8.56409 9.22249 9.91910 10.46606 11.22768 12.02772 13.08113 + 14.19395 14.42326 14.65487 14.88900 15.12554 15.36424 15.84924 16.09542 + 16.59412 16.84723 17.36079 17.88416 18.68754 19.23509 20.07383 21.22542 + 22.11465 23.64529 25.56175 29.29947 + 2.72467 3.33663 3.63241 3.95376 4.30260 4.67906 4.97925 5.40230 + 5.85405 6.33539 6.84801 7.39268 7.82231 8.42398 9.06004 9.90361 + 10.80250 10.98910 11.17773 11.36856 11.56170 11.75715 12.15490 12.35722 + 12.76874 12.97796 13.40333 13.83799 14.50749 14.96556 15.67039 16.64355 + 17.39851 18.70466 20.35169 23.59686 + 1.77331 2.19648 2.39891 2.61949 2.85987 3.12114 3.33109 3.63090 + 3.95429 4.30211 4.67532 5.07472 5.39195 5.83898 6.31407 6.94860 + 7.62953 7.77142 7.91523 8.06097 8.20867 8.35831 8.66352 8.81909 + 9.13624 9.29784 9.62712 9.96455 10.48614 10.84428 11.39729 12.16437 + 12.76230 13.80211 15.12288 17.75490 + 0.38824 0.49479 0.54767 0.60628 0.67106 0.74245 0.80058 0.88458 + 0.97639 1.07652 1.18543 1.30363 1.39868 1.53434 1.68067 1.87936 + 2.09653 2.14227 2.18879 2.23612 2.28424 2.33318 2.43352 2.48495 + 2.59033 2.64431 2.75488 2.86899 3.04693 3.17017 3.36212 3.63160 + 3.84417 4.21898 4.70390 5.69789 + 0.00033 0.00045 0.00051 0.00058 0.00066 0.00075 0.00083 0.00094 + 0.00107 0.00121 0.00137 0.00155 0.00170 0.00192 0.00216 0.00251 + 0.00289 0.00298 0.00306 0.00315 0.00324 0.00333 0.00352 0.00362 + 0.00382 0.00393 0.00415 0.00438 0.00474 0.00499 0.00540 0.00598 + 0.00645 0.00730 0.00844 0.01090 + NITR 1 asy + 0.64352 0.67800 0.68707 0.69577 0.70442 0.71259 0.71793 0.72521 + 0.73121 0.73641 0.74147 0.74611 0.74906 0.75296 0.75639 0.76046 + 0.76408 0.76471 0.76536 0.76605 0.76669 0.76730 0.76846 0.76901 + 0.77006 0.77056 0.77151 0.77240 0.77363 0.77436 0.77529 0.77642 + 0.77731 0.77845 0.77951 0.78165 + 0.63485 0.66956 0.68118 0.69206 0.70183 0.71007 0.71559 0.72244 + 0.72882 0.73455 0.73943 0.74394 0.74692 0.75047 0.75367 0.75735 + 0.76081 0.76147 0.76211 0.76274 0.76334 0.76393 0.76507 0.76562 + 0.76674 0.76730 0.76838 0.76942 0.77086 0.77181 0.77313 0.77476 + 0.77589 0.77758 0.77942 0.78209 + 0.62479 0.65817 0.66965 0.68045 0.69025 0.69902 0.70489 0.71202 + 0.71859 0.72467 0.73019 0.73515 0.73856 0.74279 0.74660 0.75090 + 0.75475 0.75549 0.75623 0.75694 0.75764 0.75833 0.75967 0.76032 + 0.76161 0.76224 0.76345 0.76461 0.76627 0.76734 0.76889 0.77087 + 0.77226 0.77442 0.77677 0.78049 + 0.60553 0.63866 0.65017 0.66076 0.67025 0.67872 0.68450 0.69181 + 0.69858 0.70489 0.71070 0.71609 0.71990 0.72471 0.72918 0.73436 + 0.73911 0.74001 0.74090 0.74179 0.74265 0.74350 0.74516 0.74597 + 0.74755 0.74832 0.74983 0.75129 0.75341 0.75476 0.75672 0.75919 + 0.76094 0.76370 0.76676 0.77176 + 0.57842 0.60994 0.62122 0.63170 0.64143 0.65039 0.65674 0.66470 + 0.67211 0.67903 0.68548 0.69149 0.69574 0.70108 0.70610 0.71197 + 0.71742 0.71847 0.71949 0.72051 0.72151 0.72249 0.72442 0.72536 + 0.72720 0.72810 0.72987 0.73159 0.73408 0.73568 0.73800 0.74096 + 0.74307 0.74643 0.75019 0.75639 + 0.47245 0.49974 0.51028 0.52038 0.53005 0.53930 0.54596 0.55451 + 0.56270 0.57054 0.57806 0.58528 0.59049 0.59720 0.60365 0.61135 + 0.61868 0.62011 0.62152 0.62291 0.62429 0.62566 0.62836 0.62970 + 0.63232 0.63361 0.63616 0.63867 0.64233 0.64472 0.64823 0.65275 + 0.65604 0.66132 0.66737 0.67767 + 0.07409 0.08209 0.08552 0.08901 0.09254 0.09611 0.09880 0.10242 + 0.10605 0.10969 0.11334 0.11700 0.11975 0.12341 0.12707 0.13164 + 0.13620 0.13711 0.13802 0.13893 0.13984 0.14075 0.14256 0.14347 + 0.14528 0.14619 0.14799 0.14980 0.15250 0.15429 0.15698 0.16055 + 0.16321 0.16764 0.17292 0.18249 + NITR 1 ssa + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 0.99999 + 0.99944 0.99920 0.99912 0.99905 0.99899 0.99894 0.99891 0.99887 + 0.99884 0.99881 0.99879 0.99877 0.99876 0.99875 0.99875 0.99874 + 0.99874 0.99874 0.99874 0.99874 0.99874 0.99874 0.99874 0.99874 + 0.99874 0.99874 0.99875 0.99875 0.99875 0.99875 0.99876 0.99876 + 0.99877 0.99878 0.99879 0.99880 + 0.00438 0.00426 0.00427 0.00431 0.00438 0.00446 0.00454 0.00466 + 0.00480 0.00496 0.00513 0.00531 0.00545 0.00566 0.00588 0.00617 + 0.00647 0.00653 0.00660 0.00666 0.00673 0.00679 0.00692 0.00699 + 0.00713 0.00720 0.00734 0.00748 0.00770 0.00784 0.00807 0.00838 + 0.00862 0.00902 0.00953 0.01049 + NITR 2 ext + 0.46568 0.55688 0.58919 0.62415 0.66757 0.70487 0.73007 0.77578 + 0.81731 0.86277 0.90045 0.93065 0.96080 1.01726 1.05551 1.09798 + 1.15164 1.16441 1.17570 1.18550 1.19638 1.20812 1.22981 1.24130 + 1.26221 1.27197 1.29529 1.31844 1.34827 1.36726 1.39916 1.44300 + 1.47028 1.51778 1.57263 1.67024 + 0.47758 0.56942 0.60215 0.63786 0.67449 0.72116 0.75426 0.79858 + 0.82650 0.85748 0.91786 0.96077 0.99441 1.03110 1.07315 1.12801 + 1.17193 1.17974 1.18991 1.19909 1.20925 1.22009 1.24410 1.25620 + 1.27135 1.28046 1.29872 1.31571 1.35346 1.37167 1.40510 1.45033 + 1.48608 1.54485 1.60190 1.71954 + 0.48933 0.57134 0.62170 0.64698 0.69036 0.72766 0.76577 0.81089 + 0.85327 0.88111 0.91913 0.97378 1.01385 1.05042 1.09315 1.13909 + 1.19447 1.20434 1.21247 1.22404 1.23689 1.24638 1.26485 1.27668 + 1.29265 1.30216 1.32243 1.34434 1.38060 1.40316 1.42940 1.46676 + 1.49553 1.54894 1.61524 1.72855 + 0.49628 0.58810 0.63640 0.67312 0.71768 0.76343 0.79666 0.82942 + 0.87223 0.90726 0.96043 1.00176 1.03617 1.07648 1.11810 1.16342 + 1.21948 1.23554 1.24366 1.24923 1.25703 1.26725 1.28229 1.29087 + 1.31196 1.32117 1.34202 1.36350 1.39416 1.41359 1.44571 1.49282 + 1.52504 1.57617 1.64114 1.75488 + 0.51675 0.62096 0.65317 0.69648 0.73863 0.77792 0.80596 0.85362 + 0.90057 0.93729 0.97909 1.02997 1.07198 1.12198 1.16230 1.20840 + 1.25287 1.26328 1.27312 1.28143 1.29102 1.30034 1.32006 1.33074 + 1.35311 1.36499 1.38889 1.41220 1.44603 1.46970 1.50533 1.54911 + 1.58998 1.63156 1.69044 1.79782 + 0.56996 0.67204 0.72553 0.77531 0.81923 0.87015 0.90912 0.96127 + 1.00645 1.05333 1.09839 1.14806 1.18687 1.23395 1.28109 1.33914 + 1.39861 1.41065 1.42155 1.43207 1.44302 1.45367 1.47595 1.48744 + 1.51138 1.52358 1.54566 1.56578 1.59555 1.61588 1.64761 1.69127 + 1.72277 1.77679 1.84252 1.96335 + 0.12516 0.15263 0.16527 0.17863 0.19270 0.20746 0.21898 0.23493 + 0.25152 0.26873 0.28656 0.30496 0.31914 0.33851 0.35841 0.38398 + 0.41028 0.41563 0.42100 0.42640 0.43182 0.43727 0.44825 0.45378 + 0.46490 0.47050 0.48177 0.49313 0.51033 0.52191 0.53942 0.56305 + 0.58095 0.61113 0.64785 0.71638 + NITR 2 sca + 0.46568 0.55688 0.58919 0.62415 0.66757 0.70487 0.73007 0.77578 + 0.81731 0.86277 0.90045 0.93065 0.96080 1.01726 1.05551 1.09798 + 1.15164 1.16441 1.17570 1.18550 1.19638 1.20812 1.22981 1.24130 + 1.26221 1.27197 1.29529 1.31844 1.34827 1.36726 1.39916 1.44300 + 1.47028 1.51778 1.57263 1.67024 + 0.47758 0.56942 0.60215 0.63786 0.67449 0.72116 0.75426 0.79858 + 0.82650 0.85748 0.91786 0.96077 0.99441 1.03110 1.07315 1.12801 + 1.17193 1.17974 1.18991 1.19909 1.20925 1.22009 1.24410 1.25620 + 1.27135 1.28046 1.29872 1.31571 1.35346 1.37167 1.40510 1.45033 + 1.48608 1.54485 1.60190 1.71954 + 0.48933 0.57134 0.62170 0.64698 0.69036 0.72766 0.76577 0.81089 + 0.85327 0.88111 0.91913 0.97378 1.01385 1.05042 1.09315 1.13909 + 1.19447 1.20434 1.21247 1.22404 1.23689 1.24638 1.26485 1.27668 + 1.29265 1.30216 1.32243 1.34434 1.38060 1.40316 1.42940 1.46676 + 1.49553 1.54894 1.61524 1.72855 + 0.49628 0.58810 0.63640 0.67312 0.71768 0.76343 0.79666 0.82942 + 0.87223 0.90726 0.96043 1.00176 1.03617 1.07648 1.11810 1.16342 + 1.21948 1.23554 1.24366 1.24923 1.25703 1.26725 1.28229 1.29087 + 1.31196 1.32117 1.34202 1.36350 1.39416 1.41359 1.44571 1.49282 + 1.52504 1.57617 1.64114 1.75488 + 0.51675 0.62096 0.65317 0.69648 0.73863 0.77792 0.80596 0.85362 + 0.90057 0.93729 0.97909 1.02997 1.07198 1.12198 1.16230 1.20840 + 1.25287 1.26328 1.27312 1.28143 1.29102 1.30034 1.32006 1.33074 + 1.35311 1.36499 1.38889 1.41220 1.44603 1.46970 1.50533 1.54911 + 1.58998 1.63156 1.69044 1.79772 + 0.56953 0.67139 0.72469 0.77430 0.81814 0.86892 0.90780 0.95975 + 1.00478 1.05150 1.09647 1.14580 1.18449 1.23150 1.27845 1.33622 + 1.39534 1.40729 1.41819 1.42871 1.43947 1.45025 1.47241 1.48382 + 1.50756 1.51963 1.54159 1.56159 1.59141 1.61174 1.64336 1.68649 + 1.71818 1.77196 1.83725 1.95718 + 0.04367 0.04825 0.05061 0.05325 0.05616 0.05933 0.06189 0.06554 + 0.06945 0.07362 0.07804 0.08272 0.08640 0.09151 0.09686 0.10388 + 0.11126 0.11278 0.11431 0.11585 0.11741 0.11898 0.12217 0.12378 + 0.12704 0.12869 0.13203 0.13542 0.14060 0.14412 0.14947 0.15678 + 0.16237 0.17191 0.18370 0.20619 + NITR 2 asy + 0.74929 0.77061 0.76890 0.78330 0.78902 0.78898 0.79737 0.79689 + 0.80474 0.80366 0.81052 0.81273 0.81576 0.81366 0.81362 0.81909 + 0.82606 0.82622 0.82719 0.82900 0.82982 0.82979 0.83023 0.83004 + 0.83076 0.83201 0.83193 0.83183 0.83388 0.83575 0.83597 0.83472 + 0.83605 0.83545 0.83487 0.83775 + 0.72496 0.74859 0.76404 0.76753 0.78001 0.78165 0.78463 0.78547 + 0.79406 0.80387 0.80049 0.80772 0.80735 0.81014 0.81291 0.80983 + 0.81465 0.81634 0.81631 0.81685 0.81676 0.81630 0.81401 0.81266 + 0.81641 0.81768 0.82098 0.82544 0.82491 0.82831 0.82968 0.82970 + 0.82849 0.82798 0.83327 0.83240 + 0.71442 0.74713 0.74439 0.76098 0.76463 0.77669 0.77740 0.77835 + 0.77853 0.78948 0.79782 0.79955 0.79873 0.80488 0.80244 0.80745 + 0.80686 0.80711 0.80864 0.80805 0.80665 0.80747 0.80973 0.80919 + 0.81293 0.81384 0.81475 0.81468 0.81255 0.81198 0.81629 0.82144 + 0.82524 0.82756 0.82789 0.83021 + 0.71024 0.73704 0.73675 0.75178 0.75397 0.75879 0.75459 0.76452 + 0.76733 0.77932 0.77708 0.78312 0.78238 0.78482 0.78698 0.79401 + 0.79531 0.79211 0.79374 0.79717 0.79930 0.79996 0.80479 0.80665 + 0.80788 0.80927 0.81034 0.81086 0.81252 0.81423 0.81558 0.81509 + 0.81609 0.81844 0.81767 0.81579 + 0.69715 0.70948 0.72422 0.73218 0.73994 0.74466 0.75153 0.75523 + 0.75856 0.76808 0.77599 0.77710 0.77416 0.77378 0.77718 0.78190 + 0.78853 0.78907 0.78996 0.79193 0.79324 0.79478 0.79744 0.79838 + 0.79964 0.79987 0.80009 0.80047 0.80143 0.80134 0.80087 0.80171 + 0.79777 0.80409 0.80683 0.81029 + 0.67469 0.71234 0.71993 0.72819 0.73983 0.74561 0.74831 0.74888 + 0.75364 0.75747 0.76328 0.76631 0.76717 0.77041 0.77264 0.77539 + 0.77697 0.77711 0.77781 0.77871 0.77947 0.78022 0.78139 0.78180 + 0.78209 0.78207 0.78299 0.78495 0.78799 0.78978 0.79180 0.79382 + 0.79548 0.79748 0.79907 0.80011 + 0.63509 0.66292 0.67316 0.68275 0.69177 0.70028 0.70634 0.71404 + 0.72133 0.72825 0.73483 0.74108 0.74557 0.75131 0.75679 0.76329 + 0.76944 0.77063 0.77180 0.77296 0.77411 0.77525 0.77749 0.77859 + 0.78076 0.78183 0.78393 0.78599 0.78900 0.79096 0.79382 0.79750 + 0.80017 0.80444 0.80932 0.81757 + NITR 2 ssa + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 0.99994 + 0.99926 0.99904 0.99884 0.99870 0.99867 0.99859 0.99856 0.99842 + 0.99834 0.99827 0.99825 0.99802 0.99800 0.99801 0.99794 0.99782 + 0.99766 0.99762 0.99763 0.99765 0.99754 0.99765 0.99760 0.99757 + 0.99747 0.99741 0.99737 0.99733 0.99740 0.99744 0.99742 0.99717 + 0.99734 0.99728 0.99714 0.99686 + 0.34889 0.31613 0.30625 0.29810 0.29142 0.28599 0.28264 0.27897 + 0.27611 0.27394 0.27235 0.27126 0.27072 0.27032 0.27025 0.27054 + 0.27118 0.27134 0.27152 0.27171 0.27190 0.27211 0.27255 0.27278 + 0.27327 0.27353 0.27406 0.27462 0.27551 0.27613 0.27710 0.27845 + 0.27950 0.28131 0.28356 0.28783 + NITR 3 ext + 0.13395 0.14516 0.14701 0.15138 0.15643 0.15918 0.16088 0.16517 + 0.17002 0.17244 0.17645 0.17795 0.17789 0.18266 0.18537 0.18709 + 0.19050 0.19157 0.19258 0.19344 0.19390 0.19440 0.19543 0.19590 + 0.19635 0.19704 0.19841 0.19992 0.20198 0.20292 0.20436 0.20643 + 0.20708 0.20849 0.21032 0.21358 + 0.13388 0.14525 0.14953 0.15229 0.15724 0.16200 0.16380 0.16745 + 0.16926 0.17211 0.17662 0.17971 0.18187 0.18439 0.18806 0.18913 + 0.19072 0.19113 0.19194 0.19281 0.19351 0.19418 0.19598 0.19679 + 0.19690 0.19739 0.19859 0.19950 0.20147 0.20267 0.20486 0.20700 + 0.20823 0.21020 0.21244 0.21794 + 0.13464 0.14598 0.15194 0.15296 0.15810 0.16182 0.16653 0.16840 + 0.16944 0.17270 0.17666 0.18111 0.18387 0.18675 0.18919 0.18918 + 0.19213 0.19268 0.19289 0.19333 0.19415 0.19520 0.19618 0.19690 + 0.19825 0.19889 0.20041 0.20147 0.20384 0.20413 0.20517 0.20729 + 0.20840 0.21127 0.21534 0.21943 + 0.13758 0.14947 0.15087 0.15559 0.16030 0.16456 0.16404 0.16876 + 0.17416 0.17630 0.18056 0.18211 0.18254 0.18479 0.18797 0.19136 + 0.19525 0.19669 0.19771 0.19796 0.19838 0.19944 0.20014 0.20029 + 0.20187 0.20254 0.20412 0.20576 0.20731 0.20741 0.20837 0.20947 + 0.20984 0.21155 0.21426 0.21888 + 0.13653 0.14798 0.15402 0.15799 0.16010 0.16498 0.16855 0.17137 + 0.17608 0.17532 0.17929 0.18389 0.18676 0.19150 0.19342 0.19609 + 0.19634 0.19654 0.19668 0.19654 0.19719 0.19729 0.19808 0.19864 + 0.19956 0.20027 0.20179 0.20290 0.20530 0.20707 0.20850 0.21085 + 0.21387 0.21554 0.21984 0.22438 + 0.14489 0.15615 0.16193 0.16775 0.16808 0.17399 0.17748 0.18056 + 0.18364 0.18598 0.18777 0.19280 0.19559 0.19749 0.20029 0.20342 + 0.20665 0.20715 0.20731 0.20740 0.20793 0.20805 0.20929 0.21002 + 0.21177 0.21271 0.21366 0.21439 0.21473 0.21498 0.21593 0.21746 + 0.21827 0.21991 0.22296 0.22872 + 0.11996 0.12405 0.12587 0.12776 0.12972 0.13173 0.13327 0.13535 + 0.13747 0.13960 0.14175 0.14391 0.14552 0.14767 0.14981 0.15247 + 0.15509 0.15561 0.15613 0.15665 0.15717 0.15769 0.15871 0.15922 + 0.16024 0.16075 0.16175 0.16275 0.16424 0.16522 0.16668 0.16860 + 0.17002 0.17235 0.17508 0.17990 + NITR 3 sca + 0.13395 0.14516 0.14701 0.15138 0.15643 0.15918 0.16088 0.16517 + 0.17002 0.17244 0.17645 0.17795 0.17789 0.18266 0.18537 0.18709 + 0.19050 0.19157 0.19258 0.19344 0.19390 0.19440 0.19543 0.19590 + 0.19635 0.19704 0.19841 0.19992 0.20198 0.20292 0.20436 0.20643 + 0.20708 0.20849 0.21032 0.21358 + 0.13388 0.14525 0.14953 0.15229 0.15724 0.16200 0.16380 0.16745 + 0.16926 0.17211 0.17662 0.17971 0.18187 0.18439 0.18806 0.18913 + 0.19072 0.19113 0.19194 0.19281 0.19351 0.19418 0.19598 0.19679 + 0.19690 0.19739 0.19859 0.19950 0.20147 0.20267 0.20486 0.20700 + 0.20823 0.21020 0.21244 0.21794 + 0.13464 0.14598 0.15194 0.15296 0.15810 0.16182 0.16653 0.16840 + 0.16944 0.17270 0.17666 0.18111 0.18387 0.18675 0.18919 0.18918 + 0.19213 0.19268 0.19289 0.19333 0.19415 0.19520 0.19618 0.19690 + 0.19825 0.19889 0.20041 0.20147 0.20384 0.20413 0.20517 0.20729 + 0.20840 0.21127 0.21534 0.21943 + 0.13758 0.14947 0.15087 0.15559 0.16030 0.16456 0.16404 0.16876 + 0.17416 0.17630 0.18056 0.18211 0.18254 0.18479 0.18797 0.19136 + 0.19525 0.19669 0.19771 0.19796 0.19838 0.19944 0.20014 0.20029 + 0.20187 0.20254 0.20412 0.20576 0.20731 0.20741 0.20837 0.20947 + 0.20984 0.21155 0.21426 0.21888 + 0.13653 0.14798 0.15402 0.15799 0.16010 0.16498 0.16855 0.17137 + 0.17608 0.17532 0.17929 0.18389 0.18676 0.19150 0.19342 0.19609 + 0.19634 0.19654 0.19668 0.19654 0.19719 0.19729 0.19808 0.19864 + 0.19956 0.20027 0.20179 0.20290 0.20530 0.20707 0.20850 0.21085 + 0.21387 0.21554 0.21984 0.22435 + 0.14453 0.15563 0.16128 0.16699 0.16733 0.17315 0.17659 0.17966 + 0.18267 0.18496 0.18677 0.19157 0.19441 0.19631 0.19907 0.20211 + 0.20520 0.20574 0.20593 0.20604 0.20638 0.20669 0.20788 0.20858 + 0.21030 0.21119 0.21211 0.21272 0.21317 0.21341 0.21436 0.21572 + 0.21667 0.21830 0.22123 0.22688 + 0.06161 0.06051 0.06027 0.06015 0.06015 0.06026 0.06040 0.06068 + 0.06103 0.06145 0.06193 0.06246 0.06289 0.06350 0.06414 0.06498 + 0.06586 0.06604 0.06622 0.06640 0.06658 0.06676 0.06713 0.06731 + 0.06769 0.06787 0.06825 0.06862 0.06919 0.06957 0.07014 0.07090 + 0.07147 0.07242 0.07355 0.07561 + NITR 3 asy + 0.79265 0.80802 0.80974 0.81951 0.82339 0.82436 0.83003 0.83356 + 0.83534 0.83679 0.84161 0.83729 0.84330 0.84287 0.84616 0.85131 + 0.85367 0.85508 0.85371 0.85107 0.85204 0.85308 0.85114 0.85003 + 0.85189 0.85231 0.85298 0.85378 0.85512 0.85816 0.85944 0.85616 + 0.85839 0.85704 0.85661 0.86090 + 0.78525 0.80102 0.81189 0.81513 0.81928 0.82244 0.82668 0.82832 + 0.82598 0.83472 0.83778 0.84167 0.84292 0.84359 0.84785 0.84416 + 0.84789 0.84969 0.85009 0.84950 0.84934 0.84919 0.84647 0.84556 + 0.84962 0.85020 0.85144 0.85407 0.85428 0.85469 0.85565 0.85354 + 0.85204 0.85745 0.85981 0.85959 + 0.78051 0.79873 0.80396 0.81284 0.81462 0.82110 0.82260 0.82825 + 0.82719 0.82798 0.83558 0.83880 0.83955 0.84219 0.83796 0.84759 + 0.84433 0.84323 0.84425 0.84560 0.84582 0.84467 0.84774 0.84879 + 0.85050 0.85127 0.85069 0.85032 0.84549 0.84790 0.85201 0.85361 + 0.85681 0.85831 0.85489 0.85944 + 0.77730 0.79598 0.79786 0.80579 0.81329 0.81522 0.81372 0.81901 + 0.82007 0.83221 0.83048 0.83387 0.83198 0.83269 0.83966 0.83851 + 0.84471 0.84172 0.84002 0.84167 0.84271 0.84128 0.84482 0.84792 + 0.84892 0.84963 0.84920 0.84706 0.84525 0.84668 0.84717 0.85009 + 0.85438 0.85613 0.85291 0.84861 + 0.77138 0.78745 0.79563 0.80417 0.80265 0.80664 0.81392 0.82069 + 0.81498 0.82143 0.82580 0.82543 0.83041 0.82737 0.83291 0.83017 + 0.83221 0.83329 0.83498 0.83826 0.83820 0.84034 0.84210 0.84245 + 0.84411 0.84435 0.84365 0.84426 0.84201 0.84006 0.84255 0.84384 + 0.84050 0.84682 0.84324 0.84631 + 0.74079 0.76310 0.76467 0.77129 0.78497 0.78743 0.78788 0.78938 + 0.79507 0.79651 0.80718 0.80417 0.80423 0.81005 0.81085 0.81251 + 0.81398 0.81435 0.81610 0.81818 0.81938 0.82070 0.82113 0.82081 + 0.81889 0.81751 0.81769 0.81933 0.82364 0.82671 0.82902 0.83171 + 0.83392 0.83753 0.83882 0.83774 + 0.84092 0.86189 0.86853 0.87429 0.87933 0.88377 0.88676 0.89038 + 0.89362 0.89656 0.89922 0.90165 0.90333 0.90542 0.90735 0.90956 + 0.91158 0.91196 0.91234 0.91271 0.91307 0.91343 0.91413 0.91447 + 0.91513 0.91546 0.91609 0.91670 0.91759 0.91816 0.91899 0.92004 + 0.92079 0.92197 0.92329 0.92547 + NITR 3 ssa + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 0.99986 + 0.99752 0.99662 0.99600 0.99549 0.99554 0.99521 0.99502 0.99501 + 0.99470 0.99450 0.99465 0.99360 0.99395 0.99406 0.99389 0.99354 + 0.99301 0.99320 0.99335 0.99344 0.99253 0.99347 0.99324 0.99317 + 0.99304 0.99283 0.99279 0.99221 0.99274 0.99270 0.99272 0.99197 + 0.99264 0.99266 0.99225 0.99199 + 0.51359 0.48777 0.47881 0.47081 0.46371 0.45745 0.45325 0.44828 + 0.44393 0.44015 0.43688 0.43405 0.43219 0.43002 0.42816 0.42622 + 0.42465 0.42438 0.42412 0.42387 0.42363 0.42340 0.42297 0.42277 + 0.42240 0.42223 0.42192 0.42163 0.42126 0.42105 0.42078 0.42050 + 0.42035 0.42018 0.42011 0.42027 diff --git a/parm/optics_luts_SALT.dat b/fix/chem/optics_luts_SALT.dat similarity index 100% rename from parm/optics_luts_SALT.dat rename to fix/chem/optics_luts_SALT.dat diff --git a/fix/chem/optics_luts_SALT_nasa.dat b/fix/chem/optics_luts_SALT_nasa.dat new file mode 100644 index 0000000000..072997eb97 --- /dev/null +++ b/fix/chem/optics_luts_SALT_nasa.dat @@ -0,0 +1,720 @@ + SALT 1 ext + 3.17897 3.99378 4.24634 4.48175 4.72237 4.97921 5.26095 5.57653 + 5.93651 6.35450 6.84907 7.44698 8.18917 9.14273 10.42767 12.28134 + 15.21861 16.02014 16.92121 17.93841 19.09155 20.40482 21.90863 23.64292 + 25.66279 28.04868 30.92388 34.48236 39.02001 44.94572 52.79671 63.52238 + 63.52238 63.52238 63.52238 63.52238 + 1.41480 1.78979 1.90599 2.01484 2.12690 2.24767 2.38180 2.53443 + 2.71198 2.92317 3.18046 3.50243 3.91808 4.47476 5.25384 6.40334 + 8.21413 8.70158 9.24679 9.85982 10.55342 11.34403 12.25335 13.31101 + 14.55856 16.05621 17.89368 20.20720 23.20430 27.19727 32.65588 40.35828 + 40.35828 40.35828 40.35828 40.35828 + 0.72755 0.94684 1.01535 1.07958 1.14570 1.21686 1.29568 1.38502 + 1.48836 1.61036 1.75754 1.93950 2.17113 2.47690 2.90017 3.52578 + 4.54285 4.82676 5.15015 5.52134 5.95089 6.45239 7.04346 7.74713 + 8.59389 9.62467 10.89546 12.48532 14.51133 17.16031 20.76306 25.98286 + 25.98286 25.98286 25.98286 25.98286 + 0.28579 0.38385 0.41533 0.44518 0.47623 0.50999 0.54778 0.59107 + 0.64173 0.70225 0.77617 0.86873 0.98805 1.14734 1.36959 1.69826 + 2.22550 2.37050 2.53451 2.72134 2.93588 3.18452 3.47575 3.82113 + 4.23677 4.74582 5.38265 6.20020 7.28339 8.77436 10.92122 14.17522 + 14.17522 14.17522 14.17522 14.17522 + 0.10295 0.14049 0.15273 0.16441 0.17664 0.19002 0.20510 0.22252 + 0.24306 0.26785 0.29845 0.33728 0.38810 0.45721 0.55589 0.70605 + 0.95571 1.02594 1.10606 1.19812 1.30474 1.42931 1.57630 1.75173 + 1.96381 2.22405 2.54904 2.96356 3.50611 4.24005 5.27732 6.83648 + 6.83648 6.83648 6.83648 6.83648 + 0.00844 0.01104 0.01189 0.01270 0.01355 0.01448 0.01553 0.01675 + 0.01820 0.01995 0.02213 0.02491 0.02858 0.03363 0.04097 0.05238 + 0.07200 0.07765 0.08418 0.09177 0.10069 0.11126 0.12397 0.13943 + 0.15855 0.18263 0.21361 0.25452 0.31026 0.38923 0.50685 0.69404 + 0.69404 0.69404 0.69404 0.69404 + 0.00528 0.01790 0.02189 0.02565 0.02951 0.03366 0.03824 0.04342 + 0.04937 0.05634 0.06466 0.07481 0.08748 0.10380 0.12561 0.15620 + 0.20220 0.21432 0.22778 0.24284 0.25977 0.27895 0.30088 0.32616 + 0.35564 0.39044 0.43216 0.48306 0.54653 0.62790 0.73592 0.88625 + 0.88625 0.88625 0.88625 0.88625 + SALT 1 sca + 3.17897 3.99378 4.24634 4.48175 4.72237 4.97921 5.26095 5.57653 + 5.93651 6.35450 6.84907 7.44698 8.18917 9.14273 10.42767 12.28134 + 15.21861 16.02014 16.92121 17.93841 19.09155 20.40482 21.90863 23.64292 + 25.66279 28.04868 30.92388 34.48236 39.02001 44.94572 52.79671 63.52238 + 63.52238 63.52238 63.52238 63.52238 + 1.41480 1.78979 1.90599 2.01484 2.12690 2.24767 2.38180 2.53443 + 2.71198 2.92317 3.18046 3.50243 3.91808 4.47476 5.25384 6.40334 + 8.21413 8.70158 9.24679 9.85982 10.55342 11.34403 12.25335 13.31101 + 14.55856 16.05621 17.89368 20.20720 23.20430 27.19727 32.65588 40.35828 + 40.35828 40.35828 40.35828 40.35828 + 0.72755 0.94684 1.01535 1.07958 1.14570 1.21686 1.29568 1.38502 + 1.48836 1.61036 1.75754 1.93950 2.17113 2.47690 2.90017 3.52578 + 4.54285 4.82676 5.15015 5.52134 5.95089 6.45239 7.04346 7.74713 + 8.59389 9.62467 10.89546 12.48532 14.51133 17.16031 20.76306 25.98286 + 25.98286 25.98286 25.98286 25.98286 + 0.28579 0.38385 0.41533 0.44518 0.47623 0.50999 0.54778 0.59107 + 0.64173 0.70225 0.77617 0.86873 0.98805 1.14734 1.36959 1.69826 + 2.22550 2.37050 2.53451 2.72134 2.93588 3.18452 3.47575 3.82113 + 4.23677 4.74582 5.38265 6.20020 7.28339 8.77436 10.92122 14.17522 + 14.17522 14.17522 14.17522 14.17522 + 0.10271 0.14024 0.15247 0.16415 0.17638 0.18975 0.20484 0.22225 + 0.24279 0.26757 0.29818 0.33700 0.38781 0.45692 0.55558 0.70573 + 0.95538 1.02561 1.10573 1.19779 1.30440 1.42896 1.57595 1.75138 + 1.96345 2.22368 2.54866 2.96317 3.50571 4.23963 5.27687 6.83600 + 6.83600 6.83600 6.83600 6.83600 + 0.00643 0.00888 0.00969 0.01047 0.01128 0.01218 0.01319 0.01437 + 0.01577 0.01747 0.01959 0.02230 0.02588 0.03083 0.03802 0.04924 + 0.06857 0.07415 0.08060 0.08810 0.09691 0.10737 0.11994 0.13525 + 0.15420 0.17807 0.20880 0.24940 0.30476 0.38324 0.50021 0.68648 + 0.68648 0.68648 0.68648 0.68648 + 0.00000 0.00000 0.00000 0.00001 0.00001 0.00001 0.00001 0.00001 + 0.00001 0.00001 0.00001 0.00001 0.00001 0.00001 0.00001 0.00002 + 0.00002 0.00002 0.00002 0.00002 0.00003 0.00003 0.00003 0.00004 + 0.00004 0.00005 0.00005 0.00006 0.00008 0.00010 0.00012 0.00017 + 0.00017 0.00017 0.00017 0.00017 + SALT 1 asy + 0.51706 0.55548 0.56412 0.57119 0.57758 0.58363 0.58951 0.59535 + 0.60125 0.60734 0.61379 0.62088 0.62905 0.63905 0.65208 0.66993 + 0.69426 0.69989 0.70571 0.71167 0.71774 0.72384 0.72995 0.73603 + 0.74211 0.74827 0.75468 0.76164 0.76941 0.77804 0.78741 0.79752 + 0.79752 0.79752 0.79752 0.79752 + 0.31211 0.35802 0.37110 0.38286 0.39447 0.40643 0.41904 0.43257 + 0.44725 0.46329 0.48091 0.50026 0.52143 0.54426 0.56828 0.59256 + 0.61614 0.62081 0.62552 0.63033 0.63534 0.64065 0.64644 0.65290 + 0.66030 0.66895 0.67917 0.69116 0.70491 0.71993 0.73533 0.75040 + 0.75040 0.75040 0.75040 0.75040 + 0.20095 0.23024 0.23881 0.24664 0.25449 0.26273 0.27163 0.28143 + 0.29242 0.30495 0.31945 0.33654 0.35702 0.38201 0.41306 0.45218 + 0.50130 0.51237 0.52381 0.53558 0.54758 0.55973 0.57191 0.58397 + 0.59575 0.60715 0.61811 0.62876 0.63952 0.65132 0.66582 0.68536 + 0.68536 0.68536 0.68536 0.68536 + 0.12134 0.13830 0.14324 0.14775 0.15226 0.15700 0.16211 0.16775 + 0.17408 0.18131 0.18973 0.19972 0.21186 0.22700 0.24653 0.27283 + 0.31032 0.31982 0.33020 0.34158 0.35411 0.36794 0.38328 0.40032 + 0.41932 0.44048 0.46402 0.49002 0.51830 0.54824 0.57850 0.60709 + 0.60709 0.60709 0.60709 0.60709 + 0.07303 0.08308 0.08599 0.08864 0.09128 0.09406 0.09704 0.10032 + 0.10400 0.10819 0.11305 0.11880 0.12576 0.13440 0.14551 0.16044 + 0.18177 0.18721 0.19318 0.19977 0.20708 0.21525 0.22443 0.23486 + 0.24679 0.26061 0.27680 0.29604 0.31927 0.34784 0.38359 0.42898 + 0.42898 0.42898 0.42898 0.42898 + 0.01926 0.02192 0.02269 0.02339 0.02409 0.02482 0.02560 0.02647 + 0.02743 0.02853 0.02980 0.03129 0.03310 0.03533 0.03818 0.04198 + 0.04736 0.04871 0.05020 0.05183 0.05364 0.05565 0.05789 0.06043 + 0.06332 0.06665 0.07054 0.07513 0.08068 0.08753 0.09625 0.10781 + 0.10781 0.10781 0.10781 0.10781 + 0.00046 0.00051 0.00052 0.00054 0.00055 0.00057 0.00058 0.00060 + 0.00062 0.00065 0.00067 0.00070 0.00074 0.00079 0.00085 0.00093 + 0.00104 0.00107 0.00110 0.00114 0.00118 0.00122 0.00127 0.00132 + 0.00138 0.00146 0.00154 0.00164 0.00176 0.00190 0.00209 0.00234 + 0.00234 0.00234 0.00234 0.00234 + SALT 1 ssa + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.99768 0.99821 0.99833 0.99844 0.99853 0.99862 0.99871 0.99879 + 0.99888 0.99897 0.99906 0.99916 0.99926 0.99935 0.99946 0.99956 + 0.99966 0.99968 0.99970 0.99972 0.99974 0.99976 0.99978 0.99980 + 0.99982 0.99983 0.99985 0.99987 0.99988 0.99990 0.99992 0.99993 + 0.99993 0.99993 0.99993 0.99993 + 0.76144 0.80474 0.81538 0.82440 0.83286 0.84114 0.84945 0.85792 + 0.86665 0.87571 0.88518 0.89510 0.90552 0.91648 0.92798 0.93998 + 0.95240 0.95492 0.95744 0.95997 0.96250 0.96503 0.96755 0.97006 + 0.97256 0.97503 0.97748 0.97990 0.98228 0.98461 0.98689 0.98910 + 0.98910 0.98910 0.98910 0.98910 + 0.00073 0.00026 0.00022 0.00020 0.00018 0.00017 0.00015 0.00014 + 0.00013 0.00012 0.00012 0.00011 0.00011 0.00010 0.00010 0.00010 + 0.00010 0.00010 0.00010 0.00010 0.00010 0.00010 0.00011 0.00011 + 0.00011 0.00012 0.00012 0.00013 0.00014 0.00015 0.00017 0.00019 + 0.00019 0.00019 0.00019 0.00019 + SALT 2 ext + 3.84084 4.45237 4.65550 4.79789 4.96505 5.15331 5.30847 5.53258 + 5.75320 6.00621 6.30597 6.67327 7.08172 7.63785 8.31344 9.21648 + 10.48133 10.79933 11.13612 11.50541 11.90672 12.37923 12.86888 13.40282 + 14.01578 14.70266 15.43109 16.37182 17.43638 18.71893 20.35023 22.48381 + 22.48381 22.48381 22.48381 22.48381 + 3.74877 4.36270 4.54464 4.70344 4.86532 5.02961 5.20393 5.40612 + 5.63374 5.88137 6.17082 6.50205 6.92582 7.42835 8.07390 8.93477 + 10.14531 10.46298 10.80479 11.18531 11.61903 12.06158 12.60323 13.20474 + 13.89431 14.70132 15.62578 16.77404 18.06191 19.70303 21.75061 24.24523 + 24.24523 24.24523 24.24523 24.24523 + 3.48056 4.09344 4.26851 4.42589 4.58317 4.74916 4.93114 5.13679 + 5.36630 5.62271 5.91683 6.26089 6.68991 7.22050 7.87916 8.77796 + 10.00540 10.32962 10.67562 11.04207 11.45230 11.89440 12.42714 12.99252 + 13.64637 14.38911 15.27882 16.32315 17.61756 19.20708 21.26140 24.02065 + 24.02065 24.02065 24.02065 24.02065 + 2.75510 3.27724 3.43110 3.57356 3.71918 3.87498 4.04559 4.23476 + 4.44696 4.68865 4.96948 5.30546 5.72357 6.25670 6.93658 7.84924 + 9.18277 9.51526 9.87679 10.27689 10.72711 11.23273 11.78934 12.40751 + 13.10464 13.92774 14.86839 15.95151 17.28453 18.86730 20.89511 23.48877 + 23.48877 23.48877 23.48877 23.48877 + 1.81677 2.21583 2.33561 2.44573 2.55707 2.67493 2.80357 2.94751 + 3.11232 3.30536 3.53642 3.81810 4.16688 4.60806 5.18829 6.00392 + 7.22065 7.53323 7.87747 8.26005 8.69005 9.17854 9.73545 10.36804 + 11.08771 11.91729 12.90145 14.09253 15.51547 17.26298 19.51397 22.41546 + 22.41546 22.41546 22.41546 22.41546 + 0.30892 0.40612 0.43681 0.46570 0.49550 0.52762 0.56324 0.60358 + 0.65018 0.70503 0.77089 0.85178 0.95387 1.08719 1.26946 1.53503 + 1.95798 2.07385 2.20453 2.35274 2.52187 2.71619 2.94125 3.20438 + 3.51571 3.88963 4.34737 4.92088 5.65827 6.63155 7.95560 9.84898 + 9.84898 9.84898 9.84898 9.84898 + 0.00565 0.02002 0.02462 0.02895 0.03341 0.03822 0.04354 0.04955 + 0.05648 0.06460 0.07431 0.08617 0.10101 0.12015 0.14577 0.18181 + 0.23617 0.25052 0.26649 0.28436 0.30449 0.32733 0.35347 0.38368 + 0.41897 0.46074 0.51094 0.57240 0.64938 0.74854 0.88105 1.06705 + 1.06705 1.06705 1.06705 1.06705 + SALT 2 sca + 3.84084 4.45237 4.65550 4.79789 4.96505 5.15331 5.30847 5.53258 + 5.75320 6.00621 6.30597 6.67327 7.08172 7.63785 8.31344 9.21648 + 10.48133 10.79933 11.13612 11.50541 11.90672 12.37923 12.86888 13.40282 + 14.01578 14.70266 15.43109 16.37182 17.43638 18.71893 20.35023 22.48381 + 22.48381 22.48381 22.48381 22.48381 + 3.74877 4.36270 4.54464 4.70344 4.86532 5.02961 5.20393 5.40612 + 5.63374 5.88137 6.17082 6.50205 6.92582 7.42835 8.07390 8.93477 + 10.14531 10.46298 10.80479 11.18531 11.61903 12.06158 12.60323 13.20474 + 13.89431 14.70132 15.62578 16.77404 18.06191 19.70303 21.75061 24.24523 + 24.24523 24.24523 24.24523 24.24523 + 3.48056 4.09344 4.26851 4.42589 4.58317 4.74916 4.93114 5.13679 + 5.36630 5.62271 5.91683 6.26089 6.68991 7.22050 7.87916 8.77796 + 10.00540 10.32962 10.67562 11.04207 11.45230 11.89440 12.42714 12.99252 + 13.64637 14.38911 15.27882 16.32315 17.61756 19.20708 21.26140 24.02065 + 24.02065 24.02065 24.02065 24.02065 + 2.75510 3.27724 3.43110 3.57356 3.71918 3.87498 4.04559 4.23476 + 4.44696 4.68865 4.96948 5.30546 5.72357 6.25670 6.93658 7.84924 + 9.18277 9.51526 9.87679 10.27689 10.72711 11.23273 11.78934 12.40751 + 13.10464 13.92774 14.86839 15.95151 17.28453 18.86730 20.89511 23.48877 + 23.48877 23.48877 23.48877 23.48877 + 1.81634 2.21540 2.33517 2.44529 2.55662 2.67448 2.80312 2.94706 + 3.11186 3.30490 3.53596 3.81763 4.16641 4.60758 5.18781 6.00343 + 7.22015 7.53272 7.87696 8.25953 8.68952 9.17801 9.73492 10.36750 + 11.08717 11.91674 12.90089 14.09196 15.51488 17.26237 19.51333 22.41479 + 22.41479 22.41479 22.41479 22.41479 + 0.30604 0.40297 0.43360 0.46242 0.49216 0.52422 0.55976 0.60003 + 0.64656 0.70132 0.76708 0.84785 0.94979 1.08293 1.26497 1.53023 + 1.95269 2.06844 2.19898 2.34703 2.51599 2.71012 2.93496 3.19784 + 3.50888 3.88246 4.33979 4.91279 5.64954 6.62201 7.94499 9.83686 + 9.83686 9.83686 9.83686 9.83686 + 0.00028 0.00035 0.00037 0.00039 0.00041 0.00043 0.00045 0.00048 + 0.00051 0.00055 0.00060 0.00066 0.00074 0.00084 0.00100 0.00124 + 0.00164 0.00176 0.00189 0.00205 0.00223 0.00245 0.00271 0.00303 + 0.00343 0.00392 0.00456 0.00541 0.00656 0.00820 0.01066 0.01460 + 0.01460 0.01460 0.01460 0.01460 + SALT 2 asy + 0.67225 0.69432 0.69676 0.70380 0.70630 0.70950 0.71586 0.71631 + 0.72274 0.72577 0.73154 0.73399 0.74088 0.74489 0.75121 0.75765 + 0.76328 0.76455 0.76624 0.76746 0.76956 0.76873 0.77054 0.77136 + 0.77309 0.77311 0.77554 0.77545 0.77611 0.77636 0.77660 0.77762 + 0.77762 0.77762 0.77762 0.77762 + 0.69381 0.71250 0.71725 0.72119 0.72453 0.72816 0.73111 0.73347 + 0.73670 0.74035 0.74388 0.74689 0.74989 0.75385 0.75660 0.76127 + 0.76646 0.76655 0.76805 0.76831 0.76978 0.77190 0.77216 0.77416 + 0.77558 0.77634 0.77953 0.77976 0.78290 0.78485 0.78628 0.78886 + 0.78886 0.78886 0.78886 0.78886 + 0.70301 0.72332 0.72835 0.73243 0.73597 0.73919 0.74219 0.74534 + 0.74906 0.75294 0.75691 0.76050 0.76377 0.76804 0.77202 0.77530 + 0.77856 0.77867 0.77957 0.78039 0.78097 0.78139 0.78088 0.78217 + 0.78233 0.78220 0.78352 0.78355 0.78409 0.78446 0.78652 0.78850 + 0.78850 0.78850 0.78850 0.78850 + 0.69835 0.71950 0.72444 0.72860 0.73253 0.73647 0.74054 0.74474 + 0.74902 0.75335 0.75770 0.76210 0.76684 0.77246 0.77848 0.78388 + 0.79003 0.79128 0.79239 0.79332 0.79417 0.79522 0.79638 0.79730 + 0.79778 0.79800 0.79878 0.79891 0.79810 0.79804 0.79661 0.79503 + 0.79503 0.79503 0.79503 0.79503 + 0.66241 0.68694 0.69300 0.69812 0.70290 0.70758 0.71228 0.71710 + 0.72214 0.72748 0.73322 0.73941 0.74604 0.75313 0.76090 0.76997 + 0.78028 0.78231 0.78431 0.78632 0.78839 0.79063 0.79308 0.79564 + 0.79811 0.80030 0.80228 0.80450 0.80673 0.80820 0.80965 0.80976 + 0.80976 0.80976 0.80976 0.80976 + 0.42391 0.46989 0.48087 0.49004 0.49851 0.50667 0.51475 0.52287 + 0.53117 0.53977 0.54884 0.55862 0.56948 0.58204 0.59728 0.61663 + 0.64161 0.64733 0.65328 0.65944 0.66579 0.67231 0.67901 0.68589 + 0.69301 0.70047 0.70841 0.71705 0.72653 0.73690 0.74824 0.76086 + 0.76086 0.76086 0.76086 0.76086 + 0.00996 0.01132 0.01172 0.01207 0.01243 0.01281 0.01321 0.01366 + 0.01415 0.01472 0.01538 0.01615 0.01709 0.01825 0.01973 0.02171 + 0.02453 0.02524 0.02602 0.02688 0.02783 0.02888 0.03007 0.03141 + 0.03294 0.03470 0.03676 0.03920 0.04216 0.04582 0.05049 0.05670 + 0.05670 0.05670 0.05670 0.05670 + SALT 2 ssa + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.99977 0.99980 0.99981 0.99982 0.99983 0.99983 0.99984 0.99985 + 0.99985 0.99986 0.99987 0.99988 0.99989 0.99990 0.99991 0.99992 + 0.99993 0.99993 0.99994 0.99994 0.99994 0.99994 0.99995 0.99995 + 0.99995 0.99995 0.99996 0.99996 0.99996 0.99996 0.99997 0.99997 + 0.99997 0.99997 0.99997 0.99997 + 0.99067 0.99225 0.99263 0.99295 0.99325 0.99354 0.99383 0.99412 + 0.99442 0.99473 0.99505 0.99538 0.99573 0.99609 0.99647 0.99687 + 0.99730 0.99739 0.99748 0.99757 0.99767 0.99777 0.99786 0.99796 + 0.99806 0.99816 0.99826 0.99836 0.99846 0.99856 0.99867 0.99877 + 0.99877 0.99877 0.99877 0.99877 + 0.04951 0.01732 0.01493 0.01337 0.01218 0.01121 0.01040 0.00969 + 0.00908 0.00854 0.00806 0.00765 0.00730 0.00703 0.00685 0.00680 + 0.00695 0.00702 0.00710 0.00721 0.00734 0.00749 0.00768 0.00790 + 0.00818 0.00851 0.00893 0.00944 0.01010 0.01096 0.01210 0.01368 + 0.01368 0.01368 0.01368 0.01368 + SALT 3 ext + 0.71835 0.87924 0.88655 0.92836 0.95768 0.99680 1.04236 1.09214 + 1.11243 1.17720 1.26219 1.31898 1.39713 1.51825 1.60509 1.80847 + 2.01861 2.06107 2.11598 2.18695 2.28119 2.40582 2.46234 2.60386 + 2.72094 2.83783 3.02052 3.23288 3.48339 3.81599 4.19433 4.68313 + 4.68313 4.68313 4.68313 4.68313 + 0.75326 0.85803 0.91536 0.93074 0.97050 1.00135 1.04228 1.08441 + 1.12174 1.19930 1.23267 1.30684 1.39136 1.50285 1.66383 1.85402 + 2.13162 2.17065 2.25099 2.22373 2.33807 2.44034 2.51679 2.64961 + 2.79123 2.96849 3.12779 3.31023 3.55333 3.88088 4.20404 4.71706 + 4.71706 4.71706 4.71706 4.71706 + 0.73947 0.89727 0.92869 0.95546 0.99618 1.01607 1.07442 1.10116 + 1.17199 1.21641 1.27072 1.33133 1.41842 1.52401 1.68249 1.81245 + 2.03573 2.10919 2.17449 2.24403 2.42983 2.39412 2.55024 2.69058 + 2.94690 3.04601 3.22146 3.44902 3.58207 3.89810 4.33784 4.84690 + 4.84690 4.84690 4.84690 4.84690 + 0.80886 0.96277 1.00408 1.01747 1.09080 1.08175 1.15036 1.18650 + 1.20424 1.27322 1.32511 1.38169 1.47102 1.57292 1.67421 1.87585 + 2.12111 2.16054 2.24660 2.34009 2.41421 2.50929 2.63169 2.73785 + 2.85421 2.99520 3.16043 3.36720 3.57718 3.92187 4.36465 4.99504 + 4.99504 4.99504 4.99504 4.99504 + 0.83616 0.98394 1.02709 1.06669 1.10366 1.14407 1.18983 1.23688 + 1.28832 1.35332 1.42056 1.49798 1.59685 1.72107 1.87845 2.07740 + 2.31822 2.37031 2.43999 2.50507 2.57340 2.65954 2.74152 2.82800 + 2.98083 3.08542 3.23837 3.46609 3.70437 4.00744 4.42399 4.93962 + 4.93962 4.93962 4.93962 4.93962 + 1.10015 1.29907 1.35683 1.41072 1.46542 1.52234 1.58234 1.64656 + 1.71686 1.79656 1.89099 2.00338 2.13300 2.28517 2.48134 2.72307 + 3.04422 3.11874 3.19597 3.27915 3.37353 3.47567 3.58077 3.69048 + 3.82034 3.96248 4.11023 4.29648 4.49727 4.76437 5.10562 5.59516 + 5.59516 5.59516 5.59516 5.59516 + 0.01740 0.03820 0.04470 0.05076 0.05696 0.06358 0.07086 0.07903 + 0.08836 0.09922 0.11210 0.12769 0.14702 0.17170 0.20438 0.24980 + 0.31740 0.33509 0.35472 0.37661 0.40119 0.42899 0.46068 0.49716 + 0.53962 0.58968 0.64958 0.72259 0.81356 0.93013 1.08492 1.30047 + 1.30047 1.30047 1.30047 1.30047 + SALT 3 sca + 0.71835 0.87924 0.88655 0.92836 0.95768 0.99680 1.04236 1.09214 + 1.11243 1.17720 1.26219 1.31898 1.39713 1.51825 1.60509 1.80847 + 2.01861 2.06107 2.11598 2.18695 2.28119 2.40582 2.46234 2.60386 + 2.72094 2.83783 3.02052 3.23288 3.48339 3.81599 4.19433 4.68313 + 4.68313 4.68313 4.68313 4.68313 + 0.75326 0.85803 0.91536 0.93074 0.97050 1.00135 1.04228 1.08441 + 1.12174 1.19930 1.23267 1.30684 1.39136 1.50285 1.66383 1.85402 + 2.13162 2.17065 2.25099 2.22373 2.33807 2.44034 2.51679 2.64961 + 2.79123 2.96849 3.12779 3.31023 3.55333 3.88088 4.20404 4.71706 + 4.71706 4.71706 4.71706 4.71706 + 0.73947 0.89727 0.92869 0.95546 0.99618 1.01607 1.07442 1.10116 + 1.17199 1.21641 1.27072 1.33133 1.41842 1.52401 1.68249 1.81245 + 2.03573 2.10919 2.17449 2.24403 2.42983 2.39412 2.55024 2.69058 + 2.94690 3.04601 3.22146 3.44902 3.58207 3.89810 4.33784 4.84690 + 4.84690 4.84690 4.84690 4.84690 + 0.80886 0.96277 1.00408 1.01747 1.09080 1.08175 1.15036 1.18650 + 1.20424 1.27322 1.32511 1.38169 1.47102 1.57292 1.67421 1.87585 + 2.12111 2.16054 2.24660 2.34009 2.41421 2.50929 2.63169 2.73785 + 2.85421 2.99520 3.16043 3.36720 3.57718 3.92187 4.36465 4.99504 + 4.99504 4.99504 4.99504 4.99504 + 0.83562 0.98340 1.02654 1.06615 1.10312 1.14353 1.18929 1.23635 + 1.28779 1.35277 1.42002 1.49745 1.59631 1.72053 1.87790 2.07684 + 2.31766 2.36975 2.43943 2.50450 2.57284 2.65897 2.74095 2.82743 + 2.98025 3.08481 3.23777 3.46551 3.70377 4.00682 4.42335 4.93899 + 4.93899 4.93899 4.93899 4.93899 + 1.09559 1.29442 1.35214 1.40597 1.46061 1.51747 1.57743 1.64160 + 1.71184 1.79147 1.88578 1.99805 2.12753 2.27953 2.47542 2.71683 + 3.03743 3.11182 3.18891 3.27192 3.36608 3.46800 3.57286 3.68230 + 3.81179 3.95353 4.10082 4.28644 4.48654 4.75265 5.09260 5.58035 + 5.58035 5.58035 5.58035 5.58035 + 0.01107 0.01318 0.01381 0.01439 0.01498 0.01562 0.01632 0.01710 + 0.01802 0.01909 0.02039 0.02199 0.02405 0.02676 0.03052 0.03603 + 0.04479 0.04719 0.04990 0.05297 0.05649 0.06054 0.06527 0.07084 + 0.07747 0.08550 0.09539 0.10782 0.12387 0.14526 0.17502 0.21881 + 0.21881 0.21881 0.21881 0.21881 + SALT 3 asy + 0.75750 0.77012 0.77914 0.77816 0.78283 0.78271 0.78591 0.78655 + 0.79340 0.79444 0.78898 0.79638 0.79736 0.80219 0.81206 0.81159 + 0.81970 0.81458 0.82078 0.81873 0.82451 0.82888 0.82224 0.83153 + 0.83073 0.82950 0.83124 0.83679 0.83105 0.83251 0.84058 0.84304 + 0.84304 0.84304 0.84304 0.84304 + 0.72976 0.74602 0.74610 0.75349 0.75255 0.75542 0.76117 0.76563 + 0.77488 0.76883 0.77007 0.78259 0.78856 0.78582 0.79749 0.79366 + 0.81361 0.81368 0.81424 0.80942 0.81738 0.80754 0.81538 0.82350 + 0.82328 0.82472 0.82720 0.82630 0.82866 0.83617 0.83367 0.83568 + 0.83568 0.83568 0.83568 0.83568 + 0.70528 0.72458 0.73178 0.73531 0.73245 0.74332 0.73666 0.75222 + 0.75185 0.74640 0.75842 0.76418 0.76841 0.77077 0.77524 0.78354 + 0.78025 0.79604 0.78441 0.79697 0.79647 0.79580 0.80847 0.80850 + 0.81237 0.80887 0.81102 0.81887 0.82178 0.81740 0.82746 0.83016 + 0.83016 0.83016 0.83016 0.83016 + 0.68374 0.70641 0.71027 0.72410 0.71112 0.73031 0.71473 0.73100 + 0.73700 0.72762 0.73468 0.74077 0.74283 0.74551 0.75615 0.75715 + 0.76982 0.77626 0.77555 0.77618 0.78060 0.78318 0.78305 0.78909 + 0.78711 0.79306 0.79577 0.79751 0.79840 0.80580 0.80238 0.81321 + 0.81321 0.81321 0.81321 0.81321 + 0.65571 0.67669 0.68356 0.68689 0.69343 0.69710 0.70025 0.70528 + 0.71206 0.71428 0.72061 0.72861 0.73458 0.73894 0.74687 0.74952 + 0.75942 0.76135 0.76231 0.76192 0.76614 0.76515 0.76600 0.76918 + 0.76741 0.76895 0.77143 0.77597 0.77684 0.77974 0.78916 0.78896 + 0.78896 0.78896 0.78896 0.78896 + 0.76243 0.77996 0.78345 0.78645 0.78945 0.79253 0.79561 0.79853 + 0.80113 0.80332 0.80536 0.80785 0.81059 0.81244 0.81344 0.81421 + 0.81217 0.81178 0.81099 0.80953 0.80763 0.80619 0.80482 0.80256 + 0.79904 0.79627 0.79268 0.78774 0.78348 0.77744 0.77161 0.76740 + 0.76740 0.76740 0.76740 0.76740 + 0.09628 0.11109 0.11543 0.11940 0.12338 0.12757 0.13209 0.13708 + 0.14268 0.14909 0.15654 0.16537 0.17608 0.18939 0.20648 0.22930 + 0.26147 0.26956 0.27838 0.28802 0.29860 0.31028 0.32322 0.33762 + 0.35373 0.37186 0.39236 0.41566 0.44225 0.47268 0.50752 0.54723 + 0.54723 0.54723 0.54723 0.54723 + SALT 3 ssa + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.99935 0.99945 0.99947 0.99949 0.99951 0.99953 0.99954 0.99957 + 0.99959 0.99960 0.99962 0.99965 0.99967 0.99969 0.99971 0.99973 + 0.99976 0.99976 0.99977 0.99977 0.99978 0.99979 0.99979 0.99980 + 0.99980 0.99980 0.99981 0.99983 0.99984 0.99984 0.99985 0.99987 + 0.99987 0.99987 0.99987 0.99987 + 0.99586 0.99642 0.99654 0.99663 0.99672 0.99680 0.99689 0.99699 + 0.99708 0.99716 0.99725 0.99734 0.99744 0.99753 0.99762 0.99771 + 0.99777 0.99778 0.99779 0.99780 0.99779 0.99779 0.99779 0.99778 + 0.99776 0.99774 0.99771 0.99766 0.99761 0.99754 0.99745 0.99735 + 0.99735 0.99735 0.99735 0.99735 + 0.63630 0.34508 0.30898 0.28354 0.26308 0.24563 0.23025 0.21644 + 0.20389 0.19240 0.18187 0.17225 0.16356 0.15586 0.14931 0.14422 + 0.14113 0.14083 0.14067 0.14065 0.14080 0.14113 0.14168 0.14248 + 0.14357 0.14500 0.14685 0.14922 0.15225 0.15618 0.16132 0.16825 + 0.16825 0.16825 0.16825 0.16825 + SALT 4 ext + 0.28678 0.34479 0.36363 0.37600 0.39152 0.40353 0.42127 0.43432 + 0.45795 0.48190 0.50074 0.53549 0.56852 0.61227 0.66407 0.74207 + 0.85056 0.86794 0.89810 0.92900 0.95969 1.00254 1.04676 1.09560 + 1.15624 1.21737 1.29611 1.37209 1.47976 1.60247 1.79054 2.00314 + 2.00314 2.00314 2.00314 2.00314 + 0.29523 0.34812 0.36773 0.38347 0.39517 0.41056 0.42292 0.44620 + 0.47169 0.49141 0.50937 0.53810 0.57570 0.62439 0.67649 0.74484 + 0.85515 0.87765 0.90523 0.95186 0.98835 1.01791 1.05801 1.11765 + 1.15508 1.22751 1.30632 1.39110 1.49351 1.63523 1.79337 2.01633 + 2.01633 2.01633 2.01633 2.01633 + 0.29545 0.35900 0.36558 0.39061 0.39430 0.42287 0.42448 0.44922 + 0.46400 0.49267 0.51584 0.54150 0.58385 0.61542 0.68226 0.75699 + 0.85983 0.89170 0.92880 0.94532 0.98823 1.03348 1.07705 1.11552 + 1.15203 1.23630 1.31215 1.40360 1.48343 1.65374 1.81939 2.02310 + 2.02310 2.02310 2.02310 2.02310 + 0.29807 0.35715 0.36988 0.39089 0.39705 0.42126 0.42755 0.45203 + 0.46471 0.50479 0.52015 0.55423 0.60202 0.63173 0.69236 0.77782 + 0.87057 0.89151 0.91383 0.95970 0.98541 1.03075 1.07894 1.12318 + 1.18225 1.24235 1.32570 1.42460 1.52639 1.65778 1.83947 2.04714 + 2.04714 2.04714 2.04714 2.04714 + 0.31764 0.37403 0.39782 0.40535 0.43345 0.43360 0.46298 0.46632 + 0.50153 0.51672 0.53558 0.56444 0.59786 0.63702 0.69149 0.76081 + 0.86551 0.89720 0.92613 0.96596 0.99950 1.02757 1.07742 1.15115 + 1.18715 1.24806 1.36176 1.43988 1.53003 1.68196 1.83170 2.08062 + 2.08062 2.08062 2.08062 2.08062 + 0.33917 0.40106 0.41449 0.43310 0.44356 0.45986 0.47487 0.49139 + 0.50982 0.53253 0.55587 0.58272 0.61629 0.65826 0.70884 0.78228 + 0.88530 0.91005 0.94228 0.97548 1.01341 1.04926 1.10442 1.16237 + 1.22616 1.29635 1.39063 1.49281 1.63175 1.77579 1.98251 2.23862 + 2.23862 2.23862 2.23862 2.23862 + 0.09959 0.12078 0.12732 0.13342 0.13964 0.14627 0.15355 0.16169 + 0.17098 0.18177 0.19452 0.20992 0.22895 0.25314 0.28499 0.32895 + 0.39374 0.41059 0.42921 0.44991 0.47306 0.49914 0.52873 0.56261 + 0.60181 0.64769 0.70215 0.76790 0.84891 0.95131 1.08511 1.26777 + 1.26777 1.26777 1.26777 1.26777 + SALT 4 sca + 0.28678 0.34479 0.36363 0.37600 0.39152 0.40353 0.42127 0.43432 + 0.45795 0.48190 0.50074 0.53549 0.56852 0.61227 0.66407 0.74207 + 0.85056 0.86794 0.89810 0.92900 0.95969 1.00254 1.04676 1.09560 + 1.15624 1.21737 1.29611 1.37209 1.47976 1.60247 1.79054 2.00314 + 2.00314 2.00314 2.00314 2.00314 + 0.29523 0.34812 0.36773 0.38347 0.39517 0.41056 0.42292 0.44620 + 0.47169 0.49141 0.50937 0.53810 0.57570 0.62439 0.67649 0.74484 + 0.85515 0.87765 0.90523 0.95186 0.98835 1.01791 1.05801 1.11765 + 1.15508 1.22751 1.30632 1.39110 1.49351 1.63523 1.79337 2.01633 + 2.01633 2.01633 2.01633 2.01633 + 0.29545 0.35900 0.36558 0.39061 0.39430 0.42287 0.42448 0.44922 + 0.46400 0.49267 0.51584 0.54150 0.58385 0.61542 0.68226 0.75699 + 0.85983 0.89170 0.92880 0.94532 0.98823 1.03348 1.07705 1.11552 + 1.15203 1.23630 1.31215 1.40360 1.48343 1.65374 1.81939 2.02310 + 2.02310 2.02310 2.02310 2.02310 + 0.29807 0.35715 0.36988 0.39089 0.39705 0.42126 0.42755 0.45203 + 0.46471 0.50479 0.52015 0.55423 0.60202 0.63173 0.69236 0.77782 + 0.87057 0.89151 0.91383 0.95970 0.98541 1.03075 1.07894 1.12318 + 1.18225 1.24235 1.32570 1.42460 1.52639 1.65778 1.83947 2.04714 + 2.04714 2.04714 2.04714 2.04714 + 0.31716 0.37357 0.39733 0.40489 0.43298 0.43315 0.46250 0.46587 + 0.50108 0.51625 0.53513 0.56398 0.59739 0.63655 0.69102 0.76034 + 0.86505 0.89672 0.92567 0.96549 0.99900 1.02705 1.07691 1.15065 + 1.18664 1.24752 1.36122 1.43934 1.52949 1.68141 1.83109 2.08006 + 2.08006 2.08006 2.08006 2.08006 + 0.33464 0.39624 0.40969 0.42831 0.43871 0.45481 0.46995 0.48645 + 0.50471 0.52735 0.55072 0.57738 0.61085 0.65262 0.70304 0.77601 + 0.87866 0.90324 0.93528 0.96829 1.00592 1.04178 1.09658 1.15426 + 1.21770 1.28779 1.38148 1.48321 1.62112 1.76442 1.97021 2.22427 + 2.22427 2.22427 2.22427 2.22427 + 0.09031 0.08665 0.08628 0.08616 0.08621 0.08644 0.08687 0.08753 + 0.08848 0.08982 0.09166 0.09420 0.09773 0.10271 0.10994 0.12086 + 0.13843 0.14323 0.14862 0.15473 0.16169 0.16967 0.17890 0.18967 + 0.20237 0.21754 0.23594 0.25865 0.28728 0.32438 0.37414 0.44404 + 0.44404 0.44404 0.44404 0.44404 + SALT 4 asy + 0.78966 0.79973 0.80622 0.80966 0.80994 0.81338 0.81675 0.81770 + 0.81821 0.82425 0.82293 0.82529 0.82790 0.83335 0.83847 0.83653 + 0.84039 0.84565 0.84291 0.84906 0.84687 0.84685 0.84945 0.84818 + 0.85505 0.84847 0.85506 0.85547 0.85799 0.85891 0.85555 0.85995 + 0.85995 0.85995 0.85995 0.85995 + 0.78552 0.79907 0.80355 0.80757 0.80745 0.81151 0.80951 0.81563 + 0.81703 0.81763 0.82426 0.82260 0.82504 0.82959 0.83002 0.83641 + 0.83720 0.84233 0.84201 0.84443 0.84160 0.84746 0.84522 0.84603 + 0.84982 0.85282 0.84898 0.85256 0.85534 0.85784 0.85574 0.85847 + 0.85847 0.85847 0.85847 0.85847 + 0.77421 0.78543 0.79302 0.79115 0.79982 0.79300 0.80319 0.80039 + 0.81000 0.81490 0.80579 0.81016 0.81890 0.82010 0.82551 0.82835 + 0.83416 0.83651 0.83707 0.83719 0.83951 0.84344 0.84550 0.84359 + 0.84471 0.84778 0.84265 0.84667 0.85197 0.85293 0.85590 0.85415 + 0.85415 0.85415 0.85415 0.85415 + 0.76807 0.78501 0.79038 0.78673 0.79628 0.79297 0.80256 0.79525 + 0.80525 0.81412 0.80311 0.81074 0.81812 0.81489 0.82112 0.82734 + 0.82908 0.83137 0.83126 0.83286 0.83241 0.83724 0.83412 0.83267 + 0.83661 0.84172 0.84300 0.84367 0.84211 0.84616 0.84658 0.85245 + 0.85245 0.85245 0.85245 0.85245 + 0.76474 0.78563 0.77612 0.79421 0.77899 0.79523 0.78950 0.79935 + 0.80212 0.79567 0.80278 0.80748 0.81396 0.80948 0.81186 0.82029 + 0.82435 0.82120 0.82800 0.82456 0.82813 0.82990 0.82770 0.83823 + 0.84026 0.83403 0.83844 0.83855 0.84360 0.84288 0.84342 0.84116 + 0.84116 0.84116 0.84116 0.84116 + 0.68230 0.69870 0.70443 0.70435 0.71082 0.71268 0.71389 0.71798 + 0.71816 0.72375 0.72747 0.72961 0.73095 0.73781 0.73636 0.74905 + 0.75589 0.75485 0.76019 0.76110 0.76598 0.75898 0.77070 0.77457 + 0.77890 0.77518 0.78143 0.78741 0.80474 0.80424 0.81440 0.81811 + 0.81811 0.81811 0.81811 0.81811 + 0.54802 0.58865 0.59843 0.60678 0.61468 0.62252 0.63053 0.63888 + 0.64771 0.65720 0.66749 0.67881 0.69139 0.70556 0.72174 0.74054 + 0.76281 0.76777 0.77293 0.77829 0.78388 0.78969 0.79576 0.80209 + 0.80871 0.81565 0.82293 0.83061 0.83872 0.84735 0.85663 0.86678 + 0.86678 0.86678 0.86678 0.86678 + SALT 4 ssa + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.99848 0.99876 0.99876 0.99887 0.99891 0.99895 0.99895 0.99903 + 0.99910 0.99909 0.99915 0.99920 0.99921 0.99926 0.99933 0.99939 + 0.99947 0.99947 0.99950 0.99952 0.99950 0.99950 0.99953 0.99957 + 0.99957 0.99957 0.99961 0.99962 0.99965 0.99967 0.99967 0.99973 + 0.99973 0.99973 0.99973 0.99973 + 0.98663 0.98798 0.98842 0.98893 0.98907 0.98903 0.98964 0.98994 + 0.98997 0.99027 0.99074 0.99083 0.99117 0.99144 0.99181 0.99199 + 0.99251 0.99251 0.99258 0.99263 0.99260 0.99287 0.99290 0.99302 + 0.99311 0.99340 0.99342 0.99357 0.99348 0.99360 0.99379 0.99359 + 0.99359 0.99359 0.99359 0.99359 + 0.90682 0.71742 0.67764 0.64576 0.61739 0.59096 0.56573 0.54132 + 0.51749 0.49413 0.47120 0.44874 0.42686 0.40576 0.38576 0.36741 + 0.35157 0.34883 0.34628 0.34392 0.34180 0.33993 0.33835 0.33712 + 0.33627 0.33588 0.33603 0.33683 0.33841 0.34098 0.34479 0.35025 + 0.35025 0.35025 0.35025 0.35025 + SALT 5 ext + 0.09643 0.11755 0.12337 0.12773 0.13264 0.13741 0.14355 0.15074 + 0.15716 0.16508 0.17410 0.18502 0.19747 0.21427 0.23332 0.26070 + 0.29842 0.30761 0.31833 0.32981 0.34255 0.35642 0.37108 0.38932 + 0.41010 0.43224 0.45953 0.49200 0.52881 0.57738 0.63544 0.71459 + 0.71459 0.71459 0.71459 0.71459 + 0.09698 0.11795 0.12387 0.12928 0.13293 0.13784 0.14441 0.15091 + 0.15821 0.16554 0.17590 0.18555 0.20012 0.21502 0.23584 0.26252 + 0.29898 0.30900 0.32010 0.33090 0.34334 0.35787 0.37326 0.39082 + 0.41146 0.43484 0.46006 0.49321 0.53072 0.57858 0.64014 0.71840 + 0.71840 0.71840 0.71840 0.71840 + 0.09724 0.11775 0.12376 0.13029 0.13485 0.13841 0.14475 0.15184 + 0.15778 0.16638 0.17635 0.18745 0.19996 0.21583 0.23759 0.26346 + 0.30138 0.31091 0.32159 0.33148 0.34406 0.36030 0.37520 0.39263 + 0.41274 0.43571 0.46319 0.49560 0.53377 0.58079 0.64173 0.72059 + 0.72059 0.72059 0.72059 0.72059 + 0.09874 0.11962 0.12508 0.13032 0.13469 0.13928 0.14655 0.15336 + 0.15872 0.16969 0.17734 0.18836 0.20079 0.21750 0.23698 0.26599 + 0.30194 0.31324 0.32016 0.33486 0.34699 0.36200 0.37749 0.39584 + 0.41488 0.43934 0.46452 0.49648 0.53564 0.57939 0.64258 0.72188 + 0.72188 0.72188 0.72188 0.72188 + 0.10030 0.12208 0.12708 0.13318 0.13812 0.14178 0.14685 0.15288 + 0.16130 0.16957 0.17760 0.18973 0.20355 0.22030 0.23881 0.26651 + 0.30465 0.31554 0.32544 0.33517 0.34894 0.36642 0.37955 0.39876 + 0.41578 0.44019 0.46856 0.50015 0.53696 0.58517 0.64926 0.72099 + 0.72099 0.72099 0.72099 0.72099 + 0.10429 0.12331 0.13229 0.13588 0.13949 0.14529 0.15109 0.15845 + 0.16990 0.17429 0.18438 0.19739 0.20771 0.22388 0.24533 0.27375 + 0.31679 0.32685 0.33765 0.34935 0.36077 0.37476 0.38956 0.40891 + 0.42555 0.45003 0.47617 0.50964 0.55034 0.60692 0.65785 0.74288 + 0.74288 0.74288 0.74288 0.74288 + 0.17092 0.18057 0.18349 0.18624 0.18909 0.19217 0.19560 0.19953 + 0.20412 0.20957 0.21617 0.22430 0.23453 0.24773 0.26533 0.28977 + 0.32569 0.33497 0.34519 0.35651 0.36910 0.38320 0.39910 0.41716 + 0.43786 0.46184 0.48997 0.52344 0.56401 0.61432 0.67856 0.76389 + 0.76389 0.76389 0.76389 0.76389 + SALT 5 sca + 0.09643 0.11755 0.12337 0.12773 0.13264 0.13741 0.14355 0.15074 + 0.15716 0.16508 0.17410 0.18502 0.19747 0.21427 0.23332 0.26070 + 0.29842 0.30761 0.31833 0.32981 0.34255 0.35642 0.37108 0.38932 + 0.41010 0.43224 0.45953 0.49200 0.52881 0.57738 0.63544 0.71459 + 0.71459 0.71459 0.71459 0.71459 + 0.09698 0.11795 0.12387 0.12928 0.13293 0.13784 0.14441 0.15091 + 0.15821 0.16554 0.17590 0.18555 0.20012 0.21502 0.23584 0.26252 + 0.29898 0.30900 0.32010 0.33090 0.34334 0.35787 0.37326 0.39082 + 0.41146 0.43484 0.46006 0.49321 0.53072 0.57858 0.64014 0.71840 + 0.71840 0.71840 0.71840 0.71840 + 0.09724 0.11775 0.12376 0.13029 0.13485 0.13841 0.14475 0.15184 + 0.15778 0.16638 0.17635 0.18745 0.19996 0.21583 0.23759 0.26346 + 0.30138 0.31091 0.32159 0.33148 0.34406 0.36030 0.37520 0.39263 + 0.41274 0.43571 0.46319 0.49560 0.53377 0.58079 0.64173 0.72059 + 0.72059 0.72059 0.72059 0.72059 + 0.09874 0.11962 0.12508 0.13032 0.13469 0.13928 0.14655 0.15336 + 0.15872 0.16969 0.17734 0.18836 0.20079 0.21750 0.23698 0.26599 + 0.30194 0.31324 0.32016 0.33486 0.34699 0.36200 0.37749 0.39584 + 0.41488 0.43934 0.46452 0.49648 0.53564 0.57939 0.64258 0.72188 + 0.72188 0.72188 0.72188 0.72188 + 0.09989 0.12165 0.12666 0.13277 0.13770 0.14137 0.14644 0.15247 + 0.16088 0.16916 0.17719 0.18931 0.20313 0.21988 0.23838 0.26610 + 0.30420 0.31510 0.32499 0.33474 0.34848 0.36599 0.37910 0.39829 + 0.41530 0.43971 0.46807 0.49965 0.53647 0.58467 0.64872 0.72041 + 0.72041 0.72041 0.72041 0.72041 + 0.10033 0.11920 0.12825 0.13175 0.13520 0.14095 0.14670 0.15403 + 0.16571 0.16987 0.17987 0.19273 0.20293 0.21882 0.24005 0.26826 + 0.31071 0.32052 0.33132 0.34301 0.35427 0.36777 0.38206 0.40152 + 0.41779 0.44195 0.46766 0.50073 0.54058 0.59641 0.64590 0.72970 + 0.72970 0.72970 0.72970 0.72970 + 0.15903 0.14384 0.14125 0.13935 0.13782 0.13657 0.13555 0.13480 + 0.13436 0.13429 0.13471 0.13579 0.13776 0.14105 0.14629 0.15467 + 0.16839 0.17212 0.17630 0.18100 0.18631 0.19235 0.19924 0.20718 + 0.21640 0.22720 0.24001 0.25543 0.27430 0.29793 0.32837 0.36912 + 0.36912 0.36912 0.36912 0.36912 + SALT 5 asy + 0.81216 0.82558 0.82805 0.83098 0.83256 0.83503 0.83724 0.83931 + 0.84274 0.84347 0.84516 0.85073 0.85161 0.85190 0.85722 0.85909 + 0.86238 0.86154 0.86524 0.86185 0.86313 0.86546 0.86514 0.86688 + 0.86441 0.86730 0.86592 0.86607 0.86782 0.86785 0.87010 0.87102 + 0.87102 0.87102 0.87102 0.87102 + 0.81106 0.82332 0.82823 0.82902 0.83166 0.83470 0.83834 0.84028 + 0.84187 0.83981 0.84477 0.84827 0.85129 0.85431 0.85466 0.86004 + 0.86403 0.86397 0.86260 0.86276 0.86317 0.86529 0.86411 0.86424 + 0.86619 0.86708 0.86709 0.86762 0.86965 0.86896 0.87021 0.87048 + 0.87048 0.87048 0.87048 0.87048 + 0.80878 0.82122 0.82580 0.82549 0.82834 0.83132 0.83607 0.83839 + 0.83801 0.84247 0.84578 0.84579 0.84533 0.85300 0.85610 0.85852 + 0.86004 0.86218 0.86196 0.86026 0.86161 0.86297 0.86424 0.86247 + 0.86416 0.86616 0.86741 0.86782 0.86763 0.86933 0.86980 0.87053 + 0.87053 0.87053 0.87053 0.87053 + 0.80547 0.82053 0.82116 0.82511 0.82854 0.82863 0.83457 0.83600 + 0.83616 0.83751 0.84347 0.84337 0.84370 0.84617 0.85207 0.85365 + 0.86133 0.85792 0.85954 0.86267 0.86251 0.85961 0.86262 0.86262 + 0.86153 0.86574 0.86746 0.86508 0.86627 0.86909 0.87054 0.87155 + 0.87155 0.87155 0.87155 0.87155 + 0.80210 0.81599 0.81957 0.81945 0.82324 0.82453 0.82729 0.82948 + 0.83330 0.83353 0.83909 0.84194 0.84288 0.84545 0.85143 0.85424 + 0.85516 0.85651 0.85538 0.85564 0.85719 0.85741 0.86149 0.85865 + 0.86039 0.86298 0.86469 0.86341 0.86683 0.86734 0.86819 0.86978 + 0.86978 0.86978 0.86978 0.86978 + 0.80025 0.81055 0.81467 0.81561 0.81602 0.81694 0.81895 0.82146 + 0.82557 0.83141 0.82818 0.83536 0.83079 0.83537 0.84518 0.84386 + 0.84909 0.84846 0.85173 0.85441 0.85474 0.85343 0.85191 0.85315 + 0.85832 0.85555 0.85904 0.86298 0.86548 0.86232 0.86384 0.86685 + 0.86685 0.86685 0.86685 0.86685 + 0.76518 0.83568 0.84783 0.85708 0.86498 0.87209 0.87867 0.88489 + 0.89086 0.89669 0.90241 0.90809 0.91376 0.91950 0.92537 0.93143 + 0.93776 0.93907 0.94040 0.94176 0.94315 0.94457 0.94603 0.94754 + 0.94909 0.95069 0.95234 0.95405 0.95585 0.95773 0.95975 0.96191 + 0.96191 0.96191 0.96191 0.96191 + SALT 5 ssa + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 0.99589 0.99653 0.99672 0.99688 0.99699 0.99712 0.99722 0.99728 + 0.99741 0.99760 0.99766 0.99778 0.99794 0.99812 0.99819 0.99844 + 0.99855 0.99862 0.99863 0.99870 0.99869 0.99881 0.99881 0.99882 + 0.99885 0.99892 0.99896 0.99900 0.99910 0.99914 0.99917 0.99919 + 0.99919 0.99919 0.99919 0.99919 + 0.96210 0.96664 0.96948 0.96966 0.96926 0.97015 0.97096 0.97211 + 0.97531 0.97464 0.97555 0.97641 0.97698 0.97742 0.97849 0.97994 + 0.98081 0.98062 0.98124 0.98186 0.98199 0.98134 0.98077 0.98192 + 0.98177 0.98205 0.98212 0.98251 0.98227 0.98268 0.98183 0.98225 + 0.98225 0.98225 0.98225 0.98225 + 0.93041 0.79658 0.76977 0.74821 0.72888 0.71066 0.69301 0.67560 + 0.65823 0.64077 0.62316 0.60537 0.58741 0.56935 0.55136 0.53375 + 0.51702 0.51384 0.51074 0.50771 0.50478 0.50195 0.49923 0.49665 + 0.49421 0.49194 0.48985 0.48798 0.48634 0.48498 0.48392 0.48321 + 0.48321 0.48321 0.48321 0.48321 diff --git a/parm/optics_luts_SOOT.dat b/fix/chem/optics_luts_SOOT.dat similarity index 100% rename from parm/optics_luts_SOOT.dat rename to fix/chem/optics_luts_SOOT.dat diff --git a/fix/chem/optics_luts_SOOT_nasa.dat b/fix/chem/optics_luts_SOOT_nasa.dat new file mode 100644 index 0000000000..0281afce11 --- /dev/null +++ b/fix/chem/optics_luts_SOOT_nasa.dat @@ -0,0 +1,288 @@ + SOOT 1 ext + 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 + 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 + 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 + 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 + 17.07566 17.07566 17.07566 17.07566 + 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 + 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 + 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 + 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 + 12.37106 12.37106 12.37106 12.37106 + 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 + 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 + 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 + 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 + 9.28480 9.28480 9.28480 9.28480 + 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 + 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 + 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 + 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 + 6.56657 6.56657 6.56657 6.56657 + 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 + 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 + 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 + 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 + 4.70828 4.70828 4.70828 4.70828 + 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 + 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 + 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 + 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 + 2.18240 2.18240 2.18240 2.18240 + 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 + 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 + 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 + 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 + 0.30928 0.30928 0.30928 0.30928 + SOOT 1 sca + 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 + 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 + 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 + 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 + 4.95749 4.95749 4.95749 4.95749 + 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 + 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 + 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 + 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 + 3.03268 3.03268 3.03268 3.03268 + 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 + 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 + 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 + 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 + 1.93167 1.93167 1.93167 1.93167 + 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 + 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 + 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 + 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 + 1.05247 1.05247 1.05247 1.05247 + 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 + 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 + 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 + 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 + 0.52130 0.52130 0.52130 0.52130 + 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 + 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 + 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 + 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 + 0.06129 0.06129 0.06129 0.06129 + 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 + 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 + 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 + 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 + 0.00006 0.00006 0.00006 0.00006 + SOOT 1 asy + 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 + 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 + 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 + 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 + 0.42162 0.42162 0.42162 0.42162 + 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 + 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 + 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 + 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 + 0.37188 0.37188 0.37188 0.37188 + 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 + 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 + 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 + 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 + 0.33357 0.33357 0.33357 0.33357 + 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 + 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 + 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 + 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 + 0.28541 0.28541 0.28541 0.28541 + 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 + 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 + 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 + 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 + 0.23111 0.23111 0.23111 0.23111 + 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 + 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 + 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 + 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 + 0.09029 0.09029 0.09029 0.09029 + 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 + 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 + 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 + 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 + 0.00256 0.00256 0.00256 0.00256 + SOOT 1 ssa + 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 + 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 + 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 + 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 + 0.29033 0.29033 0.29033 0.29033 + 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 + 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 + 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 + 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 + 0.24514 0.24514 0.24514 0.24514 + 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 + 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 + 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 + 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 + 0.20805 0.20805 0.20805 0.20805 + 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 + 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 + 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 + 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 + 0.16028 0.16028 0.16028 0.16028 + 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 + 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 + 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 + 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 + 0.11072 0.11072 0.11072 0.11072 + 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 + 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 + 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 + 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 + 0.02808 0.02808 0.02808 0.02808 + 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 + 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 + 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 + 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 + 0.00019 0.00019 0.00019 0.00019 + SOOT 2 ext + 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 17.07566 + 17.07566 17.07566 17.07566 17.07566 17.28971 17.28971 17.71600 19.20973 + 21.20762 21.67302 22.14842 22.63472 23.13284 23.90404 24.43542 24.98152 + 25.54314 26.12104 27.02001 27.64177 28.60980 29.27974 30.68176 31.79048 + 33.34959 35.87160 39.07785 48.41591 + 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 12.37106 + 12.37106 12.37106 12.37106 12.37106 12.52116 12.52116 12.81778 13.83462 + 15.15072 15.45197 15.75811 16.06984 16.38784 16.87801 17.21449 17.55941 + 17.91336 18.27692 18.84144 19.23134 19.83785 20.25735 21.13501 21.82906 + 22.80543 24.38717 26.40318 32.32547 + 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 9.28480 + 9.28480 9.28480 9.28480 9.28480 9.39589 9.39589 9.61413 10.34944 + 11.27463 11.48298 11.69365 11.90716 12.12406 12.45682 12.68431 12.91683 + 13.15484 13.39875 13.77662 14.03712 14.44174 14.72129 15.30560 15.76733 + 16.41663 17.46853 18.80973 22.77365 + 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 6.56657 + 6.56657 6.56657 6.56657 6.56657 6.64430 6.64430 6.79591 7.29545 + 7.89980 8.03260 8.16581 8.29983 8.43503 8.64081 8.78049 8.92251 + 9.06721 9.21486 9.44253 9.59884 9.84077 10.00743 10.35479 10.62862 + 11.01305 11.63510 12.42601 14.77543 + 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 4.70828 + 4.70828 4.70828 4.70828 4.70828 4.76372 4.76372 4.87098 5.21531 + 5.61170 5.69590 5.77938 5.86243 5.94531 6.06990 6.15346 6.23770 + 6.32281 6.40901 6.54076 6.63051 6.76846 6.86288 7.05842 7.21156 + 7.42544 7.76956 8.20350 9.49381 + 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 2.18240 + 2.18240 2.18240 2.18240 2.18240 2.21140 2.21140 2.26676 2.43597 + 2.60977 2.64334 2.67544 2.70619 2.73575 2.77810 2.80518 2.83145 + 2.85701 2.88196 2.91839 2.94214 2.97713 3.00012 3.04562 3.07952 + 3.12477 3.19353 3.27341 3.49726 + 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 0.30928 + 0.30928 0.30928 0.30928 0.30928 0.32082 0.32082 0.34409 0.42672 + 0.53363 0.55736 0.58108 0.60479 0.62851 0.66414 0.68796 0.71184 + 0.73582 0.75991 0.79630 0.82076 0.85783 0.88281 0.93353 0.97231 + 1.02513 1.10707 1.20632 1.47435 + SOOT 2 sca + 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 4.95749 + 4.95749 4.95749 4.95749 4.95749 5.04887 5.04887 5.23835 5.98038 + 7.14630 7.44252 7.75349 8.07976 8.42193 8.96624 9.35067 9.75301 + 10.17386 10.61381 11.31083 11.80109 12.57628 13.12045 14.27706 15.20661 + 16.53274 18.71758 21.56316 30.05949 + 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 3.03268 + 3.03268 3.03268 3.03268 3.03268 3.08888 3.08888 3.20522 3.65914 + 4.37029 4.55091 4.74055 4.93960 5.14842 5.48084 5.71581 5.96191 + 6.21954 6.48910 6.91669 7.21782 7.69465 8.02987 8.74375 9.31879 + 10.14108 11.50054 13.28035 18.65006 + 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 1.93167 + 1.93167 1.93167 1.93167 1.93167 1.96836 1.96836 2.04424 2.33955 + 2.80118 2.91838 3.04146 3.17067 3.30626 3.52221 3.67493 3.83498 + 4.00261 4.17811 4.45673 4.65314 4.96446 5.18357 5.65084 6.02790 + 6.56802 7.46323 8.63904 12.21558 + 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 1.05247 + 1.05247 1.05247 1.05247 1.05247 1.07317 1.07317 1.11596 1.28224 + 1.54207 1.60809 1.67746 1.75033 1.82686 1.94887 2.03525 2.12585 + 2.22084 2.32039 2.47865 2.59036 2.76768 2.89266 3.15971 3.37569 + 3.68584 4.20182 4.88226 6.97311 + 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 0.52130 + 0.52130 0.52130 0.52130 0.52130 0.53187 0.53187 0.55369 0.63839 + 0.77080 0.80450 0.83994 0.87719 0.91636 0.97888 1.02321 1.06975 + 1.11862 1.16990 1.25154 1.30928 1.40108 1.46590 1.60471 1.71726 + 1.87933 2.15002 2.50852 3.62305 + 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 0.06129 + 0.06129 0.06129 0.06129 0.06129 0.06271 0.06271 0.06561 0.07669 + 0.09367 0.09796 0.10247 0.10720 0.11217 0.12010 0.12573 0.13164 + 0.13785 0.14438 0.15479 0.16217 0.17394 0.18227 0.20018 0.21477 + 0.23588 0.27143 0.31883 0.47022 + 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 + 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00008 + 0.00010 0.00010 0.00010 0.00011 0.00011 0.00012 0.00012 0.00013 + 0.00013 0.00014 0.00015 0.00015 0.00016 0.00017 0.00018 0.00019 + 0.00020 0.00022 0.00025 0.00033 + SOOT 2 asy + 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 0.42162 + 0.42162 0.42162 0.42162 0.42162 0.42665 0.42665 0.43643 0.46813 + 0.50371 0.51091 0.51788 0.52462 0.53115 0.54054 0.54656 0.55238 + 0.55802 0.56349 0.57137 0.57642 0.58370 0.58838 0.59730 0.60365 + 0.61169 0.62292 0.63482 0.65940 + 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 0.37188 + 0.37188 0.37188 0.37188 0.37188 0.37646 0.37646 0.38540 0.41475 + 0.44847 0.45541 0.46217 0.46874 0.47513 0.48441 0.49039 0.49622 + 0.50189 0.50742 0.51544 0.52062 0.52814 0.53300 0.54234 0.54905 + 0.55761 0.56969 0.58271 0.61027 + 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 0.33357 + 0.33357 0.33357 0.33357 0.33357 0.33768 0.33768 0.34574 0.37246 + 0.40371 0.41023 0.41660 0.42283 0.42892 0.43780 0.44356 0.44919 + 0.45470 0.46009 0.46796 0.47307 0.48053 0.48537 0.49475 0.50153 + 0.51024 0.52264 0.53612 0.56532 + 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 0.28541 + 0.28541 0.28541 0.28541 0.28541 0.28893 0.28893 0.29586 0.31911 + 0.34694 0.35283 0.35863 0.36433 0.36993 0.37816 0.38353 0.38881 + 0.39401 0.39912 0.40662 0.41152 0.41871 0.42341 0.43258 0.43926 + 0.44792 0.46039 0.47407 0.50446 + 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 0.23111 + 0.23111 0.23111 0.23111 0.23111 0.23402 0.23402 0.23980 0.25945 + 0.28357 0.28877 0.29392 0.29901 0.30404 0.31149 0.31639 0.32123 + 0.32602 0.33075 0.33774 0.34234 0.34913 0.35359 0.36234 0.36877 + 0.37717 0.38938 0.40289 0.43380 + 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 0.09029 + 0.09029 0.09029 0.09029 0.09029 0.09154 0.09154 0.09406 0.10322 + 0.11574 0.11863 0.12155 0.12452 0.12751 0.13207 0.13514 0.13825 + 0.14138 0.14454 0.14932 0.15253 0.15739 0.16065 0.16721 0.17216 + 0.17879 0.18877 0.19988 0.22757 + 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 0.00256 + 0.00256 0.00256 0.00256 0.00256 0.00258 0.00258 0.00261 0.00274 + 0.00296 0.00302 0.00308 0.00314 0.00321 0.00331 0.00338 0.00345 + 0.00352 0.00360 0.00371 0.00379 0.00391 0.00400 0.00417 0.00430 + 0.00449 0.00477 0.00511 0.00603 + SOOT 2 ssa + 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 0.29033 + 0.29033 0.29033 0.29033 0.29033 0.29202 0.29202 0.29568 0.31132 + 0.33697 0.34340 0.35007 0.35696 0.36407 0.37509 0.38267 0.39041 + 0.39830 0.40633 0.41861 0.42693 0.43958 0.44811 0.46533 0.47834 + 0.49574 0.52179 0.55180 0.62086 + 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 0.24514 + 0.24514 0.24514 0.24514 0.24514 0.24669 0.24669 0.25006 0.26449 + 0.28845 0.29452 0.30083 0.30738 0.31416 0.32473 0.33203 0.33953 + 0.34720 0.35504 0.36710 0.37532 0.38788 0.39639 0.41371 0.42690 + 0.44468 0.47158 0.50298 0.57695 + 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 0.20805 + 0.20805 0.20805 0.20805 0.20805 0.20949 0.20949 0.21263 0.22606 + 0.24845 0.25415 0.26010 0.26628 0.27270 0.28275 0.28972 0.29690 + 0.30427 0.31183 0.32350 0.33149 0.34376 0.35211 0.36920 0.38230 + 0.40008 0.42724 0.45929 0.53639 + 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 0.16028 + 0.16028 0.16028 0.16028 0.16028 0.16152 0.16152 0.16421 0.17576 + 0.19520 0.20020 0.20542 0.21089 0.21658 0.22554 0.23179 0.23826 + 0.24493 0.25181 0.26250 0.26986 0.28125 0.28905 0.30514 0.31760 + 0.33468 0.36113 0.39291 0.47194 + 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 0.11072 + 0.11072 0.11072 0.11072 0.11072 0.11165 0.11165 0.11367 0.12241 + 0.13736 0.14124 0.14533 0.14963 0.15413 0.16127 0.16628 0.17150 + 0.17692 0.18254 0.19135 0.19746 0.20700 0.21360 0.22735 0.23813 + 0.25309 0.27672 0.30579 0.38162 + 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 0.02808 + 0.02808 0.02808 0.02808 0.02808 0.02836 0.02836 0.02895 0.03148 + 0.03589 0.03706 0.03830 0.03961 0.04100 0.04323 0.04482 0.04649 + 0.04825 0.05010 0.05304 0.05512 0.05843 0.06075 0.06573 0.06974 + 0.07549 0.08499 0.09740 0.13445 + 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 + 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 0.00019 0.00018 + 0.00018 0.00018 0.00018 0.00018 0.00018 0.00018 0.00018 0.00018 + 0.00018 0.00018 0.00018 0.00018 0.00019 0.00019 0.00019 0.00019 + 0.00019 0.00020 0.00021 0.00022 diff --git a/parm/optics_luts_SUSO.dat b/fix/chem/optics_luts_SUSO.dat similarity index 100% rename from parm/optics_luts_SUSO.dat rename to fix/chem/optics_luts_SUSO.dat diff --git a/fix/chem/optics_luts_SUSO_nasa.dat b/fix/chem/optics_luts_SUSO_nasa.dat new file mode 100644 index 0000000000..fcac681bc1 --- /dev/null +++ b/fix/chem/optics_luts_SUSO_nasa.dat @@ -0,0 +1,144 @@ + SUSO 1 ext + 6.71789 7.34575 7.99075 8.69091 9.46875 10.28886 10.88757 11.69475 + 12.58755 13.58692 14.57186 15.45897 16.14637 17.20462 18.43179 19.75682 + 20.87125 21.11399 21.37268 21.83684 22.12476 22.40634 22.94827 23.21259 + 23.74240 24.01264 24.57235 25.16338 26.10538 26.74188 27.61039 28.66330 + 29.51034 31.20347 33.07931 36.51160 + 4.56469 5.05605 5.59972 6.19833 6.83680 7.50620 8.03742 8.79841 + 9.62224 10.49918 11.40579 12.33402 13.05920 14.08798 15.19487 16.63693 + 18.05379 18.33612 18.62061 18.85984 19.16473 19.47312 20.09947 20.41711 + 21.06072 21.38618 22.04172 22.69888 23.68203 24.33858 25.33589 26.71131 + 27.78360 29.60982 31.73057 35.83813 + 3.14876 3.51491 3.92393 4.37623 4.86752 5.39512 5.81631 6.41614 + 7.06412 7.76499 8.52076 9.32423 9.95116 10.81829 11.73202 12.96055 + 14.29072 14.56739 14.84690 15.04713 15.32685 15.60860 16.17821 16.46629 + 17.04988 17.34579 17.94658 18.55992 19.50413 20.15041 21.14712 22.52597 + 23.58572 25.36972 27.56503 31.91403 + 1.82579 2.06308 2.32959 2.62587 2.95159 3.30674 3.59292 4.00240 + 4.44632 4.92837 5.45257 6.02159 6.47768 7.12267 7.80725 8.71914 + 9.70009 9.90532 10.11373 10.27319 10.48705 10.70418 11.14840 11.37555 + 11.83994 12.07714 12.56131 13.05802 13.82523 14.35071 15.15937 16.27657 + 17.14529 18.65638 20.58504 24.44678 + 0.92838 1.06685 1.22116 1.39201 1.58036 1.78749 1.95614 2.20038 + 2.46891 2.76416 3.08839 3.44323 3.72997 4.13989 4.58131 5.17757 + 5.82470 5.96047 6.09842 6.20188 6.34365 6.48770 6.78283 6.93399 + 7.24369 7.40232 7.72734 8.06294 8.58670 8.94968 9.51495 10.30721 + 10.92983 12.02068 13.41759 16.24252 + 0.09352 0.11136 0.13200 0.15573 0.18286 0.21368 0.23942 0.27750 + 0.32019 0.36783 0.42078 0.47945 0.52745 0.59713 0.67376 0.78014 + 0.89937 0.92486 0.95094 0.97126 0.99834 1.02603 1.08326 1.11283 + 1.17394 1.20550 1.27070 1.33875 1.44638 1.52199 1.64142 1.81240 + 1.94984 2.19729 2.52602 3.22413 + 0.13152 0.14817 0.16530 0.18291 0.20105 0.21977 0.23423 0.25411 + 0.27473 0.29617 0.31849 0.34174 0.35983 0.38488 0.41101 0.44531 + 0.48151 0.48899 0.49655 0.50211 0.50980 0.51756 0.53334 0.54136 + 0.55765 0.56593 0.58274 0.59991 0.62634 0.64442 0.67225 0.71069 + 0.74054 0.79231 0.85784 0.98808 + SUSO 1 sca + 6.71789 7.34575 7.99075 8.69091 9.46875 10.28886 10.88757 11.69475 + 12.58755 13.58692 14.57186 15.45897 16.14637 17.20462 18.43179 19.75682 + 20.87125 21.11399 21.37268 21.83684 22.12476 22.40634 22.94827 23.21259 + 23.74240 24.01264 24.57235 25.16338 26.10538 26.74188 27.61039 28.66330 + 29.51034 31.20347 33.07931 36.51160 + 4.56469 5.05605 5.59972 6.19833 6.83680 7.50620 8.03742 8.79841 + 9.62224 10.49918 11.40579 12.33402 13.05920 14.08798 15.19487 16.63693 + 18.05379 18.33612 18.62061 18.85984 19.16473 19.47312 20.09947 20.41711 + 21.06072 21.38618 22.04172 22.69888 23.68203 24.33858 25.33589 26.71131 + 27.78360 29.60982 31.73057 35.83813 + 3.14876 3.51491 3.92393 4.37623 4.86752 5.39512 5.81631 6.41614 + 7.06412 7.76499 8.52076 9.32423 9.95116 10.81829 11.73202 12.96055 + 14.29072 14.56739 14.84690 15.04713 15.32685 15.60860 16.17821 16.46629 + 17.04988 17.34579 17.94658 18.55992 19.50413 20.15041 21.14712 22.52597 + 23.58572 25.36972 27.56503 31.91403 + 1.82579 2.06308 2.32959 2.62587 2.95159 3.30674 3.59292 4.00240 + 4.44632 4.92837 5.45257 6.02159 6.47768 7.12267 7.80725 8.71914 + 9.70009 9.90532 10.11373 10.27319 10.48705 10.70418 11.14840 11.37555 + 11.83994 12.07714 12.56131 13.05802 13.82523 14.35071 15.15937 16.27657 + 17.14529 18.65638 20.58504 24.44678 + 0.92838 1.06685 1.22116 1.39201 1.58036 1.78749 1.95614 2.20038 + 2.46891 2.76416 3.08839 3.44323 3.72997 4.13989 4.58131 5.17757 + 5.82470 5.96047 6.09842 6.20188 6.34365 6.48770 6.78283 6.93399 + 7.24369 7.40232 7.72734 8.06294 8.58670 8.94968 9.51495 10.30721 + 10.92983 12.02068 13.41749 16.24240 + 0.09183 0.10960 0.13016 0.15380 0.18083 0.21156 0.23722 0.27519 + 0.31776 0.36527 0.41809 0.47662 0.52451 0.59403 0.67050 0.77666 + 0.89565 0.92110 0.94712 0.96741 0.99444 1.02208 1.07920 1.10872 + 1.16972 1.20122 1.26630 1.33423 1.44169 1.51717 1.63640 1.80711 + 1.94434 2.19142 2.51968 3.21685 + 0.00024 0.00026 0.00029 0.00032 0.00034 0.00037 0.00040 0.00043 + 0.00047 0.00051 0.00055 0.00060 0.00063 0.00068 0.00074 0.00082 + 0.00091 0.00093 0.00094 0.00096 0.00098 0.00100 0.00104 0.00106 + 0.00110 0.00113 0.00117 0.00122 0.00130 0.00135 0.00144 0.00156 + 0.00166 0.00184 0.00208 0.00260 + SUSO 1 asy + 0.73442 0.74363 0.75072 0.75644 0.76211 0.76813 0.77198 0.77519 + 0.77734 0.78012 0.78421 0.78667 0.78688 0.78638 0.78772 0.79193 + 0.79150 0.79087 0.79014 0.79018 0.79041 0.79071 0.79131 0.79148 + 0.79146 0.79127 0.79064 0.78983 0.78880 0.78878 0.78986 0.79011 + 0.78866 0.78513 0.78748 0.78044 + 0.71367 0.72361 0.73269 0.74114 0.74865 0.75515 0.75966 0.76545 + 0.77097 0.77606 0.78043 0.78390 0.78613 0.78904 0.79214 0.79609 + 0.79898 0.79936 0.79969 0.79965 0.80003 0.80041 0.80114 0.80150 + 0.80220 0.80257 0.80332 0.80409 0.80511 0.80561 0.80609 0.80642 + 0.80669 0.80752 0.80824 0.80691 + 0.67090 0.68247 0.69360 0.70411 0.71374 0.72250 0.72861 0.73623 + 0.74327 0.74979 0.75584 0.76133 0.76504 0.76954 0.77381 0.77904 + 0.78405 0.78500 0.78592 0.78647 0.78731 0.78812 0.78963 0.79034 + 0.79170 0.79234 0.79359 0.79478 0.79650 0.79761 0.79925 0.80146 + 0.80308 0.80534 0.80724 0.81015 + 0.59425 0.61000 0.62506 0.63900 0.65163 0.66299 0.67076 0.68032 + 0.68918 0.69757 0.70563 0.71337 0.71890 0.72584 0.73227 0.73975 + 0.74672 0.74806 0.74938 0.75033 0.75161 0.75287 0.75533 0.75653 + 0.75887 0.76002 0.76224 0.76437 0.76740 0.76932 0.77205 0.77548 + 0.77794 0.78187 0.78640 0.79387 + 0.49908 0.51627 0.53162 0.54560 0.55865 0.57115 0.58033 0.59246 + 0.60452 0.61644 0.62809 0.63924 0.64718 0.65711 0.66624 0.67662 + 0.68601 0.68779 0.68954 0.69080 0.69250 0.69419 0.69750 0.69912 + 0.70231 0.70388 0.70697 0.71001 0.71445 0.71735 0.72157 0.72697 + 0.73085 0.73698 0.74385 0.75527 + 0.14193 0.15301 0.16460 0.17668 0.18925 0.20232 0.21244 0.22635 + 0.24072 0.25552 0.27073 0.28629 0.29817 0.31424 0.33051 0.35098 + 0.37145 0.37552 0.37959 0.38293 0.38695 0.39096 0.39891 0.40285 + 0.41068 0.41455 0.42221 0.42976 0.44081 0.44800 0.45847 0.47184 + 0.48138 0.49633 0.51273 0.53874 + 0.00417 0.00433 0.00451 0.00471 0.00492 0.00515 0.00533 0.00559 + 0.00586 0.00614 0.00643 0.00674 0.00698 0.00730 0.00764 0.00808 + 0.00854 0.00863 0.00872 0.00882 0.00891 0.00901 0.00920 0.00930 + 0.00950 0.00960 0.00980 0.01000 0.01031 0.01052 0.01084 0.01128 + 0.01161 0.01218 0.01288 0.01423 + SUSO 1 ssa + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 + 1.00000 1.00000 0.99999 0.99999 + 0.98197 0.98416 0.98601 0.98758 0.98891 0.99005 0.99079 0.99166 + 0.99241 0.99305 0.99361 0.99410 0.99443 0.99482 0.99516 0.99554 + 0.99587 0.99593 0.99599 0.99604 0.99609 0.99615 0.99625 0.99630 + 0.99640 0.99645 0.99654 0.99663 0.99675 0.99683 0.99694 0.99708 + 0.99718 0.99733 0.99749 0.99774 + 0.00180 0.00177 0.00174 0.00173 0.00171 0.00170 0.00170 0.00170 + 0.00171 0.00171 0.00173 0.00174 0.00176 0.00178 0.00180 0.00184 + 0.00188 0.00189 0.00190 0.00191 0.00192 0.00193 0.00195 0.00196 + 0.00198 0.00199 0.00201 0.00204 0.00208 0.00210 0.00214 0.00220 + 0.00225 0.00232 0.00243 0.00263 diff --git a/parm/optics_luts_WASO.dat b/fix/chem/optics_luts_WASO.dat similarity index 100% rename from parm/optics_luts_WASO.dat rename to fix/chem/optics_luts_WASO.dat diff --git a/fix/chem/optics_luts_WASO_nasa.dat b/fix/chem/optics_luts_WASO_nasa.dat new file mode 100644 index 0000000000..13ecd52588 --- /dev/null +++ b/fix/chem/optics_luts_WASO_nasa.dat @@ -0,0 +1,288 @@ + WASO 1 ext + 5.79780 5.79780 5.79780 5.79780 5.79780 5.79780 5.79780 5.79780 + 5.79780 5.79780 5.79780 5.79780 5.79780 5.79780 5.79780 5.79780 + 5.79780 5.79780 5.79780 5.79780 5.79780 5.79780 5.79780 5.79780 + 5.79780 5.79780 5.79780 5.79780 5.79780 5.79780 5.79780 5.79780 + 5.79780 5.79780 5.79780 5.79780 + 3.93101 3.93101 3.93101 3.93101 3.93101 3.93101 3.93101 3.93101 + 3.93101 3.93101 3.93101 3.93101 3.93101 3.93101 3.93101 3.93101 + 3.93101 3.93101 3.93101 3.93101 3.93101 3.93101 3.93101 3.93101 + 3.93101 3.93101 3.93101 3.93101 3.93101 3.93101 3.93101 3.93101 + 3.93101 3.93101 3.93101 3.93101 + 2.67214 2.67214 2.67214 2.67214 2.67214 2.67214 2.67214 2.67214 + 2.67214 2.67214 2.67214 2.67214 2.67214 2.67214 2.67214 2.67214 + 2.67214 2.67214 2.67214 2.67214 2.67214 2.67214 2.67214 2.67214 + 2.67214 2.67214 2.67214 2.67214 2.67214 2.67214 2.67214 2.67214 + 2.67214 2.67214 2.67214 2.67214 + 1.54060 1.54060 1.54060 1.54060 1.54060 1.54060 1.54060 1.54060 + 1.54060 1.54060 1.54060 1.54060 1.54060 1.54060 1.54060 1.54060 + 1.54060 1.54060 1.54060 1.54060 1.54060 1.54060 1.54060 1.54060 + 1.54060 1.54060 1.54060 1.54060 1.54060 1.54060 1.54060 1.54060 + 1.54060 1.54060 1.54060 1.54060 + 0.80126 0.80126 0.80126 0.80126 0.80126 0.80126 0.80126 0.80126 + 0.80126 0.80126 0.80126 0.80126 0.80126 0.80126 0.80126 0.80126 + 0.80126 0.80126 0.80126 0.80126 0.80126 0.80126 0.80126 0.80126 + 0.80126 0.80126 0.80126 0.80126 0.80126 0.80126 0.80126 0.80126 + 0.80126 0.80126 0.80126 0.80126 + 0.11946 0.11946 0.11946 0.11946 0.11946 0.11946 0.11946 0.11946 + 0.11946 0.11946 0.11946 0.11946 0.11946 0.11946 0.11946 0.11946 + 0.11946 0.11946 0.11946 0.11946 0.11946 0.11946 0.11946 0.11946 + 0.11946 0.11946 0.11946 0.11946 0.11946 0.11946 0.11946 0.11946 + 0.11946 0.11946 0.11946 0.11946 + 0.01885 0.01885 0.01885 0.01885 0.01885 0.01885 0.01885 0.01885 + 0.01885 0.01885 0.01885 0.01885 0.01885 0.01885 0.01885 0.01885 + 0.01885 0.01885 0.01885 0.01885 0.01885 0.01885 0.01885 0.01885 + 0.01885 0.01885 0.01885 0.01885 0.01885 0.01885 0.01885 0.01885 + 0.01885 0.01885 0.01885 0.01885 + WASO 1 sca + 5.63921 5.63921 5.63921 5.63921 5.63921 5.63921 5.63921 5.63921 + 5.63921 5.63921 5.63921 5.63921 5.63921 5.63921 5.63921 5.63921 + 5.63921 5.63921 5.63921 5.63921 5.63921 5.63921 5.63921 5.63921 + 5.63921 5.63921 5.63921 5.63921 5.63921 5.63921 5.63921 5.63921 + 5.63921 5.63921 5.63921 5.63921 + 3.81805 3.81805 3.81805 3.81805 3.81805 3.81805 3.81805 3.81805 + 3.81805 3.81805 3.81805 3.81805 3.81805 3.81805 3.81805 3.81805 + 3.81805 3.81805 3.81805 3.81805 3.81805 3.81805 3.81805 3.81805 + 3.81805 3.81805 3.81805 3.81805 3.81805 3.81805 3.81805 3.81805 + 3.81805 3.81805 3.81805 3.81805 + 2.57014 2.57014 2.57014 2.57014 2.57014 2.57014 2.57014 2.57014 + 2.57014 2.57014 2.57014 2.57014 2.57014 2.57014 2.57014 2.57014 + 2.57014 2.57014 2.57014 2.57014 2.57014 2.57014 2.57014 2.57014 + 2.57014 2.57014 2.57014 2.57014 2.57014 2.57014 2.57014 2.57014 + 2.57014 2.57014 2.57014 2.57014 + 1.45668 1.45668 1.45668 1.45668 1.45668 1.45668 1.45668 1.45668 + 1.45668 1.45668 1.45668 1.45668 1.45668 1.45668 1.45668 1.45668 + 1.45668 1.45668 1.45668 1.45668 1.45668 1.45668 1.45668 1.45668 + 1.45668 1.45668 1.45668 1.45668 1.45668 1.45668 1.45668 1.45668 + 1.45668 1.45668 1.45668 1.45668 + 0.69387 0.69387 0.69387 0.69387 0.69387 0.69387 0.69387 0.69387 + 0.69387 0.69387 0.69387 0.69387 0.69387 0.69387 0.69387 0.69387 + 0.69387 0.69387 0.69387 0.69387 0.69387 0.69387 0.69387 0.69387 + 0.69387 0.69387 0.69387 0.69387 0.69387 0.69387 0.69387 0.69387 + 0.69387 0.69387 0.69387 0.69387 + 0.05918 0.05918 0.05918 0.05918 0.05918 0.05918 0.05918 0.05918 + 0.05918 0.05918 0.05918 0.05918 0.05918 0.05918 0.05918 0.05918 + 0.05918 0.05918 0.05918 0.05918 0.05918 0.05918 0.05918 0.05918 + 0.05918 0.05918 0.05918 0.05918 0.05918 0.05918 0.05918 0.05918 + 0.05918 0.05918 0.05918 0.05918 + 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 + 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 + 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 + 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 0.00006 + 0.00006 0.00006 0.00006 0.00006 + WASO 1 asy + 0.64569 0.64569 0.64569 0.64569 0.64569 0.64569 0.64569 0.64569 + 0.64569 0.64569 0.64569 0.64569 0.64569 0.64569 0.64569 0.64569 + 0.64569 0.64569 0.64569 0.64569 0.64569 0.64569 0.64569 0.64569 + 0.64569 0.64569 0.64569 0.64569 0.64569 0.64569 0.64569 0.64569 + 0.64569 0.64569 0.64569 0.64569 + 0.61683 0.61683 0.61683 0.61683 0.61683 0.61683 0.61683 0.61683 + 0.61683 0.61683 0.61683 0.61683 0.61683 0.61683 0.61683 0.61683 + 0.61683 0.61683 0.61683 0.61683 0.61683 0.61683 0.61683 0.61683 + 0.61683 0.61683 0.61683 0.61683 0.61683 0.61683 0.61683 0.61683 + 0.61683 0.61683 0.61683 0.61683 + 0.57928 0.57928 0.57928 0.57928 0.57928 0.57928 0.57928 0.57928 + 0.57928 0.57928 0.57928 0.57928 0.57928 0.57928 0.57928 0.57928 + 0.57928 0.57928 0.57928 0.57928 0.57928 0.57928 0.57928 0.57928 + 0.57928 0.57928 0.57928 0.57928 0.57928 0.57928 0.57928 0.57928 + 0.57928 0.57928 0.57928 0.57928 + 0.51512 0.51512 0.51512 0.51512 0.51512 0.51512 0.51512 0.51512 + 0.51512 0.51512 0.51512 0.51512 0.51512 0.51512 0.51512 0.51512 + 0.51512 0.51512 0.51512 0.51512 0.51512 0.51512 0.51512 0.51512 + 0.51512 0.51512 0.51512 0.51512 0.51512 0.51512 0.51512 0.51512 + 0.51512 0.51512 0.51512 0.51512 + 0.42834 0.42834 0.42834 0.42834 0.42834 0.42834 0.42834 0.42834 + 0.42834 0.42834 0.42834 0.42834 0.42834 0.42834 0.42834 0.42834 + 0.42834 0.42834 0.42834 0.42834 0.42834 0.42834 0.42834 0.42834 + 0.42834 0.42834 0.42834 0.42834 0.42834 0.42834 0.42834 0.42834 + 0.42834 0.42834 0.42834 0.42834 + 0.12606 0.12606 0.12606 0.12606 0.12606 0.12606 0.12606 0.12606 + 0.12606 0.12606 0.12606 0.12606 0.12606 0.12606 0.12606 0.12606 + 0.12606 0.12606 0.12606 0.12606 0.12606 0.12606 0.12606 0.12606 + 0.12606 0.12606 0.12606 0.12606 0.12606 0.12606 0.12606 0.12606 + 0.12606 0.12606 0.12606 0.12606 + 0.00328 0.00328 0.00328 0.00328 0.00328 0.00328 0.00328 0.00328 + 0.00328 0.00328 0.00328 0.00328 0.00328 0.00328 0.00328 0.00328 + 0.00328 0.00328 0.00328 0.00328 0.00328 0.00328 0.00328 0.00328 + 0.00328 0.00328 0.00328 0.00328 0.00328 0.00328 0.00328 0.00328 + 0.00328 0.00328 0.00328 0.00328 + WASO 1 ssa + 0.97265 0.97265 0.97265 0.97265 0.97265 0.97265 0.97265 0.97265 + 0.97265 0.97265 0.97265 0.97265 0.97265 0.97265 0.97265 0.97265 + 0.97265 0.97265 0.97265 0.97265 0.97265 0.97265 0.97265 0.97265 + 0.97265 0.97265 0.97265 0.97265 0.97265 0.97265 0.97265 0.97265 + 0.97265 0.97265 0.97265 0.97265 + 0.97126 0.97126 0.97126 0.97126 0.97126 0.97126 0.97126 0.97126 + 0.97126 0.97126 0.97126 0.97126 0.97126 0.97126 0.97126 0.97126 + 0.97126 0.97126 0.97126 0.97126 0.97126 0.97126 0.97126 0.97126 + 0.97126 0.97126 0.97126 0.97126 0.97126 0.97126 0.97126 0.97126 + 0.97126 0.97126 0.97126 0.97126 + 0.96183 0.96183 0.96183 0.96183 0.96183 0.96183 0.96183 0.96183 + 0.96183 0.96183 0.96183 0.96183 0.96183 0.96183 0.96183 0.96183 + 0.96183 0.96183 0.96183 0.96183 0.96183 0.96183 0.96183 0.96183 + 0.96183 0.96183 0.96183 0.96183 0.96183 0.96183 0.96183 0.96183 + 0.96183 0.96183 0.96183 0.96183 + 0.94552 0.94552 0.94552 0.94552 0.94552 0.94552 0.94552 0.94552 + 0.94552 0.94552 0.94552 0.94552 0.94552 0.94552 0.94552 0.94552 + 0.94552 0.94552 0.94552 0.94552 0.94552 0.94552 0.94552 0.94552 + 0.94552 0.94552 0.94552 0.94552 0.94552 0.94552 0.94552 0.94552 + 0.94552 0.94552 0.94552 0.94552 + 0.86597 0.86597 0.86597 0.86597 0.86597 0.86597 0.86597 0.86597 + 0.86597 0.86597 0.86597 0.86597 0.86597 0.86597 0.86597 0.86597 + 0.86597 0.86597 0.86597 0.86597 0.86597 0.86597 0.86597 0.86597 + 0.86597 0.86597 0.86597 0.86597 0.86597 0.86597 0.86597 0.86597 + 0.86597 0.86597 0.86597 0.86597 + 0.49542 0.49542 0.49542 0.49542 0.49542 0.49542 0.49542 0.49542 + 0.49542 0.49542 0.49542 0.49542 0.49542 0.49542 0.49542 0.49542 + 0.49542 0.49542 0.49542 0.49542 0.49542 0.49542 0.49542 0.49542 + 0.49542 0.49542 0.49542 0.49542 0.49542 0.49542 0.49542 0.49542 + 0.49542 0.49542 0.49542 0.49542 + 0.00317 0.00317 0.00317 0.00317 0.00317 0.00317 0.00317 0.00317 + 0.00317 0.00317 0.00317 0.00317 0.00317 0.00317 0.00317 0.00317 + 0.00317 0.00317 0.00317 0.00317 0.00317 0.00317 0.00317 0.00317 + 0.00317 0.00317 0.00317 0.00317 0.00317 0.00317 0.00317 0.00317 + 0.00317 0.00317 0.00317 0.00317 + WASO 2 ext + 5.79780 6.03943 6.42109 6.69193 6.97718 7.43097 7.74879 8.23879 + 8.57185 8.91404 9.45341 9.83412 10.44030 11.08576 11.52751 12.63415 + 13.81265 14.32452 14.59114 15.14595 15.43243 16.01248 16.58408 17.14057 + 17.69189 18.53733 19.43839 20.43587 21.74418 23.46807 25.32035 27.97857 + 31.69700 36.51280 44.90171 60.20667 + 3.93101 4.10329 4.37894 4.57256 4.77283 5.08581 5.30439 5.65069 + 5.89536 6.15151 6.55679 6.84072 7.28704 7.75659 8.08113 8.93348 + 9.85897 10.25348 10.45627 10.87291 11.08662 11.52400 11.97286 12.43059 + 12.89527 13.60642 14.34243 15.07664 16.16391 17.59593 19.09815 21.33319 + 24.47980 28.62759 35.87561 49.25817 + 2.67214 2.79269 2.98523 3.12118 3.26312 3.48759 3.64543 3.89545 + 4.07152 4.25540 4.54640 4.75096 5.07462 5.41971 5.66200 6.30830 + 7.00749 7.30238 7.45345 7.76343 7.92255 8.24955 8.58863 8.94003 + 9.30374 9.87178 10.46516 11.02628 11.87784 13.00796 14.21529 16.04385 + 18.61548 22.09383 28.26839 40.01330 + 1.54060 1.61469 1.73318 1.81718 1.90530 2.04549 2.14449 2.30172 + 2.41263 2.52861 2.71259 2.84225 3.04793 3.26788 3.42287 3.84098 + 4.30353 4.50090 4.60221 4.81015 4.91680 5.13560 5.36195 5.59613 + 5.83847 6.21790 6.61718 7.00296 7.59322 8.38552 9.23771 10.53153 + 12.37956 14.95231 19.60971 28.85583 + 0.80126 0.84182 0.90665 0.95268 1.00109 1.07839 1.13323 1.22076 + 1.28282 1.34802 1.45203 1.52574 1.64323 1.76950 1.85879 2.10078 + 2.37076 2.48686 2.54668 2.66992 2.73336 2.86392 2.99950 3.14020 + 3.28615 3.51521 3.75690 3.98987 4.34953 4.83573 5.36514 6.18255 + 7.36849 9.03479 12.13728 18.52812 + 0.11946 0.12473 0.13322 0.13930 0.14575 0.15615 0.16360 0.17561 + 0.18421 0.19331 0.20795 0.21840 0.23517 0.25335 0.26629 0.30173 + 0.34192 0.35944 0.36852 0.38736 0.39713 0.41737 0.43858 0.46082 + 0.48410 0.52110 0.56071 0.59931 0.65994 0.74353 0.83653 0.98402 + 1.20650 1.53463 2.17976 3.61102 + 0.01885 0.02288 0.02946 0.03420 0.03921 0.04725 0.05295 0.06202 + 0.06840 0.07507 0.08558 0.09293 0.10449 0.11668 0.12516 0.14762 + 0.17191 0.18215 0.18739 0.19808 0.20354 0.21470 0.22617 0.23796 + 0.25006 0.26882 0.28832 0.30741 0.33548 0.37250 0.41173 0.47049 + 0.55283 0.66435 0.86170 1.24307 + WASO 2 sca + 5.63921 5.88162 6.26400 6.53499 6.82021 7.27383 7.59164 8.08212 + 8.41573 8.75838 9.29803 9.67863 10.28427 10.92912 11.37080 12.47857 + 13.65736 14.16880 14.43507 14.98906 15.27513 15.85467 16.42641 16.98355 + 17.53560 18.38175 19.28263 20.27897 21.58752 23.31114 25.16248 27.82098 + 31.53811 36.35453 44.74257 60.04543 + 3.81805 3.99028 4.26587 4.45952 4.65990 4.97310 5.19179 5.53811 + 5.78271 6.03873 6.44379 6.72755 7.17363 7.64301 7.96750 8.81983 + 9.74510 10.13941 10.34208 10.75847 10.97205 11.40917 11.85784 12.31545 + 12.78011 13.49130 14.22729 14.96146 16.04839 17.48001 18.98199 21.21660 + 24.36235 28.50974 35.75671 49.13794 + 2.57014 2.69049 2.88276 3.01857 3.16038 3.38469 3.54241 3.79224 + 3.96815 4.15187 4.44260 4.64695 4.97028 5.31502 5.55706 6.20288 + 6.90174 7.19651 7.34751 7.65733 7.81636 8.14316 8.48201 8.83317 + 9.19662 9.76429 10.35734 10.91872 11.76998 12.89970 14.10660 15.93444 + 18.50537 21.98285 28.15617 39.89931 + 1.45668 1.53039 1.64835 1.73203 1.81985 1.95960 2.05833 2.21517 + 2.32581 2.44154 2.62514 2.75454 2.95984 3.17938 3.33410 3.75152 + 4.21345 4.41058 4.51179 4.71951 4.82606 5.04465 5.27079 5.50477 + 5.74689 6.12599 6.52494 6.91074 7.50055 8.29230 9.14400 10.43719 + 12.28443 14.85611 19.51216 28.75619 + 0.69387 0.73371 0.79753 0.84293 0.89074 0.96717 1.02145 1.10817 + 1.16971 1.23439 1.33763 1.41083 1.52757 1.65310 1.74190 1.98271 + 2.25157 2.36724 2.42685 2.54968 2.61292 2.74309 2.87828 3.01860 + 3.16418 3.39271 3.63386 3.86680 4.22576 4.71108 5.23962 6.05586 + 7.24042 8.90513 12.00517 18.39270 + 0.05918 0.06393 0.07169 0.07732 0.08333 0.09310 0.10016 0.11160 + 0.11983 0.12857 0.14268 0.15280 0.16908 0.18678 0.19941 0.23408 + 0.27353 0.29075 0.29969 0.31823 0.32785 0.34780 0.36872 0.39066 + 0.41366 0.45021 0.48938 0.52782 0.58786 0.67070 0.76294 0.90935 + 1.13042 1.45679 2.09916 3.52580 + 0.00006 0.00006 0.00007 0.00007 0.00007 0.00008 0.00008 0.00009 + 0.00009 0.00009 0.00010 0.00010 0.00011 0.00012 0.00013 0.00014 + 0.00016 0.00016 0.00017 0.00018 0.00018 0.00019 0.00020 0.00021 + 0.00022 0.00024 0.00025 0.00027 0.00030 0.00034 0.00038 0.00045 + 0.00056 0.00073 0.00108 0.00196 + WASO 2 asy + 0.64569 0.65180 0.66003 0.66514 0.67011 0.67741 0.68219 0.68913 + 0.69328 0.69699 0.70194 0.70501 0.70947 0.71408 0.71729 0.72442 + 0.72936 0.73105 0.73189 0.73367 0.73467 0.73696 0.73945 0.74173 + 0.74355 0.74545 0.74668 0.74899 0.75176 0.75429 0.75653 0.76053 + 0.76301 0.76787 0.77292 0.77667 + 0.61683 0.62310 0.63229 0.63817 0.64375 0.65148 0.65627 0.66311 + 0.66751 0.67181 0.67803 0.68200 0.68770 0.69311 0.69652 0.70424 + 0.71107 0.71368 0.71496 0.71753 0.71880 0.72133 0.72383 0.72625 + 0.72852 0.73159 0.73428 0.73677 0.74021 0.74430 0.74810 0.75250 + 0.75767 0.76286 0.76952 0.77615 + 0.57928 0.58582 0.59534 0.60141 0.60725 0.61558 0.62087 0.62847 + 0.63334 0.63806 0.64484 0.64918 0.65547 0.66153 0.66546 0.67478 + 0.68315 0.68626 0.68778 0.69075 0.69222 0.69512 0.69798 0.70080 + 0.70356 0.70759 0.71142 0.71470 0.71910 0.72419 0.72893 0.73518 + 0.74250 0.74970 0.75925 0.77002 + 0.51512 0.52219 0.53242 0.53897 0.54530 0.55440 0.56020 0.56856 + 0.57390 0.57909 0.58661 0.59147 0.59859 0.60554 0.61009 0.62115 + 0.63162 0.63559 0.63753 0.64133 0.64318 0.64681 0.65034 0.65378 + 0.65715 0.66205 0.66677 0.67097 0.67682 0.68374 0.69018 0.69844 + 0.70809 0.71885 0.73265 0.74976 + 0.42834 0.43485 0.44442 0.45068 0.45685 0.46599 0.47201 0.48097 + 0.48691 0.49282 0.50164 0.50750 0.51623 0.52486 0.53053 0.54433 + 0.55738 0.56236 0.56479 0.56955 0.57187 0.57641 0.58082 0.58510 + 0.58925 0.59526 0.60104 0.60613 0.61334 0.62200 0.63031 0.64131 + 0.65432 0.66858 0.68782 0.71206 + 0.12606 0.13054 0.13744 0.14217 0.14700 0.15442 0.15949 0.16728 + 0.17258 0.17797 0.18622 0.19183 0.20040 0.20915 0.21508 0.23019 + 0.24570 0.25199 0.25516 0.26152 0.26471 0.27112 0.27756 0.28402 + 0.29049 0.30020 0.30991 0.31871 0.33143 0.34705 0.36227 0.38266 + 0.40702 0.43367 0.46867 0.51450 + 0.00328 0.00335 0.00348 0.00357 0.00366 0.00380 0.00390 0.00406 + 0.00416 0.00427 0.00444 0.00456 0.00473 0.00492 0.00504 0.00537 + 0.00571 0.00585 0.00592 0.00606 0.00613 0.00628 0.00643 0.00658 + 0.00674 0.00697 0.00721 0.00744 0.00778 0.00821 0.00865 0.00929 + 0.01015 0.01126 0.01311 0.01634 + WASO 2 ssa + 0.97265 0.97387 0.97554 0.97655 0.97750 0.97885 0.97972 0.98098 + 0.98179 0.98254 0.98356 0.98419 0.98506 0.98587 0.98641 0.98769 + 0.98876 0.98913 0.98930 0.98964 0.98981 0.99014 0.99049 0.99084 + 0.99117 0.99161 0.99199 0.99232 0.99280 0.99331 0.99377 0.99437 + 0.99499 0.99567 0.99646 0.99732 + 0.97126 0.97246 0.97418 0.97528 0.97634 0.97784 0.97877 0.98008 + 0.98089 0.98167 0.98277 0.98346 0.98444 0.98536 0.98594 0.98728 + 0.98845 0.98887 0.98908 0.98947 0.98967 0.99004 0.99039 0.99074 + 0.99107 0.99154 0.99197 0.99236 0.99285 0.99341 0.99392 0.99453 + 0.99520 0.99588 0.99669 0.99756 + 0.96183 0.96341 0.96568 0.96712 0.96852 0.97049 0.97174 0.97350 + 0.97461 0.97567 0.97717 0.97811 0.97944 0.98068 0.98147 0.98329 + 0.98491 0.98550 0.98579 0.98633 0.98660 0.98710 0.98759 0.98805 + 0.98849 0.98911 0.98970 0.99024 0.99092 0.99168 0.99235 0.99318 + 0.99409 0.99498 0.99603 0.99715 + 0.94552 0.94779 0.95106 0.95314 0.95515 0.95801 0.95982 0.96240 + 0.96402 0.96557 0.96776 0.96914 0.97110 0.97292 0.97406 0.97671 + 0.97907 0.97993 0.98035 0.98116 0.98154 0.98229 0.98300 0.98367 + 0.98431 0.98522 0.98606 0.98683 0.98780 0.98888 0.98986 0.99104 + 0.99232 0.99357 0.99503 0.99655 + 0.86597 0.87158 0.87965 0.88480 0.88977 0.89687 0.90136 0.90777 + 0.91182 0.91570 0.92121 0.92469 0.92961 0.93422 0.93711 0.94379 + 0.94972 0.95190 0.95295 0.95496 0.95594 0.95781 0.95959 0.96128 + 0.96289 0.96515 0.96725 0.96915 0.97154 0.97422 0.97660 0.97951 + 0.98262 0.98565 0.98912 0.99269 + 0.49542 0.51259 0.53818 0.55506 0.57173 0.59625 0.61220 0.63546 + 0.65048 0.66508 0.68615 0.69963 0.71896 0.73724 0.74883 0.77579 + 0.79997 0.80889 0.81321 0.82153 0.82555 0.83331 0.84071 0.84776 + 0.85448 0.86396 0.87278 0.88072 0.89078 0.90205 0.91203 0.92412 + 0.93694 0.94928 0.96302 0.97640 + 0.00317 0.00273 0.00227 0.00204 0.00186 0.00164 0.00153 0.00139 + 0.00132 0.00125 0.00117 0.00113 0.00107 0.00103 0.00100 0.00095 + 0.00092 0.00090 0.00090 0.00089 0.00089 0.00088 0.00088 0.00088 + 0.00088 0.00088 0.00088 0.00088 0.00089 0.00090 0.00092 0.00096 + 0.00101 0.00109 0.00125 0.00157 diff --git a/parm/hires_micro_lookup.dat b/fix/hires_micro_lookup.dat similarity index 100% rename from parm/hires_micro_lookup.dat rename to fix/hires_micro_lookup.dat diff --git a/parm/nam_micro_lookup.dat b/fix/nam_micro_lookup.dat similarity index 100% rename from parm/nam_micro_lookup.dat rename to fix/nam_micro_lookup.dat diff --git a/parm/rap_micro_lookup.dat b/fix/rap_micro_lookup.dat similarity index 100% rename from parm/rap_micro_lookup.dat rename to fix/rap_micro_lookup.dat diff --git a/jobs/JGLOBAL_ATMOS_NCEPPOST b/jobs/JGLOBAL_ATMOS_NCEPPOST deleted file mode 100755 index 75da4d5ccc..0000000000 --- a/jobs/JGLOBAL_ATMOS_NCEPPOST +++ /dev/null @@ -1,161 +0,0 @@ -#!/bin/ksh -set -x - -export RUN_ENVIR=${RUN_ENVIR:-"nco"} -export PS4='$SECONDS + ' -date - - -############################# -# Source relevant config files -############################# -configs="base post" -export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} -for config in $configs; do - . $config_path/config.$config - status=$? - [[ $status -ne 0 ]] && exit $status -done - - -########################################## -# Source machine runtime environment -########################################## -. $HOMEgfs/env/${machine}.env post -status=$? -[[ $status -ne 0 ]] && exit $status - - -############################################## -# Obtain unique process id (pid) and make temp directory -############################################## -export pid=${pid:-$$} -export outid=${outid:-"LL$job"} -export DATA=${DATA:-${DATAROOT}/${jobid:?}} -mkdir -p $DATA -cd $DATA - - -############################################## -# Run setpdy and initialize PDY variables -############################################## -export cycle="t${cyc}z" -setpdy.sh -. ./PDY - - -############################################## -# Determine Job Output Name on System -############################################## -export pgmout="OUTPUT.${pid}" -export pgmerr=errfile - -#################################### -# Specify version numbers -#################################### -export crtm_ver=${post_crtm_ver:-v2.2.6} -export gfs_ver=${gfs_ver:-v15.0.0} -export hwrf_ver=${hwrf_ver:-v11.0.5} -export g2tmpl_ver=${g2tmpl_ver:-v1.5.0} - -############################################## -# Set variables used in the exglobal script -############################################## -export CDATE=${CDATE:-${PDY}${cyc}} -export CDUMP=${CDUMP:-${RUN:-"gfs"}} -export COMPONENT=${COMPONENT:-atmos} -if [ $RUN_ENVIR = "nco" ]; then - export ROTDIR=${COMROOT:?}/$NET/$envir -fi - - -############################################## -# Begin JOB SPECIFIC work -############################################## -export APRUNP=${APRUN:-$APRUN_NP} -export RERUN=${RERUN:-NO} -export HOMECRTM=${HOMECRTM:-${NWROOT}/lib/crtm/${crtm_ver}} -export FIXCRTM=${CRTM_FIX:-${HOMECRTM}/fix} -#export FIXCRTM=${FIXCRTM:-${NWROOThps}/hwrf.${hwrf_ver}/fix/hwrf-crtm-2.0.6} -export PARMpost=${PARMpost:-$HOMEgfs/parm/post} -export INLINE_POST=${WRITE_DOPOST:-".false."} - -if [ $RUN_ENVIR = "nco" ]; then - export COMIN=${COMIN:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT} - export COMOUT=${COMOUT:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT} -else - export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" - export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" -fi -[[ ! -d $COMOUT ]] && mkdir -m 775 -p $COMOUT - -if [ $RUN = gfs ];then - export FHOUT_PGB=${FHOUT_GFS:-3} #Output frequency of gfs pgb file at 1.0 and 0.5 deg. -fi -if [ $RUN = gdas ]; then - export IGEN_GFS="gfs_avn" - export IGEN_ANL="anal_gfs" - export IGEN_FCST="gfs_avn" - export IGEN_GDAS_ANL="anal_gdas" - export FHOUT_PGB=${FHOUT:-1} #Output frequency of gfs pgb file at 1.0 and 0.5 deg. -fi - -if [ $GRIBVERSION = grib2 ]; then - export IGEN_ANL="anal_gfs" - export IGEN_FCST="gfs_avn" - export IGEN_GFS="gfs_avn" -fi - -####################################### -# Specify Restart File Name to Key Off -####################################### -export restart_file=$COMIN/${RUN}.t${cyc}z.logf - -#################################### -# Specify Timeout Behavior of Post -# -# SLEEP_TIME - Amount of time to wait for -# a restart file before exiting -# SLEEP_INT - Amount of time to wait between -# checking for restart files -#################################### -export SLEEP_TIME=900 -export SLEEP_INT=5 - - -############################################################### -# Run relevant exglobal script -env -msg="HAS BEGUN on `hostname`" -postmsg "$jlogfile" "$msg" -$LOGSCRIPT - - -$SCRgfs/ex${RUN}_atmos_nceppost.sh -status=$? -[[ $status -ne 0 ]] && exit $status - -############################################## -# End JOB SPECIFIC work -############################################## - -############################################## -# Final processing -############################################## -if [ -e "$pgmout" ]; then - cat $pgmout -fi - -msg="ENDED NORMALLY." -postmsg "$jlogfile" "$msg" - - -########################################## -# Remove the Temporary working directory -########################################## -cd $DATAROOT -[[ $KEEPDATA = "NO" ]] && rm -rf $DATA - -date -exit 0 diff --git a/jobs/JGLOBAL_ATMOS_POST_MANAGER b/jobs/JGLOBAL_ATMOS_POST_MANAGER deleted file mode 100755 index 26b17bcd68..0000000000 --- a/jobs/JGLOBAL_ATMOS_POST_MANAGER +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/sh - -######################################## -# GFS post manager -######################################## - -export RUN_ENVIR=${RUN_ENVIR:-"nco"} -export PS4='$SECONDS + ' -date - -############################# -# Source relevant config files -############################# -set -x -configs="base post" -export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} -for config in $configs; do - . $config_path/config.$config - status=$? - [[ $status -ne 0 ]] && exit $status -done - - -########################################## -# Source machine runtime environment -########################################## -. $HOMEgfs/env/${machine}.env post -status=$? -[[ $status -ne 0 ]] && exit $status - -set -xue -# #### 07/30/1999 ################### -# SET SHELL PROCESSING VARIABLES -# ################################### -export PS4='$SECONDS + ' -date - -#################################### -# Specify NET and RUN Name and model -#################################### -export NET=${NET:-gfs} -export RUN=${RUN:-gfs} -export COMPONENT=${COMPONENT:-atmos} - -#################################### -# obtain unique process id (pid) and make temp directories -#################################### -export pid=${pid:-$$} -export DATA=${DATA:-${DATAROOT}/${jobid:?}} -mkdir $DATA -cd $DATA - -#################################### -# Determine Job Output Name on System -#################################### -export outid="LL$job" -export jobid="${outid}.o${pid}" -export pgmout="OUTPUT.${pid}" - -#################################### -# Specify version numbers -#################################### -export gfs_ver=${gfs_ver:-v15.0.0} - -#################################### -# Specify Execution Areas -#################################### -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} -export EXECgfs=${HOMEgfs:-$HOMEgfs/exec} -export FIXgfs=${HOMEgfs:-$HOMEgfs/fix} -export PARMgfs=${HOMEgfs:-$HOMEgfs/parm} -export USHgfs=${HOMEgfs:-$HOMEgfs/ush} - -########################### -# Set up EXT variable -########################### -export EXT_FCST=NO - -################################### -# Set up the UTILITIES -################################### -# export HOMEutil=${HOMEutil:-/nw${envir}/util.${util_ver}} -# export utilscript=${utilscript:-$HOMEutil/ush} -# export utilexec=${utilexec:-$HOMEutil/exec} - -########################################### -# Run setpdy and initialize PDY variables -########################################### -export cycle=t${cyc}z -setpdy.sh -. PDY - -export ROTDIR=${ROTDIR:-{COMROOT:?}/$NET/$envir} -export COMIN=${COMIN:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT} -export COMOUT=${COMOUT:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT} - - -######################################################## -# Execute the script. -$HOMEgfs/scripts/exglobal_atmos_pmgr.sh -######################################################## - -date diff --git a/jobs/J_NCEPPOST b/jobs/J_NCEPPOST deleted file mode 100755 index 746b6babef..0000000000 --- a/jobs/J_NCEPPOST +++ /dev/null @@ -1,164 +0,0 @@ -#!/bin/ksh - -export PS4='$SECONDS + ' -date -set -xa - -#################################### -# Specify whether the run is production or development -#################################### -export envir=${envir:-prod} - -#################################### -# Specify NET and RUN Name and model -#################################### -export NET=${NET:-gfs} -export RUN=${RUN:-gfs} - -#################################### -# obtain unique process id (pid) and make temp directory -#################################### -export pid=$$ -export DATA=${DATA:-$DATAROOT/${jobid}} -mkdir -p $DATA -cd $DATA -export KEEPDATA=${KEEPDATA:-NO} - -#################################### -# File To Log Msgs -#################################### -export jlogfile=${jlogfile:-${COMROOT}/logs/jlogfiles/jlogfile.${job}.${pid}} - -#################################### -# Determine Job Output Name on System -#################################### -export outid="LL$job" -export jobid="${outid}.o${pid}" -export pgmout="OUTPUT.${pid}" -export pgmerr=errfile - -export ERRSCRIPT=err_chk -export LOGSCRIPT=startmsg -export REDOUT='1>>' -export REDERR='2>' - -#################################### -# Specify version numbers -#################################### -export crtm_ver=${post_crtm_ver:-v2.2.6} -export gfs_ver=${gfs_ver:-v15.0.0} -export hwrf_ver=${hwrf_ver:-v11.0.5} -export g2tmpl_ver=${g2tmpl_ver:-v1.5.0} - -########################################### -# Run setpdy and initialize PDY variables -########################################### -export cycle=t${cyc}z -setpdy.sh -. ./PDY - -########################################### -# Specify grib version: grib1 or grib2 -########################################### -export GRIBVERSION=${GRIBVERSION:-'grib2'} -#export res=${res:-0p25} - -#################################### -# SENDECF - Flag Events on ECF -# SENDCOM - Copy Files From TMPDIR to $COMOUT -# SENDDBN - Issue DBNet Client Calls -# RERUN - Rerun posts from beginning (default no) -# VERBOSE - Specify Verbose Output in global_postgp.sh -#################################### -export SENDECF=${SENDECF:-YES} -export SENDCOM=${SENDCOM:-YES} -export SENDDBN=${SENDDBN:-YES} -export RERUN=${RERUN:-NO} -export VERBOSE=${VERBOSE:-YES} - -#################################### -# Specify Execution Areas -#################################### -export HOMECRTM=${HOMECRTM:-${NWROOT}/lib/crtm/${crtm_ver}} -export FIXCRTM=${CRTM_FIX:-${HOMECRTM}/fix} -#export FIXCRTM=${FIXCRTM:-${NWROOThps}/hwrf.${hwrf_ver}/fix/hwrf-crtm-2.0.6} -#### export FIXCRTM=${FIXCRTM:-$HOMECRTM/sorc/fix} - -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} -export EXECgfs=${EXECgfs:-$HOMEgfs/exec} -export FIXgfs=${FIXgfs:-$HOMEgfs/fix} -export USHgfs=${USHgfs:-$HOMEgfs/ush} -export SCRgfs=${SCRgfs:-$HOMEgfs/scripts} -export UTILgfs=${UTILgfs:-$HOMEgfs/util} -export PARMpost=${PARMpost:-$HOMEgfs/parm/post} - -############################## -# Set up the UTILITIES -############################## -export SIGHDR=${SIGHDR:-$EXECgfs/global_sighdr} - -############################################## -# Define COM directories -############################################## -#export COMIN=${COMIN:-$COMROOT/${NET}/${envir}/${RUN}.${PDY}/${cyc}} -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}} -export COMOUT=${COMOUT:-${COMROOT:?}/${NET}/${envir}/${RUN}.${PDY}/${cyc}} -mkdir -m 775 -p $COMOUT - -############################################ -# Define location of specific executables -############################################ -export POSTGPEXEC=${POSTGPEXEC:-$EXECgfs/gfs_ncep_post} - -#################################### -# Specify Special Post Vars -#################################### -if [ $RUN = gfs ];then - export FHOUT_PGB=${FHOUT_GFS:-3} #Output frequency of gfs pgb file at 1.0 and 0.5 deg. -fi -if [ $RUN = gdas ]; then - export IGEN_GFS="gfs_avn" - export IGEN_ANL="anal_gfs" - export IGEN_FCST="gfs_avn" - export IGEN_GDAS_ANL="anal_gdas" - export FHOUT_PGB=${FHOUT:-1} #Output frequency of gfs pgb file at 1.0 and 0.5 deg. -fi - -if [ $GRIBVERSION = grib2 ]; then - export IGEN_ANL="anal_gfs" - export IGEN_FCST="gfs_avn" - export IGEN_GFS="gfs_avn" -fi - -####################################### -# Specify Restart File Name to Key Off -####################################### -restart_file=$COMIN/${RUN}.t${cyc}z.logf - -#################################### -# Specify Timeout Behavior of Post -# -# SLEEP_TIME - Amount of time to wait for -# a restart file before exiting -# SLEEP_INT - Amount of time to wait between -# checking for restart files -#################################### -export SLEEP_TIME=900 -export SLEEP_INT=5 - -env - -######################################################### -# Execute the Script -######################################################### -$SCRgfs/ex${RUN}_atmos_nceppost.sh - -############################## -# Remove the Temporary working directory -############################## -cd $DATAROOT -if [ $KEEPDATA = NO ]; then - rm -rf $DATA -fi - -date diff --git a/manage_externals/.dir_locals.el b/manage_externals/.dir_locals.el deleted file mode 100644 index a370490e92..0000000000 --- a/manage_externals/.dir_locals.el +++ /dev/null @@ -1,12 +0,0 @@ -; -*- mode: Lisp -*- - -((python-mode - . ( - ;; fill the paragraph to 80 columns when using M-q - (fill-column . 80) - - ;; Use 4 spaces to indent in Python - (python-indent-offset . 4) - (indent-tabs-mode . nil) - ))) - diff --git a/manage_externals/.github/ISSUE_TEMPLATE.md b/manage_externals/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 8ecb2ae64b..0000000000 --- a/manage_externals/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,6 +0,0 @@ -### Summary of Issue: -### Expected behavior and actual behavior: -### Steps to reproduce the problem (should include model description file(s) or link to publi c repository): -### What is the changeset ID of the code, and the machine you are using: -### have you modified the code? If so, it must be committed and available for testing: -### Screen output or log file showing the error message and context: diff --git a/manage_externals/.github/PULL_REQUEST_TEMPLATE.md b/manage_externals/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index b68b1fb5e2..0000000000 --- a/manage_externals/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,17 +0,0 @@ -[ 50 character, one line summary ] - -[ Description of the changes in this commit. It should be enough - information for someone not following this development to understand. - Lines should be wrapped at about 72 characters. ] - -User interface changes?: [ No/Yes ] -[ If yes, describe what changed, and steps taken to ensure backward compatibilty ] - -Fixes: [Github issue #s] And brief description of each issue. - -Testing: - test removed: - unit tests: - system tests: - manual testing: - diff --git a/manage_externals/.gitignore b/manage_externals/.gitignore deleted file mode 100644 index 411de5d96e..0000000000 --- a/manage_externals/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -# directories that are checked out by the tool -cime/ -cime_config/ -components/ - -# generated local files -*.log - -# editor files -*~ -*.bak - -# generated python files -*.pyc diff --git a/manage_externals/.travis.yml b/manage_externals/.travis.yml deleted file mode 100644 index b32f81bd28..0000000000 --- a/manage_externals/.travis.yml +++ /dev/null @@ -1,32 +0,0 @@ -# NOTE(bja, 2017-11) travis-ci dosen't support python language builds -# on mac os. As a work around, we use built-in python on linux, and -# declare osx a 'generic' language, and create our own python env. - -language: python -os: linux -python: - - "2.7" - - "3.4" - - "3.5" - - "3.6" -matrix: - include: - - os: osx - language: generic - before_install: - # NOTE(bja, 2017-11) update is slow, 2.7.12 installed by default, good enough! - # - brew update - # - brew outdated python2 || brew upgrade python2 - - pip install virtualenv - - virtualenv env -p python2 - - source env/bin/activate -install: - - pip install -r test/requirements.txt -before_script: - - git --version -script: - - cd test; make test - - cd test; make lint -after_success: - - cd test; make coverage - - cd test; coveralls diff --git a/manage_externals/LICENSE.txt b/manage_externals/LICENSE.txt deleted file mode 100644 index 665ee03fbc..0000000000 --- a/manage_externals/LICENSE.txt +++ /dev/null @@ -1,34 +0,0 @@ -Copyright (c) 2017-2018, University Corporation for Atmospheric Research (UCAR) -All rights reserved. - -Developed by: - University Corporation for Atmospheric Research - National Center for Atmospheric Research - https://www2.cesm.ucar.edu/working-groups/sewg - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the "Software"), -to deal with the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom -the Software is furnished to do so, subject to the following conditions: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the documentation - and/or other materials provided with the distribution. - - Neither the names of [Name of Development Group, UCAR], - nor the names of its contributors may be used to endorse or promote - products derived from this Software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/manage_externals/README.md b/manage_externals/README.md deleted file mode 100644 index 15e45ffb71..0000000000 --- a/manage_externals/README.md +++ /dev/null @@ -1,211 +0,0 @@ --- AUTOMATICALLY GENERATED FILE. DO NOT EDIT -- - -[![Build Status](https://travis-ci.org/ESMCI/manage_externals.svg?branch=master)](https://travis-ci.org/ESMCI/manage_externals)[![Coverage Status](https://coveralls.io/repos/github/ESMCI/manage_externals/badge.svg?branch=master)](https://coveralls.io/github/ESMCI/manage_externals?branch=master) -``` -usage: checkout_externals [-h] [-e [EXTERNALS]] [-o] [-S] [-v] [--backtrace] - [-d] [--no-logging] - -checkout_externals manages checking out groups of externals from revision -control based on a externals description file. By default only the -required externals are checkout out. - -Operations performed by manage_externals utilities are explicit and -data driven. checkout_externals will always make the working copy *exactly* -match what is in the externals file when modifying the working copy of -a repository. - -If checkout_externals isn't doing what you expected, double check the contents -of the externals description file. - -Running checkout_externals without the '--status' option will always attempt to -synchronize the working copy to exactly match the externals description. - -optional arguments: - -h, --help show this help message and exit - -e [EXTERNALS], --externals [EXTERNALS] - The externals description filename. Default: - Externals.cfg. - -o, --optional By default only the required externals are checked - out. This flag will also checkout the optional - externals. - -S, --status Output status of the repositories managed by - checkout_externals. By default only summary - information is provided. Use verbose output to see - details. - -v, --verbose Output additional information to the screen and log - file. This flag can be used up to two times, - increasing the verbosity level each time. - --backtrace DEVELOPER: show exception backtraces as extra - debugging output - -d, --debug DEVELOPER: output additional debugging information to - the screen and log file. - --no-logging DEVELOPER: disable logging. - -``` -NOTE: checkout_externals *MUST* be run from the root of the source tree it -is managing. For example, if you cloned a repository with: - - $ git clone git@github.com/{SOME_ORG}/some-project some-project-dev - -Then the root of the source tree is /path/to/some-project-dev. If you -obtained a sub-project via a checkout of another project: - - $ git clone git@github.com/{SOME_ORG}/some-project some-project-dev - -and you need to checkout the sub-project externals, then the root of the -source tree is /path/to/some-project-dev. Do *NOT* run checkout_externals -from within /path/to/some-project-dev/sub-project - -The root of the source tree will be referred to as `${SRC_ROOT}` below. - -# Supported workflows - - * Checkout all required components from the default externals - description file: - - $ cd ${SRC_ROOT} - $ ./manage_externals/checkout_externals - - * To update all required components to the current values in the - externals description file, re-run checkout_externals: - - $ cd ${SRC_ROOT} - $ ./manage_externals/checkout_externals - - If there are *any* modifications to *any* working copy according - to the git or svn 'status' command, checkout_externals - will not update any external repositories. Modifications - include: modified files, added files, removed files, or missing - files. - - To avoid this safety check, edit the externals description file - and comment out the modified external block. - - * Checkout all required components from a user specified externals - description file: - - $ cd ${SRC_ROOT} - $ ./manage_externals/checkout_externals --excernals my-externals.cfg - - * Status summary of the repositories managed by checkout_externals: - - $ cd ${SRC_ROOT} - $ ./manage_externals/checkout_externals --status - - ./cime - s ./components/cism - ./components/mosart - e-o ./components/rtm - M ./src/fates - e-o ./tools/PTCLM - - where: - * column one indicates the status of the repository in relation - to the externals description file. - * column two indicates whether the working copy has modified files. - * column three shows how the repository is managed, optional or required - - Column one will be one of these values: - * s : out-of-sync : repository is checked out at a different commit - compared with the externals description - * e : empty : directory does not exist - checkout_externals has not been run - * ? : unknown : directory exists but .git or .svn directories are missing - - Column two will be one of these values: - * M : Modified : modified, added, deleted or missing files - * : blank / space : clean - * - : dash : no meaningful state, for empty repositories - - Column three will be one of these values: - * o : optional : optionally repository - * : blank / space : required repository - - * Detailed git or svn status of the repositories managed by checkout_externals: - - $ cd ${SRC_ROOT} - $ ./manage_externals/checkout_externals --status --verbose - -# Externals description file - - The externals description contains a list of the external - repositories that are used and their version control locations. The - file format is the standard ini/cfg configuration file format. Each - external is defined by a section containing the component name in - square brackets: - - * name (string) : component name, e.g. [cime], [cism], etc. - - Each section has the following keyword-value pairs: - - * required (boolean) : whether the component is a required checkout, - 'true' or 'false'. - - * local_path (string) : component path *relative* to where - checkout_externals is called. - - * protoctol (string) : version control protocol that is used to - manage the component. Valid values are 'git', 'svn', - 'externals_only'. - - Switching an external between different protocols is not - supported, e.g. from svn to git. To switch protocols, you need to - manually move the old working copy to a new location. - - Note: 'externals_only' will only process the external's own - external description file without trying to manage a repository - for the component. This is used for retreiving externals for - standalone components like cam and clm. If the source root of the - externals_only component is the same as the main source root, then - the local path must be set to '.', the unix current working - directory, e. g. 'local_path = .' - - * repo_url (string) : URL for the repository location, examples: - * https://svn-ccsm-models.cgd.ucar.edu/glc - * git@github.com:esmci/cime.git - * /path/to/local/repository - * . - - NOTE: To operate on only the local clone and and ignore remote - repositories, set the url to '.' (the unix current path), - i.e. 'repo_url = .' . This can be used to checkout a local branch - instead of the upstream branch. - - If a repo url is determined to be a local path (not a network url) - then user expansion, e.g. ~/, and environment variable expansion, - e.g. $HOME or $REPO_ROOT, will be performed. - - Relative paths are difficult to get correct, especially for mixed - use repos. It is advised that local paths expand to absolute paths. - If relative paths are used, they should be relative to one level - above local_path. If local path is 'src/foo', the the relative url - should be relative to 'src'. - - * tag (string) : tag to checkout - - * hash (string) : the git hash to checkout. Only applies to git - repositories. - - * branch (string) : branch to checkout from the specified - repository. Specifying a branch on a remote repository means that - checkout_externals will checkout the version of the branch in the remote, - not the the version in the local repository (if it exists). - - Note: one and only one of tag, branch hash must be supplied. - - * externals (string) : used to make manage_externals aware of - sub-externals required by an external. This is a relative path to - the external's root directory. For example, the main externals - description has an external checkout out at 'src/useful_library'. - useful_library requires additional externals to be complete. - Those additional externals are managed from the source root by the - externals description file pointed 'useful_library/sub-xternals.cfg', - Then the main 'externals' field in the top level repo should point to - 'sub-externals.cfg'. - - * Lines begining with '#' or ';' are comments and will be ignored. - -# Obtaining this tool, reporting issues, etc. - - The master repository for manage_externals is - https://github.com/ESMCI/manage_externals. Any issues with this tool - should be reported there. diff --git a/manage_externals/README_FIRST b/manage_externals/README_FIRST deleted file mode 100644 index c8a47d7806..0000000000 --- a/manage_externals/README_FIRST +++ /dev/null @@ -1,54 +0,0 @@ -CESM is comprised of a number of different components that are -developed and managed independently. Each component may have -additional 'external' dependancies and optional parts that are also -developed and managed independently. - -The checkout_externals.py tool manages retreiving and updating the -components and their externals so you have a complete set of source -files for the model. - -checkout_externals.py relies on a model description file that -describes what components are needed, where to find them and where to -put them in the source tree. The default file is called "CESM.xml" -regardless of whether you are checking out CESM or a standalone -component. - -checkout_externals requires access to git and svn repositories that -require authentication. checkout_externals may pass through -authentication requests, but it will not cache them for you. For the -best and most robust user experience, you should have svn and git -working without password authentication. See: - - https://help.github.com/articles/connecting-to-github-with-ssh/ - - ?svn ref? - -NOTE: checkout_externals.py *MUST* be run from the root of the source -tree it is managing. For example, if you cloned CLM with: - - $ git clone git@github.com/ncar/clm clm-dev - -Then the root of the source tree is /path/to/cesm-dev. If you obtained -CLM via an svn checkout of CESM and you need to checkout the CLM -externals, then the root of the source tree for CLM is: - - /path/to/cesm-dev/components/clm - -The root of the source tree will be referred to as ${SRC_ROOT} below. - -To get started quickly, checkout all required components from the -default model description file: - - $ cd ${SRC_ROOT} - $ ./checkout_cesm/checkout_externals.py - -For additional information about using checkout model, please see: - - ${SRC_ROOT}/checkout_cesm/README - -or run: - - $ cd ${SRC_ROOT} - $ ./checkout_cesm/checkout_externals.py --help - - diff --git a/manage_externals/checkout_externals b/manage_externals/checkout_externals deleted file mode 100755 index a0698baef0..0000000000 --- a/manage_externals/checkout_externals +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python - -"""Main driver wrapper around the manic/checkout utility. - -Tool to assemble external respositories represented in an externals -description file. - -""" -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import sys -import traceback - -import manic - -if sys.hexversion < 0x02070000: - print(70 * '*') - print('ERROR: {0} requires python >= 2.7.x. '.format(sys.argv[0])) - print('It appears that you are running python {0}'.format( - '.'.join(str(x) for x in sys.version_info[0:3]))) - print(70 * '*') - sys.exit(1) - - -if __name__ == '__main__': - ARGS = manic.checkout.commandline_arguments() - try: - RET_STATUS, _ = manic.checkout.main(ARGS) - sys.exit(RET_STATUS) - except Exception as error: # pylint: disable=broad-except - manic.printlog(str(error)) - if ARGS.backtrace: - traceback.print_exc() - sys.exit(1) diff --git a/manage_externals/manic/__init__.py b/manage_externals/manic/__init__.py deleted file mode 100644 index 11badedd3b..0000000000 --- a/manage_externals/manic/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -"""Public API for the manage_externals library -""" - -from manic import checkout -from manic.utils import printlog - -__all__ = [ - 'checkout', 'printlog', -] diff --git a/manage_externals/manic/checkout.py b/manage_externals/manic/checkout.py deleted file mode 100755 index afd3a27886..0000000000 --- a/manage_externals/manic/checkout.py +++ /dev/null @@ -1,409 +0,0 @@ -#!/usr/bin/env python - -""" -Tool to assemble repositories represented in a model-description file. - -If loaded as a module (e.g., in a component's buildcpp), it can be used -to check the validity of existing subdirectories and load missing sources. -""" -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import argparse -import logging -import os -import os.path -import sys - -from manic.externals_description import create_externals_description -from manic.externals_description import read_externals_description_file -from manic.externals_status import check_safe_to_update_repos -from manic.sourcetree import SourceTree -from manic.utils import printlog, fatal_error -from manic.global_constants import VERSION_SEPERATOR, LOG_FILE_NAME - -if sys.hexversion < 0x02070000: - print(70 * '*') - print('ERROR: {0} requires python >= 2.7.x. '.format(sys.argv[0])) - print('It appears that you are running python {0}'.format( - VERSION_SEPERATOR.join(str(x) for x in sys.version_info[0:3]))) - print(70 * '*') - sys.exit(1) - - -# --------------------------------------------------------------------- -# -# User input -# -# --------------------------------------------------------------------- -def commandline_arguments(args=None): - """Process the command line arguments - - Params: args - optional args. Should only be used during systems - testing. - - Returns: processed command line arguments - """ - description = ''' - -%(prog)s manages checking out groups of externals from revision -control based on an externals description file. By default only the -required externals are checkout out. - -Running %(prog)s without the '--status' option will always attempt to -synchronize the working copy to exactly match the externals description. -''' - - epilog = ''' -``` -NOTE: %(prog)s *MUST* be run from the root of the source tree it -is managing. For example, if you cloned a repository with: - - $ git clone git@github.com/{SOME_ORG}/some-project some-project-dev - -Then the root of the source tree is /path/to/some-project-dev. If you -obtained a sub-project via a checkout of another project: - - $ git clone git@github.com/{SOME_ORG}/some-project some-project-dev - -and you need to checkout the sub-project externals, then the root of the -source tree remains /path/to/some-project-dev. Do *NOT* run %(prog)s -from within /path/to/some-project-dev/sub-project - -The root of the source tree will be referred to as `${SRC_ROOT}` below. - - -# Supported workflows - - * Checkout all required components from the default externals - description file: - - $ cd ${SRC_ROOT} - $ ./manage_externals/%(prog)s - - * To update all required components to the current values in the - externals description file, re-run %(prog)s: - - $ cd ${SRC_ROOT} - $ ./manage_externals/%(prog)s - - If there are *any* modifications to *any* working copy according - to the git or svn 'status' command, %(prog)s - will not update any external repositories. Modifications - include: modified files, added files, removed files, or missing - files. - - To avoid this safety check, edit the externals description file - and comment out the modified external block. - - * Checkout all required components from a user specified externals - description file: - - $ cd ${SRC_ROOT} - $ ./manage_externals/%(prog)s --externals my-externals.cfg - - * Status summary of the repositories managed by %(prog)s: - - $ cd ${SRC_ROOT} - $ ./manage_externals/%(prog)s --status - - ./cime - s ./components/cism - ./components/mosart - e-o ./components/rtm - M ./src/fates - e-o ./tools/PTCLM - - - where: - * column one indicates the status of the repository in relation - to the externals description file. - * column two indicates whether the working copy has modified files. - * column three shows how the repository is managed, optional or required - - Column one will be one of these values: - * s : out-of-sync : repository is checked out at a different commit - compared with the externals description - * e : empty : directory does not exist - %(prog)s has not been run - * ? : unknown : directory exists but .git or .svn directories are missing - - Column two will be one of these values: - * M : Modified : modified, added, deleted or missing files - * : blank / space : clean - * - : dash : no meaningful state, for empty repositories - - Column three will be one of these values: - * o : optional : optionally repository - * : blank / space : required repository - - * Detailed git or svn status of the repositories managed by %(prog)s: - - $ cd ${SRC_ROOT} - $ ./manage_externals/%(prog)s --status --verbose - -# Externals description file - - The externals description contains a list of the external - repositories that are used and their version control locations. The - file format is the standard ini/cfg configuration file format. Each - external is defined by a section containing the component name in - square brackets: - - * name (string) : component name, e.g. [cime], [cism], etc. - - Each section has the following keyword-value pairs: - - * required (boolean) : whether the component is a required checkout, - 'true' or 'false'. - - * local_path (string) : component path *relative* to where - %(prog)s is called. - - * protoctol (string) : version control protocol that is used to - manage the component. Valid values are 'git', 'svn', - 'externals_only'. - - Switching an external between different protocols is not - supported, e.g. from svn to git. To switch protocols, you need to - manually move the old working copy to a new location. - - Note: 'externals_only' will only process the external's own - external description file without trying to manage a repository - for the component. This is used for retrieving externals for - standalone components like cam and ctsm which also serve as - sub-components within a larger project. If the source root of the - externals_only component is the same as the main source root, then - the local path must be set to '.', the unix current working - directory, e. g. 'local_path = .' - - * repo_url (string) : URL for the repository location, examples: - * https://svn-ccsm-models.cgd.ucar.edu/glc - * git@github.com:esmci/cime.git - * /path/to/local/repository - * . - - NOTE: To operate on only the local clone and and ignore remote - repositories, set the url to '.' (the unix current path), - i.e. 'repo_url = .' . This can be used to checkout a local branch - instead of the upstream branch. - - If a repo url is determined to be a local path (not a network url) - then user expansion, e.g. ~/, and environment variable expansion, - e.g. $HOME or $REPO_ROOT, will be performed. - - Relative paths are difficult to get correct, especially for mixed - use repos. It is advised that local paths expand to absolute paths. - If relative paths are used, they should be relative to one level - above local_path. If local path is 'src/foo', the the relative url - should be relative to 'src'. - - * tag (string) : tag to checkout - - * hash (string) : the git hash to checkout. Only applies to git - repositories. - - * branch (string) : branch to checkout from the specified - repository. Specifying a branch on a remote repository means that - %(prog)s will checkout the version of the branch in the remote, - not the the version in the local repository (if it exists). - - Note: one and only one of tag, branch hash must be supplied. - - * externals (string) : used to make manage_externals aware of - sub-externals required by an external. This is a relative path to - the external's root directory. For example, if LIBX is often used - as a sub-external, it might have an externals file (for its - externals) called Externals_LIBX.cfg. To use libx as a standalone - checkout, it would have another file, Externals.cfg with the - following entry: - - [ libx ] - local_path = . - protocol = externals_only - externals = Externals_LIBX.cfg - required = True - - Now, %(prog)s will process Externals.cfg and also process - Externals_LIBX.cfg as if it was a sub-external. - - * Lines beginning with '#' or ';' are comments and will be ignored. - -# Obtaining this tool, reporting issues, etc. - - The master repository for manage_externals is - https://github.com/ESMCI/manage_externals. Any issues with this tool - should be reported there. - -# Troubleshooting - -Operations performed by manage_externals utilities are explicit and -data driven. %(prog)s will always attempt to make the working copy -*exactly* match what is in the externals file when modifying the -working copy of a repository. - -If %(prog)s is not doing what you expected, double check the contents -of the externals description file or examine the output of -./manage_externals/%(prog)s --status - -''' - - parser = argparse.ArgumentParser( - description=description, epilog=epilog, - formatter_class=argparse.RawDescriptionHelpFormatter) - - # - # user options - # - parser.add_argument("components", nargs="*", - help="Specific component(s) to checkout. By default, " - "all required externals are checked out.") - - parser.add_argument('-e', '--externals', nargs='?', - default='Externals.cfg', - help='The externals description filename. ' - 'Default: %(default)s.') - - parser.add_argument('-o', '--optional', action='store_true', default=False, - help='By default only the required externals ' - 'are checked out. This flag will also checkout the ' - 'optional externals.') - - parser.add_argument('-S', '--status', action='store_true', default=False, - help='Output the status of the repositories managed by ' - '%(prog)s. By default only summary information ' - 'is provided. Use the verbose option to see details.') - - parser.add_argument('-v', '--verbose', action='count', default=0, - help='Output additional information to ' - 'the screen and log file. This flag can be ' - 'used up to two times, increasing the ' - 'verbosity level each time.') - - parser.add_argument('--svn-ignore-ancestry', action='store_true', default=False, - help='By default, subversion will abort if a component is ' - 'already checked out and there is no common ancestry with ' - 'the new URL. This flag passes the "--ignore-ancestry" flag ' - 'to the svn switch call. (This is not recommended unless ' - 'you are sure about what you are doing.)') - - # - # developer options - # - parser.add_argument('--backtrace', action='store_true', - help='DEVELOPER: show exception backtraces as extra ' - 'debugging output') - - parser.add_argument('-d', '--debug', action='store_true', default=False, - help='DEVELOPER: output additional debugging ' - 'information to the screen and log file.') - - logging_group = parser.add_mutually_exclusive_group() - - logging_group.add_argument('--logging', dest='do_logging', - action='store_true', - help='DEVELOPER: enable logging.') - logging_group.add_argument('--no-logging', dest='do_logging', - action='store_false', default=False, - help='DEVELOPER: disable logging ' - '(this is the default)') - - if args: - options = parser.parse_args(args) - else: - options = parser.parse_args() - return options - - -# --------------------------------------------------------------------- -# -# main -# -# --------------------------------------------------------------------- -def main(args): - """ - Function to call when module is called from the command line. - Parse externals file and load required repositories or all repositories if - the --all option is passed. - - Returns a tuple (overall_status, tree_status). overall_status is 0 - on success, non-zero on failure. tree_status gives the full status - *before* executing the checkout command - i.e., the status that it - used to determine if it's safe to proceed with the checkout. - """ - if args.do_logging: - logging.basicConfig(filename=LOG_FILE_NAME, - format='%(levelname)s : %(asctime)s : %(message)s', - datefmt='%Y-%m-%d %H:%M:%S', - level=logging.DEBUG) - - program_name = os.path.basename(sys.argv[0]) - logging.info('Beginning of %s', program_name) - - load_all = False - if args.optional: - load_all = True - - root_dir = os.path.abspath(os.getcwd()) - external_data = read_externals_description_file(root_dir, args.externals) - external = create_externals_description( - external_data, components=args.components) - - for comp in args.components: - if comp not in external.keys(): - fatal_error( - "No component {} found in {}".format( - comp, args.externals)) - - source_tree = SourceTree(root_dir, external, svn_ignore_ancestry=args.svn_ignore_ancestry) - printlog('Checking status of externals: ', end='') - tree_status = source_tree.status() - printlog('') - - if args.status: - # user requested status-only - for comp in sorted(tree_status.keys()): - tree_status[comp].log_status_message(args.verbose) - else: - # checkout / update the external repositories. - safe_to_update = check_safe_to_update_repos(tree_status) - if not safe_to_update: - # print status - for comp in sorted(tree_status.keys()): - tree_status[comp].log_status_message(args.verbose) - # exit gracefully - msg = """The external repositories labeled with 'M' above are not in a clean state. - -The following are two options for how to proceed: - -(1) Go into each external that is not in a clean state and issue either - an 'svn status' or a 'git status' command. Either revert or commit - your changes so that all externals are in a clean state. (Note, - though, that it is okay to have untracked files in your working - directory.) Then rerun {program_name}. - -(2) Alternatively, you do not have to rely on {program_name}. Instead, you - can manually update out-of-sync externals (labeled with 's' above) - as described in the configuration file {config_file}. - - -The external repositories labeled with '?' above are not under version -control using the expected protocol. If you are sure you want to switch -protocols, and you don't have any work you need to save from this -directory, then run "rm -rf [directory]" before re-running the -checkout_externals tool. -""".format(program_name=program_name, config_file=args.externals) - - printlog('-' * 70) - printlog(msg) - printlog('-' * 70) - else: - if not args.components: - source_tree.checkout(args.verbose, load_all) - for comp in args.components: - source_tree.checkout(args.verbose, load_all, load_comp=comp) - printlog('') - - logging.info('%s completed without exceptions.', program_name) - # NOTE(bja, 2017-11) tree status is used by the systems tests - return 0, tree_status diff --git a/manage_externals/manic/externals_description.py b/manage_externals/manic/externals_description.py deleted file mode 100644 index 3cebf525b5..0000000000 --- a/manage_externals/manic/externals_description.py +++ /dev/null @@ -1,790 +0,0 @@ -#!/usr/bin/env python - -"""Model description - -Model description is the representation of the various externals -included in the model. It processes in input data structure, and -converts it into a standard interface that is used by the rest of the -system. - -To maintain backward compatibility, externals description files should -follow semantic versioning rules, http://semver.org/ - - - -""" -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import logging -import os -import os.path -import re - -# ConfigParser in python2 was renamed to configparser in python3. -# In python2, ConfigParser returns byte strings, str, instead of unicode. -# We need unicode to be compatible with xml and json parser and python3. -try: - # python2 - from ConfigParser import SafeConfigParser as config_parser - from ConfigParser import MissingSectionHeaderError - from ConfigParser import NoSectionError, NoOptionError - - USE_PYTHON2 = True - - def config_string_cleaner(text): - """convert strings into unicode - """ - return text.decode('utf-8') -except ImportError: - # python3 - from configparser import ConfigParser as config_parser - from configparser import MissingSectionHeaderError - from configparser import NoSectionError, NoOptionError - - USE_PYTHON2 = False - - def config_string_cleaner(text): - """Python3 already uses unicode strings, so just return the string - without modification. - - """ - return text - -from .utils import printlog, fatal_error, str_to_bool, expand_local_url -from .utils import execute_subprocess -from .global_constants import EMPTY_STR, PPRINTER, VERSION_SEPERATOR - -# -# Globals -# -DESCRIPTION_SECTION = 'externals_description' -VERSION_ITEM = 'schema_version' - - -def read_externals_description_file(root_dir, file_name): - """Read a file containing an externals description and - create its internal representation. - - """ - root_dir = os.path.abspath(root_dir) - msg = 'In directory : {0}'.format(root_dir) - logging.info(msg) - printlog('Processing externals description file : {0}'.format(file_name)) - - file_path = os.path.join(root_dir, file_name) - if not os.path.exists(file_name): - if file_name.lower() == "none": - msg = ('INTERNAL ERROR: Attempt to read externals file ' - 'from {0} when not configured'.format(file_path)) - else: - msg = ('ERROR: Model description file, "{0}", does not ' - 'exist at path:\n {1}\nDid you run from the root of ' - 'the source tree?'.format(file_name, file_path)) - - fatal_error(msg) - - externals_description = None - if file_name == ExternalsDescription.GIT_SUBMODULES_FILENAME: - externals_description = read_gitmodules_file(root_dir, file_name) - else: - try: - config = config_parser() - config.read(file_path) - externals_description = config - except MissingSectionHeaderError: - # not a cfg file - pass - - if externals_description is None: - msg = 'Unknown file format!' - fatal_error(msg) - - return externals_description - -class LstripReader(object): - "LstripReader formats .gitmodules files to be acceptable for configparser" - def __init__(self, filename): - with open(filename, 'r') as infile: - lines = infile.readlines() - self._lines = list() - self._num_lines = len(lines) - self._index = 0 - for line in lines: - self._lines.append(line.lstrip()) - - def readlines(self): - """Return all the lines from this object's file""" - return self._lines - - def readline(self, size=-1): - """Format and return the next line or raise StopIteration""" - try: - line = self.next() - except StopIteration: - line = '' - - if (size > 0) and (len(line) < size): - return line[0:size] - - return line - - def __iter__(self): - """Begin an iteration""" - self._index = 0 - return self - - def next(self): - """Return the next line or raise StopIteration""" - if self._index >= self._num_lines: - raise StopIteration - - self._index = self._index + 1 - return self._lines[self._index - 1] - - def __next__(self): - return self.next() - -def git_submodule_status(repo_dir): - """Run the git submodule status command to obtain submodule hashes. - """ - # This function is here instead of GitRepository to avoid a dependency loop - cwd = os.getcwd() - os.chdir(repo_dir) - cmd = ['git', 'submodule', 'status'] - git_output = execute_subprocess(cmd, output_to_caller=True) - submodules = {} - submods = git_output.split('\n') - for submod in submods: - if submod: - status = submod[0] - items = submod[1:].split(' ') - if len(items) > 2: - tag = items[2] - else: - tag = None - - submodules[items[1]] = {'hash':items[0], 'status':status, 'tag':tag} - - os.chdir(cwd) - return submodules - -def parse_submodules_desc_section(section_items, file_path): - """Find the path and url for this submodule description""" - path = None - url = None - for item in section_items: - name = item[0].strip().lower() - if name == 'path': - path = item[1].strip() - elif name == 'url': - url = item[1].strip() - else: - msg = 'WARNING: Ignoring unknown {} property, in {}' - msg = msg.format(item[0], file_path) # fool pylint - logging.warning(msg) - - return path, url - -def read_gitmodules_file(root_dir, file_name): - # pylint: disable=deprecated-method - # Disabling this check because the method is only used for python2 - """Read a .gitmodules file and convert it to be compatible with an - externals description. - """ - root_dir = os.path.abspath(root_dir) - msg = 'In directory : {0}'.format(root_dir) - logging.info(msg) - printlog('Processing submodules description file : {0}'.format(file_name)) - - file_path = os.path.join(root_dir, file_name) - if not os.path.exists(file_name): - msg = ('ERROR: submodules description file, "{0}", does not ' - 'exist at path:\n {1}'.format(file_name, file_path)) - fatal_error(msg) - - submodules_description = None - externals_description = None - try: - config = config_parser() - if USE_PYTHON2: - config.readfp(LstripReader(file_path), filename=file_name) - else: - config.read_file(LstripReader(file_path), source=file_name) - - submodules_description = config - except MissingSectionHeaderError: - # not a cfg file - pass - - if submodules_description is None: - msg = 'Unknown file format!' - fatal_error(msg) - else: - # Convert the submodules description to an externals description - externals_description = config_parser() - # We need to grab all the commit hashes for this repo - submods = git_submodule_status(root_dir) - for section in submodules_description.sections(): - if section[0:9] == 'submodule': - sec_name = section[9:].strip(' "') - externals_description.add_section(sec_name) - section_items = submodules_description.items(section) - path, url = parse_submodules_desc_section(section_items, - file_path) - - if path is None: - msg = 'Submodule {} missing path'.format(sec_name) - fatal_error(msg) - - if url is None: - msg = 'Submodule {} missing url'.format(sec_name) - fatal_error(msg) - - externals_description.set(sec_name, - ExternalsDescription.PATH, path) - externals_description.set(sec_name, - ExternalsDescription.PROTOCOL, 'git') - externals_description.set(sec_name, - ExternalsDescription.REPO_URL, url) - externals_description.set(sec_name, - ExternalsDescription.REQUIRED, 'True') - git_hash = submods[sec_name]['hash'] - externals_description.set(sec_name, - ExternalsDescription.HASH, git_hash) - - # Required items - externals_description.add_section(DESCRIPTION_SECTION) - externals_description.set(DESCRIPTION_SECTION, VERSION_ITEM, '1.0.0') - - return externals_description - -def create_externals_description( - model_data, model_format='cfg', components=None, parent_repo=None): - """Create the a externals description object from the provided data - """ - externals_description = None - if model_format == 'dict': - externals_description = ExternalsDescriptionDict( - model_data, components=components) - elif model_format == 'cfg': - major, _, _ = get_cfg_schema_version(model_data) - if major == 1: - externals_description = ExternalsDescriptionConfigV1( - model_data, components=components, parent_repo=parent_repo) - else: - msg = ('Externals description file has unsupported schema ' - 'version "{0}".'.format(major)) - fatal_error(msg) - else: - msg = 'Unknown model data format "{0}"'.format(model_format) - fatal_error(msg) - return externals_description - - -def get_cfg_schema_version(model_cfg): - """Extract the major, minor, patch version of the config file schema - - Params: - model_cfg - config parser object containing the externas description data - - Returns: - major = integer major version - minor = integer minor version - patch = integer patch version - """ - semver_str = '' - try: - semver_str = model_cfg.get(DESCRIPTION_SECTION, VERSION_ITEM) - except (NoSectionError, NoOptionError): - msg = ('externals description file must have the required ' - 'section: "{0}" and item "{1}"'.format(DESCRIPTION_SECTION, - VERSION_ITEM)) - fatal_error(msg) - - # NOTE(bja, 2017-11) Assume we don't care about the - # build/pre-release metadata for now! - version_list = re.split(r'[-+]', semver_str) - version_str = version_list[0] - version = version_str.split(VERSION_SEPERATOR) - try: - major = int(version[0].strip()) - minor = int(version[1].strip()) - patch = int(version[2].strip()) - except ValueError: - msg = ('Config file schema version must have integer digits for ' - 'major, minor and patch versions. ' - 'Received "{0}"'.format(version_str)) - fatal_error(msg) - return major, minor, patch - - -class ExternalsDescription(dict): - """Base externals description class that is independent of the user input - format. Different input formats can all be converted to this - representation to provide a consistent represtentation for the - rest of the objects in the system. - - NOTE(bja, 2018-03): do NOT define _schema_major etc at the class - level in the base class. The nested/recursive nature of externals - means different schema versions may be present in a single run! - - All inheriting classes must overwrite: - self._schema_major and self._input_major - self._schema_minor and self._input_minor - self._schema_patch and self._input_patch - - where _schema_x is the supported schema, _input_x is the user - input value. - - """ - # keywords defining the interface into the externals description data - EXTERNALS = 'externals' - BRANCH = 'branch' - SUBMODULE = 'from_submodule' - HASH = 'hash' - NAME = 'name' - PATH = 'local_path' - PROTOCOL = 'protocol' - REPO = 'repo' - REPO_URL = 'repo_url' - REQUIRED = 'required' - TAG = 'tag' - - PROTOCOL_EXTERNALS_ONLY = 'externals_only' - PROTOCOL_GIT = 'git' - PROTOCOL_SVN = 'svn' - GIT_SUBMODULES_FILENAME = '.gitmodules' - KNOWN_PRROTOCOLS = [PROTOCOL_GIT, PROTOCOL_SVN, PROTOCOL_EXTERNALS_ONLY] - - # v1 xml keywords - _V1_TREE_PATH = 'TREE_PATH' - _V1_ROOT = 'ROOT' - _V1_TAG = 'TAG' - _V1_BRANCH = 'BRANCH' - _V1_REQ_SOURCE = 'REQ_SOURCE' - - _source_schema = {REQUIRED: True, - PATH: 'string', - EXTERNALS: 'string', - SUBMODULE : True, - REPO: {PROTOCOL: 'string', - REPO_URL: 'string', - TAG: 'string', - BRANCH: 'string', - HASH: 'string', - } - } - - def __init__(self, parent_repo=None): - """Convert the xml into a standardized dict that can be used to - construct the source objects - - """ - dict.__init__(self) - - self._schema_major = None - self._schema_minor = None - self._schema_patch = None - self._input_major = None - self._input_minor = None - self._input_patch = None - self._parent_repo = parent_repo - - def _verify_schema_version(self): - """Use semantic versioning rules to verify we can process this schema. - - """ - known = '{0}.{1}.{2}'.format(self._schema_major, - self._schema_minor, - self._schema_patch) - received = '{0}.{1}.{2}'.format(self._input_major, - self._input_minor, - self._input_patch) - - if self._input_major != self._schema_major: - # should never get here, the factory should handle this correctly! - msg = ('DEV_ERROR: version "{0}" parser received ' - 'version "{1}" input.'.format(known, received)) - fatal_error(msg) - - if self._input_minor > self._schema_minor: - msg = ('Incompatible schema version:\n' - ' User supplied schema version "{0}" is too new."\n' - ' Can only process version "{1}" files and ' - 'older.'.format(received, known)) - fatal_error(msg) - - if self._input_patch > self._schema_patch: - # NOTE(bja, 2018-03) ignoring for now... Not clear what - # conditions the test is needed. - pass - - def _check_user_input(self): - """Run a series of checks to attempt to validate the user input and - detect errors as soon as possible. - - NOTE(bja, 2018-03) These checks are called *after* the file is - read. That means the schema check can not occur here. - - Note: the order is important. check_optional will create - optional with null data. run check_data first to ensure - required data was provided correctly by the user. - - """ - self._check_data() - self._check_optional() - self._validate() - - def _check_data(self): - # pylint: disable=too-many-branches,too-many-statements - """Check user supplied data is valid where possible. - """ - for ext_name in self.keys(): - if (self[ext_name][self.REPO][self.PROTOCOL] - not in self.KNOWN_PRROTOCOLS): - msg = 'Unknown repository protocol "{0}" in "{1}".'.format( - self[ext_name][self.REPO][self.PROTOCOL], ext_name) - fatal_error(msg) - - if (self[ext_name][self.REPO][self.PROTOCOL] == - self.PROTOCOL_SVN): - if self.HASH in self[ext_name][self.REPO]: - msg = ('In repo description for "{0}". svn repositories ' - 'may not include the "hash" keyword.'.format( - ext_name)) - fatal_error(msg) - - if ((self[ext_name][self.REPO][self.PROTOCOL] != self.PROTOCOL_GIT) - and (self.SUBMODULE in self[ext_name])): - msg = ('self.SUBMODULE is only supported with {0} protocol, ' - '"{1}" is defined as an {2} repository') - fatal_error(msg.format(self.PROTOCOL_GIT, ext_name, - self[ext_name][self.REPO][self.PROTOCOL])) - - if (self[ext_name][self.REPO][self.PROTOCOL] != - self.PROTOCOL_EXTERNALS_ONLY): - ref_count = 0 - found_refs = '' - if self.TAG in self[ext_name][self.REPO]: - ref_count += 1 - found_refs = '"{0} = {1}", {2}'.format( - self.TAG, self[ext_name][self.REPO][self.TAG], - found_refs) - if self.BRANCH in self[ext_name][self.REPO]: - ref_count += 1 - found_refs = '"{0} = {1}", {2}'.format( - self.BRANCH, self[ext_name][self.REPO][self.BRANCH], - found_refs) - if self.HASH in self[ext_name][self.REPO]: - ref_count += 1 - found_refs = '"{0} = {1}", {2}'.format( - self.HASH, self[ext_name][self.REPO][self.HASH], - found_refs) - if (self.SUBMODULE in self[ext_name] and - self[ext_name][self.SUBMODULE]): - ref_count += 1 - found_refs = '"{0} = {1}", {2}'.format( - self.SUBMODULE, - self[ext_name][self.SUBMODULE], found_refs) - - if ref_count > 1: - msg = 'Model description is over specified! ' - if self.SUBMODULE in self[ext_name]: - msg += ('from_submodule is not compatible with ' - '"tag", "branch", or "hash" ') - else: - msg += (' Only one of "tag", "branch", or "hash" ' - 'may be specified ') - - msg += 'for repo description of "{0}".'.format(ext_name) - msg = '{0}\nFound: {1}'.format(msg, found_refs) - fatal_error(msg) - elif ref_count < 1: - msg = ('Model description is under specified! One of ' - '"tag", "branch", or "hash" must be specified for ' - 'repo description of "{0}"'.format(ext_name)) - fatal_error(msg) - - if (self.REPO_URL not in self[ext_name][self.REPO] and - (self.SUBMODULE not in self[ext_name] or - not self[ext_name][self.SUBMODULE])): - msg = ('Model description is under specified! Must have ' - '"repo_url" in repo ' - 'description for "{0}"'.format(ext_name)) - fatal_error(msg) - - if (self.SUBMODULE in self[ext_name] and - self[ext_name][self.SUBMODULE]): - if self.REPO_URL in self[ext_name][self.REPO]: - msg = ('Model description is over specified! ' - 'from_submodule keyword is not compatible ' - 'with {0} keyword for'.format(self.REPO_URL)) - msg = '{0} repo description of "{1}"'.format(msg, - ext_name) - fatal_error(msg) - - if self.PATH in self[ext_name]: - msg = ('Model description is over specified! ' - 'from_submodule keyword is not compatible with ' - '{0} keyword for'.format(self.PATH)) - msg = '{0} repo description of "{1}"'.format(msg, - ext_name) - fatal_error(msg) - - if self.REPO_URL in self[ext_name][self.REPO]: - url = expand_local_url( - self[ext_name][self.REPO][self.REPO_URL], ext_name) - self[ext_name][self.REPO][self.REPO_URL] = url - - def _check_optional(self): - # pylint: disable=too-many-branches - """Some fields like externals, repo:tag repo:branch are - (conditionally) optional. We don't want the user to be - required to enter them in every externals description file, but - still want to validate the input. Check conditions and add - default values if appropriate. - - """ - submod_desc = None # Only load submodules info once - for field in self: - # truely optional - if self.EXTERNALS not in self[field]: - self[field][self.EXTERNALS] = EMPTY_STR - - # git and svn repos must tags and branches for validation purposes. - if self.TAG not in self[field][self.REPO]: - self[field][self.REPO][self.TAG] = EMPTY_STR - if self.BRANCH not in self[field][self.REPO]: - self[field][self.REPO][self.BRANCH] = EMPTY_STR - if self.HASH not in self[field][self.REPO]: - self[field][self.REPO][self.HASH] = EMPTY_STR - if self.REPO_URL not in self[field][self.REPO]: - self[field][self.REPO][self.REPO_URL] = EMPTY_STR - - # from_submodule has a complex relationship with other fields - if self.SUBMODULE in self[field]: - # User wants to use submodule information, is it available? - if self._parent_repo is None: - # No parent == no submodule information - PPRINTER.pprint(self[field]) - msg = 'No parent submodule for "{0}"'.format(field) - fatal_error(msg) - elif self._parent_repo.protocol() != self.PROTOCOL_GIT: - PPRINTER.pprint(self[field]) - msg = 'Parent protocol, "{0}", does not support submodules' - fatal_error(msg.format(self._parent_repo.protocol())) - else: - args = self._repo_config_from_submodule(field, submod_desc) - repo_url, repo_path, ref_hash, submod_desc = args - - if repo_url is None: - msg = ('Cannot checkout "{0}" as a submodule, ' - 'repo not found in {1} file') - fatal_error(msg.format(field, - self.GIT_SUBMODULES_FILENAME)) - # Fill in submodule fields - self[field][self.REPO][self.REPO_URL] = repo_url - self[field][self.REPO][self.HASH] = ref_hash - self[field][self.PATH] = repo_path - - if self[field][self.SUBMODULE]: - # We should get everything from the parent submodule - # configuration. - pass - # No else (from _submodule = False is the default) - else: - # Add the default value (not using submodule information) - self[field][self.SUBMODULE] = False - - def _repo_config_from_submodule(self, field, submod_desc): - """Find the external config information for a repository from - its submodule configuration information. - """ - if submod_desc is None: - repo_path = os.getcwd() # Is this always correct? - submod_file = self._parent_repo.submodules_file(repo_path=repo_path) - if submod_file is None: - msg = ('Cannot checkout "{0}" from submodule information\n' - ' Parent repo, "{1}" does not have submodules') - fatal_error(msg.format(field, self._parent_repo.name())) - - submod_file = read_gitmodules_file(repo_path, submod_file) - submod_desc = create_externals_description(submod_file) - - # Can we find our external? - repo_url = None - repo_path = None - ref_hash = None - for ext_field in submod_desc: - if field == ext_field: - ext = submod_desc[ext_field] - repo_url = ext[self.REPO][self.REPO_URL] - repo_path = ext[self.PATH] - ref_hash = ext[self.REPO][self.HASH] - break - - return repo_url, repo_path, ref_hash, submod_desc - - def _validate(self): - """Validate that the parsed externals description contains all necessary - fields. - - """ - def print_compare_difference(data_a, data_b, loc_a, loc_b): - """Look through the data structures and print the differences. - - """ - for item in data_a: - if item in data_b: - if not isinstance(data_b[item], type(data_a[item])): - printlog(" {item}: {loc} = {val} ({val_type})".format( - item=item, loc=loc_a, val=data_a[item], - val_type=type(data_a[item]))) - printlog(" {item} {loc} = {val} ({val_type})".format( - item=' ' * len(item), loc=loc_b, val=data_b[item], - val_type=type(data_b[item]))) - else: - printlog(" {item}: {loc} = {val} ({val_type})".format( - item=item, loc=loc_a, val=data_a[item], - val_type=type(data_a[item]))) - printlog(" {item} {loc} missing".format( - item=' ' * len(item), loc=loc_b)) - - def validate_data_struct(schema, data): - """Compare a data structure against a schema and validate all required - fields are present. - - """ - is_valid = False - in_ref = True - valid = True - if isinstance(schema, dict) and isinstance(data, dict): - # Both are dicts, recursively verify that all fields - # in schema are present in the data. - for key in schema: - in_ref = in_ref and (key in data) - if in_ref: - valid = valid and ( - validate_data_struct(schema[key], data[key])) - - is_valid = in_ref and valid - else: - # non-recursive structure. verify data and schema have - # the same type. - is_valid = isinstance(data, type(schema)) - - if not is_valid: - printlog(" Unmatched schema and input:") - if isinstance(schema, dict): - print_compare_difference(schema, data, 'schema', 'input') - print_compare_difference(data, schema, 'input', 'schema') - else: - printlog(" schema = {0} ({1})".format( - schema, type(schema))) - printlog(" input = {0} ({1})".format(data, type(data))) - - return is_valid - - for field in self: - valid = validate_data_struct(self._source_schema, self[field]) - if not valid: - PPRINTER.pprint(self._source_schema) - PPRINTER.pprint(self[field]) - msg = 'ERROR: source for "{0}" did not validate'.format(field) - fatal_error(msg) - - -class ExternalsDescriptionDict(ExternalsDescription): - """Create a externals description object from a dictionary using the API - representations. Primarily used to simplify creating model - description files for unit testing. - - """ - - def __init__(self, model_data, components=None): - """Parse a native dictionary into a externals description. - """ - ExternalsDescription.__init__(self) - self._schema_major = 1 - self._schema_minor = 0 - self._schema_patch = 0 - self._input_major = 1 - self._input_minor = 0 - self._input_patch = 0 - self._verify_schema_version() - if components: - for key in model_data.items(): - if key not in components: - del model_data[key] - - self.update(model_data) - self._check_user_input() - - -class ExternalsDescriptionConfigV1(ExternalsDescription): - """Create a externals description object from a config_parser object, - schema version 1. - - """ - - def __init__(self, model_data, components=None, parent_repo=None): - """Convert the config data into a standardized dict that can be used to - construct the source objects - - """ - ExternalsDescription.__init__(self, parent_repo=parent_repo) - self._schema_major = 1 - self._schema_minor = 1 - self._schema_patch = 0 - self._input_major, self._input_minor, self._input_patch = \ - get_cfg_schema_version(model_data) - self._verify_schema_version() - self._remove_metadata(model_data) - self._parse_cfg(model_data, components=components) - self._check_user_input() - - @staticmethod - def _remove_metadata(model_data): - """Remove the metadata section from the model configuration file so - that it is simpler to look through the file and construct the - externals description. - - """ - model_data.remove_section(DESCRIPTION_SECTION) - - def _parse_cfg(self, cfg_data, components=None): - """Parse a config_parser object into a externals description. - """ - def list_to_dict(input_list, convert_to_lower_case=True): - """Convert a list of key-value pairs into a dictionary. - """ - output_dict = {} - for item in input_list: - key = config_string_cleaner(item[0].strip()) - value = config_string_cleaner(item[1].strip()) - if convert_to_lower_case: - key = key.lower() - output_dict[key] = value - return output_dict - - for section in cfg_data.sections(): - name = config_string_cleaner(section.lower().strip()) - if components and name not in components: - continue - self[name] = {} - self[name].update(list_to_dict(cfg_data.items(section))) - self[name][self.REPO] = {} - loop_keys = self[name].copy().keys() - for item in loop_keys: - if item in self._source_schema: - if isinstance(self._source_schema[item], bool): - self[name][item] = str_to_bool(self[name][item]) - elif item in self._source_schema[self.REPO]: - self[name][self.REPO][item] = self[name][item] - del self[name][item] - else: - msg = ('Invalid input: "{sect}" contains unknown ' - 'item "{item}".'.format(sect=name, item=item)) - fatal_error(msg) diff --git a/manage_externals/manic/externals_status.py b/manage_externals/manic/externals_status.py deleted file mode 100644 index d3d238f289..0000000000 --- a/manage_externals/manic/externals_status.py +++ /dev/null @@ -1,164 +0,0 @@ -"""ExternalStatus - -Class to store status and state information about repositories and -create a string representation. - -""" -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -from .global_constants import EMPTY_STR -from .utils import printlog, indent_string -from .global_constants import VERBOSITY_VERBOSE, VERBOSITY_DUMP - - -class ExternalStatus(object): - """Class to represent the status of a given source repository or tree. - - Individual repositories determine their own status in the - Repository objects. This object is just resposible for storing the - information and passing it up to a higher level for reporting or - global decisions. - - There are two states of concern: - - * If the repository is in-sync with the externals description file. - - * If the repostiory working copy is clean and there are no pending - transactions (e.g. add, remove, rename, untracked files). - - """ - DEFAULT = '-' - UNKNOWN = '?' - EMPTY = 'e' - MODEL_MODIFIED = 's' # a.k.a. out-of-sync - DIRTY = 'M' - - STATUS_OK = ' ' - STATUS_ERROR = '!' - - # source types - OPTIONAL = 'o' - STANDALONE = 's' - MANAGED = ' ' - - def __init__(self): - self.sync_state = self.DEFAULT - self.clean_state = self.DEFAULT - self.source_type = self.DEFAULT - self.path = EMPTY_STR - self.current_version = EMPTY_STR - self.expected_version = EMPTY_STR - self.status_output = EMPTY_STR - - def log_status_message(self, verbosity): - """Write status message to the screen and log file - """ - self._default_status_message() - if verbosity >= VERBOSITY_VERBOSE: - self._verbose_status_message() - if verbosity >= VERBOSITY_DUMP: - self._dump_status_message() - - def _default_status_message(self): - """Return the default terse status message string - """ - msg = '{sync}{clean}{src_type} {path}'.format( - sync=self.sync_state, clean=self.clean_state, - src_type=self.source_type, path=self.path) - printlog(msg) - - def _verbose_status_message(self): - """Return the verbose status message string - """ - clean_str = self.DEFAULT - if self.clean_state == self.STATUS_OK: - clean_str = 'clean sandbox' - elif self.clean_state == self.DIRTY: - clean_str = 'modified sandbox' - - sync_str = 'on {0}'.format(self.current_version) - if self.sync_state != self.STATUS_OK: - sync_str = '{current} --> {expected}'.format( - current=self.current_version, expected=self.expected_version) - msg = ' {clean}, {sync}'.format(clean=clean_str, sync=sync_str) - printlog(msg) - - def _dump_status_message(self): - """Return the dump status message string - """ - msg = indent_string(self.status_output, 12) - printlog(msg) - - def safe_to_update(self): - """Report if it is safe to update a repository. Safe is defined as: - - * If a repository is empty, it is safe to update. - - * If a repository exists and has a clean working copy state - with no pending transactions. - - """ - safe_to_update = False - repo_exists = self.exists() - if not repo_exists: - safe_to_update = True - else: - # If the repo exists, it must be in ok or modified - # sync_state. Any other sync_state at this point - # represents a logic error that should have been handled - # before now! - sync_safe = ((self.sync_state == ExternalStatus.STATUS_OK) or - (self.sync_state == ExternalStatus.MODEL_MODIFIED)) - if sync_safe: - # The clean_state must be STATUS_OK to update. Otherwise we - # are dirty or there was a missed error previously. - if self.clean_state == ExternalStatus.STATUS_OK: - safe_to_update = True - return safe_to_update - - def exists(self): - """Determine if the repo exists. This is indicated by: - - * sync_state is not EMPTY - - * if the sync_state is empty, then the valid states for - clean_state are default, empty or unknown. Anything else - and there was probably an internal logic error. - - NOTE(bja, 2017-10) For the moment we are considering a - sync_state of default or unknown to require user intervention, - but we may want to relax this convention. This is probably a - result of a network error or internal logic error but more - testing is needed. - - """ - is_empty = (self.sync_state == ExternalStatus.EMPTY) - clean_valid = ((self.clean_state == ExternalStatus.DEFAULT) or - (self.clean_state == ExternalStatus.EMPTY) or - (self.clean_state == ExternalStatus.UNKNOWN)) - - if is_empty and clean_valid: - exists = False - else: - exists = True - return exists - - -def check_safe_to_update_repos(tree_status): - """Check if *ALL* repositories are in a safe state to update. We don't - want to do a partial update of the repositories then die, leaving - the model in an inconsistent state. - - Note: if there is an update to do, the repositories will by - definiation be out of synce with the externals description, so we - can't use that as criteria for updating. - - """ - safe_to_update = True - for comp in tree_status: - stat = tree_status[comp] - safe_to_update &= stat.safe_to_update() - - return safe_to_update diff --git a/manage_externals/manic/global_constants.py b/manage_externals/manic/global_constants.py deleted file mode 100644 index 0e91cffc90..0000000000 --- a/manage_externals/manic/global_constants.py +++ /dev/null @@ -1,18 +0,0 @@ -"""Globals shared across modules -""" - -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import pprint - -EMPTY_STR = '' -LOCAL_PATH_INDICATOR = '.' -VERSION_SEPERATOR = '.' -LOG_FILE_NAME = 'manage_externals.log' -PPRINTER = pprint.PrettyPrinter(indent=4) - -VERBOSITY_DEFAULT = 0 -VERBOSITY_VERBOSE = 1 -VERBOSITY_DUMP = 2 diff --git a/manage_externals/manic/repository.py b/manage_externals/manic/repository.py deleted file mode 100644 index 4488c6be9e..0000000000 --- a/manage_externals/manic/repository.py +++ /dev/null @@ -1,97 +0,0 @@ -"""Base class representation of a repository -""" - -from .externals_description import ExternalsDescription -from .utils import fatal_error -from .global_constants import EMPTY_STR - - -class Repository(object): - """ - Class to represent and operate on a repository description. - """ - - def __init__(self, component_name, repo): - """ - Parse repo externals description - """ - self._name = component_name - self._protocol = repo[ExternalsDescription.PROTOCOL] - self._tag = repo[ExternalsDescription.TAG] - self._branch = repo[ExternalsDescription.BRANCH] - self._hash = repo[ExternalsDescription.HASH] - self._url = repo[ExternalsDescription.REPO_URL] - - if self._url is EMPTY_STR: - fatal_error('repo must have a URL') - - if ((self._tag is EMPTY_STR) and (self._branch is EMPTY_STR) and - (self._hash is EMPTY_STR)): - fatal_error('{0} repo must have a branch, tag or hash element') - - ref_count = 0 - if self._tag is not EMPTY_STR: - ref_count += 1 - if self._branch is not EMPTY_STR: - ref_count += 1 - if self._hash is not EMPTY_STR: - ref_count += 1 - if ref_count != 1: - fatal_error('repo {0} must have exactly one of ' - 'tag, branch or hash.'.format(self._name)) - - def checkout(self, base_dir_path, repo_dir_name, verbosity, recursive): # pylint: disable=unused-argument - """ - If the repo destination directory exists, ensure it is correct (from - correct URL, correct branch or tag), and possibly update the source. - If the repo destination directory does not exist, checkout the correce - branch or tag. - NB: is include as an argument for compatibility with - git functionality (repository_git.py) - """ - msg = ('DEV_ERROR: checkout method must be implemented in all ' - 'repository classes! {0}'.format(self.__class__.__name__)) - fatal_error(msg) - - def status(self, stat, repo_dir_path): # pylint: disable=unused-argument - """Report the status of the repo - - """ - msg = ('DEV_ERROR: status method must be implemented in all ' - 'repository classes! {0}'.format(self.__class__.__name__)) - fatal_error(msg) - - def submodules_file(self, repo_path=None): - # pylint: disable=no-self-use,unused-argument - """Stub for use by non-git VC systems""" - return None - - def url(self): - """Public access of repo url. - """ - return self._url - - def tag(self): - """Public access of repo tag - """ - return self._tag - - def branch(self): - """Public access of repo branch. - """ - return self._branch - - def hash(self): - """Public access of repo hash. - """ - return self._hash - - def name(self): - """Public access of repo name. - """ - return self._name - - def protocol(self): - """Public access of repo protocol. - """ - return self._protocol diff --git a/manage_externals/manic/repository_factory.py b/manage_externals/manic/repository_factory.py deleted file mode 100644 index 80a92a9d8a..0000000000 --- a/manage_externals/manic/repository_factory.py +++ /dev/null @@ -1,29 +0,0 @@ -"""Factory for creating and initializing the appropriate repository class -""" - -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -from .repository_git import GitRepository -from .repository_svn import SvnRepository -from .externals_description import ExternalsDescription -from .utils import fatal_error - - -def create_repository(component_name, repo_info, svn_ignore_ancestry=False): - """Determine what type of repository we have, i.e. git or svn, and - create the appropriate object. - - """ - protocol = repo_info[ExternalsDescription.PROTOCOL].lower() - if protocol == 'git': - repo = GitRepository(component_name, repo_info) - elif protocol == 'svn': - repo = SvnRepository(component_name, repo_info, ignore_ancestry=svn_ignore_ancestry) - elif protocol == 'externals_only': - repo = None - else: - msg = 'Unknown repo protocol "{0}"'.format(protocol) - fatal_error(msg) - return repo diff --git a/manage_externals/manic/repository_git.py b/manage_externals/manic/repository_git.py deleted file mode 100644 index c0e64eb551..0000000000 --- a/manage_externals/manic/repository_git.py +++ /dev/null @@ -1,790 +0,0 @@ -"""Class for interacting with git repositories -""" - -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import copy -import os - -from .global_constants import EMPTY_STR, LOCAL_PATH_INDICATOR -from .global_constants import VERBOSITY_VERBOSE -from .repository import Repository -from .externals_status import ExternalStatus -from .externals_description import ExternalsDescription, git_submodule_status -from .utils import expand_local_url, split_remote_url, is_remote_url -from .utils import fatal_error, printlog -from .utils import execute_subprocess - - -class GitRepository(Repository): - """Class to represent and operate on a repository description. - - For testing purpose, all system calls to git should: - - * be isolated in separate functions with no application logic - * of the form: - - cmd = ['git', ...] - - value = execute_subprocess(cmd, output_to_caller={T|F}, - status_to_caller={T|F}) - - return value - * be static methods (not rely on self) - * name as _git_subcommand_args(user_args) - - This convention allows easy unit testing of the repository logic - by mocking the specific calls to return predefined results. - - """ - - def __init__(self, component_name, repo): - """ - Parse repo (a XML element). - """ - Repository.__init__(self, component_name, repo) - self._gitmodules = None - self._submods = None - - # ---------------------------------------------------------------- - # - # Public API, defined by Repository - # - # ---------------------------------------------------------------- - def checkout(self, base_dir_path, repo_dir_name, verbosity, recursive): - """ - If the repo destination directory exists, ensure it is correct (from - correct URL, correct branch or tag), and possibly update the source. - If the repo destination directory does not exist, checkout the correct - branch or tag. - """ - repo_dir_path = os.path.join(base_dir_path, repo_dir_name) - repo_dir_exists = os.path.exists(repo_dir_path) - if (repo_dir_exists and not os.listdir( - repo_dir_path)) or not repo_dir_exists: - self._clone_repo(base_dir_path, repo_dir_name, verbosity) - self._checkout_ref(repo_dir_path, verbosity, recursive) - gmpath = os.path.join(repo_dir_path, - ExternalsDescription.GIT_SUBMODULES_FILENAME) - if os.path.exists(gmpath): - self._gitmodules = gmpath - self._submods = git_submodule_status(repo_dir_path) - else: - self._gitmodules = None - self._submods = None - - def status(self, stat, repo_dir_path): - """ - If the repo destination directory exists, ensure it is correct (from - correct URL, correct branch or tag), and possibly update the source. - If the repo destination directory does not exist, checkout the correct - branch or tag. - """ - self._check_sync(stat, repo_dir_path) - if os.path.exists(repo_dir_path): - self._status_summary(stat, repo_dir_path) - - def submodules_file(self, repo_path=None): - if repo_path is not None: - gmpath = os.path.join(repo_path, - ExternalsDescription.GIT_SUBMODULES_FILENAME) - if os.path.exists(gmpath): - self._gitmodules = gmpath - self._submods = git_submodule_status(repo_path) - - return self._gitmodules - - # ---------------------------------------------------------------- - # - # Internal work functions - # - # ---------------------------------------------------------------- - def _clone_repo(self, base_dir_path, repo_dir_name, verbosity): - """Prepare to execute the clone by managing directory location - """ - cwd = os.getcwd() - os.chdir(base_dir_path) - self._git_clone(self._url, repo_dir_name, verbosity) - os.chdir(cwd) - - def _current_ref(self): - """Determine the *name* associated with HEAD. - - If we're on a branch, then returns the branch name; otherwise, - if we're on a tag, then returns the tag name; otherwise, returns - the current hash. Returns an empty string if no reference can be - determined (e.g., if we're not actually in a git repository). - """ - ref_found = False - - # If we're on a branch, then use that as the current ref - branch_found, branch_name = self._git_current_branch() - if branch_found: - current_ref = branch_name - ref_found = True - - if not ref_found: - # Otherwise, if we're exactly at a tag, use that as the - # current ref - tag_found, tag_name = self._git_current_tag() - if tag_found: - current_ref = tag_name - ref_found = True - - if not ref_found: - # Otherwise, use current hash as the current ref - hash_found, hash_name = self._git_current_hash() - if hash_found: - current_ref = hash_name - ref_found = True - - if not ref_found: - # If we still can't find a ref, return empty string. This - # can happen if we're not actually in a git repo - current_ref = '' - - return current_ref - - def _check_sync(self, stat, repo_dir_path): - """Determine whether a git repository is in-sync with the model - description. - - Because repos can have multiple remotes, the only criteria is - whether the branch or tag is the same. - - """ - if not os.path.exists(repo_dir_path): - # NOTE(bja, 2017-10) condition should have been determined - # by _Source() object and should never be here! - stat.sync_state = ExternalStatus.STATUS_ERROR - else: - git_dir = os.path.join(repo_dir_path, '.git') - if not os.path.exists(git_dir): - # NOTE(bja, 2017-10) directory exists, but no git repo - # info.... Can't test with subprocess git command - # because git will move up directory tree until it - # finds the parent repo git dir! - stat.sync_state = ExternalStatus.UNKNOWN - else: - self._check_sync_logic(stat, repo_dir_path) - - def _check_sync_logic(self, stat, repo_dir_path): - """Compare the underlying hashes of the currently checkout ref and the - expected ref. - - Output: sets the sync_state as well as the current and - expected ref in the input status object. - - """ - def compare_refs(current_ref, expected_ref): - """Compare the current and expected ref. - - """ - if current_ref == expected_ref: - status = ExternalStatus.STATUS_OK - else: - status = ExternalStatus.MODEL_MODIFIED - return status - - cwd = os.getcwd() - os.chdir(repo_dir_path) - - # get the full hash of the current commit - _, current_ref = self._git_current_hash() - - if self._branch: - if self._url == LOCAL_PATH_INDICATOR: - expected_ref = self._branch - else: - remote_name = self._determine_remote_name() - if not remote_name: - # git doesn't know about this remote. by definition - # this is a modified state. - expected_ref = "unknown_remote/{0}".format(self._branch) - else: - expected_ref = "{0}/{1}".format(remote_name, self._branch) - elif self._hash: - expected_ref = self._hash - elif self._tag: - expected_ref = self._tag - else: - msg = 'In repo "{0}": none of branch, hash or tag are set'.format( - self._name) - fatal_error(msg) - - # record the *names* of the current and expected branches - stat.current_version = self._current_ref() - stat.expected_version = copy.deepcopy(expected_ref) - - if current_ref == EMPTY_STR: - stat.sync_state = ExternalStatus.UNKNOWN - else: - # get the underlying hash of the expected ref - revparse_status, expected_ref_hash = self._git_revparse_commit( - expected_ref) - if revparse_status: - # We failed to get the hash associated with - # expected_ref. Maybe we should assign this to some special - # status, but for now we're just calling this out-of-sync to - # remain consistent with how this worked before. - stat.sync_state = ExternalStatus.MODEL_MODIFIED - else: - # compare the underlying hashes - stat.sync_state = compare_refs(current_ref, expected_ref_hash) - - os.chdir(cwd) - - def _determine_remote_name(self): - """Return the remote name. - - Note that this is for the *future* repo url and branch, not - the current working copy! - - """ - git_output = self._git_remote_verbose() - git_output = git_output.splitlines() - remote_name = '' - for line in git_output: - data = line.strip() - if not data: - continue - data = data.split() - name = data[0].strip() - url = data[1].strip() - if self._url == url: - remote_name = name - break - return remote_name - - def _create_remote_name(self): - """The url specified in the externals description file was not known - to git. We need to add it, which means adding a unique and - safe name.... - - The assigned name needs to be safe for git to use, e.g. can't - look like a path 'foo/bar' and work with both remote and local paths. - - Remote paths include but are not limited to: git, ssh, https, - github, gitlab, bitbucket, custom server, etc. - - Local paths can be relative or absolute. They may contain - shell variables, e.g. ${REPO_ROOT}/repo_name, or username - expansion, i.e. ~/ or ~someuser/. - - Relative paths must be at least one layer of redirection, i.e. - container/../ext_repo, but may be many layers deep, e.g. - container/../../../../../ext_repo - - NOTE(bja, 2017-11) - - The base name below may not be unique, for example if the - user has local paths like: - - /path/to/my/repos/nice_repo - /path/to/other/repos/nice_repo - - But the current implementation should cover most common - use cases for remotes and still provide usable names. - - """ - url = copy.deepcopy(self._url) - if is_remote_url(url): - url = split_remote_url(url) - else: - url = expand_local_url(url, self._name) - url = url.split('/') - repo_name = url[-1] - base_name = url[-2] - # repo name should nominally already be something that git can - # deal with. We need to remove other possibly troublesome - # punctuation, e.g. /, $, from the base name. - unsafe_characters = '!@#$%^&*()[]{}\\/,;~' - for unsafe in unsafe_characters: - base_name = base_name.replace(unsafe, '') - remote_name = "{0}_{1}".format(base_name, repo_name) - return remote_name - - def _checkout_ref(self, repo_dir, verbosity, submodules): - """Checkout the user supplied reference - if is True, recursively initialize and update - the repo's submodules - """ - # import pdb; pdb.set_trace() - cwd = os.getcwd() - os.chdir(repo_dir) - if self._url.strip() == LOCAL_PATH_INDICATOR: - self._checkout_local_ref(verbosity, submodules) - else: - self._checkout_external_ref(verbosity, submodules) - - os.chdir(cwd) - - def _checkout_local_ref(self, verbosity, submodules): - """Checkout the reference considering the local repo only. Do not - fetch any additional remotes or specify the remote when - checkout out the ref. - if is True, recursively initialize and update - the repo's submodules - """ - if self._tag: - ref = self._tag - elif self._branch: - ref = self._branch - else: - ref = self._hash - - self._check_for_valid_ref(ref) - self._git_checkout_ref(ref, verbosity, submodules) - - def _checkout_external_ref(self, verbosity, submodules): - """Checkout the reference from a remote repository - if is True, recursively initialize and update - the repo's submodules - """ - if self._tag: - ref = self._tag - elif self._branch: - ref = self._branch - else: - ref = self._hash - - remote_name = self._determine_remote_name() - if not remote_name: - remote_name = self._create_remote_name() - self._git_remote_add(remote_name, self._url) - self._git_fetch(remote_name) - - # NOTE(bja, 2018-03) we need to send separate ref and remote - # name to check_for_vaild_ref, but the combined name to - # checkout_ref! - self._check_for_valid_ref(ref, remote_name) - - if self._branch: - ref = '{0}/{1}'.format(remote_name, ref) - self._git_checkout_ref(ref, verbosity, submodules) - - def _check_for_valid_ref(self, ref, remote_name=None): - """Try some basic sanity checks on the user supplied reference so we - can provide a more useful error message than calledprocess - error... - - """ - is_tag = self._ref_is_tag(ref) - is_branch = self._ref_is_branch(ref, remote_name) - is_hash = self._ref_is_hash(ref) - - is_valid = is_tag or is_branch or is_hash - if not is_valid: - msg = ('In repo "{0}": reference "{1}" does not appear to be a ' - 'valid tag, branch or hash! Please verify the reference ' - 'name (e.g. spelling), is available from: {2} '.format( - self._name, ref, self._url)) - fatal_error(msg) - - if is_tag: - is_unique_tag, msg = self._is_unique_tag(ref, remote_name) - if not is_unique_tag: - msg = ('In repo "{0}": tag "{1}" {2}'.format( - self._name, self._tag, msg)) - fatal_error(msg) - - return is_valid - - def _is_unique_tag(self, ref, remote_name): - """Verify that a reference is a valid tag and is unique (not a branch) - - Tags may be tag names, or SHA id's. It is also possible that a - branch and tag have the some name. - - Note: values returned by git_showref_* and git_revparse are - shell return codes, which are zero for success, non-zero for - error! - - """ - is_tag = self._ref_is_tag(ref) - is_branch = self._ref_is_branch(ref, remote_name) - is_hash = self._ref_is_hash(ref) - - msg = '' - is_unique_tag = False - if is_tag and not is_branch: - # unique tag - msg = 'is ok' - is_unique_tag = True - elif is_tag and is_branch: - msg = ('is both a branch and a tag. git may checkout the branch ' - 'instead of the tag depending on your version of git.') - is_unique_tag = False - elif not is_tag and is_branch: - msg = ('is a branch, and not a tag. If you intended to checkout ' - 'a branch, please change the externals description to be ' - 'a branch. If you intended to checkout a tag, it does not ' - 'exist. Please check the name.') - is_unique_tag = False - else: # not is_tag and not is_branch: - if is_hash: - # probably a sha1 or HEAD, etc, we call it a tag - msg = 'is ok' - is_unique_tag = True - else: - # undetermined state. - msg = ('does not appear to be a valid tag, branch or hash! ' - 'Please check the name and repository.') - is_unique_tag = False - - return is_unique_tag, msg - - def _ref_is_tag(self, ref): - """Verify that a reference is a valid tag according to git. - - Note: values returned by git_showref_* and git_revparse are - shell return codes, which are zero for success, non-zero for - error! - """ - is_tag = False - value = self._git_showref_tag(ref) - if value == 0: - is_tag = True - return is_tag - - def _ref_is_branch(self, ref, remote_name=None): - """Verify if a ref is any kind of branch (local, tracked remote, - untracked remote). - - """ - local_branch = False - remote_branch = False - if remote_name: - remote_branch = self._ref_is_remote_branch(ref, remote_name) - local_branch = self._ref_is_local_branch(ref) - - is_branch = False - if local_branch or remote_branch: - is_branch = True - return is_branch - - def _ref_is_local_branch(self, ref): - """Verify that a reference is a valid branch according to git. - - show-ref branch returns local branches that have been - previously checked out. It will not necessarily pick up - untracked remote branches. - - Note: values returned by git_showref_* and git_revparse are - shell return codes, which are zero for success, non-zero for - error! - - """ - is_branch = False - value = self._git_showref_branch(ref) - if value == 0: - is_branch = True - return is_branch - - def _ref_is_remote_branch(self, ref, remote_name): - """Verify that a reference is a valid branch according to git. - - show-ref branch returns local branches that have been - previously checked out. It will not necessarily pick up - untracked remote branches. - - Note: values returned by git_showref_* and git_revparse are - shell return codes, which are zero for success, non-zero for - error! - - """ - is_branch = False - value = self._git_lsremote_branch(ref, remote_name) - if value == 0: - is_branch = True - return is_branch - - def _ref_is_commit(self, ref): - """Verify that a reference is a valid commit according to git. - - This could be a tag, branch, sha1 id, HEAD and potentially others... - - Note: values returned by git_showref_* and git_revparse are - shell return codes, which are zero for success, non-zero for - error! - """ - is_commit = False - value, _ = self._git_revparse_commit(ref) - if value == 0: - is_commit = True - return is_commit - - def _ref_is_hash(self, ref): - """Verify that a reference is a valid hash according to git. - - Git doesn't seem to provide an exact way to determine if user - supplied reference is an actual hash. So we verify that the - ref is a valid commit and return the underlying commit - hash. Then check that the commit hash begins with the user - supplied string. - - Note: values returned by git_showref_* and git_revparse are - shell return codes, which are zero for success, non-zero for - error! - - """ - is_hash = False - status, git_output = self._git_revparse_commit(ref) - if status == 0: - if git_output.strip().startswith(ref): - is_hash = True - return is_hash - - def _status_summary(self, stat, repo_dir_path): - """Determine the clean/dirty status of a git repository - - """ - cwd = os.getcwd() - os.chdir(repo_dir_path) - git_output = self._git_status_porcelain_v1z() - is_dirty = self._status_v1z_is_dirty(git_output) - if is_dirty: - stat.clean_state = ExternalStatus.DIRTY - else: - stat.clean_state = ExternalStatus.STATUS_OK - - # Now save the verbose status output incase the user wants to - # see it. - stat.status_output = self._git_status_verbose() - os.chdir(cwd) - - @staticmethod - def _status_v1z_is_dirty(git_output): - """Parse the git status output from --porcelain=v1 -z and determine if - the repo status is clean or dirty. Dirty means: - - * modified files - * missing files - * added files - * removed - * renamed - * unmerged - - Whether untracked files are considered depends on how the status - command was run (i.e., whether it was run with the '-u' option). - - NOTE: Based on the above definition, the porcelain status - should be an empty string to be considered 'clean'. Of course - this assumes we only get an empty string from an status - command on a clean checkout, and not some error - condition... Could alse use 'git diff --quiet'. - - """ - is_dirty = False - if git_output: - is_dirty = True - return is_dirty - - # ---------------------------------------------------------------- - # - # system call to git for information gathering - # - # ---------------------------------------------------------------- - @staticmethod - def _git_current_hash(): - """Return the full hash of the currently checked-out version. - - Returns a tuple, (hash_found, hash), where hash_found is a - logical specifying whether a hash was found for HEAD (False - could mean we're not in a git repository at all). (If hash_found - is False, then hash is ''.) - """ - status, git_output = GitRepository._git_revparse_commit("HEAD") - hash_found = not status - if not hash_found: - git_output = '' - return hash_found, git_output - - @staticmethod - def _git_current_branch(): - """Determines the name of the current branch. - - Returns a tuple, (branch_found, branch_name), where branch_found - is a logical specifying whether a branch name was found for - HEAD. (If branch_found is False, then branch_name is ''.) - """ - cmd = ['git', 'symbolic-ref', '--short', '-q', 'HEAD'] - status, git_output = execute_subprocess(cmd, - output_to_caller=True, - status_to_caller=True) - branch_found = not status - if branch_found: - git_output = git_output.strip() - else: - git_output = '' - return branch_found, git_output - - @staticmethod - def _git_current_tag(): - """Determines the name tag corresponding to HEAD (if any). - - Returns a tuple, (tag_found, tag_name), where tag_found is a - logical specifying whether we found a tag name corresponding to - HEAD. (If tag_found is False, then tag_name is ''.) - """ - # git describe --exact-match --tags HEAD - cmd = ['git', 'describe', '--exact-match', '--tags', 'HEAD'] - status, git_output = execute_subprocess(cmd, - output_to_caller=True, - status_to_caller=True) - tag_found = not status - if tag_found: - git_output = git_output.strip() - else: - git_output = '' - return tag_found, git_output - - @staticmethod - def _git_showref_tag(ref): - """Run git show-ref check if the user supplied ref is a tag. - - could also use git rev-parse --quiet --verify tagname^{tag} - """ - cmd = ['git', 'show-ref', '--quiet', '--verify', - 'refs/tags/{0}'.format(ref), ] - status = execute_subprocess(cmd, status_to_caller=True) - return status - - @staticmethod - def _git_showref_branch(ref): - """Run git show-ref check if the user supplied ref is a local or - tracked remote branch. - - """ - cmd = ['git', 'show-ref', '--quiet', '--verify', - 'refs/heads/{0}'.format(ref), ] - status = execute_subprocess(cmd, status_to_caller=True) - return status - - @staticmethod - def _git_lsremote_branch(ref, remote_name): - """Run git ls-remote to check if the user supplied ref is a remote - branch that is not being tracked - - """ - cmd = ['git', 'ls-remote', '--exit-code', '--heads', - remote_name, ref, ] - status = execute_subprocess(cmd, status_to_caller=True) - return status - - @staticmethod - def _git_revparse_commit(ref): - """Run git rev-parse to detect if a reference is a SHA, HEAD or other - valid commit. - - """ - cmd = ['git', 'rev-parse', '--quiet', '--verify', - '{0}^{1}'.format(ref, '{commit}'), ] - status, git_output = execute_subprocess(cmd, status_to_caller=True, - output_to_caller=True) - git_output = git_output.strip() - return status, git_output - - @staticmethod - def _git_status_porcelain_v1z(): - """Run git status to obtain repository information. - - This is run with '--untracked=no' to ignore untracked files. - - The machine-portable format that is guaranteed not to change - between git versions or *user configuration*. - - """ - cmd = ['git', 'status', '--untracked-files=no', '--porcelain', '-z'] - git_output = execute_subprocess(cmd, output_to_caller=True) - return git_output - - @staticmethod - def _git_status_verbose(): - """Run the git status command to obtain repository information. - """ - cmd = ['git', 'status'] - git_output = execute_subprocess(cmd, output_to_caller=True) - return git_output - - @staticmethod - def _git_remote_verbose(): - """Run the git remote command to obtain repository information. - """ - cmd = ['git', 'remote', '--verbose'] - git_output = execute_subprocess(cmd, output_to_caller=True) - return git_output - - @staticmethod - def has_submodules(repo_dir_path=None): - """Return True iff the repository at (or the current - directory if is None) has a '.gitmodules' file - """ - if repo_dir_path is None: - fname = ExternalsDescription.GIT_SUBMODULES_FILENAME - else: - fname = os.path.join(repo_dir_path, - ExternalsDescription.GIT_SUBMODULES_FILENAME) - - return os.path.exists(fname) - - # ---------------------------------------------------------------- - # - # system call to git for sideffects modifying the working tree - # - # ---------------------------------------------------------------- - @staticmethod - def _git_clone(url, repo_dir_name, verbosity): - """Run git clone for the side effect of creating a repository. - """ - cmd = ['git', 'clone', '--quiet'] - subcmd = None - - cmd.extend([url, repo_dir_name]) - if verbosity >= VERBOSITY_VERBOSE: - printlog(' {0}'.format(' '.join(cmd))) - execute_subprocess(cmd) - if subcmd is not None: - os.chdir(repo_dir_name) - execute_subprocess(subcmd) - - @staticmethod - def _git_remote_add(name, url): - """Run the git remote command for the side effect of adding a remote - """ - cmd = ['git', 'remote', 'add', name, url] - execute_subprocess(cmd) - - @staticmethod - def _git_fetch(remote_name): - """Run the git fetch command for the side effect of updating the repo - """ - cmd = ['git', 'fetch', '--quiet', '--tags', remote_name] - execute_subprocess(cmd) - - @staticmethod - def _git_checkout_ref(ref, verbosity, submodules): - """Run the git checkout command for the side effect of updating the repo - - Param: ref is a reference to a local or remote object in the - form 'origin/my_feature', or 'tag1'. - - """ - cmd = ['git', 'checkout', '--quiet', ref] - if verbosity >= VERBOSITY_VERBOSE: - printlog(' {0}'.format(' '.join(cmd))) - execute_subprocess(cmd) - if submodules: - GitRepository._git_update_submodules(verbosity) - - @staticmethod - def _git_update_submodules(verbosity): - """Run git submodule update for the side effect of updating this - repo's submodules. - """ - # First, verify that we have a .gitmodules file - if os.path.exists(ExternalsDescription.GIT_SUBMODULES_FILENAME): - cmd = ['git', 'submodule', 'update', '--init', '--recursive'] - if verbosity >= VERBOSITY_VERBOSE: - printlog(' {0}'.format(' '.join(cmd))) - - execute_subprocess(cmd) diff --git a/manage_externals/manic/repository_svn.py b/manage_externals/manic/repository_svn.py deleted file mode 100644 index 2f0d4d848c..0000000000 --- a/manage_externals/manic/repository_svn.py +++ /dev/null @@ -1,284 +0,0 @@ -"""Class for interacting with svn repositories -""" - -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import os -import re -import xml.etree.ElementTree as ET - -from .global_constants import EMPTY_STR, VERBOSITY_VERBOSE -from .repository import Repository -from .externals_status import ExternalStatus -from .utils import fatal_error, indent_string, printlog -from .utils import execute_subprocess - - -class SvnRepository(Repository): - """ - Class to represent and operate on a repository description. - - For testing purpose, all system calls to svn should: - - * be isolated in separate functions with no application logic - * of the form: - - cmd = ['svn', ...] - - value = execute_subprocess(cmd, output_to_caller={T|F}, - status_to_caller={T|F}) - - return value - * be static methods (not rely on self) - * name as _svn_subcommand_args(user_args) - - This convention allows easy unit testing of the repository logic - by mocking the specific calls to return predefined results. - - """ - RE_URLLINE = re.compile(r'^URL:') - - def __init__(self, component_name, repo, ignore_ancestry=False): - """ - Parse repo (a XML element). - """ - Repository.__init__(self, component_name, repo) - self._ignore_ancestry = ignore_ancestry - if self._branch: - self._url = os.path.join(self._url, self._branch) - elif self._tag: - self._url = os.path.join(self._url, self._tag) - else: - msg = "DEV_ERROR in svn repository. Shouldn't be here!" - fatal_error(msg) - - # ---------------------------------------------------------------- - # - # Public API, defined by Repository - # - # ---------------------------------------------------------------- - def checkout(self, base_dir_path, repo_dir_name, verbosity, recursive): # pylint: disable=unused-argument - """Checkout or update the working copy - - If the repo destination directory exists, switch the sandbox to - match the externals description. - - If the repo destination directory does not exist, checkout the - correct branch or tag. - NB: is include as an argument for compatibility with - git functionality (repository_git.py) - - """ - repo_dir_path = os.path.join(base_dir_path, repo_dir_name) - if os.path.exists(repo_dir_path): - cwd = os.getcwd() - os.chdir(repo_dir_path) - self._svn_switch(self._url, self._ignore_ancestry, verbosity) - # svn switch can lead to a conflict state, but it gives a - # return code of 0. So now we need to make sure that we're - # in a clean (non-conflict) state. - self._abort_if_dirty(repo_dir_path, - "Expected clean state following switch") - os.chdir(cwd) - else: - self._svn_checkout(self._url, repo_dir_path, verbosity) - - def status(self, stat, repo_dir_path): - """ - Check and report the status of the repository - """ - self._check_sync(stat, repo_dir_path) - if os.path.exists(repo_dir_path): - self._status_summary(stat, repo_dir_path) - - # ---------------------------------------------------------------- - # - # Internal work functions - # - # ---------------------------------------------------------------- - def _check_sync(self, stat, repo_dir_path): - """Check to see if repository directory exists and is at the expected - url. Return: status object - - """ - if not os.path.exists(repo_dir_path): - # NOTE(bja, 2017-10) this state should have been handled by - # the source object and we never get here! - stat.sync_state = ExternalStatus.STATUS_ERROR - else: - svn_output = self._svn_info(repo_dir_path) - if not svn_output: - # directory exists, but info returned nothing. .svn - # directory removed or incomplete checkout? - stat.sync_state = ExternalStatus.UNKNOWN - else: - stat.sync_state, stat.current_version = \ - self._check_url(svn_output, self._url) - stat.expected_version = '/'.join(self._url.split('/')[3:]) - - def _abort_if_dirty(self, repo_dir_path, message): - """Check if the repo is in a dirty state; if so, abort with a - helpful message. - - """ - - stat = ExternalStatus() - self._status_summary(stat, repo_dir_path) - if stat.clean_state != ExternalStatus.STATUS_OK: - status = self._svn_status_verbose(repo_dir_path) - status = indent_string(status, 4) - errmsg = """In directory - {cwd} - -svn status now shows: -{status} - -ERROR: {message} - -One possible cause of this problem is that there may have been untracked -files in your working directory that had the same name as tracked files -in the new revision. - -To recover: Clean up the above directory (resolving conflicts, etc.), -then rerun checkout_externals. -""".format(cwd=repo_dir_path, message=message, status=status) - - fatal_error(errmsg) - - @staticmethod - def _check_url(svn_output, expected_url): - """Determine the svn url from svn info output and return whether it - matches the expected value. - - """ - url = None - for line in svn_output.splitlines(): - if SvnRepository.RE_URLLINE.match(line): - url = line.split(': ')[1].strip() - break - if not url: - status = ExternalStatus.UNKNOWN - elif url == expected_url: - status = ExternalStatus.STATUS_OK - else: - status = ExternalStatus.MODEL_MODIFIED - - if url: - current_version = '/'.join(url.split('/')[3:]) - else: - current_version = EMPTY_STR - - return status, current_version - - def _status_summary(self, stat, repo_dir_path): - """Report whether the svn repository is in-sync with the model - description and whether the sandbox is clean or dirty. - - """ - svn_output = self._svn_status_xml(repo_dir_path) - is_dirty = self.xml_status_is_dirty(svn_output) - if is_dirty: - stat.clean_state = ExternalStatus.DIRTY - else: - stat.clean_state = ExternalStatus.STATUS_OK - - # Now save the verbose status output incase the user wants to - # see it. - stat.status_output = self._svn_status_verbose(repo_dir_path) - - @staticmethod - def xml_status_is_dirty(svn_output): - """Parse svn status xml output and determine if the working copy is - clean or dirty. Dirty is defined as: - - * modified files - * added files - * deleted files - * missing files - - Unversioned files do not affect the clean/dirty status. - - 'external' is also an acceptable state - - """ - # pylint: disable=invalid-name - SVN_EXTERNAL = 'external' - SVN_UNVERSIONED = 'unversioned' - # pylint: enable=invalid-name - - is_dirty = False - try: - xml_status = ET.fromstring(svn_output) - except BaseException: - fatal_error( - "SVN returned invalid XML message {}".format(svn_output)) - xml_target = xml_status.find('./target') - entries = xml_target.findall('./entry') - for entry in entries: - status = entry.find('./wc-status') - item = status.get('item') - if item == SVN_EXTERNAL: - continue - if item == SVN_UNVERSIONED: - continue - else: - is_dirty = True - break - return is_dirty - - # ---------------------------------------------------------------- - # - # system call to svn for information gathering - # - # ---------------------------------------------------------------- - @staticmethod - def _svn_info(repo_dir_path): - """Return results of svn info command - """ - cmd = ['svn', 'info', repo_dir_path] - output = execute_subprocess(cmd, output_to_caller=True) - return output - - @staticmethod - def _svn_status_verbose(repo_dir_path): - """capture the full svn status output - """ - cmd = ['svn', 'status', repo_dir_path] - svn_output = execute_subprocess(cmd, output_to_caller=True) - return svn_output - - @staticmethod - def _svn_status_xml(repo_dir_path): - """ - Get status of the subversion sandbox in repo_dir - """ - cmd = ['svn', 'status', '--xml', repo_dir_path] - svn_output = execute_subprocess(cmd, output_to_caller=True) - return svn_output - - # ---------------------------------------------------------------- - # - # system call to svn for sideffects modifying the working tree - # - # ---------------------------------------------------------------- - @staticmethod - def _svn_checkout(url, repo_dir_path, verbosity): - """ - Checkout a subversion repository (repo_url) to checkout_dir. - """ - cmd = ['svn', 'checkout', '--quiet', url, repo_dir_path] - if verbosity >= VERBOSITY_VERBOSE: - printlog(' {0}'.format(' '.join(cmd))) - execute_subprocess(cmd) - - @staticmethod - def _svn_switch(url, ignore_ancestry, verbosity): - """ - Switch branches for in an svn sandbox - """ - cmd = ['svn', 'switch', '--quiet'] - if ignore_ancestry: - cmd.append('--ignore-ancestry') - cmd.append(url) - if verbosity >= VERBOSITY_VERBOSE: - printlog(' {0}'.format(' '.join(cmd))) - execute_subprocess(cmd) diff --git a/manage_externals/manic/sourcetree.py b/manage_externals/manic/sourcetree.py deleted file mode 100644 index 83676b776b..0000000000 --- a/manage_externals/manic/sourcetree.py +++ /dev/null @@ -1,350 +0,0 @@ -""" - -FIXME(bja, 2017-11) External and SourceTree have a circular dependancy! -""" - -import errno -import logging -import os - -from .externals_description import ExternalsDescription -from .externals_description import read_externals_description_file -from .externals_description import create_externals_description -from .repository_factory import create_repository -from .repository_git import GitRepository -from .externals_status import ExternalStatus -from .utils import fatal_error, printlog -from .global_constants import EMPTY_STR, LOCAL_PATH_INDICATOR -from .global_constants import VERBOSITY_VERBOSE - -class _External(object): - """ - _External represents an external object inside a SourceTree - """ - - # pylint: disable=R0902 - - def __init__(self, root_dir, name, ext_description, svn_ignore_ancestry): - """Parse an external description file into a dictionary of externals. - - Input: - - root_dir : string - the root directory path where - 'local_path' is relative to. - - name : string - name of the ext_description object. may or may not - correspond to something in the path. - - ext_description : dict - source ExternalsDescription object - - svn_ignore_ancestry : bool - use --ignore-externals with svn switch - - """ - self._name = name - self._repo = None - self._externals = EMPTY_STR - self._externals_sourcetree = None - self._stat = ExternalStatus() - # Parse the sub-elements - - # _path : local path relative to the containing source tree - self._local_path = ext_description[ExternalsDescription.PATH] - # _repo_dir : full repository directory - repo_dir = os.path.join(root_dir, self._local_path) - self._repo_dir_path = os.path.abspath(repo_dir) - # _base_dir : base directory *containing* the repository - self._base_dir_path = os.path.dirname(self._repo_dir_path) - # repo_dir_name : base_dir_path + repo_dir_name = rep_dir_path - self._repo_dir_name = os.path.basename(self._repo_dir_path) - assert(os.path.join(self._base_dir_path, self._repo_dir_name) - == self._repo_dir_path) - - self._required = ext_description[ExternalsDescription.REQUIRED] - self._externals = ext_description[ExternalsDescription.EXTERNALS] - # Treat a .gitmodules file as a backup externals config - if not self._externals: - if GitRepository.has_submodules(self._repo_dir_path): - self._externals = ExternalsDescription.GIT_SUBMODULES_FILENAME - - repo = create_repository( - name, ext_description[ExternalsDescription.REPO], - svn_ignore_ancestry=svn_ignore_ancestry) - if repo: - self._repo = repo - - if self._externals and (self._externals.lower() != 'none'): - self._create_externals_sourcetree() - - def get_name(self): - """ - Return the external object's name - """ - return self._name - - def get_local_path(self): - """ - Return the external object's path - """ - return self._local_path - - def status(self): - """ - If the repo destination directory exists, ensure it is correct (from - correct URL, correct branch or tag), and possibly update the external. - If the repo destination directory does not exist, checkout the correce - branch or tag. - If load_all is True, also load all of the the externals sub-externals. - """ - - self._stat.path = self.get_local_path() - if not self._required: - self._stat.source_type = ExternalStatus.OPTIONAL - elif self._local_path == LOCAL_PATH_INDICATOR: - # LOCAL_PATH_INDICATOR, '.' paths, are standalone - # component directories that are not managed by - # checkout_externals. - self._stat.source_type = ExternalStatus.STANDALONE - else: - # managed by checkout_externals - self._stat.source_type = ExternalStatus.MANAGED - - ext_stats = {} - - if not os.path.exists(self._repo_dir_path): - self._stat.sync_state = ExternalStatus.EMPTY - msg = ('status check: repository directory for "{0}" does not ' - 'exist.'.format(self._name)) - logging.info(msg) - self._stat.current_version = 'not checked out' - # NOTE(bja, 2018-01) directory doesn't exist, so we cannot - # use repo to determine the expected version. We just take - # a best-guess based on the assumption that only tag or - # branch should be set, but not both. - if not self._repo: - self._stat.expected_version = 'unknown' - else: - self._stat.expected_version = self._repo.tag() + self._repo.branch() - else: - if self._repo: - self._repo.status(self._stat, self._repo_dir_path) - - if self._externals and self._externals_sourcetree: - # we expect externals and they exist - cwd = os.getcwd() - # SourceTree expects to be called from the correct - # root directory. - os.chdir(self._repo_dir_path) - ext_stats = self._externals_sourcetree.status(self._local_path) - os.chdir(cwd) - - all_stats = {} - # don't add the root component because we don't manage it - # and can't provide useful info about it. - if self._local_path != LOCAL_PATH_INDICATOR: - # store the stats under tha local_path, not comp name so - # it will be sorted correctly - all_stats[self._stat.path] = self._stat - - if ext_stats: - all_stats.update(ext_stats) - - return all_stats - - def checkout(self, verbosity, load_all): - """ - If the repo destination directory exists, ensure it is correct (from - correct URL, correct branch or tag), and possibly update the external. - If the repo destination directory does not exist, checkout the correct - branch or tag. - If load_all is True, also load all of the the externals sub-externals. - """ - if load_all: - pass - # Make sure we are in correct location - - if not os.path.exists(self._repo_dir_path): - # repository directory doesn't exist. Need to check it - # out, and for that we need the base_dir_path to exist - try: - os.makedirs(self._base_dir_path) - except OSError as error: - if error.errno != errno.EEXIST: - msg = 'Could not create directory "{0}"'.format( - self._base_dir_path) - fatal_error(msg) - - if self._stat.source_type != ExternalStatus.STANDALONE: - if verbosity >= VERBOSITY_VERBOSE: - # NOTE(bja, 2018-01) probably do not want to pass - # verbosity in this case, because if (verbosity == - # VERBOSITY_DUMP), then the previous status output would - # also be dumped, adding noise to the output. - self._stat.log_status_message(VERBOSITY_VERBOSE) - - if self._repo: - if self._stat.sync_state == ExternalStatus.STATUS_OK: - # If we're already in sync, avoid showing verbose output - # from the checkout command, unless the verbosity level - # is 2 or more. - checkout_verbosity = verbosity - 1 - else: - checkout_verbosity = verbosity - - self._repo.checkout(self._base_dir_path, self._repo_dir_name, - checkout_verbosity, self.clone_recursive()) - - def checkout_externals(self, verbosity, load_all): - """Checkout the sub-externals for this object - """ - if self.load_externals(): - if self._externals_sourcetree: - # NOTE(bja, 2018-02): the subtree externals objects - # were created during initial status check. Updating - # the external may have changed which sub-externals - # are needed. We need to delete those objects and - # re-read the potentially modified externals - # description file. - self._externals_sourcetree = None - self._create_externals_sourcetree() - self._externals_sourcetree.checkout(verbosity, load_all) - - def load_externals(self): - 'Return True iff an externals file should be loaded' - load_ex = False - if os.path.exists(self._repo_dir_path): - if self._externals: - if self._externals.lower() != 'none': - load_ex = os.path.exists(os.path.join(self._repo_dir_path, - self._externals)) - - return load_ex - - def clone_recursive(self): - 'Return True iff any .gitmodules files should be processed' - # Try recursive unless there is an externals entry - recursive = not self._externals - - return recursive - - def _create_externals_sourcetree(self): - """ - """ - if not os.path.exists(self._repo_dir_path): - # NOTE(bja, 2017-10) repository has not been checked out - # yet, can't process the externals file. Assume we are - # checking status before code is checkoud out and this - # will be handled correctly later. - return - - cwd = os.getcwd() - os.chdir(self._repo_dir_path) - if self._externals.lower() == 'none': - msg = ('Internal: Attempt to create source tree for ' - 'externals = none in {}'.format(self._repo_dir_path)) - fatal_error(msg) - - if not os.path.exists(self._externals): - if GitRepository.has_submodules(): - self._externals = ExternalsDescription.GIT_SUBMODULES_FILENAME - - if not os.path.exists(self._externals): - # NOTE(bja, 2017-10) this check is redundent with the one - # in read_externals_description_file! - msg = ('External externals description file "{0}" ' - 'does not exist! In directory: {1}'.format( - self._externals, self._repo_dir_path)) - fatal_error(msg) - - externals_root = self._repo_dir_path - model_data = read_externals_description_file(externals_root, - self._externals) - externals = create_externals_description(model_data, - parent_repo=self._repo) - self._externals_sourcetree = SourceTree(externals_root, externals) - os.chdir(cwd) - -class SourceTree(object): - """ - SourceTree represents a group of managed externals - """ - - def __init__(self, root_dir, model, svn_ignore_ancestry=False): - """ - Build a SourceTree object from a model description - """ - self._root_dir = os.path.abspath(root_dir) - self._all_components = {} - self._required_compnames = [] - for comp in model: - src = _External(self._root_dir, comp, model[comp], svn_ignore_ancestry) - self._all_components[comp] = src - if model[comp][ExternalsDescription.REQUIRED]: - self._required_compnames.append(comp) - - def status(self, relative_path_base=LOCAL_PATH_INDICATOR): - """Report the status components - - FIXME(bja, 2017-10) what do we do about situations where the - user checked out the optional components, but didn't add - optional for running status? What do we do where the user - didn't add optional to the checkout but did add it to the - status. -- For now, we run status on all components, and try - to do the right thing based on the results.... - - """ - load_comps = self._all_components.keys() - - summary = {} - for comp in load_comps: - printlog('{0}, '.format(comp), end='') - stat = self._all_components[comp].status() - for name in stat.keys(): - # check if we need to append the relative_path_base to - # the path so it will be sorted in the correct order. - if not stat[name].path.startswith(relative_path_base): - stat[name].path = os.path.join(relative_path_base, - stat[name].path) - # store under key = updated path, and delete the - # old key. - comp_stat = stat[name] - del stat[name] - stat[comp_stat.path] = comp_stat - summary.update(stat) - - return summary - - def checkout(self, verbosity, load_all, load_comp=None): - """ - Checkout or update indicated components into the the configured - subdirs. - - If load_all is True, recursively checkout all externals. - If load_all is False, load_comp is an optional set of components to load. - If load_all is True and load_comp is None, only load the required externals. - """ - if verbosity >= VERBOSITY_VERBOSE: - printlog('Checking out externals: ') - else: - printlog('Checking out externals: ', end='') - - if load_all: - load_comps = self._all_components.keys() - elif load_comp is not None: - load_comps = [load_comp] - else: - load_comps = self._required_compnames - - # checkout the primary externals - for comp in load_comps: - if verbosity < VERBOSITY_VERBOSE: - printlog('{0}, '.format(comp), end='') - else: - # verbose output handled by the _External object, just - # output a newline - printlog(EMPTY_STR) - self._all_components[comp].checkout(verbosity, load_all) - printlog('') - - # now give each external an opportunitity to checkout it's externals. - for comp in load_comps: - self._all_components[comp].checkout_externals(verbosity, load_all) diff --git a/manage_externals/manic/utils.py b/manage_externals/manic/utils.py deleted file mode 100644 index f57f43930c..0000000000 --- a/manage_externals/manic/utils.py +++ /dev/null @@ -1,330 +0,0 @@ -#!/usr/bin/env python -""" -Common public utilities for manic package - -""" - -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import logging -import os -import subprocess -import sys -from threading import Timer - -from .global_constants import LOCAL_PATH_INDICATOR - -# --------------------------------------------------------------------- -# -# screen and logging output and functions to massage text for output -# -# --------------------------------------------------------------------- - - -def log_process_output(output): - """Log each line of process output at debug level so it can be - filtered if necessary. By default, output is a single string, and - logging.debug(output) will only put log info heading on the first - line. This makes it hard to filter with grep. - - """ - output = output.split('\n') - for line in output: - logging.debug(line) - - -def printlog(msg, **kwargs): - """Wrapper script around print to ensure that everything printed to - the screen also gets logged. - - """ - logging.info(msg) - if kwargs: - print(msg, **kwargs) - else: - print(msg) - sys.stdout.flush() - - -def last_n_lines(the_string, n_lines, truncation_message=None): - """Returns the last n lines of the given string - - Args: - the_string: str - n_lines: int - truncation_message: str, optional - - Returns a string containing the last n lines of the_string - - If truncation_message is provided, the returned string begins with - the given message if and only if the string is greater than n lines - to begin with. - """ - - lines = the_string.splitlines(True) - if len(lines) <= n_lines: - return_val = the_string - else: - lines_subset = lines[-n_lines:] - str_truncated = ''.join(lines_subset) - if truncation_message: - str_truncated = truncation_message + '\n' + str_truncated - return_val = str_truncated - - return return_val - - -def indent_string(the_string, indent_level): - """Indents the given string by a given number of spaces - - Args: - the_string: str - indent_level: int - - Returns a new string that is the same as the_string, except that - each line is indented by 'indent_level' spaces. - - In python3, this can be done with textwrap.indent. - """ - - lines = the_string.splitlines(True) - padding = ' ' * indent_level - lines_indented = [padding + line for line in lines] - return ''.join(lines_indented) - -# --------------------------------------------------------------------- -# -# error handling -# -# --------------------------------------------------------------------- - - -def fatal_error(message): - """ - Error output function - """ - logging.error(message) - raise RuntimeError("{0}ERROR: {1}".format(os.linesep, message)) - - -# --------------------------------------------------------------------- -# -# Data conversion / manipulation -# -# --------------------------------------------------------------------- -def str_to_bool(bool_str): - """Convert a sting representation of as boolean into a true boolean. - - Conversion should be case insensitive. - """ - value = None - str_lower = bool_str.lower() - if str_lower in ('true', 't'): - value = True - elif str_lower in ('false', 'f'): - value = False - if value is None: - msg = ('ERROR: invalid boolean string value "{0}". ' - 'Must be "true" or "false"'.format(bool_str)) - fatal_error(msg) - return value - - -REMOTE_PREFIXES = ['http://', 'https://', 'ssh://', 'git@'] - - -def is_remote_url(url): - """check if the user provided a local file path instead of a - remote. If so, it must be expanded to an absolute - path. - - """ - remote_url = False - for prefix in REMOTE_PREFIXES: - if url.startswith(prefix): - remote_url = True - return remote_url - - -def split_remote_url(url): - """check if the user provided a local file path or a - remote. If remote, try to strip off protocol info. - - """ - remote_url = is_remote_url(url) - if not remote_url: - return url - - for prefix in REMOTE_PREFIXES: - url = url.replace(prefix, '') - - if '@' in url: - url = url.split('@')[1] - - if ':' in url: - url = url.split(':')[1] - - return url - - -def expand_local_url(url, field): - """check if the user provided a local file path instead of a - remote. If so, it must be expanded to an absolute - path. - - Note: local paths of LOCAL_PATH_INDICATOR have special meaning and - represent local copy only, don't work with the remotes. - - """ - remote_url = is_remote_url(url) - if not remote_url: - if url.strip() == LOCAL_PATH_INDICATOR: - pass - else: - url = os.path.expandvars(url) - url = os.path.expanduser(url) - if not os.path.isabs(url): - msg = ('WARNING: Externals description for "{0}" contains a ' - 'url that is not remote and does not expand to an ' - 'absolute path. Version control operations may ' - 'fail.\n\nurl={1}'.format(field, url)) - printlog(msg) - else: - url = os.path.normpath(url) - return url - - -# --------------------------------------------------------------------- -# -# subprocess -# -# --------------------------------------------------------------------- - -# Give the user a helpful message if we detect that a command seems to -# be hanging. -_HANGING_SEC = 300 - - -def _hanging_msg(working_directory, command): - print(""" - -Command '{command}' -from directory {working_directory} -has taken {hanging_sec} seconds. It may be hanging. - -The command will continue to run, but you may want to abort -manage_externals with ^C and investigate. A possible cause of hangs is -when svn or git require authentication to access a private -repository. On some systems, svn and git requests for authentication -information will not be displayed to the user. In this case, the program -will appear to hang. Ensure you can run svn and git manually and access -all repositories without entering your authentication information. - -""".format(command=command, - working_directory=working_directory, - hanging_sec=_HANGING_SEC)) - - -def execute_subprocess(commands, status_to_caller=False, - output_to_caller=False): - """Wrapper around subprocess.check_output to handle common - exceptions. - - check_output runs a command with arguments and waits - for it to complete. - - check_output raises an exception on a nonzero return code. if - status_to_caller is true, execute_subprocess returns the subprocess - return code, otherwise execute_subprocess treats non-zero return - status as an error and raises an exception. - - """ - cwd = os.getcwd() - msg = 'In directory: {0}\nexecute_subprocess running command:'.format(cwd) - logging.info(msg) - commands_str = ' '.join(commands) - logging.info(commands_str) - return_to_caller = status_to_caller or output_to_caller - status = -1 - output = '' - hanging_timer = Timer(_HANGING_SEC, _hanging_msg, - kwargs={"working_directory": cwd, - "command": commands_str}) - hanging_timer.start() - try: - output = subprocess.check_output(commands, stderr=subprocess.STDOUT, - universal_newlines=True) - log_process_output(output) - status = 0 - except OSError as error: - msg = failed_command_msg( - 'Command execution failed. Does the executable exist?', - commands) - logging.error(error) - fatal_error(msg) - except ValueError as error: - msg = failed_command_msg( - 'DEV_ERROR: Invalid arguments trying to run subprocess', - commands) - logging.error(error) - fatal_error(msg) - except subprocess.CalledProcessError as error: - # Only report the error if we are NOT returning to the - # caller. If we are returning to the caller, then it may be a - # simple status check. If returning, it is the callers - # responsibility determine if an error occurred and handle it - # appropriately. - if not return_to_caller: - msg_context = ('Process did not run successfully; ' - 'returned status {0}'.format(error.returncode)) - msg = failed_command_msg(msg_context, commands, - output=error.output) - logging.error(error) - logging.error(msg) - log_process_output(error.output) - fatal_error(msg) - status = error.returncode - finally: - hanging_timer.cancel() - - if status_to_caller and output_to_caller: - ret_value = (status, output) - elif status_to_caller: - ret_value = status - elif output_to_caller: - ret_value = output - else: - ret_value = None - - return ret_value - - -def failed_command_msg(msg_context, command, output=None): - """Template for consistent error messages from subprocess calls. - - If 'output' is given, it should provide the output from the failed - command - """ - - if output: - output_truncated = last_n_lines(output, 20, - truncation_message='[... Output truncated for brevity ...]') - errmsg = ('Failed with output:\n' + - indent_string(output_truncated, 4) + - '\nERROR: ') - else: - errmsg = '' - - command_str = ' '.join(command) - errmsg += """In directory - {cwd} -{context}: - {command} -""".format(cwd=os.getcwd(), context=msg_context, command=command_str) - - if output: - errmsg += 'See above for output from failed command.\n' - - return errmsg diff --git a/manage_externals/test/.coveragerc b/manage_externals/test/.coveragerc deleted file mode 100644 index 8b681888b8..0000000000 --- a/manage_externals/test/.coveragerc +++ /dev/null @@ -1,7 +0,0 @@ -[run] -branch = True -omit = test_unit_*.py - test_sys_*.py - /usr/* - .local/* - */site-packages/* \ No newline at end of file diff --git a/manage_externals/test/.gitignore b/manage_externals/test/.gitignore deleted file mode 100644 index dd5795998f..0000000000 --- a/manage_externals/test/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# virtual environments -env_python* - -# python code coverage tool output -.coverage -htmlcov - diff --git a/manage_externals/test/.pylint.rc b/manage_externals/test/.pylint.rc deleted file mode 100644 index 64abd03e42..0000000000 --- a/manage_externals/test/.pylint.rc +++ /dev/null @@ -1,426 +0,0 @@ -[MASTER] - -# A comma-separated list of package or module names from where C extensions may -# be loaded. Extensions are loading into the active Python interpreter and may -# run arbitrary code -extension-pkg-whitelist= - -# Add files or directories to the blacklist. They should be base names, not -# paths. -ignore=.git,.svn,env2 - -# Add files or directories matching the regex patterns to the blacklist. The -# regex matches against base names, not paths. -ignore-patterns= - -# Python code to execute, usually for sys.path manipulation such as -# pygtk.require(). -#init-hook= - -# Use multiple processes to speed up Pylint. -jobs=1 - -# List of plugins (as comma separated values of python modules names) to load, -# usually to register additional checkers. -load-plugins= - -# Pickle collected data for later comparisons. -persistent=yes - -# Specify a configuration file. -#rcfile= - -# Allow loading of arbitrary C extensions. Extensions are imported into the -# active Python interpreter and may run arbitrary code. -unsafe-load-any-extension=no - - -[MESSAGES CONTROL] - -# Only show warnings with the listed confidence levels. Leave empty to show -# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED -confidence= - -# Disable the message, report, category or checker with the given id(s). You -# can either give multiple identifiers separated by comma (,) or put this -# option multiple times (only on the command line, not in the configuration -# file where it should appear only once).You can also use "--disable=all" to -# disable everything first and then reenable specific checks. For example, if -# you want to run only the similarities checker, you can use "--disable=all -# --enable=similarities". If you want to run only the classes checker, but have -# no Warning level messages displayed, use"--disable=all --enable=classes -# --disable=W" -disable=bad-continuation,useless-object-inheritance - - -# Enable the message, report, category or checker with the given id(s). You can -# either give multiple identifier separated by comma (,) or put this option -# multiple time (only on the command line, not in the configuration file where -# it should appear only once). See also the "--disable" option for examples. -enable= - - -[REPORTS] - -# Python expression which should return a note less than 10 (10 is the highest -# note). You have access to the variables errors warning, statement which -# respectively contain the number of errors / warnings messages and the total -# number of statements analyzed. This is used by the global evaluation report -# (RP0004). -evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) - -# Template used to display messages. This is a python new-style format string -# used to format the message information. See doc for all details -msg-template={msg_id}:{line:3d},{column:2d}: {msg} ({symbol}) - -# Set the output format. Available formats are text, parseable, colorized, json -# and msvs (visual studio).You can also give a reporter class, eg -# mypackage.mymodule.MyReporterClass. -output-format=text - -# Tells whether to display a full report or only the messages -#reports=yes - -# Activate the evaluation score. -score=yes - - -[REFACTORING] - -# Maximum number of nested blocks for function / method body -max-nested-blocks=5 - - -[BASIC] - -# Naming hint for argument names -argument-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ - -# Regular expression matching correct argument names -argument-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ - -# Naming hint for attribute names -attr-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ - -# Regular expression matching correct attribute names -attr-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ - -# Bad variable names which should always be refused, separated by a comma -bad-names=foo,bar,baz,toto,tutu,tata - -# Naming hint for class attribute names -class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$ - -# Regular expression matching correct class attribute names -class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$ - -# Naming hint for class names -class-name-hint=[A-Z_][a-zA-Z0-9]+$ - -# Regular expression matching correct class names -class-rgx=[A-Z_][a-zA-Z0-9]+$ - -# Naming hint for constant names -const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$ - -# Regular expression matching correct constant names -const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$ - -# Minimum line length for functions/classes that require docstrings, shorter -# ones are exempt. -docstring-min-length=-1 - -# Naming hint for function names -function-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ - -# Regular expression matching correct function names -function-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ - -# Good variable names which should always be accepted, separated by a comma -good-names=i,j,k,ex,Run,_ - -# Include a hint for the correct naming format with invalid-name -include-naming-hint=no - -# Naming hint for inline iteration names -inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$ - -# Regular expression matching correct inline iteration names -inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$ - -# Naming hint for method names -method-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ - -# Regular expression matching correct method names -method-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ - -# Naming hint for module names -module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ - -# Regular expression matching correct module names -module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ - -# Colon-delimited sets of names that determine each other's naming style when -# the name regexes allow several styles. -name-group= - -# Regular expression which should only match function or class names that do -# not require a docstring. -no-docstring-rgx=^_ - -# List of decorators that produce properties, such as abc.abstractproperty. Add -# to this list to register other decorators that produce valid properties. -property-classes=abc.abstractproperty - -# Naming hint for variable names -variable-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ - -# Regular expression matching correct variable names -variable-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$ - - -[FORMAT] - -# Expected format of line ending, e.g. empty (any line ending), LF or CRLF. -expected-line-ending-format= - -# Regexp for a line that is allowed to be longer than the limit. -ignore-long-lines=^\s*(# )??$ - -# Number of spaces of indent required inside a hanging or continued line. -indent-after-paren=4 - -# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 -# tab). -indent-string=' ' - -# Maximum number of characters on a single line. -max-line-length=100 - -# Maximum number of lines in a module -max-module-lines=1000 - -# List of optional constructs for which whitespace checking is disabled. `dict- -# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}. -# `trailing-comma` allows a space between comma and closing bracket: (a, ). -# `empty-line` allows space-only lines. -no-space-check=trailing-comma,dict-separator - -# Allow the body of a class to be on the same line as the declaration if body -# contains single statement. -single-line-class-stmt=no - -# Allow the body of an if to be on the same line as the test if there is no -# else. -single-line-if-stmt=no - - -[LOGGING] - -# Logging modules to check that the string format arguments are in logging -# function parameter format -logging-modules=logging - - -[MISCELLANEOUS] - -# List of note tags to take in consideration, separated by a comma. -notes=FIXME,XXX,TODO - - -[SIMILARITIES] - -# Ignore comments when computing similarities. -ignore-comments=yes - -# Ignore docstrings when computing similarities. -ignore-docstrings=yes - -# Ignore imports when computing similarities. -ignore-imports=no - -# Minimum lines number of a similarity. -min-similarity-lines=4 - - -[SPELLING] - -# Spelling dictionary name. Available dictionaries: none. To make it working -# install python-enchant package. -spelling-dict= - -# List of comma separated words that should not be checked. -spelling-ignore-words= - -# A path to a file that contains private dictionary; one word per line. -spelling-private-dict-file= - -# Tells whether to store unknown words to indicated private dictionary in -# --spelling-private-dict-file option instead of raising a message. -spelling-store-unknown-words=no - - -[TYPECHECK] - -# List of decorators that produce context managers, such as -# contextlib.contextmanager. Add to this list to register other decorators that -# produce valid context managers. -contextmanager-decorators=contextlib.contextmanager - -# List of members which are set dynamically and missed by pylint inference -# system, and so shouldn't trigger E1101 when accessed. Python regular -# expressions are accepted. -generated-members= - -# Tells whether missing members accessed in mixin class should be ignored. A -# mixin class is detected if its name ends with "mixin" (case insensitive). -ignore-mixin-members=yes - -# This flag controls whether pylint should warn about no-member and similar -# checks whenever an opaque object is returned when inferring. The inference -# can return multiple potential results while evaluating a Python object, but -# some branches might not be evaluated, which results in partial inference. In -# that case, it might be useful to still emit no-member and other checks for -# the rest of the inferred objects. -ignore-on-opaque-inference=yes - -# List of class names for which member attributes should not be checked (useful -# for classes with dynamically set attributes). This supports the use of -# qualified names. -ignored-classes=optparse.Values,thread._local,_thread._local - -# List of module names for which member attributes should not be checked -# (useful for modules/projects where namespaces are manipulated during runtime -# and thus existing member attributes cannot be deduced by static analysis. It -# supports qualified module names, as well as Unix pattern matching. -ignored-modules= - -# Show a hint with possible names when a member name was not found. The aspect -# of finding the hint is based on edit distance. -missing-member-hint=yes - -# The minimum edit distance a name should have in order to be considered a -# similar match for a missing member name. -missing-member-hint-distance=1 - -# The total number of similar names that should be taken in consideration when -# showing a hint for a missing member. -missing-member-max-choices=1 - - -[VARIABLES] - -# List of additional names supposed to be defined in builtins. Remember that -# you should avoid to define new builtins when possible. -additional-builtins= - -# Tells whether unused global variables should be treated as a violation. -allow-global-unused-variables=yes - -# List of strings which can identify a callback function by name. A callback -# name must start or end with one of those strings. -callbacks=cb_,_cb - -# A regular expression matching the name of dummy variables (i.e. expectedly -# not used). -dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_ - -# Argument names that match this expression will be ignored. Default to name -# with leading underscore -ignored-argument-names=_.*|^ignored_|^unused_ - -# Tells whether we should check for unused import in __init__ files. -init-import=no - -# List of qualified module names which can have objects that can redefine -# builtins. -redefining-builtins-modules=six.moves,future.builtins - - -[CLASSES] - -# List of method names used to declare (i.e. assign) instance attributes. -defining-attr-methods=__init__,__new__,setUp - -# List of member names, which should be excluded from the protected access -# warning. -exclude-protected=_asdict,_fields,_replace,_source,_make - -# List of valid names for the first argument in a class method. -valid-classmethod-first-arg=cls - -# List of valid names for the first argument in a metaclass class method. -valid-metaclass-classmethod-first-arg=mcs - - -[DESIGN] - -# Maximum number of arguments for function / method -max-args=5 - -# Maximum number of attributes for a class (see R0902). -max-attributes=7 - -# Maximum number of boolean expressions in a if statement -max-bool-expr=5 - -# Maximum number of branch for function / method body -max-branches=12 - -# Maximum number of locals for function / method body -max-locals=15 - -# Maximum number of parents for a class (see R0901). -max-parents=7 - -# Maximum number of public methods for a class (see R0904). -max-public-methods=20 - -# Maximum number of return / yield for function / method body -max-returns=6 - -# Maximum number of statements in function / method body -max-statements=50 - -# Minimum number of public methods for a class (see R0903). -min-public-methods=2 - - -[IMPORTS] - -# Allow wildcard imports from modules that define __all__. -allow-wildcard-with-all=no - -# Analyse import fallback blocks. This can be used to support both Python 2 and -# 3 compatible code, which means that the block might have code that exists -# only in one or another interpreter, leading to false positives when analysed. -analyse-fallback-blocks=no - -# Deprecated modules which should not be used, separated by a comma -deprecated-modules=regsub,TERMIOS,Bastion,rexec - -# Create a graph of external dependencies in the given file (report RP0402 must -# not be disabled) -ext-import-graph= - -# Create a graph of every (i.e. internal and external) dependencies in the -# given file (report RP0402 must not be disabled) -import-graph= - -# Create a graph of internal dependencies in the given file (report RP0402 must -# not be disabled) -int-import-graph= - -# Force import order to recognize a module as part of the standard -# compatibility libraries. -known-standard-library= - -# Force import order to recognize a module as part of a third party library. -known-third-party=enchant - - -[EXCEPTIONS] - -# Exceptions that will emit a warning when being caught. Defaults to -# "Exception" -overgeneral-exceptions=Exception diff --git a/manage_externals/test/Makefile b/manage_externals/test/Makefile deleted file mode 100644 index 293e360757..0000000000 --- a/manage_externals/test/Makefile +++ /dev/null @@ -1,124 +0,0 @@ -python = not-set -verbose = not-set -debug = not-set - -ifneq ($(python), not-set) -PYTHON=$(python) -else -PYTHON=python -endif - -# we need the python path to point one level up to access the package -# and executables -PYPATH=PYTHONPATH=..: - -# common args for running tests -TEST_ARGS=-m unittest discover - -ifeq ($(debug), not-set) - ifeq ($(verbose), not-set) - # summary only output - TEST_ARGS+=--buffer - else - # show individual test summary - TEST_ARGS+=--buffer --verbose - endif -else - # show detailed test output - TEST_ARGS+=--verbose -endif - - -# auto reformat the code -AUTOPEP8=autopep8 -AUTOPEP8_ARGS=--aggressive --in-place - -# run lint -PYLINT=pylint -PYLINT_ARGS=-j 2 --rcfile=.pylint.rc - -# code coverage -COVERAGE=coverage -COVERAGE_ARGS=--rcfile=.coveragerc - -# source files -SRC = \ - ../checkout_externals \ - ../manic/*.py - -CHECKOUT_EXE = ../checkout_externals - -TEST_DIR = . - -README = ../README.md - -# -# testing -# -.PHONY : utest -utest : FORCE - $(PYPATH) $(PYTHON) $(TEST_ARGS) --pattern 'test_unit_*.py' - -.PHONY : stest -stest : FORCE - $(PYPATH) $(PYTHON) $(TEST_ARGS) --pattern 'test_sys_*.py' - -.PHONY : test -test : utest stest - -# -# documentation -# -.PHONY : readme -readme : $(CHECKOUT_EXE) - printf "%s\n\n" "-- AUTOMATICALLY GENERATED FILE. DO NOT EDIT --" > $(README) - printf "%s" '[![Build Status](https://travis-ci.org/ESMCI/manage_externals.svg?branch=master)](https://travis-ci.org/ESMCI/manage_externals)' >> $(README) - printf "%s" '[![Coverage Status](https://coveralls.io/repos/github/ESMCI/manage_externals/badge.svg?branch=master)](https://coveralls.io/github/ESMCI/manage_externals?branch=master)' >> $(README) - printf "\n%s\n" '```' >> $(README) - $(CHECKOUT_EXE) --help >> $(README) - -# -# coding standards -# -.PHONY : style -style : FORCE - $(AUTOPEP8) $(AUTOPEP8_ARGS) --recursive $(SRC) $(TEST_DIR)/test_*.py - -.PHONY : lint -lint : FORCE - $(PYLINT) $(PYLINT_ARGS) $(SRC) $(TEST_DIR)/test_*.py - -.PHONY : stylint -stylint : style lint - -.PHONY : coverage -# Need to use a single coverage run with a single pattern rather than -# using two separate commands with separate patterns for test_unit_*.py -# and test_sys_*.py: The latter clobbers some results from the first -# run, even if we use the --append flag to 'coverage run'. -coverage : FORCE - $(PYPATH) $(COVERAGE) erase - $(PYPATH) $(COVERAGE) run $(COVERAGE_ARGS) $(TEST_ARGS) --pattern 'test_*.py' - $(PYPATH) $(COVERAGE) html - -# -# virtual environment creation -# -.PHONY : env -env : FORCE - $(PYPATH) virtualenv --python $(PYTHON) $@_$(PYTHON) - . $@_$(PYTHON)/bin/activate; pip install -r requirements.txt - -# -# utilites -# -.PHONY : clean -clean : FORCE - -rm -rf *~ *.pyc tmp fake htmlcov - -.PHONY : clobber -clobber : clean - -rm -rf env_* - -FORCE : - diff --git a/manage_externals/test/README.md b/manage_externals/test/README.md deleted file mode 100644 index 938a900eec..0000000000 --- a/manage_externals/test/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# Testing for checkout_externals - -NOTE: Python2 is the supported runtime environment. Python3 compatibility is -in progress, complicated by the different proposed input methods -(yaml, xml, cfg/ini, json) and their different handling of strings -(unicode vs byte) in python2. Full python3 compatibility will be -possible once the number of possible input formats has been narrowed. - -## Setup development environment - -Development environments should be setup for python2 and python3: - -```SH - cd checkout_externals/test - make python=python2 env - make python=python3 env -``` - -## Unit tests - -Tests should be run for both python2 and python3. It is recommended -that you have seperate terminal windows open python2 and python3 -testing to avoid errors activating and deactivating environments. - -```SH - cd checkout_externals/test - . env_python2/bin/activate - make utest - deactivate -``` - -```SH - cd checkout_externals/test - . env_python2/bin/activate - make utest - deactivate -``` - -## System tests - -Not yet implemented. - -## Static analysis - -checkout_externals is difficult to test thoroughly because it relies -on git and svn, and svn requires a live network connection and -repository. Static analysis will help catch bugs in code paths that -are not being executed, but it requires conforming to community -standards and best practices. autopep8 and pylint should be run -regularly for automatic code formatting and linting. - -```SH - cd checkout_externals/test - . env_python2/bin/activate - make lint - deactivate -``` - -The canonical formatting for the code is whatever autopep8 -generates. All issues identified by pylint should be addressed. - - -## Code coverage - -All changes to the code should include maintaining existing tests and -writing new tests for new or changed functionality. To ensure test -coverage, run the code coverage tool: - -```SH - cd checkout_externals/test - . env_python2/bin/activate - make coverage - open -a Firefox.app htmlcov/index.html - deactivate -``` - - diff --git a/manage_externals/test/doc/.gitignore b/manage_externals/test/doc/.gitignore deleted file mode 100644 index d4e11e5ea0..0000000000 --- a/manage_externals/test/doc/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -_build - diff --git a/manage_externals/test/doc/conf.py b/manage_externals/test/doc/conf.py deleted file mode 100644 index 469c0b0dc5..0000000000 --- a/manage_externals/test/doc/conf.py +++ /dev/null @@ -1,172 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Manage Externals documentation build configuration file, created by -# sphinx-quickstart on Wed Nov 29 10:53:25 2017. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -# 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('.')) - - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -# -# needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = ['sphinx.ext.autodoc', - 'sphinx.ext.todo', - 'sphinx.ext.coverage', - 'sphinx.ext.viewcode', - 'sphinx.ext.githubpages'] - -# 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', '.md'] -source_suffix = '.rst' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'Manage Externals' -copyright = u'2017, CSEG at NCAR' -author = u'CSEG at NCAR' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = u'1.0.0' -# The full version, including alpha/beta/rc tags. -release = u'1.0.0' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# -# This is also used if you do content translation via gettext catalogs. -# Usually you set "language" from the command line for these cases. -language = None - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -# This patterns also effect to html_static_path and html_extra_path -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# If true, `todo` and `todoList` produce output, else they produce nothing. -todo_include_todos = True - - -# -- 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 = 'alabaster' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -# -# html_theme_options = {} - -# 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'] - -# Custom sidebar templates, must be a dictionary that maps document names -# to template names. -# -# This is required for the alabaster theme -# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars -html_sidebars = { - '**': [ - 'relations.html', # needs 'show_related': True theme option to display - 'searchbox.html', - ] -} - - -# -- Options for HTMLHelp output ------------------------------------------ - -# Output file base name for HTML help builder. -htmlhelp_basename = 'ManageExternalsdoc' - - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - # - # 'papersize': 'letterpaper', - - # The font size ('10pt', '11pt' or '12pt'). - # - # 'pointsize': '10pt', - - # Additional stuff for the LaTeX preamble. - # - # 'preamble': '', - - # Latex figure (float) alignment - # - # 'figure_align': 'htbp', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - (master_doc, 'ManageExternals.tex', u'Manage Externals Documentation', - u'CSEG at NCAR', 'manual'), -] - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - (master_doc, 'manageexternals', u'Manage Externals Documentation', - [author], 1) -] - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - (master_doc, 'ManageExternals', u'Manage Externals Documentation', - author, 'ManageExternals', 'One line description of project.', - 'Miscellaneous'), -] - - - diff --git a/manage_externals/test/doc/develop.rst b/manage_externals/test/doc/develop.rst deleted file mode 100644 index b817b7b093..0000000000 --- a/manage_externals/test/doc/develop.rst +++ /dev/null @@ -1,202 +0,0 @@ -Developer Guidelines -==================== - -The manage externals utilities are a light weight replacement for svn -externals that will work with git repositories pulling in a mixture of -git and svn dependencies. - -Given an externals description and a working copy: - -* *checkout_externals* attempts to make the working copy agree with the - externals description - -* *generate_externals* attempts to make the externals description agree - with the working copy. - -For these operations utilities should: - -* operate consistently across git and svn - -* operate simply with minimal user complexity - -* robustly across a wide range of repository states - -* provide explicit error messages when a problem occurs - -* leave the working copy in a valid state - -The utilities in manage externals are **NOT** generic wrappers around -revision control operations or a replacement for common tasks. Users -are expected to: - -* create branches prior to starting development - -* add remotes and push changes - -* create tags - -* delete branches - -These types of tasks are often highly workflow dependent, e.g. branch -naming conventions may vary between repositories, have the potential -to destroy user data, introduce significant code complexit and 'edge -cases' that are extremely difficult to detect and test, and often -require subtle decision making, especially if a problem occurs. - -Users who want to automate these types are encouraged to create their -own tools. The externals description files are explicitly versioned -and the internal APIs are intended to be stable for these purposes. - -Core Design Principles ------------------------ - -1. Users can, and are actively encouraged to, modify the externals - directories using revision control outside of manage_externals - tools. You can't make any assumptions about the state of the - working copy. Examples: adding a remote, creating a branch, - switching to a branch, deleting the directory entirely. - -2. Give that the user can do anything, the manage externals library - can not preserve state between calls. The only information it can - rely on is what it expectes based on the content of the externals - description file, and what the actual state of the directory tree - is. - -3. Do *not* do anything that will possibly destroy user data! - - a. Do not remove files from the file system. We are operating on - user supplied input. If you don't call 'rm', you can't - accidentally remove the user's data. Thinking of calling - ``shutil.rmtree(user_input)``? What if the user accidentally - specified user_input such that it resolves to their home - directory.... Yeah. Don't go there. - - b. Rely on git and svn to do their job as much as possible. Don't - duplicate functionality. Examples: - - i. We require the working copies to be 'clean' as reported by - ``git status`` and ``svn status``. What if there are misc - editor files floating around that prevent an update? Use the - git and svn ignore functionality so they are not - reported. Don't try to remove them from manage_externals or - determine if they are 'safe' to ignore. - - ii. Do not use '--force'. Ever. This is a sign you are doing - something dangerous, it may not be what the user - wants. Remember, they are encouraged to modify their repo. - -4. There are often multiple ways to obtain a particular piece of - information from git. Scraping screen output is brittle and - generally not considered a stable API across different versions of - git. Given a choice between: - - a. a lower level git 'plumbing' command that processes a - specific request and returns a sucess/failure status. - - b. high level git command that produces a bunch of output - that must be processed. - - We always prefer the former. It almost always involves - writing and maintaining less code and is more likely to be - stable. - -5. Backward compatibility is critical. We have *nested* - repositories. They are trivially easy to change versions. They may - have very different versions of the top level manage_externals. The - ability to read and work with old model description files is - critical to avoid problems for users. We also have automated tools - (testdb) that must generate and read external description - files. Backward compatibility will make staging changes vastly - simpler. - -Model Users ------------ - -Consider the needs of the following model userswhen developing manage_externals: - -* Users who will checkout the code once, and never change versions. - -* Users who will checkout the code once, then work for several years, - never updating. before trying to update or request integration. - -* Users develope code but do not use revision control beyond the - initial checkout. If they have modified or untracked files in the - repo, they may be irreplacable. Don't destroy user data. - -* Intermediate users who are working with multiple repos or branches - on a regular basis. They may only use manage_externals weekly or - monthly. Keep the user interface and documentation simple and - explicit. The more command line options they have to remember or - look up, the more frustrated they git. - -* Software engineers who use the tools multiple times a day. It should - get out of their way. - -User Interface --------------- - -Basic operation for the most standard use cases should be kept as -simple as possible. Many users will only rarely run the manage -utilities. Even advanced users don't like reading a lot of help -documentation or struggling to remember commands and piece together -what they need to run. Having many command line options, even if not -needed, is exteremly frustrating and overwhelming for most users. A few -simple, explicitly named commands are better than a single command -with many options. - -How will users get help if something goes wrong? This is a custom, -one-off solution. Searching the internet for manage_externals, will -only return the user doc for this project at best. There isn't likely -to be a stackoverflow question or blog post where someone else already -answered a user's question. And very few people outside this community -will be able to provide help if something goes wrong. The sooner we -kick users out of these utilities and into standard version control -tools, the better off they are going to be if they run into a problem. - -Repositories ------------- - -There are three basic types of repositories that must be considered: - -* container repositories - repositories that are always top level - repositories, and have a group of externals that must be managed. - -* simple repositories - repositories that are externals to another - repository, and do not have any of their own externals that will be - managed. - -* mixed use repositories - repositories that can act as a top level - container repository or as an external to a top level - container. They may also have their own sub-externals that are - required. They may have different externals needs depening on - whether they are top level or not. - -Repositories must be able to checkout and switch to both branches and -tags. - -Development -=========== - -The functionality to manage externals is broken into a library of core -functionality and applications built with the library. - -The core library is called 'manic', pseduo-homophone of (man)age -(ex)ternals that is: short, pronounceable and spell-checkable. It is -also no more or less meaningful to an unfamiliar user than a random -jumble of letters forming an acronym. - -The core architecture of manic is: - -* externals description - an abstract description on an external, - including of how to obtain it, where to obtain it, where it goes in - the working tree. - -* externals - the software object representing an external. - -* source trees - collection of externals - -* repository wrappers - object oriented wrappers around repository - operations. So the higher level management of the soure tree and - external does not have to be concerned with how a particular - external is obtained and managed. - diff --git a/manage_externals/test/doc/index.rst b/manage_externals/test/doc/index.rst deleted file mode 100644 index 9ab287ad8c..0000000000 --- a/manage_externals/test/doc/index.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. Manage Externals documentation master file, created by - sphinx-quickstart on Wed Nov 29 10:53:25 2017. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -Welcome to Manage Externals's documentation! -============================================ - -.. toctree:: - :maxdepth: 2 - :caption: Contents: - - - develop.rst - testing.rst - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/manage_externals/test/doc/testing.rst b/manage_externals/test/doc/testing.rst deleted file mode 100644 index 623f0e431c..0000000000 --- a/manage_externals/test/doc/testing.rst +++ /dev/null @@ -1,123 +0,0 @@ -Testing -======= - -The manage_externals package has an automated test suite. All pull -requests are expected to pass 100% of the automated tests, as well as -be pep8 and lint 'clean' and maintain approximately constant (at a -minimum) level of code coverage. - -Quick Start ------------ - -Do nothing approach -~~~~~~~~~~~~~~~~~~~ - -When you create a pull request on GitHub, Travis-CI continuous -integration testing will run the test suite in both python2 and -python3. Test results, lint results, and code coverage results are -available online. - -Do something approach -~~~~~~~~~~~~~~~~~~~~~ - -In the test directory, run: - -.. code-block:: shell - - make env - make lint - make test - make coverage - - -Automated Testing ------------------ - -The manage_externals manic library and executables are developed to be -python2 and python3 compatible using only the standard library. The -test suites meet the same requirements. But additional tools are -required to provide lint and code coverage metrics and generate -documentation. The requirements are maintained in the requirements.txt -file, and can be automatically installed into an isolated environment -via Makefile. - -Bootstrap requirements: - -* python2 - version 2.7.x or later - -* python3 - version 3.6 tested other versions may work - -* pip and virtualenv for python2 and python3 - -Note: all make rules can be of the form ``make python=pythonX rule`` -or ``make rule`` depending if you want to use the default system -python or specify a specific version. - -The Makefile in the test directory has the following rules: - -* ``make python=pythonX env`` - create a python virtual environment - for python2 or python3 and install all required packages. These - packages are required to run lint or coverage. - -* ``make style`` - runs autopep8 - -* ``make lint`` - runs autopep8 and pylint - -* ``make test`` - run the full test suite - -* ``make utest`` - run jus the unit tests - -* ``make stest`` - run jus the system integration tests - -* ``make coverage`` - run the full test suite through the code - coverage tool and generate an html report. - -* ``make readme`` - automatically generate the README files. - -* ``make clean`` - remove editor and pyc files - -* ``make clobber`` - remove all generated test files, including - virtual environments, coverage reports, and temporary test - repository directories. - -Unit Tests ----------- - -Unit tests are probably not 'true unit tests' for the pedantic, but -are pragmatic unit tests. They cover small practicle code blocks: -functions, class methods, and groups of functions and class methods. - -System Integration Tests ------------------------- - -NOTE(bja, 2017-11) The systems integration tests currently do not include svn repositories. - -The manage_externals package is extremely tedious and error prone to test manually. - -Combinations that must be tested to ensure basic functionality are: - -* container repository pulling in simple externals - -* container repository pulling in mixed externals with sub-externals. - -* mixed repository acting as a container, pulling in simple externals and sub-externals - -Automatic system tests are handled the same way manual testing is done: - -* clone a test repository - -* create an externals description file for the test - -* run the executable with the desired args - -* check the results - -* potentially modify the repo (checkout a different branch) - -* rerun and test - -* etc - -The automated system stores small test repositories in the main repo -by adding them as bare repositories. These repos are cloned via a -subprocess call to git and manipulated during the tests. diff --git a/manage_externals/test/repos/container.git/HEAD b/manage_externals/test/repos/container.git/HEAD deleted file mode 100644 index cb089cd89a..0000000000 --- a/manage_externals/test/repos/container.git/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/heads/master diff --git a/manage_externals/test/repos/container.git/config b/manage_externals/test/repos/container.git/config deleted file mode 100644 index e6da231579..0000000000 --- a/manage_externals/test/repos/container.git/config +++ /dev/null @@ -1,6 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = true - bare = true - ignorecase = true - precomposeunicode = true diff --git a/manage_externals/test/repos/container.git/description b/manage_externals/test/repos/container.git/description deleted file mode 100644 index 498b267a8c..0000000000 --- a/manage_externals/test/repos/container.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/manage_externals/test/repos/container.git/info/exclude b/manage_externals/test/repos/container.git/info/exclude deleted file mode 100644 index a5196d1be8..0000000000 --- a/manage_externals/test/repos/container.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/manage_externals/test/repos/container.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 b/manage_externals/test/repos/container.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 deleted file mode 100644 index f65234e17f..0000000000 Binary files a/manage_externals/test/repos/container.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 and /dev/null differ diff --git a/manage_externals/test/repos/container.git/objects/71/5b8f3e4afe1802a178e1d603af404ba45d59de b/manage_externals/test/repos/container.git/objects/71/5b8f3e4afe1802a178e1d603af404ba45d59de deleted file mode 100644 index 9759965b1b..0000000000 Binary files a/manage_externals/test/repos/container.git/objects/71/5b8f3e4afe1802a178e1d603af404ba45d59de and /dev/null differ diff --git a/manage_externals/test/repos/container.git/objects/b0/f87705e2b9601cb831878f3d51efa78b910d7b b/manage_externals/test/repos/container.git/objects/b0/f87705e2b9601cb831878f3d51efa78b910d7b deleted file mode 100644 index d9976cc442..0000000000 Binary files a/manage_externals/test/repos/container.git/objects/b0/f87705e2b9601cb831878f3d51efa78b910d7b and /dev/null differ diff --git a/manage_externals/test/repos/container.git/objects/f9/e08370a737e941de6f6492e3f427c2ef4c1a03 b/manage_externals/test/repos/container.git/objects/f9/e08370a737e941de6f6492e3f427c2ef4c1a03 deleted file mode 100644 index 460fd77819..0000000000 Binary files a/manage_externals/test/repos/container.git/objects/f9/e08370a737e941de6f6492e3f427c2ef4c1a03 and /dev/null differ diff --git a/manage_externals/test/repos/container.git/refs/heads/master b/manage_externals/test/repos/container.git/refs/heads/master deleted file mode 100644 index 3ae00f3af0..0000000000 --- a/manage_externals/test/repos/container.git/refs/heads/master +++ /dev/null @@ -1 +0,0 @@ -715b8f3e4afe1802a178e1d603af404ba45d59de diff --git a/manage_externals/test/repos/error/readme.txt b/manage_externals/test/repos/error/readme.txt deleted file mode 100644 index 6b5753377e..0000000000 --- a/manage_externals/test/repos/error/readme.txt +++ /dev/null @@ -1,3 +0,0 @@ -Invalid or corrupted git repository (.git dir exists, but is empty) for error -testing. - diff --git a/manage_externals/test/repos/mixed-cont-ext.git/HEAD b/manage_externals/test/repos/mixed-cont-ext.git/HEAD deleted file mode 100644 index cb089cd89a..0000000000 --- a/manage_externals/test/repos/mixed-cont-ext.git/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/heads/master diff --git a/manage_externals/test/repos/mixed-cont-ext.git/config b/manage_externals/test/repos/mixed-cont-ext.git/config deleted file mode 100644 index e6da231579..0000000000 --- a/manage_externals/test/repos/mixed-cont-ext.git/config +++ /dev/null @@ -1,6 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = true - bare = true - ignorecase = true - precomposeunicode = true diff --git a/manage_externals/test/repos/mixed-cont-ext.git/description b/manage_externals/test/repos/mixed-cont-ext.git/description deleted file mode 100644 index 498b267a8c..0000000000 --- a/manage_externals/test/repos/mixed-cont-ext.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/manage_externals/test/repos/mixed-cont-ext.git/info/exclude b/manage_externals/test/repos/mixed-cont-ext.git/info/exclude deleted file mode 100644 index a5196d1be8..0000000000 --- a/manage_externals/test/repos/mixed-cont-ext.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/00/437ac2000d5f06fb8a572a01a5bbdae98b17cb b/manage_externals/test/repos/mixed-cont-ext.git/objects/00/437ac2000d5f06fb8a572a01a5bbdae98b17cb deleted file mode 100644 index 145a6990a8..0000000000 Binary files a/manage_externals/test/repos/mixed-cont-ext.git/objects/00/437ac2000d5f06fb8a572a01a5bbdae98b17cb and /dev/null differ diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/01/97458f2dbe5fcd6bc44fa46983be0a30282379 b/manage_externals/test/repos/mixed-cont-ext.git/objects/01/97458f2dbe5fcd6bc44fa46983be0a30282379 deleted file mode 100644 index 032f4b1ca6..0000000000 Binary files a/manage_externals/test/repos/mixed-cont-ext.git/objects/01/97458f2dbe5fcd6bc44fa46983be0a30282379 and /dev/null differ diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/06/ea30b03ffa2f8574705f8b9583f7ca7e2dccf7 b/manage_externals/test/repos/mixed-cont-ext.git/objects/06/ea30b03ffa2f8574705f8b9583f7ca7e2dccf7 deleted file mode 100644 index 13d15a96a5..0000000000 Binary files a/manage_externals/test/repos/mixed-cont-ext.git/objects/06/ea30b03ffa2f8574705f8b9583f7ca7e2dccf7 and /dev/null differ diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/14/368b701616a8c53820b610414a4b9a07540cf6 b/manage_externals/test/repos/mixed-cont-ext.git/objects/14/368b701616a8c53820b610414a4b9a07540cf6 deleted file mode 100644 index 53c4e79ed0..0000000000 --- a/manage_externals/test/repos/mixed-cont-ext.git/objects/14/368b701616a8c53820b610414a4b9a07540cf6 +++ /dev/null @@ -1 +0,0 @@ -x50S0A1FMWiRh-iitjz h#F+|m"rFd <;s̱۬OEQE}TLU<,9}]IiP. 9ze vA$8#DK \ No newline at end of file diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/15/2b57e1cf23721cd17ff681cb9276e3fb9fc091 b/manage_externals/test/repos/mixed-cont-ext.git/objects/15/2b57e1cf23721cd17ff681cb9276e3fb9fc091 deleted file mode 100644 index d09c006f07..0000000000 --- a/manage_externals/test/repos/mixed-cont-ext.git/objects/15/2b57e1cf23721cd17ff681cb9276e3fb9fc091 +++ /dev/null @@ -1,2 +0,0 @@ -xKn0 )xEӛP"eCuzb0Su)!h9.!<ے,s$P0/f.M_ɅKjc٧$03Ytz:|HK.p缏BUxzL`N2M2J]K۾># -MPtM0v&>Kci8V; \ No newline at end of file diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/1f/01fa46c17b1f38b37e6259f6e9d041bda3144f b/manage_externals/test/repos/mixed-cont-ext.git/objects/1f/01fa46c17b1f38b37e6259f6e9d041bda3144f deleted file mode 100644 index 7bacde68db..0000000000 Binary files a/manage_externals/test/repos/mixed-cont-ext.git/objects/1f/01fa46c17b1f38b37e6259f6e9d041bda3144f and /dev/null differ diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/37/f0e70b609adc90f4c09ee21d82ed1d79c81d69 b/manage_externals/test/repos/mixed-cont-ext.git/objects/37/f0e70b609adc90f4c09ee21d82ed1d79c81d69 deleted file mode 100644 index 8c6b04837a..0000000000 Binary files a/manage_externals/test/repos/mixed-cont-ext.git/objects/37/f0e70b609adc90f4c09ee21d82ed1d79c81d69 and /dev/null differ diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/38/9a2b876b8965d3c91a3db8d28a483eaf019d5c b/manage_externals/test/repos/mixed-cont-ext.git/objects/38/9a2b876b8965d3c91a3db8d28a483eaf019d5c deleted file mode 100644 index 1a35b74d47..0000000000 Binary files a/manage_externals/test/repos/mixed-cont-ext.git/objects/38/9a2b876b8965d3c91a3db8d28a483eaf019d5c and /dev/null differ diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 b/manage_externals/test/repos/mixed-cont-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 deleted file mode 100644 index f65234e17f..0000000000 Binary files a/manage_externals/test/repos/mixed-cont-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 and /dev/null differ diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/6e/9f4baa6e94a0af4e094836c2eb55ccedef5fc4 b/manage_externals/test/repos/mixed-cont-ext.git/objects/6e/9f4baa6e94a0af4e094836c2eb55ccedef5fc4 deleted file mode 100644 index 6b2146cae4..0000000000 Binary files a/manage_externals/test/repos/mixed-cont-ext.git/objects/6e/9f4baa6e94a0af4e094836c2eb55ccedef5fc4 and /dev/null differ diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/6f/c379457ecb4e576a13c7610ae1fa73f845ee6a b/manage_externals/test/repos/mixed-cont-ext.git/objects/6f/c379457ecb4e576a13c7610ae1fa73f845ee6a deleted file mode 100644 index 852a051139..0000000000 --- a/manage_externals/test/repos/mixed-cont-ext.git/objects/6f/c379457ecb4e576a13c7610ae1fa73f845ee6a +++ /dev/null @@ -1 +0,0 @@ -xAN09sʎ;~2J^M,'8ԝھ_yyR3؍lmvƕPBFC>y*bla-n^]D,xfv2p׭ }GzxNvq~Zc y+QTt;]C:AgA( XAG*=i\_^' \ No newline at end of file diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/93/a159deb9175bfeb2820a0006ddd92d78131332 b/manage_externals/test/repos/mixed-cont-ext.git/objects/93/a159deb9175bfeb2820a0006ddd92d78131332 deleted file mode 100644 index 682d799898..0000000000 Binary files a/manage_externals/test/repos/mixed-cont-ext.git/objects/93/a159deb9175bfeb2820a0006ddd92d78131332 and /dev/null differ diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/95/80ecc12f16334ce44e42287d5d46f927bb7b75 b/manage_externals/test/repos/mixed-cont-ext.git/objects/95/80ecc12f16334ce44e42287d5d46f927bb7b75 deleted file mode 100644 index 33c9f6cdf1..0000000000 --- a/manage_externals/test/repos/mixed-cont-ext.git/objects/95/80ecc12f16334ce44e42287d5d46f927bb7b75 +++ /dev/null @@ -1 +0,0 @@ -xKN0YcȟLlK7鴟5#{OzғmW%ӓv8&eFٱ$/UɞzRJ%ZY |YSC/'*}A7Cۑϋ1^L0f7c b/Jo5-Ů;҅AH:XADZ:ڇ8M^ \ No newline at end of file diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/a9/288dcd8a719a1f4ed3cba43a2a387ae7cd60fd b/manage_externals/test/repos/mixed-cont-ext.git/objects/a9/288dcd8a719a1f4ed3cba43a2a387ae7cd60fd deleted file mode 100644 index 73e7cbfbc8..0000000000 Binary files a/manage_externals/test/repos/mixed-cont-ext.git/objects/a9/288dcd8a719a1f4ed3cba43a2a387ae7cd60fd and /dev/null differ diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/e8/ea32a11d30ee703f6f661ae7c2376f4ab84d38 b/manage_externals/test/repos/mixed-cont-ext.git/objects/e8/ea32a11d30ee703f6f661ae7c2376f4ab84d38 deleted file mode 100644 index 189ed85bb3..0000000000 Binary files a/manage_externals/test/repos/mixed-cont-ext.git/objects/e8/ea32a11d30ee703f6f661ae7c2376f4ab84d38 and /dev/null differ diff --git a/manage_externals/test/repos/mixed-cont-ext.git/objects/fd/15a5ad5204356229c60a831d2a8120a43ac901 b/manage_externals/test/repos/mixed-cont-ext.git/objects/fd/15a5ad5204356229c60a831d2a8120a43ac901 deleted file mode 100644 index 619e38ee78..0000000000 --- a/manage_externals/test/repos/mixed-cont-ext.git/objects/fd/15a5ad5204356229c60a831d2a8120a43ac901 +++ /dev/null @@ -1,2 +0,0 @@ -x=;0 :v =rJf`) noW)zgA >.pA -! w4ݵQ=äZ90k G)* \ No newline at end of file diff --git a/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/master b/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/master deleted file mode 100644 index 1e0eef1ea3..0000000000 --- a/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/master +++ /dev/null @@ -1 +0,0 @@ -6fc379457ecb4e576a13c7610ae1fa73f845ee6a diff --git a/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/new-feature b/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/new-feature deleted file mode 100644 index 607e80d1bc..0000000000 --- a/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/new-feature +++ /dev/null @@ -1 +0,0 @@ -9580ecc12f16334ce44e42287d5d46f927bb7b75 diff --git a/manage_externals/test/repos/simple-ext-fork.git/HEAD b/manage_externals/test/repos/simple-ext-fork.git/HEAD deleted file mode 100644 index cb089cd89a..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/heads/master diff --git a/manage_externals/test/repos/simple-ext-fork.git/config b/manage_externals/test/repos/simple-ext-fork.git/config deleted file mode 100644 index 04eba17870..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/config +++ /dev/null @@ -1,8 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = true - bare = true - ignorecase = true - precomposeunicode = true -[remote "origin"] - url = /Users/andreb/projects/ncar/git-conversion/checkout-model-dev/cesm-demo-externals/manage_externals/test/repos/simple-ext.git diff --git a/manage_externals/test/repos/simple-ext-fork.git/description b/manage_externals/test/repos/simple-ext-fork.git/description deleted file mode 100644 index 498b267a8c..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/manage_externals/test/repos/simple-ext-fork.git/info/exclude b/manage_externals/test/repos/simple-ext-fork.git/info/exclude deleted file mode 100644 index a5196d1be8..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f b/manage_externals/test/repos/simple-ext-fork.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f deleted file mode 100644 index ae28c037e5..0000000000 Binary files a/manage_externals/test/repos/simple-ext-fork.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8 b/manage_externals/test/repos/simple-ext-fork.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8 deleted file mode 100644 index 32d6896e3c..0000000000 Binary files a/manage_externals/test/repos/simple-ext-fork.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8 and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/0b/67df4e7e8e6e1c6e401542738b352d18744677 b/manage_externals/test/repos/simple-ext-fork.git/objects/0b/67df4e7e8e6e1c6e401542738b352d18744677 deleted file mode 100644 index db51ce1953..0000000000 Binary files a/manage_externals/test/repos/simple-ext-fork.git/objects/0b/67df4e7e8e6e1c6e401542738b352d18744677 and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c b/manage_externals/test/repos/simple-ext-fork.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c deleted file mode 100644 index 564e7bba63..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c +++ /dev/null @@ -1,2 +0,0 @@ -x%K -0@]se&DԛL!l).u.@_J0lM~v:mLiY*/@p W J&)* \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/16/5506a7408a482f50493434e13fffeb44af893f b/manage_externals/test/repos/simple-ext-fork.git/objects/16/5506a7408a482f50493434e13fffeb44af893f deleted file mode 100644 index 0d738af68b..0000000000 Binary files a/manage_externals/test/repos/simple-ext-fork.git/objects/16/5506a7408a482f50493434e13fffeb44af893f and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/24/4386e788c9bc608613e127a329c742450a60e4 b/manage_externals/test/repos/simple-ext-fork.git/objects/24/4386e788c9bc608613e127a329c742450a60e4 deleted file mode 100644 index b6284f8413..0000000000 Binary files a/manage_externals/test/repos/simple-ext-fork.git/objects/24/4386e788c9bc608613e127a329c742450a60e4 and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/32/7e97d86e941047d809dba58f2804740c6c30cf b/manage_externals/test/repos/simple-ext-fork.git/objects/32/7e97d86e941047d809dba58f2804740c6c30cf deleted file mode 100644 index 0999f0d4b9..0000000000 Binary files a/manage_externals/test/repos/simple-ext-fork.git/objects/32/7e97d86e941047d809dba58f2804740c6c30cf and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48 b/manage_externals/test/repos/simple-ext-fork.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48 deleted file mode 100644 index 9da8434f65..0000000000 Binary files a/manage_externals/test/repos/simple-ext-fork.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48 and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/3d/7099c35404ae6c8640ce263b38bef06e98cc26 b/manage_externals/test/repos/simple-ext-fork.git/objects/3d/7099c35404ae6c8640ce263b38bef06e98cc26 deleted file mode 100644 index 22065ba543..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/objects/3d/7099c35404ae6c8640ce263b38bef06e98cc26 +++ /dev/null @@ -1,2 +0,0 @@ -xmQ -0EQq $LހO_* t0J8͡bE?؋g4Nmbag[b{_Ic>`}0M؇Bs0/}:: \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/3d/ec1fdf8e2f5edba28148c5db2fe8d7a842360b b/manage_externals/test/repos/simple-ext-fork.git/objects/3d/ec1fdf8e2f5edba28148c5db2fe8d7a842360b deleted file mode 100644 index 9a31c7ef2e..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/objects/3d/ec1fdf8e2f5edba28148c5db2fe8d7a842360b +++ /dev/null @@ -1,2 +0,0 @@ -xKn0 )x,IEџA#t7o۶vp.zS&od8xLd@̋C6f% -pt$m&JdhݗVxp7^/o7dK1GDs#뿏{o?Z 7,\grPkSkJ^ \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/a4/2fe9144f5707bc1e9515ce1b44681f7aba6f95 b/manage_externals/test/repos/simple-ext-fork.git/objects/a4/2fe9144f5707bc1e9515ce1b44681f7aba6f95 deleted file mode 100644 index d8ba654548..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/objects/a4/2fe9144f5707bc1e9515ce1b44681f7aba6f95 +++ /dev/null @@ -1,3 +0,0 @@ -xU[ -0a@%Is+;c/DqV> wWJ ژ>8!!&'S=)CF+I2OTs^Xn`2Bcw'w -\NqݛF)83(2:0x-<׍!6,i 9 \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/b9/3737be3ea6b19f6255983748a0a0f4d622f936 b/manage_externals/test/repos/simple-ext-fork.git/objects/b9/3737be3ea6b19f6255983748a0a0f4d622f936 deleted file mode 100644 index 9b40a0afa0..0000000000 Binary files a/manage_externals/test/repos/simple-ext-fork.git/objects/b9/3737be3ea6b19f6255983748a0a0f4d622f936 and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/c5/32bc8fde96fa63103a52057f0baffcc9f00c6b b/manage_externals/test/repos/simple-ext-fork.git/objects/c5/32bc8fde96fa63103a52057f0baffcc9f00c6b deleted file mode 100644 index 3019d2bac0..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/objects/c5/32bc8fde96fa63103a52057f0baffcc9f00c6b +++ /dev/null @@ -1 +0,0 @@ -x5 Dќb*dni Yl YX%bۖ,`W8 .G&ר-T$vڳp,=:-O}3u:]8慴k{|0 \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364 b/manage_externals/test/repos/simple-ext-fork.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364 deleted file mode 100644 index 1d27accb58..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364 +++ /dev/null @@ -1 +0,0 @@ -x @TeV`p ;vɼ&מi+b%Ns(G7/nǩ-UlGjV&Y+!| \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext-fork.git/objects/f2/68d4e56d067da9bd1d85e55bdc40a8bd2b0bca b/manage_externals/test/repos/simple-ext-fork.git/objects/f2/68d4e56d067da9bd1d85e55bdc40a8bd2b0bca deleted file mode 100644 index 3e945cdeb1..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/objects/f2/68d4e56d067da9bd1d85e55bdc40a8bd2b0bca +++ /dev/null @@ -1 +0,0 @@ -x 1ENӀcf+cFBw-ˁù2v0mzO^4rv7"̉z&sb$>D}D>Nv{ZMI?jps8gӽqڥZqo jfJ{]յOm/3$Q_@H \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext-fork.git/packed-refs b/manage_externals/test/repos/simple-ext-fork.git/packed-refs deleted file mode 100644 index b8f9e86308..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/packed-refs +++ /dev/null @@ -1,5 +0,0 @@ -# pack-refs with: peeled fully-peeled sorted -36418b4e5665956a90725c9a1b5a8e551c5f3d48 refs/heads/feature2 -9b75494003deca69527bb64bcaa352e801611dd2 refs/heads/master -11a76e3d9a67313dec7ce1230852ab5c86352c5c refs/tags/tag1 -^9b75494003deca69527bb64bcaa352e801611dd2 diff --git a/manage_externals/test/repos/simple-ext-fork.git/refs/heads/feature2 b/manage_externals/test/repos/simple-ext-fork.git/refs/heads/feature2 deleted file mode 100644 index d223b0362d..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/refs/heads/feature2 +++ /dev/null @@ -1 +0,0 @@ -f268d4e56d067da9bd1d85e55bdc40a8bd2b0bca diff --git a/manage_externals/test/repos/simple-ext-fork.git/refs/tags/abandoned-feature b/manage_externals/test/repos/simple-ext-fork.git/refs/tags/abandoned-feature deleted file mode 100644 index 8a18bf08e9..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/refs/tags/abandoned-feature +++ /dev/null @@ -1 +0,0 @@ -a42fe9144f5707bc1e9515ce1b44681f7aba6f95 diff --git a/manage_externals/test/repos/simple-ext-fork.git/refs/tags/forked-feature-v1 b/manage_externals/test/repos/simple-ext-fork.git/refs/tags/forked-feature-v1 deleted file mode 100644 index 2764b552d5..0000000000 --- a/manage_externals/test/repos/simple-ext-fork.git/refs/tags/forked-feature-v1 +++ /dev/null @@ -1 +0,0 @@ -8d2b3b35126224c975d23f109aa1e3cbac452989 diff --git a/manage_externals/test/repos/simple-ext.git/HEAD b/manage_externals/test/repos/simple-ext.git/HEAD deleted file mode 100644 index cb089cd89a..0000000000 --- a/manage_externals/test/repos/simple-ext.git/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/heads/master diff --git a/manage_externals/test/repos/simple-ext.git/config b/manage_externals/test/repos/simple-ext.git/config deleted file mode 100644 index e6da231579..0000000000 --- a/manage_externals/test/repos/simple-ext.git/config +++ /dev/null @@ -1,6 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = true - bare = true - ignorecase = true - precomposeunicode = true diff --git a/manage_externals/test/repos/simple-ext.git/description b/manage_externals/test/repos/simple-ext.git/description deleted file mode 100644 index 498b267a8c..0000000000 --- a/manage_externals/test/repos/simple-ext.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/manage_externals/test/repos/simple-ext.git/info/exclude b/manage_externals/test/repos/simple-ext.git/info/exclude deleted file mode 100644 index a5196d1be8..0000000000 --- a/manage_externals/test/repos/simple-ext.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/manage_externals/test/repos/simple-ext.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f b/manage_externals/test/repos/simple-ext.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f deleted file mode 100644 index ae28c037e5..0000000000 Binary files a/manage_externals/test/repos/simple-ext.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext.git/objects/09/0e1034746b2c865f7b0280813dbf4061a700e8 b/manage_externals/test/repos/simple-ext.git/objects/09/0e1034746b2c865f7b0280813dbf4061a700e8 deleted file mode 100644 index e5255047bf..0000000000 Binary files a/manage_externals/test/repos/simple-ext.git/objects/09/0e1034746b2c865f7b0280813dbf4061a700e8 and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8 b/manage_externals/test/repos/simple-ext.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8 deleted file mode 100644 index 32d6896e3c..0000000000 Binary files a/manage_externals/test/repos/simple-ext.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8 and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c b/manage_externals/test/repos/simple-ext.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c deleted file mode 100644 index 564e7bba63..0000000000 --- a/manage_externals/test/repos/simple-ext.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c +++ /dev/null @@ -1,2 +0,0 @@ -x%K -0@]se&DԛL!l).u.@_J0lM~v:mLiY*/@p W J&)* \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext.git/objects/31/dbcd6de441e671a467ef317146539b7ffabb11 b/manage_externals/test/repos/simple-ext.git/objects/31/dbcd6de441e671a467ef317146539b7ffabb11 deleted file mode 100644 index 0f0db6797f..0000000000 Binary files a/manage_externals/test/repos/simple-ext.git/objects/31/dbcd6de441e671a467ef317146539b7ffabb11 and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48 b/manage_externals/test/repos/simple-ext.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48 deleted file mode 100644 index 9da8434f65..0000000000 Binary files a/manage_externals/test/repos/simple-ext.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48 and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 b/manage_externals/test/repos/simple-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 deleted file mode 100644 index f65234e17f..0000000000 Binary files a/manage_externals/test/repos/simple-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext.git/objects/60/b1cc1a38d63a4bcaa1e767262bbe23dbf9f5f5 b/manage_externals/test/repos/simple-ext.git/objects/60/b1cc1a38d63a4bcaa1e767262bbe23dbf9f5f5 deleted file mode 100644 index 68a86c24ea..0000000000 --- a/manage_externals/test/repos/simple-ext.git/objects/60/b1cc1a38d63a4bcaa1e767262bbe23dbf9f5f5 +++ /dev/null @@ -1,2 +0,0 @@ -xQ {XXdc7Y`ۚo=/3uoPw6YB9MĜc&iښy˦KK9() -Raq$)+| ȧ nMᜟik(|GFkN{]X+, xoC# \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext.git/objects/63/a99393d1baff97ccef967af30380659867b139 b/manage_externals/test/repos/simple-ext.git/objects/63/a99393d1baff97ccef967af30380659867b139 deleted file mode 100644 index efe17af8fd..0000000000 --- a/manage_externals/test/repos/simple-ext.git/objects/63/a99393d1baff97ccef967af30380659867b139 +++ /dev/null @@ -1 +0,0 @@ -x5 B1=W b@bf!7dWE0LVmýc᲏N=09%l~hP?rPkևЏ)]5yB.mg4ns$* \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext.git/objects/95/3256da5612fcd9263590a353bc18c6f224e74f b/manage_externals/test/repos/simple-ext.git/objects/95/3256da5612fcd9263590a353bc18c6f224e74f deleted file mode 100644 index 6187628628..0000000000 --- a/manage_externals/test/repos/simple-ext.git/objects/95/3256da5612fcd9263590a353bc18c6f224e74f +++ /dev/null @@ -1 +0,0 @@ -x ʱ 0 DԚ&HeO$Edd/] lXe\A7h#wTN){Js-k)=jh2^kH$ \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext.git/objects/9b/75494003deca69527bb64bcaa352e801611dd2 b/manage_externals/test/repos/simple-ext.git/objects/9b/75494003deca69527bb64bcaa352e801611dd2 deleted file mode 100644 index ba1b51f515..0000000000 Binary files a/manage_externals/test/repos/simple-ext.git/objects/9b/75494003deca69527bb64bcaa352e801611dd2 and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext.git/objects/a2/2a5da9119328ea6d693f88861457c07e14ac04 b/manage_externals/test/repos/simple-ext.git/objects/a2/2a5da9119328ea6d693f88861457c07e14ac04 deleted file mode 100644 index fb5feb96c2..0000000000 --- a/manage_externals/test/repos/simple-ext.git/objects/a2/2a5da9119328ea6d693f88861457c07e14ac04 +++ /dev/null @@ -1 +0,0 @@ -x 0 @;ś?Z&nǕnM kt"a.a-Ѡ>rPkSkJ^ \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364 b/manage_externals/test/repos/simple-ext.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364 deleted file mode 100644 index 1d27accb58..0000000000 --- a/manage_externals/test/repos/simple-ext.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364 +++ /dev/null @@ -1 +0,0 @@ -x @TeV`p ;vɼ&מi+b%Ns(G7/nǩ-UlGjV&Y+!| \ No newline at end of file diff --git a/manage_externals/test/repos/simple-ext.git/objects/df/312890f93ba4d2c694208599b665c4a08afeff b/manage_externals/test/repos/simple-ext.git/objects/df/312890f93ba4d2c694208599b665c4a08afeff deleted file mode 100644 index 4018ea5914..0000000000 Binary files a/manage_externals/test/repos/simple-ext.git/objects/df/312890f93ba4d2c694208599b665c4a08afeff and /dev/null differ diff --git a/manage_externals/test/repos/simple-ext.git/refs/heads/feature2 b/manage_externals/test/repos/simple-ext.git/refs/heads/feature2 deleted file mode 100644 index 01a0dd6e23..0000000000 --- a/manage_externals/test/repos/simple-ext.git/refs/heads/feature2 +++ /dev/null @@ -1 +0,0 @@ -36418b4e5665956a90725c9a1b5a8e551c5f3d48 diff --git a/manage_externals/test/repos/simple-ext.git/refs/heads/feature3 b/manage_externals/test/repos/simple-ext.git/refs/heads/feature3 deleted file mode 100644 index dd24079fce..0000000000 --- a/manage_externals/test/repos/simple-ext.git/refs/heads/feature3 +++ /dev/null @@ -1 +0,0 @@ -090e1034746b2c865f7b0280813dbf4061a700e8 diff --git a/manage_externals/test/repos/simple-ext.git/refs/heads/master b/manage_externals/test/repos/simple-ext.git/refs/heads/master deleted file mode 100644 index 5c67504966..0000000000 --- a/manage_externals/test/repos/simple-ext.git/refs/heads/master +++ /dev/null @@ -1 +0,0 @@ -9b75494003deca69527bb64bcaa352e801611dd2 diff --git a/manage_externals/test/repos/simple-ext.git/refs/tags/tag1 b/manage_externals/test/repos/simple-ext.git/refs/tags/tag1 deleted file mode 100644 index ee595be8bd..0000000000 --- a/manage_externals/test/repos/simple-ext.git/refs/tags/tag1 +++ /dev/null @@ -1 +0,0 @@ -11a76e3d9a67313dec7ce1230852ab5c86352c5c diff --git a/manage_externals/test/requirements.txt b/manage_externals/test/requirements.txt deleted file mode 100644 index d66f6f1e67..0000000000 --- a/manage_externals/test/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -pylint>=1.7.0 -autopep8>=1.3.0 -coverage>=4.4.0 -coveralls>=1.2.0 -sphinx>=1.6.0 diff --git a/manage_externals/test/test_sys_checkout.py b/manage_externals/test/test_sys_checkout.py deleted file mode 100644 index 63adcacdde..0000000000 --- a/manage_externals/test/test_sys_checkout.py +++ /dev/null @@ -1,1827 +0,0 @@ -#!/usr/bin/env python - -"""Unit test driver for checkout_externals - -Note: this script assume the path to the manic and -checkout_externals module is already in the python path. This is -usually handled by the makefile. If you call it directly, you may need -to adjust your path. - -NOTE(bja, 2017-11) If a test fails, we want to keep the repo for that -test. But the tests will keep running, so we need a unique name. Also, -tearDown is always called after each test. I haven't figured out how -to determine if an assertion failed and whether it is safe to clean up -the test repos. - -So the solution is: - -* assign a unique id to each test repo. - -* never cleanup during the run. - -* Erase any existing repos at the begining of the module in -setUpModule. - -""" - -# NOTE(bja, 2017-11) pylint complains that the module is too big, but -# I'm still working on how to break up the tests and still have the -# temporary directory be preserved.... -# pylint: disable=too-many-lines - - -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import logging -import os -import os.path -import shutil -import unittest - -from manic.externals_description import ExternalsDescription -from manic.externals_description import DESCRIPTION_SECTION, VERSION_ITEM -from manic.externals_description import git_submodule_status -from manic.externals_status import ExternalStatus -from manic.repository_git import GitRepository -from manic.utils import printlog, execute_subprocess -from manic.global_constants import LOCAL_PATH_INDICATOR, VERBOSITY_DEFAULT -from manic.global_constants import LOG_FILE_NAME -from manic import checkout - -# ConfigParser was renamed in python2 to configparser. In python2, -# ConfigParser returns byte strings, str, instead of unicode. We need -# unicode to be compatible with xml and json parser and python3. -try: - # python2 - from ConfigParser import SafeConfigParser as config_parser -except ImportError: - # python3 - from configparser import ConfigParser as config_parser - -# --------------------------------------------------------------------- -# -# Global constants -# -# --------------------------------------------------------------------- - -# environment variable names -MANIC_TEST_BARE_REPO_ROOT = 'MANIC_TEST_BARE_REPO_ROOT' -MANIC_TEST_TMP_REPO_ROOT = 'MANIC_TEST_TMP_REPO_ROOT' - -# directory names -TMP_REPO_DIR_NAME = 'tmp' -BARE_REPO_ROOT_NAME = 'repos' -CONTAINER_REPO_NAME = 'container.git' -MIXED_REPO_NAME = 'mixed-cont-ext.git' -SIMPLE_REPO_NAME = 'simple-ext.git' -SIMPLE_FORK_NAME = 'simple-ext-fork.git' -SIMPLE_LOCAL_ONLY_NAME = '.' -ERROR_REPO_NAME = 'error' -EXTERNALS_NAME = 'externals' -SUB_EXTERNALS_PATH = 'src' -CFG_NAME = 'externals.cfg' -CFG_SUB_NAME = 'sub-externals.cfg' -README_NAME = 'readme.txt' -REMOTE_BRANCH_FEATURE2 = 'feature2' - -SVN_TEST_REPO = 'https://github.com/escomp/cesm' - - -def setUpModule(): # pylint: disable=C0103 - """Setup for all tests in this module. It is called once per module! - """ - logging.basicConfig(filename=LOG_FILE_NAME, - format='%(levelname)s : %(asctime)s : %(message)s', - datefmt='%Y-%m-%d %H:%M:%S', - level=logging.DEBUG) - repo_root = os.path.join(os.getcwd(), TMP_REPO_DIR_NAME) - repo_root = os.path.abspath(repo_root) - # delete if it exists from previous runs - try: - shutil.rmtree(repo_root) - except BaseException: - pass - # create clean dir for this run - os.mkdir(repo_root) - # set into the environment so var will be expanded in externals - # filess when executables are run - os.environ[MANIC_TEST_TMP_REPO_ROOT] = repo_root - - -class GenerateExternalsDescriptionCfgV1(object): - """Class to provide building blocks to create - ExternalsDescriptionCfgV1 files. - - Includes predefined files used in tests. - - """ - - def __init__(self): - self._schema_version = '1.1.0' - self._config = None - - def container_full(self, dest_dir): - """Create the full container config file with simple and mixed use - externals - - """ - self.create_config() - self.create_section(SIMPLE_REPO_NAME, 'simp_tag', - tag='tag1') - - self.create_section(SIMPLE_REPO_NAME, 'simp_branch', - branch=REMOTE_BRANCH_FEATURE2) - - self.create_section(SIMPLE_REPO_NAME, 'simp_opt', - tag='tag1', required=False) - - self.create_section(MIXED_REPO_NAME, 'mixed_req', - branch='master', externals=CFG_SUB_NAME) - - self.write_config(dest_dir) - - def container_simple_required(self, dest_dir): - """Create a container externals file with only simple externals. - - """ - self.create_config() - self.create_section(SIMPLE_REPO_NAME, 'simp_tag', - tag='tag1') - - self.create_section(SIMPLE_REPO_NAME, 'simp_branch', - branch=REMOTE_BRANCH_FEATURE2) - - self.create_section(SIMPLE_REPO_NAME, 'simp_hash', - ref_hash='60b1cc1a38d63') - - self.write_config(dest_dir) - - def container_simple_optional(self, dest_dir): - """Create a container externals file with optional simple externals - - """ - self.create_config() - self.create_section(SIMPLE_REPO_NAME, 'simp_req', - tag='tag1') - - self.create_section(SIMPLE_REPO_NAME, 'simp_opt', - tag='tag1', required=False) - - self.write_config(dest_dir) - - def container_simple_svn(self, dest_dir): - """Create a container externals file with only simple externals. - - """ - self.create_config() - self.create_section(SIMPLE_REPO_NAME, 'simp_tag', tag='tag1') - - self.create_svn_external('svn_branch', branch='trunk') - self.create_svn_external('svn_tag', tag='tags/cesm2.0.beta07') - - self.write_config(dest_dir) - - def mixed_simple_base(self, dest_dir): - """Create a mixed-use base externals file with only simple externals. - - """ - self.create_config() - self.create_section_ext_only('mixed_base') - self.create_section(SIMPLE_REPO_NAME, 'simp_tag', - tag='tag1') - - self.create_section(SIMPLE_REPO_NAME, 'simp_branch', - branch=REMOTE_BRANCH_FEATURE2) - - self.create_section(SIMPLE_REPO_NAME, 'simp_hash', - ref_hash='60b1cc1a38d63') - - self.write_config(dest_dir) - - def mixed_simple_sub(self, dest_dir): - """Create a mixed-use sub externals file with only simple externals. - - """ - self.create_config() - self.create_section(SIMPLE_REPO_NAME, 'simp_tag', - tag='tag1', path=SUB_EXTERNALS_PATH) - - self.create_section(SIMPLE_REPO_NAME, 'simp_branch', - branch=REMOTE_BRANCH_FEATURE2, - path=SUB_EXTERNALS_PATH) - - self.write_config(dest_dir, filename=CFG_SUB_NAME) - - def write_config(self, dest_dir, filename=CFG_NAME): - """Write the configuration file to disk - - """ - dest_path = os.path.join(dest_dir, filename) - with open(dest_path, 'w') as configfile: - self._config.write(configfile) - - def create_config(self): - """Create an config object and add the required metadata section - - """ - self._config = config_parser() - self.create_metadata() - - def create_metadata(self): - """Create the metadata section of the config file - """ - self._config.add_section(DESCRIPTION_SECTION) - - self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, - self._schema_version) - - def create_section(self, repo_type, name, tag='', branch='', - ref_hash='', required=True, path=EXTERNALS_NAME, - externals='', repo_path=None, from_submodule=False): - # pylint: disable=too-many-branches - """Create a config section with autofilling some items and handling - optional items. - - """ - # pylint: disable=R0913 - self._config.add_section(name) - if not from_submodule: - self._config.set(name, ExternalsDescription.PATH, - os.path.join(path, name)) - - self._config.set(name, ExternalsDescription.PROTOCOL, - ExternalsDescription.PROTOCOL_GIT) - - # from_submodules is incompatible with some other options, turn them off - if (from_submodule and - ((repo_path is not None) or tag or ref_hash or branch)): - printlog('create_section: "from_submodule" is incompatible with ' - '"repo_url", "tag", "hash", and "branch" options;\n' - 'Ignoring those options for {}'.format(name)) - repo_url = None - tag = '' - ref_hash = '' - branch = '' - - if repo_path is not None: - repo_url = repo_path - else: - repo_url = os.path.join('${MANIC_TEST_BARE_REPO_ROOT}', repo_type) - - if not from_submodule: - self._config.set(name, ExternalsDescription.REPO_URL, repo_url) - - self._config.set(name, ExternalsDescription.REQUIRED, str(required)) - - if tag: - self._config.set(name, ExternalsDescription.TAG, tag) - - if branch: - self._config.set(name, ExternalsDescription.BRANCH, branch) - - if ref_hash: - self._config.set(name, ExternalsDescription.HASH, ref_hash) - - if externals: - self._config.set(name, ExternalsDescription.EXTERNALS, externals) - - if from_submodule: - self._config.set(name, ExternalsDescription.SUBMODULE, "True") - - def create_section_ext_only(self, name, - required=True, externals=CFG_SUB_NAME): - """Create a config section with autofilling some items and handling - optional items. - - """ - # pylint: disable=R0913 - self._config.add_section(name) - self._config.set(name, ExternalsDescription.PATH, LOCAL_PATH_INDICATOR) - - self._config.set(name, ExternalsDescription.PROTOCOL, - ExternalsDescription.PROTOCOL_EXTERNALS_ONLY) - - self._config.set(name, ExternalsDescription.REPO_URL, - LOCAL_PATH_INDICATOR) - - self._config.set(name, ExternalsDescription.REQUIRED, str(required)) - - if externals: - self._config.set(name, ExternalsDescription.EXTERNALS, externals) - - def create_svn_external(self, name, tag='', branch=''): - """Create a config section for an svn repository. - - """ - self._config.add_section(name) - self._config.set(name, ExternalsDescription.PATH, - os.path.join(EXTERNALS_NAME, name)) - - self._config.set(name, ExternalsDescription.PROTOCOL, - ExternalsDescription.PROTOCOL_SVN) - - self._config.set(name, ExternalsDescription.REPO_URL, SVN_TEST_REPO) - - self._config.set(name, ExternalsDescription.REQUIRED, str(True)) - - if tag: - self._config.set(name, ExternalsDescription.TAG, tag) - - if branch: - self._config.set(name, ExternalsDescription.BRANCH, branch) - - @staticmethod - def create_branch(dest_dir, repo_name, branch, with_commit=False): - """Update a repository branch, and potentially the remote. - """ - # pylint: disable=R0913 - cwd = os.getcwd() - repo_root = os.path.join(dest_dir, EXTERNALS_NAME) - repo_root = os.path.join(repo_root, repo_name) - os.chdir(repo_root) - cmd = ['git', 'checkout', '-b', branch, ] - execute_subprocess(cmd) - if with_commit: - msg = 'start work on {0}'.format(branch) - with open(README_NAME, 'a') as handle: - handle.write(msg) - cmd = ['git', 'add', README_NAME, ] - execute_subprocess(cmd) - cmd = ['git', 'commit', '-m', msg, ] - execute_subprocess(cmd) - os.chdir(cwd) - - @staticmethod - def create_commit(dest_dir, repo_name, local_tracking_branch=None): - """Make a commit on whatever is currently checked out. - - This is used to test sync state changes from local commits on - detached heads and tracking branches. - - """ - cwd = os.getcwd() - repo_root = os.path.join(dest_dir, EXTERNALS_NAME) - repo_root = os.path.join(repo_root, repo_name) - os.chdir(repo_root) - if local_tracking_branch: - cmd = ['git', 'checkout', '-b', local_tracking_branch, ] - execute_subprocess(cmd) - - msg = 'work on great new feature!' - with open(README_NAME, 'a') as handle: - handle.write(msg) - cmd = ['git', 'add', README_NAME, ] - execute_subprocess(cmd) - cmd = ['git', 'commit', '-m', msg, ] - execute_subprocess(cmd) - os.chdir(cwd) - - def update_branch(self, dest_dir, name, branch, repo_type=None, - filename=CFG_NAME): - """Update a repository branch, and potentially the remote. - """ - # pylint: disable=R0913 - self._config.set(name, ExternalsDescription.BRANCH, branch) - - if repo_type: - if repo_type == SIMPLE_LOCAL_ONLY_NAME: - repo_url = SIMPLE_LOCAL_ONLY_NAME - else: - repo_url = os.path.join('${MANIC_TEST_BARE_REPO_ROOT}', - repo_type) - self._config.set(name, ExternalsDescription.REPO_URL, repo_url) - - try: - # remove the tag if it existed - self._config.remove_option(name, ExternalsDescription.TAG) - except BaseException: - pass - - self.write_config(dest_dir, filename) - - def update_svn_branch(self, dest_dir, name, branch, filename=CFG_NAME): - """Update a repository branch, and potentially the remote. - """ - # pylint: disable=R0913 - self._config.set(name, ExternalsDescription.BRANCH, branch) - - try: - # remove the tag if it existed - self._config.remove_option(name, ExternalsDescription.TAG) - except BaseException: - pass - - self.write_config(dest_dir, filename) - - def update_tag(self, dest_dir, name, tag, repo_type=None, - filename=CFG_NAME, remove_branch=True): - """Update a repository tag, and potentially the remote - - NOTE(bja, 2017-11) remove_branch=False should result in an - overspecified external with both a branch and tag. This is - used for error condition testing. - - """ - # pylint: disable=R0913 - self._config.set(name, ExternalsDescription.TAG, tag) - - if repo_type: - repo_url = os.path.join('${MANIC_TEST_BARE_REPO_ROOT}', repo_type) - self._config.set(name, ExternalsDescription.REPO_URL, repo_url) - - try: - # remove the branch if it existed - if remove_branch: - self._config.remove_option(name, ExternalsDescription.BRANCH) - except BaseException: - pass - - self.write_config(dest_dir, filename) - - def update_underspecify_branch_tag(self, dest_dir, name, - filename=CFG_NAME): - """Update a repository protocol, and potentially the remote - """ - # pylint: disable=R0913 - try: - # remove the branch if it existed - self._config.remove_option(name, ExternalsDescription.BRANCH) - except BaseException: - pass - - try: - # remove the tag if it existed - self._config.remove_option(name, ExternalsDescription.TAG) - except BaseException: - pass - - self.write_config(dest_dir, filename) - - def update_underspecify_remove_url(self, dest_dir, name, - filename=CFG_NAME): - """Update a repository protocol, and potentially the remote - """ - # pylint: disable=R0913 - try: - # remove the repo url if it existed - self._config.remove_option(name, ExternalsDescription.REPO_URL) - except BaseException: - pass - - self.write_config(dest_dir, filename) - - def update_protocol(self, dest_dir, name, protocol, repo_type=None, - filename=CFG_NAME): - """Update a repository protocol, and potentially the remote - """ - # pylint: disable=R0913 - self._config.set(name, ExternalsDescription.PROTOCOL, protocol) - - if repo_type: - repo_url = os.path.join('${MANIC_TEST_BARE_REPO_ROOT}', repo_type) - self._config.set(name, ExternalsDescription.REPO_URL, repo_url) - - self.write_config(dest_dir, filename) - - -class BaseTestSysCheckout(unittest.TestCase): - """Base class of reusable systems level test setup for - checkout_externals - - """ - # NOTE(bja, 2017-11) pylint complains about long method names, but - # it is hard to differentiate tests without making them more - # cryptic. - # pylint: disable=invalid-name - - status_args = ['--status'] - checkout_args = [] - optional_args = ['--optional'] - verbose_args = ['--status', '--verbose'] - - def setUp(self): - """Setup for all individual checkout_externals tests - """ - # directory we want to return to after the test system and - # checkout_externals are done cd'ing all over the place. - self._return_dir = os.getcwd() - - self._test_id = self.id().split('.')[-1] - - # path to the executable - self._checkout = os.path.join('../checkout_externals') - self._checkout = os.path.abspath(self._checkout) - - # directory where we have test repositories - self._bare_root = os.path.join(os.getcwd(), BARE_REPO_ROOT_NAME) - self._bare_root = os.path.abspath(self._bare_root) - - # set into the environment so var will be expanded in externals files - os.environ[MANIC_TEST_BARE_REPO_ROOT] = self._bare_root - - # set the input file generator - self._generator = GenerateExternalsDescriptionCfgV1() - # set the input file generator for secondary externals - self._sub_generator = GenerateExternalsDescriptionCfgV1() - - def tearDown(self): - """Tear down for individual tests - """ - # remove the env var we added in setup - del os.environ[MANIC_TEST_BARE_REPO_ROOT] - - # return to our common starting point - os.chdir(self._return_dir) - - def setup_test_repo(self, parent_repo_name, dest_dir_in=None): - """Setup the paths and clone the base test repo - - """ - # unique repo for this test - test_dir_name = self._test_id - print("Test repository name: {0}".format(test_dir_name)) - - parent_repo_dir = os.path.join(self._bare_root, parent_repo_name) - if dest_dir_in is None: - dest_dir = os.path.join(os.environ[MANIC_TEST_TMP_REPO_ROOT], - test_dir_name) - else: - dest_dir = dest_dir_in - - # pylint: disable=W0212 - GitRepository._git_clone(parent_repo_dir, dest_dir, VERBOSITY_DEFAULT) - return dest_dir - - @staticmethod - def _add_file_to_repo(under_test_dir, filename, tracked): - """Add a file to the repository so we can put it into a dirty state - - """ - cwd = os.getcwd() - os.chdir(under_test_dir) - with open(filename, 'w') as tmp: - tmp.write('Hello, world!') - - if tracked: - # NOTE(bja, 2018-01) brittle hack to obtain repo dir and - # file name - path_data = filename.split('/') - repo_dir = os.path.join(path_data[0], path_data[1]) - os.chdir(repo_dir) - tracked_file = path_data[2] - cmd = ['git', 'add', tracked_file] - execute_subprocess(cmd) - - os.chdir(cwd) - - @staticmethod - def execute_cmd_in_dir(under_test_dir, args): - """Extecute the checkout command in the appropriate repo dir with the - specified additional args - - Note that we are calling the command line processing and main - routines and not using a subprocess call so that we get code - coverage results! - - """ - cwd = os.getcwd() - checkout_path = os.path.abspath('{0}/../../checkout_externals') - os.chdir(under_test_dir) - cmdline = ['--externals', CFG_NAME, ] - cmdline += args - repo_root = 'MANIC_TEST_BARE_REPO_ROOT={root}'.format( - root=os.environ[MANIC_TEST_BARE_REPO_ROOT]) - manual_cmd = ('Test cmd:\npushd {cwd}; {env} {checkout} {args}'.format( - cwd=under_test_dir, env=repo_root, checkout=checkout_path, - args=' '.join(cmdline))) - printlog(manual_cmd) - options = checkout.commandline_arguments(cmdline) - overall_status, tree_status = checkout.main(options) - os.chdir(cwd) - return overall_status, tree_status - - # ---------------------------------------------------------------- - # - # Check results for generic perturbation of states - # - # ---------------------------------------------------------------- - def _check_generic_empty_default_required(self, tree, name): - self.assertEqual(tree[name].sync_state, ExternalStatus.EMPTY) - self.assertEqual(tree[name].clean_state, ExternalStatus.DEFAULT) - self.assertEqual(tree[name].source_type, ExternalStatus.MANAGED) - - def _check_generic_ok_clean_required(self, tree, name): - self.assertEqual(tree[name].sync_state, ExternalStatus.STATUS_OK) - self.assertEqual(tree[name].clean_state, ExternalStatus.STATUS_OK) - self.assertEqual(tree[name].source_type, ExternalStatus.MANAGED) - - def _check_generic_ok_dirty_required(self, tree, name): - self.assertEqual(tree[name].sync_state, ExternalStatus.STATUS_OK) - self.assertEqual(tree[name].clean_state, ExternalStatus.DIRTY) - self.assertEqual(tree[name].source_type, ExternalStatus.MANAGED) - - def _check_generic_modified_ok_required(self, tree, name): - self.assertEqual(tree[name].sync_state, ExternalStatus.MODEL_MODIFIED) - self.assertEqual(tree[name].clean_state, ExternalStatus.STATUS_OK) - self.assertEqual(tree[name].source_type, ExternalStatus.MANAGED) - - def _check_generic_empty_default_optional(self, tree, name): - self.assertEqual(tree[name].sync_state, ExternalStatus.EMPTY) - self.assertEqual(tree[name].clean_state, ExternalStatus.DEFAULT) - self.assertEqual(tree[name].source_type, ExternalStatus.OPTIONAL) - - def _check_generic_ok_clean_optional(self, tree, name): - self.assertEqual(tree[name].sync_state, ExternalStatus.STATUS_OK) - self.assertEqual(tree[name].clean_state, ExternalStatus.STATUS_OK) - self.assertEqual(tree[name].source_type, ExternalStatus.OPTIONAL) - - # ---------------------------------------------------------------- - # - # Check results for individual named externals - # - # ---------------------------------------------------------------- - def _check_simple_tag_empty(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_tag'.format(directory) - self._check_generic_empty_default_required(tree, name) - - def _check_simple_tag_ok(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_tag'.format(directory) - self._check_generic_ok_clean_required(tree, name) - - def _check_simple_tag_dirty(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_tag'.format(directory) - self._check_generic_ok_dirty_required(tree, name) - - def _check_simple_tag_modified(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_tag'.format(directory) - self._check_generic_modified_ok_required(tree, name) - - def _check_simple_branch_empty(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_branch'.format(directory) - self._check_generic_empty_default_required(tree, name) - - def _check_simple_branch_ok(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_branch'.format(directory) - self._check_generic_ok_clean_required(tree, name) - - def _check_simple_branch_modified(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_branch'.format(directory) - self._check_generic_modified_ok_required(tree, name) - - def _check_simple_hash_empty(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_hash'.format(directory) - self._check_generic_empty_default_required(tree, name) - - def _check_simple_hash_ok(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_hash'.format(directory) - self._check_generic_ok_clean_required(tree, name) - - def _check_simple_hash_modified(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_hash'.format(directory) - self._check_generic_modified_ok_required(tree, name) - - def _check_simple_req_empty(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_req'.format(directory) - self._check_generic_empty_default_required(tree, name) - - def _check_simple_req_ok(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_req'.format(directory) - self._check_generic_ok_clean_required(tree, name) - - def _check_simple_opt_empty(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_opt'.format(directory) - self._check_generic_empty_default_optional(tree, name) - - def _check_simple_opt_ok(self, tree, directory=EXTERNALS_NAME): - name = './{0}/simp_opt'.format(directory) - self._check_generic_ok_clean_optional(tree, name) - - def _check_mixed_ext_branch_empty(self, tree, directory=EXTERNALS_NAME): - name = './{0}/mixed_req'.format(directory) - self._check_generic_empty_default_required(tree, name) - - def _check_mixed_ext_branch_ok(self, tree, directory=EXTERNALS_NAME): - name = './{0}/mixed_req'.format(directory) - self._check_generic_ok_clean_required(tree, name) - - def _check_mixed_ext_branch_modified(self, tree, directory=EXTERNALS_NAME): - name = './{0}/mixed_req'.format(directory) - self._check_generic_modified_ok_required(tree, name) - - # ---------------------------------------------------------------- - # - # Check results for groups of externals under specific conditions - # - # ---------------------------------------------------------------- - def _check_container_simple_required_pre_checkout(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_tag_empty(tree) - self._check_simple_branch_empty(tree) - self._check_simple_hash_empty(tree) - - def _check_container_simple_required_checkout(self, overall, tree): - # Note, this is the internal tree status just before checkout - self.assertEqual(overall, 0) - self._check_simple_tag_empty(tree) - self._check_simple_branch_empty(tree) - self._check_simple_hash_empty(tree) - - def _check_container_simple_required_post_checkout(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_tag_ok(tree) - self._check_simple_branch_ok(tree) - self._check_simple_hash_ok(tree) - - def _check_container_simple_required_out_of_sync(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_tag_modified(tree) - self._check_simple_branch_modified(tree) - self._check_simple_hash_modified(tree) - - def _check_container_simple_optional_pre_checkout(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_req_empty(tree) - self._check_simple_opt_empty(tree) - - def _check_container_simple_optional_checkout(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_req_empty(tree) - self._check_simple_opt_empty(tree) - - def _check_container_simple_optional_post_checkout(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_req_ok(tree) - self._check_simple_opt_empty(tree) - - def _check_container_simple_optional_post_optional(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_req_ok(tree) - self._check_simple_opt_ok(tree) - - def _check_container_simple_required_sb_modified(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_tag_ok(tree) - self._check_simple_branch_modified(tree) - self._check_simple_hash_ok(tree) - - def _check_container_simple_optional_st_dirty(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_tag_dirty(tree) - self._check_simple_branch_ok(tree) - - def _check_container_full_pre_checkout(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_tag_empty(tree) - self._check_simple_branch_empty(tree) - self._check_simple_opt_empty(tree) - self._check_mixed_ext_branch_required_pre_checkout(overall, tree) - - def _check_container_component_post_checkout(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_opt_ok(tree) - self._check_simple_tag_empty(tree) - self._check_simple_branch_empty(tree) - - def _check_container_component_post_checkout2(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_opt_ok(tree) - self._check_simple_tag_empty(tree) - self._check_simple_branch_ok(tree) - - def _check_container_full_post_checkout(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_tag_ok(tree) - self._check_simple_branch_ok(tree) - self._check_simple_opt_empty(tree) - self._check_mixed_ext_branch_required_post_checkout(overall, tree) - - def _check_container_full_pre_checkout_ext_change(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_tag_ok(tree) - self._check_simple_branch_ok(tree) - self._check_simple_opt_empty(tree) - self._check_mixed_ext_branch_required_pre_checkout_ext_change( - overall, tree) - - def _check_container_full_post_checkout_subext_modified( - self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_tag_ok(tree) - self._check_simple_branch_ok(tree) - self._check_simple_opt_empty(tree) - self._check_mixed_ext_branch_required_post_checkout_subext_modified( - overall, tree) - - def _check_mixed_ext_branch_required_pre_checkout(self, overall, tree): - # Note, this is the internal tree status just before checkout - self.assertEqual(overall, 0) - self._check_mixed_ext_branch_empty(tree, directory=EXTERNALS_NAME) - # NOTE: externals/mixed_req/src should not exist in the tree - # since this is the status before checkout of mixed_req. - - def _check_mixed_ext_branch_required_post_checkout(self, overall, tree): - # Note, this is the internal tree status just before checkout - self.assertEqual(overall, 0) - self._check_mixed_ext_branch_ok(tree, directory=EXTERNALS_NAME) - check_dir = "{0}/{1}/{2}".format(EXTERNALS_NAME, "mixed_req", - SUB_EXTERNALS_PATH) - self._check_simple_branch_ok(tree, directory=check_dir) - - def _check_mixed_ext_branch_required_pre_checkout_ext_change( - self, overall, tree): - # Note, this is the internal tree status just after change the - # externals description file, but before checkout - self.assertEqual(overall, 0) - self._check_mixed_ext_branch_modified(tree, directory=EXTERNALS_NAME) - check_dir = "{0}/{1}/{2}".format(EXTERNALS_NAME, "mixed_req", - SUB_EXTERNALS_PATH) - self._check_simple_branch_ok(tree, directory=check_dir) - - def _check_mixed_ext_branch_required_post_checkout_subext_modified( - self, overall, tree): - # Note, this is the internal tree status just after change the - # externals description file, but before checkout - self.assertEqual(overall, 0) - self._check_mixed_ext_branch_ok(tree, directory=EXTERNALS_NAME) - check_dir = "{0}/{1}/{2}".format(EXTERNALS_NAME, "mixed_req", - SUB_EXTERNALS_PATH) - self._check_simple_branch_modified(tree, directory=check_dir) - - def _check_mixed_cont_simple_required_pre_checkout(self, overall, tree): - # Note, this is the internal tree status just before checkout - self.assertEqual(overall, 0) - self._check_simple_tag_empty(tree, directory=EXTERNALS_NAME) - self._check_simple_branch_empty(tree, directory=EXTERNALS_NAME) - self._check_simple_branch_empty(tree, directory=SUB_EXTERNALS_PATH) - - def _check_mixed_cont_simple_required_checkout(self, overall, tree): - # Note, this is the internal tree status just before checkout - self.assertEqual(overall, 0) - self._check_simple_tag_empty(tree, directory=EXTERNALS_NAME) - self._check_simple_branch_empty(tree, directory=EXTERNALS_NAME) - self._check_simple_branch_empty(tree, directory=SUB_EXTERNALS_PATH) - - def _check_mixed_cont_simple_required_post_checkout(self, overall, tree): - # Note, this is the internal tree status just before checkout - self.assertEqual(overall, 0) - self._check_simple_tag_ok(tree, directory=EXTERNALS_NAME) - self._check_simple_branch_ok(tree, directory=EXTERNALS_NAME) - self._check_simple_branch_ok(tree, directory=SUB_EXTERNALS_PATH) - - -class TestSysCheckout(BaseTestSysCheckout): - """Run systems level tests of checkout_externals - - """ - # NOTE(bja, 2017-11) pylint complains about long method names, but - # it is hard to differentiate tests without making them more - # cryptic. - # pylint: disable=invalid-name - - # ---------------------------------------------------------------- - # - # Run systems tests - # - # ---------------------------------------------------------------- - def test_container_simple_required(self): - """Verify that a container with simple subrepos - generates the correct initial status. - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # status of empty repo - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_pre_checkout(overall, tree) - - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_required_checkout(overall, tree) - - # status clean checked out - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_post_checkout(overall, tree) - - def test_container_simple_optional(self): - """Verify that container with an optional simple subrepos - generates the correct initial status. - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_optional(under_test_dir) - - # check status of empty repo - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_optional_pre_checkout(overall, tree) - - # checkout required - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_optional_checkout(overall, tree) - - # status - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_optional_post_checkout(overall, tree) - - # checkout optional - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.optional_args) - self._check_container_simple_optional_post_checkout(overall, tree) - - # status - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_optional_post_optional(overall, tree) - - def test_container_simple_verbose(self): - """Verify that container with simple subrepos runs with verbose status - output and generates the correct initial status. - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_required_checkout(overall, tree) - - # check verbose status - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.verbose_args) - self._check_container_simple_required_post_checkout(overall, tree) - - def test_container_simple_dirty(self): - """Verify that a container with simple subrepos - and a dirty status exits gracefully. - - """ - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_required_checkout(overall, tree) - - # add a file to the repo - tracked = True - self._add_file_to_repo(under_test_dir, 'externals/simp_tag/tmp.txt', - tracked) - - # checkout: pre-checkout status should be dirty, did not - # modify working copy. - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_optional_st_dirty(overall, tree) - - # verify status is still dirty - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_optional_st_dirty(overall, tree) - - def test_container_simple_untracked(self): - """Verify that a container with simple subrepos and a untracked files - is not considered 'dirty' and will attempt an update. - - """ - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_required_checkout(overall, tree) - - # add a file to the repo - tracked = False - self._add_file_to_repo(under_test_dir, 'externals/simp_tag/tmp.txt', - tracked) - - # checkout: pre-checkout status should be clean, ignoring the - # untracked file. - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_required_post_checkout(overall, tree) - - # verify status is still clean - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_post_checkout(overall, tree) - - def test_container_simple_detached_sync(self): - """Verify that a container with simple subrepos generates the correct - out of sync status when making commits from a detached head - state. - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # status of empty repo - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_pre_checkout(overall, tree) - - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_required_checkout(overall, tree) - - # make a commit on the detached head of the tag and hash externals - self._generator.create_commit(under_test_dir, 'simp_tag') - self._generator.create_commit(under_test_dir, 'simp_hash') - self._generator.create_commit(under_test_dir, 'simp_branch') - - # status of repo, branch, tag and hash should all be out of sync! - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_out_of_sync(overall, tree) - - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - # same pre-checkout out of sync status - self._check_container_simple_required_out_of_sync(overall, tree) - - # now status should be in-sync - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_post_checkout(overall, tree) - - def test_container_remote_branch(self): - """Verify that a container with remote branch change works - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_required_checkout(overall, tree) - - # update the config file to point to a different remote with - # the same branch - self._generator.update_branch(under_test_dir, 'simp_branch', - REMOTE_BRANCH_FEATURE2, SIMPLE_FORK_NAME) - - # status of simp_branch should be out of sync - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_sb_modified(overall, tree) - - # checkout new externals - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_required_sb_modified(overall, tree) - - # status should be synced - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_post_checkout(overall, tree) - - def test_container_remote_tag_same_branch(self): - """Verify that a container with remote tag change works. The new tag - should not be in the original repo, only the new remote - fork. The new tag is automatically fetched because it is on - the branch. - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_required_checkout(overall, tree) - - # update the config file to point to a different remote with - # the tag instead of branch. Tag MUST NOT be in the original - # repo! - self._generator.update_tag(under_test_dir, 'simp_branch', - 'forked-feature-v1', SIMPLE_FORK_NAME) - - # status of simp_branch should be out of sync - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_sb_modified(overall, tree) - - # checkout new externals - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_required_sb_modified(overall, tree) - - # status should be synced - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_post_checkout(overall, tree) - - def test_container_remote_tag_fetch_all(self): - """Verify that a container with remote tag change works. The new tag - should not be in the original repo, only the new remote - fork. It should also not be on a branch that will be fetch, - and therefore not fetched by default with 'git fetch'. It will - only be retreived by 'git fetch --tags' - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_required_checkout(overall, tree) - - # update the config file to point to a different remote with - # the tag instead of branch. Tag MUST NOT be in the original - # repo! - self._generator.update_tag(under_test_dir, 'simp_branch', - 'abandoned-feature', SIMPLE_FORK_NAME) - - # status of simp_branch should be out of sync - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_sb_modified(overall, tree) - - # checkout new externals - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_required_sb_modified(overall, tree) - - # status should be synced - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_post_checkout(overall, tree) - - def test_container_preserve_dot(self): - """Verify that after inital checkout, modifying an external git repo - url to '.' and the current branch will leave it unchanged. - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_required_checkout(overall, tree) - - # update the config file to point to a different remote with - # the same branch - self._generator.update_branch(under_test_dir, 'simp_branch', - REMOTE_BRANCH_FEATURE2, SIMPLE_FORK_NAME) - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - - # verify status is clean and unmodified - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_post_checkout(overall, tree) - - # update branch to point to a new branch that only exists in - # the local fork - self._generator.create_branch(under_test_dir, 'simp_branch', - 'private-feature', with_commit=True) - self._generator.update_branch(under_test_dir, 'simp_branch', - 'private-feature', - SIMPLE_LOCAL_ONLY_NAME) - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - - # verify status is clean and unmodified - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_required_post_checkout(overall, tree) - - def test_container_full(self): - """Verify that 'full' container with simple and mixed subrepos - generates the correct initial status. - - The mixed subrepo has a sub-externals file with different - sub-externals on different branches. - - """ - # create the test repository - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - - # create the top level externals file - self._generator.container_full(under_test_dir) - - # inital checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_full_pre_checkout(overall, tree) - - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_full_post_checkout(overall, tree) - - # update the mixed-use repo to point to different branch - self._generator.update_branch(under_test_dir, 'mixed_req', - 'new-feature', MIXED_REPO_NAME) - - # check status out of sync for mixed_req, but sub-externals - # are still in sync - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_full_pre_checkout_ext_change(overall, tree) - - # run the checkout. Now the mixed use external and it's - # sub-exterals should be changed. Returned status is - # pre-checkout! - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_full_pre_checkout_ext_change(overall, tree) - - # check status out of sync for mixed_req, and sub-externals - # are in sync. - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_full_post_checkout(overall, tree) - - def test_container_component(self): - """Verify that optional component checkout works - """ - # create the test repository - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - - # create the top level externals file - self._generator.container_full(under_test_dir) - - # inital checkout, first try a nonexistant component argument noref - checkout_args = ['simp_opt', 'noref'] - checkout_args.extend(self.checkout_args) - - with self.assertRaises(RuntimeError): - self.execute_cmd_in_dir(under_test_dir, checkout_args) - - checkout_args = ['simp_opt'] - checkout_args.extend(self.checkout_args) - - overall, tree = self.execute_cmd_in_dir(under_test_dir, - checkout_args) - - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_component_post_checkout(overall, tree) - checkout_args.append('simp_branch') - overall, tree = self.execute_cmd_in_dir(under_test_dir, - checkout_args) - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_component_post_checkout2(overall, tree) - - def test_mixed_simple(self): - """Verify that a mixed use repo can serve as a 'full' container, - pulling in a set of externals and a seperate set of sub-externals. - - """ - #import pdb; pdb.set_trace() - # create repository - under_test_dir = self.setup_test_repo(MIXED_REPO_NAME) - # create top level externals file - self._generator.mixed_simple_base(under_test_dir) - # NOTE: sub-externals file is already in the repo so we can - # switch branches during testing. Since this is a mixed-repo - # serving as the top level container repo, we can't switch - # during this test. - - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_mixed_cont_simple_required_checkout(overall, tree) - - # verify status is clean and unmodified - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_mixed_cont_simple_required_post_checkout(overall, tree) - - -class TestSysCheckoutSVN(BaseTestSysCheckout): - """Run systems level tests of checkout_externals accessing svn repositories - - SVN tests - these tests use the svn repository interface. Since - they require an active network connection, they are significantly - slower than the git tests. But svn testing is critical. So try to - design the tests to only test svn repository functionality - (checkout, switch) and leave generic testing of functionality like - 'optional' to the fast git tests. - - Example timing as of 2017-11: - - * All other git and unit tests combined take between 4-5 seconds - - * Just checking if svn is available for a single test takes 2 seconds. - - * The single svn test typically takes between 10 and 25 seconds - (depending on the network)! - - NOTE(bja, 2017-11) To enable CI testing we can't use a real remote - repository that restricts access and it seems inappropriate to hit - a random open source repo. For now we are just hitting one of our - own github repos using the github svn server interface. This - should be "good enough" for basic checkout and swich - functionality. But if additional svn functionality is required, a - better solution will be necessary. I think eventually we want to - create a small local svn repository on the fly (doesn't require an - svn server or network connection!) and use it for testing. - - """ - - def _check_svn_branch_ok(self, tree, directory=EXTERNALS_NAME): - name = './{0}/svn_branch'.format(directory) - self._check_generic_ok_clean_required(tree, name) - - def _check_svn_branch_dirty(self, tree, directory=EXTERNALS_NAME): - name = './{0}/svn_branch'.format(directory) - self._check_generic_ok_dirty_required(tree, name) - - def _check_svn_tag_ok(self, tree, directory=EXTERNALS_NAME): - name = './{0}/svn_tag'.format(directory) - self._check_generic_ok_clean_required(tree, name) - - def _check_svn_tag_modified(self, tree, directory=EXTERNALS_NAME): - name = './{0}/svn_tag'.format(directory) - self._check_generic_modified_ok_required(tree, name) - - def _check_container_simple_svn_post_checkout(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_tag_ok(tree) - self._check_svn_branch_ok(tree) - self._check_svn_tag_ok(tree) - - def _check_container_simple_svn_sb_dirty_st_mod(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_tag_ok(tree) - self._check_svn_tag_modified(tree) - self._check_svn_branch_dirty(tree) - - def _check_container_simple_svn_sb_clean_st_mod(self, overall, tree): - self.assertEqual(overall, 0) - self._check_simple_tag_ok(tree) - self._check_svn_tag_modified(tree) - self._check_svn_branch_ok(tree) - - @staticmethod - def have_svn_access(): - """Check if we have svn access so we can enable tests that use svn. - - """ - have_svn = False - cmd = ['svn', 'ls', SVN_TEST_REPO, ] - try: - execute_subprocess(cmd) - have_svn = True - except BaseException: - pass - return have_svn - - def skip_if_no_svn_access(self): - """Function decorator to disable svn tests when svn isn't available - """ - have_svn = self.have_svn_access() - if not have_svn: - raise unittest.SkipTest("No svn access") - - def test_container_simple_svn(self): - """Verify that a container repo can pull in an svn branch and svn tag. - - """ - self.skip_if_no_svn_access() - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_svn(under_test_dir) - - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - - # verify status is clean and unmodified - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_svn_post_checkout(overall, tree) - - # update description file to make the tag into a branch and - # trigger a switch - self._generator.update_svn_branch(under_test_dir, 'svn_tag', 'trunk') - - # checkout - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - - # verify status is clean and unmodified - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.status_args) - self._check_container_simple_svn_post_checkout(overall, tree) - - # add an untracked file to the repo - tracked = False - self._add_file_to_repo(under_test_dir, - 'externals/svn_branch/tmp.txt', tracked) - - # run a no-op checkout: pre-checkout status should be clean, - # ignoring the untracked file. - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_svn_post_checkout(overall, tree) - - # update description file to make the branch into a tag and - # trigger a modified sync status - self._generator.update_svn_branch(under_test_dir, 'svn_tag', - 'tags/cesm2.0.beta07') - - # checkout: pre-checkout status should be clean and modified, - # will modify working copy. - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.checkout_args) - self._check_container_simple_svn_sb_clean_st_mod(overall, tree) - - # verify status is still clean and unmodified, last - # checkout modified the working dir state. - overall, tree = self.execute_cmd_in_dir(under_test_dir, - self.verbose_args) - self._check_container_simple_svn_post_checkout(overall, tree) - -class TestSubrepoCheckout(BaseTestSysCheckout): - # Need to store information at setUp time for checking - # pylint: disable=too-many-instance-attributes - """Run tests to ensure proper handling of repos with submodules. - - By default, submodules in git repositories are checked out. A git - repository checked out as a submodule is treated as if it was - listed in an external with the same properties as in the source - .gitmodules file. - """ - - def setUp(self): - """Setup for all submodule checkout tests - Create a repo with two submodule repositories. - """ - - # Run the basic setup - super(TestSubrepoCheckout, self).setUp() - # create test repo - # We need to do this here (rather than have a static repo) because - # git submodules do not allow for variables in .gitmodules files - self._test_repo_name = 'test_repo_with_submodules' - self._bare_branch_name = 'subrepo_branch' - self._config_branch_name = 'subrepo_config_branch' - self._container_extern_name = 'externals_container.cfg' - self._my_test_dir = os.path.join(os.environ[MANIC_TEST_TMP_REPO_ROOT], - self._test_id) - self._repo_dir = os.path.join(self._my_test_dir, self._test_repo_name) - self._checkout_dir = 'repo_with_submodules' - check_dir = self.setup_test_repo(CONTAINER_REPO_NAME, - dest_dir_in=self._repo_dir) - self.assertTrue(self._repo_dir == check_dir) - # Add the submodules - cwd = os.getcwd() - fork_repo_dir = os.path.join(self._bare_root, SIMPLE_FORK_NAME) - simple_repo_dir = os.path.join(self._bare_root, SIMPLE_REPO_NAME) - self._simple_ext_fork_name = SIMPLE_FORK_NAME.split('.')[0] - self._simple_ext_name = SIMPLE_REPO_NAME.split('.')[0] - os.chdir(self._repo_dir) - # Add a branch with a subrepo - cmd = ['git', 'branch', self._bare_branch_name, 'master'] - execute_subprocess(cmd) - cmd = ['git', 'checkout', self._bare_branch_name] - execute_subprocess(cmd) - cmd = ['git', 'submodule', 'add', fork_repo_dir] - execute_subprocess(cmd) - cmd = ['git', 'commit', '-am', "'Added simple-ext-fork as a submodule'"] - execute_subprocess(cmd) - # Save the fork repo hash for comparison - os.chdir(self._simple_ext_fork_name) - self._fork_hash_check = self.get_git_hash() - os.chdir(self._repo_dir) - # Now, create a branch to test from_sbmodule - cmd = ['git', 'branch', - self._config_branch_name, self._bare_branch_name] - execute_subprocess(cmd) - cmd = ['git', 'checkout', self._config_branch_name] - execute_subprocess(cmd) - cmd = ['git', 'submodule', 'add', simple_repo_dir] - execute_subprocess(cmd) - # Checkout feature2 - os.chdir(self._simple_ext_name) - cmd = ['git', 'branch', 'feature2', 'origin/feature2'] - execute_subprocess(cmd) - cmd = ['git', 'checkout', 'feature2'] - execute_subprocess(cmd) - # Save the fork repo hash for comparison - self._simple_hash_check = self.get_git_hash() - os.chdir(self._repo_dir) - self.create_externals_file(filename=self._container_extern_name, - dest_dir=self._repo_dir, from_submodule=True) - cmd = ['git', 'add', self._container_extern_name] - execute_subprocess(cmd) - cmd = ['git', 'commit', '-am', "'Added simple-ext as a submodule'"] - execute_subprocess(cmd) - # Reset to master - cmd = ['git', 'checkout', 'master'] - execute_subprocess(cmd) - os.chdir(cwd) - - @staticmethod - def get_git_hash(revision="HEAD"): - """Return the hash for """ - cmd = ['git', 'rev-parse', revision] - git_out = execute_subprocess(cmd, output_to_caller=True) - return git_out.strip() - - def create_externals_file(self, name='', filename=CFG_NAME, dest_dir=None, - branch_name=None, sub_externals=None, - from_submodule=False): - # pylint: disable=too-many-arguments - """Create a container externals file with only simple externals. - - """ - self._generator.create_config() - - if dest_dir is None: - dest_dir = self._my_test_dir - - if from_submodule: - self._generator.create_section(SIMPLE_FORK_NAME, - self._simple_ext_fork_name, - from_submodule=True) - self._generator.create_section(SIMPLE_REPO_NAME, - self._simple_ext_name, - branch='feature3', path='', - from_submodule=False) - else: - if branch_name is None: - branch_name = 'master' - - self._generator.create_section(self._test_repo_name, - self._checkout_dir, - branch=branch_name, - path=name, externals=sub_externals, - repo_path=self._repo_dir) - - self._generator.write_config(dest_dir, filename=filename) - - def idempotence_check(self, checkout_dir): - """Verify that calling checkout_externals and - checkout_externals --status does not cause errors""" - cwd = os.getcwd() - os.chdir(checkout_dir) - overall, _ = self.execute_cmd_in_dir(self._my_test_dir, - self.checkout_args) - self.assertTrue(overall == 0) - overall, _ = self.execute_cmd_in_dir(self._my_test_dir, - self.status_args) - self.assertTrue(overall == 0) - os.chdir(cwd) - - def test_submodule_checkout_bare(self): - """Verify that a git repo with submodule is properly checked out - This test if for where there is no 'externals' keyword in the - parent repo. - Correct behavior is that the submodule is checked out using - normal git submodule behavior. - """ - simple_ext_fork_tag = "(tag1)" - simple_ext_fork_status = " " - self.create_externals_file(branch_name=self._bare_branch_name) - overall, _ = self.execute_cmd_in_dir(self._my_test_dir, - self.checkout_args) - self.assertTrue(overall == 0) - cwd = os.getcwd() - checkout_dir = os.path.join(self._my_test_dir, self._checkout_dir) - fork_file = os.path.join(checkout_dir, - self._simple_ext_fork_name, "readme.txt") - self.assertTrue(os.path.exists(fork_file)) - os.chdir(checkout_dir) - submods = git_submodule_status(checkout_dir) - self.assertEqual(len(submods.keys()), 1) - self.assertTrue(self._simple_ext_fork_name in submods) - submod = submods[self._simple_ext_fork_name] - self.assertTrue('hash' in submod) - self.assertEqual(submod['hash'], self._fork_hash_check) - self.assertTrue('status' in submod) - self.assertEqual(submod['status'], simple_ext_fork_status) - self.assertTrue('tag' in submod) - self.assertEqual(submod['tag'], simple_ext_fork_tag) - os.chdir(cwd) - self.idempotence_check(checkout_dir) - - def test_submodule_checkout_none(self): - """Verify that a git repo with submodule is properly checked out - This test is for when 'externals=None' is in parent repo's - externals cfg file. - Correct behavior is the submodle is not checked out. - """ - self.create_externals_file(branch_name=self._bare_branch_name, - sub_externals="none") - overall, _ = self.execute_cmd_in_dir(self._my_test_dir, - self.checkout_args) - self.assertTrue(overall == 0) - cwd = os.getcwd() - checkout_dir = os.path.join(self._my_test_dir, self._checkout_dir) - fork_file = os.path.join(checkout_dir, - self._simple_ext_fork_name, "readme.txt") - self.assertFalse(os.path.exists(fork_file)) - os.chdir(cwd) - self.idempotence_check(checkout_dir) - - def test_submodule_checkout_config(self): # pylint: disable=too-many-locals - """Verify that a git repo with submodule is properly checked out - This test if for when the 'from_submodule' keyword is used in the - parent repo. - Correct behavior is that the submodule is checked out using - normal git submodule behavior. - """ - tag_check = None # Not checked out as submodule - status_check = "-" # Not checked out as submodule - self.create_externals_file(branch_name=self._config_branch_name, - sub_externals=self._container_extern_name) - overall, _ = self.execute_cmd_in_dir(self._my_test_dir, - self.checkout_args) - self.assertTrue(overall == 0) - cwd = os.getcwd() - checkout_dir = os.path.join(self._my_test_dir, self._checkout_dir) - fork_file = os.path.join(checkout_dir, - self._simple_ext_fork_name, "readme.txt") - self.assertTrue(os.path.exists(fork_file)) - os.chdir(checkout_dir) - # Check submodule status - submods = git_submodule_status(checkout_dir) - self.assertEqual(len(submods.keys()), 2) - self.assertTrue(self._simple_ext_fork_name in submods) - submod = submods[self._simple_ext_fork_name] - self.assertTrue('hash' in submod) - self.assertEqual(submod['hash'], self._fork_hash_check) - self.assertTrue('status' in submod) - self.assertEqual(submod['status'], status_check) - self.assertTrue('tag' in submod) - self.assertEqual(submod['tag'], tag_check) - self.assertTrue(self._simple_ext_name in submods) - submod = submods[self._simple_ext_name] - self.assertTrue('hash' in submod) - self.assertEqual(submod['hash'], self._simple_hash_check) - self.assertTrue('status' in submod) - self.assertEqual(submod['status'], status_check) - self.assertTrue('tag' in submod) - self.assertEqual(submod['tag'], tag_check) - # Check fork repo status - os.chdir(self._simple_ext_fork_name) - self.assertEqual(self.get_git_hash(), self._fork_hash_check) - os.chdir(checkout_dir) - os.chdir(self._simple_ext_name) - hash_check = self.get_git_hash('origin/feature3') - self.assertEqual(self.get_git_hash(), hash_check) - os.chdir(cwd) - self.idempotence_check(checkout_dir) - -class TestSysCheckoutErrors(BaseTestSysCheckout): - """Run systems level tests of error conditions in checkout_externals - - Error conditions - these tests are designed to trigger specific - error conditions and ensure that they are being handled as - runtime errors (and hopefully usefull error messages) instead of - the default internal message that won't mean anything to the - user, e.g. key error, called process error, etc. - - These are not 'expected failures'. They are pass when a - RuntimeError is raised, fail if any other error is raised (or no - error is raised). - - """ - - # NOTE(bja, 2017-11) pylint complains about long method names, but - # it is hard to differentiate tests without making them more - # cryptic. - # pylint: disable=invalid-name - - def test_error_unknown_protocol(self): - """Verify that a runtime error is raised when the user specified repo - protocol is not known. - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # update the config file to point to a different remote with - # the tag instead of branch. Tag MUST NOT be in the original - # repo! - self._generator.update_protocol(under_test_dir, 'simp_branch', - 'this-protocol-does-not-exist') - - with self.assertRaises(RuntimeError): - self.execute_cmd_in_dir(under_test_dir, self.checkout_args) - - def test_error_switch_protocol(self): - """Verify that a runtime error is raised when the user switches - protocols, git to svn. - - TODO(bja, 2017-11) This correctly results in an error, but it - isn't a helpful error message. - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # update the config file to point to a different remote with - # the tag instead of branch. Tag MUST NOT be in the original - # repo! - self._generator.update_protocol(under_test_dir, 'simp_branch', 'svn') - with self.assertRaises(RuntimeError): - self.execute_cmd_in_dir(under_test_dir, self.checkout_args) - - def test_error_unknown_tag(self): - """Verify that a runtime error is raised when the user specified tag - does not exist. - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # update the config file to point to a different remote with - # the tag instead of branch. Tag MUST NOT be in the original - # repo! - self._generator.update_tag(under_test_dir, 'simp_branch', - 'this-tag-does-not-exist', SIMPLE_REPO_NAME) - - with self.assertRaises(RuntimeError): - self.execute_cmd_in_dir(under_test_dir, self.checkout_args) - - def test_error_overspecify_tag_branch(self): - """Verify that a runtime error is raised when the user specified both - tag and a branch - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # update the config file to point to a different remote with - # the tag instead of branch. Tag MUST NOT be in the original - # repo! - self._generator.update_tag(under_test_dir, 'simp_branch', - 'this-tag-does-not-exist', SIMPLE_REPO_NAME, - remove_branch=False) - - with self.assertRaises(RuntimeError): - self.execute_cmd_in_dir(under_test_dir, self.checkout_args) - - def test_error_underspecify_tag_branch(self): - """Verify that a runtime error is raised when the user specified - neither a tag or a branch - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # update the config file to point to a different remote with - # the tag instead of branch. Tag MUST NOT be in the original - # repo! - self._generator.update_underspecify_branch_tag(under_test_dir, - 'simp_branch') - - with self.assertRaises(RuntimeError): - self.execute_cmd_in_dir(under_test_dir, self.checkout_args) - - def test_error_missing_url(self): - """Verify that a runtime error is raised when the user specified - neither a tag or a branch - - """ - # create repo - under_test_dir = self.setup_test_repo(CONTAINER_REPO_NAME) - self._generator.container_simple_required(under_test_dir) - - # update the config file to point to a different remote with - # the tag instead of branch. Tag MUST NOT be in the original - # repo! - self._generator.update_underspecify_remove_url(under_test_dir, - 'simp_branch') - - with self.assertRaises(RuntimeError): - self.execute_cmd_in_dir(under_test_dir, self.checkout_args) - - -if __name__ == '__main__': - unittest.main() diff --git a/manage_externals/test/test_sys_repository_git.py b/manage_externals/test/test_sys_repository_git.py deleted file mode 100644 index f6dbf84284..0000000000 --- a/manage_externals/test/test_sys_repository_git.py +++ /dev/null @@ -1,238 +0,0 @@ -#!/usr/bin/env python - -"""Tests of some of the functionality in repository_git.py that actually -interacts with git repositories. - -We're calling these "system" tests because we expect them to be a lot -slower than most of the unit tests. - -""" - -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import os -import shutil -import tempfile -import unittest - -from manic.repository_git import GitRepository -from manic.externals_description import ExternalsDescription -from manic.externals_description import ExternalsDescriptionDict -from manic.utils import execute_subprocess - -# NOTE(wjs, 2018-04-09) I find a mix of camel case and underscores to be -# more readable for unit test names, so I'm disabling pylint's naming -# convention check -# pylint: disable=C0103 - -# Allow access to protected members -# pylint: disable=W0212 - - -class GitTestCase(unittest.TestCase): - """Adds some git-specific unit test functionality on top of TestCase""" - - def assertIsHash(self, maybe_hash): - """Assert that the string given by maybe_hash really does look - like a git hash. - """ - - # Ensure it is non-empty - self.assertTrue(maybe_hash, msg="maybe_hash is empty") - - # Ensure it has a single string - self.assertEqual(1, len(maybe_hash.split()), - msg="maybe_hash has multiple strings: {}".format(maybe_hash)) - - # Ensure that the only characters in the string are ones allowed - # in hashes - allowed_chars_set = set('0123456789abcdef') - self.assertTrue(set(maybe_hash) <= allowed_chars_set, - msg="maybe_hash has non-hash characters: {}".format(maybe_hash)) - - -class TestGitTestCase(GitTestCase): - """Tests GitTestCase""" - - def test_assertIsHash_true(self): - """Ensure that assertIsHash passes for something that looks - like a hash""" - self.assertIsHash('abc123') - - def test_assertIsHash_empty(self): - """Ensure that assertIsHash raises an AssertionError for an - empty string""" - with self.assertRaises(AssertionError): - self.assertIsHash('') - - def test_assertIsHash_multipleStrings(self): - """Ensure that assertIsHash raises an AssertionError when - given multiple strings""" - with self.assertRaises(AssertionError): - self.assertIsHash('abc123 def456') - - def test_assertIsHash_badChar(self): - """Ensure that assertIsHash raises an AssertionError when given a - string that has a character that doesn't belong in a hash - """ - with self.assertRaises(AssertionError): - self.assertIsHash('abc123g') - - -class TestGitRepositoryGitCommands(GitTestCase): - """Test some git commands in RepositoryGit - - It's silly that we need to create a repository in order to test - these git commands. Much or all of the git functionality that is - currently in repository_git.py should eventually be moved to a - separate module that is solely responsible for wrapping git - commands; that would allow us to test it independently of this - repository class. - """ - - # ======================================================================== - # Test helper functions - # ======================================================================== - - def setUp(self): - # directory we want to return to after the test system and - # checkout_externals are done cd'ing all over the place. - self._return_dir = os.getcwd() - - self._tmpdir = tempfile.mkdtemp() - os.chdir(self._tmpdir) - - self._name = 'component' - rdata = {ExternalsDescription.PROTOCOL: 'git', - ExternalsDescription.REPO_URL: - '/path/to/local/repo', - ExternalsDescription.TAG: - 'tag1', - } - - data = {self._name: - { - ExternalsDescription.REQUIRED: False, - ExternalsDescription.PATH: 'junk', - ExternalsDescription.EXTERNALS: '', - ExternalsDescription.REPO: rdata, - }, - } - model = ExternalsDescriptionDict(data) - repo = model[self._name][ExternalsDescription.REPO] - self._repo = GitRepository('test', repo) - - def tearDown(self): - # return to our common starting point - os.chdir(self._return_dir) - - shutil.rmtree(self._tmpdir, ignore_errors=True) - - @staticmethod - def make_git_repo(): - """Turn the current directory into an empty git repository""" - execute_subprocess(['git', 'init']) - - @staticmethod - def add_git_commit(): - """Add a git commit in the current directory""" - with open('README', 'a') as myfile: - myfile.write('more info') - execute_subprocess(['git', 'add', 'README']) - execute_subprocess(['git', 'commit', '-m', 'my commit message']) - - @staticmethod - def checkout_git_branch(branchname): - """Checkout a new branch in the current directory""" - execute_subprocess(['git', 'checkout', '-b', branchname]) - - @staticmethod - def make_git_tag(tagname): - """Make a lightweight tag at the current commit""" - execute_subprocess(['git', 'tag', '-m', 'making a tag', tagname]) - - @staticmethod - def checkout_ref(refname): - """Checkout the given refname in the current directory""" - execute_subprocess(['git', 'checkout', refname]) - - # ======================================================================== - # Begin actual tests - # ======================================================================== - - def test_currentHash_returnsHash(self): - """Ensure that the _git_current_hash function returns a hash""" - self.make_git_repo() - self.add_git_commit() - hash_found, myhash = self._repo._git_current_hash() - self.assertTrue(hash_found) - self.assertIsHash(myhash) - - def test_currentHash_outsideGitRepo(self): - """Ensure that the _git_current_hash function returns False when - outside a git repository""" - hash_found, myhash = self._repo._git_current_hash() - self.assertFalse(hash_found) - self.assertEqual('', myhash) - - def test_currentBranch_onBranch(self): - """Ensure that the _git_current_branch function returns the name - of the branch""" - self.make_git_repo() - self.add_git_commit() - self.checkout_git_branch('foo') - branch_found, mybranch = self._repo._git_current_branch() - self.assertTrue(branch_found) - self.assertEqual('foo', mybranch) - - def test_currentBranch_notOnBranch(self): - """Ensure that the _git_current_branch function returns False - when not on a branch""" - self.make_git_repo() - self.add_git_commit() - self.make_git_tag('mytag') - self.checkout_ref('mytag') - branch_found, mybranch = self._repo._git_current_branch() - self.assertFalse(branch_found) - self.assertEqual('', mybranch) - - def test_currentBranch_outsideGitRepo(self): - """Ensure that the _git_current_branch function returns False - when outside a git repository""" - branch_found, mybranch = self._repo._git_current_branch() - self.assertFalse(branch_found) - self.assertEqual('', mybranch) - - def test_currentTag_onTag(self): - """Ensure that the _git_current_tag function returns the name of - the tag""" - self.make_git_repo() - self.add_git_commit() - self.make_git_tag('some_tag') - tag_found, mytag = self._repo._git_current_tag() - self.assertTrue(tag_found) - self.assertEqual('some_tag', mytag) - - def test_currentTag_notOnTag(self): - """Ensure tha the _git_current_tag function returns False when - not on a tag""" - self.make_git_repo() - self.add_git_commit() - self.make_git_tag('some_tag') - self.add_git_commit() - tag_found, mytag = self._repo._git_current_tag() - self.assertFalse(tag_found) - self.assertEqual('', mytag) - - def test_currentTag_outsideGitRepo(self): - """Ensure that the _git_current_tag function returns False when - outside a git repository""" - tag_found, mytag = self._repo._git_current_tag() - self.assertFalse(tag_found) - self.assertEqual('', mytag) - - -if __name__ == '__main__': - unittest.main() diff --git a/manage_externals/test/test_unit_externals_description.py b/manage_externals/test/test_unit_externals_description.py deleted file mode 100644 index 637f760ee5..0000000000 --- a/manage_externals/test/test_unit_externals_description.py +++ /dev/null @@ -1,401 +0,0 @@ -#!/usr/bin/env python - -"""Unit test driver for checkout_externals - -Note: this script assume the path to the checkout_externals.py module is -already in the python path. - -""" - -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import os -import os.path -import shutil -import unittest - -try: - # python2 - from ConfigParser import SafeConfigParser as config_parser - - def config_string_cleaner(text): - """convert strings into unicode - """ - return text.decode('utf-8') -except ImportError: - # python3 - from configparser import ConfigParser as config_parser - - def config_string_cleaner(text): - """Python3 already uses unicode strings, so just return the string - without modification. - - """ - return text - -from manic.externals_description import DESCRIPTION_SECTION, VERSION_ITEM -from manic.externals_description import ExternalsDescription -from manic.externals_description import ExternalsDescriptionDict -from manic.externals_description import ExternalsDescriptionConfigV1 -from manic.externals_description import get_cfg_schema_version -from manic.externals_description import read_externals_description_file -from manic.externals_description import create_externals_description - -from manic.global_constants import EMPTY_STR - - -class TestCfgSchemaVersion(unittest.TestCase): - """Test that schema identification for the externals description - returns the correct results. - - """ - - def setUp(self): - """Reusable config object - """ - self._config = config_parser() - self._config.add_section('section1') - self._config.set('section1', 'keword', 'value') - - self._config.add_section(DESCRIPTION_SECTION) - - def test_schema_version_valid(self): - """Test that schema identification returns the correct version for a - valid tag. - - """ - version_str = '2.1.3' - self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, version_str) - major, minor, patch = get_cfg_schema_version(self._config) - expected_major = 2 - expected_minor = 1 - expected_patch = 3 - self.assertEqual(expected_major, major) - self.assertEqual(expected_minor, minor) - self.assertEqual(expected_patch, patch) - - def test_schema_section_missing(self): - """Test that an error is returned if the schema section is missing - from the input file. - - """ - self._config.remove_section(DESCRIPTION_SECTION) - with self.assertRaises(RuntimeError): - get_cfg_schema_version(self._config) - - def test_schema_version_missing(self): - """Test that a externals description file without a version raises a - runtime error. - - """ - # Note: the default setup method shouldn't include a version - # keyword, but remove it just to be future proof.... - self._config.remove_option(DESCRIPTION_SECTION, VERSION_ITEM) - with self.assertRaises(RuntimeError): - get_cfg_schema_version(self._config) - - def test_schema_version_not_int(self): - """Test that a externals description file a version that doesn't - decompose to integer major, minor and patch versions raises - runtime error. - - """ - self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, 'unknown') - with self.assertRaises(RuntimeError): - get_cfg_schema_version(self._config) - - -class TestModelDescritionConfigV1(unittest.TestCase): - """Test that parsing config/ini fileproduces a correct dictionary - for the externals description. - - """ - # pylint: disable=R0902 - - def setUp(self): - """Boiler plate construction of string containing xml for multiple components. - """ - self._comp1_name = 'comp1' - self._comp1_path = 'path/to/comp1' - self._comp1_protocol = 'svn' - self._comp1_url = 'https://svn.somewhere.com/path/of/comp1' - self._comp1_tag = 'a_nice_tag_v1' - self._comp1_is_required = 'True' - self._comp1_externals = '' - - self._comp2_name = 'comp2' - self._comp2_path = 'path/to/comp2' - self._comp2_protocol = 'git' - self._comp2_url = '/local/clone/of/comp2' - self._comp2_branch = 'a_very_nice_branch' - self._comp2_is_required = 'False' - self._comp2_externals = 'path/to/comp2.cfg' - - def _setup_comp1(self, config): - """Boiler plate construction of xml string for componet 1 - """ - config.add_section(self._comp1_name) - config.set(self._comp1_name, 'local_path', self._comp1_path) - config.set(self._comp1_name, 'protocol', self._comp1_protocol) - config.set(self._comp1_name, 'repo_url', self._comp1_url) - config.set(self._comp1_name, 'tag', self._comp1_tag) - config.set(self._comp1_name, 'required', self._comp1_is_required) - - def _setup_comp2(self, config): - """Boiler plate construction of xml string for componet 2 - """ - config.add_section(self._comp2_name) - config.set(self._comp2_name, 'local_path', self._comp2_path) - config.set(self._comp2_name, 'protocol', self._comp2_protocol) - config.set(self._comp2_name, 'repo_url', self._comp2_url) - config.set(self._comp2_name, 'branch', self._comp2_branch) - config.set(self._comp2_name, 'required', self._comp2_is_required) - config.set(self._comp2_name, 'externals', self._comp2_externals) - - @staticmethod - def _setup_externals_description(config): - """Add the required exernals description section - """ - - config.add_section(DESCRIPTION_SECTION) - config.set(DESCRIPTION_SECTION, VERSION_ITEM, '1.0.1') - - def _check_comp1(self, model): - """Test that component one was constructed correctly. - """ - self.assertTrue(self._comp1_name in model) - comp1 = model[self._comp1_name] - self.assertEqual(comp1[ExternalsDescription.PATH], self._comp1_path) - self.assertTrue(comp1[ExternalsDescription.REQUIRED]) - repo = comp1[ExternalsDescription.REPO] - self.assertEqual(repo[ExternalsDescription.PROTOCOL], - self._comp1_protocol) - self.assertEqual(repo[ExternalsDescription.REPO_URL], self._comp1_url) - self.assertEqual(repo[ExternalsDescription.TAG], self._comp1_tag) - self.assertEqual(EMPTY_STR, comp1[ExternalsDescription.EXTERNALS]) - - def _check_comp2(self, model): - """Test that component two was constucted correctly. - """ - self.assertTrue(self._comp2_name in model) - comp2 = model[self._comp2_name] - self.assertEqual(comp2[ExternalsDescription.PATH], self._comp2_path) - self.assertFalse(comp2[ExternalsDescription.REQUIRED]) - repo = comp2[ExternalsDescription.REPO] - self.assertEqual(repo[ExternalsDescription.PROTOCOL], - self._comp2_protocol) - self.assertEqual(repo[ExternalsDescription.REPO_URL], self._comp2_url) - self.assertEqual(repo[ExternalsDescription.BRANCH], self._comp2_branch) - self.assertEqual(self._comp2_externals, - comp2[ExternalsDescription.EXTERNALS]) - - def test_one_tag_required(self): - """Test that a component source with a tag is correctly parsed. - """ - config = config_parser() - self._setup_comp1(config) - self._setup_externals_description(config) - model = ExternalsDescriptionConfigV1(config) - print(model) - self._check_comp1(model) - - def test_one_branch_externals(self): - """Test that a component source with a branch is correctly parsed. - """ - config = config_parser() - self._setup_comp2(config) - self._setup_externals_description(config) - model = ExternalsDescriptionConfigV1(config) - print(model) - self._check_comp2(model) - - def test_two_sources(self): - """Test that multiple component sources are correctly parsed. - """ - config = config_parser() - self._setup_comp1(config) - self._setup_comp2(config) - self._setup_externals_description(config) - model = ExternalsDescriptionConfigV1(config) - print(model) - self._check_comp1(model) - self._check_comp2(model) - - def test_cfg_v1_reject_unknown_item(self): - """Test that a v1 description object will reject unknown items - """ - config = config_parser() - self._setup_comp1(config) - self._setup_externals_description(config) - config.set(self._comp1_name, 'junk', 'foobar') - with self.assertRaises(RuntimeError): - ExternalsDescriptionConfigV1(config) - - def test_cfg_v1_reject_v2(self): - """Test that a v1 description object won't try to parse a v2 file. - """ - config = config_parser() - self._setup_comp1(config) - self._setup_externals_description(config) - config.set(DESCRIPTION_SECTION, VERSION_ITEM, '2.0.1') - with self.assertRaises(RuntimeError): - ExternalsDescriptionConfigV1(config) - - def test_cfg_v1_reject_v1_too_new(self): - """Test that a v1 description object won't try to parse a v2 file. - """ - config = config_parser() - self._setup_comp1(config) - self._setup_externals_description(config) - config.set(DESCRIPTION_SECTION, VERSION_ITEM, '1.100.0') - with self.assertRaises(RuntimeError): - ExternalsDescriptionConfigV1(config) - - -class TestReadExternalsDescription(unittest.TestCase): - """Test the application logic of read_externals_description_file - """ - TMP_FAKE_DIR = 'fake' - - def setUp(self): - """Setup directory for tests - """ - if not os.path.exists(self.TMP_FAKE_DIR): - os.makedirs(self.TMP_FAKE_DIR) - - def tearDown(self): - """Cleanup tmp stuff on the file system - """ - if os.path.exists(self.TMP_FAKE_DIR): - shutil.rmtree(self.TMP_FAKE_DIR) - - def test_no_file_error(self): - """Test that a runtime error is raised when the file does not exist - - """ - root_dir = os.getcwd() - filename = 'this-file-should-not-exist' - with self.assertRaises(RuntimeError): - read_externals_description_file(root_dir, filename) - - def test_no_dir_error(self): - """Test that a runtime error is raised when the file does not exist - - """ - root_dir = '/path/to/some/repo' - filename = 'externals.cfg' - with self.assertRaises(RuntimeError): - read_externals_description_file(root_dir, filename) - - def test_no_invalid_error(self): - """Test that a runtime error is raised when the file format is invalid - - """ - root_dir = os.getcwd() - filename = 'externals.cfg' - file_path = os.path.join(root_dir, filename) - file_path = os.path.abspath(file_path) - contents = """ - -invalid file format -""" - with open(file_path, 'w') as fhandle: - fhandle.write(contents) - with self.assertRaises(RuntimeError): - read_externals_description_file(root_dir, filename) - os.remove(file_path) - - -class TestCreateExternalsDescription(unittest.TestCase): - """Test the application logic of creat_externals_description - """ - - def setUp(self): - """Create config object used as basis for all tests - """ - self._config = config_parser() - self._gmconfig = config_parser() - self.setup_config() - - def setup_config(self): - """Boiler plate construction of xml string for componet 1 - """ - # Create a standard externals config with a single external - name = 'test' - self._config.add_section(name) - self._config.set(name, ExternalsDescription.PATH, 'externals') - self._config.set(name, ExternalsDescription.PROTOCOL, 'git') - self._config.set(name, ExternalsDescription.REPO_URL, '/path/to/repo') - self._config.set(name, ExternalsDescription.TAG, 'test_tag') - self._config.set(name, ExternalsDescription.REQUIRED, 'True') - - self._config.add_section(DESCRIPTION_SECTION) - self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, '1.0.0') - - # Create a .gitmodules test - name = 'submodule "gitmodules_test"' - self._gmconfig.add_section(name) - self._gmconfig.set(name, "path", 'externals/test') - self._gmconfig.set(name, "url", '/path/to/repo') - # NOTE(goldy, 2019-03) Should test other possible keywords such as - # fetchRecurseSubmodules, ignore, and shallow - - def test_cfg_v1_ok(self): - """Test that a correct cfg v1 object is created by create_externals_description - - """ - self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, '1.0.3') - ext = create_externals_description(self._config, model_format='cfg') - self.assertIsInstance(ext, ExternalsDescriptionConfigV1) - - def test_cfg_v1_unknown_version(self): - """Test that a config file with unknown schema version is rejected by - create_externals_description. - - """ - self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, '100.0.3') - with self.assertRaises(RuntimeError): - create_externals_description(self._config, model_format='cfg') - - def test_dict(self): - """Test that a correct cfg v1 object is created by create_externals_description - - """ - rdata = {ExternalsDescription.PROTOCOL: 'git', - ExternalsDescription.REPO_URL: '/path/to/repo', - ExternalsDescription.TAG: 'tagv1', - } - - desc = { - 'test': { - ExternalsDescription.REQUIRED: False, - ExternalsDescription.PATH: '../fake', - ExternalsDescription.EXTERNALS: EMPTY_STR, - ExternalsDescription.REPO: rdata, }, - } - - ext = create_externals_description(desc, model_format='dict') - self.assertIsInstance(ext, ExternalsDescriptionDict) - - def test_cfg_unknown_version(self): - """Test that a runtime error is raised when an unknown file version is - received - - """ - self._config.set(DESCRIPTION_SECTION, VERSION_ITEM, '123.456.789') - with self.assertRaises(RuntimeError): - create_externals_description(self._config, model_format='cfg') - - def test_cfg_unknown_format(self): - """Test that a runtime error is raised when an unknown format string is - received - - """ - with self.assertRaises(RuntimeError): - create_externals_description(self._config, model_format='unknown') - - -if __name__ == '__main__': - unittest.main() diff --git a/manage_externals/test/test_unit_externals_status.py b/manage_externals/test/test_unit_externals_status.py deleted file mode 100644 index f8e953f756..0000000000 --- a/manage_externals/test/test_unit_externals_status.py +++ /dev/null @@ -1,299 +0,0 @@ -#!/usr/bin/env python - -"""Unit test driver for the manic external status reporting module. - -Note: this script assumes the path to the manic package is already in -the python path. - -""" - -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import unittest - -from manic.externals_status import ExternalStatus - - -class TestStatusObject(unittest.TestCase): - """Verify that the Status object behaives as expected. - """ - - def test_exists_empty_all(self): - """If the repository sync-state is empty (doesn't exist), and there is no - clean state, then it is considered not to exist. - - """ - stat = ExternalStatus() - stat.sync_state = ExternalStatus.EMPTY - stat.clean_state = ExternalStatus.DEFAULT - exists = stat.exists() - self.assertFalse(exists) - - stat.clean_state = ExternalStatus.EMPTY - exists = stat.exists() - self.assertFalse(exists) - - stat.clean_state = ExternalStatus.UNKNOWN - exists = stat.exists() - self.assertFalse(exists) - - # this state represtens an internal logic error in how the - # repo status was determined. - stat.clean_state = ExternalStatus.STATUS_OK - exists = stat.exists() - self.assertTrue(exists) - - # this state represtens an internal logic error in how the - # repo status was determined. - stat.clean_state = ExternalStatus.DIRTY - exists = stat.exists() - self.assertTrue(exists) - - def test_exists_default_all(self): - """If the repository sync-state is default, then it is considered to exist - regardless of clean state. - - """ - stat = ExternalStatus() - stat.sync_state = ExternalStatus.DEFAULT - stat.clean_state = ExternalStatus.DEFAULT - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.EMPTY - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.UNKNOWN - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.STATUS_OK - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.DIRTY - exists = stat.exists() - self.assertTrue(exists) - - def test_exists_unknown_all(self): - """If the repository sync-state is unknown, then it is considered to exist - regardless of clean state. - - """ - stat = ExternalStatus() - stat.sync_state = ExternalStatus.UNKNOWN - stat.clean_state = ExternalStatus.DEFAULT - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.EMPTY - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.UNKNOWN - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.STATUS_OK - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.DIRTY - exists = stat.exists() - self.assertTrue(exists) - - def test_exists_modified_all(self): - """If the repository sync-state is modified, then it is considered to exist - regardless of clean state. - - """ - stat = ExternalStatus() - stat.sync_state = ExternalStatus.MODEL_MODIFIED - stat.clean_state = ExternalStatus.DEFAULT - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.EMPTY - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.UNKNOWN - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.STATUS_OK - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.DIRTY - exists = stat.exists() - self.assertTrue(exists) - - def test_exists_ok_all(self): - """If the repository sync-state is ok, then it is considered to exist - regardless of clean state. - - """ - stat = ExternalStatus() - stat.sync_state = ExternalStatus.STATUS_OK - stat.clean_state = ExternalStatus.DEFAULT - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.EMPTY - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.UNKNOWN - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.STATUS_OK - exists = stat.exists() - self.assertTrue(exists) - - stat.clean_state = ExternalStatus.DIRTY - exists = stat.exists() - self.assertTrue(exists) - - def test_update_ok_all(self): - """If the repository in-sync is ok, then it is safe to - update only if clean state is ok - - """ - stat = ExternalStatus() - stat.sync_state = ExternalStatus.STATUS_OK - stat.clean_state = ExternalStatus.DEFAULT - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.EMPTY - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.UNKNOWN - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.STATUS_OK - safe_to_update = stat.safe_to_update() - self.assertTrue(safe_to_update) - - stat.clean_state = ExternalStatus.DIRTY - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - def test_update_modified_all(self): - """If the repository in-sync is modified, then it is safe to - update only if clean state is ok - - """ - stat = ExternalStatus() - stat.sync_state = ExternalStatus.MODEL_MODIFIED - stat.clean_state = ExternalStatus.DEFAULT - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.EMPTY - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.UNKNOWN - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.STATUS_OK - safe_to_update = stat.safe_to_update() - self.assertTrue(safe_to_update) - - stat.clean_state = ExternalStatus.DIRTY - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - def test_update_unknown_all(self): - """If the repository in-sync is unknown, then it is not safe to - update, regardless of the clean state. - - """ - stat = ExternalStatus() - stat.sync_state = ExternalStatus.UNKNOWN - stat.clean_state = ExternalStatus.DEFAULT - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.EMPTY - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.UNKNOWN - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.STATUS_OK - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.DIRTY - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - def test_update_default_all(self): - """If the repository in-sync is default, then it is not safe to - update, regardless of the clean state. - - """ - stat = ExternalStatus() - stat.sync_state = ExternalStatus.UNKNOWN - stat.clean_state = ExternalStatus.DEFAULT - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.EMPTY - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.UNKNOWN - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.STATUS_OK - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.DIRTY - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - def test_update_empty_all(self): - """If the repository in-sync is empty, then it is not safe to - update, regardless of the clean state. - - """ - stat = ExternalStatus() - stat.sync_state = ExternalStatus.UNKNOWN - stat.clean_state = ExternalStatus.DEFAULT - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.EMPTY - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.UNKNOWN - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.STATUS_OK - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - stat.clean_state = ExternalStatus.DIRTY - safe_to_update = stat.safe_to_update() - self.assertFalse(safe_to_update) - - -if __name__ == '__main__': - unittest.main() diff --git a/manage_externals/test/test_unit_repository.py b/manage_externals/test/test_unit_repository.py deleted file mode 100644 index 2152503c2d..0000000000 --- a/manage_externals/test/test_unit_repository.py +++ /dev/null @@ -1,197 +0,0 @@ -#!/usr/bin/env python - -"""Unit test driver for checkout_externals - -Note: this script assume the path to the checkout_externals.py module is -already in the python path. - -""" - -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import unittest - -from manic.repository_factory import create_repository -from manic.repository_git import GitRepository -from manic.repository_svn import SvnRepository -from manic.repository import Repository -from manic.externals_description import ExternalsDescription -from manic.global_constants import EMPTY_STR - - -class TestCreateRepositoryDict(unittest.TestCase): - """Test the create_repository functionality to ensure it returns the - propper type of repository and errors for unknown repository - types. - - """ - - def setUp(self): - """Common data needed for all tests in this class - """ - self._name = 'test_name' - self._repo = {ExternalsDescription.PROTOCOL: None, - ExternalsDescription.REPO_URL: 'junk_root', - ExternalsDescription.TAG: 'junk_tag', - ExternalsDescription.BRANCH: EMPTY_STR, - ExternalsDescription.HASH: EMPTY_STR, } - - def test_create_repo_git(self): - """Verify that several possible names for the 'git' protocol - create git repository objects. - - """ - protocols = ['git', 'GIT', 'Git', ] - for protocol in protocols: - self._repo[ExternalsDescription.PROTOCOL] = protocol - repo = create_repository(self._name, self._repo) - self.assertIsInstance(repo, GitRepository) - - def test_create_repo_svn(self): - """Verify that several possible names for the 'svn' protocol - create svn repository objects. - """ - protocols = ['svn', 'SVN', 'Svn', ] - for protocol in protocols: - self._repo[ExternalsDescription.PROTOCOL] = protocol - repo = create_repository(self._name, self._repo) - self.assertIsInstance(repo, SvnRepository) - - def test_create_repo_externals_only(self): - """Verify that an externals only repo returns None. - """ - protocols = ['externals_only', ] - for protocol in protocols: - self._repo[ExternalsDescription.PROTOCOL] = protocol - repo = create_repository(self._name, self._repo) - self.assertEqual(None, repo) - - def test_create_repo_unsupported(self): - """Verify that an unsupported protocol generates a runtime error. - """ - protocols = ['not_a_supported_protocol', ] - for protocol in protocols: - self._repo[ExternalsDescription.PROTOCOL] = protocol - with self.assertRaises(RuntimeError): - create_repository(self._name, self._repo) - - -class TestRepository(unittest.TestCase): - """Test the externals description processing used to create the Repository - base class shared by protocol specific repository classes. - - """ - - def test_tag(self): - """Test creation of a repository object with a tag - """ - name = 'test_repo' - protocol = 'test_protocol' - url = 'test_url' - tag = 'test_tag' - repo_info = {ExternalsDescription.PROTOCOL: protocol, - ExternalsDescription.REPO_URL: url, - ExternalsDescription.TAG: tag, - ExternalsDescription.BRANCH: EMPTY_STR, - ExternalsDescription.HASH: EMPTY_STR, } - repo = Repository(name, repo_info) - print(repo.__dict__) - self.assertEqual(repo.tag(), tag) - self.assertEqual(repo.url(), url) - - def test_branch(self): - """Test creation of a repository object with a branch - """ - name = 'test_repo' - protocol = 'test_protocol' - url = 'test_url' - branch = 'test_branch' - repo_info = {ExternalsDescription.PROTOCOL: protocol, - ExternalsDescription.REPO_URL: url, - ExternalsDescription.BRANCH: branch, - ExternalsDescription.TAG: EMPTY_STR, - ExternalsDescription.HASH: EMPTY_STR, } - repo = Repository(name, repo_info) - print(repo.__dict__) - self.assertEqual(repo.branch(), branch) - self.assertEqual(repo.url(), url) - - def test_hash(self): - """Test creation of a repository object with a hash - """ - name = 'test_repo' - protocol = 'test_protocol' - url = 'test_url' - ref = 'deadc0de' - repo_info = {ExternalsDescription.PROTOCOL: protocol, - ExternalsDescription.REPO_URL: url, - ExternalsDescription.BRANCH: EMPTY_STR, - ExternalsDescription.TAG: EMPTY_STR, - ExternalsDescription.HASH: ref, } - repo = Repository(name, repo_info) - print(repo.__dict__) - self.assertEqual(repo.hash(), ref) - self.assertEqual(repo.url(), url) - - def test_tag_branch(self): - """Test creation of a repository object with a tag and branch raises a - runtimer error. - - """ - name = 'test_repo' - protocol = 'test_protocol' - url = 'test_url' - branch = 'test_branch' - tag = 'test_tag' - ref = EMPTY_STR - repo_info = {ExternalsDescription.PROTOCOL: protocol, - ExternalsDescription.REPO_URL: url, - ExternalsDescription.BRANCH: branch, - ExternalsDescription.TAG: tag, - ExternalsDescription.HASH: ref, } - with self.assertRaises(RuntimeError): - Repository(name, repo_info) - - def test_tag_branch_hash(self): - """Test creation of a repository object with a tag, branch and hash raises a - runtimer error. - - """ - name = 'test_repo' - protocol = 'test_protocol' - url = 'test_url' - branch = 'test_branch' - tag = 'test_tag' - ref = 'deadc0de' - repo_info = {ExternalsDescription.PROTOCOL: protocol, - ExternalsDescription.REPO_URL: url, - ExternalsDescription.BRANCH: branch, - ExternalsDescription.TAG: tag, - ExternalsDescription.HASH: ref, } - with self.assertRaises(RuntimeError): - Repository(name, repo_info) - - def test_no_tag_no_branch(self): - """Test creation of a repository object without a tag or branch raises a - runtimer error. - - """ - name = 'test_repo' - protocol = 'test_protocol' - url = 'test_url' - branch = EMPTY_STR - tag = EMPTY_STR - ref = EMPTY_STR - repo_info = {ExternalsDescription.PROTOCOL: protocol, - ExternalsDescription.REPO_URL: url, - ExternalsDescription.BRANCH: branch, - ExternalsDescription.TAG: tag, - ExternalsDescription.HASH: ref, } - with self.assertRaises(RuntimeError): - Repository(name, repo_info) - - -if __name__ == '__main__': - unittest.main() diff --git a/manage_externals/test/test_unit_repository_git.py b/manage_externals/test/test_unit_repository_git.py deleted file mode 100644 index b025fbd429..0000000000 --- a/manage_externals/test/test_unit_repository_git.py +++ /dev/null @@ -1,807 +0,0 @@ -#!/usr/bin/env python - -"""Unit test driver for checkout_externals - -Note: this script assume the path to the checkout_externals.py module is -already in the python path. - -""" -# pylint: disable=too-many-lines,protected-access - -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import os -import shutil -import unittest - -from manic.repository_git import GitRepository -from manic.externals_status import ExternalStatus -from manic.externals_description import ExternalsDescription -from manic.externals_description import ExternalsDescriptionDict -from manic.global_constants import EMPTY_STR - -# NOTE(bja, 2017-11) order is important here. origin should be a -# subset of other to trap errors on processing remotes! -GIT_REMOTE_OUTPUT_ORIGIN_UPSTREAM = ''' -upstream /path/to/other/repo (fetch) -upstream /path/to/other/repo (push) -other /path/to/local/repo2 (fetch) -other /path/to/local/repo2 (push) -origin /path/to/local/repo (fetch) -origin /path/to/local/repo (push) -''' - - -class TestGitRepositoryCurrentRef(unittest.TestCase): - """test the current_ref command on a git repository - """ - - def setUp(self): - self._name = 'component' - rdata = {ExternalsDescription.PROTOCOL: 'git', - ExternalsDescription.REPO_URL: - '/path/to/local/repo', - ExternalsDescription.TAG: - 'tag1', - } - - data = {self._name: - { - ExternalsDescription.REQUIRED: False, - ExternalsDescription.PATH: 'junk', - ExternalsDescription.EXTERNALS: EMPTY_STR, - ExternalsDescription.REPO: rdata, - }, - } - - model = ExternalsDescriptionDict(data) - repo = model[self._name][ExternalsDescription.REPO] - self._repo = GitRepository('test', repo) - - # - # mock methods replacing git system calls - # - @staticmethod - def _git_current_branch(branch_found, branch_name): - """Return a function that takes the place of - repo._git_current_branch, which returns the given output.""" - def my_git_current_branch(): - """mock function that can take the place of repo._git_current_branch""" - return branch_found, branch_name - return my_git_current_branch - - @staticmethod - def _git_current_tag(tag_found, tag_name): - """Return a function that takes the place of - repo._git_current_tag, which returns the given output.""" - def my_git_current_tag(): - """mock function that can take the place of repo._git_current_tag""" - return tag_found, tag_name - return my_git_current_tag - - @staticmethod - def _git_current_hash(hash_found, hash_name): - """Return a function that takes the place of - repo._git_current_hash, which returns the given output.""" - def my_git_current_hash(): - """mock function that can take the place of repo._git_current_hash""" - return hash_found, hash_name - return my_git_current_hash - - # ------------------------------------------------------------------------ - # Begin tests - # ------------------------------------------------------------------------ - - def test_ref_branch(self): - """Test that we correctly identify we are on a branch - """ - self._repo._git_current_branch = self._git_current_branch( - True, 'feature3') - self._repo._git_current_tag = self._git_current_tag(True, 'foo_tag') - self._repo._git_current_hash = self._git_current_hash(True, 'abc123') - expected = 'feature3' - result = self._repo._current_ref() - self.assertEqual(result, expected) - - def test_ref_detached_tag(self): - """Test that we correctly identify that the ref is detached at a tag - """ - self._repo._git_current_branch = self._git_current_branch(False, '') - self._repo._git_current_tag = self._git_current_tag(True, 'foo_tag') - self._repo._git_current_hash = self._git_current_hash(True, 'abc123') - expected = 'foo_tag' - result = self._repo._current_ref() - self.assertEqual(result, expected) - - def test_ref_detached_hash(self): - """Test that we can identify ref is detached at a hash - - """ - self._repo._git_current_branch = self._git_current_branch(False, '') - self._repo._git_current_tag = self._git_current_tag(False, '') - self._repo._git_current_hash = self._git_current_hash(True, 'abc123') - expected = 'abc123' - result = self._repo._current_ref() - self.assertEqual(result, expected) - - def test_ref_none(self): - """Test that we correctly identify that we're not in a git repo. - """ - self._repo._git_current_branch = self._git_current_branch(False, '') - self._repo._git_current_tag = self._git_current_tag(False, '') - self._repo._git_current_hash = self._git_current_hash(False, '') - result = self._repo._current_ref() - self.assertEqual(result, EMPTY_STR) - - -class TestGitRepositoryCheckSync(unittest.TestCase): - """Test whether the GitRepository _check_sync_logic functionality is - correct. - - Note: there are a lot of combinations of state: - - - external description - tag, branch - - - working copy - - doesn't exist (not checked out) - - exists, no git info - incorrect protocol, e.g. svn, or tarball? - - exists, git info - - as expected: - - different from expected: - - detached tag, - - detached hash, - - detached branch (compare remote and branch), - - tracking branch (compare remote and branch), - - same remote - - different remote - - untracked branch - - Test list: - - doesn't exist - - exists no git info - - - num_external * (working copy expected + num_working copy different) - - total tests = 16 - - """ - - # NOTE(bja, 2017-11) pylint complains about long method names, but - # it is hard to differentiate tests without making them more - # cryptic. Also complains about too many public methods, but it - # doesn't really make sense to break this up. - # pylint: disable=invalid-name,too-many-public-methods - - TMP_FAKE_DIR = 'fake' - TMP_FAKE_GIT_DIR = os.path.join(TMP_FAKE_DIR, '.git') - - def setUp(self): - """Setup reusable git repository object - """ - self._name = 'component' - rdata = {ExternalsDescription.PROTOCOL: 'git', - ExternalsDescription.REPO_URL: - '/path/to/local/repo', - ExternalsDescription.TAG: 'tag1', - } - - data = {self._name: - { - ExternalsDescription.REQUIRED: False, - ExternalsDescription.PATH: self.TMP_FAKE_DIR, - ExternalsDescription.EXTERNALS: EMPTY_STR, - ExternalsDescription.REPO: rdata, - }, - } - - model = ExternalsDescriptionDict(data) - repo = model[self._name][ExternalsDescription.REPO] - self._repo = GitRepository('test', repo) - # The unit tests here don't care about the result of - # _current_ref, but we replace it here so that we don't need to - # worry about calling a possibly slow and possibly - # error-producing command (since _current_ref calls various git - # functions): - self._repo._current_ref = self._current_ref_empty - self._create_tmp_git_dir() - - def tearDown(self): - """Cleanup tmp stuff on the file system - """ - self._remove_tmp_git_dir() - - def _create_tmp_git_dir(self): - """Create a temporary fake git directory for testing purposes. - """ - if not os.path.exists(self.TMP_FAKE_GIT_DIR): - os.makedirs(self.TMP_FAKE_GIT_DIR) - - def _remove_tmp_git_dir(self): - """Remove the temporary fake git directory - """ - if os.path.exists(self.TMP_FAKE_DIR): - shutil.rmtree(self.TMP_FAKE_DIR) - - # - # mock methods replacing git system calls - # - @staticmethod - def _current_ref_empty(): - """Return an empty string. - """ - return EMPTY_STR - - @staticmethod - def _git_remote_origin_upstream(): - """Return an info string that is a checkout hash - """ - return GIT_REMOTE_OUTPUT_ORIGIN_UPSTREAM - - @staticmethod - def _git_remote_none(): - """Return an info string that is a checkout hash - """ - return EMPTY_STR - - @staticmethod - def _git_current_hash(myhash): - """Return a function that takes the place of repo._git_current_hash, - which returns the given hash - """ - def my_git_current_hash(): - """mock function that can take the place of repo._git_current_hash""" - return 0, myhash - return my_git_current_hash - - def _git_revparse_commit(self, expected_ref, mystatus, myhash): - """Return a function that takes the place of - repo._git_revparse_commit, which returns a tuple: - (mystatus, myhash). - - Expects the passed-in ref to equal expected_ref - - status = 0 implies success, non-zero implies failure - """ - def my_git_revparse_commit(ref): - """mock function that can take the place of repo._git_revparse_commit""" - self.assertEqual(expected_ref, ref) - return mystatus, myhash - return my_git_revparse_commit - - # ---------------------------------------------------------------- - # - # Tests where working copy doesn't exist or is invalid - # - # ---------------------------------------------------------------- - def test_sync_dir_not_exist(self): - """Test that a directory that doesn't exist returns an error status - - Note: the Repository classes should be prevented from ever - working on an empty directory by the _Source object. - - """ - stat = ExternalStatus() - self._repo._check_sync(stat, 'invalid_directory_name') - self.assertEqual(stat.sync_state, ExternalStatus.STATUS_ERROR) - # check_dir should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - def test_sync_dir_exist_no_git_info(self): - """Test that a non-existent git repo returns an unknown status - """ - stat = ExternalStatus() - # Now we over-ride the _git_remote_verbose method on the repo to return - # a known value without requiring access to git. - self._repo._git_remote_verbose = self._git_remote_origin_upstream - self._repo._tag = 'tag1' - self._repo._git_current_hash = self._git_current_hash('') - self._repo._git_revparse_commit = self._git_revparse_commit( - 'tag1', 1, '') - self._repo._check_sync(stat, self.TMP_FAKE_DIR) - self.assertEqual(stat.sync_state, ExternalStatus.UNKNOWN) - # check_sync should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - # ------------------------------------------------------------------------ - # - # Tests where version in configuration file is not a valid reference - # - # ------------------------------------------------------------------------ - - def test_sync_invalid_reference(self): - """Test that an invalid reference returns out-of-sync - """ - stat = ExternalStatus() - self._repo._git_remote_verbose = self._git_remote_origin_upstream - self._repo._tag = 'tag1' - self._repo._git_current_hash = self._git_current_hash('abc123') - self._repo._git_revparse_commit = self._git_revparse_commit( - 'tag1', 1, '') - self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) - self.assertEqual(stat.sync_state, ExternalStatus.MODEL_MODIFIED) - # check_sync should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - # ---------------------------------------------------------------- - # - # Tests where external description specifies a tag - # - # ---------------------------------------------------------------- - def test_sync_tag_on_same_hash(self): - """Test expect tag on same hash --> status ok - - """ - stat = ExternalStatus() - self._repo._git_remote_verbose = self._git_remote_origin_upstream - self._repo._tag = 'tag1' - self._repo._git_current_hash = self._git_current_hash('abc123') - self._repo._git_revparse_commit = self._git_revparse_commit( - 'tag1', 0, 'abc123') - self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) - self.assertEqual(stat.sync_state, ExternalStatus.STATUS_OK) - # check_sync should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - def test_sync_tag_on_different_hash(self): - """Test expect tag on a different hash --> status modified - - """ - stat = ExternalStatus() - self._repo._git_remote_verbose = self._git_remote_origin_upstream - self._repo._tag = 'tag1' - self._repo._git_current_hash = self._git_current_hash('def456') - self._repo._git_revparse_commit = self._git_revparse_commit( - 'tag1', 0, 'abc123') - self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) - self.assertEqual(stat.sync_state, ExternalStatus.MODEL_MODIFIED) - # check_sync should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - # ---------------------------------------------------------------- - # - # Tests where external description specifies a hash - # - # ---------------------------------------------------------------- - def test_sync_hash_on_same_hash(self): - """Test expect hash on same hash --> status ok - - """ - stat = ExternalStatus() - self._repo._git_remote_verbose = self._git_remote_origin_upstream - self._repo._tag = '' - self._repo._hash = 'abc' - self._repo._git_current_hash = self._git_current_hash('abc123') - self._repo._git_revparse_commit = self._git_revparse_commit( - 'abc', 0, 'abc123') - self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) - self.assertEqual(stat.sync_state, ExternalStatus.STATUS_OK) - # check_sync should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - def test_sync_hash_on_different_hash(self): - """Test expect hash on a different hash --> status modified - - """ - stat = ExternalStatus() - self._repo._git_remote_verbose = self._git_remote_origin_upstream - self._repo._tag = '' - self._repo._hash = 'abc' - self._repo._git_current_hash = self._git_current_hash('def456') - self._repo._git_revparse_commit = self._git_revparse_commit( - 'abc', 0, 'abc123') - self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) - self.assertEqual(stat.sync_state, ExternalStatus.MODEL_MODIFIED) - # check_sync should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - # ---------------------------------------------------------------- - # - # Tests where external description specifies a branch - # - # ---------------------------------------------------------------- - def test_sync_branch_on_same_hash(self): - """Test expect branch on same hash --> status ok - - """ - stat = ExternalStatus() - self._repo._git_remote_verbose = self._git_remote_origin_upstream - self._repo._branch = 'feature-2' - self._repo._tag = '' - self._repo._git_current_hash = self._git_current_hash('abc123') - self._repo._git_revparse_commit = ( - self._git_revparse_commit('origin/feature-2', 0, 'abc123')) - self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) - self.assertEqual(stat.sync_state, ExternalStatus.STATUS_OK) - # check_sync should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - def test_sync_branch_on_diff_hash(self): - """Test expect branch on diff hash --> status modified - - """ - stat = ExternalStatus() - self._repo._git_remote_verbose = self._git_remote_origin_upstream - self._repo._branch = 'feature-2' - self._repo._tag = '' - self._repo._git_current_hash = self._git_current_hash('abc123') - self._repo._git_revparse_commit = ( - self._git_revparse_commit('origin/feature-2', 0, 'def456')) - self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) - self.assertEqual(stat.sync_state, ExternalStatus.MODEL_MODIFIED) - # check_sync should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - def test_sync_branch_diff_remote(self): - """Test _determine_remote_name with a different remote - - """ - stat = ExternalStatus() - self._repo._git_remote_verbose = self._git_remote_origin_upstream - self._repo._branch = 'feature-2' - self._repo._tag = '' - self._repo._url = '/path/to/other/repo' - self._repo._git_current_hash = self._git_current_hash('abc123') - self._repo._git_revparse_commit = ( - self._git_revparse_commit('upstream/feature-2', 0, 'def456')) - self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) - # The test passes if _git_revparse_commit is called with the - # expected argument - - def test_sync_branch_diff_remote2(self): - """Test _determine_remote_name with a different remote - - """ - stat = ExternalStatus() - self._repo._git_remote_verbose = self._git_remote_origin_upstream - self._repo._branch = 'feature-2' - self._repo._tag = '' - self._repo._url = '/path/to/local/repo2' - self._repo._git_current_hash = self._git_current_hash('abc123') - self._repo._git_revparse_commit = ( - self._git_revparse_commit('other/feature-2', 0, 'def789')) - self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) - # The test passes if _git_revparse_commit is called with the - # expected argument - - def test_sync_branch_on_unknown_remote(self): - """Test expect branch, but remote is unknown --> status modified - - """ - stat = ExternalStatus() - self._repo._git_remote_verbose = self._git_remote_origin_upstream - self._repo._branch = 'feature-2' - self._repo._tag = '' - self._repo._url = '/path/to/unknown/repo' - self._repo._git_current_hash = self._git_current_hash('abc123') - self._repo._git_revparse_commit = ( - self._git_revparse_commit('unknown_remote/feature-2', 1, '')) - self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) - self.assertEqual(stat.sync_state, ExternalStatus.MODEL_MODIFIED) - # check_sync should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - def test_sync_branch_on_untracked_local(self): - """Test expect branch, on untracked branch in local repo --> status ok - - Setting the externals description to '.' indicates that the - user only wants to consider the current local repo state - without fetching from remotes. This is required to preserve - the current branch of a repository during an update. - - """ - stat = ExternalStatus() - self._repo._git_remote_verbose = self._git_remote_origin_upstream - self._repo._branch = 'feature3' - self._repo._tag = '' - self._repo._url = '.' - self._repo._git_current_hash = self._git_current_hash('abc123') - self._repo._git_revparse_commit = ( - self._git_revparse_commit('feature3', 0, 'abc123')) - self._repo._check_sync_logic(stat, self.TMP_FAKE_DIR) - self.assertEqual(stat.sync_state, ExternalStatus.STATUS_OK) - # check_sync should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - -class TestGitStatusPorcelain(unittest.TestCase): - """Test parsing of output from git status --porcelain=v1 -z - """ - # pylint: disable=C0103 - GIT_STATUS_PORCELAIN_V1_ALL = ( - r' D INSTALL\0MM Makefile\0M README.md\0R cmakelists.txt\0' - r'CMakeLists.txt\0D commit-message-template.txt\0A stuff.txt\0' - r'?? junk.txt') - - GIT_STATUS_PORCELAIN_CLEAN = r'' - - def test_porcelain_status_dirty(self): - """Verify that git status output is considered dirty when there are - listed files. - - """ - git_output = self.GIT_STATUS_PORCELAIN_V1_ALL - is_dirty = GitRepository._status_v1z_is_dirty(git_output) - self.assertTrue(is_dirty) - - def test_porcelain_status_clean(self): - """Verify that git status output is considered clean when there are no - listed files. - - """ - git_output = self.GIT_STATUS_PORCELAIN_CLEAN - is_dirty = GitRepository._status_v1z_is_dirty(git_output) - self.assertFalse(is_dirty) - - -class TestGitCreateRemoteName(unittest.TestCase): - """Test the create_remote_name method on the GitRepository class - """ - - def setUp(self): - """Common infrastructure for testing _create_remote_name - """ - self._rdata = {ExternalsDescription.PROTOCOL: 'git', - ExternalsDescription.REPO_URL: - 'empty', - ExternalsDescription.TAG: - 'very_useful_tag', - ExternalsDescription.BRANCH: EMPTY_STR, - ExternalsDescription.HASH: EMPTY_STR, } - self._repo = GitRepository('test', self._rdata) - - def test_remote_git_proto(self): - """Test remote with git protocol - """ - self._repo._url = 'git@git.github.com:very_nice_org/useful_repo' - remote_name = self._repo._create_remote_name() - self.assertEqual(remote_name, 'very_nice_org_useful_repo') - - def test_remote_https_proto(self): - """Test remote with git protocol - """ - self._repo._url = 'https://www.github.com/very_nice_org/useful_repo' - remote_name = self._repo._create_remote_name() - self.assertEqual(remote_name, 'very_nice_org_useful_repo') - - def test_remote_local_abs(self): - """Test remote with git protocol - """ - self._repo._url = '/path/to/local/repositories/useful_repo' - remote_name = self._repo._create_remote_name() - self.assertEqual(remote_name, 'repositories_useful_repo') - - def test_remote_local_rel(self): - """Test remote with git protocol - """ - os.environ['TEST_VAR'] = '/my/path/to/repos' - self._repo._url = '${TEST_VAR}/../../useful_repo' - remote_name = self._repo._create_remote_name() - self.assertEqual(remote_name, 'path_useful_repo') - del os.environ['TEST_VAR'] - - -class TestVerifyTag(unittest.TestCase): - """Test logic verifying that a tag exists and is unique - - """ - - def setUp(self): - """Setup reusable git repository object - """ - self._name = 'component' - rdata = {ExternalsDescription.PROTOCOL: 'git', - ExternalsDescription.REPO_URL: - '/path/to/local/repo', - ExternalsDescription.TAG: 'tag1', - } - - data = {self._name: - { - ExternalsDescription.REQUIRED: False, - ExternalsDescription.PATH: 'tmp', - ExternalsDescription.EXTERNALS: EMPTY_STR, - ExternalsDescription.REPO: rdata, - }, - } - - model = ExternalsDescriptionDict(data) - repo = model[self._name][ExternalsDescription.REPO] - self._repo = GitRepository('test', repo) - - @staticmethod - def _shell_true(url, remote=None): - _ = url - _ = remote - return 0 - - @staticmethod - def _shell_false(url, remote=None): - _ = url - _ = remote - return 1 - - @staticmethod - def _mock_function_true(ref): - _ = ref - return (TestValidRef._shell_true, '97ebc0e0deadc0de') - - @staticmethod - def _mock_function_false(ref): - _ = ref - return (TestValidRef._shell_false, '97ebc0e0deadc0de') - - def test_tag_not_tag_branch_commit(self): - """Verify a non-tag returns false - """ - self._repo._git_showref_tag = self._shell_false - self._repo._git_showref_branch = self._shell_false - self._repo._git_lsremote_branch = self._shell_false - self._repo._git_revparse_commit = self._mock_function_false - self._repo._tag = 'something' - remote_name = 'origin' - received, _ = self._repo._is_unique_tag(self._repo._tag, remote_name) - self.assertFalse(received) - - def test_tag_not_tag(self): - """Verify a non-tag, untracked remote returns false - """ - self._repo._git_showref_tag = self._shell_false - self._repo._git_showref_branch = self._shell_true - self._repo._git_lsremote_branch = self._shell_true - self._repo._git_revparse_commit = self._mock_function_false - self._repo._tag = 'tag1' - remote_name = 'origin' - received, _ = self._repo._is_unique_tag(self._repo._tag, remote_name) - self.assertFalse(received) - - def test_tag_indeterminant(self): - """Verify an indeterminant tag/branch returns false - """ - self._repo._git_showref_tag = self._shell_true - self._repo._git_showref_branch = self._shell_true - self._repo._git_lsremote_branch = self._shell_true - self._repo._git_revparse_commit = self._mock_function_true - self._repo._tag = 'something' - remote_name = 'origin' - received, _ = self._repo._is_unique_tag(self._repo._tag, remote_name) - self.assertFalse(received) - - def test_tag_is_unique(self): - """Verify a unique tag match returns true - """ - self._repo._git_showref_tag = self._shell_true - self._repo._git_showref_branch = self._shell_false - self._repo._git_lsremote_branch = self._shell_false - self._repo._git_revparse_commit = self._mock_function_true - self._repo._tag = 'tag1' - remote_name = 'origin' - received, _ = self._repo._is_unique_tag(self._repo._tag, remote_name) - self.assertTrue(received) - - def test_tag_is_not_hash(self): - """Verify a commit hash is not classified as a tag - """ - self._repo._git_showref_tag = self._shell_false - self._repo._git_showref_branch = self._shell_false - self._repo._git_lsremote_branch = self._shell_false - self._repo._git_revparse_commit = self._mock_function_true - self._repo._tag = '97ebc0e0' - remote_name = 'origin' - received, _ = self._repo._is_unique_tag(self._repo._tag, remote_name) - self.assertFalse(received) - - def test_hash_is_commit(self): - """Verify a commit hash is not classified as a tag - """ - self._repo._git_showref_tag = self._shell_false - self._repo._git_showref_branch = self._shell_false - self._repo._git_lsremote_branch = self._shell_false - self._repo._git_revparse_commit = self._mock_function_true - self._repo._tag = '97ebc0e0' - remote_name = 'origin' - received, _ = self._repo._is_unique_tag(self._repo._tag, remote_name) - self.assertFalse(received) - - -class TestValidRef(unittest.TestCase): - """Test logic verifying that a reference is a valid tag, branch or sha1 - - """ - - def setUp(self): - """Setup reusable git repository object - """ - self._name = 'component' - rdata = {ExternalsDescription.PROTOCOL: 'git', - ExternalsDescription.REPO_URL: - '/path/to/local/repo', - ExternalsDescription.TAG: 'tag1', - } - - data = {self._name: - { - ExternalsDescription.REQUIRED: False, - ExternalsDescription.PATH: 'tmp', - ExternalsDescription.EXTERNALS: EMPTY_STR, - ExternalsDescription.REPO: rdata, - }, - } - - model = ExternalsDescriptionDict(data) - repo = model[self._name][ExternalsDescription.REPO] - self._repo = GitRepository('test', repo) - - @staticmethod - def _shell_true(url, remote=None): - _ = url - _ = remote - return 0 - - @staticmethod - def _shell_false(url, remote=None): - _ = url - _ = remote - return 1 - - @staticmethod - def _mock_function_false(ref): - _ = ref - return (TestValidRef._shell_false, '') - - @staticmethod - def _mock_function_true(ref): - _ = ref - return (TestValidRef._shell_true, '') - - def test_valid_ref_is_invalid(self): - """Verify an invalid reference raises an exception - """ - self._repo._git_showref_tag = self._shell_false - self._repo._git_showref_branch = self._shell_false - self._repo._git_lsremote_branch = self._shell_false - self._repo._git_revparse_commit = self._mock_function_false - self._repo._tag = 'invalid_ref' - with self.assertRaises(RuntimeError): - self._repo._check_for_valid_ref(self._repo._tag) - - def test_valid_tag(self): - """Verify a valid tag return true - """ - self._repo._git_showref_tag = self._shell_true - self._repo._git_showref_branch = self._shell_false - self._repo._git_lsremote_branch = self._shell_false - self._repo._git_revparse_commit = self._mock_function_true - self._repo._tag = 'tag1' - received = self._repo._check_for_valid_ref(self._repo._tag) - self.assertTrue(received) - - def test_valid_branch(self): - """Verify a valid tag return true - """ - self._repo._git_showref_tag = self._shell_false - self._repo._git_showref_branch = self._shell_true - self._repo._git_lsremote_branch = self._shell_false - self._repo._git_revparse_commit = self._mock_function_true - self._repo._tag = 'tag1' - received = self._repo._check_for_valid_ref(self._repo._tag) - self.assertTrue(received) - - def test_valid_hash(self): - """Verify a valid hash return true - """ - def _mock_revparse_commit(ref): - _ = ref - return (0, '56cc0b539426eb26810af9e') - - self._repo._git_showref_tag = self._shell_false - self._repo._git_showref_branch = self._shell_false - self._repo._git_lsremote_branch = self._shell_false - self._repo._git_revparse_commit = _mock_revparse_commit - self._repo._hash = '56cc0b5394' - received = self._repo._check_for_valid_ref(self._repo._hash) - self.assertTrue(received) - - -if __name__ == '__main__': - unittest.main() diff --git a/manage_externals/test/test_unit_repository_svn.py b/manage_externals/test/test_unit_repository_svn.py deleted file mode 100644 index 7ff31c4218..0000000000 --- a/manage_externals/test/test_unit_repository_svn.py +++ /dev/null @@ -1,501 +0,0 @@ -#!/usr/bin/env python - -"""Unit test driver for checkout_externals - -Note: this script assume the path to the checkout_externals.py module is -already in the python path. - -""" - -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import unittest - -from manic.repository_svn import SvnRepository -from manic.externals_status import ExternalStatus -from manic.externals_description import ExternalsDescription -from manic.externals_description import ExternalsDescriptionDict -from manic.global_constants import EMPTY_STR - -# pylint: disable=W0212 - -SVN_INFO_MOSART = """Path: components/mosart -Working Copy Root Path: /Users/andreb/projects/ncar/git-conversion/clm-dev-experimental/components/mosart -URL: https://svn-ccsm-models.cgd.ucar.edu/mosart/trunk_tags/mosart1_0_26 -Relative URL: ^/mosart/trunk_tags/mosart1_0_26 -Repository Root: https://svn-ccsm-models.cgd.ucar.edu -Repository UUID: fe37f545-8307-0410-aea5-b40df96820b5 -Revision: 86711 -Node Kind: directory -Schedule: normal -Last Changed Author: erik -Last Changed Rev: 86031 -Last Changed Date: 2017-07-07 12:28:10 -0600 (Fri, 07 Jul 2017) -""" -SVN_INFO_CISM = """ -Path: components/cism -Working Copy Root Path: /Users/andreb/projects/ncar/git-conversion/clm-dev-experimental/components/cism -URL: https://svn-ccsm-models.cgd.ucar.edu/glc/trunk_tags/cism2_1_37 -Relative URL: ^/glc/trunk_tags/cism2_1_37 -Repository Root: https://svn-ccsm-models.cgd.ucar.edu -Repository UUID: fe37f545-8307-0410-aea5-b40df96820b5 -Revision: 86711 -Node Kind: directory -Schedule: normal -Last Changed Author: sacks -Last Changed Rev: 85704 -Last Changed Date: 2017-06-15 05:59:28 -0600 (Thu, 15 Jun 2017) -""" - - -class TestSvnRepositoryCheckURL(unittest.TestCase): - """Verify that the svn_check_url function is working as expected. - """ - - def setUp(self): - """Setup reusable svn repository object - """ - self._name = 'component' - rdata = {ExternalsDescription.PROTOCOL: 'svn', - ExternalsDescription.REPO_URL: - 'https://svn-ccsm-models.cgd.ucar.edu/', - ExternalsDescription.TAG: - 'mosart/trunk_tags/mosart1_0_26', - } - - data = {self._name: - { - ExternalsDescription.REQUIRED: False, - ExternalsDescription.PATH: 'junk', - ExternalsDescription.EXTERNALS: '', - ExternalsDescription.REPO: rdata, - }, - } - - model = ExternalsDescriptionDict(data) - repo = model[self._name][ExternalsDescription.REPO] - self._repo = SvnRepository('test', repo) - - def test_check_url_same(self): - """Test that we correctly identify that the correct URL. - """ - svn_output = SVN_INFO_MOSART - expected_url = self._repo.url() - result, current_version = \ - self._repo._check_url(svn_output, expected_url) - self.assertEqual(result, ExternalStatus.STATUS_OK) - self.assertEqual(current_version, 'mosart/trunk_tags/mosart1_0_26') - - def test_check_url_different(self): - """Test that we correctly reject an incorrect URL. - """ - svn_output = SVN_INFO_CISM - expected_url = self._repo.url() - result, current_version = \ - self._repo._check_url(svn_output, expected_url) - self.assertEqual(result, ExternalStatus.MODEL_MODIFIED) - self.assertEqual(current_version, 'glc/trunk_tags/cism2_1_37') - - def test_check_url_none(self): - """Test that we can handle an empty string for output, e.g. not an svn - repo. - - """ - svn_output = EMPTY_STR - expected_url = self._repo.url() - result, current_version = \ - self._repo._check_url(svn_output, expected_url) - self.assertEqual(result, ExternalStatus.UNKNOWN) - self.assertEqual(current_version, '') - - -class TestSvnRepositoryCheckSync(unittest.TestCase): - """Test whether the SvnRepository svn_check_sync functionality is - correct. - - """ - - def setUp(self): - """Setup reusable svn repository object - """ - self._name = "component" - rdata = {ExternalsDescription.PROTOCOL: 'svn', - ExternalsDescription.REPO_URL: - 'https://svn-ccsm-models.cgd.ucar.edu/', - ExternalsDescription.TAG: - 'mosart/trunk_tags/mosart1_0_26', - } - - data = {self._name: - { - ExternalsDescription.REQUIRED: False, - ExternalsDescription.PATH: 'junk', - ExternalsDescription.EXTERNALS: EMPTY_STR, - ExternalsDescription.REPO: rdata, - }, - } - - model = ExternalsDescriptionDict(data) - repo = model[self._name][ExternalsDescription.REPO] - self._repo = SvnRepository('test', repo) - - @staticmethod - def _svn_info_empty(*_): - """Return an empty info string. Simulates svn info failing. - """ - return '' - - @staticmethod - def _svn_info_synced(*_): - """Return an info sting that is synced with the setUp data - """ - return SVN_INFO_MOSART - - @staticmethod - def _svn_info_modified(*_): - """Return and info string that is modified from the setUp data - """ - return SVN_INFO_CISM - - def test_repo_dir_not_exist(self): - """Test that a directory that doesn't exist returns an error status - - Note: the Repository classes should be prevented from ever - working on an empty directory by the _Source object. - - """ - stat = ExternalStatus() - self._repo._check_sync(stat, 'junk') - self.assertEqual(stat.sync_state, ExternalStatus.STATUS_ERROR) - # check_dir should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - def test_repo_dir_exist_no_svn_info(self): - """Test that an empty info string returns an unknown status - """ - stat = ExternalStatus() - # Now we over-ride the _svn_info method on the repo to return - # a known value without requiring access to svn. - self._repo._svn_info = self._svn_info_empty - self._repo._check_sync(stat, '.') - self.assertEqual(stat.sync_state, ExternalStatus.UNKNOWN) - # check_dir should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - def test_repo_dir_synced(self): - """Test that a valid info string that is synced to the repo in the - externals description returns an ok status. - - """ - stat = ExternalStatus() - # Now we over-ride the _svn_info method on the repo to return - # a known value without requiring access to svn. - self._repo._svn_info = self._svn_info_synced - self._repo._check_sync(stat, '.') - self.assertEqual(stat.sync_state, ExternalStatus.STATUS_OK) - # check_dir should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - def test_repo_dir_modified(self): - """Test that a valid svn info string that is out of sync with the - externals description returns a modified status. - - """ - stat = ExternalStatus() - # Now we over-ride the _svn_info method on the repo to return - # a known value without requiring access to svn. - self._repo._svn_info = self._svn_info_modified - self._repo._check_sync(stat, '.') - self.assertEqual(stat.sync_state, ExternalStatus.MODEL_MODIFIED) - # check_dir should only modify the sync_state, not clean_state - self.assertEqual(stat.clean_state, ExternalStatus.DEFAULT) - - -class TestSVNStatusXML(unittest.TestCase): - """Test parsing of svn status xml output - """ - SVN_STATUS_XML_DIRTY_ALL = ''' - - - - - -sacks -2017-06-15T11:59:00.355419Z - - - - - - -sacks -2013-02-07T16:17:56.412878Z - - - - - - -sacks -2017-05-01T16:48:27.893741Z - - - - - - - - - - - - - - - - -''' - - SVN_STATUS_XML_DIRTY_MISSING = ''' - - - - - -sacks -2017-06-15T11:59:00.355419Z - - - - - - - - -''' - - SVN_STATUS_XML_DIRTY_MODIFIED = ''' - - - - - -sacks -2013-02-07T16:17:56.412878Z - - - - - - - - -''' - - SVN_STATUS_XML_DIRTY_DELETED = ''' - - - - - -sacks -2017-05-01T16:48:27.893741Z - - - - - - - - -''' - - SVN_STATUS_XML_DIRTY_UNVERSION = ''' - - - - - - - - - - - -''' - - SVN_STATUS_XML_DIRTY_ADDED = ''' - - - - - - - - - - - -''' - - SVN_STATUS_XML_CLEAN = ''' - - - - - - - - - - - -''' - - def test_xml_status_dirty_missing(self): - """Verify that svn status output is consindered dirty when there is a - missing file. - - """ - svn_output = self.SVN_STATUS_XML_DIRTY_MISSING - is_dirty = SvnRepository.xml_status_is_dirty( - svn_output) - self.assertTrue(is_dirty) - - def test_xml_status_dirty_modified(self): - """Verify that svn status output is consindered dirty when there is a - modified file. - """ - svn_output = self.SVN_STATUS_XML_DIRTY_MODIFIED - is_dirty = SvnRepository.xml_status_is_dirty( - svn_output) - self.assertTrue(is_dirty) - - def test_xml_status_dirty_deleted(self): - """Verify that svn status output is consindered dirty when there is a - deleted file. - """ - svn_output = self.SVN_STATUS_XML_DIRTY_DELETED - is_dirty = SvnRepository.xml_status_is_dirty( - svn_output) - self.assertTrue(is_dirty) - - def test_xml_status_dirty_unversion(self): - """Verify that svn status output ignores unversioned files when making - the clean/dirty decision. - - """ - svn_output = self.SVN_STATUS_XML_DIRTY_UNVERSION - is_dirty = SvnRepository.xml_status_is_dirty( - svn_output) - self.assertFalse(is_dirty) - - def test_xml_status_dirty_added(self): - """Verify that svn status output is consindered dirty when there is a - added file. - """ - svn_output = self.SVN_STATUS_XML_DIRTY_ADDED - is_dirty = SvnRepository.xml_status_is_dirty( - svn_output) - self.assertTrue(is_dirty) - - def test_xml_status_dirty_all(self): - """Verify that svn status output is consindered dirty when there are - multiple dirty files.. - - """ - svn_output = self.SVN_STATUS_XML_DIRTY_ALL - is_dirty = SvnRepository.xml_status_is_dirty( - svn_output) - self.assertTrue(is_dirty) - - def test_xml_status_dirty_clean(self): - """Verify that svn status output is consindered clean when there are - no 'dirty' files. This means accepting untracked and externals. - - """ - svn_output = self.SVN_STATUS_XML_CLEAN - is_dirty = SvnRepository.xml_status_is_dirty( - svn_output) - self.assertFalse(is_dirty) - - -if __name__ == '__main__': - unittest.main() diff --git a/manage_externals/test/test_unit_utils.py b/manage_externals/test/test_unit_utils.py deleted file mode 100644 index c994e58ebe..0000000000 --- a/manage_externals/test/test_unit_utils.py +++ /dev/null @@ -1,350 +0,0 @@ -#!/usr/bin/env python - -"""Unit test driver for checkout_externals - -Note: this script assume the path to the checkout_externals.py module is -already in the python path. - -""" - -from __future__ import absolute_import -from __future__ import unicode_literals -from __future__ import print_function - -import os -import unittest - -from manic.utils import last_n_lines, indent_string -from manic.utils import str_to_bool, execute_subprocess -from manic.utils import is_remote_url, split_remote_url, expand_local_url - - -class TestExecuteSubprocess(unittest.TestCase): - """Test the application logic of execute_subprocess wrapper - """ - - def test_exesub_return_stat_err(self): - """Test that execute_subprocess returns a status code when caller - requests and the executed subprocess fails. - - """ - cmd = ['false'] - status = execute_subprocess(cmd, status_to_caller=True) - self.assertEqual(status, 1) - - def test_exesub_return_stat_ok(self): - """Test that execute_subprocess returns a status code when caller - requests and the executed subprocess succeeds. - - """ - cmd = ['true'] - status = execute_subprocess(cmd, status_to_caller=True) - self.assertEqual(status, 0) - - def test_exesub_except_stat_err(self): - """Test that execute_subprocess raises an exception on error when - caller doesn't request return code - - """ - cmd = ['false'] - with self.assertRaises(RuntimeError): - execute_subprocess(cmd, status_to_caller=False) - - -class TestLastNLines(unittest.TestCase): - """Test the last_n_lines function. - - """ - - def test_last_n_lines_short(self): - """With a message with <= n lines, result of last_n_lines should - just be the original message. - - """ - mystr = """three -line -string -""" - - mystr_truncated = last_n_lines( - mystr, 3, truncation_message='[truncated]') - self.assertEqual(mystr, mystr_truncated) - - def test_last_n_lines_long(self): - """With a message with > n lines, result of last_n_lines should - be a truncated string. - - """ - mystr = """a -big -five -line -string -""" - expected = """[truncated] -five -line -string -""" - - mystr_truncated = last_n_lines( - mystr, 3, truncation_message='[truncated]') - self.assertEqual(expected, mystr_truncated) - - -class TestIndentStr(unittest.TestCase): - """Test the indent_string function. - - """ - - def test_indent_string_singleline(self): - """Test the indent_string function with a single-line string - - """ - mystr = 'foo' - result = indent_string(mystr, 4) - expected = ' foo' - self.assertEqual(expected, result) - - def test_indent_string_multiline(self): - """Test the indent_string function with a multi-line string - - """ - mystr = """hello -hi -goodbye -""" - result = indent_string(mystr, 2) - expected = """ hello - hi - goodbye -""" - self.assertEqual(expected, result) - - -class TestStrToBool(unittest.TestCase): - """Test the string to boolean conversion routine. - - """ - - def test_case_insensitive_true(self): - """Verify that case insensitive variants of 'true' returns the True - boolean. - - """ - values = ['true', 'TRUE', 'True', 'tRuE', 't', 'T', ] - for value in values: - received = str_to_bool(value) - self.assertTrue(received) - - def test_case_insensitive_false(self): - """Verify that case insensitive variants of 'false' returns the False - boolean. - - """ - values = ['false', 'FALSE', 'False', 'fAlSe', 'f', 'F', ] - for value in values: - received = str_to_bool(value) - self.assertFalse(received) - - def test_invalid_str_error(self): - """Verify that a non-true/false string generates a runtime error. - """ - values = ['not_true_or_false', 'A', '1', '0', - 'false_is_not_true', 'true_is_not_false'] - for value in values: - with self.assertRaises(RuntimeError): - str_to_bool(value) - - -class TestIsRemoteURL(unittest.TestCase): - """Crude url checking to determine if a url is local or remote. - - """ - - def test_url_remote_git(self): - """verify that a remote git url is identified. - """ - url = 'git@somewhere' - is_remote = is_remote_url(url) - self.assertTrue(is_remote) - - def test_url_remote_ssh(self): - """verify that a remote ssh url is identified. - """ - url = 'ssh://user@somewhere' - is_remote = is_remote_url(url) - self.assertTrue(is_remote) - - def test_url_remote_http(self): - """verify that a remote http url is identified. - """ - url = 'http://somewhere' - is_remote = is_remote_url(url) - self.assertTrue(is_remote) - - def test_url_remote_https(self): - """verify that a remote https url is identified. - """ - url = 'https://somewhere' - is_remote = is_remote_url(url) - self.assertTrue(is_remote) - - def test_url_local_user(self): - """verify that a local path with '~/path/to/repo' gets rejected - - """ - url = '~/path/to/repo' - is_remote = is_remote_url(url) - self.assertFalse(is_remote) - - def test_url_local_var_curly(self): - """verify that a local path with env var '${HOME}' gets rejected - """ - url = '${HOME}/path/to/repo' - is_remote = is_remote_url(url) - self.assertFalse(is_remote) - - def test_url_local_var(self): - """verify that a local path with an env var '$HOME' gets rejected - """ - url = '$HOME/path/to/repo' - is_remote = is_remote_url(url) - self.assertFalse(is_remote) - - def test_url_local_abs(self): - """verify that a local abs path gets rejected - """ - url = '/path/to/repo' - is_remote = is_remote_url(url) - self.assertFalse(is_remote) - - def test_url_local_rel(self): - """verify that a local relative path gets rejected - """ - url = '../../path/to/repo' - is_remote = is_remote_url(url) - self.assertFalse(is_remote) - - -class TestSplitRemoteURL(unittest.TestCase): - """Crude url checking to determine if a url is local or remote. - - """ - - def test_url_remote_git(self): - """verify that a remote git url is identified. - """ - url = 'git@somewhere.com:org/repo' - received = split_remote_url(url) - self.assertEqual(received, "org/repo") - - def test_url_remote_ssh(self): - """verify that a remote ssh url is identified. - """ - url = 'ssh://user@somewhere.com/path/to/repo' - received = split_remote_url(url) - self.assertEqual(received, 'somewhere.com/path/to/repo') - - def test_url_remote_http(self): - """verify that a remote http url is identified. - """ - url = 'http://somewhere.org/path/to/repo' - received = split_remote_url(url) - self.assertEqual(received, 'somewhere.org/path/to/repo') - - def test_url_remote_https(self): - """verify that a remote http url is identified. - """ - url = 'http://somewhere.gov/path/to/repo' - received = split_remote_url(url) - self.assertEqual(received, 'somewhere.gov/path/to/repo') - - def test_url_local_url_unchanged(self): - """verify that a local path is unchanged - - """ - url = '/path/to/repo' - received = split_remote_url(url) - self.assertEqual(received, url) - - -class TestExpandLocalURL(unittest.TestCase): - """Crude url checking to determine if a url is local or remote. - - Remote should be unmodified. - - Local, should perform user and variable expansion. - - """ - - def test_url_local_user1(self): - """verify that a local path with '~/path/to/repo' gets expanded to an - absolute path. - - NOTE(bja, 2017-11) we can't test for something like: - '~user/path/to/repo' because the user has to be in the local - machine password directory and we don't know a user name that - is valid on every system....? - - """ - field = 'test' - url = '~/path/to/repo' - received = expand_local_url(url, field) - print(received) - self.assertTrue(os.path.isabs(received)) - - def test_url_local_expand_curly(self): - """verify that a local path with '${HOME}' gets expanded to an absolute path. - """ - field = 'test' - url = '${HOME}/path/to/repo' - received = expand_local_url(url, field) - self.assertTrue(os.path.isabs(received)) - - def test_url_local_expand_var(self): - """verify that a local path with '$HOME' gets expanded to an absolute path. - """ - field = 'test' - url = '$HOME/path/to/repo' - received = expand_local_url(url, field) - self.assertTrue(os.path.isabs(received)) - - def test_url_local_env_missing(self): - """verify that a local path with env var that is missing gets left as-is - - """ - field = 'test' - url = '$TMP_VAR/path/to/repo' - received = expand_local_url(url, field) - print(received) - self.assertEqual(received, url) - - def test_url_local_expand_env(self): - """verify that a local path with another env var gets expanded to an - absolute path. - - """ - field = 'test' - os.environ['TMP_VAR'] = '/some/absolute' - url = '$TMP_VAR/path/to/repo' - received = expand_local_url(url, field) - del os.environ['TMP_VAR'] - print(received) - self.assertTrue(os.path.isabs(received)) - self.assertEqual(received, '/some/absolute/path/to/repo') - - def test_url_local_normalize_rel(self): - """verify that a local path with another env var gets expanded to an - absolute path. - - """ - field = 'test' - url = '/this/is/a/long/../path/to/a/repo' - received = expand_local_url(url, field) - print(received) - self.assertEqual(received, '/this/is/a/path/to/a/repo') - - -if __name__ == '__main__': - unittest.main() diff --git a/modulefiles/container_intel.lua b/modulefiles/container_intel.lua new file mode 100644 index 0000000000..fca6c26ef5 --- /dev/null +++ b/modulefiles/container_intel.lua @@ -0,0 +1,26 @@ +help([[ +Build environment for UPP in container +]]) + +prepend_path("MODULEPATH", "/opt/spack-stack/spack-stack-1.9.2/envs/unified-env/install/modulefiles/Core") + +stack_oneapi_ver=os.getenv("stack_oneapi_ver") or "2024.2.0" +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.13" +cmake_ver=os.getenv("cmake_ver") or "3.27.9" + +load(pathJoin("stack-oneapi", stack_oneapi_ver)) +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) +load(pathJoin("cmake", cmake_ver)) + +load("upp_common") + +setenv("CC", "mpiicx") +setenv("CXX", "mpiicpx") +setenv("FC", "mpiifort") +setenv("I_MPI_CC", "icx") +setenv("I_MPI_CXX", "icpx") +setenv("I_MPI_FC", "ifort") +setenv("I_MPI_F77", "ifort") +setenv("I_MPI_F90", "ifort") + +whatis("Description: UPP environment in container with Intel Compilers") diff --git a/modulefiles/derecho_intel.lua b/modulefiles/derecho_intel.lua new file mode 100644 index 0000000000..85d41d8e49 --- /dev/null +++ b/modulefiles/derecho_intel.lua @@ -0,0 +1,25 @@ +help([[ +Load environment to build UPP on derecho +]]) + +setenv("LMOD_TMOD_FIND_FIRST","yes") +prepend_path("MODULEPATH", "/lustre/desc1/scratch/epicufsrt/contrib/modulefiles_extra") +prepend_path("MODULEPATH", "/glade/work/epicufsrt/contrib/spack-stack/derecho/spack-stack-1.9.2/envs/ue-oneapi-2024.2.1/install/modulefiles/Core") + +stack_oneapi_ver=os.getenv("stack_oneapi_ver") or "2024.2.1" +load(pathJoin("stack-oneapi", stack_oneapi_ver)) + +stack_impi_ver=os.getenv("stack_cray_mpich_ver") or "8.1.29" +load(pathJoin("stack-cray-mpich", stack_cray_mpich_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.27.9" +load(pathJoin("cmake", cmake_ver)) + +load("upp_common") + +setenv("CC", "mpicc") +setenv("CXX", "mpic++") +setenv("FC", "mpifort") +setenv("F90", "mpifort") + +whatis("Description: UPP build environment") diff --git a/modulefiles/gaeac6_intel.lua b/modulefiles/gaeac6_intel.lua new file mode 100644 index 0000000000..87aa3d6f3b --- /dev/null +++ b/modulefiles/gaeac6_intel.lua @@ -0,0 +1,30 @@ +help([[ + This module loads libraries required for building and running UPP + on the NOAA RDHPC machine Gaea using Intel-2023.2.0. +]]) + +whatis([===[Loads libraries needed for building the UPP on Gaea ]===]) + +prepend_path("MODULEPATH", "/ncrc/proj/epic/spack-stack/c6/spack-stack-1.9.2/envs/ue-intel-2023.2.0/install/modulefiles/Core") +prepend_path("MODULEPATH", "/ncrc/proj/epic/spack-stack/c6/modulefiles") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2023.2.0" +load(pathJoin("stack-intel", stack_intel_ver)) + +stack_cray_mpich_ver=os.getenv("stack_cray_mpich_ver") or "8.1.30" +load(pathJoin("stack-cray-mpich", stack_cray_mpich_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.27.9" +load(pathJoin("cmake", cmake_ver)) + +load("upp_common") +load("zlib/1.2.13") + +unload("darshan-runtime") +unload("cray-libsci") + +setenv("CC","cc") +setenv("CXX","CC") +setenv("FC","ftn") + +setenv("CMAKE_Platform","gaea.intel") diff --git a/modulefiles/hera b/modulefiles/hera deleted file mode 100755 index af118011d2..0000000000 --- a/modulefiles/hera +++ /dev/null @@ -1,35 +0,0 @@ -#%Module###################################################################### -# Wen Meng 01/2021, Set up config. with the hpc-stack NCEPLIBS. -############################################################################## - -proc ModulesHelp { } { -puts stderr "Loads modules required for building upp" -} -module-whatis "Loads UPP prerequisites on Hera" - -module load cmake/3.16.1 - -module use /scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/modulefiles/stack -module load hpc/1.1.0 -module load hpc-intel/18.0.5.274 -module load hpc-impi/2018.0.4 - -module load jasper/2.0.22 -module load zlib/1.2.11 -module load png/1.6.35 - -module load hdf5/1.10.6 -module load netcdf/4.7.4 - -module load bacio/2.4.1 -module load crtm/2.3.0 -module load g2/3.4.1 -module load g2tmpl/1.10.0 -module load ip/3.3.3 -module load nemsio/2.5.2 -module load sfcio/1.4.1 -module load sigio/2.3.2 -module load sp/2.3.3 -module load w3nco/2.4.1 -module load w3emc/2.7.3 -module load wrf_io/1.1.1 diff --git a/modulefiles/hera_intel.lua b/modulefiles/hera_intel.lua new file mode 100644 index 0000000000..4ba9c9a030 --- /dev/null +++ b/modulefiles/hera_intel.lua @@ -0,0 +1,27 @@ +help([[ +Load environment to build UPP on hera +]]) + +prepend_path("MODULEPATH", "/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.2.1/install/modulefiles/Core") +prepend_path("MODULEPATH", "/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.2.1/install/modulefiles/intel-oneapi-mpi/2021.13-sbi3u54/gcc/13.3.0") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2024.2.1" +load(pathJoin("stack-oneapi", stack_intel_ver)) + +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.13" +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.27.9" +load(pathJoin("cmake", cmake_ver)) + +load("upp_common") +load("zlib/1.2.11") + +setenv("CC", "mpiicx") +setenv("CXX", "mpiicpx") +setenv("FC", "mpiifort") +setenv("I_MPI_CC", "icx") +setenv("I_MPI_CXX", "icpx") +setenv("I_MPI_F90", "ifort") + +whatis("Description: UPP build environment") diff --git a/modulefiles/hercules_intel.lua b/modulefiles/hercules_intel.lua new file mode 100644 index 0000000000..6a1781aff2 --- /dev/null +++ b/modulefiles/hercules_intel.lua @@ -0,0 +1,27 @@ +help([[ +Load environment to build UPP on hercules +]]) + +prepend_path("MODULEPATH", "/apps/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.1.0/install/modulefiles/Core") +prepend_path("MODULEPATH", "/apps/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.1.0/install/modulefiles/intel-oneapi-mpi/2021.13-sqiixt7/gcc/13.3.0") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2024.2.1" +load(pathJoin("stack-oneapi", stack_intel_ver)) + +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.13" +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.27.9" +load(pathJoin("cmake", cmake_ver)) + +python_ver=os.getenv("python_ver") or "3.11.7" +load(pathJoin("python", python_ver)) + +load("upp_common") +load("zlib/1.2.13") + +setenv("CC","mpiicc") +setenv("CXX","mpiicpc") +setenv("FC","mpiifort") + +whatis("Description: UPP build environment") diff --git a/modulefiles/jet b/modulefiles/jet deleted file mode 100755 index adafe445fe..0000000000 --- a/modulefiles/jet +++ /dev/null @@ -1,35 +0,0 @@ -#%Module###################################################################### -# Wen Meng 01/2021, Set up config. with the hpc-stack NCEPLIBS. -############################################################################## - -proc ModulesHelp { } { -puts stderr "Loads modules required for building upp" -} -module-whatis "Loads UPP prerequisites on Jet" - -module load cmake/3.16.1 - -module use /lfs4/HFIP/hfv3gfs/nwprod/hpc-stack/libs/modulefiles/stack -module load hpc/1.1.0 -module load hpc-intel/18.0.5.274 -module load hpc-impi/2018.4.274 - -module load jasper/2.0.22 -module load zlib/1.2.11 -module load png/1.6.35 - -module load hdf5/1.10.6 -module load netcdf/4.7.4 - -module load bacio/2.4.1 -module load crtm/2.3.0 -module load g2/3.4.1 -module load g2tmpl/1.10.0 -module load ip/3.3.3 -module load nemsio/2.5.2 -module load sfcio/1.4.1 -module load sigio/2.3.2 -module load sp/2.3.3 -module load w3nco/2.4.1 -module load w3emc/2.7.3 -module load wrf_io/1.1.1 diff --git a/modulefiles/jet_intel.lua b/modulefiles/jet_intel.lua new file mode 100644 index 0000000000..5d15fe6095 --- /dev/null +++ b/modulefiles/jet_intel.lua @@ -0,0 +1,45 @@ +help([[ +Load environment to build UPP on Jet +]]) + +prepend_path("MODULEPATH", "/contrib/spack-stack/spack-stack-1.8.0/envs/ue-intel-2021.5.0/install/modulefiles/Core/") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" +load(pathJoin("stack-intel", stack_intel_ver)) + +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.1" +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.27.9" +load(pathJoin("cmake", cmake_ver)) + +local ufs_modules = { + {["jasper"] = "2.0.32" }, + {["zlib-ng"] = "2.1.6" }, + {["libpng"] = "1.6.37" }, + {["hdf5"] = "1.14.3" }, + {["netcdf-c"] = "4.9.2" }, + {["netcdf-fortran"] = "4.6.1" }, + {["bacio"] = "2.4.1" }, + {["crtm"] = "2.4.0.1"}, + {["g2"] = "3.5.1" }, + {["g2tmpl"] = "1.13.0" }, + {["ip"] = "5.0.0" }, + {["w3emc"] = "2.10.0" }, + {["nemsio"] = "2.5.4" }, + {["sigio"] = "2.3.2" }, + {["wrf-io"] = "1.2.0" }, +} + +for i = 1, #ufs_modules do + for name, default_version in pairs(ufs_modules[i]) do + local env_version_name = string.gsub(name, "-", "_") .. "_ver" + load(pathJoin(name, os.getenv(env_version_name) or default_version)) + end +end + +setenv("CC","mpiicc") +setenv("CXX","mpiicpc") +setenv("FC","mpiifort") + +whatis("Description: UPP build environment") diff --git a/modulefiles/jet_intel_external_ifi.lua b/modulefiles/jet_intel_external_ifi.lua new file mode 100644 index 0000000000..4414a85c47 --- /dev/null +++ b/modulefiles/jet_intel_external_ifi.lua @@ -0,0 +1,6 @@ +help([[ +Load external libIFI for UPP on jet +]]) + +prepend_path("MODULEPATH", "/lfs5/BMC/ifi/modulefiles") +load("ifi/20241001-intel-2022.1.2") diff --git a/modulefiles/jet_intel_ifi_test_prereqs.lua b/modulefiles/jet_intel_ifi_test_prereqs.lua new file mode 100644 index 0000000000..4f6f079ffa --- /dev/null +++ b/modulefiles/jet_intel_ifi_test_prereqs.lua @@ -0,0 +1,6 @@ +help([[ +Load prerequisites for IFI's own internal test programs and its "fip2 lookalike." This is only needed with the internal IFI when building with -DBUILD_IFI_EXECUTABLES=ON (the -B option to compile_upp.sh). +]]) + + +load("netcdf-cxx4/4.3.1") diff --git a/modulefiles/noaacloud_intel.lua b/modulefiles/noaacloud_intel.lua new file mode 100644 index 0000000000..fe93c05c10 --- /dev/null +++ b/modulefiles/noaacloud_intel.lua @@ -0,0 +1,25 @@ +help([[ +Load environment to build UPP on NOAA Cloud +]]) + +prepend_path("MODULEPATH", "/contrib/spack-stack-rocky8/spack-stack-1.9.2/envs/ue-oneapi-2024.2.1/install/modulefiles/Core") +prepend_path("MODULEPATH", "/apps/modules/modulefiles") + +local gcc_ver=os.getenv("gcc_ver") or "13.2.0" +local stack_oneapi_ver=os.getenv("stack_oneapi_ver") or "2024.2.1" +local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.13" + +load(pathJoin("gnu", gcc_ver)) +load(pathJoin("stack-oneapi", stack_oneapi_ver)) +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.27.9" +load(pathJoin("cmake", cmake_ver)) + +load("upp_common") + +setenv("CC","/apps/oneapi/mpi/latest/bin/mpiicc") +setenv("CXX","/apps/oneapi/mpi/latest/bin/mpiicpc") +setenv("FC","/apps/oneapi/mpi/latest/bin/mpiifort") + +whatis("Description: UPP build environment") diff --git a/modulefiles/noaacloud_intelllvm.lua b/modulefiles/noaacloud_intelllvm.lua new file mode 100644 index 0000000000..69c10d196e --- /dev/null +++ b/modulefiles/noaacloud_intelllvm.lua @@ -0,0 +1,28 @@ +help([[ +Load environment to build UPP on NOAA Cloud with LLVM compilers +]]) + +prepend_path("MODULEPATH", "/contrib/spack-stack-rocky8/spack-stack-1.9.2/envs/ue-oneapi-2024.2.1/install/modulefiles/Core") +prepend_path("MODULEPATH", "/apps/modules/modulefiles") + +local gcc_ver=os.getenv("gcc_ver") or "13.2.0" +local stack_oneapi_ver=os.getenv("stack_oneapi_ver") or "2024.2.1" +local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.13" + +load(pathJoin("gnu", gcc_ver)) +load(pathJoin("stack-oneapi", stack_oneapi_ver)) +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.27.9" +load(pathJoin("cmake", cmake_ver)) + +load("upp_common") + +setenv("I_MPI_CC", "/apps/oneapi/compiler/2024.2/bin/icx") +setenv("I_MPI_CXX", "/apps/oneapi/compiler/2024.2/bin/icpx") +setenv("I_MPI_F90", "/apps/oneapi/compiler/2024.2/bin/ifort") +setenv("CC","/apps/oneapi/mpi/latest/bin/mpiicx") +setenv("CXX","/apps/oneapi/mpi/latest/bin/mpiicpx") +setenv("FC","/apps/oneapi/mpi/latest/bin/mpiifx") + +whatis("Description: UPP build environment") diff --git a/modulefiles/orion b/modulefiles/orion deleted file mode 100755 index 0fa59cec8e..0000000000 --- a/modulefiles/orion +++ /dev/null @@ -1,35 +0,0 @@ -#%Module###################################################################### -# Wen Meng 01/2021, Set up config. with the hpc-stack NCEPLIBS. -############################################################################## - -proc ModulesHelp { } { -puts stderr "Loads modules required for building upp" -} -module-whatis "Loads UPP prerequisites on Orion" - -module load cmake/3.17.3 - -module use /apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack -module load hpc/1.1.0 -module load hpc-intel/2018.4 -module load hpc-impi/2018.4 - -module load jasper/2.0.22 -module load zlib/1.2.11 -module load png/1.6.35 - -module load hdf5/1.10.6 -module load netcdf/4.7.4 - -module load bacio/2.4.1 -module load crtm/2.3.0 -module load g2/3.4.1 -module load g2tmpl/1.10.0 -module load ip/3.3.3 -module load nemsio/2.5.2 -module load sfcio/1.4.1 -module load sigio/2.3.2 -module load sp/2.3.3 -module load w3nco/2.4.1 -module load w3emc/2.7.3 -module load wrf_io/1.1.1 diff --git a/modulefiles/orion_intel.lua b/modulefiles/orion_intel.lua new file mode 100644 index 0000000000..9b89a4e026 --- /dev/null +++ b/modulefiles/orion_intel.lua @@ -0,0 +1,27 @@ +help([[ +Load environment to build UPP on orion +]]) + +prepend_path("MODULEPATH", "/apps/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.1.0/install/modulefiles/Core") +prepend_path("MODULEPATH", "/apps/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.1.0/install/modulefiles/intel-oneapi-mpi/2021.13-li242lf/gcc/12.2.0") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2024.2.1" +load(pathJoin("stack-oneapi", stack_intel_ver)) + +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.13" +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.27.9" +load(pathJoin("cmake", cmake_ver)) + +python_ver=os.getenv("python_ver") or "3.11.7" +load(pathJoin("python", python_ver)) + +load("upp_common") +load("zlib/1.2.13") + +setenv("CC","mpiicc") +setenv("CXX","mpiicpc") +setenv("FC","mpiifort") + +whatis("Description: UPP build environment") diff --git a/modulefiles/post/v8.0.0-cray-intel b/modulefiles/post/v8.0.0-cray-intel deleted file mode 100644 index 529fb6c6b0..0000000000 --- a/modulefiles/post/v8.0.0-cray-intel +++ /dev/null @@ -1,60 +0,0 @@ -#%Module###################################################################### -############################################################# -## Lin.Gan@noaa.gov -## EMC -## post v7.0.0 - Branch based on current trunk as of 20151106 -## Luna Cray with Intel -## Wen Meng 07/2018: set post to v8.0.0 for fv3gfs -############################################################# -proc ModulesHelp { } { -puts stderr "Set environment veriables for post" -puts stderr "This module initializes the users environment" -puts stderr "to build the post for production.\n" -} -module-whatis "post" - -set ver v8.0.0 - -module use -a /usrx/local/prod/modulefiles -module use -a /gpfs/hps/nco/ops/nwprod/lib/modulefiles -module load PrgEnv-intel -module rm intel -module load intel/18.1.163 -module rm NetCDF-intel-sandybridge/4.2 -module load craype-haswell -#module load craype/2.3.0 -module load cray-libsci/13.0.3 - -module load NetCDF-intel-sandybridge/4.7.4 -module load HDF5-parallel-intel-sandybridge/1.10.6 - -module load jasper-gnu-sandybridge/1.900.1 -module load png-gnu-sandybridge/1.2.49 -module load zlib-gnu-sandybridge/1.2.7 - -# Loading nceplibs modules -module load g2-intel/3.2.0 -module load g2tmpl-intel/1.6.0 -module load w3nco-intel/2.2.0 -module load bacio-intel/2.0.3 -module load gfsio-intel/1.1.0 -module load ip-intel/3.0.2 -module load sp-intel/2.0.3 -module load crtm-intel/2.3.0 -module load w3emc-intel/2.4.0 - -module load nemsio-intel/2.2.4 -module load sigio-intel/2.1.0 -module load sfcio-intel/1.0.0 -module load wrfio-intel/1.1.1 - -setenv myFC ftn -setenv OPENMP "-qopenmp" -setenv myFCFLAGS "-O2 -convert big_endian -traceback -g -fp-model source -fpp" -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" - -setenv mySFC ftn - - - diff --git a/modulefiles/post/v8.0.0-hera b/modulefiles/post/v8.0.0-hera deleted file mode 100644 index 72b80bc9ec..0000000000 --- a/modulefiles/post/v8.0.0-hera +++ /dev/null @@ -1,55 +0,0 @@ -#%Module###################################################################### -############################################################# -## Lin.Gan@noaa.gov -## EMC -## post v7.0.0 -## Wen Meng 07/2018: set post to v8.0.0 for fv3gfs -############################################################# -proc ModulesHelp { } { -puts stderr "Set environment veriables for post" -puts stderr "This module initializes the users environment" -puts stderr "to build the post for WCOSS production.\n" -} -module-whatis "post" - -set ver v8.0.0 - -# Loading Intel Compiler Suite -module load intel/18.0.5.274 -module load impi/2018.0.4 - -module use /scratch1/NCEPDEV/nems/emc.nemspara/soft/modulefiles -module load hdf5_parallel/1.10.6 -module load netcdf_parallel/4.7.4 - -module use -a /scratch2/NCEPDEV/nwprod/NCEPLIBS/modulefiles -module load jasper/1.900.1 -module load png/1.2.44 -module load z/1.2.11 - -# Loding nceplibs modules -module load g2/3.2.0 -module load g2tmpl/1.6.0 -module load w3nco/2.2.0 -module load bacio/2.0.3 -module load gfsio/1.1.0 -module load ip/3.0.2 -module load sp/2.0.3 -module load crtm/2.3.0 -module load w3emc/2.4.0 - -module load nemsio/2.2.4 -module load sigio/2.1.1 -module load sfcio/1.1.1 -module load wrfio/1.1.1 - -setenv myFC mpiifort -setenv OPENMP "-qopenmp" -setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -qopenmp -fpp" -# -#setenv myFCFLAGS "-O0 -convert big_endian -fp-model source -openmp -g -check all -ftrapuv -fp-stack-check -fstack-protector -heap-arrays -recursive -traceback" - -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" - -setenv mySFC ifort diff --git a/modulefiles/post/v8.0.0-jet b/modulefiles/post/v8.0.0-jet deleted file mode 100644 index b56a5c365b..0000000000 --- a/modulefiles/post/v8.0.0-jet +++ /dev/null @@ -1,52 +0,0 @@ -#%Module###################################################################### -############################################################# -## Lin.Gan@noaa.gov -## EMC -## post v7.0.0 -## Wen Meng 07/2018: set post to v8.0.0 for fv3gfs -############################################################# -proc ModulesHelp { } { -puts stderr "Set environment veriables for post" -puts stderr "This module initializes the users environment" -puts stderr "to build the post for WCOSS production.\n" -} -module-whatis "post" - -set ver v8.0.0 - -# Loading Intel Compiler Suite -module load intel/18.0.5.274 -module load impi/2018.4.274 - -# Loding nceplibs modules -module use /mnt/lfs4/HFIP/hfv3gfs/nwprod/NCEPLIBS/modulefiles -module load sigio/v2.1.0 -module load jasper/v1.900.1 -module load png/v1.2.44 -module load z/v1.2.6 -module load sfcio/v1.0.0 -module load nemsio/v2.2.3 -module load bacio/v2.0.2 -module load xmlparse/v2.0.0 -module load gfsio/v1.1.0 -module load ip/v3.0.1 -module load sp/v2.0.2 -module load w3emc/v2.4.0 -module load w3nco/v2.0.6 -module load crtm/v2.3.0 -module load g2/v3.1.0 -module load g2tmpl/v1.6.0 -module load wrfio/v1.1.1 -module load hdf5_parallel/1.10.6 -module load netcdf_parallel/4.7.4 - - -#setenv WRFPATH /mnt/lfs3/projects/hfv3gfs/nwprod/wrf_shared.v1.1.0/ -setenv myFC mpiifort -setenv OPENMP "-qopenmp" -setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -qopenmp -fpp" -# -#setenv myFCFLAGS "-O0 -convert big_endian -fp-model source -openmp -g -check all -ftrapuv -fp-stack-check -fstack-protector -heap-arrays -recursive -traceback" - -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" diff --git a/modulefiles/post/v8.0.0-odin b/modulefiles/post/v8.0.0-odin deleted file mode 100644 index cde6d1d3bc..0000000000 --- a/modulefiles/post/v8.0.0-odin +++ /dev/null @@ -1,87 +0,0 @@ -#%Module###################################################################### -############################################################# -## Lin.Gan@noaa.gov -## EMC -## post v7.0.0 -## Wen Meng 07/2018: set post to v8.0.0 for fv3gfs -############################################################# -proc ModulesHelp { } { -puts stderr "Set environment veriables for post" -puts stderr "This module initializes the users environment" -puts stderr "to build the post for WCOSS production.\n" -} -module-whatis "post" - -set ver v8.0.0 - -#module purge - -# Loading Intel Compiler Suite -module load PrgEnv-intel -module swap intel/19.0.5.281 -module load cray-mpich/7.7.10 -module load cray-libsci -module load cray-netcdf-hdf5parallel -module load cray-parallel-netcdf -module load cray-hdf5-parallel -module load gcc/6.1.0 -module load slurm - -# Loding nceplibs modules -module use -a /oldscratch/ywang/external/modulefiles -module load sigio/v2.0.1 -#module load jasper/v1.900.1 -#module load png/v1.2.44 -#module load z/v1.2.6 -module load sfcio/v1.0.0 -module load nemsio/v2.2.2 -module load bacio/v2.0.2 -#module load g2/v2.5.2 -#module load xmlparse/v2.0.0 -module load gfsio/v1.1.0 -module load ip/v3.0.0 -module load sp/v2.0.2 -module load w3emc/v2.3.0 -module load w3nco/v2.0.6 -module load crtm/v2.2.5 -module load g2/v3.1.0 -module load g2tmpl/v1.5.0 -module load wrfio/1.1.1 -#module load netcdf/3.6.3 -#module load netcdf/4.6.1 - -setenv NETCDF /opt/cray/pe/netcdf-hdf5parallel/4.6.3.2/INTEL/19.0 -setenv JASPER_LIB "-ljasper" -setenv PNG_LIB "-lpng" - -#setenv NCEPLIBS /mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib - -#module use /mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib/modulefiles -#module load g2tmpl-intel/1.5.0 - -#module use /mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib/wrf.post.lib/modulefiles -#module load wrf-io-v1.1.1 -# -#setenv WRFIO_LIB /mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib/wrf.post.lib/v1.1.1/lib/wrf_io/libwrfio_nf.a - - -#set dlib /mnt/lfs3/projects/hfv3gfs/gwv/ltmp2/lib/g2/v3.1.0/ -#set bname "G2" -# -### Export environment variables -#setenv ${bname}_SRC $dlib/src -#setenv ${bname}_INC4 $dlib/intel/include/g2_v3.1.0_4 -#setenv ${bname}_INCd $dlib/intel/include/g2_v3.1.0_d -#setenv ${bname}_LIB4 $dlib/intel/libg2_v3.1.0_4.a -#setenv ${bname}_LIBd $dlib/intel/libg2_v3.1.0_d.a -#setenv ${bname}_VER v3.1.0 - -#setenv WRFPATH /mnt/lfs3/projects/hfv3gfs/nwprod/wrf_shared.v1.1.0/ -setenv myFC ftn -setenv OPENMP "-qopenmp" -setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -qopenmp -fpp -target-cpu=x86-64" -# -#setenv myFCFLAGS "-O0 -convert big_endian -fp-model source -openmp -g -check all -ftrapuv -fp-stack-check -fstack-protector -heap-arrays -recursive -traceback" - -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" diff --git a/modulefiles/post/v8.0.0-orion b/modulefiles/post/v8.0.0-orion deleted file mode 100755 index cf78895264..0000000000 --- a/modulefiles/post/v8.0.0-orion +++ /dev/null @@ -1,56 +0,0 @@ -#%Module###################################################################### -############################################################# -## Lin.Gan@noaa.gov -## EMC -## post v7.0.0 -## Wen Meng 07/2018: set post to v8.0.0 for fv3gfs -############################################################# -proc ModulesHelp { } { -puts stderr "Set environment veriables for post" -puts stderr "This module initializes the users environment" -puts stderr "to build the post for WCOSS production.\n" -} -module-whatis "post" - -set ver v8.0.0 - -# Loading Intel Compiler Suite -module load intel/2018.4 -module load impi/2018.4 - -#module use /contrib/modulefiles -module use -a /apps/contrib/NCEPLIBS/orion/modulefiles - -module load netcdf_parallel/4.7.4 -module load hdf5_parallel/1.10.6 - -module load jasper/1.900.2 -module load png/1.2.44 -module load z/1.2.6 - -# Loding nceplibs modules -module load g2/3.2.0 -module load g2tmpl/1.6.0 -module load w3nco/2.2.0 -module load bacio/2.0.3 -module load gfsio/1.2.0 -module load ip/3.0.2 -module load sp/2.0.3 -module load crtm/2.3.0 -module load w3emc/2.4.0 - -module load nemsio/2.2.4 -module load sigio/2.2.0 -module load sfcio/1.2.0 -module load wrfio/1.1.1 - -setenv myFC mpiifort -setenv OPENMP "-qopenmp" -setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -qopenmp -fpp" -# -#setenv myFCFLAGS "-O0 -convert big_endian -fp-model source -qopenmp -g -check all -ftrapuv -fp-stack-check -fstack-protector -heap-arrays -recursive -traceback" - -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" - -setenv mySFC ifort diff --git a/modulefiles/post/v8.0.0-stampede b/modulefiles/post/v8.0.0-stampede deleted file mode 100644 index 95ad14a5cc..0000000000 --- a/modulefiles/post/v8.0.0-stampede +++ /dev/null @@ -1,54 +0,0 @@ -#%Module###################################################################### -############################################################# -## Lin.Gan@noaa.gov -## EMC -## post v7.0.0 -## Wen Meng 07/2018: set post to v8.0.0 for fv3gfs -############################################################# -proc ModulesHelp { } { -puts stderr "Set environment veriables for post" -puts stderr "This module initializes the users environment" -puts stderr "to build the post for WCOSS production.\n" -} -module-whatis "post" - -set ver v8.0.0 - -# Loading Intel Compiler Suite -module purge -module load intel/18.0.2 -module load impi/18.0.2 -module load parallel-netcdf/4.6.2 -module load phdf5/1.10.4 - -# Loding nceplibs modules -#module use -a /mnt/lfs3/projects/hfv3gfs/nwprod/lib/modulefiles -module use -a /work/00315/tg455890/stampede2/external/modulefiles -module load sigio/v2.1.0 -module load sfcio/v1.0.0 -module load nemsio/v2.2.3 -module load bacio/v2.0.2 -#module load g2/v2.5.2 -#module load xmlparse/v2.0.0 -module load gfsio/v1.1.0 -module load ip/v3.0.0 -module load sp/v2.0.2 -module load w3emc/v2.3.0 -module load w3nco/v2.0.6 -module load crtm/v2.2.3 -module load g2/v3.1.0 -module load g2tmpl/v1.6.0 -module load wrfio/1.1.1 - -setenv NETCDF /opt/apps/intel18/netcdf/4.6.2/x86_64 -setenv JASPER_LIB "-ljasper" -setenv PNG_LIB "-lpng" - -setenv myFC mpiifort -setenv OPENMP "-qopenmp" -setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -qopenmp -fpp" -# -#setenv myFCFLAGS "-O0 -convert big_endian -fp-model source -openmp -g -check all -ftrapuv -fp-stack-check -fstack-protector -heap-arrays -recursive -traceback" - -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" diff --git a/modulefiles/post/v8.0.0-wcoss b/modulefiles/post/v8.0.0-wcoss deleted file mode 100644 index 38cf2801bc..0000000000 --- a/modulefiles/post/v8.0.0-wcoss +++ /dev/null @@ -1,45 +0,0 @@ -#%Module###################################################################### -############################################################# -## Lin.Gan@noaa.gov -## EMC -## post v7.0.0 -## Wen Meng 07/2018: set post to v8.0.0 for fv3gfs -############################################################# -proc ModulesHelp { } { -puts stderr "Set environment veriables for post" -puts stderr "This module initializes the users environment" -puts stderr "to build the post for WCOSS production.\n" -} -module-whatis "post" - -set ver v8.0.0 - -# Loading Intel Compiler Suite -module load ics/15.0.3 -module load ibmpe/1.3.0.12 - -# Loding nceplibs modules -module load sigio/v2.1.0 -module load jasper/v1.900.1 -module load png/v1.2.44 -module load z/v1.2.6 -module load sfcio/v1.0.0 -module load nemsio/v2.2.2 -module load bacio/v2.0.1 -module load g2/v3.1.0 -module load xmlparse/v2.0.0 -module load gfsio/v1.1.0 -module load ip/v3.0.0 -module load sp/v2.0.2 -module load w3emc/v2.2.0 -module load w3nco/v2.0.6 -module load crtm/v2.2.4 -module load NetCDF/3.6.3 -module load g2tmpl/v1.5.0 - -setenv WRFPATH /nwprod/sorc/wrf_shared.v1.1.0 -setenv myFC mpiifort -setenv OPENMP "-openmp" -setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -openmp" -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" diff --git a/modulefiles/post/v8.0.0-wcoss_dell_p3 b/modulefiles/post/v8.0.0-wcoss_dell_p3 deleted file mode 100644 index 8056ecac59..0000000000 --- a/modulefiles/post/v8.0.0-wcoss_dell_p3 +++ /dev/null @@ -1,54 +0,0 @@ -#%Module###################################################################### -############################################################# -## post v7.0.0 - for WCOSS Dell -## Wen Meng 07/2018: set post to v8.0.0 for fv3gfs -############################################################# -proc ModulesHelp { } { -puts stderr "Set environment veriables for post" -puts stderr "This module initializes the users environment" -puts stderr "to build the post for production.\n" -} -module-whatis "post" - -set ver v8.0.0 - -module load ips/18.0.1.163 -module load impi/18.0.1 -#module load prod_util/1.1.0 - -module load NetCDF-parallel/4.7.4 -module load HDF5-parallel/1.10.6 - -module load jasper/1.900.1 -module load libpng/1.2.59 -module load zlib/1.2.11 - -# Loading nceplibs modules -module load g2/3.2.0 -module load g2tmpl/1.6.0 -module load w3nco/2.2.0 -module load bacio/2.0.3 -module load gfsio/1.1.0 -module load ip/3.0.2 -module load sp/2.0.3 -module load crtm/2.3.0 -module load w3emc/2.4.0 - -module load nemsio/2.2.4 -module load sigio/2.1.0 -module load sfcio/1.0.0 -module load wrfio/1.1.1 - -setenv myFC mpiifort -setenv OPENMP "-qopenmp" -setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -qopenmp -fpp" -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" -#setenv myFCFLAGS "-g -O0 -check -check noarg_temp_created -check nopointer -fp-stack-check -fstack-protector-all -fpe0 -debug -traceback -ftrapuv" -##setenv myCPPFLAGS "-O0 -g -ftrapuv -traceback" - - -setenv mySFC ifort - - - diff --git a/modulefiles/s4 b/modulefiles/s4 deleted file mode 100644 index 3147aa2944..0000000000 --- a/modulefiles/s4 +++ /dev/null @@ -1,34 +0,0 @@ -#%Module###################################################################### -# David Huber 06/2021, Set up config. with the hpc-stack NCEPLIBS. -############################################################################## - -proc ModulesHelp { } { -puts stderr "Loads modules required for building upp" -} -module-whatis "Loads UPP prerequisites on S4" - -module load license_intel/S4 -module use /data/prod/hpc-stack/modulefiles/stack -module load hpc/1.1.0 -module load hpc-intel/18.0.4 -module load hpc-impi/18.0.4 - -module load jasper/2.0.22 -module load zlib/1.2.11 -module load png/1.6.35 - -module load hdf5/1.10.6 -module load netcdf/4.7.4 - -module load bacio/2.4.1 -module load crtm/2.3.0 -module load g2/3.4.1 -module load g2tmpl/1.10.0 -module load ip/3.3.3 -module load nemsio/2.5.2 -module load sfcio/1.4.1 -module load sigio/2.3.2 -module load sp/2.3.3 -module load w3nco/2.4.1 -module load w3emc/2.7.3 -module load wrf_io/1.1.1 diff --git a/modulefiles/s4_intel.lua b/modulefiles/s4_intel.lua new file mode 100644 index 0000000000..ae37adc5cf --- /dev/null +++ b/modulefiles/s4_intel.lua @@ -0,0 +1,25 @@ +-- --------------------------------------------------------------------------- +-- David Huber 06/2021, Set up config. with the hpc-stack NCEPLIBS. +-- Innocent Souopgui 11/2023, Update to use spack-stack +-- David Huber 1/24, Update to use spack-stack v1.6.0 +-- --------------------------------------------------------------------------- + + +prepend_path("MODULEPATH", "/data/prod/jedi/spack-stack/spack-stack-1.6.0/envs/upp-addon-env/install/modulefiles/Core") + +local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" +local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.0" +local cmake_ver=os.getenv("cmake_ver") or "3.23.1" + +load(pathJoin("stack-intel", stack_intel_ver)) +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) +load(pathJoin("cmake", cmake_ver)) + +load("upp_common") + +setenv("CC","mpiicc") +setenv("CXX","mpiicpc") +setenv("FC","mpiifort") + +whatis("Description: UPP build environment") + diff --git a/modulefiles/upp/lib-cray-intel b/modulefiles/upp/lib-cray-intel deleted file mode 100755 index 0233f4be43..0000000000 --- a/modulefiles/upp/lib-cray-intel +++ /dev/null @@ -1,57 +0,0 @@ -#%Module###################################################################### -## Jun.Wang@noaa.gov: Started NCEPPOST lib v6.3.0 -## Wen.Meng@noaa.gov 10/2019: Upgraded to v8.0.0 -##_____________________________________________________ -proc ModulesHelp { } { -puts stderr "Set environment veriables for NCEPPOST" -puts stderr "This module initializes the enviro nment " -puts stderr "for the Intel Compiler Suite $version\n" -} -module-whatis " NCEPPOST lib whatis description" - -#set ver v6.3.0 -#set envir dev -#set NCEPLIB /nwprod/lib - -#set sys [uname sysname] - -#setenv COMPF_MP mpiifort -setenv myFC ftn -setenv myFCFLAGS "-O2 -convert big_endian -traceback -g -fp-model source -fpp" -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" -setenv ARCHV ar -setenv CPPC /lib/cpp -#setenv version v8.0.0 -# - -module purge - -module use -a /usrx/local/prod/modulefiles -module use -a /gpfs/hps/nco/ops/nwprod/lib/modulefiles - -# Loading Intel Compiler Suite -module load PrgEnv-intel -module rm intel -module load intel/18.1.163 -module load craype-haswell -#module load craype/2.3.0 - -module load jasper-gnu-sandybridge/1.900.1 -module load png-gnu-sandybridge/1.2.49 -module load zlib-gnu-sandybridge/1.2.7 - -# Loading nceplibs modules -module load g2-intel/3.2.0 -module load g2tmpl-intel/1.6.0 -#module load xmlparse/v2.0.0 -module load w3nco-intel/2.2.0 -module load bacio-intel/2.0.3 -module load gfsio-intel/1.1.0 -#module load sigio/2.1.0 -module load ip-intel/3.0.2 -module load sp-intel/2.0.3 -module load crtm-intel/2.3.0 -module load w3emc-intel/2.4.0 - - diff --git a/modulefiles/upp/lib-hera b/modulefiles/upp/lib-hera deleted file mode 100755 index 392989db4b..0000000000 --- a/modulefiles/upp/lib-hera +++ /dev/null @@ -1,52 +0,0 @@ -#%Module###################################################################### -## Jun.Wang@noaa.gov: Started NCEPPOST lib v6.3.0 -## Wen.Meng@noaa.gov 10/2019: Upgraded to v8.0.0 -##_____________________________________________________ -proc ModulesHelp { } { -puts stderr "Set environment veriables for NCEPPOST" -puts stderr "This module initializes the enviro nment " -puts stderr "for the Intel Compiler Suite $version\n" -} -module-whatis " NCEPPOST lib whatis description" - -#set ver v6.3.0 -#set envir dev -#set NCEPLIB /nwprod/lib - -#set sys [uname sysname] - -#setenv COMPF_MP mpiifort -setenv myFC mpiifort -setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -fpp" -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" -setenv ARCHV ar -setenv CPPC /lib/cpp -#setenv version v8.0.0 -# - -module purge - -# Loading Intel Compiler Suite -module load intel/18.0.5.274 -module load impi/2018.0.4 - -# Loading nceplibs modules -module use -a /scratch2/NCEPDEV/nwprod/NCEPLIBS/modulefiles -module load jasper/1.900.1 -module load png/1.2.44 -module load z/1.2.11 - -module load g2/3.2.0 -module load g2tmpl/1.6.0 -#module load xmlparse/v2.0.0 -module load w3nco/2.2.0 -module load bacio/2.0.3 -module load gfsio/1.1.0 -#module load sigio/2.1.1 -module load ip/3.0.2 -module load sp/2.0.3 -module load crtm/2.3.0 -module load w3emc/2.4.0 - - diff --git a/modulefiles/upp/lib-jet b/modulefiles/upp/lib-jet deleted file mode 100755 index c9d9cb0051..0000000000 --- a/modulefiles/upp/lib-jet +++ /dev/null @@ -1,52 +0,0 @@ -#%Module###################################################################### -## Jun.Wang@noaa.gov: Started NCEPPOST lib v6.3.0 -## Wen.Meng@noaa.gov 10/2019: Upgraded to v8.0.0 -##_____________________________________________________ -proc ModulesHelp { } { -puts stderr "Set environment veriables for NCEPPOST" -puts stderr "This module initializes the enviro nment " -puts stderr "for the Intel Compiler Suite $version\n" -} -module-whatis " NCEPPOST lib whatis description" - -#set ver v6.3.0 -#set envir dev -#set NCEPLIB /nwprod/lib - -#set sys [uname sysname] - -#setenv COMPF_MP mpiifort -setenv myFC mpiifort -setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -fpp" -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" -setenv ARCHV ar -setenv CPPC /lib/cpp -setenv version v8.0.0 -# - -module purge - -# Loading Intel Compiler Suite -module load intel/18.0.5.274 -module load impi/2018.4.274 - -# Loading nceplibs modules -module use /mnt/lfs4/HFIP/hfv3gfs/nwprod/NCEPLIBS/modulefiles -module load jasper/v1.900.1 -module load png/v1.2.44 -module load z/v1.2.6 -module load g2/v3.1.0 -module load g2tmpl/v1.6.0 -#module load xmlparse/v2.0.0 - -module load w3emc/v2.4.0 -module load w3nco/v2.0.6 -module load bacio/v2.0.2 -module load gfsio/v1.1.0 -#module load sigio/2.1.1 -module load ip/v3.0.1 -module load sp/v2.0.2 -module load crtm/v2.3.0 - - diff --git a/modulefiles/upp/lib-orion b/modulefiles/upp/lib-orion deleted file mode 100755 index 7459163bad..0000000000 --- a/modulefiles/upp/lib-orion +++ /dev/null @@ -1,53 +0,0 @@ -#%Module###################################################################### -## Jun.Wang@noaa.gov: Started NCEPPOST lib v6.3.0 -## Wen.Meng@noaa.gov 10/2019: Upgraded to v8.0.0 -##_____________________________________________________ -proc ModulesHelp { } { -puts stderr "Set environment veriables for NCEPPOST" -puts stderr "This module initializes the enviro nment " -puts stderr "for the Intel Compiler Suite $version\n" -} -module-whatis " NCEPPOST lib whatis description" - -#set ver v6.3.0 -#set envir dev -#set NCEPLIB /nwprod/lib - -#set sys [uname sysname] - -#setenv COMPF_MP mpiifort -setenv myFC mpiifort -setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -fpp" -#setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -qopenmp -fpp" -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" -setenv ARCHV ar -setenv CPPC /lib/cpp -#setenv version v8.0.0 -# - -module purge - -# Loading Intel Compiler Suite -module load intel/2018.4 -module load impi/2018.4 - -# Loading nceplibs modules -module use -a /apps/contrib/NCEPLIBS/orion/modulefiles -module load jasper/1.900.2 -module load png/1.2.44 -module load z/1.2.6 - -module load g2/3.2.0 -module load g2tmpl/1.6.0 -#module load xmlparse/v2.0.0 -module load w3nco/2.2.0 -module load bacio/2.0.3 -module load gfsio/1.2.0 -#module load sigio/2.1.0 -module load ip/3.0.2 -module load sp/2.0.3 -module load crtm/2.3.0 -module load w3emc/2.4.0 - - diff --git a/modulefiles/upp/lib-wcoss b/modulefiles/upp/lib-wcoss deleted file mode 100755 index 7fa2710b64..0000000000 --- a/modulefiles/upp/lib-wcoss +++ /dev/null @@ -1,54 +0,0 @@ -#%Module###################################################################### -## Jun.Wang@noaa.gov: Started NCEPPOST lib v6.3.0 -## Wen.Meng@noaa.gov 10/2019: Upgraded to v8.0.0 -##_____________________________________________________ -proc ModulesHelp { } { -puts stderr "Set environment veriables for NCEPPOST" -puts stderr "This module initializes the enviro nment " -puts stderr "for the Intel Compiler Suite $version\n" -} -module-whatis " NCEPPOST lib whatis description" - -#set ver v6.3.0 -#set envir dev -#set NCEPLIB /nwprod/lib - -#set sys [uname sysname] - -#setenv COMPF_MP mpiifort -setenv myFC mpiifort -setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -qopenmp -fpp" -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" -setenv ARCHV ar -setenv CPPC /lib/cpp -setenv version v8.0.0 -# - -module purge - -# Loading Intel Compiler Suite -module load ics/16.0.3 -module load ibmpe -#module load ics/15.0.3 -##module load ibmpe/1.3.0.12 -#module load prod_util/1.1.0 - -# Loading nceplibs modules -module load jasper/v1.900.1 -module load png/v1.2.44 -module load z/v1.2.6 -module load g2/v3.1.0 -module load g2tmpl/v1.5.0 -#module load xmlparse/v2.0.0 - -module load w3emc/v2.2.0 -module load w3nco/v2.0.6 -module load bacio/v2.0.1 -module load gfsio/v1.1.0 -#module load sigio/2.1.0 -module load ip/v3.0.1 -module load sp/v2.0.2 -module load crtm/v2.2.4 - - diff --git a/modulefiles/upp/lib-wcoss_dell_p3 b/modulefiles/upp/lib-wcoss_dell_p3 deleted file mode 100755 index 94eea42e45..0000000000 --- a/modulefiles/upp/lib-wcoss_dell_p3 +++ /dev/null @@ -1,53 +0,0 @@ -#%Module###################################################################### -## Jun.Wang@noaa.gov: Started NCEPPOST lib v6.3.0 -## Wen.Meng@noaa.gov 10/2019: Upgraded to v8.0.0 -##_____________________________________________________ -proc ModulesHelp { } { -puts stderr "Set environment veriables for NCEPPOST" -puts stderr "This module initializes the enviro nment " -puts stderr "for the Intel Compiler Suite $version\n" -} -module-whatis " NCEPPOST lib whatis description" - -#set ver v6.3.0 -#set envir dev -#set NCEPLIB /nwprod/lib - -#set sys [uname sysname] - -#setenv COMPF_MP mpiifort -setenv myFC mpiifort -setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -fpp" -#setenv myFCFLAGS "-O3 -convert big_endian -traceback -g -fp-model source -qopenmp -fpp" -setenv myCPP /lib/cpp -setenv myCPPFLAGS "-P" -setenv ARCHV ar -setenv CPPC /lib/cpp -#setenv version v8.0.0 -# - -module purge - -# Loading Intel Compiler Suite -module load ips/18.0.1.163 -module load impi/18.0.1 - -module load jasper/1.900.1 -module load libpng/1.2.59 -module load zlib/1.2.11 - - -# Loading nceplibs modules -module load g2/3.2.0 -module load g2tmpl/1.6.0 -#module load xmlparse/v2.0.0 -module load w3nco/2.2.0 -module load bacio/2.0.3 -module load gfsio/1.1.0 -#module load sigio/2.1.0 -module load ip/3.0.2 -module load sp/2.0.3 -module load crtm/2.3.0 -module load w3emc/2.4.0 - - diff --git a/modulefiles/upp_common.lua b/modulefiles/upp_common.lua new file mode 100644 index 0000000000..ef0f305732 --- /dev/null +++ b/modulefiles/upp_common.lua @@ -0,0 +1,28 @@ +whatis("Description: UPP build environment common libraries") + +help([[Load UFS Model common libraries]]) + +local ufs_modules = { + {["jasper"] = "2.0.32" }, + {["zlib"] = "1.2.13" }, + {["libpng"] = "1.6.37" }, + {["hdf5"] = "1.14.3" }, + {["netcdf-c"] = "4.9.2" }, + {["netcdf-fortran"] = "4.6.1" }, + {["bacio"] = "2.4.1" }, + {["crtm"] = "2.4.0.1"}, + {["g2"] = "3.5.1" }, + {["g2tmpl"] = "1.13.0" }, + {["ip"] = "5.1.0" }, + {["w3emc"] = "2.10.0" }, + {["nemsio"] = "2.5.4" }, + {["sigio"] = "2.3.3" }, + {["wrf-io"] = "1.2.0" }, +} + +for i = 1, #ufs_modules do + for name, default_version in pairs(ufs_modules[i]) do + local env_version_name = string.gsub(name, "-", "_") .. "_ver" + load(pathJoin(name, os.getenv(env_version_name) or default_version)) + end +end diff --git a/modulefiles/ursa_intel.lua b/modulefiles/ursa_intel.lua new file mode 100644 index 0000000000..6512daf3c7 --- /dev/null +++ b/modulefiles/ursa_intel.lua @@ -0,0 +1,28 @@ +help([[ +Load environment to build UPP on ursa +]]) + +prepend_path("MODULEPATH", "/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.2.1/install/modulefiles/Core") +prepend_path("MODULEPATH", "/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.2.1/install/modulefiles/intel-oneapi-mpi/2021.13-haww6b3/gcc/12.4.0") + +stack_oneapi_ver=os.getenv("stack_oneapi_ver") or "2024.2.1" +load(pathJoin("stack-oneapi", stack_oneapi_ver)) + +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.13" +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.27.9" +load(pathJoin("cmake", cmake_ver)) + +load("upp_common") + +setenv("CC", "mpiicx") +setenv("CXX", "mpiicpx") +setenv("FC", "mpiifort") +setenv("I_MPI_CC", "icx") +setenv("I_MPI_CXX", "icpx") +setenv("I_MPI_FC", "ifort") +setenv("I_MPI_F77", "ifort") +setenv("I_MPI_F90", "ifort") + +whatis("Description: UPP build environment") diff --git a/modulefiles/ursa_intel_external_ifi.lua b/modulefiles/ursa_intel_external_ifi.lua new file mode 100644 index 0000000000..042e5a78ef --- /dev/null +++ b/modulefiles/ursa_intel_external_ifi.lua @@ -0,0 +1,6 @@ +help([[ +Load external libIFI for UPP on ursa +]]) + +prepend_path("MODULEPATH", "/scratch4/BMC/ifi/soft/modulefiles") +load("ifi/20251110-oneapi-2024.2.1-ifort") diff --git a/modulefiles/ursa_intel_ifi_test_prereqs.lua b/modulefiles/ursa_intel_ifi_test_prereqs.lua new file mode 100644 index 0000000000..4f6f079ffa --- /dev/null +++ b/modulefiles/ursa_intel_ifi_test_prereqs.lua @@ -0,0 +1,6 @@ +help([[ +Load prerequisites for IFI's own internal test programs and its "fip2 lookalike." This is only needed with the internal IFI when building with -DBUILD_IFI_EXECUTABLES=ON (the -B option to compile_upp.sh). +]]) + + +load("netcdf-cxx4/4.3.1") diff --git a/modulefiles/ursa_intelllvm.lua b/modulefiles/ursa_intelllvm.lua new file mode 100644 index 0000000000..df18266103 --- /dev/null +++ b/modulefiles/ursa_intelllvm.lua @@ -0,0 +1,28 @@ +help([[ +Load environment to build UPP on ursa +]]) + +prepend_path("MODULEPATH", "/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.2.1/install/modulefiles/Core") +prepend_path("MODULEPATH", "/contrib/spack-stack/spack-stack-1.9.2/envs/ue-oneapi-2024.2.1/install/modulefiles/intel-oneapi-mpi/2021.13-haww6b3/gcc/12.4.0") + +stack_oneapi_ver=os.getenv("stack_oneapi_ver") or "2024.2.1" +load(pathJoin("stack-oneapi", stack_oneapi_ver)) + +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.13" +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.27.9" +load(pathJoin("cmake", cmake_ver)) + +load("upp_common") + +setenv("CC", "mpiicx") +setenv("CXX", "mpiicpx") +setenv("FC", "mpiifx") +setenv("I_MPI_CC", "icx") +setenv("I_MPI_CXX", "icpx") +setenv("I_MPI_FC", "ifx") +setenv("I_MPI_F90", "ifx") +setenv("I_MPI_F77", "ifx") + +whatis("Description: UPP build environment") diff --git a/modulefiles/ursa_intelllvm_external_ifi.lua b/modulefiles/ursa_intelllvm_external_ifi.lua new file mode 100644 index 0000000000..a595556a90 --- /dev/null +++ b/modulefiles/ursa_intelllvm_external_ifi.lua @@ -0,0 +1,6 @@ +help([[ +Load external libIFI for UPP on ursa +]]) + +prepend_path("MODULEPATH", "/scratch4/BMC/ifi/soft/modulefiles") +load("ifi/20251110-oneapi-2024.2.1-ifx") diff --git a/modulefiles/ursa_intelllvm_ifi_test_prereqs.lua b/modulefiles/ursa_intelllvm_ifi_test_prereqs.lua new file mode 100644 index 0000000000..4f6f079ffa --- /dev/null +++ b/modulefiles/ursa_intelllvm_ifi_test_prereqs.lua @@ -0,0 +1,6 @@ +help([[ +Load prerequisites for IFI's own internal test programs and its "fip2 lookalike." This is only needed with the internal IFI when building with -DBUILD_IFI_EXECUTABLES=ON (the -B option to compile_upp.sh). +]]) + + +load("netcdf-cxx4/4.3.1") diff --git a/modulefiles/wcoss2_a_intel.lua b/modulefiles/wcoss2_a_intel.lua new file mode 100644 index 0000000000..ebedbdd30c --- /dev/null +++ b/modulefiles/wcoss2_a_intel.lua @@ -0,0 +1,22 @@ +help([[ +Load environment to build UPP on WCOSS2 Acorn +]]) + +prepend_path("MODULEPATH", "/lfs/h1/emc/nceplibs/noscrub/spack-stack/spack-stack-1.6.0/envs/unified-env/install/modulefiles/Core") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2022.0.2.262" +load(pathJoin("stack-intel", stack_intel_ver)) + +stack_cray_ver=os.getenv("stack_cray_ver") or "8.1.9" +load(pathJoin("stack-cray-mpich", stack_cray_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.23.1" +load(pathJoin("cmake", cmake_ver)) + +load("upp_common") + +setenv("CC","cc") +setenv("CXX","CC") +setenv("FC","ftn") + +whatis("Description: UPP build environment") diff --git a/modulefiles/wcoss2_intel.lua b/modulefiles/wcoss2_intel.lua new file mode 100644 index 0000000000..c6383ad12f --- /dev/null +++ b/modulefiles/wcoss2_intel.lua @@ -0,0 +1,55 @@ +help([[ +Load environment to build post on WCOSS2 +]]) + +PrgEnv_intel_ver=os.getenv("PrgEnv_intel_ver") or "8.1.0" +intel_ver=os.getenv("intel_ver") or "19.1.3.304" +craype_ver=os.getenv("craype_ver") or "2.7.10" +cray_mpich_ver=os.getenv("cray_mpich_ver") or "8.1.9" +load(pathJoin("PrgEnv-intel", PrgEnv_intel_ver)) +load(pathJoin("intel", intel_ver)) +load(pathJoin("craype", craype_ver)) +load(pathJoin("cray-mpich", cray_mpich_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.20.2" +load(pathJoin("cmake", cmake_ver)) + +hdf5_ver=os.getenv("hdf5_ver") or "1.10.6" +netcdf_ver=os.getenv("netcdf_ver") or "4.7.4" +load(pathJoin("hdf5", hdf5_ver)) +load(pathJoin("netcdf", netcdf_ver)) + +jasper_ver=os.getenv("jasper_ver") or "2.0.25" +libpng_ver=os.getenv("libpng_ver") or "1.6.37" +zlib_ver=os.getenv("zlib_ver") or "1.2.11" +load(pathJoin("jasper", jasper_ver)) +load(pathJoin("libpng", libpng_ver)) +load(pathJoin("zlib", zlib_ver)) + +g2_ver=os.getenv("g2_ver") or "3.5.1" +g2tmpl_ver=os.getenv("g2tmpl_ver") or "1.17.0" +bacio_ver=os.getenv("bacio_ver") or "2.4.1" +ip_ver=os.getenv("ip_ver") or "4.0.0" +sp_ver=os.getenv("sp_ver") or "2.3.3" +crtm_ver=os.getenv("crtm_ver") or "2.4.0.1" +w3emc_ver=os.getenv("w3emc_ver") or "2.12.0" +load(pathJoin("g2", g2_ver)) +load(pathJoin("g2tmpl", g2tmpl_ver)) +load(pathJoin("bacio", bacio_ver)) +load(pathJoin("ip", ip_ver)) +load(pathJoin("sp", sp_ver)) +load(pathJoin("crtm", crtm_ver)) +load(pathJoin("w3emc", w3emc_ver)) + +nemsio_ver=os.getenv("nemsio_ver") or "2.5.2" +sigio_ver=os.getenv("sigio_ver") or "2.3.2" +wrf_io_ver=os.getenv("wrf_io_ver") or "1.2.0" +load(pathJoin("nemsio", nemsio_ver)) +load(pathJoin("sigio", sigio_ver)) +load(pathJoin("wrf_io", wrf_io_ver)) + +setenv("CC","cc") +setenv("CXX","CC") +setenv("FC","ftn") + +whatis("Description: post build environment") diff --git a/modulefiles/wcoss_cray b/modulefiles/wcoss_cray deleted file mode 100755 index 72457d598e..0000000000 --- a/modulefiles/wcoss_cray +++ /dev/null @@ -1,41 +0,0 @@ -#%Module###################################################################### -# Wen Meng 01/2021, Set up config. with the hpc-stack NCEPLIBS. -############################################################################## - -proc ModulesHelp { } { -puts stderr "Loads modules required for building upp" -} -module-whatis "Loads UPP prerequisites on WCOSS Luna and Surge" - -module load cmake/3.16.2 - -module use /usrx/local/nceplibs/NCEPLIBS/cmake/install/NCEPLIBS-v1.3.0/modules -module load PrgEnv-intel -module rm intel -module load intel/18.1.163 -module rm NetCDF-intel-sandybridge/4.2 -module load xt-lsfhpc/9.1.3 -module load craype-haswell - -module use /usrx/local/dev/modulefiles -module load HDF5-parallel-intel-sandybridge/1.10.6 -module load NetCDF-intel-sandybridge/4.7.4 - -module load jasper-gnu-sandybridge/1.900.1 -module load zlib-intel-sandybridge/1.2.7 -module load png-intel-sandybridge/1.2.49 -setenv PNG_ROOT /usrx/local/prod//png/1.2.49/intel/sandybridge - -module use /usrx/local/nceplibs/NCEPLIBS/cmake/install/NCEPLIBS-v1.3.0/modules -module load bacio/2.4.1 -module load crtm/2.3.0 -module load g2/3.4.1 -module load g2tmpl/1.10.0 -module load ip/3.3.3 -module load nemsio/2.5.2 -module load sfcio/1.4.1 -module load sigio/2.3.2 -module load sp/2.3.3 -module load w3nco/2.4.1 -module load w3emc/2.7.3 -module load wrf_io/1.1.1 diff --git a/modulefiles/wcoss_dell_p3 b/modulefiles/wcoss_dell_p3 deleted file mode 100755 index c6692ecfa4..0000000000 --- a/modulefiles/wcoss_dell_p3 +++ /dev/null @@ -1,35 +0,0 @@ -#%Module###################################################################### -# Wen Meng 01/2021, Set up config. with the hpc-stack NCEPLIBS. -############################################################################## - -proc ModulesHelp { } { -puts stderr "Loads modules required for building upp" -} -module-whatis "Loads UPP prerequisites on WCOSS Venus and Mars" - -module load cmake/3.16.2 - -module use /usrx/local/nceplibs/dev/hpc-stack/libs/hpc-stack/modulefiles/stack -module load hpc/1.1.0 -module load hpc-ips/18.0.1.163 -module load hpc-impi/18.0.1 - -module load jasper/2.0.22 -module load zlib/1.2.11 -module load png/1.6.35 - -module load hdf5/1.10.6 -module load netcdf/4.7.4 - -module load bacio/2.4.1 -module load crtm/2.3.0 -module load g2/3.4.1 -module load g2tmpl/1.10.0 -module load ip/3.3.3 -module load nemsio/2.5.2 -module load sfcio/1.4.1 -module load sigio/2.3.2 -module load sp/2.3.3 -module load w3nco/2.4.1 -module load w3emc/2.7.3 -module load wrf_io/1.1.1 diff --git a/parm/3drtma_postcntrl.xml b/parm/3drtma/3drtma_postcntrl.xml similarity index 96% rename from parm/3drtma_postcntrl.xml rename to parm/3drtma/3drtma_postcntrl.xml index 7a2e662707..b54a51dc22 100755 --- a/parm/3drtma_postcntrl.xml +++ b/parm/3drtma/3drtma_postcntrl.xml @@ -478,12 +478,12 @@ - GSD_MAX_COLMAX_GRAUPEL_HAIL_DIAMETER + MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN 4.0 - GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER + MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL 4.0 @@ -633,7 +633,7 @@ - GSD_PRES_ON_CLOUD_BASE + GSD_EXP_CEILING 3.0 @@ -786,7 +786,7 @@ - MSTAV_ON_DEPTH_BEL_LAND_SFC + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC 3.0 @@ -848,22 +848,33 @@ - EFSH_ON_LFC + EFSH_ON_EFBL -1.0 - EFSH_ON_EQUIL_LVL + EFSH_ON_EFTL -1.0 - ELMELT_ON_EQUIL_LVL + ELMELT_ON_EFTL -1.0 - UESH_ON_LFC + DOWNWARD_CAPE + DCAPE + NCEP + spec_pres_above_grnd + 40000. + spec_pres_above_grnd + 0. + 4.0 + + + + UESH_ON_EFL -1.0 @@ -873,7 +884,7 @@ - VESH_ON_LFC + VESH_ON_EFL -1.0 @@ -883,47 +894,47 @@ - ESHR_ON_LFC + ESHR_ON_EFL -1.0 - UEID_ON_LFC + UEID_ON_EFL -1.0 - VEID_ON_LFC + VEID_ON_EFL -1.0 - E3KH_ON_LFC + E3KH_ON_EFL -1.0 - STPC_ON_LFC + STPC_ON_EFL -1.0 - SIGT_ON_LFC + SIGT_ON_EFL -1.0 - SCCP_ON_LFC + SCCP_ON_EFL -1.0 - SIGH_ON_LFC + SIGH_ON_EFL -1.0 - MLFC_ON_LFC + MLFC_ON_EFL -1.0 @@ -1190,7 +1201,7 @@ - GSD_NCCD_ON_HYBRID_LVL + NCCD_ON_HYBRID_LVL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. @@ -1198,7 +1209,7 @@ - GSD_NCIP_ON_HYBRID_LVL + NCIP_ON_HYBRID_LVL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. @@ -1206,7 +1217,7 @@ - GSD_NCRAIN_ON_HYBRID_LVL + NCRAIN_ON_HYBRID_LVL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. @@ -1214,7 +1225,7 @@ - GSD_NCWFA_ON_HYBRID_LVL + NCWFA_ON_HYBRID_LVL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. @@ -1222,7 +1233,7 @@ - GSD_NCIFA_ON_HYBRID_LVL + NCIFA_ON_HYBRID_LVL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. diff --git a/parm/postxconfig-NT-3drtma.txt b/parm/3drtma/postxconfig-NT-3drtma.txt similarity index 91% rename from parm/postxconfig-NT-3drtma.txt rename to parm/3drtma/postxconfig-NT-3drtma.txt index 117c58e78a..9d3055f055 100644 --- a/parm/postxconfig-NT-3drtma.txt +++ b/parm/3drtma/postxconfig-NT-3drtma.txt @@ -1,7 +1,7 @@ 3 21 16 -164 +160 WRFTWO 4 ncep_emc @@ -38,6 +38,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -47,6 +48,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -75,6 +80,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -84,6 +90,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -112,6 +122,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -121,6 +132,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -149,6 +164,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -158,6 +174,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -186,6 +206,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -195,6 +216,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -223,6 +248,7 @@ surface ? ? ? +? 0 0.0 0 @@ -232,6 +258,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -260,6 +290,7 @@ surface ? ? ? +? 0 0.0 0 @@ -269,6 +300,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -297,6 +332,7 @@ surface ? ? ? +? 0 0.0 0 @@ -306,6 +342,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -334,6 +374,7 @@ surface ? ? ? +? 0 0.0 0 @@ -343,6 +384,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -356,8 +401,8 @@ MAPS_PRMSL_ON_MEAN_SEA_LVL ? 1 tmpl4_0 -PRMSL -? +MSLMA +NCEP ? mean_sea_lvl 0 @@ -371,6 +416,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -380,6 +426,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -408,6 +458,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -417,6 +468,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -445,6 +500,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -454,6 +510,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -482,6 +542,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -491,6 +552,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -519,6 +584,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -528,6 +594,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -556,6 +626,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -565,6 +636,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -577,7 +652,7 @@ spec_hgt_lvl_above_grnd SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m ? 1 -tmpl4_0 +tmpl4_48 MASSDEN ? ? @@ -591,13 +666,18 @@ spec_hgt_lvl_above_grnd ? 0 ? +particulate_org_matter_dry ? +smaller_than_first_limit +7 +25 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -630,6 +710,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -639,6 +720,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -667,6 +752,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -676,6 +762,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -704,6 +794,7 @@ surface ? ? ? +? 0 0.0 0 @@ -713,6 +804,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -741,6 +836,7 @@ surface ? ? ? +? 0 0.0 0 @@ -750,6 +846,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -778,6 +878,7 @@ surface ? ? ? +? 0 0.0 0 @@ -787,6 +888,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -815,6 +920,7 @@ surface ? ? ? +? 0 0.0 0 @@ -824,6 +930,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -852,6 +962,7 @@ surface ? ? ? +? 0 0.0 0 @@ -861,6 +972,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -889,6 +1004,7 @@ surface ? ? ? +? 0 0.0 0 @@ -898,6 +1014,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -926,6 +1046,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -935,6 +1056,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -963,6 +1088,7 @@ isobaric_sfc 100000. ? ? +? 0 0.0 0 @@ -972,6 +1098,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1000,6 +1130,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1009,6 +1140,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -1037,6 +1172,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1046,6 +1182,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1074,6 +1214,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1083,6 +1224,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1111,6 +1256,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1120,6 +1266,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1148,6 +1298,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1157,6 +1308,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1185,6 +1340,7 @@ spec_hgt_lvl_above_grnd 3000. ? ? +? 0 0.0 0 @@ -1194,6 +1350,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1222,6 +1382,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1231,6 +1392,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1259,6 +1424,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1268,6 +1434,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1296,6 +1466,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1305,6 +1476,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1333,6 +1508,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1342,6 +1518,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1370,6 +1550,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -1379,6 +1560,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1407,6 +1592,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -1416,6 +1602,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1444,6 +1634,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1453,6 +1644,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1481,6 +1676,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1490,6 +1686,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -1518,6 +1718,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1527,6 +1728,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1555,6 +1760,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1564,6 +1770,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1592,6 +1802,7 @@ isothermal 256. ? ? +? 0 0.0 0 @@ -1601,6 +1812,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1629,6 +1844,7 @@ spec_hgt_lvl_above_grnd 3000. ? ? +? 0 0.0 0 @@ -1638,6 +1854,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1651,7 +1871,7 @@ CRITICAL_ANGLE ? 1 tmpl4_0 -DCAPE +CANGLE NCEP ? spec_hgt_lvl_above_grnd @@ -1666,6 +1886,7 @@ spec_hgt_lvl_above_grnd 500. ? ? +? 0 0.0 0 @@ -1675,6 +1896,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1703,6 +1928,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1712,6 +1938,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -1740,6 +1970,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1749,6 +1980,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -1777,6 +2012,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1786,6 +2022,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1814,6 +2054,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1823,6 +2064,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1851,6 +2096,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1860,6 +2106,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -1888,6 +2138,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1897,6 +2148,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -1925,6 +2180,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1934,6 +2190,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1962,6 +2222,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1971,6 +2232,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -1999,6 +2264,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2008,6 +2274,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -2036,6 +2306,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2045,6 +2316,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -2073,6 +2348,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2082,6 +2358,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -2110,6 +2390,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2119,6 +2400,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2147,6 +2432,7 @@ cloud_ceilng ? ? ? +? 0 0.0 0 @@ -2156,6 +2442,10 @@ cloud_ceilng 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -2184,48 +2474,16 @@ cloud_base ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 --3.0 -0 -0 -0 -? -? -? -409 -GSD_HGT_ON_CLOUD_TOP -GSD_geopotential height on cloud top -1 -tmpl4_0 -HGT -? -? -cloud_top -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -2258,6 +2516,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2267,6 +2526,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2295,6 +2558,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -2304,6 +2568,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2332,6 +2600,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2341,6 +2610,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2369,6 +2642,7 @@ isothermal ? ? ? +? 0 0.0 0 @@ -2378,6 +2652,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2406,6 +2684,7 @@ isothermal ? ? ? +? 0 0.0 0 @@ -2415,6 +2694,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2443,6 +2726,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2452,6 +2736,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.7 0 @@ -2480,6 +2768,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2489,6 +2778,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2517,6 +2810,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2526,6 +2820,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2554,6 +2852,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2563,6 +2862,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2591,6 +2894,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2600,6 +2904,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2628,6 +2936,7 @@ spec_hgt_lvl_above_grnd 2000. ? ? +? 0 0.0 0 @@ -2637,6 +2946,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2665,6 +2978,7 @@ spec_hgt_lvl_above_grnd 2000. ? ? +? 0 0.0 0 @@ -2674,6 +2988,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2702,6 +3020,7 @@ spec_hgt_lvl_above_grnd 0000. ? ? +? 0 0.0 0 @@ -2711,6 +3030,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2739,6 +3062,7 @@ spec_hgt_lvl_above_grnd 0000. ? ? +? 0 0.0 0 @@ -2748,6 +3072,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2776,6 +3104,7 @@ spec_hgt_lvl_above_grnd 0000. ? ? +? 0 0.0 0 @@ -2785,6 +3114,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2813,6 +3146,7 @@ spec_hgt_lvl_above_grnd 0000. ? ? +? 0 0.0 0 @@ -2822,6 +3156,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2850,6 +3188,7 @@ spec_hgt_lvl_above_grnd 0000. ? ? +? 0 0.0 0 @@ -2859,6 +3198,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -2887,6 +3230,7 @@ spec_hgt_lvl_above_grnd 0000. ? ? +? 0 0.0 0 @@ -2896,6 +3240,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -2905,7 +3253,7 @@ spec_hgt_lvl_above_grnd ? ? 794 -GSD_MAX_COLMAX_GRAUPEL_HAIL_DIAMETER +MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN ? 1 tmpl4_8 @@ -2924,6 +3272,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -2933,6 +3282,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2942,7 +3295,7 @@ entire_atmos ? ? 795 -GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER +MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL ? 1 tmpl4_8 @@ -2950,8 +3303,8 @@ HAIL ? MAX sigma_lvl -1 -1 +0 +? 1 1. ? @@ -2961,6 +3314,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -2970,6 +3324,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2998,6 +3356,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3007,6 +3366,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3035,6 +3398,7 @@ sigma_lvl 80. ? ? +? 0 0.0 0 @@ -3044,6 +3408,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3072,6 +3440,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -3081,6 +3450,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3109,6 +3482,7 @@ lvl_of_adiab_cond_from_sfc ? ? ? +? 0 0.0 0 @@ -3118,6 +3492,10 @@ lvl_of_adiab_cond_from_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -3146,6 +3524,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -3155,6 +3534,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3183,6 +3566,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -3192,6 +3576,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3220,6 +3608,7 @@ spec_hgt_lvl_above_grnd 1000. ? ? +? 0 0.0 0 @@ -3229,6 +3618,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3257,6 +3650,7 @@ spec_hgt_lvl_above_grnd 1000. ? ? +? 0 0.0 0 @@ -3266,6 +3660,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3294,6 +3692,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -3303,6 +3702,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3331,6 +3734,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -3340,6 +3744,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3368,6 +3776,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3377,6 +3786,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3405,6 +3818,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -3414,6 +3828,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3442,6 +3860,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -3451,6 +3870,10 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3479,6 +3902,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -3488,6 +3912,10 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3516,6 +3944,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -3525,6 +3954,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3553,6 +3986,7 @@ bound_lyr_cloud_lyr ? ? ? +? 0 0.0 0 @@ -3562,6 +3996,10 @@ bound_lyr_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3590,6 +4028,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3599,8 +4038,12 @@ surface 0.0 0 0.0 -1 -1.0 +0 +0.0 +0 +0.0 +1 +1.0 0 0 0 @@ -3627,85 +4070,16 @@ cloud_top ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -6.0 -0 -0 -0 -? -? -? -769 -GSD_VIL_ON_ENTIRE_ATMOS -? -1 -tmpl4_0 -VIL -NCEP -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -770 -GSD_RADARVIL_ON_ENTIRE_ATMOS -? -1 -tmpl4_0 -RADARVIL -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -3738,68 +4112,36 @@ equil_lvl ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 --1.0 -0 -0 -0 -? -? -? -702 -GSD_MAX_LTG_THREAT1_ON_ENTIRE_ATMOS -? -1 -tmpl4_0 -LTGTHREAT1 -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +-1.0 0 0 0 ? ? ? -703 -GSD_MAX_LTG_THREAT2_ON_ENTIRE_ATMOS +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS ? 1 -tmpl4_0 -LTGTHREAT2 -? -? +tmpl4_8 +LTNG +NCEP +MAX entire_atmos 0 ? @@ -3812,48 +4154,16 @@ entire_atmos ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -4.0 -0 -0 -0 -? -? -? -704 -GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS -? -1 -tmpl4_0 -LTNG -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -3886,6 +4196,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3895,6 +4206,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3923,6 +4238,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3932,6 +4248,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3941,14 +4261,14 @@ spec_hgt_lvl_above_grnd ? ? 487 -GSD_PRES_ON_CLOUD_BASE +GSD_EXP_CEILING ? 1 tmpl4_0 -PRES +CEIL ? ? -cloud_base +cloud_ceilng 0 ? 0 @@ -3960,6 +4280,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -3969,6 +4290,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3997,6 +4322,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -4006,6 +4332,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4034,6 +4364,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -4043,6 +4374,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -4071,6 +4406,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -4080,6 +4416,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -4108,6 +4448,7 @@ HGT ? ? ? +? 0 0.0 0 @@ -4117,6 +4458,10 @@ HGT 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4145,6 +4490,7 @@ RH ? ? ? +? 0 0.0 0 @@ -4154,6 +4500,10 @@ RH 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -4182,6 +4532,7 @@ PRES ? ? ? +? 0 0.0 0 @@ -4191,6 +4542,10 @@ PRES 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4219,6 +4574,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -4228,6 +4584,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4256,6 +4616,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -4265,6 +4626,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4293,6 +4658,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -4302,6 +4668,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -4330,6 +4700,7 @@ isothermal ? ? ? +? 0 0.0 0 @@ -4339,6 +4710,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4367,6 +4742,7 @@ isothermal ? ? ? +? 0 0.0 0 @@ -4376,6 +4752,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4404,6 +4784,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4413,6 +4794,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -4441,6 +4826,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4450,6 +4836,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4478,6 +4868,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4487,6 +4878,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4515,6 +4910,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4524,6 +4920,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -4552,6 +4952,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4561,6 +4962,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -4589,6 +4994,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4598,6 +5004,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4626,6 +5036,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4635,6 +5046,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4663,6 +5078,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -4672,6 +5088,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4700,6 +5120,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -4709,6 +5130,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4737,6 +5162,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4746,6 +5172,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4774,6 +5204,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4783,6 +5214,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4811,6 +5246,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4820,6 +5256,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4848,6 +5288,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4857,6 +5298,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -4885,6 +5330,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4894,6 +5340,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -4922,6 +5372,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4931,6 +5382,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -4959,6 +5414,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4968,6 +5424,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4996,6 +5456,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5005,6 +5466,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5018,7 +5483,7 @@ GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER 1 tmpl4_0 -RH_PWAT +RHPW NCEP ? entire_atmos @@ -5033,6 +5498,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -5042,6 +5508,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5051,7 +5521,7 @@ entire_atmos ? ? 171 -MSTAV_ON_DEPTH_BEL_LAND_SFC +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 @@ -5059,16 +5529,17 @@ MSTAV ? ? depth_bel_land_sfc -1 -2 0 ? -depth_bel_land_sfc -1 -2 0 ? ? +0 +? +0 +? +? +? ? 0 0.0 @@ -5079,6 +5550,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5107,6 +5582,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5116,6 +5592,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -5144,6 +5624,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5153,6 +5634,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -5181,6 +5666,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -5190,6 +5676,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5218,6 +5708,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -5227,6 +5718,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5255,6 +5750,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -5264,6 +5760,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5292,6 +5792,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -5301,6 +5802,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5329,6 +5834,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -5338,6 +5844,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5366,6 +5876,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -5375,6 +5886,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5403,6 +5918,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -5412,6 +5928,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -5424,7 +5944,7 @@ entire_atmos_single_lyr SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 -tmpl4_0 +tmpl4_48 COLMD ? ? @@ -5438,13 +5958,18 @@ entire_atmos_single_lyr ? 0 ? +particulate_org_matter_dry ? +smaller_than_first_limit +7 +25 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -5477,6 +6002,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5486,6 +6012,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5514,6 +6044,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -5523,6 +6054,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -5551,6 +6086,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -5560,6 +6096,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5569,7 +6109,7 @@ entire_atmos_single_lyr ? ? 979 -EFSH_ON_LFC +EFSH_ON_EFBL ? 1 tmpl4_0 @@ -5588,6 +6128,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -5597,6 +6138,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5606,7 +6151,7 @@ level_free_convection ? ? 980 -EFSH_ON_EQUIL_LVL +EFSH_ON_EFTL ? 1 tmpl4_0 @@ -5625,6 +6170,7 @@ equil_lvl ? ? ? +? 0 0.0 0 @@ -5634,6 +6180,10 @@ equil_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5643,7 +6193,7 @@ equil_lvl ? ? 982 -ELMELT_ON_EQUIL_LVL +ELMELT_ON_EFTL ? 1 tmpl4_0 @@ -5662,6 +6212,7 @@ equil_lvl ? ? ? +? 0 0.0 0 @@ -5671,6 +6222,10 @@ equil_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5679,8 +6234,50 @@ equil_lvl ? ? ? +954 +DOWNWARD_CAPE +? +1 +tmpl4_0 +DCAPE +NCEP +? +spec_pres_above_grnd +0 +? +1 +40000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? 983 -UESH_ON_LFC +UESH_ON_EFL ? 1 tmpl4_0 @@ -5699,6 +6296,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -5708,6 +6306,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5717,7 +6319,7 @@ level_free_convection ? ? 984 -VESH_ON_LFC +VESH_ON_EFL ? 1 tmpl4_0 @@ -5736,6 +6338,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -5745,6 +6348,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5754,7 +6361,7 @@ level_free_convection ? ? 985 -ESHR_ON_LFC +ESHR_ON_EFL ? 1 tmpl4_0 @@ -5773,6 +6380,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -5782,6 +6390,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5791,12 +6403,12 @@ level_free_convection ? ? 986 -UEID_ON_LFC +UEID_ON_EFL ? 1 tmpl4_0 UEID -? +NCEP ? level_free_convection 0 @@ -5810,6 +6422,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -5819,6 +6432,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5828,12 +6445,12 @@ level_free_convection ? ? 987 -VEID_ON_LFC +VEID_ON_EFL ? 1 tmpl4_0 VEID -? +NCEP ? level_free_convection 0 @@ -5847,6 +6464,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -5856,6 +6474,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5865,12 +6487,12 @@ level_free_convection ? ? 988 -E3KH_ON_LFC +E3KH_ON_EFL ? 1 tmpl4_0 E3KH -? +NCEP ? level_free_convection 0 @@ -5884,6 +6506,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -5893,6 +6516,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5902,12 +6529,12 @@ level_free_convection ? ? 989 -STPC_ON_LFC +STPC_ON_EFL ? 1 tmpl4_0 STPC -? +NCEP ? level_free_convection 0 @@ -5921,6 +6548,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -5930,6 +6558,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5939,12 +6571,12 @@ level_free_convection ? ? 990 -SIGT_ON_LFC +SIGT_ON_EFL ? 1 tmpl4_0 SIGT -? +NCEP ? level_free_convection 0 @@ -5958,6 +6590,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -5967,6 +6600,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5976,12 +6613,12 @@ level_free_convection ? ? 991 -SCCP_ON_LFC +SCCP_ON_EFL ? 1 tmpl4_0 SCCP -? +NCEP ? level_free_convection 0 @@ -5995,6 +6632,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -6004,6 +6642,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -6013,12 +6655,12 @@ level_free_convection ? ? 993 -SIGH_ON_LFC +SIGH_ON_EFL ? 1 tmpl4_0 SIGH -? +NCEP ? level_free_convection 0 @@ -6032,6 +6674,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -6041,6 +6684,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -6050,12 +6697,12 @@ level_free_convection ? ? 992 -MLFC_ON_LFC +MLFC_ON_EFL ? 1 tmpl4_0 MLFC -? +NCEP ? level_free_convection 0 @@ -6069,6 +6716,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -6078,6 +6726,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -6122,6 +6774,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6131,6 +6784,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -6159,6 +6816,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6168,6 +6826,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6196,6 +6858,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6205,6 +6868,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -6233,6 +6900,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6242,6 +6910,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6270,6 +6942,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6279,6 +6952,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6307,6 +6984,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6316,6 +6994,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -6344,6 +7026,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6353,6 +7036,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6381,6 +7068,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6390,6 +7078,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6418,6 +7110,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6427,6 +7120,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6455,6 +7152,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6464,6 +7162,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6492,6 +7194,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6501,6 +7204,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6529,6 +7236,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6538,6 +7246,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6566,6 +7278,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6575,6 +7288,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6603,6 +7320,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6612,6 +7330,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6640,6 +7362,7 @@ depth_bel_land_sfc 0. 1. 4. 10. 30. 60. 100. 160. 300. ? ? +? 0 0.0 0 @@ -6649,6 +7372,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6677,6 +7404,7 @@ depth_bel_land_sfc 0. 1. 4. 10. 30. 60. 100. 160. 300. ? ? +? 0 0.0 0 @@ -6686,6 +7414,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6730,6 +7462,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6739,6 +7472,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6767,6 +7504,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6776,6 +7514,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -6804,6 +7546,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6813,6 +7556,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6841,6 +7588,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6850,6 +7598,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6878,6 +7630,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6887,6 +7640,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6915,6 +7672,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6924,6 +7682,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6952,6 +7714,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6961,6 +7724,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -6989,6 +7756,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6998,6 +7766,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7026,6 +7798,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7035,6 +7808,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7063,6 +7840,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7072,6 +7850,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -7100,6 +7882,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7109,6 +7892,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7137,6 +7924,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7146,6 +7934,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7155,7 +7947,7 @@ hybrid_lvl ? ? 747 -GSD_NCCD_ON_HYBRID_LVL +NCCD_ON_HYBRID_LVL Number concentration for cloud water drops on hybrid level 1 tmpl4_0 @@ -7174,6 +7966,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7183,6 +7976,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7192,11 +7989,11 @@ hybrid_lvl ? ? 752 -GSD_NCIP_ON_HYBRID_LVL +NCIP_ON_HYBRID_LVL Number concentration for ice particles on hybrid level 1 tmpl4_0 -NCIP +NCCICE ? ? hybrid_lvl @@ -7211,6 +8008,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7220,6 +8018,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7229,11 +8031,11 @@ hybrid_lvl ? ? 754 -GSD_NCRAIN_ON_HYBRID_LVL +NCRAIN_ON_HYBRID_LVL ? 1 tmpl4_0 -NCRAIN +SPNCR ? ? hybrid_lvl @@ -7248,6 +8050,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7257,6 +8060,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -7266,7 +8073,7 @@ hybrid_lvl ? ? 766 -GSD_NCWFA_ON_HYBRID_LVL +NCWFA_ON_HYBRID_LVL ? 1 tmpl4_0 @@ -7285,6 +8092,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7294,6 +8102,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7303,7 +8115,7 @@ hybrid_lvl ? ? 767 -GSD_NCIFA_ON_HYBRID_LVL +NCIFA_ON_HYBRID_LVL ? 1 tmpl4_0 @@ -7322,6 +8134,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7331,6 +8144,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7359,6 +8176,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7368,6 +8186,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 0 @@ -7396,6 +8218,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7405,6 +8228,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7417,7 +8244,7 @@ hybrid_lvl SMOKE_ON_HYBRID_LVL ? 1 -tmpl4_0 +tmpl4_48 MASSDEN ? ? @@ -7431,13 +8258,18 @@ hybrid_lvl ? 0 ? +particulate_org_matter_dry ? +smaller_than_first_limit +7 +25 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -7470,6 +8302,7 @@ depth_bel_land_sfc 0. 1. ? ? +? 0 0.0 0 @@ -7479,6 +8312,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 diff --git a/parm/AEROSOL_LUTS.dat b/parm/AEROSOL_LUTS.dat deleted file mode 100644 index 4dbed94e9a..0000000000 --- a/parm/AEROSOL_LUTS.dat +++ /dev/null @@ -1,48 +0,0 @@ - DUST - 1.42682 0.47640 0.26472 0.14299 0.07634 - 1.54880 0.48951 0.26858 0.14436 0.07687 - 1.56869 0.48589 0.27580 0.14626 0.07757 - 1.51052 0.52072 0.27405 0.14719 0.07791 - 1.48868 0.53060 0.28820 0.14838 0.07852 - 1.24978 0.65361 0.30371 0.15381 0.08140 - 0.06626 0.12073 0.24975 0.22757 0.09871 - WASO - 6.95365417958075582 7.24641992787929912 7.71319956206827850 8.04421618832929930 8.38747273314250208 8.90884491223469688 9.25887253669420218 9.80660233540112181 10.1932309832050620 10.6012085590318410 11.2602863783392504 11.7248120059445622 12.4110714185025284 13.0813243802459063 13.5413114771418162 14.8057037896917940 16.2842577220688405 16.8662539521520038 17.1472194252387808 17.6962433584640131 17.9689710025388507 18.5232611191171692 19.1057284637560052 19.7345252519465930 20.4095446722916911 21.4833520736083941 22.5979995755973881 23.5453193944283790 25.0144262401890458 26.8623358915596313 28.8872530089628725 31.8372941553818798 35.8521076033191193 41.0692950426121541 50.2284753524293990 66.4392830727800714 - 4.77876314980394135 4.98280559499149778 5.30708320358948171 5.53473634565461037 5.77223863136763171 6.14891298883216653 6.41306880228492826 6.82572010073623137 7.11168694858342487 7.40752800739176198 7.87245424278331640 8.19837134303765502 8.71379198554942569 9.26122095162861214 9.64195567934716280 10.6300173345246005 11.6721624306463401 12.1143288896869397 12.3421398213326743 12.8121706202076329 13.0545503447370095 13.5536021908803761 14.0688228392827241 14.5934574456736890 15.1198480204776757 15.9091390812010527 16.7140703988238748 17.5600392119404596 18.7737750019804324 20.3563545930920391 21.9929819613072688 24.4606377914719637 27.8621540638699017 32.3852598835979819 40.1013942466857642 54.6438523904004398 - 2.81465117968658252 2.93994609616012292 3.13999909745638339 3.28134453243645741 3.42907122563267386 3.66307461260299982 3.82791726826673395 4.08956075961377064 4.27405135173784068 4.46672954017850721 4.77106047339733230 4.98424939062224315 5.32029009782702644 5.67739596607602515 5.92786305704020222 6.59715182909632070 7.32454370141614319 7.63185518726079248 7.78921319949429947 8.11164514661013492 8.27682549931793865 8.61541036813115113 8.96531922917365875 9.32697199311722613 9.70069825665712493 10.2842001413737147 10.8947548604358939 11.4934083744041722 12.3749600817282221 13.5420356097802355 14.7833052483771343 16.6615521695806024 19.3041107570437127 22.8659849195665146 29.1764810883319825 41.1250838801459651 - 2.07320809899851755 2.16691045629697854 2.31692273203594823 2.42363928572217668 2.53603617178851604 2.71579927772941510 2.84335811989083398 3.04655888573722766 3.19002207323091636 3.33994329185767169 3.57715020364120795 3.74374484241374628 4.00683571717709786 4.28637081120470587 4.48214551464622346 5.00582789561183361 5.58167136033043665 5.82770582298946671 5.95420277785414420 6.21419960865181498 6.34767981893684130 6.62153065872910496 6.90441705187756671 7.19625349302013806 7.49712058180933294 7.96595912544527174 8.45706550349301445 8.94428393690167134 9.66597069202672010 10.6303246172662273 11.6637698141043824 13.2243704749495894 15.4433419653181545 18.4919850679956568 23.9346431546424050 34.5089272790403285 - 1.07430773063881180 1.12700673804356932 1.21170321050154350 1.27217300019395729 1.33604311808526521 1.43858463786246005 1.51166654096065822 1.62872382864539533 1.71189287138760626 1.79928049547543734 1.93844647296858463 2.03671695927536955 2.19254292369560400 2.35873485848686082 2.47546515485728147 2.78902014215263616 3.13555869444726198 3.28403134780941963 3.36048008127227105 3.51794350566095382 3.59901446341156017 3.76598412016220507 3.93958420232381901 4.12004096928924746 4.30755588490143282 4.60238737099670736 4.91375653520080835 5.22078218663478921 5.68142532961659175 6.29974861962995991 6.96714659443446305 7.98920199519485497 9.46764762529156734 11.5429884219123888 15.3423437759598134 23.0558922123951540 - 0.213722388194731605 0.223280205387896502 0.238556881897035139 0.249414885524191832 0.260849668626220943 0.279156288848451895 0.292180296322677779 0.313033764420675320 0.327867816662327172 0.343491302934510745 0.368493315557332946 0.386265907753096382 0.414688989923006013 0.445365247767509742 0.467146790354721286 0.526625365071785478 0.593948241975051139 0.623270043334991253 0.638471975589965046 0.669996705889043809 0.686333868658231538 0.720195698005001828 0.755690278033062990 0.792877571038818285 0.831817658528007930 0.893641587539336091 0.959735654599010668 1.02523760888286875 1.12594422608772393 1.26398601548061773 1.41627403587547107 1.65489095457474522 2.00850876284355895 2.51947860413389968 3.50615044284508670 5.67994962686543303 - 0.201682846705259350E-01 0.231485508179932742E-01 0.279701313378905164E-01 0.314179252028876574E-01 0.350519947824977710E-01 0.408520862543428065E-01 0.449515638610318569E-01 0.514506353662458199E-01 0.560173687442381066E-01 0.607721287235075333E-01 0.682588828465568870E-01 0.734881107600695860E-01 0.816922441276246719E-01 0.903332050914343182E-01 0.963392231867294668E-01 0.112226277038954006 0.129383759353531441 0.136609869782230248 0.140301826655190170 0.147845048735804147 0.151696835484166653 0.159562444228432937 0.167645907977210268 0.175949745027062454 0.184476488575716330 0.197689945942346901 0.211419207069658083 0.225141613661943601 0.244925619687884483 0.271017615879326879 0.298662641091299419 0.340056939692625515 0.398067555068253476 0.476637424381224029 0.615709800772584193 0.884608143433609273 - SOOT - 20.3458984309628157 20.3458984309628157 20.3458984309628157 20.3458984309628157 20.3458984309628157 20.3458984309628157 20.3458984309628157 20.3458984309628157 20.3458984309628157 20.3458984309628157 20.3458984309628157 20.3458984309628157 20.5974678816527401 20.5974678816527401 21.1014135905510045 22.8965317088369709 25.3559022771572273 25.9360083269785626 26.5307418161822959 27.1411174530421775 27.7681385017536932 28.7419952307590556 29.4147983146114775 30.1074683183500689 30.8208807139629037 31.5558632897785678 32.7005801074362878 33.4930977867817390 34.7280702351051218 35.5833930160262071 37.3745018922230088 38.7910575305428438 40.7812895540395957 43.9941916417136270 48.1087955448663607 59.9450280505738178 - 14.4474057997393750 14.4474057997393750 14.4474057997393750 14.4474057997393750 14.4474057997393750 14.4474057997393750 14.4474057997393750 14.4474057997393750 14.4474057997393750 14.4474057997393750 14.4474057997393750 14.4474057997393750 14.6188373360548809 14.6188373360548809 14.9590684944068553 16.1404132373048199 17.7009971558734556 18.0623659076757299 18.4309000390489004 18.8073642852427838 19.1925100334301710 19.7880943269681069 20.1980704476193687 20.6191595538879362 21.0520214817788727 21.4972912806787591 22.1898173262522178 22.6687775793433950 23.4146064287483853 23.9308938689060078 25.0117589406941718 25.8669062465331372 27.0701488303574749 29.0193679282903858 31.5222068690630479 38.7987549813351507 - 9.64145574283153550 9.64145574283153550 9.64145574283153550 9.64145574283153550 9.64145574283153550 9.64145574283153550 9.64145574283153550 9.64145574283153550 9.64145574283153550 9.64145574283153550 9.64145574283153550 9.64145574283153550 9.75292198733094295 9.75292198733094295 9.97217691277088569 10.7140135830821794 11.6550169491703226 11.8680524428732816 12.0838379118116155 12.3029105868186406 12.5257955295744541 12.8683639139342585 13.1029307068355667 13.3429767661894552 13.5889468018954567 13.8412712151380113 14.2325861985167794 14.5026080488956293 14.9223624955226271 15.2125721762261641 15.8196112412357159 16.2996620511299106 16.9751094245162903 18.0699995914096014 19.4786326214522880 23.6093534569205303 - 7.85539323684310897 7.85539323684310897 7.85539323684310897 7.85539323684310897 7.85539323684310897 7.85539323684310897 7.85539323684310897 7.85539323684310897 7.85539323684310897 7.85539323684310897 7.85539323684310897 7.85539323684310897 7.94554328019460598 7.94554328019460598 8.12210576413819751 8.71174311955648228 9.44332036861301560 9.60676211213158204 9.77162222101179623 9.93834915098835836 10.1073761651321981 10.3661308481721033 10.5426790405021080 10.7228937974573970 10.9071370921869253 11.0957565265029565 11.3876276533090799 11.5886479679469723 11.9006410851050060 12.1160634768729718 12.5661277346713636 12.9216919040852893 13.4217150191255872 14.2321122057301253 15.2744165250312758 18.3404502144119803 - 5.46885212664217324 5.46885212664217324 5.46885212664217324 5.46885212664217324 5.46885212664217324 5.46885212664217324 5.46885212664217324 5.46885212664217324 5.46885212664217324 5.46885212664217324 5.46885212664217324 5.46885212664217324 5.53103936579333944 5.53103936579333944 5.65182993346001350 6.04485465818738188 6.50996576852630593 6.61073965169807387 6.71136285422044487 6.81215199619215106 6.91341082309947819 7.06680896939817771 7.17047534883337168 7.27555698196290290 7.38230277796077505 7.49094638720105266 7.65796825765773903 7.77233820841260403 7.94895929454338024 8.07037738035754337 8.32292959284699130 8.52161156582699419 8.80009229411269267 9.24994460451267386 9.82636389203121574 11.5263830328788330 - 2.55233388944551631 2.55233388944551631 2.55233388944551631 2.55233388944551631 2.55233388944551631 2.55233388944551631 2.55233388944551631 2.55233388944551631 2.55233388944551631 2.55233388944551631 2.55233388944551631 2.55233388944551631 2.58318240478167604 2.58318240478167604 2.64212355400617449 2.82339112575505480 3.01335239601707228 3.05079819446964828 3.08690527207011600 3.12182836253762463 3.15571409335642050 3.20489175947946370 3.23675569994636758 3.26801453381974483 3.29877483424668272 3.32913554497671349 3.37413015547193273 3.40388790537649921 3.44837039256088529 3.47803158290265557 3.53769061075327951 3.58299468868679494 3.64454747606160323 3.74029546169350402 3.85754809642559637 4.18992208562310608 - 0.322366427872824712 0.322366427872824712 0.322366427872824712 0.322366427872824712 0.322366427872824712 0.322366427872824712 0.322366427872824712 0.322366427872824712 0.322366427872824712 0.322366427872824712 0.322366427872824712 0.322366427872824712 0.333412689880626278 0.333412689880626278 0.355503217140374195 0.432028468062170157 0.526835866583459600 0.547269652727506495 0.567485464657737526 0.587497369072118358 0.607322472505886890 0.636752567650171297 0.656199062331914162 0.675532725406669421 0.694776921898176747 0.713955374458090319 0.742651199889495905 0.761767723215568848 0.790479105461250109 0.809676393091321112 0.848302472821372944 0.877554946101514188 0.917058465919502352 0.977673417174639070 1.05074907864128431 1.24377016235904758 - SUSO - 7.73572579964370277 8.34075228358300613 9.01843054478076844 9.79751192255766057 10.5668038450431023 11.2571430715062633 11.8239425193128280 12.7345316152455936 13.6974268246094599 14.4308882916876779 15.1815931237074206 16.2043494455105588 17.1058242867701225 18.0235459044880599 18.7161453364106194 19.8863004327282731 21.3968634520417318 21.6985560582317163 21.9846255902293422 21.9891212056452119 22.2840579909599228 22.5863666700304009 23.1559537045702264 23.4004411781540291 23.8444790446267305 24.0635568497462913 24.5142189301940938 25.0065298261789906 25.9136504127211076 26.6439008621698754 27.5418776301699140 28.4052742083143208 29.0888919461370357 30.9232785116788058 32.8270753193075180 36.2101966272504896 - 5.58870352535805459 6.14134009126379432 6.74032757558477069 7.39944792786393801 8.11610851858021043 8.87681971940059000 9.46046598391396998 10.2639225947680117 11.1268139087378799 12.0668474816472635 13.0569757010920284 14.0348987429021168 14.7626752051806065 15.7853286752236546 16.9175034673618363 18.4359336666454183 19.8324438416302868 20.0964959260659981 20.3607867238435780 20.6003967128486032 20.9007086896758061 21.2053169761689766 21.8265831743585004 22.1424462727291953 22.7801737324469649 23.0988025671160884 23.7269818589552699 24.3401866956062634 25.2521008113393002 25.8717119248929137 26.8372359072582753 28.1993982471659805 29.2315513988828890 30.8287540379629377 32.7588098872726690 36.6930526318043277 - 3.31208257256854033 3.69518346089845107 4.11907281381453583 4.58515943245521029 5.09162643571648932 5.63782289063027253 6.07563250264470867 6.69953762035854350 7.36946115657676781 8.08742451624337200 8.85799078009097940 9.67957983072200712 10.3247190246335361 11.2208930259796738 12.1614592397568391 13.4090295161738524 14.7479360529545200 15.0267694062862773 15.3089650078880393 15.5209700443171510 15.8050412246369483 16.0916134659926371 16.6721857820694304 16.9662094637554084 17.5617500677593590 17.8632320457202916 18.4735136114035789 19.0936715590558137 20.0440546484649467 20.6931485312331951 21.6938850065212350 23.0787424891797386 24.1449704043693387 25.9443696368569583 28.1447141724965739 32.4715625890506487 - 2.45815455638807379 2.76058198287953971 3.09289914508351682 3.45767199566597050 3.85858236048679970 4.29912131321652780 4.65654334809052539 5.16879690111376089 5.72128687133319769 6.31484177620773846 6.95112592210033942 7.63197071013268236 8.17356949525149901 8.93980962694413250 9.75724468197631012 10.8451894461956240 12.0013963208297465 12.2412610343018766 12.4842153659640971 12.6694467712108434 12.9183238950344528 13.1702927743304059 13.6836835323042436 13.9452233120635967 14.4783040800904867 14.7499217121086676 15.3033502458276107 15.8699904148572841 16.7427914775401554 17.3384471004514538 18.2515599531945014 19.5085230970519170 20.4843791754181126 22.1743868478358515 24.3013084580029997 28.4627924404353045 - 1.29901287165843637 1.47545490530867895 1.67133724612800894 1.88899675548520052 2.13112959180384065 2.40044860281994943 2.62164302775987146 2.94327802646039549 3.29581281029352802 3.67911720262229025 4.09321838318407405 4.53883733027599412 4.89461961588988181 5.39952376911958076 5.94198984258648011 6.67805813916620838 7.48376473764228933 7.65347644842571206 7.82602820334777149 7.95665926646256949 8.13317783253125626 8.31239243781415382 8.67881439852297021 8.86599028267401224 9.24821654541958793 9.44325452623917272 9.84118400147191430 10.2496420486625279 10.8823939645306620 11.3179201691379667 11.9924907335887685 12.9337031049226425 13.6728145784151938 14.9713069819444637 16.6394905440694671 19.9763650234174435 - 0.167409516149830712 0.197731603054742938 0.232370662376191500 0.271722841641483637 0.316206222895895395 0.366266961983515771 0.407762480420720719 0.468779332419672734 0.536830399556696314 0.612560038099454474 0.696685232604047355 0.790000394090817348 0.866534576447544946 0.978046089520018702 1.10124893908845234 1.27316024683033913 1.46666644514036459 1.50810945186471534 1.55049576207105444 1.58347550193027597 1.62743156068341444 1.67235512241390882 1.76514373626009458 1.81302976921906045 1.91183225568743120 1.96276599455067058 2.06774245178053029 2.17691531608393429 2.34867260536269340 2.46859028402797609 2.65671954520226450 2.92324539620188961 3.13515119801683895 3.51184626495672658 4.00416962020565936 5.02965601897440084 - 0.212020796826301094 0.228644281060053745 0.244764955347348351 0.260535184080874782 0.276104783554432853 0.291614003515112741 0.303283789791639447 0.318987767954026558 0.334953052912522142 0.351273879622565899 0.368034648271951981 0.385310609734331566 0.398646882487226184 0.416983806762272535 0.436007823667825367 0.460833876647007701 0.486909332547409868 0.492282036309823756 0.497708920701266433 0.501144711679387123 0.506653850491137758 0.512218838862184334 0.523518033212432621 0.529253669703291796 0.540899941944447904 0.546811888997097428 0.558815789152635634 0.571063710755086995 0.589902953238209182 0.602780478783930151 0.622584064938183523 0.649920665876327797 0.671139862525010011 0.707909734170114269 0.754426575807743860 0.846811343232356961 - SSAM - 1.06752472349387406 1.19195206167264556 1.32329331204740885 1.46165578588996969 1.60591164501471395 1.75883202452598542 1.91413435608354754 2.07829615231211084 2.24546841889416937 2.42259415401959588 2.60506675450091274 2.76205251822684650 2.91737960587738598 3.08511906966387928 3.25280745193237708 3.53306228928285071 3.89564397654379801 3.98798188286565525 4.11510179112188368 4.22491225164693063 4.33354420524222927 4.49929048167633372 4.63438526676583962 4.80692573576901871 4.98672127368952989 5.19416228860999496 5.46472632742539766 5.73690858944714144 6.12700088445917945 6.55358524384887353 7.14359058556611526 7.95779887213236758 8.97249127837569915 10.8275626629370265 13.6812271699719883 20.8637307903928217 - 1.11762428792719293 1.25027922113046364 1.38795099238840147 1.53234624165068012 1.68317184937072883 1.84184496261980857 2.00314354150542728 2.17410753627279263 2.35077046114086174 2.53099746758922040 2.72001767030090225 2.87870905824922474 3.04553992717473010 3.21164280452924533 3.38411802677624651 3.67362581966071389 4.04471935875301369 4.13663457258852052 4.26283356293795723 4.37623246220116169 4.49185347114254796 4.66704910053739308 4.80350988052929484 4.97945069423711928 5.16062132758588632 5.36479603622375567 5.63923497015814235 5.92007402233340851 6.31628556599462510 6.75047036924077482 7.34250156515718633 8.16510278743195705 9.19718990026888150 11.0736526222549916 13.9550274154437588 21.1825200357431846 - 1.15495766702490199 1.29286738845741800 1.43389870126813923 1.58539198257361846 1.74140029076388991 1.90350940181330031 2.07375844838462919 2.24937043880361465 2.43355487801370352 2.62158679710148323 2.81535896615360537 2.98120344427583417 3.15383280177859771 3.32583495121683148 3.50444024612120630 3.80216173406444469 4.18364911557473640 4.27703896459015187 4.40916643017984722 4.52270229283225067 4.63997427655493144 4.81771121077219533 4.95988077663223681 5.14274267606056590 5.32944331127784032 5.53983082881204414 5.81738030385171001 6.10070986003821325 6.50859616869541924 6.95361796869629334 7.55485346731113250 8.38462116609609964 9.42490594654864111 11.3206033309088614 14.2184527443237396 21.5274881808267793 - 1.17420459350052586 1.31429092604963027 1.46021592857928750 1.61473387405998037 1.77463975596332824 1.94450440957779680 2.11858746896895944 2.30160678969995836 2.48962865155613722 2.68655277628072442 2.88657760105098271 3.06013839633745244 3.23549027506309317 3.41446428309472871 3.59962933106735949 3.90788725527350378 4.30046048552591920 4.39912679503090320 4.53682364093145285 4.65521963926246674 4.77361227411573719 4.95428127471078739 5.09863709978088497 5.28602985245364110 5.47566499779021054 5.69065371783876905 5.97604369491338083 6.26807223479441067 6.67876484959032979 7.12957080096582185 7.74688748857868870 8.59391491106268823 9.65452860409103231 11.5737303446728621 14.4996872553940204 21.8651073845421529 - 1.16341825634200791 1.30453062055307267 1.45332420907625903 1.61164706255649604 1.77826802232482817 1.95520645935675907 2.13804838529939545 2.33167167298401878 2.53130674867843553 2.73897445752278923 2.95396033921173240 3.13781996748189007 3.32692942629274313 3.51901121393155014 3.71634582050886575 4.04420292209990961 4.46682209264906316 4.57124191310619921 4.71670438297291117 4.84463638761459858 4.97220113270746467 5.16678525581368397 5.32079162368569225 5.52017340004263346 5.72358558697362430 5.95340520603448109 6.25657890165080488 6.56591321074630851 7.00219597873421495 7.47724216540714437 8.12310321983982497 9.01007632894470945 10.1094887687462567 12.1005928137705947 15.1141984474292670 22.6124277846024029 - 0.850542497740520376 0.963531676365064205 1.08702054212222299 1.22314934474421144 1.37006679799842068 1.53009797963491412 1.70058011751709315 1.88427568900001030 2.07835153537148942 2.28521355143263083 2.50204960597486759 2.69113373617330476 2.88805064986491100 3.09051551437751559 3.30195866698938634 3.65698918972983877 4.12120231428539086 4.23672317120040809 4.39905383906991254 4.54207342104147216 4.68502114688764859 4.90466394142289897 5.08029996357436620 5.30813245331107808 5.54045422772420260 5.80354721322992351 6.15505163911014197 6.51483772326010779 7.02560219559214882 7.58227668511228003 8.34281227898696898 9.38867679658427789 10.6843031086437659 13.0228533522825725 16.5251326638610756 25.0055328100267005 - 0.379319405289432268E-01 0.474009128785672293E-01 0.582690851536895801E-01 0.707477457405628479E-01 0.846877274301258420E-01 0.100372616189898539 0.117602741321840260 0.136741574480606393 0.157578062343172204 0.180473185595800528 0.205222591500700685 0.227396344787277965 0.251085285670277047 0.276090790186262314 0.302869659108165490 0.349440074501666254 0.413258154853568205 0.429650989521735027 0.453029476930369379 0.473967846880595733 0.495206260623015204 0.528430458494429600 0.555518671441415535 0.591349682023237455 0.628686262746715463 0.671945064315547680 0.731330547713647583 0.794047223824564941 0.886388710863519558 0.991404914149952576 1.14219126555440909 1.36341332910182311 1.65916715995913711 2.25252981379264750 3.27893779380715999 6.38910020707367909 - SSCM - 0.125869266810770097 0.141453182578168885 0.157805797980257262 0.175033941194314729 0.193701851895998006 0.212728427594761960 0.232540631071664672 0.253750839107037884 0.275324954653966947 0.298679824922013615 0.322108281207751368 0.342428219392720501 0.362401874746908603 0.383729322849681753 0.406041760853680711 0.439171583828479373 0.491086870483313620 0.502516366143220594 0.519427832001526646 0.536399227519532174 0.553610504135837012 0.574542519160666454 0.595949730424371604 0.617170096706219806 0.640837573207283406 0.667900694768819969 0.701313388786581338 0.741748483723524199 0.787037075492192928 0.855111735471131507 0.937473977568148986 1.04374461192706347 1.20789102348751221 1.43558598458667741 1.86266376583972137 2.92609233748091802 - 0.127091572071696690 0.142962638599463149 0.159347849785229867 0.176938615451695286 0.195106262391263441 0.214896154205906659 0.235105722553685725 0.255962529521689741 0.277955403484675290 0.301117573830336271 0.324907792630637626 0.344544488751518441 0.365515068087176320 0.386792748386105167 0.409030334035137555 0.443372532166940059 0.494076645588274077 0.505396024276818068 0.522268896090353985 0.539578833745610109 0.557015096140068278 0.578316203108769522 0.599935307697641362 0.621622511103607556 0.645503313300218928 0.672646883135617601 0.705738484100528418 0.746132294126002571 0.791226312688044553 0.860147177698365129 0.943986127097541261 1.05007996841125983 1.21401750551943888 1.44244440621341385 1.86976639858564497 2.93800773359822953 - 0.128540477510595913 0.144246936807339021 0.161078485740117711 0.178829846715355012 0.197340728836021523 0.216436745194234337 0.236588181899360345 0.258171109114283093 0.280699899149008281 0.302733394044153004 0.327141391996478292 0.347596163207954778 0.368621736970011271 0.389321823736384631 0.411347264869540707 0.445242233432438572 0.497531175830104200 0.508789099154173252 0.526049990098927722 0.543558270147257550 0.561979688275131450 0.582584845753011504 0.603989573525340218 0.625114699767973292 0.648983478511497291 0.676529988686326855 0.709341518314981379 0.750022630741431384 0.794917901620877720 0.864319805909321226 0.947732481714168462 1.05477282559057750 1.22002014369075740 1.44912952809552653 1.87749316848179104 2.94746635773441179 - 0.129774013242834108 0.145689000500837551 0.162341962681829516 0.180224589357953963 0.198852177679475411 0.217836971851140260 0.238725242994310138 0.259506178196177384 0.282207175756181927 0.305844677583285651 0.329017170039359819 0.349511607061973595 0.370485073398055587 0.392285639361166949 0.414776290640526069 0.448267971103775476 0.500005745072380603 0.510954275667804825 0.528892040381959361 0.546154452310059324 0.564023513214114591 0.585265762968212422 0.606530649036707836 0.628665782933003681 0.652476103302367494 0.680169671394330710 0.713375388143107303 0.754613721533222481 0.801028680079185929 0.869216867830644668 0.952154997406187364 1.05969975233150016 1.22492053715792459 1.45466699797739341 1.88383262278200436 2.95689049227012202 - 0.132164557580452424 0.148345957397215900 0.165463214040986129 0.183381854944635769 0.201905546080905662 0.221468419089159291 0.242442913683451333 0.264137529648130753 0.286334575997992224 0.309913503740561758 0.334295195121565136 0.354159939864664042 0.375258456079184788 0.397101382065286668 0.419528483142905195 0.454059796783347125 0.506663119793842043 0.518074051496487997 0.535040529598149961 0.552658464825970475 0.570570379356731938 0.591743626657501243 0.613520702000423857 0.635066623104789674 0.659359020268325047 0.687538262433656011 0.720742933849475076 0.761847844946856534 0.807668808072829036 0.877674938146477901 0.961842862243840968 1.06963725762539763 1.23663440975818584 1.46827179614286552 1.89982147252202460 2.97631869499282908 - 0.141613338481914597 0.158512159218063470 0.176270762841781864 0.195081461924109689 0.214495121352230755 0.234896610635428882 0.256363303364200934 0.278859699845656117 0.301798705189123662 0.325785319554818431 0.350785818983704367 0.371904755683146682 0.393701415641244445 0.415621412512173383 0.438881681673562674 0.473635572632049417 0.527382338648485938 0.539129122295844310 0.557154566612307334 0.575061867615799138 0.593390636251647119 0.614656015282626700 0.636851083192393808 0.659181732016765110 0.683957334889307988 0.712423421958256586 0.746793797170480333 0.788837835180481561 0.835565440214116717 0.906425810075333516 0.992032959979212148 1.10127116872010911 1.27090953140868024 1.50542139069383851 1.94570904679462209 3.03816496300399086 - 0.131624286434046084 0.141957485916819920 0.153051216178342608 0.165088286543692536 0.178148815747598416 0.192333169471309795 0.207683984617633044 0.224272876811386718 0.242114297240513032 0.261173093151750579 0.281547746994618930 0.299096708132233602 0.317576643497855748 0.336843978707409453 0.357059666007865872 0.388578620423822407 0.438083523198435743 0.449024225817597544 0.465820273821084041 0.482923105053552626 0.500530326622557142 0.521404898333381772 0.542967159379191489 0.564917686979288569 0.589188868987162828 0.617377623691580224 0.651546531299895704 0.693844664771241515 0.741608116342248658 0.814646195420932862 0.903859313605317904 1.01998089481547849 1.20137086684937966 1.45559404956313032 1.93753864955654143 3.14684799733170451 diff --git a/parm/CMakeLists.txt b/parm/CMakeLists.txt deleted file mode 100644 index 64e8bd8fc0..0000000000 --- a/parm/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -list(APPEND parmfiles - postxconfig-NT-GFS.txt - postxconfig-NT-GFS-F00.txt) - -install(FILES ${parmfiles} DESTINATION share) diff --git a/parm/EMC_POST_Avblflds_Schema.xsd b/parm/EMC_POST_Avblflds_Schema.xsd index 9f3e9a8060..ad4b5ef731 100644 --- a/parm/EMC_POST_Avblflds_Schema.xsd +++ b/parm/EMC_POST_Avblflds_Schema.xsd @@ -24,8 +24,11 @@ + + + diff --git a/parm/POST-XML-Library-NT.pl b/parm/POST-XML-Library-NT.pl index baeb1c19b3..0a58ec62c6 100755 --- a/parm/POST-XML-Library-NT.pl +++ b/parm/POST-XML-Library-NT.pl @@ -93,6 +93,7 @@ scale_fact_fixed_sfc2_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../scale_fact_fixed_sfc2/text()', level2_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../level2/text()', aerosol_type_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../aerosol_type/text()', + prob_type_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../prob_type/text()', typ_intvl_size_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../typ_intvl_size/text()', scale_fact_1st_size_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../scale_fact_1st_size/text()', scale_val_1st_size_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../scale_val_1st_size/text()', @@ -103,6 +104,10 @@ scale_val_1st_wvlen_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../scale_val_1st_wvlen/text()', scale_fact_2nd_wvlen_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../scale_fact_2nd_wvlen/text()', scale_val_2nd_wvlen_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../scale_val_2nd_wvlen/text()', + scale_fact_lower_limit_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../scale_fact_lower_limit/text()', + scale_val_lower_limit_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../scale_val_lower_limit/text()', + scale_fact_upper_limit_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../scale_fact_upper_limit/text()', + scale_val_upper_limit_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../scale_val_upper_limit/text()', scale_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../scale/text()', stat_miss_val_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../stat_miss_val/text()', leng_time_range_prev_query => '/postxml/paramset/datset[text()=\'$inpone\']/../param/shortname[text()=\'$inptwo\']/../leng_time_range_prev/text()', @@ -129,6 +134,7 @@ scale_fact_fixed_sfc2_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../scale_fact_fixed_sfc2/text()', level2_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../level2/text()', aerosol_type_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../aerosol_type/text()', + prob_type_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../prob_type/text()', typ_intvl_size_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../typ_intvl_size/text()', scale_fact_1st_size_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../scale_fact_1st_size/text()', scale_val_1st_size_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../scale_val_1st_size/text()', @@ -139,6 +145,10 @@ scale_val_1st_wvlen_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../scale_val_1st_wvlen/text()', scale_fact_2nd_wvlen_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../scale_fact_2nd_wvlen/text()', scale_val_2nd_wvlen_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../scale_val_2nd_wvlen/text()', + scale_fact_lower_limit_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../scale_fact_lower_limit/text()', + scale_val_lower_limit_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../scale_val_lower_limit/text()', + scale_fact_upper_limit_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../scale_fact_upper_limit/text()', + scale_val_upper_limit_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../scale_val_upper_limit/text()', scale_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../scale/text()', stat_miss_val_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../stat_miss_val/text()', leng_time_range_prev_avil_query => '/postxml/post_avblflds/param/shortname[text()=\'$inpone\']/../leng_time_range_prev/text()', @@ -274,57 +284,72 @@ $xml_query_array[40][0] = "aerosol_type"; $xml_query_array[40][1] = aerosol_type_query; $xml_query_array[40][2] = "?"; - $xml_query_array[41][0] = "typ_intvl_size"; - $xml_query_array[41][1] = typ_intvl_size_query; + $xml_query_array[41][0] = "prob_type"; + $xml_query_array[41][1] = prob_type_query; $xml_query_array[41][2] = "?"; - $xml_query_array[42][0] = "scale_fact_1st_size"; - $xml_query_array[42][1] = scale_fact_1st_size_query; - $xml_query_array[42][2] = "0"; - $xml_query_array[43][0] = "scale_val_1st_size"; - $xml_query_array[43][1] = scale_val_1st_size_query; - $xml_query_array[43][2] = "0.0"; - $xml_query_array[44][0] = "scale_fact_2nd_size"; - $xml_query_array[44][1] = scale_fact_2nd_size_query; - $xml_query_array[44][2] = "0"; - $xml_query_array[45][0] = "scale_val_2nd_size"; - $xml_query_array[45][1] = scale_val_2nd_size_query; - $xml_query_array[45][2] = "0.0"; - $xml_query_array[46][0] = "typ_intvl_wvlen"; - $xml_query_array[46][1] = typ_intvl_wvlen_query; - $xml_query_array[46][2] = "?"; - $xml_query_array[47][0] = "scale_fact_1st_wvlen"; - $xml_query_array[47][1] = scale_fact_1st_wvlen_query; - $xml_query_array[47][2] = "0"; - $xml_query_array[48][0] = "scale_val_1st_wvlen"; - $xml_query_array[48][1] = scale_val_1st_wvlen_query; - $xml_query_array[48][2] = "0.0"; - $xml_query_array[49][0] = "scale_fact_2nd_wvlen"; - $xml_query_array[49][1] = scale_fact_2nd_wvlen_query; - $xml_query_array[49][2] = "0"; - $xml_query_array[50][0] = "scale_val_2nd_wvlen"; - $xml_query_array[50][1] = scale_val_2nd_wvlen_query; - $xml_query_array[50][2] = "0.0"; - $xml_query_array[51][0] = "scale"; - $xml_query_array[51][1] = scale_query; - $xml_query_array[51][2] = "?"; - $xml_query_array[52][0] = "stat_miss_val"; - $xml_query_array[52][1] = stat_miss_val_query; + $xml_query_array[42][0] = "typ_intvl_size"; + $xml_query_array[42][1] = typ_intvl_size_query; + $xml_query_array[42][2] = "?"; + $xml_query_array[43][0] = "scale_fact_1st_size"; + $xml_query_array[43][1] = scale_fact_1st_size_query; + $xml_query_array[43][2] = "0"; + $xml_query_array[44][0] = "scale_val_1st_size"; + $xml_query_array[44][1] = scale_val_1st_size_query; + $xml_query_array[44][2] = "0.0"; + $xml_query_array[45][0] = "scale_fact_2nd_size"; + $xml_query_array[45][1] = scale_fact_2nd_size_query; + $xml_query_array[45][2] = "0"; + $xml_query_array[46][0] = "scale_val_2nd_size"; + $xml_query_array[46][1] = scale_val_2nd_size_query; + $xml_query_array[46][2] = "0.0"; + $xml_query_array[47][0] = "typ_intvl_wvlen"; + $xml_query_array[47][1] = typ_intvl_wvlen_query; + $xml_query_array[47][2] = "?"; + $xml_query_array[48][0] = "scale_fact_1st_wvlen"; + $xml_query_array[48][1] = scale_fact_1st_wvlen_query; + $xml_query_array[48][2] = "0"; + $xml_query_array[49][0] = "scale_val_1st_wvlen"; + $xml_query_array[49][1] = scale_val_1st_wvlen_query; + $xml_query_array[49][2] = "0.0"; + $xml_query_array[50][0] = "scale_fact_2nd_wvlen"; + $xml_query_array[50][1] = scale_fact_2nd_wvlen_query; + $xml_query_array[50][2] = "0"; + $xml_query_array[51][0] = "scale_val_2nd_wvlen"; + $xml_query_array[51][1] = scale_val_2nd_wvlen_query; + $xml_query_array[51][2] = "0.0"; + $xml_query_array[52][0] = "scale_fact_lower_limit"; + $xml_query_array[52][1] = scale_fact_lower_limit_query; $xml_query_array[52][2] = "0"; - $xml_query_array[53][0] = "leng_time_range_prev"; - $xml_query_array[53][1] = leng_time_range_prev_query; - $xml_query_array[53][2] = "0"; - $xml_query_array[54][0] = "time_inc_betwn_succ_fld"; - $xml_query_array[54][1] = time_inc_betwn_succ_fld_query; + $xml_query_array[53][0] = "scale_val_lower_limit"; + $xml_query_array[53][1] = scale_val_lower_limit_query; + $xml_query_array[53][2] = "0.0"; + $xml_query_array[54][0] = "scale_fact_upper_limit"; + $xml_query_array[54][1] = scale_fact_upper_limit_query; $xml_query_array[54][2] = "0"; - $xml_query_array[55][0] = "type_of_time_inc"; - $xml_query_array[55][1] = type_of_time_inc_query; - $xml_query_array[55][2] = "?"; - $xml_query_array[56][0] = "stat_unit_time_key_succ"; - $xml_query_array[56][1] = stat_unit_time_key_succ_query; + $xml_query_array[55][0] = "scale_val_upper_limit"; + $xml_query_array[55][1] = scale_val_upper_limit_query; + $xml_query_array[55][2] = "0.0"; + $xml_query_array[56][0] = "scale"; + $xml_query_array[56][1] = scale_query; $xml_query_array[56][2] = "?"; - $xml_query_array[57][0] = "bit_map_flag"; - $xml_query_array[57][1] = bit_map_flag_query; - $xml_query_array[57][2] = "?"; + $xml_query_array[57][0] = "stat_miss_val"; + $xml_query_array[57][1] = stat_miss_val_query; + $xml_query_array[57][2] = "0"; + $xml_query_array[58][0] = "leng_time_range_prev"; + $xml_query_array[58][1] = leng_time_range_prev_query; + $xml_query_array[58][2] = "0"; + $xml_query_array[59][0] = "time_inc_betwn_succ_fld"; + $xml_query_array[59][1] = time_inc_betwn_succ_fld_query; + $xml_query_array[59][2] = "0"; + $xml_query_array[60][0] = "type_of_time_inc"; + $xml_query_array[60][1] = type_of_time_inc_query; + $xml_query_array[60][2] = "?"; + $xml_query_array[61][0] = "stat_unit_time_key_succ"; + $xml_query_array[61][1] = stat_unit_time_key_succ_query; + $xml_query_array[61][2] = "?"; + $xml_query_array[62][0] = "bit_map_flag"; + $xml_query_array[62][1] = bit_map_flag_query; + $xml_query_array[62][2] = "?"; #-------------------------------------------------------------- # param section in available table @@ -373,57 +398,72 @@ $xml_query_array[80][0] = "aerosol_type"; $xml_query_array[80][1] = aerosol_type_avil_query; $xml_query_array[80][2] = "?"; - $xml_query_array[81][0] = "typ_intvl_size"; - $xml_query_array[81][1] = typ_intvl_size_avil_query; + $xml_query_array[81][0] = "prob_type"; + $xml_query_array[81][1] = prob_type_avil_query; $xml_query_array[81][2] = "?"; - $xml_query_array[82][0] = "scale_fact_1st_size"; - $xml_query_array[82][1] = scale_fact_1st_size_avil_query; - $xml_query_array[82][2] = "0"; - $xml_query_array[83][0] = "scale_val_1st_size"; - $xml_query_array[83][1] = scale_val_1st_size_avil_query; - $xml_query_array[83][2] = "0.0"; - $xml_query_array[84][0] = "scale_fact_2nd_size"; - $xml_query_array[84][1] = scale_fact_2nd_size_avil_query; - $xml_query_array[84][2] = "0"; - $xml_query_array[85][0] = "scale_val_2nd_size"; - $xml_query_array[85][1] = scale_val_2nd_size_avil_query; - $xml_query_array[85][2] = "0.0"; - $xml_query_array[86][0] = "typ_intvl_wvlen"; - $xml_query_array[86][1] = typ_intvl_wvlen_avil_query; - $xml_query_array[86][2] = "?"; - $xml_query_array[87][0] = "scale_fact_1st_wvlen"; - $xml_query_array[87][1] = scale_fact_1st_wvlen_avil_query; - $xml_query_array[87][2] = "0"; - $xml_query_array[88][0] = "scale_val_1st_wvlen"; - $xml_query_array[88][1] = scale_val_1st_wvlen_avil_query; - $xml_query_array[88][2] = "0.0"; - $xml_query_array[89][0] = "scale_fact_2nd_wvlen"; - $xml_query_array[89][1] = scale_fact_2nd_wvlen_avil_query; - $xml_query_array[89][2] = "0"; - $xml_query_array[90][0] = "scale_val_2nd_wvlen"; - $xml_query_array[90][1] = scale_val_2nd_wvlen_avil_query; - $xml_query_array[90][2] = "0.0"; - $xml_query_array[91][0] = "scale"; - $xml_query_array[91][1] = scale_avil_query; - $xml_query_array[91][2] = "?"; - $xml_query_array[92][0] = "stat_miss_val"; - $xml_query_array[92][1] = stat_miss_val_avil_query; + $xml_query_array[82][0] = "typ_intvl_size"; + $xml_query_array[82][1] = typ_intvl_size_avil_query; + $xml_query_array[82][2] = "?"; + $xml_query_array[83][0] = "scale_fact_1st_size"; + $xml_query_array[83][1] = scale_fact_1st_size_avil_query; + $xml_query_array[83][2] = "0"; + $xml_query_array[84][0] = "scale_val_1st_size"; + $xml_query_array[84][1] = scale_val_1st_size_avil_query; + $xml_query_array[84][2] = "0.0"; + $xml_query_array[85][0] = "scale_fact_2nd_size"; + $xml_query_array[85][1] = scale_fact_2nd_size_avil_query; + $xml_query_array[85][2] = "0"; + $xml_query_array[86][0] = "scale_val_2nd_size"; + $xml_query_array[86][1] = scale_val_2nd_size_avil_query; + $xml_query_array[86][2] = "0.0"; + $xml_query_array[87][0] = "typ_intvl_wvlen"; + $xml_query_array[87][1] = typ_intvl_wvlen_avil_query; + $xml_query_array[87][2] = "?"; + $xml_query_array[88][0] = "scale_fact_1st_wvlen"; + $xml_query_array[88][1] = scale_fact_1st_wvlen_avil_query; + $xml_query_array[88][2] = "0"; + $xml_query_array[89][0] = "scale_val_1st_wvlen"; + $xml_query_array[89][1] = scale_val_1st_wvlen_avil_query; + $xml_query_array[89][2] = "0.0"; + $xml_query_array[90][0] = "scale_fact_2nd_wvlen"; + $xml_query_array[90][1] = scale_fact_2nd_wvlen_avil_query; + $xml_query_array[90][2] = "0"; + $xml_query_array[91][0] = "scale_val_2nd_wvlen"; + $xml_query_array[91][1] = scale_val_2nd_wvlen_avil_query; + $xml_query_array[91][2] = "0.0"; + $xml_query_array[92][0] = "scale_fact_lower_limit"; + $xml_query_array[92][1] = scale_fact_lower_limit_avil_query; $xml_query_array[92][2] = "0"; - $xml_query_array[93][0] = "leng_time_range_prev"; - $xml_query_array[93][1] = leng_time_range_prev_avil_query; - $xml_query_array[93][2] = "0"; - $xml_query_array[94][0] = "time_inc_betwn_succ_fld"; - $xml_query_array[94][1] = time_inc_betwn_succ_fld_avil_query; + $xml_query_array[93][0] = "scale_val_lower_limit"; + $xml_query_array[93][1] = scale_val_lower_limit_avil_query; + $xml_query_array[93][2] = "0.0"; + $xml_query_array[94][0] = "scale_fact_upper_limit"; + $xml_query_array[94][1] = scale_fact_upper_limit_avil_query; $xml_query_array[94][2] = "0"; - $xml_query_array[95][0] = "type_of_time_inc"; - $xml_query_array[95][1] = type_of_time_inc_avil_query; - $xml_query_array[95][2] = "?"; - $xml_query_array[96][0] = "stat_unit_time_key_succ"; - $xml_query_array[96][1] = stat_unit_time_key_succ_avil_query; + $xml_query_array[95][0] = "scale_val_upper_limit"; + $xml_query_array[95][1] = scale_val_upper_limit_avil_query; + $xml_query_array[95][2] = "0.0"; + $xml_query_array[96][0] = "scale"; + $xml_query_array[96][1] = scale_avil_query; $xml_query_array[96][2] = "?"; - $xml_query_array[97][0] = "bit_map_flag"; - $xml_query_array[97][1] = bit_map_flag_avil_query; - $xml_query_array[97][2] = "?"; + $xml_query_array[97][0] = "stat_miss_val"; + $xml_query_array[97][1] = stat_miss_val_avil_query; + $xml_query_array[97][2] = "0"; + $xml_query_array[98][0] = "leng_time_range_prev"; + $xml_query_array[98][1] = leng_time_range_prev_avil_query; + $xml_query_array[98][2] = "0"; + $xml_query_array[99][0] = "time_inc_betwn_succ_fld"; + $xml_query_array[99][1] = time_inc_betwn_succ_fld_avil_query; + $xml_query_array[99][2] = "0"; + $xml_query_array[100][0] = "type_of_time_inc"; + $xml_query_array[100][1] = type_of_time_inc_avil_query; + $xml_query_array[100][2] = "?"; + $xml_query_array[101][0] = "stat_unit_time_key_succ"; + $xml_query_array[101][1] = stat_unit_time_key_succ_avil_query; + $xml_query_array[101][2] = "?"; + $xml_query_array[102][0] = "bit_map_flag"; + $xml_query_array[102][1] = bit_map_flag_avil_query; + $xml_query_array[102][2] = "?"; #-------------------------------------------------------------- # use XML LibXML package @@ -763,7 +803,7 @@ sub constract_ctrl_elements { # read all param elements from ctrl file # set record found counter # record found element data in $xml_query_array[$emt_ctrl_main][4] -# loop from array # 26-57 (see above) +# loop from array # 26-62 (see above) #-------------------------------------------------------------- my $param_ctrl_count=26; @@ -837,7 +877,7 @@ sub constract_ctrl_elements { $number_space_found = () = $tmp_regex_st =~/\s/g; $level2_array_count=$number_space_found+1; } - if ($param_ctrl_count == 51) { + if ($param_ctrl_count == 56) { $tmp_regex_st=~ s/\s{2}//g; $number_space_found = () = $tmp_regex_st =~/\s/g; $scale_array_count=$number_space_found+1; @@ -857,7 +897,7 @@ sub constract_ctrl_elements { $param_ctrl_count ++; - } while ($param_ctrl_count<=57); + } while ($param_ctrl_count<=62); #-------------------------------------------------------------- # Store in short name @@ -869,7 +909,7 @@ sub constract_ctrl_elements { # loop through counter array element in ctrl param data # read all param elements from avil file if not found in ctrl param section # set record found in array in "ctrl counter" - $xml_query_array[$emt_ctrl_main][4] -# loop from array # 66-97 (see above) +# loop from array # 66-102 (see above) #-------------------------------------------------------------- my $param_avil_count=66; @@ -932,7 +972,7 @@ sub constract_ctrl_elements { $number_space_found = () = $tmp_regex_st =~/\s/g; $level2_array_count=$number_space_found+1; } - if ($param_avil_count == 91) { + if ($param_avil_count == 96) { $tmp_regex_st=~ s/\s{2}//g; $number_space_found = () = $tmp_regex_st =~/\s/g; $scale_array_count=$number_space_found+1; @@ -943,7 +983,7 @@ sub constract_ctrl_elements { $param_avil_count ++; - } while ($param_avil_count<=97); + } while ($param_avil_count<=102); #-------------------------------------------------------------- # loop through all param section on ctrl array find those not found @@ -983,7 +1023,7 @@ sub constract_ctrl_elements { push (@output_resultset_list, constract_string_txt("level2_array_count",$level2_array_count)); $level2_array_count=0; } - if ($all_param_count == 51) { + if ($all_param_count == 56) { push (@output_resultset_list, constract_string_txt("scale_array_count",$scale_array_count)); $scale_array_count=0; } @@ -998,7 +1038,7 @@ sub constract_ctrl_elements { $xml_query_array[$all_param_count][4]=""; $all_param_count ++; - } while ($all_param_count<=57); + } while ($all_param_count<=62); } diff --git a/parm/PostXMLPreprocessor.pl b/parm/PostXMLPreprocessor.pl index 5c2fd903c4..9c68b951c5 100644 --- a/parm/PostXMLPreprocessor.pl +++ b/parm/PostXMLPreprocessor.pl @@ -43,13 +43,16 @@ use Getopt::Std; use XML::LibXML; # use XML LibXML package use POSIX qw(strftime); # for strftime - + use Cwd qw(getcwd); + use File::Spec; sub usage; #-------------------------------------------------------------- # POST XML library #-------------------------------------------------------------- - require 'POST-XML-Library-NT.pl'; + my $rel_path = 'POST-XML-Library-NT.pl'; + my $abs_path = File::Spec->rel2abs( $rel_path ) ; + require $abs_path; sub logmsg($$); sub silence_used_once_warnings(); diff --git a/parm/README.make_flatfile b/parm/README.make_flatfile new file mode 100644 index 0000000000..e7befc1e5c --- /dev/null +++ b/parm/README.make_flatfile @@ -0,0 +1,20 @@ +To make a .txt flat file for UPP, follow these steps within the parm/ directory: + +1) Select, then validate, the associated "post_avblflds" file, e.g., + + xmllint --noout --schema EMC_POST_Avblflds_Schema.xsd post_avblflds.xml + +2) Select, then validate, the associated "postcntrl" file, e.g., + + xmllint --noout --schema EMC_POST_CTRL_Schema.xsd rrfs_postcntrl.xml + +3) If file validation succeeds in steps (1) and (2), generate the .txt flat file, e.g., + + perl PostXMLPreprocessor.pl rrfs_postcntrl.xml post_avblflds.xml postxconfig-NT-rrfs.txt + + In this example, "rrfs_postcntrl.xml" and "post_avblflds.xml" are input files, read by the perl + script. The "postxconfig-NT-rrfs.txt" flat file is the output file produced by the script, which + can have any name. + + Note that a log file will be created by this script, in addition to the flat file. + diff --git a/parm/aqm/aqm.xml b/parm/aqm/aqm.xml new file mode 100644 index 0000000000..63f5e75139 --- /dev/null +++ b/parm/aqm/aqm.xml @@ -0,0 +1,200 @@ + + + + + CMAQ + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + nmm_8km + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + AVE_PM25TOT_ON_HYBRID_LVL + PMTF + NCEP + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + 7.0 + + + + AVE_OZCON_ON_HYBRID_LVL + OZCON + NCEP + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + 7.0 + + + + TMP_ON_HYBRID_LVL + TMP + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + 4.0 + + + + SPFH_ON_HYBRID_LVL + SPFH + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + 7.0 + + + + UGRD_ON_HYBRID_LVL + UGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + 4.0 + + + + VGRD_ON_HYBRID_LVL + VGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + 4.0 + + + + DZDT_ON_HYBRID_LVL + DZDT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + 4.0 + + + + TCDC_ON_HYBRID_LVL + TCDC + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + 3.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PBLREG_ON_SURFACE + PBLREG + 2.0 + + + + TMP_ON_ISOBARIC_SFC + 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + DPT_ON_ISOBARIC_SFC + 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + HGT_ON_ISOBARIC_SFC + 50000. 70000. 85000. 100000. + -5.0 + + + + UGRD_ON_ISOBARIC_SFC + 25000. 30000. 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + VGRD_ON_ISOBARIC_SFC + 25000. 30000. 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + CAPE_ON_SURFACE + 3.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + 9000. + 0. + 3.0 + + + + AER_OPT_AQM_at550 + + + + HPBL_ON_SURFACE + NCEP + 6.0 + + + + diff --git a/parm/aqm/postxconfig-NT-AQM.txt b/parm/aqm/postxconfig-NT-AQM.txt new file mode 100644 index 0000000000..c25973d51a --- /dev/null +++ b/parm/aqm/postxconfig-NT-AQM.txt @@ -0,0 +1,1068 @@ +1 +25 +CMAQ +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +nmm_8km +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +995 +AVE_PM25TOT_ON_HYBRID_LVL +? +1 +tmpl4_8 +PMTF +NCEP +AVE +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +994 +AVE_OZCON_ON_HYBRID_LVL +? +1 +tmpl4_8 +OZCON +NCEP +AVE +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +264 +DZDT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DZDT +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +145 +TCDC_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCDC +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +344 +PBLREG_ON_SURFACE +? +1 +tmpl4_0 +PBLREG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +5 +50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +5 +50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +4 +50000. 70000. 85000. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +7 +25000. 30000. 50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +7 +25000. 30000. 50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +712 +AER_OPT_AQM_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +0 +0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? diff --git a/parm/arafs/postcntrl_arafs.xml b/parm/arafs/postcntrl_arafs.xml new file mode 100755 index 0000000000..a879a8327a --- /dev/null +++ b/parm/arafs/postcntrl_arafs.xml @@ -0,0 +1,688 @@ + + + + + ARAFSPRS + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hafs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DPT_ON_ISOBARIC_SFC + DPT + 10000. 20000. 30000. 50000. 70000. 85000. + 5.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 7.0 + + + + RH_ON_ISOBARIC_SFC + RH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + VVEL_ON_ISOBARIC_SFC + VVEL + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + ABSV_ON_ISOBARIC_SFC + ABSV + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + CLMR_ON_ISOBARIC_SFC + CLMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + GRLE_ON_ISOBARIC_SFC + GRLE + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + REFD_ON_ISOBARIC_SFC + REFD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + PRES_ON_MEAN_SEA_LVL + PRMSL + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 7.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + SFEXC_ON_SURFACE + SFEXC + NCEP + 4.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 6.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. + 4.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_ACPCP_ON_SURFACE + ACPCP + -4.0 + + + + ACM_NCPCP_ON_SURFACE + NCPCP + -4.0 + + + + CACM_APCP_ON_SURFACE + -4.0 + + + + CACM_ACPCP_ON_SURFACE + -4.0 + + + + CACM_NCPCP_ON_SURFACE + -4.0 + + + + AVE_PRATE_ON_SURFACE + PRATE + 4.0 + + + + AVE_CPRAT_ON_SURFACE + CPRAT + 4.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 4.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 4.0 + + + + INST_USWRF_ON_SURFACE + USWRF + NCEP + 6.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + NCEP + 6.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + NCEP + 6.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + NCEP + 4.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + NCEP + 6.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + NCEP + 4.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + NCEP + 6.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + NCEP + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + NCEP + 4.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + NCEP + 6.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + NCEP + 4.0 + + + + SFCR_ON_SURFACE + SFCR + 6.0 + + + + FRICV_ON_SURFACE + FRICV + NCEP + 4.0 + + + + UFLX_ON_SURFACE + UFLX + 4.0 + + + + VFLX_ON_SURFACE + VFLX + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + WTMP_ON_SURFACE + WTMP + 4.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 4.0 + + + + POT_ON_TROPOPAUSE + POT + 5.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + NCEP + 3.0 + + + + TMP_ON_CLOUD_TOP + TMP + 4.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + NCEP + 4.0 + + + + HPBL_ON_SURFACE + HPBL + NCEP + 6.0 + + + + TCOLW_ON_ENTIRE_ATMOS + TCOLW + NCEP + 5.0 + + + + TCOLI_ON_ENTIRE_ATMOS + TCOLI + NCEP + 5.0 + + + + TCOLR_ON_ENTIRE_ATMOS + TCOLR + NCEP + 5.0 + + + + TCOLS_ON_ENTIRE_ATMOS + TCOLS + NCEP + 5.0 + + + + TCOLC_ON_ENTIRE_ATMOS + TCOLC + NCEP + 5.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + -4.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + -4.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + ACM_GRAUPEL_ON_SURFACE + 6.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + ACM_FRAIN_ON_SURFACE + 6.0 + + + + BUCKET_FRAIN_ON_SURFACE + 6.0 + + + + ACM_SNOWFALL_ON_SURFACE + 6.0 + + + + BUCKET_SNOWFALL_ON_SURFACE + 6.0 + + + + GSD_ACM_SNOD_ON_SURFACE + 9.0 + + + + SNOD_ON_SURFACE + 6.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + + diff --git a/parm/arafs/postxconfig-NT-arafs.txt b/parm/arafs/postxconfig-NT-arafs.txt new file mode 100644 index 0000000000..c28c13443a --- /dev/null +++ b/parm/arafs/postxconfig-NT-arafs.txt @@ -0,0 +1,4344 @@ +1 +103 +ARAFSPRS +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hafs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +6 +10000. 20000. 30000. 50000. 70000. 85000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +20 +VVEL_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VVEL +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +251 +REFD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +REFD +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +105 +PRES_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +PRMSL +? +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +33 +ACM_ACPCP_ON_SURFACE +? +1 +tmpl4_8 +ACPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +34 +ACM_NCPCP_ON_SURFACE +? +1 +tmpl4_8 +NCPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +417 +CACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +418 +CACM_ACPCP_ON_SURFACE +? +1 +tmpl4_8 +ACPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +419 +CACM_NCPCP_ON_SURFACE +? +1 +tmpl4_8 +NCPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +271 +AVE_PRATE_ON_SURFACE +? +1 +tmpl4_8 +PRATE +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +272 +AVE_CPRAT_ON_SURFACE +? +1 +tmpl4_8 +CPRAT +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +NCEP +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +133 +UFLX_ON_SURFACE +? +1 +tmpl4_0 +UFLX +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +134 +VFLX_ON_SURFACE +? +1 +tmpl4_0 +VFLX +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +108 +POT_ON_TROPOPAUSE +? +1 +tmpl4_0 +POT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +NCEP +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +200 +TCOLW_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLW +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +201 +TCOLI_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLI +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +202 +TCOLR_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLR +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +203 +TCOLS_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLS +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +204 +TCOLC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLC +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +746 +ACM_GRAUPEL_ON_SURFACE +? +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +782 +ACM_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +1003 +BUCKET_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +1005 +BUCKET_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +725 +GSD_ACM_SNOD_ON_SURFACE +? +1 +tmpl4_8 +ASNOW +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? diff --git a/parm/dafs/hrrr_postcntrl_dafs.xml b/parm/dafs/hrrr_postcntrl_dafs.xml new file mode 100755 index 0000000000..fcedf48ce0 --- /dev/null +++ b/parm/dafs/hrrr_postcntrl_dafs.xml @@ -0,0 +1,96 @@ + + + + IFIFIP + 4 + ncep_awc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + + + ICE_PROB_IFI_FLIGHT_LEVEL + 2.0 + + 1 + 5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. + + + + SLD_IFI_FLIGHT_LEVEL + 2.0 + + 1 + 5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. + + + + WMO_ICE_SEV_CAT_IFI_FLIGHT_LEVEL + 1.0 + + 1 + 5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. + + + + + AVIATION + 4 + ncep_awc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + MXEDPRM_ON_ENTIRE_ATMOS + 3.0 + + + + EDPARM_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + 30. 304. 609. 914. 1219. 1524. 1828. 2133. 2438. 2743. 3048. 3352. 3657. 3962. 4267. 4572. 4876. 5181. 5486. 5791. 6096. 6400. 6705. 7010. 7315. 7620. 7924. 8229. 8534. 8839. 9144. 9448. 9753. 10058. 10363. 10668. 10972. 11277. 11582. 11887. 12192. 12496. 12801. 13106. 13411. 13716. 14020. 14325. 14630. 14935. 15240. + 3.0 + + + + CAT_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + 30. 304. 609. 914. 1219. 1524. 1828. 2133. 2438. 2743. 3048. 3352. 3657. 3962. 4267. 4572. 4876. 5181. 5486. 5791. 6096. 6400. 6705. 7010. 7315. 7620. 7924. 8229. 8534. 8839. 9144. 9448. 9753. 10058. 10363. 10668. 10972. 11277. 11582. 11887. 12192. 12496. 12801. 13106. 13411. 13716. 14020. 14325. 14630. 14935. 15240. + 3.0 + + + + MWTURB_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + 30. 304. 609. 914. 1219. 1524. 1828. 2133. 2438. 2743. 3048. 3352. 3657. 3962. 4267. 4572. 4876. 5181. 5486. 5791. 6096. 6400. 6705. 7010. 7315. 7620. 7924. 8229. 8534. 8839. 9144. 9448. 9753. 10058. 10363. 10668. 10972. 11277. 11582. 11887. 12192. 12496. 12801. 13106. 13411. 13716. 14020. 14325. 14630. 14935. 15240. + 3.0 + + + + CIT_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + 30. 304. 609. 914. 1219. 1524. 1828. 2133. 2438. 2743. 3048. 3352. 3657. 3962. 4267. 4572. 4876. 5181. 5486. 5791. 6096. 6400. 6705. 7010. 7315. 7620. 7924. 8229. 8534. 8839. 9144. 9448. 9753. 10058. 10363. 10668. 10972. 11277. 11582. 11887. 12192. 12496. 12801. 13106. 13411. 13716. 14020. 14325. 14630. 14935. 15240. + 3.0 + + + + diff --git a/parm/dafs/postxconfig-NT-hrrr_dafs.txt b/parm/dafs/postxconfig-NT-hrrr_dafs.txt new file mode 100644 index 0000000000..1d5d55cb49 --- /dev/null +++ b/parm/dafs/postxconfig-NT-hrrr_dafs.txt @@ -0,0 +1,371 @@ +2 +5 +3 +IFIFIP +4 +ncep_awc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +1007 +ICE_PROB_IFI_FLIGHT_LEVEL +? +1 +tmpl4_0 +ICPRB +NCEP +? +spec_alt_above_mean_sea_lvl +1 +1 +60 +5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +1008 +SLD_IFI_FLIGHT_LEVEL +? +1 +tmpl4_0 +SIPD +NCEP +? +spec_alt_above_mean_sea_lvl +1 +1 +60 +5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +1010 +WMO_ICE_SEV_CAT_IFI_FLIGHT_LEVEL +? +1 +tmpl4_0 +ICESEV +? +? +spec_alt_above_mean_sea_lvl +1 +1 +60 +5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +AVIATION +4 +ncep_awc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +476 +MXEDPRM_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +MXEDPRM +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +467 +EDPARM_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +EDPARM +? +? +spec_alt_above_mean_sea_lvl +0 +? +51 +30. 304. 609. 914. 1219. 1524. 1828. 2133. 2438. 2743. 3048. 3352. 3657. 3962. 4267. 4572. 4876. 5181. 5486. 5791. 6096. 6400. 6705. 7010. 7315. 7620. 7924. 8229. 8534. 8839. 9144. 9448. 9753. 10058. 10363. 10668. 10972. 11277. 11582. 11887. 12192. 12496. 12801. 13106. 13411. 13716. 14020. 14325. 14630. 14935. 15240. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +468 +CAT_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +CATEDR +? +? +spec_alt_above_mean_sea_lvl +0 +? +51 +30. 304. 609. 914. 1219. 1524. 1828. 2133. 2438. 2743. 3048. 3352. 3657. 3962. 4267. 4572. 4876. 5181. 5486. 5791. 6096. 6400. 6705. 7010. 7315. 7620. 7924. 8229. 8534. 8839. 9144. 9448. 9753. 10058. 10363. 10668. 10972. 11277. 11582. 11887. 12192. 12496. 12801. 13106. 13411. 13716. 14020. 14325. 14630. 14935. 15240. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +469 +MWTURB_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +MWTURB +? +? +spec_alt_above_mean_sea_lvl +0 +? +51 +30. 304. 609. 914. 1219. 1524. 1828. 2133. 2438. 2743. 3048. 3352. 3657. 3962. 4267. 4572. 4876. 5181. 5486. 5791. 6096. 6400. 6705. 7010. 7315. 7620. 7924. 8229. 8534. 8839. 9144. 9448. 9753. 10058. 10363. 10668. 10972. 11277. 11582. 11887. 12192. 12496. 12801. 13106. 13411. 13716. 14020. 14325. 14630. 14935. 15240. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +477 +CIT_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +CITEDR +? +? +spec_alt_above_mean_sea_lvl +0 +? +51 +30. 304. 609. 914. 1219. 1524. 1828. 2133. 2438. 2743. 3048. 3352. 3657. 3962. 4267. 4572. 4876. 5181. 5486. 5791. 6096. 6400. 6705. 7010. 7315. 7620. 7924. 8229. 8534. 8839. 9144. 9448. 9753. 10058. 10363. 10668. 10972. 11277. 11582. 11887. 12192. 12496. 12801. 13106. 13411. 13716. 14020. 14325. 14630. 14935. 15240. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? diff --git a/parm/fv3lam_cmaq.xml b/parm/fv3lam_cmaq.xml deleted file mode 100644 index 4ef8bd0e91..0000000000 --- a/parm/fv3lam_cmaq.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - CMAQ - 32769 - ncep_nco - v2003 - local_tab_yes1 - fcst - oper - fcst - fcst - hour - nws_ncep - nmm_8km - complex_packing_spatial_diff - 2nd_ord_sptdiff - fltng_pnt - lossless - - - PM25TOT_ON_HYBRID_LVL - PMTF - NCEP - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 7.0 - - - - O3MR_ON_HYBRID_LVL - O3MR - NCEP - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 7.0 - - - - OZCON_ON_HYBRID_LVL - OZCON - NCEP - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 7.0 - - - - diff --git a/parm/fv3lam_goes.xml b/parm/fv3lam_goes.xml deleted file mode 100755 index 84c6dfbddf..0000000000 --- a/parm/fv3lam_goes.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - - - BGGOES - 32769 - ncep_nco - v2003 - local_tab_yes1 - fcst - oper - fcst - fcst - hour - nws_ncep - meso_nam12km - complex_packing_spatial_diff - 2nd_ord_sptdiff - fltng_pnt - lossless - - - SBTA167_ON_TOP_OF_ATMOS - SBTA167 - 4.0 - - - - SBTA168_ON_TOP_OF_ATMOS - SBTA168 - 4.0 - - - - SBTA169_ON_TOP_OF_ATMOS - SBTA169 - 4.0 - - - - SBTA1610_ON_TOP_OF_ATMOS - SBTA1610 - 4.0 - - - - SBTA1611_ON_TOP_OF_ATMOS - SBTA1611 - 4.0 - - - - SBTA1612_ON_TOP_OF_ATMOS - SBTA1612 - 4.0 - - - - SBTA1613_ON_TOP_OF_ATMOS - SBTA1613 - 4.0 - - - - SBTA1614_ON_TOP_OF_ATMOS - SBTA1614 - 4.0 - - - - SBTA1615_ON_TOP_OF_ATMOS - SBTA1615 - 4.0 - - - - SBTA1616_ON_TOP_OF_ATMOS - SBTA1616 - 4.0 - - - - SBTA177_ON_TOP_OF_ATMOS - SBTA177 - 4.0 - - - - SBTA178_ON_TOP_OF_ATMOS - SBTA178 - 4.0 - - - - SBTA179_ON_TOP_OF_ATMOS - SBTA179 - 4.0 - - - - SBTA1710_ON_TOP_OF_ATMOS - SBTA1710 - 4.0 - - - - SBTA1711_ON_TOP_OF_ATMOS - SBTA1711 - 4.0 - - - - SBTA1712_ON_TOP_OF_ATMOS - SBTA1712 - 4.0 - - - - SBTA1713_ON_TOP_OF_ATMOS - SBTA1713 - 4.0 - - - - SBTA1714_ON_TOP_OF_ATMOS - SBTA1714 - 4.0 - - - - SBTA1715_ON_TOP_OF_ATMOS - SBTA1715 - 4.0 - - - - SBTA1716_ON_TOP_OF_ATMOS - SBTA1716 - 4.0 - - - - - diff --git a/parm/fv3lam_post_avblflds.xml b/parm/fv3lam_post_avblflds.xml deleted file mode 100644 index 4f9b7b4abb..0000000000 --- a/parm/fv3lam_post_avblflds.xml +++ /dev/null @@ -1,5684 +0,0 @@ - - - - - - - 1 - PRES_ON_HYBRID_LVL - PRES - hybrid_lvl - 6.0 - - - - 2 - TMP_ON_HYBRID_LVL - TMP - hybrid_lvl - 4.0 - - - - 3 - POT_ON_HYBRID_LVL - POT - hybrid_lvl - 4.0 - - - - 4 - DPT_ON_HYBRID_LVL - DPT - hybrid_lvl - 5.0 - - - - 5 - SPFH_ON_HYBRID_LVL - SPFH - hybrid_lvl - 7.0 - - - - 6 - RH_ON_HYBRID_LVL - RH - hybrid_lvl - 4.0 - - - - 7 - UGRD_ON_HYBRID_LVL - UGRD - hybrid_lvl - 4.0 - - - - 8 - VGRD_ON_HYBRID_LVL - VGRD - hybrid_lvl - 4.0 - - - - 9 - VVEL_ON_HYBRID_LVL - VVEL - hybrid_lvl - 5.0 - - - - 10 - ABSV_ON_HYBRID_LVL - ABSV - hybrid_lvl - 3.0 - - - - 11 - TKE_ON_HYBRID_LVL - TKE - hybrid_lvl - 3.0 - - - - 12 - HGT_ON_ISOBARIC_SFC - HGT - isobaric_sfc - 6.0 - - - - 13 - TMP_ON_ISOBARIC_SFC - TMP - isobaric_sfc - 3.0 - - - - 14 - POT_ON_ISOBARIC_SFC - POT - isobaric_sfc - 4.0 - - - - 15 - DPT_ON_ISOBARIC_SFC - DPT - isobaric_sfc - 5.0 - - - - 16 - SPFH_ON_ISOBARIC_SFC - SPFH - isobaric_sfc - 4.0 - - - - 17 - RH_ON_ISOBARIC_SFC - RH - isobaric_sfc - 2.0 - - - - 18 - UGRD_ON_ISOBARIC_SFC - UGRD - isobaric_sfc - 4.0 - - - - 19 - VGRD_ON_ISOBARIC_SFC - VGRD - isobaric_sfc - 4.0 - - - - 20 - VVEL_ON_ISOBARIC_SFC - VVEL - isobaric_sfc - 5.0 - - - - 21 - ABSV_ON_ISOBARIC_SFC - ABSV - isobaric_sfc - 4.0 - - - - 22 - TKE_ON_ISOBARIC_SFC - TKE - isobaric_sfc - 3.0 - - - - 23 - MSLET_ON_MEAN_SEA_LVL - MSLET - NCEP - mean_sea_lvl - 6.0 - - - - 24 - PRES_ON_SURFACE - PRES - surface - 6.0 - - - - 25 - HGT_ON_SURFACE - HGT - surface - 6.0 - - - - 26 - TMP_ON_SURFACE - TMP - surface - 4.0 - - - - 27 - POT_ON_SURFACE - POT - surface - 5.0 - - - - 28 - SPFH_ON_SURFACE - SPFH - surface - 3.0 - - - - 29 - DPT_ON_SURFACE - DPT - surface - 4.0 - - - - 30 - LFTX_ON_ISOBARIC_SFC_500-1000hpa - LFTX - isobaric_sfc - 50000. - isobaric_sfc - 100000. - 3.0 - - - - 31 - 4LFTX_ON_SPEC_PRES_ABOVE_GRND - 4LFTX - spec_pres_above_grnd - spec_pres_above_grnd - 3.0 - - - - 32 - CAPE_ON_SURFACE - CAPE - surface - 4.0 - - - - 33 - ACM_ACPCP_ON_SURFACE - tmpl4_8 - ACPCP - ACM - surface - 4.0 - - - - 34 - ACM_NCPCP_ON_SURFACE - tmpl4_8 - NCPCP - ACM - surface - 4.0 - - - - 35 - ACM_WEASD_ON_SURFACE - tmpl4_8 - WEASD - ACM - surface - 4.0 - - - - 36 - SOILM_ON_DEPTH_BEL_LAND_SFC - SOILM - depth_bel_land_sfc - 2 - depth_bel_land_sfc - 2 - 3.0 - - - - 37 - LCDC_ON_LOW_CLOUD_LYR - LCDC - low_cloud_lyr - 3.0 - - - - 38 - MCDC_ON_MID_CLOUD_LYR - MCDC - mid_cloud_lyr - 3.0 - - - - 39 - HCDC_ON_HIGH_CLOUD_LYR - HCDC - high_cloud_lyr - 3.0 - - - - 40 - SWHR_ON_HYBRID_LVL - SWHR - hybrid_lvl - 3.0 - - - - 41 - LWHR_ON_HYBRID_LVL - LWHR - hybrid_lvl - 3.0 - - - - 42 - AVE_LHTFL_ON_SURFACE - tmpl4_8 - LHTFL - AVE - surface - 4.0 - - - - 43 - AVE_SHTFL_ON_SURFACE - tmpl4_8 - SHTFL - AVE - surface - 4.0 - - - - 44 - SFCR_ON_SURFACE - SFCR - surface - 2.7 - - - - 45 - FRICV_ON_SURFACE - FRICV - surface - 4.0 - - - - 46 - AVE_MFLX_ON_SURFACE - tmpl4_8 - MFLX - AVE - surface - -3.0 - - - - 47 - ACM_EVP_ON_SURFACE - tmpl4_8 - EVP - ACM - surface - 4.0 - - - - 48 - NLAT_ON_SURFACE - NLAT - surface - 4.0 - - - - 49 - ELON_ON_SURFACE - ELON - surface - 4.0 - - - - 50 - LAND_ON_SURFACE - LAND - surface - 1.0 - - - - 51 - ICEC_ON_SURFACE - ICEC - surface - 3.0 - - - - 52 - LMH_ON_SURFACE - LMH - surface - 2.0 - - - - 53 - LMV_ON_SURFACE - LMV - surface - 2.0 - - - - 54 - PRES_ON_TROPOPAUSE - PRES - tropopause - 6.0 - - - - 55 - TMP_ON_TROPOPAUSE - TMP - tropopause - 3.0 - - - - 56 - UGRD_ON_TROPOPAUSE - UGRD - tropopause - 4.0 - - - - 57 - VGRD_ON_TROPOPAUSE - VGRD - tropopause - 4.0 - - - - 58 - VWSH_ON_TROPOPAUSE - VWSH - tropopause - 3.0 - - - - 59 - TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - TMP - spec_alt_above_mean_sea_lvl - 3.0 - - - - 60 - UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - UGRD - spec_alt_above_mean_sea_lvl - 4.0 - - - - 61 - VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - VGRD - spec_alt_above_mean_sea_lvl - 4.0 - - - - 62 - HGT_ON_0C_ISOTHERM - HGT - 0C_isotherm - 6.0 - - - - 63 - RH_ON_0C_ISOTHERM - RH - 0C_isotherm - 2.0 - - - - 64 - UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - UGRD - spec_hgt_lvl_above_grnd - 10. - 4.0 - - - - 65 - VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - VGRD - spec_hgt_lvl_above_grnd - 10. - 4.0 - - - - 66 - RH_ON_SIGMA_LVL_0.33-1.0 - RH - sigma_lvl - 2 - 33. - sigma_lvl - 2 - 100. - 2.0 - - - - 67 - PRES_ON_SPEC_PRES_ABOVE_GRND - PRES - spec_pres_above_grnd - spec_pres_above_grnd - 6.0 - - - - 68 - TMP_ON_SPEC_PRES_ABOVE_GRND - TMP - spec_pres_above_grnd - spec_pres_above_grnd - 3.0 - - - - 69 - POT_ON_SPEC_PRES_ABOVE_GRND - POT - spec_pres_above_grnd - spec_pres_above_grnd - 4.0 - - - - 70 - DPT_ON_SPEC_PRES_ABOVE_GRND - DPT - spec_pres_above_grnd - spec_pres_above_grnd - 3.0 - - - - 71 - SPFH_ON_SPEC_PRES_ABOVE_GRND - SPFH - spec_pres_above_grnd - spec_pres_above_grnd - 5.0 - - - - 72 - RH_ON_SPEC_PRES_ABOVE_GRND - RH - spec_pres_above_grnd - spec_pres_above_grnd - 2.0 - - - - 73 - UGRD_ON_SPEC_PRES_ABOVE_GRND - UGRD - spec_pres_above_grnd - spec_pres_above_grnd - 4.0 - - - - 74 - VGRD_ON_SPEC_PRES_ABOVE_GRND - VGRD - spec_pres_above_grnd - spec_pres_above_grnd - 4.0 - - - - 75 - PLI_ON_SPEC_PRES_ABOVE_GRND - PLI - spec_pres_above_grnd - spec_pres_above_grnd - 3.0 - - - - 76 - RH_ON_SURFACE - RH - surface - 4.0 - - - - 77 - HGT_ON_HYBRID_LVL - HGT - hybrid_lvl - 4.0 - - - - 78 - AVE_LRGHR_ON_HYBRID_LVL - tmpl4_8 - LRGHR - AVE - hybrid_lvl - 3.0 - - - - 79 - AVE_CNVHR_ON_HYBRID_LVL - tmpl4_8 - CNVHR - AVE - hybrid_lvl - 2.7 - - - - 80 - PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR - PWAT - entire_atmos_single_lyr - 3.0 - - - - 81 - RH_ON_SIGMA_LVL_0.66-1.0 - RH - sigma_lvl - 2 - 66. - sigma_lvl - 2 - 100. - 2.0 - - - - 82 - RH_ON_SIGMA_LVL_0.33-0.66 - RH - sigma_lvl - 2 - 33. - sigma_lvl - 2 - 66. - 2.0 - - - - 83 - MCONV_ON_HYBRID_LVL - MCONV - hybrid_lvl - 3.0 - - - - 84 - STRM_ON_HYBRID_LVL - STRM - hybrid_lvl - 3.0 - - - - 85 - MCONV_ON_ISOBARIC_SFC - MCONV - isobaric_sfc - 3.0 - - - - 86 - STRM_ON_ISOBARIC_SFC - STRM - isobaric_sfc - 3.0 - - - - 87 - ACM_APCP_ON_SURFACE - tmpl4_8 - APCP - ACM - surface - 4.0 - - - - 88 - MCONV_ON_SPEC_PRES_ABOVE_GRND - MCONV - spec_pres_above_grnd - spec_pres_above_grnd - 3.0 - - - - 89 - PWAT_ON_SPEC_PRES_ABOVE_GRND - PWAT - spec_pres_above_grnd - spec_pres_above_grnd - 3.0 - - - - 90 - VVEL_ON_SPEC_PRES_ABOVE_GRND - VVEL - spec_pres_above_grnd - spec_pres_above_grnd - 5.0 - - - - 91 - PRES_ON_SIGMA_LVL_0.98230 - PRES - sigma_lvl - 5 - 98230. - 6.0 - - - - 92 - TMP_ON_SIGMA_LVL_0.98230 - TMP - sigma_lvl - 5 - 98230. - 4.0 - - - - 93 - SPFH_ON_SIGMA_LVL_0.98230 - SPFH - sigma_lvl - 5 - 98230. - 3.0 - - - - 94 - RH_ON_SIGMA_LVL_0.98230 - RH - sigma_lvl - 5 - 98230. - 4.0 - - - - 95 - UGRD_ON_SIGMA_LVL_0.98230 - UGRD - sigma_lvl - 5 - 98230. - 5.0 - - - - 96 - VGRD_ON_SIGMA_LVL_0.98230 - VGRD - sigma_lvl - 5 - 98230. - 5.0 - - - - 97 - TMP_ON_SIGMA_LVL_0.89671 - TMP - sigma_lvl - 5 - 89671. - 4.0 - - - - 98 - TMP_ON_SIGMA_LVL_0.78483 - TMP - sigma_lvl - 5 - 78483. - 4.0 - - - - 99 - RH_ON_SIGMA_LVL_0.47_1.0 - RH - sigma_lvl - 2 - 47. - sigma_lvl - 2 - 100. - 2.0 - - - - 100 - RH_ON_SIGMA_LVL_0.47_0.96 - RH - sigma_lvl - 2 - 47. - sigma_lvl - 2 - 96. - 2.0 - - - - 101 - RH_ON_SIGMA_LVL_0.18_0.47 - RH - sigma_lvl - 2 - 18. - sigma_lvl - 2 - 47. - 2.0 - - - - 102 - RH_ON_SIGMA_LVL_0.84_0.98 - RH - sigma_lvl - 2 - 84. - sigma_lvl - 2 - 98. - 2.0 - - - - 103 - MCONV_ON_SIGMA_LVL_0.85_1.0 - MCONV - sigma_lvl - 2 - 85. - sigma_lvl - 2 - 100. - 3.0 - - - - 104 - PWAT_ON_SIGMA_LVL_0.33_1.0 - PWAT - sigma_lvl - 2 - 33. - sigma_lvl - 2 - 100. - 2.0 - - - - 105 - PRES_ON_MEAN_SEA_LVL - PRMSL - mean_sea_lvl - 6.0 - - - - 106 - TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - TMP - spec_hgt_lvl_above_grnd - 2. - 4.0 - - - - 107 - CIN_ON_SURFACE - CIN - surface - 4.0 - - - - 108 - POT_ON_TROPOPAUSE - POT - tropopause - 5.0 - - - - 109 - HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC - HGT - lvl_of_adiab_cond_from_sfc - 5.0 - - - - 110 - PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC - PRES - lvl_of_adiab_cond_from_sfc - 6.0 - - - - 111 - RI_ON_HYBRID_LVL - RI - hybrid_lvl - 3.0 - - - - 112 - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - SPFH - spec_hgt_lvl_above_grnd - 2. - 4.0 - - - - 113 - DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - DPT - spec_hgt_lvl_above_grnd - 2. - 4.0 - - - - 114 - RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - RH - spec_hgt_lvl_above_grnd - 2. - 3.0 - - - - 115 - TSOIL_ON_DEPTH_BEL_LAND_SFC_3m - TSOIL - depth_bel_land_sfc - 3. - 3.0 - - - - 116 - TSOIL_ON_DEPTH_BEL_LAND_SFC - TSOIL - depth_bel_land_sfc - 2 - depth_bel_land_sfc - 2 - 4.0 - - - - 117 - SOILW_ON_DEPTH_BEL_LAND_SFC - SOILW - NCEP - depth_bel_land_sfc - 2 - depth_bel_land_sfc - 2 - 3.0 - - - - 118 - CNWAT_ON_SURFACE - CNWAT - surface - 1.0 - - - - 119 - WEASD_ON_SURFACE - WEASD - surface - 4.0 - - - - 120 - SNOWC_ON_SURFACE - SNOWC - surface - 3.0 - - - - 121 - ACM_SNOM_ON_SURFACE - tmpl4_8 - SNOM - ACM - surface - 4.0 - - - - 122 - ACM_SSRUN_ON_SURFACE - tmpl4_8 - SSRUN - ACM - surface - 4.0 - - - - 123 - ACM_BGRUN_ON_SURFACE - tmpl4_8 - BGRUN - ACM - surface - 4.0 - - - - 124 - CLWMR_ON_HYBRID_LVL - CLWMR - hybrid_lvl - 3.0 - - - - 125 - ICMR_ON_HYBRID_LVL - ICMR - hybrid_lvl - 3.0 - - - - 126 - AVE_DSWRF_ON_SURFACE - tmpl4_8 - DSWRF - AVE - surface - 3.0 - - - - 127 - AVE_DLWRF_ON_SURFACE - tmpl4_8 - DLWRF - AVE - surface - 3.0 - - - - 128 - AVE_USWRF_ON_SURFACE - tmpl4_8 - USWRF - AVE - surface - 3.0 - - - - 129 - AVE_ULWRF_ON_SURFACE - tmpl4_8 - ULWRF - AVE - surface - 3.0 - - - - 130 - AVE_USWRF_ON_TOP_OF_ATMOS - tmpl4_8 - USWRF - AVE - top_of_atmos - 3.0 - - - - 131 - AVE_ULWRF_ON_TOP_OF_ATMOS - tmpl4_8 - ULWRF - AVE - top_of_atmos - 3.0 - - - - 132 - CD_ON_SURFACE - CD - surface - 3.0 - - - - 133 - UFLX_ON_SURFACE - UFLX - surface - 3.0 - - - - 134 - VFLX_ON_SURFACE - VFLX - surface - 3.0 - - - - 135 - AVE_GFLUX_ON_SURFACE - tmpl4_8 - GFLUX - AVE - surface - 4.0 - - - - 136 - AVE_SNOHF_ON_SURFACE - tmpl4_8 - SNOHF - AVE - surface - 4.0 - - - - 137 - ACM_PEVAP_ON_SURFACE - tmpl4_8 - PEVAP - ACM - surface - 4.0 - - - - 138 - PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - PRES - spec_hgt_lvl_above_grnd - 2. - 6.0 - - - - 139 - AVE_CDLYR_ON_ENTIRE_ATMOS - tmpl4_8 - CDLYR - AVE - entire_atmos_single_lyr - 3.0 - - - - 140 - TTRAD_ON_HYBRID_LVL - TTRAD - hybrid_lvl - 3.0 - - - - 141 - INST_USWRF_ON_SURFACE - USWRF - surface - 4.0 - - - - 142 - INST_ULWRF_ON_SURFACE - ULWRF - surface - 4.0 - - - - 143 - AVE_CDCON_ON_ENTIRE_ATMOS - tmpl4_8 - CDCON - AVE - entire_atmos_single_lyr - 3.0 - - - - 144 - AVE_TCDC_ON_ENTIRE_ATMOS - tmpl4_8 - TCDC - AVE - entire_atmos_single_lyr - 3.0 - - - - 145 - TCDC_ON_HYBRID_LVL - TCDC - hybrid_lvl - 3.0 - - - - 146 - BMIXL_ON_HYBRID_LVL - BMIXL - hybrid_lvl - 3.0 - - - - 147 - AMIXL_ON_HYBRID_LVL - AMIXL - hybrid_lvl - 3.0 - - - - 148 - PRES_ON_CLOUD_BASE - PRES - cloud_base - 6.0 - - - - 149 - PRES_ON_CLOUD_TOP - PRES - cloud_top - 6.0 - - - - 150 - ALBDO_ON_SURFACE - ALBDO - surface - 3.0 - - - - 151 - WTMP_ON_SURFACE - WTMP - surface - 5.0 - - - - 152 - INST_GFLUX_ON_SURFACE - GFLUX - surface - 3.0 - - - - 153 - CLWMR_ON_ISOBARIC_SFC - CLWMR - isobaric_sfc - 4.0 - - - - 154 - INST_SHTFL_ON_SURFACE - SHTFL - surface - 4.0 - - - - 155 - INST_LHTFL_ON_SURFACE - LHTFL - surface - 4.0 - - - - 156 - INST_DSWRF_ON_SURFACE - DSWRF - surface - 4.0 - - - - 157 - INST_DLWRF_ON_SURFACE - DLWRF - surface - 4.0 - - - - 158 - POT_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - POT - spec_hgt_lvl_above_grnd - 5.0 - - - - 159 - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - SPFH - spec_hgt_lvl_above_grnd - 3.0 - - - - 160 - INST_CRAIN_ON_SURFACE - CRAIN - surface - 1.0 - - - - 161 - INST_TCDC_ON_ENTIRE_ATMOS - TCDC - entire_atmos_single_lyr - 3.0 - - - - 162 - HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND - HLCY - spec_hgt_lvl_above_grnd - spec_hgt_lvl_above_grnd - 4.0 - - - - 163 - USTM_ON_SPEC_HGT_LVL_ABOVE_GRND - USTM - spec_hgt_lvl_above_grnd - spec_hgt_lvl_above_grnd - 4.0 - - - - 164 - VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND - VSTM - spec_hgt_lvl_above_grnd - spec_hgt_lvl_above_grnd - 4.0 - - - - 165 - HGT_ON_HGHST_TROP_FRZ_LVL - HGT - hghst_trop_frz_lvl - 6.0 - - - - 166 - ICMR_ON_ISOBARIC_SFC - ICMR - isobaric_sfc - 6.0 - - - - 167 - INST_PRATE_ON_SURFACE - PRATE - surface - 3.0 - - - - 168 - TMP_ON_CLOUD_TOP - TMP - cloud_top - 5.0 - - - - 169 - SFEXC_ON_SURFACE - SFEXC - surface - 3.0 - - - - 170 - VEG_ON_SURFACE - VEG - surface - 3.0 - - - - 171 - MSTAV_ON_DEPTH_BEL_LAND_SFC - MSTAV - depth_bel_land_sfc - 2 - depth_bel_land_sfc - 2 - 3.0 - - - - 172 - CPOFP_ON_SURFACE - CPOFP - surface - 4.0 - - - - 173 - PRES_ON_MAX_WIND - PRES - max_wind - 6.0 - - - - 174 - HGT_ON_MAX_WIND - HGT - max_wind - 6.0 - - - - 175 - UGRD_ON_MAX_WIND - UGRD - max_wind - 4.0 - - - - 176 - VGRD_ON_MAX_WIND - VGRD - max_wind - 4.0 - - - - 177 - HGT_ON_TROPOPAUSE - HGT - tropopause - 6.0 - - - - 178 - HGT_ON_CLOUD_BASE - HGT - cloud_base - 6.0 - - - - 179 - HGT_ON_CLOUD_TOP - HGT - cloud_top - 6.0 - - - - 180 - VIS_ON_SURFACE - VIS - surface - 6.0 - - - - 181 - RWMR_ON_HYBRID_LVL - RWMR - hybrid_lvl - 3.0 - - - - 182 - SNMR_ON_HYBRID_LVL - SNMR - hybrid_lvl - 3.0 - - - - 183 - RWMR_ON_ISOBARIC_SFC - RWMR - isobaric_sfc - 3.0 - - - - 184 - SNMR_ON_ISOBARIC_SFC - SNMR - isobaric_sfc - 3.0 - - - - 185 - FRAIN_ON_HYBRID_LVL - FRAIN - hybrid_lvl - 3.0 - - - - 186 - FICE_ON_HYBRID_LVL - FICE - hybrid_lvl - 3.0 - - - - 187 - RIME_ON_HYBRID_LVL - RIME - hybrid_lvl - 3.0 - - - - 188 - PRES_ON_CONVECTIVE_CLOUD_BOT_LVL - PRES - convective_cloud_bot_lvl - 6.0 - - - - 189 - PRES_ON_CONVECTIVE_CLOUD_TOP_LVL - PRES - convective_cloud_top_lvl - 6.0 - - - - 190 - PRES_ON_SHALL_CONVECTIVE_CLOUD_BOT_LVL - PRES - shall_convective_cloud_bot_lvl - 6.0 - - - - 191 - PRES_ON_SHALL_CONVECTIVE_CLOUD_TOP_LVL - PRES - shall_convective_cloud_top_lvl - 6.0 - - - - 192 - PRES_ON_DEEP_CONVECTIVE_CLOUD_BOT_LVL - PRES - deep_convective_cloud_bot_lvl - 6.0 - - - - 193 - PRES_ON_DEEP_CONVECTIVE_CLOUD_TOP_LVL - PRES - deep_convective_cloud_top_lvl - 6.0 - - - - 194 - PRES_ON_GRID_SCALE_CLOUD_BOT_LVL - PRES - grid_scale_cloud_bot_lvl - 6.0 - - - - 195 - PRES_ON_GRID_SCALE_CLOUD_TOP_LVL - PRES - grid_scale_cloud_top_lvl - 6.0 - - - - 196 - CDCON_ON_ENTIRE_ATMOS - CDCON - entire_atmos_single_lyr - 2.0 - - - - 197 - CUEFI_ON_ENTIRE_ATMOS_SINGLE_LYR - CUEFI - entire_atmos_single_lyr - 3.0 - - - - 198 - TCOND_ON_ISOBARIC_SFC - TCOND - isobaric_sfc - 3.0 - - - - 199 - TCOND_ON_HYBRID_LVL - TCOND - hybrid_lvl - 3.0 - - - - 200 - TCOLW_ON_ENTIRE_ATMOS - TCOLW - entire_atmos_single_lyr - 5.0 - - - - 201 - TCOLI_ON_ENTIRE_ATMOS - TCOLI - entire_atmos_single_lyr - 5.0 - - - - 202 - TCOLR_ON_ENTIRE_ATMOS - TCOLR - entire_atmos_single_lyr - 5.0 - - - - 203 - TCOLS_ON_ENTIRE_ATMOS - TCOLS - entire_atmos_single_lyr - 5.0 - - - - 204 - TCOLC_ON_ENTIRE_ATMOS - TCOLC - entire_atmos_single_lyr - 5.0 - - - - 205 - HGT_ON_SIGMA_LVLS - HGT - sigma_lvl - 5.0 - - - - 206 - TMP_ON_SIGMA_LVLS - TMP - sigma_lvl - 4.0 - - - - 207 - SPFH_ON_SIGMA_LVLS - SPFH - sigma_lvl - 3.0 - - - - 208 - UGRD_ON_SIGMA_LVLS - UGRD - sigma_lvl - 4.0 - - - - 209 - VGRD_ON_SIGMA_LVLS - VGRD - sigma_lvl - 4.0 - - - - 210 - VVEL_ON_SIGMA_LVLS - VVEL - sigma_lvl - 5.0 - - - - 211 - CLWMR_ON_SIGMA_LVLS - CLWMR - sigma_lvl - 4.0 - - - - 212 - ICMR_ON_SIGMA_LVLS - ICMR - sigma_lvl - 6.0 - - - - 213 - RWMR_ON_SIGMA_LVLS - RWMR - sigma_lvl - 3.0 - - - - 214 - SNMR_ON_SIGMA_LVLS - SNMR - sigma_lvl - 3.0 - - - - 215 - TCOND_ON_SIGMA_LVLS - TCOND - sigma_lvl - 3.0 - - - - 216 - PRES_ON_SIGMA_LVLS - PRES - sigma_lvl - 6.0 - - - - 217 - TKE_ON_SIGMA_LVLS - TKE - sigma_lvl - 3.0 - - - - 218 - VGTYP_ON_SURFACE - VGTYP - surface - 3.0 - - - - 219 - SOTYP_ON_SURFACE - SOTYP - surface - 3.0 - - - - 220 - CCOND_ON_SURFACE - CCOND - surface - 3.0 - - - - 221 - HPBL_ON_SURFACE - HPBL - surface - 6.0 - - - - 222 - TCDC_ON_SIGMA_LVLS - TCDC - sigma_lvl - 2 - 3.0 - - - - 223 - SLTYP_ON_SURFACE - SLTYP - surface - 3.0 - - - - 224 - SNOD_ON_SURFACE - SNOD - surface - 6.0 - - - - 225 - SOILL_ON_DEPTH_BEL_LAND_SFC - SOILL - depth_bel_land_sfc - depth_bel_land_sfc - 3.0 - - - - 226 - SNFALB_ON_SURFACE - SNFALB - surface - 3.0 - - - - 227 - MXSALB_ON_SURFACE - MXSALB - surface - 3.0 - - - - 228 - EVCW_ON_SURFACE - EVCW - surface - 3.0 - - - - 229 - EVBS_ON_SURFACE - EVBS - surface - 3.0 - - - - 230 - TRANS_ON_SURFACE - TRANS - surface - 3.0 - - - - 231 - SBSNO_ON_SURFACE - SBSNO - surface - 3.0 - - - - 232 - SMDRY_ON_SURFACE - SMDRY - surface - 3.0 - - - - 233 - POROS_ON_SURFACE - POROS - surface - 3.0 - - - - 234 - RSMIN_ON_SURFACE - RSMIN - surface - 3.0 - - - - 235 - RLYRS_ON_SURFACE - RLYRS - surface - 3.0 - - - - 236 - WILT_ON_SURFACE - WILT - surface - 3.0 - - - - 237 - SMREF_ON_SURFACE - SMREF - surface - 3.0 - - - - 238 - RCS_ON_SURFACE - RCS - surface - 3.0 - - - - 239 - RCT_ON_SURFACE - RCT - surface - 5.0 - - - - 240 - RCQ_ON_SURFACE - RCQ - surface - 3.0 - - - - 241 - RCSOL_ON_SURFACE - RCSOL - surface - 3.0 - - - - 242 - PEVPR_ON_SURFACE - PEVPR - surface - 6.0 - - - - 243 - VEDH_ON_SIGMA_LVLS - VEDH - sigma_lvl - 4.0 - - - - 245 - GUST_ON_SURFACE - GUST - surface - 3.0 - - - - 246 - PLPL_ON_SPEC_PRES_ABOVE_GRND - PLPL - NCEP - spec_pres_above_grnd - spec_pres_above_grnd - 6.0 - - - - 247 - HGT_ON_LWST_LVL_OF_WET_BULB_ZERO - HGT - lwst_lvl_of_wet_bulb_zero - -5.0 - - - - 249 - CPRAT_ON_SURFACE - CPRAT - surface - 4.0 - - - - 250 - REFD_ON_HYBRID_LVL - REFD - hybrid_lvl - 4.0 - - - - 251 - REFD_ON_ISOBARIC_SFC - REFD - isobaric_sfc - 4.0 - - - - 252 - REFC_ON_ENTIRE_ATMOS - REFC - entire_atmos_single_lyr - 4.0 - - - - 253 - REFD_ON_SPEC_HGT_LVL_ABOVE_GRND - REFD - spec_hgt_lvl_above_grnd - 4.0 - - - - 254 - LAI_ON_SURFACE - LAI - surface - -3.0 - - - - 255 - GRLE_ON_SIGMA_LVLS - GRLE - sigma_lvl - 3.0 - - - - 256 - ACM_LSPA_ON_SURFACE - tmpl4_8 - LSPA - ACM - surface - 3.0 - - - - 257 - TIPD_ON_ISOBARIC_SFC - TIPD - isobaric_sfc - 6.0 - - - - 258 - TPFI_ON_ISOBARIC_SFC - TPFI - isobaric_sfc - 6.0 - - - - 259 - VWSH_ON_SPEC_HGT_LVL_ABOVE_GRND - VWSH - spec_hgt_lvl_above_grnd - 6.0 - - - - 260 - HGT_ON_CLOUD_CEILING - HGT - cloud_ceilng - 6.0 - - - - 261 - VIS_ON_CLOUD_BASE - VIS - cloud_base - 6.0 - - - - 262 - INST_CSDSF_ON_SURFACE - CSDSF - surface - 4.0 - - - - 263 - RIME_ON_ISOBARIC_SFC - RIME - isobaric_sfc - 3.0 - - - - 264 - DZDT_ON_HYBRID_LVL - DZDT - hybrid_lvl - -5.0 - - - - 265 - SBT122_ON_TOP_OF_ATMOS_FROM_LWRAD - SBT122 - top_of_atmos - 5.0 - - - - 266 - AVE_ALBDO_ON_SURFACE - tmpl4_8 - ALBDO - AVE - surface - 4.0 - - - - 267 - O3MR_ON_HYBRID_LVL - O3MR - hybrid_lvl - 7.0 - - - - 268 - O3MR_ON_ISOBARIC_SFC - O3MR - isobaric_sfc - 5.0 - - - - 269 - AVE_UFLX_ON_SURFACE - tmpl4_8 - UFLX - AVE - surface - 4.0 - - - - 270 - AVE_VFLX_ON_SURFACE - tmpl4_8 - VFLX - AVE - surface - 4.0 - - - - 271 - AVE_PRATE_ON_SURFACE - tmpl4_8 - PRATE - AVE - surface - 4.0 - - - - 272 - AVE_CPRAT_ON_SURFACE - tmpl4_8 - CPRAT - AVE - surface - 4.0 - - - - 273 - PRES_ON_HYBRID_LVL_LLM - PRES - hybrid_lvl - hybrid_lvl - 3.0 - - - - 274 - INST_ULWRF_ON_TOP_OF_ATMOS - ULWRF - top_of_atmos - 4.0 - - - - 275 - BRTMP_ON_TOP_OF_ATMOS - BRTMP - top_of_atmos - 3.0 - - - - 276 - REFZR_ON_ENTIRE_ATMOS - REFZR - entire_atmos_single_lyr - -4.0 - - - - 277 - REFZI_ON_ENTIRE_ATMOS - REFZI - entire_atmos_single_lyr - -4.0 - - - - 278 - REFZC_ON_ENTIRE_ATMOS - REFZC - entire_atmos_single_lyr - -4.0 - - - - 279 - REFZR_ON_SPEC_HGT_LVL_ABOVE_GRND - REFZR - spec_hgt_lvl_above_grnd - -4.0 - - - - 280 - REFZI_ON_SPEC_HGT_LVL_ABOVE_GRND - REFZI - spec_hgt_lvl_above_grnd - -4.0 - - - - 281 - REFZC_ON_SPEC_HGT_LVL_ABOVE_GRND - REFZC - spec_hgt_lvl_above_grnd - -4.0 - - - - 282 - PRES_ON_TOP_OF_ATMOS - PRES - top_of_atmos - 3.0 - - - - - 283 - PRES_ON_HYBRID_LVL_1L - PRES - hybrid_lvl - hybrid_lvl - 3.0 - - - - 284 - DZDT_ON_ISOBARIC_SFC - DZDT - isobaric_sfc - -5.0 - - - - 285 - TCLSW_ON_ENTIRE_ATMOS - TCLSW - entire_atmos_single_lyr - 5.0 - - - - 286 - TCOLM_ON_ENTIRE_ATMOS - TCOLM - entire_atmos_single_lyr - 5.0 - - - - 287 - HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR - HGT - lwst_bot_lvl_of_supercooled_liq_water_lyr - 6.0 - - - - 288 - HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR - HGT - hghst_top_lvl_of_supercooled_liq_water_lyr - 5.0 - - - - 289 - HGT_ON_PLANETARY_BOUND_LYR - HGT - planetary_bound_lyr - -4.0 - - - - 290 - SWHR_ON_ENTIRE_ATMOS - SWHR - entire_atmos_single_lyr - 5.0 - - - - 291 - LWHR_ON_ENTIRE_ATMOS - LWHR - entire_atmos_single_lyr - 5.0 - - - - 292 - AVE_LRGHR_ON_ENTIRE_ATMOS - tmpl4_8 - LRGHR - AVE - entire_atmos_single_lyr - 5.0 - - - - 293 - AVE_CNVHR_ON_ENTIRE_ATMOS - tmpl4_8 - CNVHR - AVE - entire_atmos_single_lyr - 5.0 - - - - 294 - TTRAD_ON_ISOBARIC_SFC - TTRAD - isobaric_sfc - 5.0 - - - - 295 - MCONV_ON_ENTIRE_ATMOS - MCONV - entire_atmos_single_lyr - 5.0 - - - - 296 - TMP_ON_SIGMA_LVL_HPC - TMP - sigma_lvl - 2 - -4.0 - - - - 297 - AVE_CDUVB_ON_SURFACE - tmpl4_8 - CDUVB - AVE - surface - 3.0 - - - - 298 - AVE_DUVB_ON_SURFACE - tmpl4_8 - DUVB - AVE - surface - 3.0 - - - - 299 - TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR - TOZNE - entire_atmos_single_lyr - 4.0 - - - - 300 - AVE_TCDC_ON_LOW_CLOUD_LYR - tmpl4_8 - TCDC - AVE - low_cloud_lyr - 3.0 - - - - 301 - AVE_TCDC_ON_MID_CLOUD_LYR - tmpl4_8 - TCDC - AVE - mid_cloud_lyr - 3.0 - - - - 302 - AVE_TCDC_ON_HIGH_CLOUD_LYR - tmpl4_8 - TCDC - AVE - high_cloud_lyr - 3.0 - - - - 303 - AVE_PRES_ON_LOW_CLOUD_BOT_LVL - tmpl4_8 - PRES - AVE - low_cloud_bot_lvl - 6.0 - - - - 304 - AVE_PRES_ON_LOW_CLOUD_TOP_LVL - tmpl4_8 - PRES - AVE - low_cloud_top_lvl - 6.0 - - - - 305 - AVE_TMP_ON_LOW_CLOUD_TOP_LVL - tmpl4_8 - TMP - AVE - low_cloud_top_lvl - 3.0 - - - - 306 - AVE_PRES_ON_MID_CLOUD_BOT_LVL - tmpl4_8 - PRES - AVE - mid_cloud_bot_lvl - 6.0 - - - - 307 - AVE_PRES_ON_MID_CLOUD_TOP_LVL - tmpl4_8 - PRES - AVE - mid_cloud_top_lvl - 6.0 - - - - 308 - AVE_TMP_ON_MID_CLOUD_TOP_LVL - tmpl4_8 - TMP - AVE - mid_cloud_top_lvl - 3.0 - - - - 309 - AVE_PRES_ON_HIGH_CLOUD_BOT_LVL - tmpl4_8 - PRES - AVE - high_cloud_bot_lvl - 6.0 - - - - 310 - AVE_PRES_ON_HIGH_CLOUD_TOP_LVL - tmpl4_8 - PRES - AVE - high_cloud_top_lvl - 6.0 - - - - 311 - AVE_TMP_ON_HIGH_CLOUD_TOP_LVL - tmpl4_8 - TMP - AVE - high_cloud_top_lvl - 3.0 - - - - 312 - RH_ON_ENTIRE_ATMOS_SINGLE_LYR - RH - entire_atmos_single_lyr - 2.0 - - - - 313 - AVE_CWORK_ON_ENTIRE_ATMOS_SINGLE_LYR - tmpl4_8 - CWORK - AVE - entire_atmos_single_lyr - 4.0 - - - - 314 - TMP_ON_MAX_WIND - TMP - max_wind - 3.0 - - - - 315 - AVE_U-GWD_ON_SURFACE - tmpl4_8 - U-GWD - AVE - surface - 5.0 - - - - 316 - AVE_V-GWD_ON_SURFACE - tmpl4_8 - V-GWD - AVE - surface - 5.0 - - - - 317 - AVE_CRAIN_ON_SURFACE - tmpl4_8 - CRAIN - AVE - surface - 1.0 - - - - 318 - RH_ON_SIGMA_LVL_0.44-1.0 - RH - sigma_lvl - 2 - 44. - sigma_lvl - 2 - 100. - 2.0 - - - - 319 - RH_ON_SIGMA_LVL_0.72-0.94 - RH - sigma_lvl - 2 - 72. - sigma_lvl - 2 - 94. - 2.0 - - - - 320 - RH_ON_SIGMA_LVL_0.44-0.72 - RH - sigma_lvl - 2 - 44. - sigma_lvl - 2 - 72. - 2.0 - - - - 321 - TMP_ON_SIGMA_LVL_0.9950 - TMP - sigma_lvl - 4 - 9950. - 4.0 - - - - 322 - POT_ON_SIGMA_LVL_0.9950 - POT - sigma_lvl - 4 - 9950. - 4.0 - - - - 323 - RH_ON_SIGMA_LVL_0.9950 - RH - sigma_lvl - 4 - 9950. - 3.0 - - - - 324 - UGRD_ON_SIGMA_LVL_0.9950 - UGRD - sigma_lvl - 4 - 9950. - 4.0 - - - - 325 - VGRD_ON_SIGMA_LVL_0.9950 - VGRD - sigma_lvl - 4 - 9950. - 4.0 - - - - 326 - VVEL_ON_SIGMA_LVL_0.9950 - VVEL - sigma_lvl - 4 - 9950. - 5.0 - - - - 327 - SBT122_ON_TOP_OF_ATMOS - SBT122 - top_of_atmos - 4.0 - - - - 328 - SBT123_ON_TOP_OF_ATMOS - SBT123 - top_of_atmos - 4.0 - - - - 329 - SBT124_ON_TOP_OF_ATMOS - SBT124 - top_of_atmos - 4.0 - - - - 330 - SBT126_ON_TOP_OF_ATMOS - SBT126 - top_of_atmos - 4.0 - - - - 331 - TCDC_ON_ISOBARIC_SFC - TCDC - isobaric_sfc - 3.0 - - - - 332 - UGRD_ON_ISENTROPIC_LVL - UGRD - isentropic_lvl - 4.0 - - - - 333 - VGRD_ON_ISENTROPIC_LVL - VGRD - isentropic_lvl - 4.0 - - - - 334 - TMP_ON_ISENTROPIC_LVL - TMP - isentropic_lvl - 3.0 - - - - 335 - PVORT_ON_ISENTROPIC_LVL - PVORT - isentropic_lvl - 4.0 - - - - 336 - UGRD_ON_POT_VORT_SFC - UGRD - pot_vort_sfc - 4.0 - - - - 337 - VGRD_ON_POT_VORT_SFC - VGRD - pot_vort_sfc - 4.0 - - - - 338 - TMP_ON_POT_VORT_SFC - TMP - pot_vort_sfc - 4.0 - - - - 339 - HGT_ON_POT_VORT_SFC - HGT - pot_vort_sfc - 6.0 - - - - 340 - PRES_ON_POT_VORT_SFC - PRES - pot_vort_sfc - 6.0 - - - - 341 - VWSH_ON_POT_VORT_SFC - VWSH - pot_vort_sfc - 3.0 - - - - 342 - AVE_TCDC_ON_BOUND_LYR_CLOUD_LYR - tmpl4_8 - TCDC - AVE - bound_lyr_cloud_lyr - 3.0 - - - - 343 - ACM_WATR_ON_SURFACE - tmpl4_8 - WATR - ACM - surface - 6.0 - - - - 344 - PBLREG_ON_SURFACE - PBLREG - surface - 2.0 - - - - 345 - MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - tmpl4_8 - TMAX - MAX - spec_hgt_lvl_above_grnd - 2. - 4.0 - - - - 346 - MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - tmpl4_8 - TMIN - MIN - spec_hgt_lvl_above_grnd - 2. - 4.0 - - - - 347 - MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - tmpl4_8 - MAXRH - MAX - spec_hgt_lvl_above_grnd - 2. - -2.0 - - - - 348 - MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - tmpl4_8 - MINRH - NCEP - MIN - spec_hgt_lvl_above_grnd - 2. - -2.0 - - - - 349 - ICETK_ON_SURFACE - ICETK - surface - 3.0 - - - - 350 - RH_ON_HGHST_TROP_FRZ_LVL - RH - hghst_trop_frz_lvl - 2.0 - - - - - 351 - LAPR_ON_ISENTROPIC_LVL - LAPR - isentropic_lvl - 2.0 - - - - 352 - RH_ON_ISENTROPIC_LVL - RH - isentropic_lvl - 2.0 - - - - 353 - MNTSF_ON_ISENTROPIC_LVL - MNTSF - isentropic_lvl - 4.0 - - - - - 354 - SWHR_ON_ISOBARIC_SFC - SWHR - isobaric_sfc - 5.0 - - - - 355 - LWHR_ON_ISOBARIC_SFC - LWHR - isobaric_sfc - 5.0 - - - - 356 - VDFHR_ON_ISOBARIC_SFC - VDFHR - isobaric_sfc - 3.0 - - - - 357 - CNVHR_ON_ISOBARIC_SFC - CNVHR - isobaric_sfc - 2.7 - - - - - 358 - SHAHR_ON_ISOBARIC_SFC - SHAHR - isobaric_sfc - 3.0 - - - - 359 - LRGHR_ON_ISOBARIC_SFC - LRGHR - isobaric_sfc - 3.0 - - - - 360 - VDFMR_ON_ISOBARIC_SFC - VDFMR - isobaric_sfc - 3.0 - - - - 361 - CNVMR_ON_ISOBARIC_SFC - CNVMR - isobaric_sfc - 3.0 - - - - 362 - SHAMR_ON_ISOBARIC_SFC - SHAMR - isobaric_sfc - 3.0 - - - - 363 - LRGMR_ON_ISOBARIC_SFC - LRGMR - isobaric_sfc - 3.0 - - - - 364 - VDFOZ_ON_ISOBARIC_SFC - VDFOZ - isobaric_sfc - 7.0 - - - - 365 - POZ_ON_ISOBARIC_SFC - POZ - isobaric_sfc - 4.0 - - - - 366 - TOZ_ON_ISOBARIC_SFC - TOZ - isobaric_sfc - 3.0 - - - - 367 - PVMW_ON_ISOBARIC_SFC - PVMW - isobaric_sfc - 3.0 - - - - 368 - SNOT_ON_ISOBARIC_SFC - SNOT - isobaric_sfc - 3.0 - - - - 369 - VDFUA_ON_ISOBARIC_SFC - VDFUA - isobaric_sfc - 3.0 - - - - 370 - GWDU_ON_ISOBARIC_SFC - GWDU - isobaric_sfc - 3.0 - - - - 371 - CNVU_ON_ISOBARIC_SFC - CNVU - isobaric_sfc - 3.0 - - - - 372 - VDFVA_ON_ISOBARIC_SFC - VDFVA - isobaric_sfc - 3.0 - - - - 373 - GWDV_ON_ISOBARIC_SFC - GWDV - isobaric_sfc - 3.0 - - - - 374 - CNVV_ON_ISOBARIC_SFC - CNVV - isobaric_sfc - 3.0 - - - - 375 - CDLYR_ON_ISOBARIC_SFC - CDLYR - isobaric_sfc - 3.0 - - - - 376 - SBC123_ON_TOP_OF_ATMOS - SBC123 - top_of_atmos - 4.0 - - - - 377 - SBC124_ON_TOP_OF_ATMOS - SBC124 - top_of_atmos - 4.0 - - - - 378 - VVEL_ON_ISENTROPIC_LVL - VVEL - isentropic_lvl - 5.0 - - - - - - - 379 - TTDIA_ON_ISOBARIC_SFC - TTDIA - isobaric_sfc - 3.0 - - - - 380 - VEDH_ON_HYBRID_LVL - VEDH - hybrid_lvl - 3.0 - - - - 381 - MIXHT_ON_SURFACE - MIXHT - surface - -4.0 - - - - - 382 - AVE_CSDLF_ON_SURFACE - tmpl4_8 - CSDLF - AVE - surface - 3.0 - - - - 383 - AVE_CSDSF_ON_SURFACE - tmpl4_8 - CSDSF - AVE - surface - 3.0 - - - - 384 - AVE_CSULF_ON_SURFACE - tmpl4_8 - CSULF - AVE - surface - 3.0 - - - - 385 - AVE_CSULF_ON_TOP_OF_ATMOS - tmpl4_8 - CSULF - AVE - top_of_atmos - 3.0 - - - - 386 - AVE_CSUSF_ON_SURFACE - tmpl4_8 - CSUSF - AVE - surface - 3.0 - - - - 387 - AVE_CSUSF_ON_TOP_OF_ATMOS - tmpl4_8 - CSUSF - AVE - top_of_atmos - 3.0 - - - - 388 - AVE_DSWRF_ON_TOP_OF_ATMOS - tmpl4_8 - DSWRF - AVE - top_of_atmos - 4.0 - - - - 389 - UGRD_ON_PLANETARY_BOUND_LYR - UGRD - planetary_bound_lyr - -4.0 - - - - 390 - VGRD_ON_PLANETARY_BOUND_LYR - VGRD - planetary_bound_lyr - -4.0 - - - - - 391 - CNVUMF_ON_ISOBARIC_SFC - CNVUMF - isobaric_sfc - 3.0 - - - - 392 - CNVDMF_ON_ISOBARIC_SFC - CNVDMF - isobaric_sfc - 3.0 - - - - 393 - CNVEMF_ON_ISOBARIC_SFC - CNVEMF - isobaric_sfc - 3.0 - - - - 394 - CNVWDU_ON_ISOBARIC_SFC - CNVWDU - isobaric_sfc - 3.0 - - - - 395 - CNVWDV_ON_ISOBARIC_SFC - CNVWDV - isobaric_sfc - 3.0 - - - - - 396 - SUNSD_ON_SURFACE - SUNSD - surface - 5.0 - - - - 397 - FLDCP_ON_SURFACE - FLDCP - NCEP - surface - 4.0 - - - - - 398 - ICAHT_ON_MAX_WIND - ICAHT - max_wind - 6.0 - - - - 399 - ICAHT_ON_TROPOPAUSE - ICAHT - tropopause - 6.0 - - - - 400 - RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR - RETOP - entire_atmos_single_lyr - 6.0 - - - - - - 401 - AVE_VBDSF_ON_SURFACE - averaged surface visible beam downward solar flux - tmpl4_8 - VBDSF - AVE - surface - 3.0 - - - - 402 - AVE_VDDSF_ON_SURFACE - averaged surface visible diffuse downward solar flux - tmpl4_8 - VDDSF - AVE - surface - 3.0 - - - - 403 - AVE_NBDSF_ON_SURFACE - averaged surface near IR beam downward solar flux - tmpl4_8 - NBDSF - AVE - surface - 3.0 - - - - 404 - AVE_NDDSF_ON_SURFACE - averaged surface near IR beam downward solar flux - tmpl4_8 - NDDSF - AVE - surface - 3.0 - - - - 405 - AVE_SRWEQ_ON_SURFACE - averaged snow rate on surface - tmpl4_8 - SRWEQ - AVE - surface - 3.0 - - - - 406 - GSD_PRES_ON_CLOUD_TOP - GSD_pressure on cloud top - PRES - cloud_top - 6.0 - - - - 407 - GSD_INST_CRAIN_ON_SURFACE - GSD_instant precipitation type on surface - CRAIN - surface - 1.0 - - - - 408 - GSD_HGT_ON_CLOUD_BASE - GSD_geopotential height on cloud base - HGT - cloud_base - 6.0 - - - - 409 - GSD_HGT_ON_CLOUD_TOP - GSD_geopotential height on cloud top - HGT - cloud_top - 6.0 - - - - 410 - GSD_VIS_ON_CLOUD_TOP - GSD_visibility on cloud top - VIS - cloud_top - 6.0 - - - - - 411 - WMIXE_ON_SPEC_HGT_LVL_ABOVE_GRND - instant wind mixing energy on Specified Height Level Above Ground - WMIXE - spec_hgt_lvl_above_grnd - -4.0 - - - - 412 - UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND - U-Component of Wind on Specified Height Level Above Ground - UGRD - spec_hgt_lvl_above_grnd - 80. - -4.0 - - - - 413 - VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND - V-Component of Wind on Specified Height Level Above Ground - VGRD - spec_hgt_lvl_above_grnd - 80. - -4.0 - - - - - 415 - GRLE_ON_HYBRID_LVL - Graupel mixing ration on hybrid level - GRLE - hybrid_lvl - 3.0 - - - - 416 - GRLE_ON_ISOBARIC_SFC - Graupel mixing ration on isobaric surface - GRLE - isobaric_sfc - 3.0 - - - - 417 - CACM_APCP_ON_SURFACE - tmpl4_8 - APCP - ACM - surface - -4.0 - - - - 418 - CACM_ACPCP_ON_SURFACE - tmpl4_8 - ACPCP - ACM - surface - -4.0 - - - - 419 - CACM_NCPCP_ON_SURFACE - tmpl4_8 - NCPCP - ACM - surface - -4.0 - - - - 420 - MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km - maximum Updraft Helicity on Specified Height Level Above Ground - tmpl4_8 - MXUPHL - MAX - spec_hgt_lvl_above_grnd - 5000. - spec_hgt_lvl_above_grnd - 2000. - -3.0 - - - - 421 - MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km - maximum Updraft Helicity on Specified Height Level Above Ground - tmpl4_8 - MAXREF - MAX - spec_hgt_lvl_above_grnd - 1000. - -3.0 - - - - 422 - MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - maximum wind speed on 10 meter Above Ground - tmpl4_8 - WIND - MAX - spec_hgt_lvl_above_grnd - 10. - -4.0 - - - - 423 - MAX_MAXUVV_ON_ISOBARIC_SFC_10-100hpa - hourly maximum Upward Vertical Velocity between 10-100hpa - tmpl4_8 - MAXUVV - MAX - isobaric_sfc - 10000. - isobaric_sfc - 100000. - -4.0 - - - - 424 - MAX_MAXDVV_ON_ISOBARIC_SFC_10-100hpa - hourly maximum Downward Vertical Velocity between 10-100hpa - tmpl4_8 - MAXDVV - MAX - isobaric_sfc - 10000. - isobaric_sfc - 100000. - -4.0 - - - - - 425 - AVE_DZDT_ON_SIGMA_LVL_0.5-0.8 - average Vertical velocity between sigma lvl 0.5 and 0.8 - tmpl4_8 - DZDT - AVE - sigma_lvl - 2 - 50. - sigma_lvl - 2 - 80. - 3.0 - - - - 426 - HGT_ON_SPEC_HGT_LVL_ABOVE_GRND - Echo Tops in KFT (highest HGTin meters of the 18-dBZ reflectivity on a model level) - HGT - spec_hgt_lvl_above_grnd - 4.0 - - - - 427 - UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km - Updraft Helicity on Specified Height Level Above Ground - UPHL - spec_hgt_lvl_above_grnd - 5000. - spec_hgt_lvl_above_grnd - 2000. - -3.0 - - - - - 428 - TCOLG_ON_ENTIRE_ATMOS - TCOLG - entire_atmos_single_lyr - 5.0 - - - - 429 - MAXVIG_ON_ENTIRE_ATMOS_SINGLE_LYR - Hourly Maximum of Column Vertical Integrated Graupel on entire atmosphere - tmpl4_8 - TCOLG - MAX - entire_atmos_single_lyr - 3.0 - - - - 430 - VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km - Vertical u-component shear between 0 to 1000m Above Ground - VUCSH - spec_hgt_lvl_above_grnd - 0. - spec_hgt_lvl_above_grnd - 1000. - 3.0 - - - - 431 - VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km - Vertical v-component shear between 0 to 1000m Above Ground - VVCSH - spec_hgt_lvl_above_grnd - 0. - spec_hgt_lvl_above_grnd - 1000. - 3.0 - - - - 432 - VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km - Vertical u-component shear between 0 to 6000m Above Ground - VUCSH - spec_hgt_lvl_above_grnd - 0. - spec_hgt_lvl_above_grnd - 6000. - 3.0 - - - - 433 - VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km - Vertical v-component shear between 0 to 6000m Above Ground - VVCSH - spec_hgt_lvl_above_grnd - 0. - spec_hgt_lvl_above_grnd - 6000. - 3.0 - - - - - 434 - BUCKET_APCP_ON_SURFACE - bucket Total precipitation on surface - tmpl4_8 - APCP - ACM - surface - 4.0 - - - - 435 - BUCKET_ACPCP_ON_SURFACE - bucket Convective precipitation on surface - tmpl4_8 - ACPCP - ACM - surface - 4.0 - - - - 436 - BUCKET_NCPCP_ON_SURFACE - bucket Large scale precipitation on surface - tmpl4_8 - NCPCP - ACM - surface - 4.0 - - - - 437 - BUCKET_WEASD_ON_SURFACE - bucket snow precipitation on surface - tmpl4_8 - WEASD - ACM - surface - 4.0 - - - - - - 438 - DUST1_ON_ISOBARIC_LVL - tmpl4_48 - MASSMR - isobaric_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 2 - 7 - 20 - 11.0 - - - - 439 - DUST2_ON_ISOBARIC_LVL - tmpl4_48 - MASSMR - isobaric_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 20 - 7 - 36 - 11.0 - - - - 440 - DUST3_ON_ISOBARIC_LVL - tmpl4_48 - MASSMR - isobaric_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 36 - 7 - 60 - 11.0 - - - - 441 - DUST4_ON_ISOBARIC_LVL - tmpl4_48 - MASSMR - isobaric_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 60 - 7 - 120 - 11.0 - - - - 442 - DUST5_ON_ISOBARIC_LVL - tmpl4_48 - MASSMR - isobaric_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 120 - 7 - 200 - 11.0 - - - - 443 - HGT_ON_EQUIL_LVL - geopotential height on Equilibrium level - HGT - equil_lvl - 6.0 - - - - 444 - LTNG_ON_SURFACE - lightning - LTNG - NCEP - surface - 1.0 - - - - 445 - MAPS_PRMSL_ON_MEAN_SEA_LVL - PRMSL - mean_sea_lvl - 4.0 - - - - 446 - SBT112_ON_TOP_OF_ATMOS - SBT112 - top_of_atmos - 4.0 - - - - 447 - SBT113_ON_TOP_OF_ATMOS - SBT113 - top_of_atmos - 4.0 - - - - 448 - SBT114_ON_TOP_OF_ATMOS - SBT114 - top_of_atmos - 4.0 - - - - 449 - SBT115_ON_TOP_OF_ATMOS - SBT115 - top_of_atmos - 4.0 - - - - - - 451 - SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - SPFH - spec_alt_above_mean_sea_lvl - 5.0 - - - - 452 - VTCAPE_ON_SURFACE - Virtual Temperature Based Convective Available Potential Energy on surface - CAPE - surface - 4.0 - - - - 453 - VTCIN_ON_SURFACE - Virtual Temperature Based Convective Inhibition on surface - CIN - surface - 4.0 - - - - - 454 - VRATE_ON_PLANETARY_BOUND_LYR - Ventilation Rate on planetary boundary layer - VRATE - NCEP - planetary_bound_lyr - 3.0 - - - - 455 - HINDEX_ON_SURFACE - Haines Index on surface - HINDEX - surface - 3.0 - - - - 456 - NON_NADIR_SBT122_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for GOES12, Channel 2 on top of atmosphere - SBT122 - top_of_atmos - 4.0 - - - - 457 - NON_NADIR_SBT123_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for GOES12, Channel 3 on top of atmosphere - SBT123 - top_of_atmos - 4.0 - - - - 458 - NON_NADIR_SBT124_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for GOES12, Channel 4 on top of atmosphere - SBT124 - top_of_atmos - 4.0 - - - - 459 - NON_NADIR_SBT126_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for GOES12, Channel 6 on top of atmosphere - SBT126 - top_of_atmos - 4.0 - - - - 460 - SBT112_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for GOES11, Channel 2 on top of atmosphere - SBT112 - top_of_atmos - 4.0 - - - - 461 - SBT113_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for GOES11, Channel 3 on top of atmosphere - SBT113 - top_of_atmos - 4.0 - - - - 462 - SBT114_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for GOES11, Channel 4 on top of atmosphere - SBT114 - top_of_atmos - 4.0 - - - - 463 - SBT115_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for GOES11, Channel 5 on top of atmosphere - SBT115 - top_of_atmos - 4.0 - - - - 482 - PRES_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - pressure between Specific Altitude Above Mean Sea Level - PRES - spec_alt_above_mean_sea_lvl - spec_alt_above_mean_sea_lvl - 3.0 - - - - - 483 - AMSRE9_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for AMSRE on Aqua, Channel 9 on top of atmosphere - AMSRE9 - top_of_atmos - 4.0 - - - - 484 - AMSRE10_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for AMSRE on Aqua, Channel 10 on top of atmosphere - AMSRE10 - top_of_atmos - 4.0 - - - - 485 - AMSRE11_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for AMSRE on Aqua, Channel 11 on top of atmosphere - AMSRE11 - top_of_atmos - 4.0 - - - - 486 - AMSRE12_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for AMSRE on Aqua, Channel 12 on top of atmosphere - AMSRE12 - top_of_atmos - 4.0 - - - - 487 - GSD_PRES_ON_CLOUD_BASE - PRES - cloud_base - 3.0 - - - - 488 - TMITB6_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for TMI TRMM, Channel 6 on top of atmosphere - AMSRE9 - top_of_atmos - 4.0 - - - - 489 - TMITB7_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for TMI TRMM, Channel 7 on top of atmosphere - AMSRE10 - top_of_atmos - 4.0 - - - - 490 - TMITB8_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for TMI TRMM, Channel 8 on top of atmosphere - AMSRE11 - top_of_atmos - 4.0 - - - - 490 - TMITB9_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for TMI TRMM, Channel 9 on top of atmosphere - AMSRE12 - top_of_atmos - 4.0 - - - - 492 - SSMITB4_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMI TB, Channel 4 on top of atmosphere - AMSRE9 - top_of_atmos - 4.0 - - - - 493 - SSMITB5_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMI TB, Channel 5 on top of atmosphere - AMSRE10 - top_of_atmos - 4.0 - - - - 494 - SSMITB6_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMI TB, Channel 6 on top of atmosphere - AMSRE11 - top_of_atmos - 4.0 - - - - 495 - SSMITB7_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMI TB, Channel 7 on top of atmosphere - AMSRE12 - top_of_atmos - 4.0 - - - - 496 - SSMISTB15_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMIS TB, Channel 15 on top of atmosphere - AMSRE9 - top_of_atmos - 4.0 - - - - 497 - SSMISTB16_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMIS TB, Channel 16 on top of atmosphere - AMSRE10 - top_of_atmos - 4.0 - - - - 498 - SSMISTB17_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMIS TB, Channel 17 on top of atmosphere - AMSRE11 - top_of_atmos - 4.0 - - - - 499 - SSMISTB18_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMIS TB, Channel 18 on top of atmosphere - AMSRE12 - top_of_atmos - 4.0 - - - - 500 - AVE_SNOWC_ON_SURFACE - tmpl4_8 - SNOWC - AVE - surface - 3.0 - - - - 501 - AVE_PRES_ON_SURFACE - tmpl4_8 - PRES - AVE - surface - 5.0 - - - - 502 - AVE_TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - tmpl4_8 - TMP - AVE - spec_hgt_lvl_above_grnd - 10. - -4.0 - - - - 503 - AVE_AKHS_ON_SURFACE - tmpl4_8 - AKHS - AVE - surface - 3.0 - - - - 504 - AVE_AKMS_ON_SURFACE - tmpl4_8 - AKMS - AVE - surface - 3.0 - - - - 505 - TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - TMP - spec_hgt_lvl_above_grnd - 10. - -4.0 - - - - 506 - MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - U Component of Hourly Maximum 10m Wind Speed (m/s) - tmpl4_8 - MAXUW - MAX - spec_hgt_lvl_above_grnd - 10. - -4.0 - - - - 507 - MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - V Component of Hourly Maximum 10m Wind Speed (m/s) - tmpl4_8 - MAXVW - MAX - spec_hgt_lvl_above_grnd - 10. - -4.0 - - - - 546 - GSD_POT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - POT - spec_hgt_lvl_above_grnd - 2. - 4.0 - - - - - 547 - GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - DEPR - spec_hgt_lvl_above_grnd - 2. - 3.0 - - - - 548 - GSD_EPOT_ON_SURFACE - EPOT - surface - 3.0 - - - - - 551 - CSNOW_ON_SURFACE - Categorical snow on surface - CSNOW - NCEP - surface - 1.0 - - - - 552 - CICEP_ON_SURFACE - Categorical ice pellets on surface - CICEP - NCEP - surface - 1.0 - - - - 553 - CFRZR_ON_SURFACE - Categorical freezing rain on surface - CFRZR - NCEP - surface - 1.0 - - - - 555 - AVE_CSNOW_ON_SURFACE - average Categorical snow on surface - tmpl4_8 - CSNOW - AVE - surface - 1.0 - - - - 556 - AVE_CICEP_ON_SURFACE - average Categorical ice pellets on surface - tmpl4_8 - CICEP - AVE - surface - 1.0 - - - - 557 - AVE_CFRZR_ON_SURFACE - average Categorical freezing rain on surface - tmpl4_8 - CFRZR - AVE - surface - 1.0 - - - - 559 - GSD_CSNOW_ON_SURFACE - GSD_Categorical snow on surface - CSNOW - surface - 1.0 - - - - 560 - GSD_CICEP_ON_SURFACE - GSD_Categorical ice pellets on surface - CICEP - surface - 1.0 - - - - 561 - GSD_CFRZR_ON_SURFACE - GSD_Categorical freezing rain on surface - CFRZR - surface - 1.0 - - - - 563 - GSD_AVE_CSNOW_ON_SURFACE - GSD_average Categorical snow on surface - tmpl4_8 - CSNOW - AVE - surface - 1.0 - - - - 564 - GSD_AVE_CICEP_ON_SURFACE - GSD_average Categorical ice pellets on surface - tmpl4_8 - CICEP - AVE - surface - 1.0 - - - - 565 - GSD_AVE_CFRZR_ON_SURFACE - GSD_average Categorical freezing rain on surface - tmpl4_8 - CFRZR - AVE - surface - 1.0 - - - - 566 - BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - spec_pres_above_grnd - 0. - spec_pres_above_grnd - 0. - 4.0 - - - - 567 - BEST_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - spec_pres_above_grnd - 0. - spec_pres_above_grnd - 0. - 4.0 - - - - 575 - CWAT_ON_ENTIRE_ATMOS_SINGLE_LYR - CWAT - entire_atmos_single_lyr - 3.0 - - - - 576 - UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - UGRD - spec_hgt_lvl_above_grnd - -4.0 - - - - 577 - VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - VGRD - spec_hgt_lvl_above_grnd - -4.0 - - - - 578 - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - SPFH - spec_hgt_lvl_above_grnd - 3.0 - - - - 579 - PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - PRES - spec_hgt_lvl_above_grnd - 3.0 - - - - 580 - ICI_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL_FDHGT - ICI - spec_alt_above_mean_sea_lvl - 3.0 - - - - 581 - VIL_ON_ENTIRE_ATMOS - entire atmosphere Vertically Integrated Liquid (kg/m-2) - VIL - entire_atmos_single_lyr - 4.0 - - - - 582 - MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - spec_pres_above_grnd - 0. - spec_pres_above_grnd - 0. - 4.0 - - - - 583 - MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - spec_pres_above_grnd - 0. - spec_pres_above_grnd - 0. - 4.0 - - - - 584 - UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - spec_pres_above_grnd - 0. - spec_pres_above_grnd - 0. - 4.0 - - - - 585 - UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - spec_pres_above_grnd - 0. - spec_pres_above_grnd - 0. - - - - 586 - TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - TMP - spec_hgt_lvl_above_grnd - 3.0 - - - - 587 - ICI_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - ICI - spec_hgt_lvl_above_grnd - 3.0 - - - - 588 - ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - ICEG - spec_alt_above_mean_sea_lvl - 4.0 - - - - 601 - DUST1_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL_FDHGT - tmpl4_48 - MASSMR - spec_alt_above_mean_sea_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 2 - 7 - 20 - 11.0 - - - - 602 - DUST2_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL_FDHGT - tmpl4_48 - MASSMR - spec_alt_above_mean_sea_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 20 - 7 - 36 - 11.0 - - - - 603 - DUST3_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL_FDHGT - tmpl4_48 - MASSMR - spec_alt_above_mean_sea_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 36 - 7 - 60 - 11.0 - - - - 604 - DUST4_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL_FDHGT - tmpl4_48 - MASSMR - spec_alt_above_mean_sea_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 60 - 7 - 120 - 11.0 - - - - 605 - DUST5_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL_FDHGT - tmpl4_48 - MASSMR - spec_alt_above_mean_sea_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 120 - 7 - 200 - 11.0 - - - - - 606 - AECOEF_ON_HYBRID_LVL - AECOFF - hybrid_lvl - 11.0 - - - - 607 - ASYSFK_ON_HYBRID_LVL - ASYSFK - hybrid_lvl - 11.0 - - - - 608 - SSALBK_ON_HYBRID_LVL - SSALBK - hybrid_lvl - 11.0 - - - - 609 - AER_OPT_DEP_at550 - tmpl4_48 - AOTK - entire_atmos - total_aerosol - smaller_than_first_limit - 6 - 20 - between_first_second_limit - 9 - 545 - 9 - 565 - 9.0 - - - - 610 - DUST_AER_OPT_DEP_at550 - tmpl4_48 - AOTK - entire_atmos - dust_dry - smaller_than_first_limit - 6 - 20 - between_first_second_limit - 9 - 545 - 9 - 565 - 9.0 - - - - 611 - Seasalt_AER_OPT_DEP_at550 - tmpl4_48 - AOTK - entire_atmos - sea_salt_dry - smaller_than_first_limit - 6 - 20 - between_first_second_limit - 9 - 545 - 9 - 565 - 9.0 - - - - 612 - SULFATE_AER_OPT_DEP_at550 - tmpl4_48 - AOTK - entire_atmos - sulphate_dry - smaller_than_first_limit - 6 - 20 - between_first_second_limit - 9 - 545 - 9 - 565 - 9.0 - - - - 613 - ORGANIC_CARBON_AER_OPT_DEP_at550 - tmpl4_48 - AOTK - entire_atmos - sea_salt_dry - smaller_than_first_limit - 6 - 20 - between_first_second_limit - 9 - 545 - 9 - 565 - 9.0 - - - - 614 - BLACK_CARBON_AER_OPT_DEP_at550 - tmpl4_48 - AOTK - entire_atmos - black_carbondry - smaller_than_first_limit - 6 - 20 - between_first_second_limit - 9 - 545 - 9 - 565 - 9.0 - - - - 615 - DUST_EMISSION_FLUX - tmpl4_48 - AEMFLX - entire_atmos - dust_dry - smaller_than_first_limit - 6 - 20 - 9.0 - - - - 616 - DUST_SEDIMENTATION_FLUX - tmpl4_48 - SEDMFLX - entire_atmos - dust_dry - smaller_than_first_limit - 6 - 20 - 9.0 - - - - 617 - DUST_DRY_DEPOSITION_FLUX - tmpl4_48 - DDMFLX - entire_atmos - dust_dry - smaller_than_first_limit - 6 - 20 - 9.0 - - - - 618 - DUST_WET_DEPOSITION_FLUX - tmpl4_48 - WLSMFLX - entire_atmos - dust_dry - smaller_than_first_limit - 6 - 20 - 9.0 - - - - 619 - CR_AER_SFC_MASS_CON - tmpl4_48 - MASSDEN - surface - dust_dry - smaller_than_first_limit - 6 - 10 - 9.0 - - - - 620 - FN_AER_SFC_MASS_CON - tmpl4_48 - MASSDEN - surface - dust_dry - smaller_than_first_limit - 7 - 25 - 9.0 - - - - 621 - CR_AER_COL_MASS_DEN - tmpl4_48 - COLMD - entire_atmos - dust_dry - smaller_than_first_limit - 6 - 10 - 9.0 - - - - 622 - FN_AER_COL_MASS_DEN - tmpl4_48 - COLMD - entire_atmos - dust_dry - smaller_than_first_limit - 7 - 25 - 9.0 - - - - 623 - AER_OPT_DEP_at340 - tmpl4_48 - AOTK - entire_atmos - total_aerosol - smaller_than_first_limit - 6 - 20 - between_first_second_limit - 9 - 338 - 9 - 342 - 9.0 - - - - 624 - AER_OPT_DEP_at440 - tmpl4_48 - AOTK - entire_atmos - total_aerosol - smaller_than_first_limit - 6 - 20 - between_first_second_limit - 9 - 430 - 9 - 450 - 9.0 - - - - 625 - AER_OPT_DEP_at660 - tmpl4_48 - AOTK - entire_atmos - total_aerosol - smaller_than_first_limit - 6 - 20 - between_first_second_limit - 9 - 620 - 9 - 670 - 9.0 - - - - 626 - AER_OPT_DEP_at860 - tmpl4_48 - AOTK - entire_atmos - total_aerosol - smaller_than_first_limit - 6 - 20 - between_first_second_limit - 9 - 841 - 9 - 876 - 9.0 - - - - 627 - AER_OPT_DEP_at1630 - tmpl4_48 - AOTK - entire_atmos - total_aerosol - smaller_than_first_limit - 6 - 20 - between_first_second_limit - 9 - 1628 - 9 - 1652 - 9.0 - - - - 628 - AER_OPT_DEP_at11100 - tmpl4_48 - AOTK - entire_atmos - total_aerosol - smaller_than_first_limit - 6 - 20 - between_first_second_limit - 9 - 11000 - 9 - 11200 - 9.0 - - - - 629 - DUST1_ON_HYBRID_LVL - tmpl4_48 - MASSMR - hybrid_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 2 - 7 - 20 - 11.0 - - - - 630 - DUST2_ON_HYBRID_LVL - tmpl4_48 - MASSMR - hybrid_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 20 - 7 - 36 - 11.0 - - - - 631 - DUST3_ON_HYBRID_LVL - tmpl4_48 - MASSMR - hybrid_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 36 - 7 - 60 - 11.0 - - - - 632 - DUST4_ON_HYBRID_LVL - tmpl4_48 - MASSMR - hybrid_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 60 - 7 - 120 - 11.0 - - - - 633 - DUST5_ON_HYBRID_LVL - tmpl4_48 - MASSMR - hybrid_lvl - dust_dry - between_first_second_limit_noincl2ndlmt - 7 - 120 - 7 - 200 - 11.0 - - - - 700 - GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_1-6km - tmpl4_8 - MXUPHL - MAX - spec_hgt_lvl_above_grnd - 6000. - spec_hgt_lvl_above_grnd - 1000. - 3.0 - - - - 701 - GSD_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_1-6km - UPHL - spec_hgt_lvl_above_grnd - 6000. - spec_hgt_lvl_above_grnd - 1000. - 3.0 - - - - - 702 - GSD_MAX_LTG_THREAT1_ON_ENTIRE_ATMOS - LTGTHREAT1 - entire_atmos - 3.0 - - - - 703 - GSD_MAX_LTG_THREAT2_ON_ENTIRE_ATMOS - LTGTHREAT2 - entire_atmos - 3.0 - - - - 704 - GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS - LTNG - entire_atmos - 3.0 - - - - 705 - GSD_NCI_LTG_ON_ENTIRE_ATMOS - GSD_Convective Initiation Lightning - NCILTG - entire_atmos - 3.0 - - - - 706 - GSD_NCA_LTG_ON_ENTIRE_ATMOS - GSD_Convective Activity Lightning - NCALTG - entire_atmos - 3.0 - - - - 707 - GSD_NCI_WQ_ON_ENTIRE_ATMOS - GSD_Convective Initiation Vertical Hydrometeor Flux - NCIWQ - entire_atmos - 3.0 - - - - 708 - GSD_NCA_WQ_ON_ENTIRE_ATMOS - GSD_Convective Activity Vertical Hydrometeor Flux - NCAWQ - entire_atmos - 3.0 - - - - 709 - GSD_NCI_REFL_ON_ENTIRE_ATMOS - GSD_Convective Initiation Reflectivity - NCIREFL - entire_atmos - 3.0 - - - - 710 - GSD_NCA_REFL_ON_ENTIRE_ATMOS - GSD_Convective Activity Reflectivity - NCAREFL - entire_atmos - 3.0 - - - - 727 - GSD_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km - UPHL - spec_hgt_lvl_above_grnd - 5000. - spec_hgt_lvl_above_grnd - 2000. - 3.0 - - - - 748 - GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_1km - REFL - spec_hgt_lvl_above_grnd - 1000. - 3.0 - - - - 749 - GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS - RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER - RH_PWAT - entire_atmos - 3.0 - - - - - 750 - GSD_WV_MIXR_ON_HYBRID_LVL - MIXR - hybrid_lvl - 3.0 - - - - 751 - GSD_VPTMP_ON_HYBRID_LVL - VPTMP - hybrid_lvl - 3.0 - - - - 752 - GSD_NCIP_ON_HYBRID_LVL - Number concentration for ice particles on hybrid level - NCIP - hybrid_lvl - 3.0 - - - - 753 - GSD_PRES_ON_0C_ISOTHERM - GSD_pressure on Level of 0 deg (C) isotherm - PRES - 0C_isotherm - 3.0 - - - - 754 - GSD_NCRAIN_ON_HYBRID_LVL - NCRAIN - hybrid_lvl - 3.0 - - - - 756 - GSD_PRES_ON_HGHST_TROP_FRZ_LVL - GSD_pressure on Highest tropospheric freezing level - PRES - hghst_trop_frz_lvl - 3.0 - - - - 757 - GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_4km - REFL - spec_hgt_lvl_above_grnd - 4000. - 3.0 - - - - 758 - GSD_HGT_ON_CONVECTIVE_CLOUD_TOP_LVL - HGT - convective_cloud_top_lvl - 4.0 - - - - 760 - GSD_MIXR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - MIXR - spec_hgt_lvl_above_grnd - 2. - 3.0 - - - - 762 - GSD_MIXR_ON_SURFACE - MIXR - SURFACE - 3.0 - - - - 761 - GSD_INSIDE_SNOW_TMP_ON_SURFACE - TMP - SURFACE - 4.0 - - - - 768 - GSD_ECHOTOP_ON_CLOUD_TOP - Echo top height (Highest height in meters of the 18-dBZ reflectivity on a model level) - RETOP - cloud_top - 3.0 - - - - 769 - GSD_VIL_ON_ENTIRE_ATMOS - VIL - entire_atmos - 4.0 - - - - 770 - GSD_RADARVIL_ON_ENTIRE_ATMOS - VIL - entire_atmos - 3.0 - - - - 785 - MAX_REF_ON_ISOTHERMAL_-10C - maximum reflectivity on -10C suface - tmpl4_8 - REFD - MAX - isothermal - 263. - -3.0 - - - - 786 - GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km - tmpl4_8 - MNUPHL - MIN - spec_hgt_lvl_above_grnd - 5000. - spec_hgt_lvl_above_grnd - 2000. - -3.0 - - - - 790 - GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km - tmpl4_8 - MXUPHL - MAX - spec_hgt_lvl_above_grnd - 3000. - spec_hgt_lvl_above_grnd - 0000. - 3.0 - - - - 791 - GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km - tmpl4_8 - MNUPHL - MIN - spec_hgt_lvl_above_grnd - 3000. - spec_hgt_lvl_above_grnd - 0000. - -3.0 - - - - 792 - GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km - tmpl4_8 - RELV - MAX - spec_hgt_lvl_above_grnd - 2000. - spec_hgt_lvl_above_grnd - 0000. - 5.0 - - - - 793 - GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km - tmpl4_8 - RELV - MAX - spec_hgt_lvl_above_grnd - 1000. - spec_hgt_lvl_above_grnd - 0000. - 5.0 - - - 890 - GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 - Hourly max relative vorticity on hybrid level 1 - tmpl4_8 - RELV - MAX - hybrid_lvl - 1. - 5.0 - - - - 808 - APTMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - APTMP - spec_hgt_lvl_above_grnd - 2. - 4.0 - - - - 912 - REFD_ON_ISOTHERMAL - REFD - isothermal - 263. - -4.0 - - - - 927 - SBTA167_ON_TOP_OF_ATMOS - SBTA167 - top_of_atmos - 4.0 - - - - 928 - SBTA168_ON_TOP_OF_ATMOS - SBTA168 - top_of_atmos - 4.0 - - - - 929 - SBTA169_ON_TOP_OF_ATMOS - SBTA169 - top_of_atmos - 4.0 - - - - 930 - SBTA1610_ON_TOP_OF_ATMOS - SBTA1610 - top_of_atmos - 4.0 - - - - 931 - SBTA1611_ON_TOP_OF_ATMOS - SBTA1611 - top_of_atmos - 4.0 - - - - 932 - SBTA1612_ON_TOP_OF_ATMOS - SBTA1612 - top_of_atmos - 4.0 - - - - 933 - SBTA1613_ON_TOP_OF_ATMOS - SBTA1613 - top_of_atmos - 4.0 - - - - 934 - SBTA1614_ON_TOP_OF_ATMOS - SBTA1614 - top_of_atmos - 4.0 - - - - 935 - SBTA1615_ON_TOP_OF_ATMOS - SBTA1615 - top_of_atmos - 4.0 - - - - 936 - SBTA1616_ON_TOP_OF_ATMOS - SBTA1616 - top_of_atmos - 4.0 - - - - 937 - SBTA177_ON_TOP_OF_ATMOS - SBTA177 - top_of_atmos - 4.0 - - - - 938 - SBTA178_ON_TOP_OF_ATMOS - SBTA178 - top_of_atmos - 4.0 - - - - 939 - SBTA179_ON_TOP_OF_ATMOS - SBTA179 - top_of_atmos - 4.0 - - - - 940 - SBTA1710_ON_TOP_OF_ATMOS - SBTA1710 - top_of_atmos - 4.0 - - - - 941 - SBTA1711_ON_TOP_OF_ATMOS - SBTA1711 - top_of_atmos - 4.0 - - - - 942 - SBTA1712_ON_TOP_OF_ATMOS - SBTA1712 - top_of_atmos - 4.0 - - - - 943 - SBTA1713_ON_TOP_OF_ATMOS - SBTA1713 - top_of_atmos - 4.0 - - - - 944 - SBTA1714_ON_TOP_OF_ATMOS - SBTA1714 - top_of_atmos - 4.0 - - - - 945 - SBTA1715_ON_TOP_OF_ATMOS - SBTA1715 - top_of_atmos - 4.0 - - - - 946 - SBTA1716_ON_TOP_OF_ATMOS - SBTA1716 - top_of_atmos - 4.0 - - - - - - diff --git a/parm/gcafs/postcntrl_gcafs.xml b/parm/gcafs/postcntrl_gcafs.xml new file mode 100755 index 0000000000..6568441e60 --- /dev/null +++ b/parm/gcafs/postcntrl_gcafs.xml @@ -0,0 +1,724 @@ + + + + + GFSPRS + 0 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + gcafs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + DUST1_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + DUST2_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + DUST3_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + DUST4_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + DUST5_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + SEASALT1_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + SEASALT2_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + SEASALT3_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + SEASALT4_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + SEASALT5_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + OCPHOBIC_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + OCPHILIC_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + BCPHOBIC_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + BCPHILIC_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + SO4_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + DUST1_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST2_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST5_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT1_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT2_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT5_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SO4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + AER_OPT_DEP_at550 + 9.0 + + + + DUST_AER_OPT_DEP_at550 + 9.0 + + + + SEASALT_AER_OPT_DEP_at550 + 9.0 + + + + SULFATE_AER_OPT_DEP_at550 + 9.0 + + + + ORGANIC_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + BLACK_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + AER_SCAT_OPT_DEP_at550 + 9.0 + + + + DUST_AER_SCAT_OPT_DEP_at550 + 9.0 + + + + SEASALT_AER_SCAT_OPT_DEP_at550 + 9.0 + + + + SULFATE_AER_SCAT_OPT_DEP_at550 + 9.0 + + + + ORGANIC_CARBON_AER_SCAT_OPT_DEP_at550 + 9.0 + + + + BLACK_CARBON_AER_SCAT_OPT_DEP_at550 + 9.0 + + + + SINGLE_SCAT_ALBD_at340 + 9.0 + + + + AER_ASYM_FACTOR_at340 + 9.0 + + + + AER_OPT_DEP_at340 + 9.0 + + + + AER_OPT_DEP_at440 + 9.0 + + + + AER_OPT_DEP_at660 + 9.0 + + + + AER_OPT_DEP_at860 + 9.0 + + + + AER_OPT_DEP_at1630 + 9.0 + + + + AER_OPT_DEP_at11100 + 9.0 + + + + DUST10_SFC_MASS_CON + NCEP + 9.0 + + + + DUST25_SFC_MASS_CON + NCEP + 9.0 + + + + SEAS25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_SFC_MASS_CON + NCEP + 9.0 + + + + PM25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_COL_MASS_DEN + 9.0 + + + + PM25_COL_MASS_DEN + 9.0 + + + + DUST_COL_MASS_DEN + 9.0 + + + + SEAS_COL_MASS_DEN + 9.0 + + + + BC_COL_MASS_DEN + 9.0 + + + + OC_COL_MASS_DEN + 9.0 + + + + SULF_COL_MASS_DEN + 9.0 + + + + + + + GFSFLX + 0 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + gcafs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + SPFH_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 7.0 + + + + RH_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + UGRD_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + VVEL_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + NCCD_ON_HYBRID_LVL + 1. + 3.0 + + + + NCIP_ON_HYBRID_LVL + 1. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + 1. + 3.0 + + + + NCWFA_ON_HYBRID_LVL + 1. + 3.0 + + + + NCIFA_ON_HYBRID_LVL + 1. + 3.0 + + + + VIS_ON_SURFACE + 3.0 + + + + GUST_ON_SURFACE + 3.0 + + + + MSLET_ON_MEAN_SEA_LVL + 6.0 + + + + PRES_ON_SURFACE + 6.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + 2 2 2 2 + 0. 10. 40. 100. + 2 2 2 2 + 10. 40. 100. 200. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + NCEP + 2 2 2 2 + 0. 10. 40. 100. + 2 2 2 2 + 10. 40. 100. 200. + 3.0 + + + + WEASD_ON_SURFACE + 3.0 + + + + ICETK_ON_SURFACE + 3.0 + + + + SNOD_ON_SURFACE + 3.0 + yes + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 3.0 + + + + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 + + + + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + 4.0 + + + + CPOFP_ON_SURFACE + 4.0 + + + + ACM_APCP_ON_SURFACE + 4.0 + + + + AVE_CSNOW_ON_SURFACE + NCEP + 1.0 + + + + AVE_CICEP_ON_SURFACE + NCEP + 1.0 + + + + AVE_CFRZR_ON_SURFACE + NCEP + 1.0 + + + + AVE_CRAIN_ON_SURFACE + NCEP + 1.0 + + + + AVE_LHTFL_ON_SURFACE + 4.0 + + + + AVE_SHTFL_ON_SURFACE + 4.0 + + + + CAPE_ON_SURFACE + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 4.0 + + + + CIN_ON_SURFACE + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + 3.0 + + + + HGT_ON_CLOUD_CEILING + HGT + 6.0 + + + + AVE_DSWRF_ON_SURFACE + NCEP + 3.0 + + + + AVE_DLWRF_ON_SURFACE + NCEP + 3.0 + + + + AVE_USWRF_ON_SURFACE + NCEP + 3.0 + + + + AVE_ULWRF_ON_SURFACE + NCEP + 3.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + NCEP + 3.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + NCEP + 3.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + 3000. + 0. + 4.0 + + + + + diff --git a/parm/gcafs/postcntrl_gcafs_f00.xml b/parm/gcafs/postcntrl_gcafs_f00.xml new file mode 100755 index 0000000000..d1b99c01f2 --- /dev/null +++ b/parm/gcafs/postcntrl_gcafs_f00.xml @@ -0,0 +1,644 @@ + + + + + GFSPRS + 0 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + gcafs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + DUST1_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + DUST2_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + DUST3_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + DUST4_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + DUST5_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + SEASALT1_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + SEASALT2_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + SEASALT3_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + SEASALT4_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + SEASALT5_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + OCPHOBIC_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + OCPHILIC_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + BCPHOBIC_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + BCPHILIC_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + SO4_ON_ISOBARIC_SFC + NCEP + 10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 11.0 + + + + DUST1_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST2_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST5_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT1_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT2_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT5_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SO4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + AER_OPT_DEP_at550 + 9.0 + + + + DUST_AER_OPT_DEP_at550 + 9.0 + + + + SEASALT_AER_OPT_DEP_at550 + 9.0 + + + + SULFATE_AER_OPT_DEP_at550 + 9.0 + + + + ORGANIC_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + BLACK_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + AER_SCAT_OPT_DEP_at550 + 9.0 + + + + DUST_AER_SCAT_OPT_DEP_at550 + 9.0 + + + + SEASALT_AER_SCAT_OPT_DEP_at550 + 9.0 + + + + SULFATE_AER_SCAT_OPT_DEP_at550 + 9.0 + + + + ORGANIC_CARBON_AER_SCAT_OPT_DEP_at550 + 9.0 + + + + BLACK_CARBON_AER_SCAT_OPT_DEP_at550 + 9.0 + + + + SINGLE_SCAT_ALBD_at340 + 9.0 + + + + AER_ASYM_FACTOR_at340 + 9.0 + + + + AER_OPT_DEP_at340 + 9.0 + + + + AER_OPT_DEP_at440 + 9.0 + + + + AER_OPT_DEP_at660 + 9.0 + + + + AER_OPT_DEP_at860 + 9.0 + + + + AER_OPT_DEP_at1630 + 9.0 + + + + AER_OPT_DEP_at11100 + 9.0 + + + + DUST10_SFC_MASS_CON + NCEP + 9.0 + + + + DUST25_SFC_MASS_CON + NCEP + 9.0 + + + + SEAS25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_SFC_MASS_CON + NCEP + 9.0 + + + + PM25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_COL_MASS_DEN + 9.0 + + + + PM25_COL_MASS_DEN + 9.0 + + + + DUST_COL_MASS_DEN + 9.0 + + + + SEAS_COL_MASS_DEN + 9.0 + + + + BC_COL_MASS_DEN + 9.0 + + + + OC_COL_MASS_DEN + 9.0 + + + + SULF_COL_MASS_DEN + 9.0 + + + + + + + GFSFLX + 0 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + gcafs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + SPFH_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 7.0 + + + + RH_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + UGRD_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + VVEL_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + NCCD_ON_HYBRID_LVL + 1. + 3.0 + + + + NCIP_ON_HYBRID_LVL + 1. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + 1. + 3.0 + + + + NCWFA_ON_HYBRID_LVL + 1. + 3.0 + + + + NCIFA_ON_HYBRID_LVL + 1. + 3.0 + + + + VIS_ON_SURFACE + 3.0 + + + + GUST_ON_SURFACE + 3.0 + + + + MSLET_ON_MEAN_SEA_LVL + 6.0 + + + + PRES_ON_SURFACE + 6.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + 2 2 2 2 + 0. 10. 40. 100. + 2 2 2 2 + 10. 40. 100. 200. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + NCEP + 2 2 2 2 + 0. 10. 40. 100. + 2 2 2 2 + 10. 40. 100. 200. + 3.0 + + + + WEASD_ON_SURFACE + 3.0 + + + + ICETK_ON_SURFACE + 3.0 + + + + SNOD_ON_SURFACE + 3.0 + yes + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 3.0 + + + + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 + + + + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + 4.0 + + + + CPOFP_ON_SURFACE + 4.0 + + + + CAPE_ON_SURFACE + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 4.0 + + + + CIN_ON_SURFACE + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + 3.0 + + + + HGT_ON_CLOUD_CEILING + HGT + 6.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + 3000. + 0. + 4.0 + + + + + diff --git a/parm/gcafs/postxconfig-NT-gcafs-f00.txt b/parm/gcafs/postxconfig-NT-gcafs-f00.txt new file mode 100644 index 0000000000..160ef33aaa --- /dev/null +++ b/parm/gcafs/postxconfig-NT-gcafs-f00.txt @@ -0,0 +1,4193 @@ +2 +37 +62 +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gcafs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +438 +DUST1_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +20 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +439 +DUST2_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +20 +7 +36 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +440 +DUST3_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTC +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +36 +7 +60 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +441 +DUST4_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTC +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +60 +7 +120 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +442 +DUST5_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTC +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +120 +7 +200 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +589 +SEASALT1_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +8 +6 +8 +20 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +590 +SEASALT2_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +10 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +591 +SEASALT3_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTC +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +10 +7 +30 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +592 +SEASALT4_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTC +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +30 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +593 +SEASALT5_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTC +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +100 +7 +200 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +595 +OCPHOBIC_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +particulate_org_matter_hydrophobic +? +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +596 +OCPHILIC_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +particulate_org_matter_hydrophilic +? +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +597 +BCPHOBIC_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +black_carbon_hydrophobic +? +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +598 +BCPHILIC_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +black_carbon_hydrophilic +? +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +594 +SO4_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +sulphate_dry +? +equall_to_first_limit +9 +139 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +629 +DUST1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +20 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +630 +DUST2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +20 +7 +36 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +631 +DUST3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +36 +7 +60 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +632 +DUST4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +60 +7 +120 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +633 +DUST5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +120 +7 +200 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +634 +SEASALT1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +8 +6 +8 +20 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +635 +SEASALT2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +10 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +636 +SEASALT3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +10 +7 +30 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +637 +SEASALT4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +30 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +638 +SEASALT5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +100 +7 +200 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +643 +BCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophilic +? +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +642 +BCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophobic +? +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +641 +OCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophilic +? +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +640 +OCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophobic +? +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +639 +SO4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sulphate_dry +? +equall_to_first_limit +9 +139 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +609 +AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +610 +DUST_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +611 +SEASALT_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +612 +SULFATE_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +613 +ORGANIC_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +614 +BLACK_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +650 +AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +651 +DUST_AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +652 +SEASALT_AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +653 +SULFATE_AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +? +smaller_than_first_limit +8 +70 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +654 +ORGANIC_CARBON_AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +8 +70 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +655 +BLACK_CARBON_AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +? +smaller_than_first_limit +8 +70 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +648 +SINGLE_SCAT_ALBD_at340 +? +1 +tmpl4_48 +SSALBK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +338 +9 +342 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +649 +AER_ASYM_FACTOR_at340 +? +1 +tmpl4_48 +ASYSFK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +338 +9 +342 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +623 +AER_OPT_DEP_at340 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +338 +9 +342 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +624 +AER_OPT_DEP_at440 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +430 +9 +450 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +625 +AER_OPT_DEP_at660 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +620 +9 +670 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +626 +AER_OPT_DEP_at860 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +841 +9 +876 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +627 +AER_OPT_DEP_at1630 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +1628 +9 +1652 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +628 +AER_OPT_DEP_at11100 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +11000 +9 +11200 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +685 +DUST10_SFC_MASS_CON +? +1 +tmpl4_48 +PMTC +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +686 +DUST25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +684 +SEAS25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +619 +PM10_SFC_MASS_CON +? +1 +tmpl4_48 +PMTC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +620 +PM25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +621 +PM10_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +622 +PM25_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +646 +DUST_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +647 +SEAS_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +616 +BC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +? +smaller_than_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +617 +OC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +618 +SULF_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +GFSFLX +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gcafs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +20 +VVEL_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VVEL +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +766 +NCWFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +767 +NCIFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +180 +VIS_ON_SURFACE +? +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +349 +ICETK_ON_SURFACE +? +1 +tmpl4_0 +ICETK +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +yes +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +1 +0. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +260 +HGT_ON_CLOUD_CEILING +? +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/gcafs/postxconfig-NT-gcafs.txt b/parm/gcafs/postxconfig-NT-gcafs.txt new file mode 100644 index 0000000000..4f7e299226 --- /dev/null +++ b/parm/gcafs/postxconfig-NT-gcafs.txt @@ -0,0 +1,4781 @@ +2 +51 +62 +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gcafs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +438 +DUST1_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +20 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +439 +DUST2_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +20 +7 +36 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +440 +DUST3_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTC +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +36 +7 +60 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +441 +DUST4_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTC +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +60 +7 +120 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +442 +DUST5_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTC +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +120 +7 +200 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +589 +SEASALT1_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +8 +6 +8 +20 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +590 +SEASALT2_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +10 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +591 +SEASALT3_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTC +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +10 +7 +30 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +592 +SEASALT4_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTC +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +30 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +593 +SEASALT5_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTC +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +100 +7 +200 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +595 +OCPHOBIC_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +particulate_org_matter_hydrophobic +? +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +596 +OCPHILIC_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +particulate_org_matter_hydrophilic +? +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +597 +BCPHOBIC_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +black_carbon_hydrophobic +? +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +598 +BCPHILIC_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +black_carbon_hydrophilic +? +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +594 +SO4_ON_ISOBARIC_SFC +? +1 +tmpl4_48 +PMTF +NCEP +? +isobaric_sfc +0 +? +23 +10000. 20000. 30000. 40000. 50000. 55000. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +sulphate_dry +? +equall_to_first_limit +9 +139 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +629 +DUST1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +20 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +630 +DUST2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +20 +7 +36 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +631 +DUST3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +36 +7 +60 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +632 +DUST4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +60 +7 +120 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +633 +DUST5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +120 +7 +200 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +634 +SEASALT1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +8 +6 +8 +20 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +635 +SEASALT2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +10 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +636 +SEASALT3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +10 +7 +30 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +637 +SEASALT4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +30 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +638 +SEASALT5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +100 +7 +200 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +643 +BCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophilic +? +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +642 +BCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophobic +? +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +641 +OCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophilic +? +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +640 +OCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophobic +? +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +639 +SO4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sulphate_dry +? +equall_to_first_limit +9 +139 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +609 +AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +610 +DUST_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +611 +SEASALT_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +612 +SULFATE_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +613 +ORGANIC_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +614 +BLACK_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +650 +AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +651 +DUST_AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +652 +SEASALT_AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +653 +SULFATE_AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +? +smaller_than_first_limit +8 +70 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +654 +ORGANIC_CARBON_AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +8 +70 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +655 +BLACK_CARBON_AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +? +smaller_than_first_limit +8 +70 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +648 +SINGLE_SCAT_ALBD_at340 +? +1 +tmpl4_48 +SSALBK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +338 +9 +342 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +649 +AER_ASYM_FACTOR_at340 +? +1 +tmpl4_48 +ASYSFK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +338 +9 +342 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +623 +AER_OPT_DEP_at340 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +338 +9 +342 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +624 +AER_OPT_DEP_at440 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +430 +9 +450 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +625 +AER_OPT_DEP_at660 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +620 +9 +670 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +626 +AER_OPT_DEP_at860 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +841 +9 +876 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +627 +AER_OPT_DEP_at1630 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +1628 +9 +1652 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +628 +AER_OPT_DEP_at11100 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +11000 +9 +11200 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +685 +DUST10_SFC_MASS_CON +? +1 +tmpl4_48 +PMTC +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +686 +DUST25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +684 +SEAS25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +619 +PM10_SFC_MASS_CON +? +1 +tmpl4_48 +PMTC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +620 +PM25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +621 +PM10_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +622 +PM25_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +646 +DUST_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +647 +SEAS_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +616 +BC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +? +smaller_than_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +617 +OC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +618 +SULF_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +GFSFLX +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gcafs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +20 +VVEL_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VVEL +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +766 +NCWFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +767 +NCIFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +180 +VIS_ON_SURFACE +? +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +349 +ICETK_ON_SURFACE +? +1 +tmpl4_0 +ICETK +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +yes +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +555 +AVE_CSNOW_ON_SURFACE +average Categorical snow on surface +1 +tmpl4_8 +CSNOW +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +556 +AVE_CICEP_ON_SURFACE +average Categorical ice pellets on surface +1 +tmpl4_8 +CICEP +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +557 +AVE_CFRZR_ON_SURFACE +average Categorical freezing rain on surface +1 +tmpl4_8 +CFRZR +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +317 +AVE_CRAIN_ON_SURFACE +? +1 +tmpl4_8 +CRAIN +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +1 +0. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +260 +HGT_ON_CLOUD_CEILING +? +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/gefs/post_itag_gefs128 b/parm/gefs/post_itag_gefs128 new file mode 100644 index 0000000000..e31676c10d --- /dev/null +++ b/parm/gefs/post_itag_gefs128 @@ -0,0 +1,7 @@ +&MODEL_INPUTS +MODELNAME='GFS' +/ +&NAMPGB +KPO=50,PO=1000.,975.,950.,925.,900.,875.,850.,825.,800.,775.,750.,725.,700.,675.,650.,625.,600.,575.,550.,525.,500.,475.,450.,425.,400.,375.,350.,325.,300.,275.,250.,225.,200.,175.,150.,125.,100.,70.,50.,40.,30.,20.,15.,10.,7.,5.,3.,2.,1.,0.4,nasa_on=.true., +/ +EOF diff --git a/parm/postcntrl_gefs.xml b/parm/gefs/postcntrl_gefs.xml similarity index 88% rename from parm/postcntrl_gefs.xml rename to parm/gefs/postcntrl_gefs.xml index 84dfb1902a..35ce88c7c0 100644 --- a/parm/postcntrl_gefs.xml +++ b/parm/gefs/postcntrl_gefs.xml @@ -18,23 +18,29 @@ 2nd_ord_sptdiff fltng_pnt lossless - negatively_pert_fcst + pos_pert_fcst HGT_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 6.0 + + DPT_ON_ISOBARIC_SFC + 30000. 50000. 70000. 85000. + 5.0 + + TMP_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 3.0 SPFH_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 4.0 @@ -46,19 +52,19 @@ UGRD_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 4.0 VGRD_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 4.0 VVEL_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 5.0 @@ -81,18 +87,6 @@ 4.0 - - ICIP_ON_ISOBARIC_SFC - 30000. 40000. 50000. 60000. 70000. 80000. - 3.0 - - - - ICSEV_ON_ISOBARIC_SFC - 30000. 40000. 50000. 60000. 70000. 80000. - 3.0 - - MSLET_ON_MEAN_SEA_LVL 6.0 @@ -367,6 +361,16 @@ 3.0 + + INST_TCDC_ON_ENTIRE_ATMOS + 3.0 + + + + HGT_ON_CLOUD_TOP + 6.0 + + VIS_ON_SURFACE 3.0 @@ -788,6 +792,12 @@ 6.0 + + REFC_ON_ENTIRE_ATMOS + NCEP + 4.0 + + TCDC_ON_ISOBARIC_SFC 47500. @@ -915,6 +925,12 @@ 6.0 + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + NCEP + -6.0 + + SUNSD_ON_SURFACE NCEP @@ -1013,6 +1029,55 @@ 6.0 + + 549 + FDNSSTMP_ON_SURFACE + FDNSSTMP + surface + 4.0 + + + + 1004 + ACM_SNOWFALL_ON_SURFACE + tmpl4_8 + TSNOWP + ACM + surface + 4.0 + + + + 1005 + BUCKET_SNOWFALL_ON_SURFACE + tmpl4_8 + TSNOWP + ACM + surface + 4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + 10. + 4.0 + + diff --git a/parm/postcntrl_gfs.xml b/parm/gefs/postcntrl_gefs_aerosol.xml similarity index 69% rename from parm/postcntrl_gfs.xml rename to parm/gefs/postcntrl_gefs_aerosol.xml index 4fe5bb0f8f..8bde2b9d83 100755 --- a/parm/postcntrl_gfs.xml +++ b/parm/gefs/postcntrl_gefs_aerosol.xml @@ -1,6 +1,6 @@ - + GFSPRS 0 @@ -10,125 +10,75 @@ fcst oper fcst - fcst + ens_fcst hour nws_ncep - gfs_avn + gefs complex_packing_spatial_diff 2nd_ord_sptdiff fltng_pnt lossless + pos_pert_fcst HGT_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. 6.0 TMP_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 3.0 SPFH_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 7.0 + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 RH_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 + 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 3.0 UGRD_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 VGRD_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 - - - - DZDT_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 5.0 + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 VVEL_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. 5.0 ABSV_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 + 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 O3MR_ON_ISOBARIC_SFC NCEP - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 5.0 + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 20000. 25000. 30000. 35000. 40000. + 5.0 CLMR_ON_ISOBARIC_SFC - 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 - - - - ICMR_ON_ISOBARIC_SFC - 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 - - - - RWMR_ON_ISOBARIC_SFC - 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 - - - - SNMR_ON_ISOBARIC_SFC - 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 - - - - GRLE_ON_ISOBARIC_SFC - 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 - - - - REFC_ON_ENTIRE_ATMOS - NCEP - 4.0 + 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 @@ -148,7 +98,7 @@ SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - 7.0 + 4.0 @@ -188,9 +138,9 @@ TSOIL_ON_DEPTH_BEL_LAND_SFC - 2 2 2 2 + 2 2 2 2 0. 10. 40. 100. - 2 2 2 2 + 2 2 2 2 10. 40. 100. 200. 4.0 @@ -198,9 +148,9 @@ SOILW_ON_DEPTH_BEL_LAND_SFC NCEP - 2 2 2 2 + 2 2 2 2 0. 10. 40. 100. - 2 2 2 2 + 2 2 2 2 10. 40. 100. 200. 3.0 @@ -208,9 +158,9 @@ SOILL_ON_DEPTH_BEL_LAND_SFC NCEP - 2 2 2 2 + 2 2 2 2 0. 10. 40. 100. - 2 2 2 2 + 2 2 2 2 10. 40. 100. 200. 3.0 @@ -218,12 +168,12 @@ CNWAT_ON_SURFACE NCEP - 3.0 + 1.0 WEASD_ON_SURFACE - 6.0 + 3.0 @@ -239,7 +189,7 @@ SNOD_ON_SURFACE - 6.0 + 3.0 yes @@ -309,7 +259,7 @@ PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR - 6.0 + 3.0 @@ -337,56 +287,17 @@ ACM_APCP_ON_SURFACE - -4.0 + 4.0 ACM_ACPCP_ON_SURFACE - -4.0 + 4.0 ACM_NCPCP_ON_SURFACE - -4.0 - - - - CACM_APCP_ON_SURFACE - -4.0 - - - - CACM_ACPCP_ON_SURFACE - -4.0 - - - - CACM_NCPCP_ON_SURFACE - -4.0 - - - - INST_CRAIN_ON_SURFACE - NCEP - 1.0 - - - - CSNOW_ON_SURFACE - NCEP - 1.0 - - - - CICEP_ON_SURFACE - NCEP - 1.0 - - - - CFRZR_ON_SURFACE - NCEP - 1.0 + 4.0 @@ -415,96 +326,96 @@ AVE_PRATE_ON_SURFACE - 6.0 + 4.0 AVE_CPRAT_ON_SURFACE NCEP - 6.0 + 4.0 AVE_TCDC_ON_LOW_CLOUD_LYR - 4.0 + 3.0 AVE_TCDC_ON_MID_CLOUD_LYR - 4.0 + 3.0 AVE_TCDC_ON_HIGH_CLOUD_LYR - 4.0 + 3.0 AVE_TCDC_ON_ENTIRE_ATMOS - 4.0 + 3.0 VIS_ON_SURFACE - 6.0 + 3.0 AVE_DSWRF_ON_SURFACE NCEP - 6.0 + 3.0 AVE_CDUVB_ON_SURFACE NCEP - 6.0 + 3.0 AVE_DUVB_ON_SURFACE NCEP - 6.0 + 3.0 AVE_DLWRF_ON_SURFACE NCEP - 4.0 + 3.0 AVE_USWRF_ON_SURFACE NCEP - 6.0 + 3.0 AVE_ULWRF_ON_SURFACE NCEP - 4.0 + 3.0 AVE_USWRF_ON_TOP_OF_ATMOS NCEP - 6.0 + 3.0 AVE_ULWRF_ON_TOP_OF_ATMOS NCEP - 4.0 + 3.0 BRTMP_ON_TOP_OF_ATMOS - 4.0 + 3.0 SFCR_ON_SURFACE - 6.0 + 4.0 @@ -545,7 +456,7 @@ ICEC_ON_SURFACE - 4.0 + 1.0 @@ -565,7 +476,7 @@ TMP_ON_TROPOPAUSE - 4.0 + 3.0 @@ -587,7 +498,7 @@ TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL 305. 457. 610. 914. 1829. 2743. 3658. 4572. - 4.0 + 3.0 @@ -605,18 +516,18 @@ TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT 80. 100. - 4.0 + 3.0 UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - 20. 30. 40. 50. 80. 100. + 80. 100. 4.0 VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - 20. 30. 40. 50. 80. 100. + 80. 100. 4.0 @@ -629,7 +540,7 @@ SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT 80. - 7.0 + 4.0 @@ -639,7 +550,7 @@ RH_ON_0C_ISOTHERM - 3.0 + 2.0 @@ -649,42 +560,42 @@ RH_ON_HGHST_TROP_FRZ_LVL - 3.0 + 2.0 TMP_ON_SPEC_PRES_ABOVE_GRND 3000. 6000. 9000. 12000. 15000. 18000. 0. 3000. 6000. 9000. 12000. 15000. - 4.0 + 3.0 DPT_ON_SPEC_PRES_ABOVE_GRND 3000. 0. - 4.0 + 3.0 SPFH_ON_SPEC_PRES_ABOVE_GRND 3000. 6000. 9000. 12000. 15000. 18000. 0. 3000. 6000. 9000. 12000. 15000. - 7.0 + 5.0 RH_ON_SPEC_PRES_ABOVE_GRND 3000. 6000. 9000. 12000. 15000. 18000. 0. 3000. 6000. 9000. 12000. 15000. - 3.0 + 2.0 PWAT_ON_SPEC_PRES_ABOVE_GRND 3000. 0. - 6.0 + 3.0 @@ -703,22 +614,18 @@ RH_ON_SIGMA_LVL_0.33-1.0 - 3.0 RH_ON_SIGMA_LVL_0.44-1.0 - 3.0 RH_ON_SIGMA_LVL_0.72-0.94 - 3.0 RH_ON_SIGMA_LVL_0.44-0.72 - 3.0 @@ -773,7 +680,7 @@ TMP_ON_MAX_WIND - 4.0 + 3.0 @@ -824,32 +731,32 @@ AVE_TMP_ON_LOW_CLOUD_TOP_LVL - 4.0 + 3.0 AVE_TMP_ON_MID_CLOUD_TOP_LVL - 4.0 + 3.0 AVE_TMP_ON_HIGH_CLOUD_TOP_LVL - 4.0 + 3.0 GFS_TCDC_ON_CONVECTIVE_CLOUD_LYR - 4.0 + 2.0 CWAT_ON_ENTIRE_ATMOS_SINGLE_LYR - 6.0 + 3.0 RH_ON_ENTIRE_ATMOS_SINGLE_LYR - 3.0 + 2.0 @@ -871,32 +778,31 @@ TCDC_ON_ISOBARIC_SFC - 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 + 47500. + 3.0 UGRD_ON_ISENTROPIC_LVL - 320. + 320. 450. 550. 650. 4.0 VGRD_ON_ISENTROPIC_LVL - 320. + 320. 450. 550. 650. 4.0 TMP_ON_ISENTROPIC_LVL - 320. - 4.0 + 320. 450. 550. 650. + 3.0 PVORT_ON_ISENTROPIC_LVL - 320. + 310. 320. 350. 450. 550. 650. 4.0 @@ -951,13 +857,13 @@ AVE_TCDC_ON_BOUND_LYR_CLOUD_LYR - 4.0 + 3.0 AVE_CWORK_ON_ENTIRE_ATMOS_SINGLE_LYR NCEP - 6.0 + 4.0 @@ -1026,7 +932,7 @@ CPOFP_ON_SURFACE 4.0 - + APTMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m @@ -1034,125 +940,300 @@ - INST_PRATE_ON_SURFACE + AVE_SNOHF_ON_SURFACE + SNOHF + AVE + 4.0 + + + + AVE_SNOWC_ON_SURFACE + SNOWC + AVE + 3.0 + + + + HGT_ON_CLOUD_CEILING + HGT 6.0 - CPRAT_ON_SURFACE + UGRD_ON_HYBRID_LVL + UGRD + 1. 2. 3. 4. + 4.0 + + + + VGRD_ON_HYBRID_LVL + VGRD + 1. 2. 3. 4. + 4.0 + + + + HGT_ON_HYBRID_LVL + HGT + 1. 2. 3. 4. + 4.0 + + + + TMP_ON_HYBRID_LVL + TMP + 1. 2. 3. 4. + 4.0 + + + + RH_ON_HYBRID_LVL + RH + 1. 2. 3. 4. + 4.0 + + + + PRES_ON_HYBRID_LVL + PRES + 1. 2. 3. 4. 6.0 - SNMR_ON_HYBRID_LVL + DUST1_ON_HYBRID_LVL + NCEP 1. - 6.0 + 11.0 - + - RWMR_ON_HYBRID_LVL + DUST2_ON_HYBRID_LVL + NCEP 1. - 6.0 + 11.0 - CLMR_ON_HYBRID_LVL + DUST3_ON_HYBRID_LVL + NCEP 1. - 6.0 + 11.0 - ICMR_ON_HYBRID_LVL + DUST4_ON_HYBRID_LVL + NCEP 1. - 6.0 + 11.0 - GRLE_ON_HYBRID_LVL + DUST5_ON_HYBRID_LVL + NCEP 1. - 6.0 + 11.0 - ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - 10. - 4.0 + SEASALT1_ON_HYBRID_LVL + NCEP + 1. + 11.0 - SOTYP_ON_SURFACE - 4.0 + SEASALT2_ON_HYBRID_LVL + NCEP + 1. + 11.0 - VEG_ON_SURFACE - 3.0 + SEASALT3_ON_HYBRID_LVL + NCEP + 1. + 11.0 - ICETMP_ON_SURFACE - 5.0 + SEASALT4_ON_HYBRID_LVL + NCEP + 1. + 11.0 - HGT_ON_CLOUD_CEILING - 6.0 + SEASALT5_ON_HYBRID_LVL + NCEP + 1. + 11.0 - INST_TCDC_ON_ENTIRE_ATMOS - 4.0 + BCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 - LCDC_ON_LOW_CLOUD_LYR - LCDC - 4.0 + BCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 - MCDC_ON_MID_CLOUD_LYR - MCDC - 4.0 + OCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 - HCDC_ON_HIGH_CLOUD_LYR - HCDC - 4.0 + OCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 - REFD_ON_SPEC_HGT_LVL_ABOVE_GRND - REFD + SO4_ON_HYBRID_LVL NCEP - 4000. 1000. - 4.0 + 1. + 11.0 + + + + AER_OPT_DEP_at550 + 9.0 + + + + DUST_AER_OPT_DEP_at550 + 9.0 + + + + SEASALT_AER_OPT_DEP_at550 + 9.0 + + + + SULFATE_AER_OPT_DEP_at550 + 9.0 + + + + ORGANIC_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + BLACK_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + AER_SCAT_OPT_DEP_at550 + 9.0 - REFD_ON_HYBRID_LVL - REFD + DUST25_SFC_MASS_CON NCEP - 1. 2. - 4.0 + 9.0 + + + + DUST10_SFC_MASS_CON + NCEP + 9.0 + + + + SEAS25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_SFC_MASS_CON + NCEP + 9.0 + + + + PM25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_COL_MASS_DEN + 9.0 + + + + PM25_COL_MASS_DEN + 9.0 + + + + DUST_COL_MASS_DEN + 9.0 + + + + SEAS_COL_MASS_DEN + 9.0 + + + + BC_COL_MASS_DEN + 9.0 + + + + OC_COL_MASS_DEN + 9.0 - MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - 9000. - 0. - 4.0 + SULF_COL_MASS_DEN + 9.0 - MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - 9000. - 0. - 4.0 + 549 + FDNSSTMP_ON_SURFACE + FDNSSTMP + surface + 4.0 + + + + 1004 + ACM_SNOWFALL_ON_SURFACE + tmpl4_8 + TSNOWP + ACM + surface + 4.0 + + + 1005 + BUCKET_SNOWFALL_ON_SURFACE + tmpl4_8 + TSNOWP + ACM + surface + 4.0 + + diff --git a/parm/postcntrl.xml b/parm/gefs/postcntrl_gefs_aerosol_f00.xml old mode 100755 new mode 100644 similarity index 71% rename from parm/postcntrl.xml rename to parm/gefs/postcntrl_gefs_aerosol_f00.xml index 082bf4ceed..426c4803a5 --- a/parm/postcntrl.xml +++ b/parm/gefs/postcntrl_gefs_aerosol_f00.xml @@ -1,6 +1,6 @@ - + GFSPRS 0 @@ -10,90 +10,75 @@ fcst oper fcst - fcst + ens_fcst hour nws_ncep - gfs_avn + gefs complex_packing_spatial_diff 2nd_ord_sptdiff fltng_pnt lossless + pos_pert_fcst HGT_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. 6.0 TMP_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 3.0 SPFH_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 RH_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 + 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 3.0 UGRD_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 VGRD_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 VVEL_ON_ISOBARIC_SFC - 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. - 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. 5.0 ABSV_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 + 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 O3MR_ON_ISOBARIC_SFC NCEP 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 20000. 25000. 30000. 35000. 40000. - 5.0 + 5.0 - CLWMR_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 - - - - ICIP_ON_ISOBARIC_SFC - 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. - 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 + CLMR_ON_ISOBARIC_SFC + 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 @@ -153,9 +138,9 @@ TSOIL_ON_DEPTH_BEL_LAND_SFC - 2 2 2 2 + 2 2 2 2 0. 10. 40. 100. - 2 2 2 2 + 2 2 2 2 10. 40. 100. 200. 4.0 @@ -163,9 +148,9 @@ SOILW_ON_DEPTH_BEL_LAND_SFC NCEP - 2 2 2 2 + 2 2 2 2 0. 10. 40. 100. - 2 2 2 2 + 2 2 2 2 10. 40. 100. 200. 3.0 @@ -173,9 +158,9 @@ SOILL_ON_DEPTH_BEL_LAND_SFC NCEP - 2 2 2 2 + 2 2 2 2 0. 10. 40. 100. - 2 2 2 2 + 2 2 2 2 10. 40. 100. 200. 3.0 @@ -300,129 +285,11 @@ 4.0 - - ACM_APCP_ON_SURFACE - 4.0 - - - - ACM_ACPCP_ON_SURFACE - 4.0 - - - - ACM_NCPCP_ON_SURFACE - 4.0 - - - - AVE_CRAIN_ON_SURFACE - NCEP - 1.0 - - - - AVE_CSNOW_ON_SURFACE - NCEP - 1.0 - - - - AVE_CICEP_ON_SURFACE - NCEP - 1.0 - - - - AVE_CFRZR_ON_SURFACE - NCEP - 1.0 - - - - AVE_PRATE_ON_SURFACE - 4.0 - - - - AVE_CPRAT_ON_SURFACE - NCEP - 4.0 - - - - AVE_TCDC_ON_LOW_CLOUD_LYR - 3.0 - - - - AVE_TCDC_ON_MID_CLOUD_LYR - 3.0 - - - - AVE_TCDC_ON_HIGH_CLOUD_LYR - 3.0 - - - - AVE_TCDC_ON_ENTIRE_ATMOS - 3.0 - - VIS_ON_SURFACE 3.0 - - AVE_DSWRF_ON_SURFACE - NCEP - 3.0 - - - - AVE_CDUVB_ON_SURFACE - NCEP - 3.0 - - - - AVE_DUVB_ON_SURFACE - NCEP - 3.0 - - - - AVE_DLWRF_ON_SURFACE - NCEP - 3.0 - - - - AVE_USWRF_ON_SURFACE - NCEP - 3.0 - - - - AVE_ULWRF_ON_SURFACE - NCEP - 3.0 - - - - AVE_USWRF_ON_TOP_OF_ATMOS - NCEP - 3.0 - - - - AVE_ULWRF_ON_TOP_OF_ATMOS - NCEP - 3.0 - - BRTMP_ON_TOP_OF_ATMOS 3.0 @@ -439,44 +306,13 @@ 4.0 - - AVE_SHTFL_ON_SURFACE - 4.0 - - - - AVE_GFLUX_ON_SURFACE - NCEP - 4.0 - - - - AVE_LHTFL_ON_SURFACE - 4.0 - - - - AVE_UFLX_ON_SURFACE - 4.0 - - - - AVE_VFLX_ON_SURFACE - 4.0 - - LAND_ON_SURFACE ICEC_ON_SURFACE - 3.0 - - - - AVE_ALBDO_ON_SURFACE - 4.0 + 1.0 @@ -704,66 +540,6 @@ 6.0 - - PRES_ON_CONVECTIVE_CLOUD_BOT_LVL - 6.0 - - - - PRES_ON_CONVECTIVE_CLOUD_TOP_LVL - 6.0 - - - - AVE_PRES_ON_LOW_CLOUD_BOT_LVL - 6.0 - - - - AVE_PRES_ON_MID_CLOUD_BOT_LVL - 6.0 - - - - AVE_PRES_ON_HIGH_CLOUD_BOT_LVL - 6.0 - - - - AVE_PRES_ON_LOW_CLOUD_TOP_LVL - 6.0 - - - - AVE_PRES_ON_MID_CLOUD_TOP_LVL - 6.0 - - - - AVE_PRES_ON_HIGH_CLOUD_TOP_LVL - 6.0 - - - - AVE_TMP_ON_LOW_CLOUD_TOP_LVL - 3.0 - - - - AVE_TMP_ON_MID_CLOUD_TOP_LVL - 3.0 - - - - AVE_TMP_ON_HIGH_CLOUD_TOP_LVL - 3.0 - - - - GFS_TCDC_ON_CONVECTIVE_CLOUD_LYR - 2.0 - - CWAT_ON_ENTIRE_ATMOS_SINGLE_LYR 3.0 @@ -799,25 +575,25 @@ UGRD_ON_ISENTROPIC_LVL - 320. + 320. 450. 550. 650. 4.0 VGRD_ON_ISENTROPIC_LVL - 320. + 320. 450. 550. 650. 4.0 TMP_ON_ISENTROPIC_LVL - 320. + 320. 450. 550. 650. 3.0 PVORT_ON_ISENTROPIC_LVL - 320. + 310. 320. 350. 450. 550. 650. 4.0 @@ -871,88 +647,357 @@ - AVE_TCDC_ON_BOUND_LYR_CLOUD_LYR - 3.0 + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 - AVE_CWORK_ON_ENTIRE_ATMOS_SINGLE_LYR - NCEP + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m 4.0 - AVE_U-GWD_ON_SURFACE - NCEP - 5.0 + ICAHT_ON_MAX_WIND + 6.0 + + + + ICAHT_ON_TROPOPAUSE + 6.0 - AVE_V-GWD_ON_SURFACE + SUNSD_ON_SURFACE NCEP 5.0 - ACM_WATR_ON_SURFACE - 6.0 + UGRD_ON_PLANETARY_BOUND_LYR + 3.0 - MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + VGRD_ON_PLANETARY_BOUND_LYR + 3.0 + + + + VRATE_ON_PLANETARY_BOUND_LYR + 3.0 + + + + HINDEX_ON_SURFACE + 1.0 + + + + CPOFP_ON_SURFACE + 4.0 + + + + APTMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m 4.0 - MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + AVE_SNOHF_ON_SURFACE + SNOHF + AVE 4.0 - ICAHT_ON_MAX_WIND + AVE_SNOWC_ON_SURFACE + SNOWC + AVE + 3.0 + + + + HGT_ON_CLOUD_CEILING + HGT 6.0 - ICAHT_ON_TROPOPAUSE + UGRD_ON_HYBRID_LVL + UGRD + 1. 2. 3. 4. + 4.0 + + + + VGRD_ON_HYBRID_LVL + VGRD + 1. 2. 3. 4. + 4.0 + + + + HGT_ON_HYBRID_LVL + HGT + 1. 2. 3. 4. + 4.0 + + + + TMP_ON_HYBRID_LVL + TMP + 1. 2. 3. 4. + 4.0 + + + + RH_ON_HYBRID_LVL + RH + 1. 2. 3. 4. + 4.0 + + + + PRES_ON_HYBRID_LVL + PRES + 1. 2. 3. 4. 6.0 - SUNSD_ON_SURFACE + DUST1_ON_HYBRID_LVL NCEP - 5.0 + 1. + 11.0 - UGRD_ON_PLANETARY_BOUND_LYR - 3.0 + DUST2_ON_HYBRID_LVL + NCEP + 1. + 11.0 - VGRD_ON_PLANETARY_BOUND_LYR - 3.0 + DUST3_ON_HYBRID_LVL + NCEP + 1. + 11.0 - VRATE_ON_PLANETARY_BOUND_LYR - 3.0 + DUST4_ON_HYBRID_LVL + NCEP + 1. + 11.0 - HINDEX_ON_SURFACE - 1.0 + DUST5_ON_HYBRID_LVL + NCEP + 1. + 11.0 - CPOFP_ON_SURFACE + SEASALT1_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT2_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT5_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SO4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + AER_OPT_DEP_at550 + 9.0 + + + + DUST_AER_OPT_DEP_at550 + 9.0 + + + + SEASALT_AER_OPT_DEP_at550 + 9.0 + + + + SULFATE_AER_OPT_DEP_at550 + 9.0 + + + + ORGANIC_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + BLACK_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + AER_SCAT_OPT_DEP_at550 + 9.0 + + + + DUST25_SFC_MASS_CON + NCEP + 9.0 + + + + DUST10_SFC_MASS_CON + NCEP + 9.0 + + + + SEAS25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_SFC_MASS_CON + NCEP + 9.0 + + + + PM25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_COL_MASS_DEN + 9.0 + + + + PM25_COL_MASS_DEN + 9.0 + + + + DUST_COL_MASS_DEN + 9.0 + + + + SEAS_COL_MASS_DEN + 9.0 + + + + BC_COL_MASS_DEN + 9.0 + + + + OC_COL_MASS_DEN + 9.0 + + + + SULF_COL_MASS_DEN + 9.0 + + + + 549 + FDNSSTMP_ON_SURFACE + FDNSSTMP + surface 4.0 - + - APTMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 1004 + ACM_SNOWFALL_ON_SURFACE + tmpl4_8 + TSNOWP + ACM + surface 4.0 + + + 1005 + BUCKET_SNOWFALL_ON_SURFACE + tmpl4_8 + TSNOWP + ACM + surface + 4.0 + + + diff --git a/parm/postcntrl_gefs_f00.xml b/parm/gefs/postcntrl_gefs_f00.xml similarity index 95% rename from parm/postcntrl_gefs_f00.xml rename to parm/gefs/postcntrl_gefs_f00.xml index a1a9e8d28b..5b5c1a555b 100644 --- a/parm/postcntrl_gefs_f00.xml +++ b/parm/gefs/postcntrl_gefs_f00.xml @@ -18,7 +18,7 @@ 2nd_ord_sptdiff fltng_pnt lossless - negatively_pert_fcst + pos_pert_fcst HGT_ON_ISOBARIC_SFC @@ -81,18 +81,6 @@ 4.0 - - ICIP_ON_ISOBARIC_SFC - 30000. 40000. 50000. 60000. 70000. 80000. - 3.0 - - - - ICSEV_ON_ISOBARIC_SFC - 30000. 40000. 50000. 60000. 70000. 80000. - 3.0 - - MSLET_ON_MEAN_SEA_LVL 6.0 @@ -774,6 +762,39 @@ 6.0 + + 549 + FDNSSTMP_ON_SURFACE + FDNSSTMP + surface + 4.0 + + + + 1004 + ACM_SNOWFALL_ON_SURFACE + tmpl4_8 + TSNOWP + ACM + surface + 4.0 + + + + 1005 + BUCKET_SNOWFALL_ON_SURFACE + tmpl4_8 + TSNOWP + ACM + surface + 4.0 + + + + ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + 10. + 4.0 + diff --git a/parm/gefs/postxconfig-NT-gefs-aerosol.txt b/parm/gefs/postxconfig-NT-gefs-aerosol.txt new file mode 100644 index 0000000000..9868aa2568 --- /dev/null +++ b/parm/gefs/postxconfig-NT-gefs-aerosol.txt @@ -0,0 +1,8797 @@ +1 +209 +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +ens_fcst +hour +nws_ncep +gefs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +pos_pert_fcst +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +31 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +31 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +31 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +26 +1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +31 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +31 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +20 +VVEL_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VVEL +? +? +isobaric_sfc +0 +? +31 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +26 +1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +268 +O3MR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +O3MR +NCEP +? +isobaric_sfc +0 +? +18 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 20000. 25000. 30000. 35000. 40000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +26 +1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +105 +PRES_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +PRMSL +? +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +NCEP +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +349 +ICETK_ON_SURFACE +? +1 +tmpl4_0 +ICETK +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +yes +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +yes +397 +FLDCP_ON_SURFACE +? +1 +tmpl4_0 +FLDCP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +yes +572 +GFS_LFTX_ON_SURFACE +? +1 +tmpl4_0 +LFTX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +573 +GFS_4LFTX_ON_SURFACE +? +1 +tmpl4_0 +4LFTX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +75 +PLI_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLI +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +0. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +0. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +1 +0. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +0. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +0. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +33 +ACM_ACPCP_ON_SURFACE +? +1 +tmpl4_8 +ACPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +34 +ACM_NCPCP_ON_SURFACE +? +1 +tmpl4_8 +NCPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +317 +AVE_CRAIN_ON_SURFACE +? +1 +tmpl4_8 +CRAIN +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +555 +AVE_CSNOW_ON_SURFACE +average Categorical snow on surface +1 +tmpl4_8 +CSNOW +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +556 +AVE_CICEP_ON_SURFACE +average Categorical ice pellets on surface +1 +tmpl4_8 +CICEP +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +557 +AVE_CFRZR_ON_SURFACE +average Categorical freezing rain on surface +1 +tmpl4_8 +CFRZR +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +271 +AVE_PRATE_ON_SURFACE +? +1 +tmpl4_8 +PRATE +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +272 +AVE_CPRAT_ON_SURFACE +? +1 +tmpl4_8 +CPRAT +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +300 +AVE_TCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_8 +LCDC +? +AVE +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +301 +AVE_TCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_8 +MCDC +? +AVE +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +302 +AVE_TCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_8 +HCDC +? +AVE +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +180 +VIS_ON_SURFACE +? +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +297 +AVE_CDUVB_ON_SURFACE +? +1 +tmpl4_8 +CDUVB +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +298 +AVE_DUVB_ON_SURFACE +? +1 +tmpl4_8 +DUVB +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +275 +BRTMP_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +BRTEMP +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +269 +AVE_UFLX_ON_SURFACE +? +1 +tmpl4_8 +UFLX +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +270 +AVE_VFLX_ON_SURFACE +? +1 +tmpl4_8 +VFLX +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +266 +AVE_ALBDO_ON_SURFACE +? +1 +tmpl4_8 +ALBDO +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +NCEP +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +8 +305. 457. 610. 914. 1829. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +8 +305. 457. 610. 914. 1829. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +8 +305. 457. 610. 914. 1829. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +586 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +80. 100. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +80. 100. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +577 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +80. 100. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +579 +PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +PRES +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +578 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +68 +TMP_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +TMP +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +70 +DPT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +DPT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +71 +SPFH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +SPFH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +72 +RH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +RH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +89 +PWAT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PWAT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +73 +UGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +UGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +74 +VGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +VGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +66 +RH_ON_SIGMA_LVL_0.33-1.0 +? +1 +tmpl4_0 +RH +? +? +sigma_lvl +1 +2 +1 +33. +sigma_lvl +1 +2 +1 +100. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +318 +RH_ON_SIGMA_LVL_0.44-1.0 +? +1 +tmpl4_0 +RH +? +? +sigma_lvl +1 +2 +1 +44. +sigma_lvl +1 +2 +1 +100. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +319 +RH_ON_SIGMA_LVL_0.72-0.94 +? +1 +tmpl4_0 +RH +? +? +sigma_lvl +1 +2 +1 +72. +sigma_lvl +1 +2 +1 +94. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +320 +RH_ON_SIGMA_LVL_0.44-0.72 +? +1 +tmpl4_0 +RH +? +? +sigma_lvl +1 +2 +1 +44. +sigma_lvl +1 +2 +1 +72. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +321 +TMP_ON_SIGMA_LVL_0.9950 +? +1 +tmpl4_0 +TMP +? +? +sigma_lvl +1 +4 +1 +9950. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +322 +POT_ON_SIGMA_LVL_0.9950 +? +1 +tmpl4_0 +POT +? +? +sigma_lvl +1 +4 +1 +9950. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +323 +RH_ON_SIGMA_LVL_0.9950 +? +1 +tmpl4_0 +RH +? +? +sigma_lvl +1 +4 +1 +9950. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +324 +UGRD_ON_SIGMA_LVL_0.9950 +? +1 +tmpl4_0 +UGRD +? +? +sigma_lvl +1 +4 +1 +9950. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +325 +VGRD_ON_SIGMA_LVL_0.9950 +? +1 +tmpl4_0 +VGRD +? +? +sigma_lvl +1 +4 +1 +9950. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +326 +VVEL_ON_SIGMA_LVL_0.9950 +? +1 +tmpl4_0 +VVEL +? +? +sigma_lvl +1 +4 +1 +9950. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +314 +TMP_ON_MAX_WIND +? +1 +tmpl4_0 +TMP +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +188 +PRES_ON_CONVECTIVE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +convective_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +189 +PRES_ON_CONVECTIVE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +convective_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +303 +AVE_PRES_ON_LOW_CLOUD_BOT_LVL +? +1 +tmpl4_8 +PRES +? +AVE +low_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +306 +AVE_PRES_ON_MID_CLOUD_BOT_LVL +? +1 +tmpl4_8 +PRES +? +AVE +mid_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +309 +AVE_PRES_ON_HIGH_CLOUD_BOT_LVL +? +1 +tmpl4_8 +PRES +? +AVE +high_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +304 +AVE_PRES_ON_LOW_CLOUD_TOP_LVL +? +1 +tmpl4_8 +PRES +? +AVE +low_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +307 +AVE_PRES_ON_MID_CLOUD_TOP_LVL +? +1 +tmpl4_8 +PRES +? +AVE +mid_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +310 +AVE_PRES_ON_HIGH_CLOUD_TOP_LVL +? +1 +tmpl4_8 +PRES +? +AVE +high_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +305 +AVE_TMP_ON_LOW_CLOUD_TOP_LVL +? +1 +tmpl4_8 +TMP +? +AVE +low_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +308 +AVE_TMP_ON_MID_CLOUD_TOP_LVL +? +1 +tmpl4_8 +TMP +? +AVE +mid_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +311 +AVE_TMP_ON_HIGH_CLOUD_TOP_LVL +? +1 +tmpl4_8 +TMP +? +AVE +high_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +570 +GFS_TCDC_ON_CONVECTIVE_CLOUD_LYR +? +1 +tmpl4_0 +TCDC +? +? +convective_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +575 +CWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +CWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +312 +RH_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RH +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +299 +TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +TOZNE +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +331 +TCDC_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TCDC +? +? +isobaric_sfc +0 +? +1 +47500. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +332 +UGRD_ON_ISENTROPIC_LVL +? +1 +tmpl4_0 +UGRD +? +? +isentropic_lvl +0 +? +4 +320. 450. 550. 650. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +333 +VGRD_ON_ISENTROPIC_LVL +? +1 +tmpl4_0 +VGRD +? +? +isentropic_lvl +0 +? +4 +320. 450. 550. 650. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +334 +TMP_ON_ISENTROPIC_LVL +? +1 +tmpl4_0 +TMP +? +? +isentropic_lvl +0 +? +4 +320. 450. 550. 650. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +335 +PVORT_ON_ISENTROPIC_LVL +? +1 +tmpl4_0 +PVORT +? +? +isentropic_lvl +0 +? +6 +310. 320. 350. 450. 550. 650. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +353 +MNTSF_ON_ISENTROPIC_LVL +? +1 +tmpl4_0 +MNTSF +? +? +isentropic_lvl +0 +? +1 +320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +336 +UGRD_ON_POT_VORT_SFC +? +1 +tmpl4_0 +UGRD +? +? +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +337 +VGRD_ON_POT_VORT_SFC +? +1 +tmpl4_0 +VGRD +? +? +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +338 +TMP_ON_POT_VORT_SFC +? +1 +tmpl4_0 +TMP +? +? +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +339 +HGT_ON_POT_VORT_SFC +? +1 +tmpl4_0 +HGT +? +? +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +340 +PRES_ON_POT_VORT_SFC +? +1 +tmpl4_0 +PRES +? +? +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +341 +VWSH_ON_POT_VORT_SFC +? +1 +tmpl4_0 +VWSH +NCEP +? +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +342 +AVE_TCDC_ON_BOUND_LYR_CLOUD_LYR +? +1 +tmpl4_8 +TCDC +? +AVE +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +313 +AVE_CWORK_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_8 +CWORK +NCEP +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +315 +AVE_U-GWD_ON_SURFACE +? +1 +tmpl4_8 +U-GWD +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +316 +AVE_V-GWD_ON_SURFACE +? +1 +tmpl4_8 +V-GWD +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +343 +ACM_WATR_ON_SURFACE +? +1 +tmpl4_8 +WATR +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +398 +ICAHT_ON_MAX_WIND +? +1 +tmpl4_0 +ICAHT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +399 +ICAHT_ON_TROPOPAUSE +? +1 +tmpl4_0 +ICAHT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +396 +SUNSD_ON_SURFACE +? +1 +tmpl4_0 +SUNSD +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +389 +UGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +UGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +390 +VGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +VGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +454 +VRATE_ON_PLANETARY_BOUND_LYR +Ventilation Rate on planetary boundary layer +1 +tmpl4_0 +VRATE +NCEP +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +455 +HINDEX_ON_SURFACE +Haines Index on surface +1 +tmpl4_0 +HINDEX +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +808 +APTMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +APTMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +500 +AVE_SNOWC_ON_SURFACE +? +1 +tmpl4_8 +SNOWC +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +260 +HGT_ON_CLOUD_CEILING +? +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +4 +1. 2. 3. 4. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +4 +1. 2. 3. 4. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +4 +1. 2. 3. 4. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +4 +1. 2. 3. 4. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +6 +RH_ON_HYBRID_LVL +? +1 +tmpl4_0 +RH +? +? +hybrid_lvl +0 +? +4 +1. 2. 3. 4. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +4 +1. 2. 3. 4. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +629 +DUST1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +20 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +630 +DUST2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +20 +7 +36 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +631 +DUST3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +36 +7 +60 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +632 +DUST4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +60 +7 +120 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +633 +DUST5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +120 +7 +200 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +634 +SEASALT1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +8 +6 +8 +20 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +635 +SEASALT2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +10 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +636 +SEASALT3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +10 +7 +30 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +637 +SEASALT4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +30 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +638 +SEASALT5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +100 +7 +200 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +643 +BCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophilic +? +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +642 +BCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophobic +? +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +641 +OCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophilic +? +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +640 +OCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophobic +? +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +639 +SO4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sulphate_dry +? +equall_to_first_limit +9 +139 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +609 +AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +610 +DUST_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +611 +SEASALT_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +612 +SULFATE_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +613 +ORGANIC_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +614 +BLACK_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +650 +AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +686 +DUST25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +685 +DUST10_SFC_MASS_CON +? +1 +tmpl4_48 +PMTC +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +684 +SEAS25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +619 +PM10_SFC_MASS_CON +? +1 +tmpl4_48 +PMTC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +620 +PM25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +621 +PM10_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +622 +PM25_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +646 +DUST_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +647 +SEAS_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +616 +BC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +? +smaller_than_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +617 +OC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +618 +SULF_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +549 +FDNSSTMP_ON_SURFACE +? +1 +tmpl4_0 +FDNSSTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1005 +BUCKET_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/postxconfig-NT-gefs-chem.txt b/parm/gefs/postxconfig-NT-gefs-chem.txt similarity index 100% rename from parm/postxconfig-NT-gefs-chem.txt rename to parm/gefs/postxconfig-NT-gefs-chem.txt diff --git a/parm/postxconfig-NT-GEFS.txt b/parm/gefs/postxconfig-NT-gefs-f00-aerosol.txt similarity index 81% rename from parm/postxconfig-NT-GEFS.txt rename to parm/gefs/postxconfig-NT-gefs-f00-aerosol.txt index e190584dc8..c359d22e54 100644 --- a/parm/postxconfig-NT-GEFS.txt +++ b/parm/gefs/postxconfig-NT-gefs-f00-aerosol.txt @@ -1,5 +1,5 @@ 1 -172 +165 GFSPRS 0 ncep_nco @@ -16,7 +16,7 @@ complex_packing_spatial_diff 2nd_ord_sptdiff fltng_pnt lossless -negatively_pert_fcst +pos_pert_fcst 12 HGT_ON_ISOBARIC_SFC ? @@ -37,6 +37,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -46,6 +47,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -74,6 +79,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -83,6 +89,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -111,6 +121,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -120,6 +131,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -148,6 +163,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -157,6 +173,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -185,6 +205,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -194,6 +215,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -222,6 +247,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -231,6 +257,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -259,6 +289,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -268,6 +299,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -296,6 +331,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -305,6 +341,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -333,6 +373,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -342,6 +383,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -370,6 +415,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -379,6 +425,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -407,6 +457,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -416,6 +467,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -444,6 +499,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -453,6 +509,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -481,6 +541,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -490,6 +551,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -518,6 +583,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -527,6 +593,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -555,6 +625,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -564,6 +635,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -592,6 +667,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -601,6 +677,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -629,6 +709,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -638,6 +719,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -666,6 +751,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -675,6 +761,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -703,6 +793,7 @@ surface ? ? ? +? 0 0.0 0 @@ -712,6 +803,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -740,6 +835,7 @@ surface ? ? ? +? 0 0.0 0 @@ -749,6 +845,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -777,6 +877,7 @@ surface ? ? ? +? 0 0.0 0 @@ -786,6 +887,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -814,6 +919,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -823,6 +929,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -851,6 +961,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -860,6 +971,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -888,6 +1003,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -897,6 +1013,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -925,6 +1045,7 @@ surface ? ? ? +? 0 0.0 0 @@ -934,6 +1055,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -962,6 +1087,7 @@ surface ? ? ? +? 0 0.0 0 @@ -971,6 +1097,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -999,6 +1129,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1008,6 +1139,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1036,6 +1171,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1045,6 +1181,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1073,6 +1213,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1082,6 +1223,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1110,6 +1255,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1119,6 +1265,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1147,6 +1297,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1156,6 +1307,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1184,6 +1339,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1193,6 +1349,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1221,6 +1381,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1230,6 +1391,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1258,6 +1423,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1267,6 +1433,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1295,6 +1465,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1304,6 +1475,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1332,6 +1507,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1341,6 +1517,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1369,6 +1549,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1378,6 +1559,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1406,6 +1591,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1415,6 +1601,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1443,6 +1633,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1452,6 +1643,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1480,6 +1675,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1489,6 +1685,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1517,6 +1717,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1526,6 +1727,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1554,6 +1759,7 @@ spec_hgt_lvl_above_grnd 0. ? ? +? 0 0.0 0 @@ -1563,6 +1769,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1591,6 +1801,7 @@ spec_hgt_lvl_above_grnd 0. ? ? +? 0 0.0 0 @@ -1600,6 +1811,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1628,6 +1843,7 @@ spec_hgt_lvl_above_grnd 0. ? ? +? 0 0.0 0 @@ -1637,6 +1853,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1645,14 +1865,14 @@ spec_hgt_lvl_above_grnd ? ? ? -87 -ACM_APCP_ON_SURFACE +180 +VIS_ON_SURFACE ? 1 -tmpl4_8 -APCP +tmpl4_0 +VIS +? ? -ACM surface 0 ? @@ -1665,6 +1885,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1674,23 +1895,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -33 -ACM_ACPCP_ON_SURFACE +275 +BRTMP_ON_TOP_OF_ATMOS ? 1 -tmpl4_8 -ACPCP +tmpl4_0 +BRTEMP ? -ACM -surface +? +top_of_atmos 0 ? 0 @@ -1702,6 +1927,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1711,22 +1937,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -34 -ACM_NCPCP_ON_SURFACE +44 +SFCR_ON_SURFACE ? 1 -tmpl4_8 -NCPCP +tmpl4_0 +SFCR +? ? -ACM surface 0 ? @@ -1739,6 +1969,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1748,6 +1979,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1756,14 +1991,14 @@ surface ? ? ? -317 -AVE_CRAIN_ON_SURFACE +45 +FRICV_ON_SURFACE ? 1 -tmpl4_8 -CRAIN +tmpl4_0 +FRICV NCEP -AVE +? surface 0 ? @@ -1776,6 +2011,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1785,22 +2021,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +4.0 0 0 0 ? ? ? -555 -AVE_CSNOW_ON_SURFACE -average Categorical snow on surface +50 +LAND_ON_SURFACE +? 1 -tmpl4_8 -CSNOW -NCEP -AVE +tmpl4_0 +LAND +? +? surface 0 ? @@ -1813,6 +2053,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1822,6 +2063,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -1830,14 +2075,14 @@ surface ? ? ? -556 -AVE_CICEP_ON_SURFACE -average Categorical ice pellets on surface +51 +ICEC_ON_SURFACE +? 1 -tmpl4_8 -CICEP -NCEP -AVE +tmpl4_0 +ICEC +? +? surface 0 ? @@ -1850,6 +2095,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1859,6 +2105,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -1867,15 +2117,15 @@ surface ? ? ? -557 -AVE_CFRZR_ON_SURFACE -average Categorical freezing rain on surface +54 +PRES_ON_TROPOPAUSE +? 1 -tmpl4_8 -CFRZR -NCEP -AVE -surface +tmpl4_0 +PRES +? +? +tropopause 0 ? 0 @@ -1887,6 +2137,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1896,23 +2147,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +6.0 0 0 0 ? ? ? -271 -AVE_PRATE_ON_SURFACE +177 +HGT_ON_TROPOPAUSE ? 1 -tmpl4_8 -PRATE +tmpl4_0 +HGT ? -AVE -surface +? +tropopause 0 ? 0 @@ -1924,6 +2179,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1933,23 +2189,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -272 -AVE_CPRAT_ON_SURFACE +55 +TMP_ON_TROPOPAUSE ? 1 -tmpl4_8 -CPRAT -NCEP -AVE -surface +tmpl4_0 +TMP +? +? +tropopause 0 ? 0 @@ -1961,6 +2221,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1970,23 +2231,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -300 -AVE_TCDC_ON_LOW_CLOUD_LYR +56 +UGRD_ON_TROPOPAUSE ? 1 -tmpl4_8 -LCDC +tmpl4_0 +UGRD ? -AVE -low_cloud_lyr +? +tropopause 0 ? 0 @@ -1998,6 +2263,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -2007,23 +2273,27 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -301 -AVE_TCDC_ON_MID_CLOUD_LYR +57 +VGRD_ON_TROPOPAUSE ? 1 -tmpl4_8 -MCDC +tmpl4_0 +VGRD ? -AVE -mid_cloud_lyr +? +tropopause 0 ? 0 @@ -2035,6 +2305,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -2044,23 +2315,27 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -302 -AVE_TCDC_ON_HIGH_CLOUD_LYR +58 +VWSH_ON_TROPOPAUSE ? 1 -tmpl4_8 -HCDC +tmpl4_0 +VWSH +NCEP ? -AVE -high_cloud_lyr +tropopause 0 ? 0 @@ -2072,6 +2347,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -2081,6 +2357,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2089,19 +2369,19 @@ high_cloud_lyr ? ? ? -144 -AVE_TCDC_ON_ENTIRE_ATMOS +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 -tmpl4_8 -TCDC +tmpl4_0 +TMP ? -AVE -entire_atmos_single_lyr -0 ? +spec_alt_above_mean_sea_lvl 0 ? +8 +305. 457. 610. 914. 1829. 2743. 3658. 4572. ? 0 ? @@ -2109,6 +2389,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -2118,6 +2399,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2126,19 +2411,19 @@ entire_atmos_single_lyr ? ? ? -180 -VIS_ON_SURFACE +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 tmpl4_0 -VIS -? +UGRD ? -surface -0 ? +spec_alt_above_mean_sea_lvl 0 ? +8 +305. 457. 610. 914. 1829. 2743. 3658. 4572. ? 0 ? @@ -2146,6 +2431,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2155,27 +2441,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -126 -AVE_DSWRF_ON_SURFACE +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 -tmpl4_8 -DSWRF -NCEP -AVE -surface -0 +tmpl4_0 +VGRD ? +? +spec_alt_above_mean_sea_lvl 0 ? +8 +305. 457. 610. 914. 1829. 2743. 3658. 4572. ? 0 ? @@ -2183,6 +2473,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2192,27 +2483,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -297 -AVE_CDUVB_ON_SURFACE +586 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT ? 1 -tmpl4_8 -CDUVB -NCEP -AVE -surface -0 +tmpl4_0 +TMP ? +? +spec_hgt_lvl_above_grnd 0 ? +2 +80. 100. ? 0 ? @@ -2220,6 +2515,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2229,6 +2525,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2237,19 +2537,19 @@ surface ? ? ? -298 -AVE_DUVB_ON_SURFACE +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT ? 1 -tmpl4_8 -DUVB -NCEP -AVE -surface -0 +tmpl4_0 +UGRD ? +? +spec_hgt_lvl_above_grnd 0 ? +2 +80. 100. ? 0 ? @@ -2257,6 +2557,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2266,27 +2567,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -127 -AVE_DLWRF_ON_SURFACE +577 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT ? 1 -tmpl4_8 -DLWRF -NCEP -AVE -surface -0 +tmpl4_0 +VGRD ? +? +spec_hgt_lvl_above_grnd 0 ? +2 +80. 100. ? 0 ? @@ -2294,6 +2599,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2303,27 +2609,31 @@ surface 0.0 0 0.0 -1 -3.0 +0 +0.0 +0 +0.0 +1 +4.0 0 0 0 ? ? ? -128 -AVE_USWRF_ON_SURFACE +579 +PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT ? 1 -tmpl4_8 -USWRF -NCEP -AVE -surface -0 +tmpl4_0 +PRES ? +? +spec_hgt_lvl_above_grnd 0 ? +1 +80. ? 0 ? @@ -2331,6 +2641,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2340,27 +2651,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -129 -AVE_ULWRF_ON_SURFACE +578 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT ? 1 -tmpl4_8 -ULWRF -NCEP -AVE -surface -0 +tmpl4_0 +SPFH ? +? +spec_hgt_lvl_above_grnd 0 ? +1 +80. ? 0 ? @@ -2368,6 +2683,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2377,23 +2693,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -130 -AVE_USWRF_ON_TOP_OF_ATMOS +62 +HGT_ON_0C_ISOTHERM ? 1 -tmpl4_8 -USWRF -NCEP -AVE -top_of_atmos +tmpl4_0 +HGT +? +? +0C_isotherm 0 ? 0 @@ -2405,6 +2725,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2414,23 +2735,27 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -131 -AVE_ULWRF_ON_TOP_OF_ATMOS +63 +RH_ON_0C_ISOTHERM ? 1 -tmpl4_8 -ULWRF -NCEP -AVE -top_of_atmos +tmpl4_0 +RH +? +? +0C_isotherm 0 ? 0 @@ -2442,6 +2767,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2451,23 +2777,27 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +2.0 0 0 0 ? ? ? -275 -BRTMP_ON_TOP_OF_ATMOS +165 +HGT_ON_HGHST_TROP_FRZ_LVL ? 1 tmpl4_0 -BRTMP +HGT ? ? -top_of_atmos +hghst_trop_frz_lvl 0 ? 0 @@ -2479,6 +2809,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2488,23 +2819,27 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -44 -SFCR_ON_SURFACE +350 +RH_ON_HGHST_TROP_FRZ_LVL ? 1 tmpl4_0 -SFCR +RH ? ? -surface +hghst_trop_frz_lvl 0 ? 0 @@ -2516,6 +2851,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2525,31 +2861,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +2.0 0 0 0 ? ? ? -45 -FRICV_ON_SURFACE +68 +TMP_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -FRICV -NCEP +TMP ? -surface -0 ? +spec_pres_above_grnd 0 ? -? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd 0 ? -0 +6 +0. 3000. 6000. 9000. 12000. 15000. ? ? ? @@ -2562,31 +2903,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -43 -AVE_SHTFL_ON_SURFACE +70 +DPT_ON_SPEC_PRES_ABOVE_GRND ? 1 -tmpl4_8 -SHTFL +tmpl4_0 +DPT ? -AVE -surface -0 ? +spec_pres_above_grnd 0 ? -? +1 +3000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -2599,32 +2945,37 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -135 -AVE_GFLUX_ON_SURFACE +71 +SPFH_ON_SPEC_PRES_ABOVE_GRND ? 1 -tmpl4_8 -GFLUX -NCEP -AVE -surface -0 -? -0 +tmpl4_0 +SPFH ? ? +spec_pres_above_grnd 0 ? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd 0 ? +6 +0. 3000. 6000. 9000. 12000. 15000. +? ? ? 0 @@ -2636,31 +2987,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -42 -AVE_LHTFL_ON_SURFACE +72 +RH_ON_SPEC_PRES_ABOVE_GRND ? 1 -tmpl4_8 -LHTFL +tmpl4_0 +RH ? -AVE -surface -0 ? +spec_pres_above_grnd 0 ? -? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd 0 ? -0 +6 +0. 3000. 6000. 9000. 12000. 15000. ? ? ? @@ -2673,31 +3029,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +2.0 0 0 0 ? ? ? -269 -AVE_UFLX_ON_SURFACE +89 +PWAT_ON_SPEC_PRES_ABOVE_GRND ? 1 -tmpl4_8 -UFLX +tmpl4_0 +PWAT ? -AVE -surface -0 ? +spec_pres_above_grnd 0 ? -? +1 +3000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -2710,31 +3071,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -270 -AVE_VFLX_ON_SURFACE +73 +UGRD_ON_SPEC_PRES_ABOVE_GRND ? 1 -tmpl4_8 -VFLX +tmpl4_0 +UGRD ? -AVE -surface -0 ? +spec_pres_above_grnd 0 ? -? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd 0 ? -0 +6 +0. 3000. 6000. 9000. 12000. 15000. ? ? ? @@ -2747,6 +3113,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2755,23 +3125,24 @@ surface ? ? ? -50 -LAND_ON_SURFACE +74 +VGRD_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -LAND +VGRD ? ? -surface +spec_pres_above_grnd 0 ? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd 0 ? -? -0 -? -0 +6 +0. 3000. 6000. 9000. 12000. 15000. ? ? ? @@ -2784,179 +3155,204 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +4.0 0 0 0 ? ? ? -51 -ICEC_ON_SURFACE +66 +RH_ON_SIGMA_LVL_0.33-1.0 ? 1 tmpl4_0 -ICEC +RH ? ? -surface -0 +sigma_lvl +1 +2 +1 +33. +sigma_lvl +1 +2 +1 +100. ? -0 ? ? 0 -? +0.0 0 -? -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -1.0 +2.0 0 0 0 ? ? ? -266 -AVE_ALBDO_ON_SURFACE +318 +RH_ON_SIGMA_LVL_0.44-1.0 ? 1 -tmpl4_8 -ALBDO +tmpl4_0 +RH ? -AVE -surface -0 ? -0 +sigma_lvl +1 +2 +1 +44. +sigma_lvl +1 +2 +1 +100. ? ? -0 ? 0 -? -? +0.0 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +2.0 0 0 0 ? ? ? -54 -PRES_ON_TROPOPAUSE +319 +RH_ON_SIGMA_LVL_0.72-0.94 ? 1 tmpl4_0 -PRES +RH ? ? -tropopause -0 +sigma_lvl +1 +2 +1 +72. +sigma_lvl +1 +2 +1 +94. ? -0 ? ? 0 -? +0.0 0 -? -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -6.0 +2.0 0 0 0 ? ? ? -177 -HGT_ON_TROPOPAUSE +320 +RH_ON_SIGMA_LVL_0.44-0.72 ? 1 tmpl4_0 -HGT +RH ? ? -tropopause -0 +sigma_lvl +1 +2 +1 +44. +sigma_lvl +1 +2 +1 +72. ? -0 ? ? 0 -? +0.0 0 -? -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -6.0 +2.0 0 0 0 ? ? ? -55 -TMP_ON_TROPOPAUSE +321 +TMP_ON_SIGMA_LVL_0.9950 ? 1 tmpl4_0 TMP ? ? -tropopause -0 +sigma_lvl +1 +4 +1 +9950. ? 0 ? -? 0 ? -0 ? ? ? @@ -2969,31 +3365,36 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -56 -UGRD_ON_TROPOPAUSE +322 +POT_ON_SIGMA_LVL_0.9950 ? 1 tmpl4_0 -UGRD +POT ? ? -tropopause -0 +sigma_lvl +1 +4 +1 +9950. ? 0 ? -? 0 ? -0 ? ? ? @@ -3006,6 +3407,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3014,23 +3419,24 @@ tropopause ? ? ? -57 -VGRD_ON_TROPOPAUSE +323 +RH_ON_SIGMA_LVL_0.9950 ? 1 tmpl4_0 -VGRD +RH ? ? -tropopause -0 +sigma_lvl +1 +4 +1 +9950. ? 0 ? -? 0 ? -0 ? ? ? @@ -3043,27 +3449,31 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -58 -VWSH_ON_TROPOPAUSE +324 +UGRD_ON_SIGMA_LVL_0.9950 ? 1 tmpl4_0 -VWSH -NCEP -? -tropopause -0 +UGRD ? -0 ? +sigma_lvl +1 +4 +1 +9950. ? 0 ? @@ -3071,6 +3481,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3080,27 +3491,31 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -59 -TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +325 +VGRD_ON_SIGMA_LVL_0.9950 ? 1 tmpl4_0 -TMP -? +VGRD ? -spec_alt_above_mean_sea_lvl -0 ? -8 -305. 457. 610. 914. 1829. 2743. 3658. 4572. +sigma_lvl +1 +4 +1 +9950. ? 0 ? @@ -3108,6 +3523,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -3117,27 +3533,31 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -60 -UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +326 +VVEL_ON_SIGMA_LVL_0.9950 ? 1 tmpl4_0 -UGRD -? +VVEL ? -spec_alt_above_mean_sea_lvl -0 ? -8 -305. 457. 610. 914. 1829. 2743. 3658. 4572. +sigma_lvl +1 +4 +1 +9950. ? 0 ? @@ -3145,6 +3565,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -3154,27 +3575,31 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -61 -VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +173 +PRES_ON_MAX_WIND ? 1 tmpl4_0 -VGRD +PRES ? ? -spec_alt_above_mean_sea_lvl +max_wind +0 +? 0 ? -8 -305. 457. 610. 914. 1829. 2743. 3658. 4572. ? 0 ? @@ -3182,6 +3607,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -3191,27 +3617,31 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -586 -TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +174 +HGT_ON_MAX_WIND ? 1 tmpl4_0 -TMP +HGT ? ? -spec_hgt_lvl_above_grnd +max_wind +0 +? 0 ? -2 -80. 100. ? 0 ? @@ -3219,6 +3649,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3228,27 +3659,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -576 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +175 +UGRD_ON_MAX_WIND ? 1 tmpl4_0 UGRD ? ? -spec_hgt_lvl_above_grnd +max_wind +0 +? 0 ? -2 -80. 100. ? 0 ? @@ -3256,6 +3691,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3265,6 +3701,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3273,19 +3713,19 @@ spec_hgt_lvl_above_grnd ? ? ? -577 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +176 +VGRD_ON_MAX_WIND ? 1 tmpl4_0 VGRD ? ? -spec_hgt_lvl_above_grnd +max_wind +0 +? 0 ? -2 -80. 100. ? 0 ? @@ -3293,6 +3733,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3302,6 +3743,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3310,19 +3755,19 @@ spec_hgt_lvl_above_grnd ? ? ? -579 -PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +314 +TMP_ON_MAX_WIND ? 1 tmpl4_0 -PRES +TMP ? ? -spec_hgt_lvl_above_grnd +max_wind +0 +? 0 ? -1 -80. ? 0 ? @@ -3330,6 +3775,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3339,27 +3785,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -578 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +221 +HPBL_ON_SURFACE ? 1 tmpl4_0 -SPFH +HPBL +NCEP ? +surface +0 ? -spec_hgt_lvl_above_grnd 0 ? -1 -80. ? 0 ? @@ -3367,6 +3817,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3376,23 +3827,27 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -62 -HGT_ON_0C_ISOTHERM +575 +CWAT_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 tmpl4_0 -HGT +CWAT ? ? -0C_isotherm +entire_atmos_single_lyr 0 ? 0 @@ -3404,6 +3859,7 @@ HGT ? ? ? +? 0 0.0 0 @@ -3413,23 +3869,27 @@ HGT 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -63 -RH_ON_0C_ISOTHERM +312 +RH_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 tmpl4_0 RH ? ? -0C_isotherm +entire_atmos_single_lyr 0 ? 0 @@ -3441,6 +3901,7 @@ RH ? ? ? +? 0 0.0 0 @@ -3450,6 +3911,10 @@ RH 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -3458,15 +3923,15 @@ RH ? ? ? -165 -HGT_ON_HGHST_TROP_FRZ_LVL +299 +TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 tmpl4_0 -HGT +TOZNE ? ? -hghst_trop_frz_lvl +entire_atmos_single_lyr 0 ? 0 @@ -3478,6 +3943,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -3487,23 +3953,27 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -350 -RH_ON_HGHST_TROP_FRZ_LVL +245 +GUST_ON_SURFACE ? 1 tmpl4_0 -RH +GUST ? ? -hghst_trop_frz_lvl +surface 0 ? 0 @@ -3515,48 +3985,16 @@ hghst_trop_frz_lvl ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -2.0 -0 -0 -0 -? -? -? -68 -TMP_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -TMP -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -3569,19 +4007,19 @@ spec_pres_above_grnd ? ? ? -70 -DPT_ON_SPEC_PRES_ABOVE_GRND +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -DPT -? +PLPL +NCEP ? spec_pres_above_grnd 0 ? 1 -3000. +25500. spec_pres_above_grnd 0 ? @@ -3589,122 +4027,58 @@ spec_pres_above_grnd 0. ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -3.0 -0 -0 -0 -? -? -? -71 -SPFH_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -SPFH -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -5.0 +6.0 0 0 0 ? ? ? -72 -RH_ON_SPEC_PRES_ABOVE_GRND +331 +TCDC_ON_ISOBARIC_SFC ? 1 tmpl4_0 -RH -? +TCDC ? -spec_pres_above_grnd -0 ? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd +isobaric_sfc 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. -? +1 +47500. ? 0 -0.0 -0 -0.0 ? 0 -0.0 -0 -0.0 -1 -2.0 -0 -0 -0 ? ? ? -89 -PWAT_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -PWAT ? -? -spec_pres_above_grnd 0 -? -1 -3000. -spec_pres_above_grnd +0.0 0 -? -1 -0. -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -3717,68 +4091,36 @@ spec_pres_above_grnd ? ? ? -73 -UGRD_ON_SPEC_PRES_ABOVE_GRND +332 +UGRD_ON_ISENTROPIC_LVL ? 1 tmpl4_0 UGRD ? ? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd +isentropic_lvl 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. -? +4 +320. 450. 550. 650. ? 0 -0.0 -0 -0.0 ? 0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 ? ? ? -74 -VGRD_ON_SPEC_PRES_ABOVE_GRND ? -1 -tmpl4_0 -VGRD -? -? -spec_pres_above_grnd 0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd +0.0 0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -3791,62 +4133,26 @@ spec_pres_above_grnd ? ? ? -66 -RH_ON_SIGMA_LVL_0.33-1.0 +333 +VGRD_ON_ISENTROPIC_LVL ? 1 tmpl4_0 -RH +VGRD ? ? -sigma_lvl -1 -2 -1 -33. -sigma_lvl -1 -2 -1 -100. +isentropic_lvl +0 ? +4 +320. 450. 550. 650. ? 0 -0.0 -0 -0.0 ? 0 -0.0 -0 -0.0 -1 -2.0 -0 -0 -0 -? -? -? -318 -RH_ON_SIGMA_LVL_0.44-1.0 ? -1 -tmpl4_0 -RH ? ? -sigma_lvl -1 -2 -1 -44. -sigma_lvl -1 -2 -1 -100. -? ? 0 0.0 @@ -3857,138 +4163,73 @@ sigma_lvl 0.0 0 0.0 -1 -2.0 -0 -0 -0 -? -? -? -319 -RH_ON_SIGMA_LVL_0.72-0.94 -? -1 -tmpl4_0 -RH -? -? -sigma_lvl -1 -2 -1 -72. -sigma_lvl -1 -2 -1 -94. -? -? -0 -0.0 -0 -0.0 -? 0 0.0 0 0.0 1 -2.0 +4.0 0 0 0 ? ? ? -320 -RH_ON_SIGMA_LVL_0.44-0.72 +334 +TMP_ON_ISENTROPIC_LVL ? 1 tmpl4_0 -RH +TMP ? ? -sigma_lvl -1 -2 -1 -44. -sigma_lvl -1 -2 -1 -72. +isentropic_lvl +0 ? +4 +320. 450. 550. 650. ? 0 -0.0 -0 -0.0 ? 0 -0.0 -0 -0.0 -1 -2.0 -0 -0 -0 ? ? ? -321 -TMP_ON_SIGMA_LVL_0.9950 -? -1 -tmpl4_0 -TMP -? -? -sigma_lvl -1 -4 -1 -9950. ? 0 -? +0.0 0 -? -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +3.0 0 0 0 ? ? ? -322 -POT_ON_SIGMA_LVL_0.9950 +335 +PVORT_ON_ISENTROPIC_LVL ? 1 tmpl4_0 -POT +PVORT ? ? -sigma_lvl -1 -4 -1 -9950. +isentropic_lvl +0 +? +6 +310. 320. 350. 450. 550. 650. ? 0 ? @@ -3996,6 +4237,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4005,6 +4247,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4013,19 +4259,19 @@ sigma_lvl ? ? ? -323 -RH_ON_SIGMA_LVL_0.9950 +353 +MNTSF_ON_ISENTROPIC_LVL ? 1 tmpl4_0 -RH +MNTSF ? ? -sigma_lvl -1 -4 +isentropic_lvl +0 +? 1 -9950. +320. ? 0 ? @@ -4033,6 +4279,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4042,27 +4289,31 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -324 -UGRD_ON_SIGMA_LVL_0.9950 +336 +UGRD_ON_POT_VORT_SFC ? 1 tmpl4_0 UGRD ? ? -sigma_lvl -1 -4 -1 -9950. +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. ? 0 ? @@ -4070,6 +4321,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4079,6 +4331,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4087,19 +4343,19 @@ sigma_lvl ? ? ? -325 -VGRD_ON_SIGMA_LVL_0.9950 +337 +VGRD_ON_POT_VORT_SFC ? 1 tmpl4_0 VGRD ? ? -sigma_lvl -1 -4 -1 -9950. +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. ? 0 ? @@ -4107,6 +4363,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4116,6 +4373,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4124,19 +4385,19 @@ sigma_lvl ? ? ? -326 -VVEL_ON_SIGMA_LVL_0.9950 +338 +TMP_ON_POT_VORT_SFC ? 1 tmpl4_0 -VVEL +TMP ? ? -sigma_lvl -1 -4 -1 -9950. +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. ? 0 ? @@ -4144,6 +4405,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4153,31 +4415,36 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -173 -PRES_ON_MAX_WIND +339 +HGT_ON_POT_VORT_SFC ? 1 tmpl4_0 -PRES +HGT ? ? -max_wind -0 +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. ? 0 ? -? 0 ? -0 ? ? ? @@ -4190,6 +4457,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4198,23 +4469,24 @@ max_wind ? ? ? -174 -HGT_ON_MAX_WIND +340 +PRES_ON_POT_VORT_SFC ? 1 tmpl4_0 -HGT +PRES ? ? -max_wind -0 +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. ? 0 ? -? 0 ? -0 ? ? ? @@ -4227,6 +4499,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4235,23 +4511,24 @@ max_wind ? ? ? -175 -UGRD_ON_MAX_WIND +341 +VWSH_ON_POT_VORT_SFC ? 1 tmpl4_0 -UGRD -? +VWSH +NCEP ? -max_wind -0 +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. ? 0 ? -? 0 ? -0 ? ? ? @@ -4264,27 +4541,31 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -176 -VGRD_ON_MAX_WIND +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_0 -VGRD -? -? -max_wind -0 +tmpl4_8 +TMAX ? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -4292,6 +4573,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4301,6 +4583,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4309,19 +4595,19 @@ max_wind ? ? ? -314 -TMP_ON_MAX_WIND +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_0 -TMP -? -? -max_wind -0 +tmpl4_8 +TMIN ? +MIN +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -4329,6 +4615,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4338,23 +4625,27 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -221 -HPBL_ON_SURFACE +398 +ICAHT_ON_MAX_WIND ? 1 tmpl4_0 -HPBL -NCEP +ICAHT ? -surface +? +max_wind 0 ? 0 @@ -4366,6 +4657,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4375,6 +4667,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4383,15 +4679,15 @@ surface ? ? ? -188 -PRES_ON_CONVECTIVE_CLOUD_BOT_LVL +399 +ICAHT_ON_TROPOPAUSE ? 1 tmpl4_0 -PRES +ICAHT ? ? -convective_cloud_bot_lvl +tropopause 0 ? 0 @@ -4403,6 +4699,7 @@ convective_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -4412,6 +4709,10 @@ convective_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4420,15 +4721,15 @@ convective_cloud_bot_lvl ? ? ? -189 -PRES_ON_CONVECTIVE_CLOUD_TOP_LVL +396 +SUNSD_ON_SURFACE ? 1 tmpl4_0 -PRES -? +SUNSD +NCEP ? -convective_cloud_top_lvl +surface 0 ? 0 @@ -4440,6 +4741,7 @@ convective_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -4449,23 +4751,27 @@ convective_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +5.0 0 0 0 ? ? ? -303 -AVE_PRES_ON_LOW_CLOUD_BOT_LVL +389 +UGRD_ON_PLANETARY_BOUND_LYR ? 1 -tmpl4_8 -PRES +tmpl4_0 +UGRD ? -AVE -low_cloud_bot_lvl +? +planetary_bound_lyr 0 ? 0 @@ -4477,6 +4783,7 @@ low_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -4486,23 +4793,27 @@ low_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -306 -AVE_PRES_ON_MID_CLOUD_BOT_LVL +390 +VGRD_ON_PLANETARY_BOUND_LYR ? 1 -tmpl4_8 -PRES +tmpl4_0 +VGRD ? -AVE -mid_cloud_bot_lvl +? +planetary_bound_lyr 0 ? 0 @@ -4514,6 +4825,7 @@ mid_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -4523,23 +4835,27 @@ mid_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -309 -AVE_PRES_ON_HIGH_CLOUD_BOT_LVL -? +454 +VRATE_ON_PLANETARY_BOUND_LYR +Ventilation Rate on planetary boundary layer 1 -tmpl4_8 -PRES +tmpl4_0 +VRATE +NCEP ? -AVE -high_cloud_bot_lvl +planetary_bound_lyr 0 ? 0 @@ -4551,6 +4867,7 @@ high_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -4560,23 +4877,27 @@ high_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -304 -AVE_PRES_ON_LOW_CLOUD_TOP_LVL -? +455 +HINDEX_ON_SURFACE +Haines Index on surface 1 -tmpl4_8 -PRES +tmpl4_0 +HINDEX ? -AVE -low_cloud_top_lvl +? +surface 0 ? 0 @@ -4588,6 +4909,7 @@ low_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -4597,23 +4919,27 @@ low_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +1.0 0 0 0 ? ? ? -307 -AVE_PRES_ON_MID_CLOUD_TOP_LVL +172 +CPOFP_ON_SURFACE ? 1 -tmpl4_8 -PRES +tmpl4_0 +CPOFP ? -AVE -mid_cloud_top_lvl +? +surface 0 ? 0 @@ -4625,6 +4951,7 @@ mid_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -4634,27 +4961,31 @@ mid_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -310 -AVE_PRES_ON_HIGH_CLOUD_TOP_LVL +808 +APTMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_8 -PRES +tmpl4_0 +APTMP ? -AVE -high_cloud_top_lvl -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -4662,6 +4993,7 @@ high_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -4671,23 +5003,27 @@ high_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -305 -AVE_TMP_ON_LOW_CLOUD_TOP_LVL +136 +AVE_SNOHF_ON_SURFACE ? 1 tmpl4_8 -TMP +SNOHF ? AVE -low_cloud_top_lvl +surface 0 ? 0 @@ -4699,6 +5035,7 @@ low_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -4708,23 +5045,27 @@ low_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -308 -AVE_TMP_ON_MID_CLOUD_TOP_LVL +500 +AVE_SNOWC_ON_SURFACE ? 1 tmpl4_8 -TMP +SNOWC ? AVE -mid_cloud_top_lvl +surface 0 ? 0 @@ -4736,6 +5077,7 @@ mid_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -4745,6 +5087,10 @@ mid_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4753,15 +5099,15 @@ mid_cloud_top_lvl ? ? ? -311 -AVE_TMP_ON_HIGH_CLOUD_TOP_LVL +260 +HGT_ON_CLOUD_CEILING ? 1 -tmpl4_8 -TMP +tmpl4_0 +HGT ? -AVE -high_cloud_top_lvl +? +cloud_ceilng 0 ? 0 @@ -4773,6 +5119,7 @@ high_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -4782,27 +5129,31 @@ high_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -570 -GFS_TCDC_ON_CONVECTIVE_CLOUD_LYR +7 +UGRD_ON_HYBRID_LVL ? 1 tmpl4_0 -TCDC -? +UGRD ? -convective_cloud_lyr -0 ? +hybrid_lvl 0 ? +4 +1. 2. 3. 4. ? 0 ? @@ -4810,6 +5161,7 @@ convective_cloud_lyr ? ? ? +? 0 0.0 0 @@ -4819,27 +5171,31 @@ convective_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 +4.0 0 0 0 ? ? ? -575 -CWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +8 +VGRD_ON_HYBRID_LVL ? 1 tmpl4_0 -CWAT -? +VGRD ? -entire_atmos_single_lyr -0 ? +hybrid_lvl 0 ? +4 +1. 2. 3. 4. ? 0 ? @@ -4847,6 +5203,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -4856,27 +5213,31 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -312 -RH_ON_ENTIRE_ATMOS_SINGLE_LYR +77 +HGT_ON_HYBRID_LVL ? 1 tmpl4_0 -RH -? +HGT ? -entire_atmos_single_lyr -0 ? +hybrid_lvl 0 ? +4 +1. 2. 3. 4. ? 0 ? @@ -4884,6 +5245,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -4893,27 +5255,31 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 +4.0 0 0 0 ? ? ? -299 -TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR +2 +TMP_ON_HYBRID_LVL ? 1 tmpl4_0 -TOZNE -? +TMP ? -entire_atmos_single_lyr -0 ? +hybrid_lvl 0 ? +4 +1. 2. 3. 4. ? 0 ? @@ -4921,6 +5287,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -4930,6 +5297,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4938,19 +5309,19 @@ entire_atmos_single_lyr ? ? ? -245 -GUST_ON_SURFACE +6 +RH_ON_HYBRID_LVL ? 1 tmpl4_0 -GUST -? +RH ? -surface -0 ? +hybrid_lvl 0 ? +4 +1. 2. 3. 4. ? 0 ? @@ -4958,6 +5329,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4967,32 +5339,37 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -246 -PLPL_ON_SPEC_PRES_ABOVE_GRND +1 +PRES_ON_HYBRID_LVL ? 1 tmpl4_0 -PLPL -NCEP +PRES +? +? +hybrid_lvl +0 +? +4 +1. 2. 3. 4. ? -spec_pres_above_grnd 0 ? -1 -25500. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -5004,6 +5381,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5012,570 +5393,645 @@ spec_pres_above_grnd ? ? ? -331 -TCDC_ON_ISOBARIC_SFC +629 +DUST1_ON_HYBRID_LVL ? 1 -tmpl4_0 -TCDC -? +tmpl4_48 +PMTF +NCEP ? -isobaric_sfc +hybrid_lvl 0 ? 1 -47500. +1. ? 0 ? 0 ? +dust_dry ? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +20 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -3.0 +11.0 0 0 0 ? ? ? -332 -UGRD_ON_ISENTROPIC_LVL +630 +DUST2_ON_HYBRID_LVL ? 1 -tmpl4_0 -UGRD -? +tmpl4_48 +PMTF +NCEP ? -isentropic_lvl +hybrid_lvl 0 ? -4 -320. 450. 550. 650. +1 +1. ? 0 ? 0 ? +dust_dry ? +between_first_second_limit_noincl2ndlmt +7 +20 +7 +36 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +11.0 0 0 0 ? ? ? -333 -VGRD_ON_ISENTROPIC_LVL +631 +DUST3_ON_HYBRID_LVL ? 1 -tmpl4_0 -VGRD -? +tmpl4_48 +PMTC +NCEP ? -isentropic_lvl +hybrid_lvl 0 ? -4 -320. 450. 550. 650. +1 +1. ? 0 ? 0 ? +dust_dry ? +between_first_second_limit_noincl2ndlmt +7 +36 +7 +60 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +11.0 0 0 0 ? ? ? -334 -TMP_ON_ISENTROPIC_LVL +632 +DUST4_ON_HYBRID_LVL ? 1 -tmpl4_0 -TMP -? +tmpl4_48 +PMTC +NCEP ? -isentropic_lvl +hybrid_lvl 0 ? -4 -320. 450. 550. 650. +1 +1. ? 0 ? 0 ? +dust_dry ? +between_first_second_limit_noincl2ndlmt +7 +60 +7 +120 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -3.0 +11.0 0 0 0 ? ? ? -335 -PVORT_ON_ISENTROPIC_LVL +633 +DUST5_ON_HYBRID_LVL ? 1 -tmpl4_0 -PVORT -? +tmpl4_48 +PMTC +NCEP ? -isentropic_lvl +hybrid_lvl 0 ? -6 -310. 320. 350. 450. 550. 650. +1 +1. ? 0 ? 0 ? +dust_dry ? +between_first_second_limit_noincl2ndlmt +7 +120 +7 +200 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +11.0 0 0 0 ? ? ? -353 -MNTSF_ON_ISENTROPIC_LVL +634 +SEASALT1_ON_HYBRID_LVL ? 1 -tmpl4_0 -MNTSF -? +tmpl4_48 +PMTF +NCEP ? -isentropic_lvl +hybrid_lvl 0 ? 1 -320. +1. ? 0 ? 0 ? +sea_salt_dry ? +between_first_second_limit_noincl2ndlmt +8 +6 +8 +20 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +11.0 0 0 0 ? ? ? -336 -UGRD_ON_POT_VORT_SFC +635 +SEASALT2_ON_HYBRID_LVL ? 1 -tmpl4_0 -UGRD +tmpl4_48 +PMTF +NCEP ? +hybrid_lvl +0 ? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +1 +1. ? 0 ? 0 ? +sea_salt_dry ? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +10 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +11.0 0 0 0 ? ? ? -337 -VGRD_ON_POT_VORT_SFC +636 +SEASALT3_ON_HYBRID_LVL ? 1 -tmpl4_0 -VGRD +tmpl4_48 +PMTC +NCEP ? +hybrid_lvl +0 ? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +1 +1. ? 0 ? 0 ? +sea_salt_dry ? +between_first_second_limit_noincl2ndlmt +7 +10 +7 +30 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +11.0 0 0 0 ? ? ? -338 -TMP_ON_POT_VORT_SFC +637 +SEASALT4_ON_HYBRID_LVL ? 1 -tmpl4_0 -TMP +tmpl4_48 +PMTC +NCEP ? +hybrid_lvl +0 ? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +1 +1. ? 0 ? 0 ? +sea_salt_dry ? +between_first_second_limit_noincl2ndlmt +7 +30 +7 +100 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +11.0 0 0 0 ? ? ? -339 -HGT_ON_POT_VORT_SFC +638 +SEASALT5_ON_HYBRID_LVL ? 1 -tmpl4_0 -HGT +tmpl4_48 +PMTC +NCEP ? +hybrid_lvl +0 ? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +1 +1. ? 0 ? 0 ? +sea_salt_dry ? +between_first_second_limit_noincl2ndlmt +7 +100 +7 +200 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -6.0 +11.0 0 0 0 ? ? ? -340 -PRES_ON_POT_VORT_SFC +643 +BCPHILIC_ON_HYBRID_LVL ? 1 -tmpl4_0 -PRES +tmpl4_48 +PMTF +NCEP ? +hybrid_lvl +0 ? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +1 +1. ? 0 ? 0 ? +black_carbon_hydrophilic ? +equall_to_first_limit +10 +236 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -6.0 +11.0 0 0 0 ? ? ? -341 -VWSH_ON_POT_VORT_SFC +642 +BCPHOBIC_ON_HYBRID_LVL ? 1 -tmpl4_0 -VWSH +tmpl4_48 +PMTF NCEP ? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +hybrid_lvl +0 +? +1 +1. ? 0 ? 0 ? +black_carbon_hydrophobic ? +equall_to_first_limit +10 +236 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -3.0 +11.0 0 0 0 ? ? ? -342 -AVE_TCDC_ON_BOUND_LYR_CLOUD_LYR +641 +OCPHILIC_ON_HYBRID_LVL ? 1 -tmpl4_8 -TCDC -? -AVE -bound_lyr_cloud_lyr -0 +tmpl4_48 +PMTF +NCEP ? +hybrid_lvl 0 ? +1 +1. ? 0 ? 0 ? +particulate_org_matter_hydrophilic ? +equall_to_first_limit +10 +424 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -3.0 +11.0 0 0 0 ? ? ? -313 -AVE_CWORK_ON_ENTIRE_ATMOS_SINGLE_LYR +640 +OCPHOBIC_ON_HYBRID_LVL ? 1 -tmpl4_8 -CWORK +tmpl4_48 +PMTF NCEP -AVE -entire_atmos_single_lyr -0 ? +hybrid_lvl 0 ? +1 +1. ? 0 ? 0 ? +particulate_org_matter_hydrophobic ? +equall_to_first_limit +10 +424 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +11.0 0 0 0 ? ? ? -315 -AVE_U-GWD_ON_SURFACE +639 +SO4_ON_HYBRID_LVL ? 1 -tmpl4_8 -U-GWD +tmpl4_48 +PMTF NCEP -AVE -surface -0 ? +hybrid_lvl 0 ? +1 +1. ? 0 ? 0 ? +sulphate_dry ? +equall_to_first_limit +9 +139 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -5.0 +11.0 0 0 0 ? ? ? -316 -AVE_V-GWD_ON_SURFACE +609 +AER_OPT_DEP_at550 ? 1 -tmpl4_8 -V-GWD -NCEP -AVE -surface +tmpl4_48 +AOTK +? +? +entire_atmos 0 ? 0 @@ -5585,34 +6041,39 @@ surface ? 0 ? +total_aerosol ? -? -0 -0.0 +smaller_than_first_limit +6 +20 0 0.0 -? +between_first_second_limit +9 +550 +9 +550 0 0.0 0 0.0 1 -5.0 +9.0 0 0 0 ? ? ? -343 -ACM_WATR_ON_SURFACE +610 +DUST_AER_OPT_DEP_at550 ? 1 -tmpl4_8 -WATR +tmpl4_48 +AOTK ? -ACM -surface +? +entire_atmos 0 ? 0 @@ -5622,108 +6083,123 @@ surface ? 0 ? +dust_dry ? -? -0 -0.0 +smaller_than_first_limit +6 +20 0 0.0 -? +between_first_second_limit +9 +550 +9 +550 0 0.0 0 0.0 1 -6.0 +9.0 0 0 0 ? ? ? -345 -MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +611 +SEASALT_AER_OPT_DEP_at550 ? 1 -tmpl4_8 -TMAX -? -MAX -spec_hgt_lvl_above_grnd -0 +tmpl4_48 +AOTK ? -1 -2. ? +entire_atmos 0 ? 0 ? ? +0 ? 0 -0.0 +? +sea_salt_dry +? +smaller_than_first_limit +6 +20 0 0.0 -? +between_first_second_limit +9 +550 +9 +550 0 0.0 0 0.0 1 -4.0 +9.0 0 0 0 ? ? ? -346 -MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_8 -TMIN -? -MIN -spec_hgt_lvl_above_grnd -0 +612 +SULFATE_AER_OPT_DEP_at550 ? 1 -2. +tmpl4_48 +AOTK ? +? +entire_atmos 0 ? 0 ? ? +0 ? 0 -0.0 +? +sulphate_dry +? +smaller_than_first_limit +6 +20 0 0.0 -? +between_first_second_limit +9 +550 +9 +550 0 0.0 0 0.0 1 -4.0 +9.0 0 0 0 ? ? ? -398 -ICAHT_ON_MAX_WIND +613 +ORGANIC_CARBON_AER_OPT_DEP_at550 ? 1 -tmpl4_0 -ICAHT +tmpl4_48 +AOTK ? ? -max_wind +entire_atmos 0 ? 0 @@ -5733,34 +6209,39 @@ max_wind ? 0 ? +particulate_org_matter_dry ? -? -0 -0.0 +smaller_than_first_limit +6 +20 0 0.0 -? +between_first_second_limit +9 +550 +9 +550 0 0.0 0 0.0 1 -6.0 +9.0 0 0 0 ? ? ? -399 -ICAHT_ON_TROPOPAUSE +614 +BLACK_CARBON_AER_OPT_DEP_at550 ? 1 -tmpl4_0 -ICAHT +tmpl4_48 +AOTK ? ? -tropopause +entire_atmos 0 ? 0 @@ -5770,34 +6251,39 @@ tropopause ? 0 ? +black_carbon_dry ? -? -0 -0.0 +smaller_than_first_limit +6 +20 0 0.0 -? +between_first_second_limit +9 +550 +9 +550 0 0.0 0 0.0 1 -6.0 +9.0 0 0 0 ? ? ? -396 -SUNSD_ON_SURFACE +650 +AER_SCAT_OPT_DEP_at550 ? 1 -tmpl4_0 -SUNSD -NCEP +tmpl4_48 +SCTAOTK ? -surface +? +entire_atmos 0 ? 0 @@ -5807,34 +6293,39 @@ surface ? 0 ? +total_aerosol ? -? -0 -0.0 +smaller_than_first_limit +6 +20 0 0.0 -? +between_first_second_limit +9 +545 +9 +565 0 0.0 0 0.0 1 -5.0 +9.0 0 0 0 ? ? ? -389 -UGRD_ON_PLANETARY_BOUND_LYR +686 +DUST25_SFC_MASS_CON ? 1 -tmpl4_0 -UGRD -? +tmpl4_48 +PMTF +NCEP ? -planetary_bound_lyr +surface 0 ? 0 @@ -5844,34 +6335,39 @@ planetary_bound_lyr ? 0 ? +dust_dry ? +smaller_than_first_limit +7 +25 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -3.0 +9.0 0 0 0 ? ? ? -390 -VGRD_ON_PLANETARY_BOUND_LYR +685 +DUST10_SFC_MASS_CON ? 1 -tmpl4_0 -VGRD -? -? -planetary_bound_lyr +tmpl4_48 +PMTC +NCEP +AVE +surface 0 ? 0 @@ -5881,34 +6377,39 @@ planetary_bound_lyr ? 0 ? +dust_dry ? +smaller_than_first_limit +6 +10 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -3.0 +9.0 0 0 0 ? ? ? -454 -VRATE_ON_PLANETARY_BOUND_LYR -Ventilation Rate on planetary boundary layer +684 +SEAS25_SFC_MASS_CON +? 1 -tmpl4_0 -VRATE +tmpl4_48 +PMTF NCEP ? -planetary_bound_lyr +surface 0 ? 0 @@ -5918,32 +6419,37 @@ planetary_bound_lyr ? 0 ? +sea_salt_dry ? +smaller_than_first_limit +7 +25 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -3.0 +9.0 0 0 0 ? ? ? -455 -HINDEX_ON_SURFACE -Haines Index on surface -1 -tmpl4_0 -HINDEX +619 +PM10_SFC_MASS_CON ? +1 +tmpl4_48 +PMTC +NCEP ? surface 0 @@ -5955,32 +6461,37 @@ surface ? 0 ? +total_aerosol ? +smaller_than_first_limit +6 +10 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -1.0 +9.0 0 0 0 ? ? ? -172 -CPOFP_ON_SURFACE +620 +PM25_SFC_MASS_CON ? 1 -tmpl4_0 -CPOFP -? +tmpl4_48 +PMTF +NCEP ? surface 0 @@ -5992,71 +6503,81 @@ surface ? 0 ? +total_aerosol ? +smaller_than_first_limit +7 +25 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +9.0 0 0 0 ? ? ? -808 -APTMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +621 +PM10_COL_MASS_DEN ? 1 -tmpl4_0 -APTMP +tmpl4_48 +COLMD ? ? -spec_hgt_lvl_above_grnd +entire_atmos +0 +? 0 ? -1 -2. ? 0 ? 0 ? +total_aerosol ? +smaller_than_first_limit +6 +10 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +9.0 0 0 0 ? ? ? -136 -AVE_SNOHF_ON_SURFACE +622 +PM25_COL_MASS_DEN ? 1 -tmpl4_8 -SNOHF +tmpl4_48 +COLMD ? -AVE -surface +? +entire_atmos 0 ? 0 @@ -6066,34 +6587,39 @@ surface ? 0 ? +total_aerosol ? +smaller_than_first_limit +7 +25 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +9.0 0 0 0 ? ? ? -500 -AVE_SNOWC_ON_SURFACE +646 +DUST_COL_MASS_DEN ? 1 -tmpl4_8 -SNOWC +tmpl4_48 +COLMD ? -AVE -surface +? +entire_atmos 0 ? 0 @@ -6103,34 +6629,39 @@ surface ? 0 ? +dust_dry ? +smaller_than_first_limit +7 +25 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -3.0 +9.0 0 0 0 ? ? ? -260 -HGT_ON_CLOUD_CEILING +647 +SEAS_COL_MASS_DEN ? 1 -tmpl4_0 -HGT +tmpl4_48 +COLMD ? ? -cloud_ceilng +entire_atmos 0 ? 0 @@ -6140,149 +6671,169 @@ cloud_ceilng ? 0 ? +sea_salt_dry ? +smaller_than_first_limit +7 +25 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -6.0 +9.0 0 0 0 ? ? ? -7 -UGRD_ON_HYBRID_LVL +616 +BC_COL_MASS_DEN ? 1 -tmpl4_0 -UGRD +tmpl4_48 +COLMD ? ? -hybrid_lvl +entire_atmos +0 +? 0 ? -4 -1. 2. 3. 4. ? 0 ? 0 ? +black_carbon_dry ? +smaller_than_first_limit +10 +236 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +9.0 0 0 0 ? ? ? -8 -VGRD_ON_HYBRID_LVL +617 +OC_COL_MASS_DEN ? 1 -tmpl4_0 -VGRD +tmpl4_48 +COLMD ? ? -hybrid_lvl +entire_atmos +0 +? 0 ? -4 -1. 2. 3. 4. ? 0 ? 0 ? +particulate_org_matter_dry ? +smaller_than_first_limit +10 +424 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +9.0 0 0 0 ? ? ? -77 -HGT_ON_HYBRID_LVL +618 +SULF_COL_MASS_DEN ? 1 -tmpl4_0 -HGT +tmpl4_48 +COLMD ? ? -hybrid_lvl +entire_atmos +0 +? 0 ? -4 -1. 2. 3. 4. ? 0 ? 0 ? +sulphate_dry ? +smaller_than_first_limit +7 +25 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +9.0 0 0 0 ? ? ? -2 -TMP_ON_HYBRID_LVL +549 +FDNSSTMP_ON_SURFACE ? 1 tmpl4_0 -TMP +FDNSSTMP ? ? -hybrid_lvl +surface +0 +? 0 ? -4 -1. 2. 3. 4. ? 0 ? @@ -6290,6 +6841,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6299,6 +6851,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6307,19 +6863,19 @@ hybrid_lvl ? ? ? -6 -RH_ON_HYBRID_LVL +1004 +ACM_SNOWFALL_ON_SURFACE ? 1 -tmpl4_0 -RH +tmpl4_8 +TSNOWP ? +ACM +surface +0 ? -hybrid_lvl 0 ? -4 -1. 2. 3. 4. ? 0 ? @@ -6327,6 +6883,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6336,6 +6893,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6344,19 +6905,19 @@ hybrid_lvl ? ? ? -1 -PRES_ON_HYBRID_LVL +1005 +BUCKET_SNOWFALL_ON_SURFACE ? 1 -tmpl4_0 -PRES +tmpl4_8 +TSNOWP ? +ACM +surface +0 ? -hybrid_lvl 0 ? -4 -1. 2. 3. 4. ? 0 ? @@ -6364,6 +6925,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6373,8 +6935,12 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 diff --git a/parm/postxconfig-NT-GEFS-F00.txt b/parm/gefs/postxconfig-NT-gefs-f00.txt similarity index 89% rename from parm/postxconfig-NT-GEFS-F00.txt rename to parm/gefs/postxconfig-NT-gefs-f00.txt index 1c80bdd178..57cb236ba3 100644 --- a/parm/postxconfig-NT-GEFS-F00.txt +++ b/parm/gefs/postxconfig-NT-gefs-f00.txt @@ -1,5 +1,5 @@ 1 -128 +132 GFSPRS 0 ncep_nco @@ -16,7 +16,7 @@ complex_packing_spatial_diff 2nd_ord_sptdiff fltng_pnt lossless -negatively_pert_fcst +pos_pert_fcst 12 HGT_ON_ISOBARIC_SFC ? @@ -37,6 +37,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -46,6 +47,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -74,6 +79,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -83,6 +89,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -111,6 +121,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -120,6 +131,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -148,6 +163,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -157,6 +173,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -185,6 +205,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -194,6 +215,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -222,6 +247,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -231,6 +257,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -259,6 +289,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -268,6 +299,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -296,6 +331,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -305,6 +341,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -333,6 +373,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -342,6 +383,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -370,6 +415,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -379,6 +425,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -407,6 +457,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -416,6 +467,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -444,6 +499,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -453,6 +509,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -481,6 +541,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -490,6 +551,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -518,6 +583,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -527,6 +593,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -555,6 +625,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -564,6 +635,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -592,6 +667,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -601,6 +677,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -629,6 +709,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -638,6 +719,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -666,6 +751,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -675,6 +761,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -703,6 +793,7 @@ surface ? ? ? +? 0 0.0 0 @@ -712,6 +803,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -740,6 +835,7 @@ surface ? ? ? +? 0 0.0 0 @@ -749,6 +845,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -777,6 +877,7 @@ surface ? ? ? +? 0 0.0 0 @@ -786,6 +887,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -814,6 +919,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -823,6 +929,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -851,6 +961,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -860,6 +971,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -888,6 +1003,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -897,6 +1013,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -925,6 +1045,7 @@ surface ? ? ? +? 0 0.0 0 @@ -934,6 +1055,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -962,6 +1087,7 @@ surface ? ? ? +? 0 0.0 0 @@ -971,6 +1097,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -999,6 +1129,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1008,6 +1139,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1036,6 +1171,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1045,6 +1181,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1073,6 +1213,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1082,6 +1223,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1110,6 +1255,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1119,6 +1265,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1147,6 +1297,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1156,6 +1307,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1184,6 +1339,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1193,6 +1349,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1221,6 +1381,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1230,6 +1391,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1258,6 +1423,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1267,6 +1433,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1295,6 +1465,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1304,6 +1475,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1332,6 +1507,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1341,6 +1517,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1369,6 +1549,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1378,6 +1559,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1406,6 +1591,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1415,6 +1601,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1443,6 +1633,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1452,6 +1643,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1480,6 +1675,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1489,6 +1685,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1517,6 +1717,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1526,6 +1727,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1554,6 +1759,7 @@ spec_hgt_lvl_above_grnd 0. ? ? +? 0 0.0 0 @@ -1563,6 +1769,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1591,6 +1801,7 @@ spec_hgt_lvl_above_grnd 0. ? ? +? 0 0.0 0 @@ -1600,6 +1811,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1628,6 +1843,7 @@ spec_hgt_lvl_above_grnd 0. ? ? +? 0 0.0 0 @@ -1637,6 +1853,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1665,6 +1885,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1674,6 +1895,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1687,7 +1912,7 @@ BRTMP_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -BRTMP +BRTEMP ? ? top_of_atmos @@ -1702,6 +1927,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -1711,6 +1937,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1739,6 +1969,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1748,6 +1979,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1776,6 +2011,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1785,6 +2021,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1813,6 +2053,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1822,6 +2063,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -1850,6 +2095,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1859,6 +2105,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -1887,6 +2137,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -1896,6 +2147,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1924,6 +2179,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -1933,6 +2189,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1961,6 +2221,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -1970,6 +2231,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1998,6 +2263,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2007,6 +2273,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2035,6 +2305,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2044,6 +2315,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2072,6 +2347,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2081,6 +2357,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2109,6 +2389,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -2118,6 +2399,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2146,6 +2431,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -2155,6 +2441,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2183,6 +2473,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -2192,6 +2483,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2220,6 +2515,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2229,6 +2525,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2257,6 +2557,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2266,6 +2567,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2294,6 +2599,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2303,6 +2609,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2331,6 +2641,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2340,6 +2651,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2368,6 +2683,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2377,6 +2693,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2405,6 +2725,7 @@ HGT ? ? ? +? 0 0.0 0 @@ -2414,6 +2735,10 @@ HGT 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2442,6 +2767,7 @@ RH ? ? ? +? 0 0.0 0 @@ -2451,6 +2777,10 @@ RH 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -2479,6 +2809,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -2488,6 +2819,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2516,6 +2851,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -2525,6 +2861,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -2553,6 +2893,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -2562,6 +2903,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2590,6 +2935,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -2599,6 +2945,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2627,6 +2977,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -2636,6 +2987,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -2664,6 +3019,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -2673,6 +3029,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -2701,6 +3061,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -2710,6 +3071,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2738,6 +3103,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -2747,6 +3113,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2775,6 +3145,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -2784,6 +3155,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2812,6 +3187,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -2821,6 +3197,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -2849,6 +3229,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -2858,6 +3239,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -2886,6 +3271,7 @@ sigma_lvl 94. ? ? +? 0 0.0 0 @@ -2895,6 +3281,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -2923,6 +3313,7 @@ sigma_lvl 72. ? ? +? 0 0.0 0 @@ -2932,6 +3323,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -2960,6 +3355,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -2969,6 +3365,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2997,6 +3397,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -3006,6 +3407,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3034,6 +3439,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -3043,6 +3449,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3071,6 +3481,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -3080,6 +3491,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3108,6 +3523,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -3117,6 +3533,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3145,6 +3565,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -3154,6 +3575,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -3182,6 +3607,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -3191,6 +3617,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3219,6 +3649,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -3228,6 +3659,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3256,6 +3691,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -3265,6 +3701,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3293,6 +3733,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -3302,6 +3743,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3330,6 +3775,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -3339,6 +3785,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3367,6 +3817,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3376,6 +3827,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3404,6 +3859,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -3413,6 +3869,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3441,6 +3901,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -3450,6 +3911,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -3478,6 +3943,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -3487,6 +3953,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3515,6 +3985,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3524,6 +3995,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3552,6 +4027,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3561,6 +4037,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3589,6 +4069,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -3598,6 +4079,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3626,6 +4111,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -3635,6 +4121,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3663,6 +4153,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -3672,6 +4163,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3700,6 +4195,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -3709,6 +4205,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3737,6 +4237,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -3746,6 +4247,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3774,6 +4279,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -3783,6 +4289,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3811,6 +4321,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -3820,7 +4331,11 @@ pot_vort_sfc 0.0 0 0.0 -1 +0 +0.0 +0 +0.0 +1 4.0 0 0 @@ -3848,6 +4363,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -3857,6 +4373,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3885,6 +4405,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -3894,6 +4415,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3922,6 +4447,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -3931,6 +4457,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3959,6 +4489,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -3968,6 +4499,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3996,6 +4531,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -4005,6 +4541,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4033,6 +4573,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -4042,6 +4583,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4070,6 +4615,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -4079,6 +4625,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4107,6 +4657,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4116,6 +4667,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4144,6 +4699,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -4153,6 +4709,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4181,6 +4741,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4190,6 +4751,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -4218,6 +4783,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -4227,6 +4793,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4255,6 +4825,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -4264,6 +4835,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4292,6 +4867,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -4301,6 +4877,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4329,6 +4909,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4338,6 +4919,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -4366,6 +4951,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4375,6 +4961,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4403,6 +4993,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -4412,6 +5003,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4440,6 +5035,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4449,6 +5045,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4477,6 +5077,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4486,6 +5087,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4514,6 +5119,7 @@ cloud_ceilng ? ? ? +? 0 0.0 0 @@ -4523,6 +5129,10 @@ cloud_ceilng 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4551,6 +5161,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4560,6 +5171,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4588,6 +5203,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4597,6 +5213,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4625,6 +5245,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4634,6 +5255,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4662,6 +5287,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4671,6 +5297,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4699,6 +5329,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4708,6 +5339,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4736,6 +5371,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4745,6 +5381,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4753,3 +5393,171 @@ hybrid_lvl ? ? ? +549 +FDNSSTMP_ON_SURFACE +? +1 +tmpl4_0 +FDNSSTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1005 +BUCKET_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +588 +ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +ICEG +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/postxconfig-NT-GFS.txt b/parm/gefs/postxconfig-NT-gefs.txt similarity index 78% rename from parm/postxconfig-NT-GFS.txt rename to parm/gefs/postxconfig-NT-gefs.txt index dd2922259e..4be38658a8 100644 --- a/parm/postxconfig-NT-GFS.txt +++ b/parm/gefs/postxconfig-NT-gefs.txt @@ -1,5 +1,5 @@ 1 -196 +184 GFSPRS 0 ncep_nco @@ -8,14 +8,15 @@ local_tab_yes1 fcst oper fcst -fcst +ens_fcst hour nws_ncep -gfs_avn +gefs complex_packing_spatial_diff 2nd_ord_sptdiff fltng_pnt lossless +pos_pert_fcst 12 HGT_ON_ISOBARIC_SFC ? @@ -27,8 +28,8 @@ HGT isobaric_sfc 0 ? -57 -1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +38 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -36,6 +37,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -45,6 +47,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -53,19 +59,19 @@ isobaric_sfc ? ? ? -13 -TMP_ON_ISOBARIC_SFC +15 +DPT_ON_ISOBARIC_SFC ? 1 tmpl4_0 -TMP +DPT ? ? isobaric_sfc 0 ? -57 -1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +4 +30000. 50000. 70000. 85000. ? 0 ? @@ -73,6 +79,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -82,27 +89,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -16 -SPFH_ON_ISOBARIC_SFC +13 +TMP_ON_ISOBARIC_SFC ? 1 tmpl4_0 -SPFH +TMP ? ? isobaric_sfc 0 ? -57 -1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +37 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -110,6 +121,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -119,27 +131,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -7.0 +3.0 0 0 0 ? ? ? -17 -RH_ON_ISOBARIC_SFC +16 +SPFH_ON_ISOBARIC_SFC ? 1 tmpl4_0 -RH +SPFH ? ? isobaric_sfc 0 ? -57 -1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +37 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -147,6 +163,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -156,27 +173,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -18 -UGRD_ON_ISOBARIC_SFC +17 +RH_ON_ISOBARIC_SFC ? 1 tmpl4_0 -UGRD +RH ? ? isobaric_sfc 0 ? -57 -1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +26 +1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -184,6 +205,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -193,27 +215,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -19 -VGRD_ON_ISOBARIC_SFC +18 +UGRD_ON_ISOBARIC_SFC ? 1 tmpl4_0 -VGRD +UGRD ? ? isobaric_sfc 0 ? -57 -1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +38 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -221,6 +247,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -230,6 +257,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -238,19 +269,19 @@ isobaric_sfc ? ? ? -284 -DZDT_ON_ISOBARIC_SFC +19 +VGRD_ON_ISOBARIC_SFC ? 1 tmpl4_0 -DZDT +VGRD ? ? isobaric_sfc 0 ? -57 -1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +38 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -258,6 +289,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -267,8 +299,12 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 @@ -286,8 +322,8 @@ VVEL isobaric_sfc 0 ? -57 -1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +37 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -295,6 +331,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -304,6 +341,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -323,8 +364,8 @@ ABSV isobaric_sfc 0 ? -57 -1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +26 +1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -332,6 +373,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -341,6 +383,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -360,8 +406,8 @@ NCEP isobaric_sfc 0 ? -57 -1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +18 +100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 20000. 25000. 30000. 35000. 40000. ? 0 ? @@ -369,6 +415,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -378,6 +425,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -397,8 +448,8 @@ CLMR isobaric_sfc 0 ? -39 -5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +26 +1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -406,6 +457,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -415,27 +467,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -166 -ICMR_ON_ISOBARIC_SFC +23 +MSLET_ON_MEAN_SEA_LVL ? 1 tmpl4_0 -ICMR +MSLET +NCEP ? +mean_sea_lvl +0 ? -isobaric_sfc 0 ? -39 -5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -443,6 +499,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -452,6 +509,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -460,19 +521,19 @@ isobaric_sfc ? ? ? -183 -RWMR_ON_ISOBARIC_SFC +105 +PRES_ON_MEAN_SEA_LVL ? 1 tmpl4_0 -RWMR +PRMSL ? ? -isobaric_sfc +mean_sea_lvl +0 +? 0 ? -39 -5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -480,6 +541,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -489,6 +551,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -497,19 +563,19 @@ isobaric_sfc ? ? ? -184 -SNMR_ON_ISOBARIC_SFC +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -SNMR +TMP ? ? -isobaric_sfc +spec_hgt_lvl_above_grnd 0 ? -39 -5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +1 +2. ? 0 ? @@ -517,6 +583,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -526,27 +593,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -416 -GRLE_ON_ISOBARIC_SFC -Graupel mixing ration on isobaric surface +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? 1 tmpl4_0 -GRLE +SPFH ? ? -isobaric_sfc +spec_hgt_lvl_above_grnd 0 ? -39 -5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +1 +2. ? 0 ? @@ -554,6 +625,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -563,27 +635,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -252 -REFC_ON_ENTIRE_ATMOS +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -REFC -NCEP +DPT ? -entire_atmos_single_lyr -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -591,6 +667,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -600,6 +677,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -608,19 +689,19 @@ entire_atmos_single_lyr ? ? ? -23 -MSLET_ON_MEAN_SEA_LVL +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -MSLET -NCEP +RH ? -mean_sea_lvl -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -628,6 +709,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -637,27 +719,31 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -105 -PRES_ON_MEAN_SEA_LVL +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m ? 1 tmpl4_0 -PRMSL -? +UGRD ? -mean_sea_lvl -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -665,6 +751,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -674,27 +761,31 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -106 -TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m ? 1 tmpl4_0 -TMP +VGRD ? ? spec_hgt_lvl_above_grnd 0 ? 1 -2. +10. ? 0 ? @@ -702,6 +793,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -711,6 +803,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -719,19 +815,19 @@ spec_hgt_lvl_above_grnd ? ? ? -112 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +24 +PRES_ON_SURFACE ? 1 tmpl4_0 -SPFH +PRES ? ? -spec_hgt_lvl_above_grnd +surface +0 +? 0 ? -1 -2. ? 0 ? @@ -739,6 +835,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -748,138 +845,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 -1 -7.0 -0 -0 -0 -? -? -? -113 -DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -DPT -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -114 -RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -RH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? 0 0.0 0 0.0 1 -3.0 +6.0 0 0 0 ? ? ? -64 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +25 +HGT_ON_SURFACE ? 1 tmpl4_0 -UGRD -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -10. -? -0 -? -0 -? -? +HGT ? -0 -0.0 -0 -0.0 ? +surface 0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -65 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -? -1 -tmpl4_0 -VGRD -? ? -spec_hgt_lvl_above_grnd 0 ? -1 -10. ? 0 ? @@ -887,48 +877,16 @@ spec_hgt_lvl_above_grnd ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -4.0 -0 -0 -0 -? -? -? -24 -PRES_ON_SURFACE -? -1 -tmpl4_0 -PRES -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -941,12 +899,12 @@ surface ? ? ? -25 -HGT_ON_SURFACE +26 +TMP_ON_SURFACE ? 1 tmpl4_0 -HGT +TMP ? ? surface @@ -961,48 +919,16 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -6.0 -0 -0 -0 -? -? -? -26 -TMP_ON_SURFACE -? -1 -tmpl4_0 -TMP -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -1035,6 +961,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -1044,6 +971,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1072,6 +1003,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -1081,6 +1013,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1109,6 +1045,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -1118,6 +1055,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1146,6 +1087,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1155,8 +1097,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +1.0 0 0 0 @@ -1183,6 +1129,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1192,8 +1139,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 @@ -1220,6 +1171,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1229,6 +1181,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1257,6 +1213,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1266,6 +1223,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1294,6 +1255,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1303,8 +1265,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 @@ -1331,6 +1297,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1340,6 +1307,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1368,6 +1339,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1377,6 +1349,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1405,6 +1381,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1414,6 +1391,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1442,6 +1423,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1451,6 +1433,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1479,6 +1465,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1488,6 +1475,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1516,6 +1507,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1525,6 +1517,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1553,6 +1549,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1562,6 +1559,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1590,6 +1591,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1599,6 +1601,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1627,6 +1633,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1636,6 +1643,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1664,6 +1675,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1673,6 +1685,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1701,6 +1717,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1710,6 +1727,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1738,6 +1759,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1747,8 +1769,12 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 @@ -1775,6 +1801,7 @@ spec_hgt_lvl_above_grnd 0. ? ? +? 0 0.0 0 @@ -1784,6 +1811,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1812,6 +1843,7 @@ spec_hgt_lvl_above_grnd 0. ? ? +? 0 0.0 0 @@ -1821,6 +1853,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1849,6 +1885,7 @@ spec_hgt_lvl_above_grnd 0. ? ? +? 0 0.0 0 @@ -1858,6 +1895,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1886,6 +1927,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1895,8 +1937,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 @@ -1923,6 +1969,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1932,8 +1979,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 @@ -1960,6 +2011,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1969,22 +2021,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 ? ? ? -417 -CACM_APCP_ON_SURFACE +317 +AVE_CRAIN_ON_SURFACE ? 1 tmpl4_8 -APCP -? -ACM +CRAIN +NCEP +AVE surface 0 ? @@ -1997,6 +2053,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2006,22 +2063,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +1.0 0 0 0 ? ? ? -418 -CACM_ACPCP_ON_SURFACE -? +555 +AVE_CSNOW_ON_SURFACE +average Categorical snow on surface 1 tmpl4_8 -ACPCP -? -ACM +CSNOW +NCEP +AVE surface 0 ? @@ -2034,6 +2095,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2043,22 +2105,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +1.0 0 0 0 ? ? ? -419 -CACM_NCPCP_ON_SURFACE -? +556 +AVE_CICEP_ON_SURFACE +average Categorical ice pellets on surface 1 tmpl4_8 -NCPCP -? -ACM +CICEP +NCEP +AVE surface 0 ? @@ -2071,6 +2137,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2080,22 +2147,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +1.0 0 0 0 ? ? ? -160 -INST_CRAIN_ON_SURFACE -? +557 +AVE_CFRZR_ON_SURFACE +average Categorical freezing rain on surface 1 -tmpl4_0 -CRAIN +tmpl4_8 +CFRZR NCEP -? +AVE surface 0 ? @@ -2108,6 +2179,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2117,6 +2189,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -2125,14 +2201,14 @@ surface ? ? ? -551 -CSNOW_ON_SURFACE -Categorical snow on surface +271 +AVE_PRATE_ON_SURFACE +? 1 -tmpl4_0 -CSNOW -NCEP +tmpl4_8 +PRATE ? +AVE surface 0 ? @@ -2145,6 +2221,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2154,22 +2231,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +4.0 0 0 0 ? ? ? -552 -CICEP_ON_SURFACE -Categorical ice pellets on surface +272 +AVE_CPRAT_ON_SURFACE +? 1 -tmpl4_0 -CICEP +tmpl4_8 +CPRAT NCEP -? +AVE surface 0 ? @@ -2182,6 +2263,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2191,23 +2273,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +4.0 0 0 0 ? ? ? -553 -CFRZR_ON_SURFACE -Categorical freezing rain on surface +300 +AVE_TCDC_ON_LOW_CLOUD_LYR +? 1 -tmpl4_0 -CFRZR -NCEP +tmpl4_8 +LCDC ? -surface +AVE +low_cloud_lyr 0 ? 0 @@ -2219,6 +2305,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2228,23 +2315,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +3.0 0 0 0 ? ? ? -317 -AVE_CRAIN_ON_SURFACE +301 +AVE_TCDC_ON_MID_CLOUD_LYR ? 1 tmpl4_8 -CRAIN -NCEP +MCDC +? AVE -surface +mid_cloud_lyr 0 ? 0 @@ -2256,6 +2347,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2265,23 +2357,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +3.0 0 0 0 ? ? ? -555 -AVE_CSNOW_ON_SURFACE -average Categorical snow on surface +302 +AVE_TCDC_ON_HIGH_CLOUD_LYR +? 1 tmpl4_8 -CSNOW -NCEP +HCDC +? AVE -surface +high_cloud_lyr 0 ? 0 @@ -2293,6 +2389,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2302,23 +2399,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +3.0 0 0 0 ? ? ? -556 -AVE_CICEP_ON_SURFACE -average Categorical ice pellets on surface +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? 1 tmpl4_8 -CICEP -NCEP +TCDC +? AVE -surface +entire_atmos_single_lyr 0 ? 0 @@ -2330,6 +2431,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2339,97 +2441,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +3.0 0 0 0 ? ? ? -557 -AVE_CFRZR_ON_SURFACE -average Categorical freezing rain on surface +161 +INST_TCDC_ON_ENTIRE_ATMOS +? 1 -tmpl4_8 -CFRZR -NCEP -AVE -surface -0 +tmpl4_0 +TCDC ? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? -? -271 -AVE_PRATE_ON_SURFACE -? -1 -tmpl4_8 -PRATE -? -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -272 -AVE_CPRAT_ON_SURFACE ? -1 -tmpl4_8 -CPRAT -NCEP -AVE -surface +entire_atmos_single_lyr 0 ? 0 @@ -2441,106 +2473,37 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -6.0 -0 -0 -0 -? -? -? -300 -AVE_TCDC_ON_LOW_CLOUD_LYR -? -1 -tmpl4_8 -LCDC -? -AVE -low_cloud_lyr -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 -0 -0 -0 -? -? -? -301 -AVE_TCDC_ON_MID_CLOUD_LYR -? -1 -tmpl4_8 -MCDC -? -AVE -mid_cloud_lyr +3.0 0 -? 0 -? -? 0 ? -0 ? ? +179 +HGT_ON_CLOUD_TOP ? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 1 -4.0 -0 -0 -0 -? -? -? -302 -AVE_TCDC_ON_HIGH_CLOUD_LYR +tmpl4_0 +HGT ? -1 -tmpl4_8 -HCDC ? -AVE -high_cloud_lyr +cloud_top 0 ? 0 @@ -2552,54 +2515,22 @@ high_cloud_lyr ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -4.0 -0 -0 -0 -? -? -? -144 -AVE_TCDC_ON_ENTIRE_ATMOS -? -1 -tmpl4_8 -TCDC -? -AVE -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +6.0 0 0 0 @@ -2626,6 +2557,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2635,8 +2567,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 @@ -2663,6 +2599,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2672,8 +2609,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 @@ -2700,6 +2641,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2709,8 +2651,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 @@ -2737,6 +2683,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2746,8 +2693,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 @@ -2774,6 +2725,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2783,8 +2735,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -2811,6 +2767,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2820,8 +2777,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 @@ -2848,6 +2809,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2857,8 +2819,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -2885,6 +2851,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2894,8 +2861,12 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 @@ -2922,6 +2893,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2931,8 +2903,12 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -2944,7 +2920,7 @@ BRTMP_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -BRTMP +BRTEMP ? ? top_of_atmos @@ -2959,6 +2935,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2968,8 +2945,12 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -2996,6 +2977,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3005,8 +2987,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 @@ -3033,6 +3019,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3042,6 +3029,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3070,6 +3061,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3079,6 +3071,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3107,6 +3103,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3116,6 +3113,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3144,6 +3145,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3153,6 +3155,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3181,6 +3187,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3190,6 +3197,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3218,6 +3229,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3227,6 +3239,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3255,6 +3271,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3264,6 +3281,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -3292,6 +3313,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3301,8 +3323,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +1.0 0 0 0 @@ -3329,6 +3355,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3338,6 +3365,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3366,6 +3397,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3375,6 +3407,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3403,6 +3439,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3412,6 +3449,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3440,6 +3481,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3449,8 +3491,12 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -3477,6 +3523,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3486,6 +3533,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3514,6 +3565,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3523,6 +3575,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3551,6 +3607,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3560,6 +3617,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3588,6 +3649,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -3597,8 +3659,12 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -3625,6 +3691,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -3634,6 +3701,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3662,6 +3733,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -3671,6 +3743,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3699,6 +3775,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3708,8 +3785,12 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -3727,8 +3808,8 @@ UGRD spec_hgt_lvl_above_grnd 0 ? -6 -20. 30. 40. 50. 80. 100. +2 +80. 100. ? 0 ? @@ -3736,6 +3817,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3745,6 +3827,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3764,8 +3850,8 @@ VGRD spec_hgt_lvl_above_grnd 0 ? -6 -20. 30. 40. 50. 80. 100. +2 +80. 100. ? 0 ? @@ -3773,6 +3859,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3782,6 +3869,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3810,6 +3901,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3819,6 +3911,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3847,6 +3943,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3856,8 +3953,12 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -7.0 +4.0 0 0 0 @@ -3884,6 +3985,7 @@ HGT ? ? ? +? 0 0.0 0 @@ -3893,6 +3995,10 @@ HGT 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3921,6 +4027,7 @@ RH ? ? ? +? 0 0.0 0 @@ -3930,8 +4037,12 @@ RH 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +2.0 0 0 0 @@ -3958,6 +4069,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -3967,6 +4079,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3995,6 +4111,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -4004,8 +4121,12 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +2.0 0 0 0 @@ -4032,6 +4153,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -4041,8 +4163,12 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -4069,6 +4195,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -4078,8 +4205,12 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -4106,6 +4237,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -4115,8 +4247,12 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -7.0 +5.0 0 0 0 @@ -4143,6 +4279,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -4152,8 +4289,12 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +2.0 0 0 0 @@ -4180,6 +4321,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -4189,8 +4331,12 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 @@ -4217,6 +4363,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -4226,6 +4373,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4254,6 +4405,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -4263,6 +4415,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4291,6 +4447,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -4300,8 +4457,12 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +2.0 0 0 0 @@ -4328,6 +4489,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -4337,8 +4499,12 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +2.0 0 0 0 @@ -4365,17 +4531,22 @@ sigma_lvl 94. ? ? +? +0 +0.0 +0 +0.0 +? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -3.0 +2.0 0 0 0 @@ -4402,6 +4573,7 @@ sigma_lvl 72. ? ? +? 0 0.0 0 @@ -4411,8 +4583,12 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +2.0 0 0 0 @@ -4439,6 +4615,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4448,6 +4625,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4476,6 +4657,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4485,6 +4667,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4513,6 +4699,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4522,6 +4709,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4550,6 +4741,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4559,6 +4751,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4587,6 +4783,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4596,6 +4793,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4624,6 +4825,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4633,6 +4835,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -4661,6 +4867,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4670,6 +4877,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4698,6 +4909,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4707,6 +4919,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4735,6 +4951,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4744,6 +4961,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4772,6 +4993,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4781,6 +5003,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4809,6 +5035,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4818,8 +5045,12 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -4846,6 +5077,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4855,6 +5087,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4883,6 +5119,7 @@ convective_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -4892,6 +5129,10 @@ convective_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4920,6 +5161,7 @@ convective_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -4929,6 +5171,10 @@ convective_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4957,6 +5203,7 @@ low_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -4966,6 +5213,10 @@ low_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4994,6 +5245,7 @@ mid_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -5003,6 +5255,10 @@ mid_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5031,6 +5287,7 @@ high_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -5040,6 +5297,10 @@ high_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5068,6 +5329,7 @@ low_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5077,6 +5339,10 @@ low_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5105,6 +5371,7 @@ mid_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5114,6 +5381,10 @@ mid_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5142,6 +5413,7 @@ high_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5151,6 +5423,10 @@ high_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5179,6 +5455,7 @@ low_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5188,8 +5465,12 @@ low_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -5216,6 +5497,7 @@ mid_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5225,8 +5507,12 @@ mid_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -5253,6 +5539,7 @@ high_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5262,8 +5549,12 @@ high_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -5290,6 +5581,7 @@ convective_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5299,8 +5591,12 @@ convective_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +2.0 0 0 0 @@ -5327,6 +5623,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -5336,8 +5633,12 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 @@ -5364,6 +5665,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -5373,8 +5675,12 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +2.0 0 0 0 @@ -5401,6 +5707,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -5410,6 +5717,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5438,6 +5749,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5447,6 +5759,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5475,6 +5791,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -5484,6 +5801,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5492,6 +5813,48 @@ spec_pres_above_grnd ? ? ? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? 331 TCDC_ON_ISOBARIC_SFC ? @@ -5503,8 +5866,8 @@ TCDC isobaric_sfc 0 ? -39 -5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +1 +47500. ? 0 ? @@ -5512,6 +5875,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5521,8 +5885,12 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -5540,8 +5908,8 @@ UGRD isentropic_lvl 0 ? -1 -320. +4 +320. 450. 550. 650. ? 0 ? @@ -5549,6 +5917,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -5558,6 +5927,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5577,8 +5950,8 @@ VGRD isentropic_lvl 0 ? -1 -320. +4 +320. 450. 550. 650. ? 0 ? @@ -5586,6 +5959,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -5595,6 +5969,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5614,8 +5992,8 @@ TMP isentropic_lvl 0 ? -1 -320. +4 +320. 450. 550. 650. ? 0 ? @@ -5623,6 +6001,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -5632,8 +6011,12 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -5651,8 +6034,8 @@ PVORT isentropic_lvl 0 ? -1 -320. +6 +310. 320. 350. 450. 550. 650. ? 0 ? @@ -5660,6 +6043,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -5669,6 +6053,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5697,11 +6085,16 @@ isentropic_lvl ? ? ? +? +0 +0.0 +0 +0.0 +? 0 0.0 0 0.0 -? 0 0.0 0 @@ -5734,6 +6127,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -5743,6 +6137,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5771,6 +6169,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -5780,6 +6179,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5808,6 +6211,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -5817,6 +6221,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5845,6 +6253,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -5854,6 +6263,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5882,6 +6295,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -5891,6 +6305,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5919,6 +6337,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -5928,6 +6347,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5956,6 +6379,7 @@ bound_lyr_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5965,8 +6389,12 @@ bound_lyr_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 @@ -5993,6 +6421,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -6002,8 +6431,12 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 @@ -6030,6 +6463,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6039,6 +6473,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6067,6 +6505,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6076,6 +6515,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6104,6 +6547,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6113,6 +6557,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6141,6 +6589,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6150,6 +6599,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6178,6 +6631,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6187,6 +6641,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6215,6 +6673,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -6224,6 +6683,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6252,6 +6715,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -6261,6 +6725,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6269,15 +6737,15 @@ tropopause ? ? ? -396 -SUNSD_ON_SURFACE +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 tmpl4_0 -SUNSD +RETOP NCEP ? -surface +entire_atmos_single_lyr 0 ? 0 @@ -6289,6 +6757,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6298,23 +6767,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +-6.0 0 0 0 ? ? ? -389 -UGRD_ON_PLANETARY_BOUND_LYR +396 +SUNSD_ON_SURFACE ? 1 tmpl4_0 -UGRD -? +SUNSD +NCEP ? -planetary_bound_lyr +surface 0 ? 0 @@ -6326,6 +6799,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -6335,20 +6809,24 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -390 -VGRD_ON_PLANETARY_BOUND_LYR +389 +UGRD_ON_PLANETARY_BOUND_LYR ? 1 tmpl4_0 -VGRD +UGRD ? ? planetary_bound_lyr @@ -6363,48 +6841,16 @@ planetary_bound_lyr ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -3.0 -0 -0 -0 -? -? -? -454 -VRATE_ON_PLANETARY_BOUND_LYR -Ventilation Rate on planetary boundary layer -1 -tmpl4_0 -VRATE -NCEP -? -planetary_bound_lyr -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -6417,15 +6863,15 @@ planetary_bound_lyr ? ? ? -455 -HINDEX_ON_SURFACE -Haines Index on surface +390 +VGRD_ON_PLANETARY_BOUND_LYR +? 1 tmpl4_0 -HINDEX +VGRD ? ? -surface +planetary_bound_lyr 0 ? 0 @@ -6437,6 +6883,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6446,23 +6893,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +3.0 0 0 0 ? ? ? -172 -CPOFP_ON_SURFACE -? +454 +VRATE_ON_PLANETARY_BOUND_LYR +Ventilation Rate on planetary boundary layer 1 tmpl4_0 -CPOFP -? +VRATE +NCEP ? -surface +planetary_bound_lyr 0 ? 0 @@ -6474,66 +6925,34 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -4.0 -0 -0 -0 -? -? -? -808 -APTMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -APTMP -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +3.0 0 0 0 ? ? ? -167 -INST_PRATE_ON_SURFACE -? +455 +HINDEX_ON_SURFACE +Haines Index on surface 1 tmpl4_0 -PRATE +HINDEX ? ? surface @@ -6548,73 +6967,41 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -6.0 -0 -0 -0 -? -? -? -249 -CPRAT_ON_SURFACE -? -1 -tmpl4_0 -CPRAT -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -6.0 +1.0 0 0 0 ? ? ? -182 -SNMR_ON_HYBRID_LVL +172 +CPOFP_ON_SURFACE ? 1 tmpl4_0 -SNMR +CPOFP ? ? -hybrid_lvl +surface +0 +? 0 ? -1 -1. ? 0 ? @@ -6622,6 +7009,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6631,27 +7019,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -181 -RWMR_ON_HYBRID_LVL +808 +APTMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -RWMR +APTMP ? ? -hybrid_lvl +spec_hgt_lvl_above_grnd 0 ? 1 -1. +2. ? 0 ? @@ -6659,6 +7051,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6668,27 +7061,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -124 -CLMR_ON_HYBRID_LVL +136 +AVE_SNOHF_ON_SURFACE ? 1 -tmpl4_0 -CLMR +tmpl4_8 +SNOHF ? +AVE +surface +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -6696,6 +7093,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6705,27 +7103,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -125 -ICMR_ON_HYBRID_LVL +500 +AVE_SNOWC_ON_SURFACE ? 1 -tmpl4_0 -ICMR +tmpl4_8 +SNOWC ? +AVE +surface +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -6733,6 +7135,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6742,27 +7145,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -415 -GRLE_ON_HYBRID_LVL -Graupel mixing ration on hybrid level +260 +HGT_ON_CLOUD_CEILING +? 1 tmpl4_0 -GRLE +HGT ? ? -hybrid_lvl +cloud_ceilng +0 +? 0 ? -1 -1. ? 0 ? @@ -6770,6 +7177,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6779,6 +7187,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6787,19 +7199,19 @@ hybrid_lvl ? ? ? -588 -ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +7 +UGRD_ON_HYBRID_LVL ? 1 tmpl4_0 -ICEG +UGRD ? ? -spec_alt_above_mean_sea_lvl +hybrid_lvl 0 ? -1 -10. +4 +1. 2. 3. 4. ? 0 ? @@ -6807,6 +7219,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -6816,6 +7229,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6824,19 +7241,19 @@ spec_alt_above_mean_sea_lvl ? ? ? -219 -SOTYP_ON_SURFACE +8 +VGRD_ON_HYBRID_LVL ? 1 tmpl4_0 -SOTYP -? +VGRD ? -surface -0 ? +hybrid_lvl 0 ? +4 +1. 2. 3. 4. ? 0 ? @@ -6844,6 +7261,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6853,6 +7271,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6861,19 +7283,19 @@ surface ? ? ? -170 -VEG_ON_SURFACE +77 +HGT_ON_HYBRID_LVL ? 1 tmpl4_0 -VEG -? +HGT ? -surface -0 ? +hybrid_lvl 0 ? +4 +1. 2. 3. 4. ? 0 ? @@ -6881,6 +7303,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6890,27 +7313,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -968 -ICETMP_ON_SURFACE +2 +TMP_ON_HYBRID_LVL ? 1 tmpl4_0 -ICETMP -? +TMP ? -surface -0 ? +hybrid_lvl 0 ? +4 +1. 2. 3. 4. ? 0 ? @@ -6918,6 +7345,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6927,27 +7355,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -260 -HGT_ON_CLOUD_CEILING +6 +RH_ON_HYBRID_LVL ? 1 tmpl4_0 -HGT -? +RH ? -cloud_ceilng -0 ? +hybrid_lvl 0 ? +4 +1. 2. 3. 4. ? 0 ? @@ -6955,6 +7387,7 @@ cloud_ceilng ? ? ? +? 0 0.0 0 @@ -6964,27 +7397,31 @@ cloud_ceilng 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -161 -INST_TCDC_ON_ENTIRE_ATMOS +1 +PRES_ON_HYBRID_LVL ? 1 tmpl4_0 -TCDC -? +PRES ? -entire_atmos_single_lyr -0 ? +hybrid_lvl 0 ? +4 +1. 2. 3. 4. ? 0 ? @@ -6992,6 +7429,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -7001,23 +7439,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -37 -LCDC_ON_LOW_CLOUD_LYR +549 +FDNSSTMP_ON_SURFACE ? 1 tmpl4_0 -LCDC +FDNSSTMP ? ? -low_cloud_lyr +surface 0 ? 0 @@ -7029,6 +7471,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -7038,6 +7481,10 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7046,15 +7493,15 @@ low_cloud_lyr ? ? ? -38 -MCDC_ON_MID_CLOUD_LYR +1004 +ACM_SNOWFALL_ON_SURFACE ? 1 -tmpl4_0 -MCDC -? +tmpl4_8 +TSNOWP ? -mid_cloud_lyr +ACM +surface 0 ? 0 @@ -7066,6 +7513,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -7075,6 +7523,10 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7083,15 +7535,15 @@ mid_cloud_lyr ? ? ? -39 -HCDC_ON_HIGH_CLOUD_LYR +1005 +BUCKET_SNOWFALL_ON_SURFACE ? 1 -tmpl4_0 -HCDC -? +tmpl4_8 +TSNOWP ? -high_cloud_lyr +ACM +surface 0 ? 0 @@ -7103,6 +7555,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -7112,6 +7565,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7120,19 +7577,19 @@ high_cloud_lyr ? ? ? -253 -REFD_ON_SPEC_HGT_LVL_ABOVE_GRND -? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground 1 -tmpl4_0 -REFD -NCEP +tmpl4_8 +WIND ? +MAX spec_hgt_lvl_above_grnd 0 ? -2 -4000. 1000. +1 +10. ? 0 ? @@ -7140,6 +7597,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -7149,27 +7607,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -250 -REFD_ON_HYBRID_LVL -? +783 +MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum u wind on 10 meter Above Ground 1 -tmpl4_0 -REFD +tmpl4_8 +MAXUW NCEP -? -hybrid_lvl +MAX +spec_hgt_lvl_above_grnd 0 ? -2 -1. 2. +1 +10. ? 0 ? @@ -7177,6 +7639,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7186,32 +7649,37 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -582 -MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND -? +784 +MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum v wind on 10 meter Above Ground 1 -tmpl4_0 -CAPE +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 ? +1 +10. ? -spec_pres_above_grnd 0 ? -1 -9000. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -7223,32 +7691,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -583 -MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +588 +ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 tmpl4_0 -CIN +ICEG ? ? -spec_pres_above_grnd +spec_alt_above_mean_sea_lvl 0 ? 1 -9000. -spec_pres_above_grnd +10. +? 0 ? -1 -0. +0 +? +? ? ? 0 @@ -7260,6 +7733,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 diff --git a/parm/gfs/post_itag_gfs128 b/parm/gfs/post_itag_gfs128 new file mode 100644 index 0000000000..118a24288e --- /dev/null +++ b/parm/gfs/post_itag_gfs128 @@ -0,0 +1,7 @@ +&MODEL_INPUTS +MODELNAME='GFS' +/ +&NAMPGB +KPO=57,PO=1000.,975.,950.,925.,900.,875.,850.,825.,800.,775.,750.,725.,700.,675.,650.,625.,600.,575.,550.,525.,500.,475.,450.,425.,400.,375.,350.,325.,300.,275.,250.,225.,200.,175.,150.,125.,100.,70.,50.,40.,30.,20.,15.,10.,7.,5.,3.,2.,1.,0.7,0.4,0.2,0.1,0.07,0.04,0.02,0.01,rdaod=.true., + / +EOF diff --git a/parm/post_tag_gfs65 b/parm/gfs/post_itag_gfs65 similarity index 89% rename from parm/post_tag_gfs65 rename to parm/gfs/post_itag_gfs65 index 2653fea19c..7643b75d7a 100644 --- a/parm/post_tag_gfs65 +++ b/parm/gfs/post_itag_gfs65 @@ -1,3 +1,6 @@ +&MODEL_INPUTS +MODELNAME='GFS' +/ &NAMPGB KPO=50,PO=1000.,975.,950.,925.,900.,875.,850.,825.,800.,775.,750.,725.,700.,675.,650.,625.,600.,575.,550.,525.,500.,475.,450.,425.,400.,375.,350.,325.,300.,275.,250.,225.,200.,175.,150.,125.,100.,70.,50.,40.,30.,20.,15.,10.,7.,5.,3.,2.,1.,0.4, / diff --git a/parm/postcntrl_gfs_anl.xml b/parm/gfs/postcntrl_gfs_anl.xml similarity index 99% rename from parm/postcntrl_gfs_anl.xml rename to parm/gfs/postcntrl_gfs_anl.xml index 42d88f3303..1306d2e9fa 100755 --- a/parm/postcntrl_gfs_anl.xml +++ b/parm/gfs/postcntrl_gfs_anl.xml @@ -553,6 +553,11 @@ 5.0 + + LAND_FRAC + 3.0 + + diff --git a/parm/postcntrl_gfs_f00_two.xml b/parm/gfs/postcntrl_gfs_f00_two.xml similarity index 96% rename from parm/postcntrl_gfs_f00_two.xml rename to parm/gfs/postcntrl_gfs_f00_two.xml index 13cefa2e87..68689c944b 100755 --- a/parm/postcntrl_gfs_f00_two.xml +++ b/parm/gfs/postcntrl_gfs_f00_two.xml @@ -314,8 +314,8 @@ HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND - 3000. - 0. + 3000. 1000. + 0. 0. 4.0 @@ -360,7 +360,7 @@ - VIS_ON_SURFACE + GSD_VIS_ON_SURFACE 6.0 @@ -902,6 +902,41 @@ 4.0 + + LAND_FRAC + 3.0 + + + + AER_OPT_GFS_at550 + 9.0 + + + + DUST_AER_OPT_GFS_at550 + 9.0 + + + + SEASALT_AER_OPT_GFS_at550 + 9.0 + + + + SULFATE_AER_OPT_GFS_at550 + 9.0 + + + + ORGANIC_CARBON_AER_OPT_GFS_at550 + 9.0 + + + + BLACK_CARBON_AER_OPT_GFS_at550 + 9.0 + + @@ -958,6 +993,11 @@ 4.0 + + FDNSSTMP_ON_SURFACE + 4.0 + + TSOIL_ON_DEPTH_BEL_LAND_SFC 2 2 2 2 @@ -1182,7 +1222,7 @@ - SOILM_ON_DEPTH_BEL_LAND_SFC + GFS_CISOILM_ON_DEPTH_BEL_LAND_SFC 2 0. 2 @@ -1190,6 +1230,11 @@ 4.0 + + LAND_FRAC + 3.0 + + diff --git a/parm/postcntrl_gfs_goes.xml b/parm/gfs/postcntrl_gfs_goes.xml similarity index 97% rename from parm/postcntrl_gfs_goes.xml rename to parm/gfs/postcntrl_gfs_goes.xml index 16d5bbf9ec..8a8b193a19 100755 --- a/parm/postcntrl_gfs_goes.xml +++ b/parm/gfs/postcntrl_gfs_goes.xml @@ -2,7 +2,7 @@ - GFSPRS + GFSGOES 0 ncep_nco v2003 diff --git a/parm/postcntrl_gfs_two.xml b/parm/gfs/postcntrl_gfs_two.xml similarity index 95% rename from parm/postcntrl_gfs_two.xml rename to parm/gfs/postcntrl_gfs_two.xml index 803799027f..2a722640cc 100755 --- a/parm/postcntrl_gfs_two.xml +++ b/parm/gfs/postcntrl_gfs_two.xml @@ -314,8 +314,8 @@ HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND - 3000. - 0. + 3000. 1000. + 0. 0. 4.0 @@ -389,30 +389,6 @@ 1.0 - - AVE_CRAIN_ON_SURFACE - NCEP - 1.0 - - - - AVE_CSNOW_ON_SURFACE - NCEP - 1.0 - - - - AVE_CICEP_ON_SURFACE - NCEP - 1.0 - - - - AVE_CFRZR_ON_SURFACE - NCEP - 1.0 - - AVE_PRATE_ON_SURFACE 6.0 @@ -445,7 +421,7 @@ - VIS_ON_SURFACE + GSD_VIS_ON_SURFACE 6.0 @@ -1091,7 +1067,7 @@ ICETMP_ON_SURFACE - 5.0 + 5.0 @@ -1154,6 +1130,76 @@ 4.0 + + LAND_FRAC + 3.0 + + + + ACM_GRAUPEL_ON_SURFACE + 6.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + ACM_FRAIN_ON_SURFACE + 4.0 + + + + BUCKET_FRAIN_ON_SURFACE + 4.0 + + + + ACM_SNOWFALL_ON_SURFACE + 4.0 + + + + BUCKET_SNOWFALL_ON_SURFACE + 4.0 + + + + AER_OPT_GFS_at550 + 9.0 + + + + DUST_AER_OPT_GFS_at550 + 9.0 + + + + SEASALT_AER_OPT_GFS_at550 + 9.0 + + + + SULFATE_AER_OPT_GFS_at550 + 9.0 + + + + ORGANIC_CARBON_AER_OPT_GFS_at550 + 9.0 + + + + BLACK_CARBON_AER_OPT_GFS_at550 + 9.0 + + + + SDEN_ON_SURFACE + 6.0 + + @@ -1210,6 +1256,11 @@ 4.0 + + FDNSSTMP_ON_SURFACE + 4.0 + + TSOIL_ON_DEPTH_BEL_LAND_SFC 2 2 2 2 @@ -1756,7 +1807,7 @@ - SOILM_ON_DEPTH_BEL_LAND_SFC + GFS_CISOILM_ON_DEPTH_BEL_LAND_SFC 2 0. 2 @@ -1769,6 +1820,41 @@ 4.0 + + LAND_FRAC + 3.0 + + + + INST_PREC_ADVEC_HEAT + 3.0 + + + + WATER_AQUIFER + 3.0 + + + + ACM_EIWATER_ON_SURFACE + 3.0 + + + + ACM_PLANTTR_ON_SURFACE + 3.0 + + + + ACM_SOILSE_ON_SURFACE + 3.0 + + + + AVE_PREC_ADVEC_HEAT + 3.0 + + diff --git a/parm/postxconfig-NT-GFS-ANL.txt b/parm/gfs/postxconfig-NT-gfs-anl.txt similarity index 92% rename from parm/postxconfig-NT-GFS-ANL.txt rename to parm/gfs/postxconfig-NT-gfs-anl.txt index bab9d8bc8b..6b7b1c8b1d 100644 --- a/parm/postxconfig-NT-GFS-ANL.txt +++ b/parm/gfs/postxconfig-NT-gfs-anl.txt @@ -1,5 +1,5 @@ 1 -92 +93 GFSPRS 0 ncep_nco @@ -36,6 +36,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -45,6 +46,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -73,6 +78,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -82,6 +88,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -110,6 +120,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -119,6 +130,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -147,6 +162,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -156,6 +172,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -184,6 +204,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -193,6 +214,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -221,6 +246,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -230,6 +256,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -258,6 +288,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -267,6 +298,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -295,6 +330,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -304,6 +340,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -332,6 +372,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -341,6 +382,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -369,6 +414,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -378,6 +424,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -406,6 +456,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -415,6 +466,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -443,6 +498,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -452,6 +508,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -480,6 +540,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -489,6 +550,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -517,6 +582,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -526,6 +592,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -554,6 +624,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -563,6 +634,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -591,6 +666,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -600,6 +676,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -628,6 +708,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -637,6 +718,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -665,6 +750,7 @@ surface ? ? ? +? 0 0.0 0 @@ -674,6 +760,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -702,6 +792,7 @@ surface ? ? ? +? 0 0.0 0 @@ -711,6 +802,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -739,6 +834,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -748,6 +844,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -776,6 +876,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -785,6 +886,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -813,6 +918,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -822,6 +928,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -850,6 +960,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -859,6 +970,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -887,6 +1002,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -896,6 +1012,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -924,6 +1044,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -933,6 +1054,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -961,6 +1086,7 @@ HGT ? ? ? +? 0 0.0 0 @@ -970,6 +1096,10 @@ HGT 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -998,6 +1128,7 @@ RH ? ? ? +? 0 0.0 0 @@ -1007,6 +1138,10 @@ RH 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1035,6 +1170,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -1044,6 +1180,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1072,6 +1212,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -1081,6 +1222,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1109,6 +1254,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -1118,6 +1264,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1146,6 +1296,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -1155,6 +1306,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1183,6 +1338,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -1192,6 +1348,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1220,6 +1380,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -1229,6 +1390,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1257,6 +1422,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -1266,6 +1432,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1294,6 +1464,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1303,6 +1474,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1331,6 +1506,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1340,6 +1516,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1368,6 +1548,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1377,6 +1558,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1405,6 +1590,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -1414,6 +1600,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1442,6 +1632,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -1451,6 +1642,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1479,6 +1674,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -1488,6 +1684,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1516,6 +1716,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -1525,6 +1726,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1553,6 +1758,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -1562,6 +1768,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1590,6 +1800,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -1599,6 +1810,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1627,6 +1842,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -1636,6 +1852,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1664,6 +1884,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -1673,6 +1894,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1701,6 +1926,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -1710,6 +1936,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1738,6 +1968,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -1747,6 +1978,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1775,6 +2010,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -1784,6 +2020,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1812,6 +2052,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -1821,6 +2062,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1849,6 +2094,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -1858,6 +2104,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -1886,6 +2136,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -1895,6 +2146,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1923,6 +2178,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -1932,6 +2188,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1960,6 +2220,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -1969,6 +2230,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1997,6 +2262,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2006,6 +2272,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2034,6 +2304,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -2043,6 +2314,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2071,6 +2346,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2080,6 +2356,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2108,6 +2388,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -2117,6 +2398,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2145,6 +2430,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2154,6 +2440,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2182,6 +2472,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -2191,6 +2482,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2219,6 +2514,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2228,6 +2524,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2256,6 +2556,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2265,6 +2566,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -2293,6 +2598,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -2302,6 +2608,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2330,6 +2640,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2339,6 +2650,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2367,6 +2682,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2376,6 +2692,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2404,6 +2724,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -2413,6 +2734,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2441,6 +2766,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -2450,6 +2776,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2478,6 +2808,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2487,6 +2818,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2515,6 +2850,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -2524,6 +2860,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2552,6 +2892,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -2561,6 +2902,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2589,6 +2934,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -2598,6 +2944,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2626,6 +2976,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2635,6 +2986,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2663,6 +3018,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -2672,6 +3028,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -2700,6 +3060,7 @@ sigma_lvl 94. ? ? +? 0 0.0 0 @@ -2709,6 +3070,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -2737,6 +3102,7 @@ sigma_lvl 72. ? ? +? 0 0.0 0 @@ -2746,6 +3112,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -2774,6 +3144,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -2783,6 +3154,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -2811,6 +3186,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -2820,6 +3196,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2848,6 +3228,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -2857,6 +3238,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2885,6 +3270,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -2894,6 +3280,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2922,6 +3312,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -2931,6 +3322,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2959,6 +3354,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -2968,6 +3364,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2996,6 +3396,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -3005,6 +3406,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -3033,6 +3438,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -3042,6 +3448,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3070,6 +3480,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3079,6 +3490,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3107,6 +3522,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3116,6 +3532,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3144,6 +3564,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -3153,6 +3574,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3181,6 +3606,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -3190,6 +3616,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3218,6 +3648,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -3227,6 +3658,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3255,6 +3690,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -3264,6 +3700,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3292,6 +3732,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -3301,6 +3742,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3329,6 +3774,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3338,6 +3784,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3366,6 +3816,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3375,6 +3826,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3403,6 +3858,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3412,6 +3868,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -3420,3 +3880,45 @@ surface ? ? ? +996 +LAND_FRAC +? +1 +tmpl4_0 +LANDFRC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? diff --git a/parm/postxconfig-NT-GFS-F00-TWO.txt b/parm/gfs/postxconfig-NT-gfs-f00-two.txt similarity index 87% rename from parm/postxconfig-NT-GFS-F00-TWO.txt rename to parm/gfs/postxconfig-NT-gfs-f00-two.txt index 52e08dde79..a3b1f00998 100644 --- a/parm/postxconfig-NT-GFS-F00-TWO.txt +++ b/parm/gfs/postxconfig-NT-gfs-f00-two.txt @@ -1,6 +1,6 @@ 2 -45 -149 +47 +156 GFSPRS 0 ncep_nco @@ -37,6 +37,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -46,6 +47,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -74,6 +79,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -83,6 +89,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -111,6 +121,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -120,6 +131,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -148,6 +163,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -157,6 +173,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -185,6 +205,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -194,6 +215,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -222,6 +247,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -231,6 +257,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -259,6 +289,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -268,6 +299,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -296,6 +331,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -305,6 +341,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -333,6 +373,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -342,6 +383,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -370,6 +415,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -379,6 +425,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -407,6 +457,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -416,6 +467,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -444,6 +499,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -453,6 +509,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -481,6 +541,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -490,6 +551,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -518,6 +583,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -527,6 +593,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -555,6 +625,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -564,6 +635,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -592,6 +667,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -601,6 +677,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -629,6 +709,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -638,6 +719,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -666,6 +751,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -675,6 +761,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -703,6 +793,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -712,6 +803,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -740,6 +835,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -749,6 +845,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -777,6 +877,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -786,6 +887,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -814,6 +919,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -823,6 +929,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -851,6 +961,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -860,6 +971,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -888,6 +1003,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -897,6 +1013,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -925,6 +1045,7 @@ surface ? ? ? +? 0 0.0 0 @@ -934,6 +1055,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -962,6 +1087,7 @@ surface ? ? ? +? 0 0.0 0 @@ -971,6 +1097,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -999,6 +1129,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1008,6 +1139,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1036,6 +1171,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -1045,6 +1181,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1073,6 +1213,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -1082,6 +1223,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1110,6 +1255,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -1119,6 +1265,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1147,6 +1297,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1156,6 +1307,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1184,6 +1339,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1193,6 +1349,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1221,6 +1381,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1230,6 +1391,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1258,6 +1423,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1267,6 +1433,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1295,6 +1465,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1304,6 +1475,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1332,6 +1507,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1341,6 +1517,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1369,6 +1549,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1378,6 +1559,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1406,6 +1591,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1415,6 +1601,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1443,6 +1633,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1452,6 +1643,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1480,6 +1675,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1489,6 +1685,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1517,6 +1717,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1526,6 +1727,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1554,6 +1759,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1563,6 +1769,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1591,6 +1801,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1600,6 +1811,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1628,6 +1843,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1637,6 +1853,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1665,6 +1885,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1674,6 +1895,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1702,6 +1927,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1711,6 +1937,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1739,6 +1969,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1748,6 +1979,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1767,13 +2002,14 @@ HLCY spec_hgt_lvl_above_grnd 0 ? -1 -3000. +2 +3000. 1000. spec_hgt_lvl_above_grnd 0 ? -1 -0. +2 +0. 0. +? ? ? 0 @@ -1785,6 +2021,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1813,6 +2053,7 @@ spec_hgt_lvl_above_grnd 0. ? ? +? 0 0.0 0 @@ -1822,6 +2063,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1850,6 +2095,7 @@ spec_hgt_lvl_above_grnd 0. ? ? +? 0 0.0 0 @@ -1859,8 +2105,12 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 -1 -4.0 +0 +0.0 +0 +0.0 +1 +4.0 0 0 0 @@ -1887,6 +2137,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1896,6 +2147,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -1924,6 +2179,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1933,6 +2189,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -1961,6 +2221,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1970,6 +2231,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -1998,6 +2263,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2007,6 +2273,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -2015,9 +2285,9 @@ surface ? ? ? -180 -VIS_ON_SURFACE -? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface 1 tmpl4_0 VIS @@ -2035,6 +2305,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2044,6 +2315,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2057,7 +2332,7 @@ BRTMP_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -BRTMP +BRTEMP ? ? top_of_atmos @@ -2072,6 +2347,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2081,6 +2357,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2109,6 +2389,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2118,6 +2399,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2146,6 +2431,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2155,6 +2441,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2183,6 +2473,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2192,6 +2483,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -2220,6 +2515,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2229,6 +2525,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2257,6 +2557,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2266,6 +2567,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2294,6 +2599,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2303,6 +2609,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2331,6 +2641,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2340,6 +2651,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2368,6 +2683,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2377,6 +2693,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2405,6 +2725,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2414,6 +2735,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2442,6 +2767,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2451,6 +2777,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2479,6 +2809,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -2488,6 +2819,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2516,6 +2851,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -2525,6 +2861,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2553,6 +2893,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -2562,6 +2903,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2590,6 +2935,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2599,6 +2945,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2627,6 +2977,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2636,6 +2987,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2664,6 +3019,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2673,6 +3029,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2701,6 +3061,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2710,6 +3071,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2738,6 +3103,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2747,6 +3113,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -2775,6 +3145,7 @@ HGT ? ? ? +? 0 0.0 0 @@ -2784,6 +3155,10 @@ HGT 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2812,6 +3187,7 @@ RH ? ? ? +? 0 0.0 0 @@ -2821,6 +3197,10 @@ RH 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2849,6 +3229,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -2858,6 +3239,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2886,6 +3271,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -2895,6 +3281,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2923,6 +3313,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -2932,6 +3323,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2960,6 +3355,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -2969,6 +3365,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2997,6 +3397,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -3006,6 +3407,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -3034,6 +3439,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -3043,6 +3449,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3071,6 +3481,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3080,6 +3491,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3108,6 +3523,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -3117,6 +3533,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3145,6 +3565,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -3154,6 +3575,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3182,6 +3607,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -3191,6 +3617,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3219,6 +3649,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -3228,6 +3659,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3256,6 +3691,7 @@ sigma_lvl 94. ? ? +? 0 0.0 0 @@ -3265,6 +3701,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3293,6 +3733,7 @@ sigma_lvl 72. ? ? +? 0 0.0 0 @@ -3302,6 +3743,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3330,6 +3775,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -3339,6 +3785,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3367,6 +3817,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -3376,6 +3827,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3404,6 +3859,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -3413,6 +3869,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3441,6 +3901,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -3450,6 +3911,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3478,6 +3943,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -3487,6 +3953,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3515,6 +3985,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -3524,6 +3995,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -3552,6 +4027,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -3561,6 +4037,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3589,6 +4069,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -3598,6 +4079,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3626,6 +4111,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -3635,6 +4121,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3663,6 +4153,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -3672,6 +4163,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3700,6 +4195,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -3709,8 +4205,12 @@ max_wind 0.0 0 0.0 -1 -4.0 +0 +0.0 +0 +0.0 +1 +4.0 0 0 0 @@ -3737,6 +4237,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3746,6 +4247,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3774,6 +4279,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -3783,6 +4289,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3811,6 +4321,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -3820,6 +4331,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3848,6 +4363,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -3857,6 +4373,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3885,6 +4405,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3894,6 +4415,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3922,6 +4447,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3931,6 +4457,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3959,6 +4489,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -3968,6 +4499,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3996,6 +4531,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -4005,6 +4541,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4033,6 +4573,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -4042,6 +4583,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4070,6 +4615,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -4079,6 +4625,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4107,6 +4657,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -4116,6 +4667,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4144,6 +4699,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -4153,6 +4709,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4181,6 +4741,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -4190,6 +4751,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4218,6 +4783,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -4227,6 +4793,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4255,6 +4825,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -4264,6 +4835,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4292,6 +4867,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -4301,6 +4877,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4329,6 +4909,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -4338,6 +4919,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4366,6 +4951,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -4375,6 +4961,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4403,6 +4993,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -4412,6 +5003,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4440,6 +5035,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -4449,6 +5045,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4477,6 +5077,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4486,6 +5087,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4514,6 +5119,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -4523,6 +5129,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4551,6 +5161,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4560,6 +5171,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -4588,6 +5203,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -4597,6 +5213,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4625,6 +5245,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -4634,6 +5255,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4662,6 +5287,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -4671,6 +5297,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4699,6 +5329,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4708,6 +5339,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -4736,6 +5371,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4745,6 +5381,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4773,6 +5413,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -4782,6 +5423,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4810,6 +5455,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4819,6 +5465,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4847,6 +5497,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4856,6 +5507,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4884,6 +5539,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4893,6 +5549,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4921,6 +5581,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4930,6 +5591,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4958,6 +5623,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4967,6 +5633,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4995,6 +5665,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -5004,6 +5675,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5032,6 +5707,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -5041,6 +5717,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5069,6 +5749,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -5078,6 +5759,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5106,6 +5791,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5115,6 +5801,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5143,6 +5833,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5152,6 +5843,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5180,6 +5875,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5189,6 +5885,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -5217,6 +5917,7 @@ cloud_ceilng ? ? ? +? 0 0.0 0 @@ -5226,6 +5927,10 @@ cloud_ceilng 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5254,6 +5959,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -5263,6 +5969,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5291,6 +6001,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5300,6 +6011,10 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5328,6 +6043,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5337,6 +6053,10 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5365,6 +6085,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5374,6 +6095,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5402,6 +6127,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -5411,6 +6137,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5439,6 +6169,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -5448,6 +6179,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5476,6 +6211,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -5485,6 +6221,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5513,6 +6253,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -5522,6 +6263,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5530,12 +6275,306 @@ spec_pres_above_grnd ? ? ? -GFSFLX -0 -ncep_nco -v2003 -local_tab_yes1 -fcst +996 +LAND_FRAC +? +1 +tmpl4_0 +LANDFRC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +600 +AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +601 +DUST_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +602 +SEASALT_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +603 +SULFATE_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +604 +ORGANIC_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +605 +BLACK_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +GFSFLX +0 +ncep_nco +v2003 +local_tab_yes1 +fcst oper fcst fcst @@ -5566,6 +6605,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -5575,6 +6615,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5603,6 +6647,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -5612,6 +6657,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -5640,6 +6689,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -5649,6 +6699,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5677,6 +6731,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -5686,6 +6741,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5714,6 +6773,49 @@ surface ? ? ? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? 0 0.0 0 @@ -5723,6 +6825,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5731,12 +6837,12 @@ surface ? ? ? -25 -HGT_ON_SURFACE +26 +TMP_ON_SURFACE ? 1 tmpl4_0 -HGT +TMP ? ? surface @@ -5751,6 +6857,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5760,20 +6867,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -26 -TMP_ON_SURFACE +549 +FDNSSTMP_ON_SURFACE ? 1 tmpl4_0 -TMP +FDNSSTMP ? ? surface @@ -5788,6 +6899,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5797,6 +6909,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5825,6 +6941,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -5834,6 +6951,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5862,6 +6983,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -5871,6 +6993,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5899,6 +7025,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -5908,6 +7035,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5936,6 +7067,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5945,6 +7077,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5973,6 +7109,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5982,6 +7119,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6010,6 +7151,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6019,6 +7161,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6047,6 +7193,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6056,6 +7203,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6084,6 +7235,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6093,6 +7245,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6121,6 +7277,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6130,6 +7287,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6158,6 +7319,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6167,6 +7329,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6195,6 +7361,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -6204,6 +7371,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6232,6 +7403,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6241,6 +7413,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6269,6 +7445,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6278,6 +7455,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6306,6 +7487,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6315,6 +7497,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6343,6 +7529,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6352,6 +7539,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6380,6 +7571,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6389,6 +7581,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6417,6 +7613,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6426,6 +7623,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6454,6 +7655,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6463,6 +7665,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6491,6 +7697,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6500,6 +7707,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6528,6 +7739,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6537,6 +7749,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6565,6 +7781,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6574,6 +7791,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6602,6 +7823,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6611,6 +7833,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6639,6 +7865,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6648,6 +7875,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6676,6 +7907,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6685,6 +7917,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6713,6 +7949,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6722,6 +7959,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6750,6 +7991,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6759,6 +8001,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6787,6 +8033,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6796,6 +8043,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -6824,6 +8075,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6833,6 +8085,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6861,6 +8117,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6870,6 +8127,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6898,6 +8159,7 @@ convective_cloud_lyr ? ? ? +? 0 0.0 0 @@ -6907,6 +8169,10 @@ convective_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6935,6 +8201,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6944,6 +8211,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6972,6 +8243,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6981,6 +8253,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7009,6 +8285,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7018,6 +8295,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7046,6 +8327,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7055,6 +8337,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -7083,6 +8369,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7092,6 +8379,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7120,6 +8411,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7129,6 +8421,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7157,6 +8453,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7166,6 +8463,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7175,11 +8476,11 @@ hybrid_lvl ? ? 36 -SOILM_ON_DEPTH_BEL_LAND_SFC +GFS_CISOILM_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -SOILM +CISOILM ? ? depth_bel_land_sfc @@ -7194,6 +8495,7 @@ depth_bel_land_sfc 200. ? ? +? 0 0.0 0 @@ -7203,6 +8505,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7211,3 +8517,45 @@ depth_bel_land_sfc ? ? ? +996 +LAND_FRAC +? +1 +tmpl4_0 +LANDFRC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? diff --git a/parm/postxconfig-NT-GFS-GOES.txt b/parm/gfs/postxconfig-NT-gfs-goes.txt similarity index 91% rename from parm/postxconfig-NT-GFS-GOES.txt rename to parm/gfs/postxconfig-NT-gfs-goes.txt index 510347582f..25970c216b 100644 --- a/parm/postxconfig-NT-GFS-GOES.txt +++ b/parm/gfs/postxconfig-NT-gfs-goes.txt @@ -1,6 +1,6 @@ 1 4 -GFSPRS +GFSGOES 0 ncep_nco v2003 @@ -36,6 +36,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -45,6 +46,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -73,6 +78,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -82,6 +88,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -110,6 +120,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -119,6 +130,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -147,6 +162,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -156,6 +172,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 diff --git a/parm/postxconfig-NT-GFS-TWO.txt b/parm/gfs/postxconfig-NT-gfs-two.txt similarity index 86% rename from parm/postxconfig-NT-GFS-TWO.txt rename to parm/gfs/postxconfig-NT-gfs-two.txt index 4bd605e546..5f0d99aa20 100644 --- a/parm/postxconfig-NT-GFS-TWO.txt +++ b/parm/gfs/postxconfig-NT-gfs-two.txt @@ -1,6 +1,6 @@ 2 -104 -196 +112 +206 GFSPRS 0 ncep_nco @@ -37,6 +37,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -46,6 +47,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -74,6 +79,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -83,6 +89,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -111,6 +121,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -120,6 +131,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -148,6 +163,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -157,6 +173,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -185,6 +205,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -194,6 +215,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -222,6 +247,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -231,6 +257,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -259,6 +289,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -268,6 +299,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -296,6 +331,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -305,6 +341,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -333,6 +373,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -342,6 +383,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -370,6 +415,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -379,6 +425,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -407,6 +457,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -416,6 +467,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -444,6 +499,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -453,6 +509,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -481,6 +541,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -490,6 +551,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -518,6 +583,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -527,6 +593,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -555,6 +625,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -564,6 +635,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -592,6 +667,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -601,6 +677,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -629,6 +709,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -638,6 +719,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -666,6 +751,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -675,6 +761,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -703,6 +793,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -712,6 +803,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -740,6 +835,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -749,6 +845,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -777,6 +877,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -786,6 +887,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -814,6 +919,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -823,6 +929,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -851,6 +961,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -860,6 +971,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -888,6 +1003,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -897,6 +1013,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -925,6 +1045,7 @@ surface ? ? ? +? 0 0.0 0 @@ -934,6 +1055,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -962,6 +1087,7 @@ surface ? ? ? +? 0 0.0 0 @@ -971,6 +1097,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -999,6 +1129,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1008,6 +1139,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1036,6 +1171,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -1045,6 +1181,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1073,6 +1213,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -1082,6 +1223,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1110,6 +1255,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -1119,6 +1265,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1147,6 +1297,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1156,6 +1307,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1184,6 +1339,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1193,6 +1349,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1221,6 +1381,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1230,6 +1391,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1258,6 +1423,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1267,6 +1433,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1295,6 +1465,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1304,6 +1475,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1332,6 +1507,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1341,6 +1517,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1369,6 +1549,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1378,6 +1559,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1406,6 +1591,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1415,6 +1601,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1443,6 +1633,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1452,6 +1643,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1480,6 +1675,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1489,6 +1685,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1517,6 +1717,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1526,6 +1727,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1554,6 +1759,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1563,6 +1769,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1591,6 +1801,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1600,6 +1811,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1628,6 +1843,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1637,6 +1853,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1665,6 +1885,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1674,6 +1895,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1702,6 +1927,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1711,6 +1937,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1739,6 +1969,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1748,6 +1979,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1767,13 +2002,14 @@ HLCY spec_hgt_lvl_above_grnd 0 ? -1 -3000. +2 +3000. 1000. spec_hgt_lvl_above_grnd 0 ? -1 -0. +2 +0. 0. +? ? ? 0 @@ -1785,6 +2021,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1813,6 +2053,7 @@ spec_hgt_lvl_above_grnd 0. ? ? +? 0 0.0 0 @@ -1822,6 +2063,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1850,6 +2095,7 @@ spec_hgt_lvl_above_grnd 0. ? ? +? 0 0.0 0 @@ -1859,8 +2105,12 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 -1 -4.0 +0 +0.0 +0 +0.0 +1 +4.0 0 0 0 @@ -1887,6 +2137,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1896,6 +2147,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -1924,6 +2179,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1933,6 +2189,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -1961,6 +2221,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1970,6 +2231,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -1998,6 +2263,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2007,6 +2273,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2035,6 +2305,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2044,6 +2315,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2072,6 +2347,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2081,6 +2357,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2109,6 +2389,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2118,6 +2399,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -2146,6 +2431,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2155,6 +2441,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -2183,6 +2473,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2192,6 +2483,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -2220,48 +2515,16 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -1.0 -0 -0 -0 -? -? -? -317 -AVE_CRAIN_ON_SURFACE -? -1 -tmpl4_8 -CRAIN -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -2274,87 +2537,13 @@ surface ? ? ? -555 -AVE_CSNOW_ON_SURFACE -average Categorical snow on surface -1 -tmpl4_8 -CSNOW -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? +271 +AVE_PRATE_ON_SURFACE ? -556 -AVE_CICEP_ON_SURFACE -average Categorical ice pellets on surface 1 tmpl4_8 -CICEP -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? +PRATE ? -557 -AVE_CFRZR_ON_SURFACE -average Categorical freezing rain on surface -1 -tmpl4_8 -CFRZR -NCEP AVE surface 0 @@ -2368,48 +2557,16 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -1.0 -0 -0 -0 -? -? -? -271 -AVE_PRATE_ON_SURFACE -? -1 -tmpl4_8 -PRATE -? -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -2442,6 +2599,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2451,6 +2609,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2479,6 +2641,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -2488,6 +2651,10 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2516,6 +2683,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -2525,6 +2693,10 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2553,6 +2725,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -2562,6 +2735,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2590,6 +2767,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -2599,6 +2777,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2607,9 +2789,9 @@ entire_atmos_single_lyr ? ? ? -180 -VIS_ON_SURFACE -? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface 1 tmpl4_0 VIS @@ -2627,6 +2809,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2636,6 +2819,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2664,6 +2851,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2673,6 +2861,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2701,6 +2893,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2710,6 +2903,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2738,6 +2935,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2747,6 +2945,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2775,6 +2977,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2784,6 +2987,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2812,6 +3019,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2821,6 +3029,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2849,6 +3061,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2858,6 +3071,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2886,6 +3103,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2895,6 +3113,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2923,6 +3145,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2932,6 +3155,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2945,7 +3172,7 @@ BRTMP_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -BRTMP +BRTEMP ? ? top_of_atmos @@ -2960,6 +3187,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2969,6 +3197,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2997,6 +3229,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3006,6 +3239,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3034,6 +3271,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3043,6 +3281,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3071,6 +3313,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3080,6 +3323,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3108,6 +3355,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3117,6 +3365,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3145,6 +3397,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3154,6 +3407,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3182,6 +3439,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3191,6 +3449,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3219,6 +3481,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3228,6 +3491,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3256,6 +3523,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3265,6 +3533,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -3293,6 +3565,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3302,6 +3575,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3330,6 +3607,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3339,6 +3617,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3367,6 +3649,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3376,6 +3659,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3404,6 +3691,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3413,6 +3701,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3441,6 +3733,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3450,6 +3743,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3478,6 +3775,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3487,6 +3785,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3515,6 +3817,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3524,6 +3827,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3552,6 +3859,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3561,6 +3869,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3589,6 +3901,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -3598,6 +3911,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3626,6 +3943,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -3635,6 +3953,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3663,6 +3985,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -3672,6 +3995,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3700,6 +4027,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3709,6 +4037,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3737,6 +4069,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3746,6 +4079,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3774,6 +4111,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3783,6 +4121,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3811,6 +4153,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3820,6 +4163,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3848,6 +4195,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3857,6 +4205,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -3885,6 +4237,7 @@ HGT ? ? ? +? 0 0.0 0 @@ -3894,6 +4247,10 @@ HGT 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3922,6 +4279,7 @@ RH ? ? ? +? 0 0.0 0 @@ -3931,6 +4289,10 @@ RH 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3959,6 +4321,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -3968,6 +4331,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3996,6 +4363,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -4005,6 +4373,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4033,6 +4405,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -4042,6 +4415,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4070,6 +4447,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -4079,6 +4457,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4107,6 +4489,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -4116,6 +4499,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -4144,6 +4531,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -4153,6 +4541,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4181,6 +4573,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -4190,6 +4583,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4218,6 +4615,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -4227,6 +4625,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4255,6 +4657,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -4264,6 +4667,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4292,6 +4699,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -4301,6 +4709,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4329,6 +4741,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -4338,6 +4751,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4366,6 +4783,7 @@ sigma_lvl 94. ? ? +? 0 0.0 0 @@ -4375,6 +4793,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4403,6 +4825,7 @@ sigma_lvl 72. ? ? +? 0 0.0 0 @@ -4412,6 +4835,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4440,6 +4867,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4449,6 +4877,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4477,6 +4909,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4486,6 +4919,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4514,6 +4951,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4523,6 +4961,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4551,6 +4993,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4560,6 +5003,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4588,6 +5035,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4597,6 +5045,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4625,6 +5077,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -4634,6 +5087,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -4662,6 +5119,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4671,6 +5129,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4699,6 +5161,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4708,6 +5171,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4736,6 +5203,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4745,6 +5213,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4773,6 +5245,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4782,6 +5255,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4810,6 +5287,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4819,6 +5297,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4847,6 +5329,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4856,7 +5339,11 @@ surface 0.0 0 0.0 -1 +0 +0.0 +0 +0.0 +1 6.0 0 0 @@ -4884,6 +5371,7 @@ convective_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -4893,6 +5381,10 @@ convective_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4921,6 +5413,7 @@ convective_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -4930,6 +5423,10 @@ convective_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4958,6 +5455,7 @@ low_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -4967,6 +5465,10 @@ low_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4995,6 +5497,7 @@ mid_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -5004,6 +5507,10 @@ mid_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5032,6 +5539,7 @@ high_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -5041,6 +5549,10 @@ high_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5069,6 +5581,7 @@ low_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5078,6 +5591,10 @@ low_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5106,6 +5623,7 @@ mid_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5115,6 +5633,10 @@ mid_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5143,6 +5665,7 @@ high_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5152,6 +5675,10 @@ high_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5180,6 +5707,7 @@ low_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5189,6 +5717,10 @@ low_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5217,6 +5749,7 @@ mid_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5226,6 +5759,10 @@ mid_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5254,6 +5791,7 @@ high_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5263,6 +5801,10 @@ high_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5291,6 +5833,7 @@ convective_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5300,6 +5843,10 @@ convective_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5328,6 +5875,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -5337,6 +5885,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5365,6 +5917,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -5374,6 +5927,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5402,6 +5959,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -5411,6 +5969,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5439,6 +6001,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5448,6 +6011,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5476,6 +6043,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -5485,6 +6053,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5513,6 +6085,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5522,6 +6095,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5550,6 +6127,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -5559,6 +6137,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5587,6 +6169,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -5596,6 +6179,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5624,6 +6211,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -5633,6 +6221,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5661,6 +6253,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -5670,6 +6263,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5698,6 +6295,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -5707,6 +6305,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5735,6 +6337,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -5744,6 +6347,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5772,6 +6379,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -5781,6 +6389,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5809,6 +6421,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -5818,6 +6431,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5846,6 +6463,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -5855,6 +6473,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5883,6 +6505,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -5892,6 +6515,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5920,6 +6547,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -5929,6 +6557,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5957,6 +6589,7 @@ bound_lyr_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5966,6 +6599,10 @@ bound_lyr_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5994,6 +6631,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -6003,6 +6641,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6031,6 +6673,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6040,6 +6683,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6068,6 +6715,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6077,6 +6725,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6105,6 +6757,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6114,6 +6767,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6142,6 +6799,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6151,6 +6809,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6179,6 +6841,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6188,6 +6851,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6216,6 +6883,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -6225,6 +6893,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6253,6 +6925,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -6262,6 +6935,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6290,6 +6967,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6299,6 +6977,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6327,6 +7009,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -6336,6 +7019,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6364,6 +7051,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -6373,6 +7061,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6401,6 +7093,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -6410,6 +7103,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6438,6 +7135,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6447,6 +7145,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -6475,6 +7177,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6484,6 +7187,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6512,6 +7219,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6521,6 +7229,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6549,6 +7261,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6558,6 +7271,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6586,6 +7303,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6595,6 +7313,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6623,6 +7345,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6632,6 +7355,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6660,6 +7387,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6669,6 +7397,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6697,6 +7429,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6706,6 +7439,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6734,6 +7471,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6743,6 +7481,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6771,6 +7513,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6780,6 +7523,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6808,6 +7555,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -6817,6 +7565,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6845,6 +7597,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6854,6 +7607,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6882,6 +7639,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6891,6 +7649,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6919,6 +7681,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6928,6 +7691,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6956,6 +7723,7 @@ cloud_ceilng ? ? ? +? 0 0.0 0 @@ -6965,6 +7733,10 @@ cloud_ceilng 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6993,6 +7765,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -7002,6 +7775,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7030,6 +7807,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -7039,6 +7817,10 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7067,6 +7849,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -7076,6 +7859,10 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7104,6 +7891,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -7113,6 +7901,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7141,6 +7933,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -7150,6 +7943,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7178,6 +7975,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7187,6 +7985,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7215,6 +8017,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -7224,6 +8027,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7252,6 +8059,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -7261,6 +8069,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7269,35 +8081,19 @@ spec_pres_above_grnd ? ? ? -GFSFLX -0 -ncep_nco -v2003 -local_tab_yes1 -fcst -oper -fcst -fcst -hour -nws_ncep -gfs_avn -complex_packing_spatial_diff -2nd_ord_sptdiff -fltng_pnt -lossless -106 -TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +996 +LAND_FRAC ? 1 tmpl4_0 -TMP +LANDFRC +NCEP ? +surface +0 ? -spec_hgt_lvl_above_grnd 0 ? -1 -2. ? 0 ? @@ -7305,6 +8101,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -7314,27 +8111,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -112 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +746 +ACM_GRAUPEL_ON_SURFACE ? 1 -tmpl4_0 -SPFH -? +tmpl4_8 +FROZR +NCEP +ACM +surface +0 ? -spec_hgt_lvl_above_grnd 0 ? -1 -2. ? 0 ? @@ -7342,6 +8143,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -7351,27 +8153,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -7.0 +6.0 0 0 0 ? ? ? -64 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface 1 -tmpl4_0 -UGRD -? +tmpl4_8 +FROZR +NCEP +ACM +surface +0 ? -spec_hgt_lvl_above_grnd 0 ? -1 -10. ? 0 ? @@ -7379,6 +8185,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -7388,27 +8195,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -65 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +782 +ACM_FRAIN_ON_SURFACE ? 1 -tmpl4_0 -VGRD -? +tmpl4_8 +FRZR +NCEP +ACM +surface +0 ? -spec_hgt_lvl_above_grnd 0 ? -1 -10. ? 0 ? @@ -7416,6 +8227,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -7425,6 +8237,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7433,14 +8249,14 @@ spec_hgt_lvl_above_grnd ? ? ? -24 -PRES_ON_SURFACE +1003 +BUCKET_FRAIN_ON_SURFACE ? 1 -tmpl4_0 -PRES -? -? +tmpl4_8 +FRZR +NCEP +ACM surface 0 ? @@ -7453,6 +8269,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7462,22 +8279,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -25 -HGT_ON_SURFACE +1004 +ACM_SNOWFALL_ON_SURFACE ? 1 -tmpl4_0 -HGT -? +tmpl4_8 +TSNOWP ? +ACM surface 0 ? @@ -7490,6 +8311,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7499,22 +8321,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -26 -TMP_ON_SURFACE +1005 +BUCKET_SNOWFALL_ON_SURFACE ? 1 -tmpl4_0 -TMP -? +tmpl4_8 +TSNOWP ? +ACM surface 0 ? @@ -7527,6 +8353,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7536,6 +8363,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7544,98 +8375,881 @@ surface ? ? ? -116 -TSOIL_ON_DEPTH_BEL_LAND_SFC +600 +AER_OPT_GFS_at550 ? 1 -tmpl4_0 -TSOIL +tmpl4_48 +AOTK ? ? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. +entire_atmos +0 +? +0 ? ? 0 -0.0 +? 0 -0.0 ? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 0 0.0 0 0.0 1 -4.0 +9.0 0 0 0 ? ? ? -117 -SOILW_ON_DEPTH_BEL_LAND_SFC +601 +DUST_AER_OPT_GFS_at550 ? 1 -tmpl4_0 -SOILW -NCEP -? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. +tmpl4_48 +AOTK ? ? +entire_atmos 0 -0.0 +? 0 -0.0 +? ? 0 -0.0 +? +0 +? +dust_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +602 +SEASALT_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +603 +SULFATE_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +604 +ORGANIC_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +605 +BLACK_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +GFSFLX +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gfs_avn +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +549 +FDNSSTMP_ON_SURFACE +? +1 +tmpl4_0 +FDNSSTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +NCEP +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 0 0.0 1 -3.0 +6.0 0 0 0 ? ? ? -225 -SOILL_ON_DEPTH_BEL_LAND_SFC +517 +AVE_PEVPR_ON_SURFACE ? 1 -tmpl4_0 -SOILL +tmpl4_8 +PEVPR NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? ? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. ? ? 0 @@ -7647,20 +9261,24 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -118 -CNWAT_ON_SURFACE +242 +PEVPR_ON_SURFACE ? 1 tmpl4_0 -CNWAT +PEVPR NCEP ? surface @@ -7675,6 +9293,49 @@ surface ? ? ? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +349 +ICETK_ON_SURFACE +? +1 +tmpl4_0 +ICETK +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? 0 0.0 0 @@ -7684,6 +9345,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7692,12 +9357,12 @@ surface ? ? ? -119 -WEASD_ON_SURFACE +224 +SNOD_ON_SURFACE ? 1 tmpl4_0 -WEASD +SNOD ? ? surface @@ -7712,6 +9377,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7721,6 +9387,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7728,14 +9398,140 @@ surface 0 ? ? +yes +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? ? -517 -AVE_PEVPR_ON_SURFACE ? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 1 -tmpl4_8 -PEVPR +4.0 +0 +0 +0 +? +? +yes +397 +FLDCP_ON_SURFACE +? +1 +tmpl4_0 +FLDCP NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +yes +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +271 +AVE_PRATE_ON_SURFACE +? +1 +tmpl4_8 +PRATE +? AVE surface 0 @@ -7749,6 +9545,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7758,6 +9555,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7766,14 +9567,14 @@ surface ? ? ? -242 -PEVPR_ON_SURFACE +272 +AVE_CPRAT_ON_SURFACE ? 1 -tmpl4_0 -PEVPR +tmpl4_8 +CPRAT NCEP -? +AVE surface 0 ? @@ -7786,6 +9587,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7795,6 +9597,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7803,15 +9609,15 @@ surface ? ? ? -349 -ICETK_ON_SURFACE +300 +AVE_TCDC_ON_LOW_CLOUD_LYR ? 1 -tmpl4_0 -ICETK -? +tmpl4_8 +LCDC ? -surface +AVE +low_cloud_lyr 0 ? 0 @@ -7823,6 +9629,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7832,23 +9639,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -224 -SNOD_ON_SURFACE +301 +AVE_TCDC_ON_MID_CLOUD_LYR ? 1 -tmpl4_0 -SNOD -? +tmpl4_8 +MCDC ? -surface +AVE +mid_cloud_lyr 0 ? 0 @@ -7860,6 +9671,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7869,23 +9681,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? -yes -236 -WILT_ON_SURFACE +? +302 +AVE_TCDC_ON_HIGH_CLOUD_LYR ? 1 -tmpl4_0 -WILT -NCEP +tmpl4_8 +HCDC ? -surface +AVE +high_cloud_lyr 0 ? 0 @@ -7897,6 +9713,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7906,6 +9723,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7913,16 +9734,16 @@ surface 0 ? ? -yes -397 -FLDCP_ON_SURFACE +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS ? 1 -tmpl4_0 -FLDCP -NCEP +tmpl4_8 +TCDC ? -surface +AVE +entire_atmos_single_lyr 0 ? 0 @@ -7934,6 +9755,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7943,6 +9765,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7950,16 +9776,16 @@ surface 0 ? ? -yes -80 -PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR -? -1 -tmpl4_0 -PWAT ? +126 +AVE_DSWRF_ON_SURFACE ? -entire_atmos_single_lyr +1 +tmpl4_8 +DSWRF +NCEP +AVE +surface 0 ? 0 @@ -7971,6 +9797,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -7980,6 +9807,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7988,14 +9819,14 @@ entire_atmos_single_lyr ? ? ? -271 -AVE_PRATE_ON_SURFACE +156 +INST_DSWRF_ON_SURFACE ? 1 -tmpl4_8 -PRATE +tmpl4_0 +DSWRF +NCEP ? -AVE surface 0 ? @@ -8008,6 +9839,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8017,6 +9849,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8025,15 +9861,15 @@ surface ? ? ? -272 -AVE_CPRAT_ON_SURFACE +388 +AVE_DSWRF_ON_TOP_OF_ATMOS ? 1 tmpl4_8 -CPRAT +DSWRF NCEP AVE -surface +top_of_atmos 0 ? 0 @@ -8045,6 +9881,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8054,6 +9891,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8062,15 +9903,15 @@ surface ? ? ? -300 -AVE_TCDC_ON_LOW_CLOUD_LYR +297 +AVE_CDUVB_ON_SURFACE ? 1 tmpl4_8 -LCDC -? +CDUVB +NCEP AVE -low_cloud_lyr +surface 0 ? 0 @@ -8082,6 +9923,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -8091,23 +9933,27 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -301 -AVE_TCDC_ON_MID_CLOUD_LYR +298 +AVE_DUVB_ON_SURFACE ? 1 tmpl4_8 -MCDC -? +DUVB +NCEP AVE -mid_cloud_lyr +surface 0 ? 0 @@ -8119,6 +9965,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -8128,23 +9975,27 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -302 -AVE_TCDC_ON_HIGH_CLOUD_LYR +127 +AVE_DLWRF_ON_SURFACE ? 1 tmpl4_8 -HCDC -? +DLWRF +NCEP AVE -high_cloud_lyr +surface 0 ? 0 @@ -8156,6 +10007,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -8165,6 +10017,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -8173,15 +10029,15 @@ high_cloud_lyr ? ? ? -144 -AVE_TCDC_ON_ENTIRE_ATMOS +157 +INST_DLWRF_ON_SURFACE ? 1 -tmpl4_8 -TCDC +tmpl4_0 +DLWRF +NCEP ? -AVE -entire_atmos_single_lyr +surface 0 ? 0 @@ -8193,6 +10049,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8202,6 +10059,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -8210,12 +10071,12 @@ entire_atmos_single_lyr ? ? ? -126 -AVE_DSWRF_ON_SURFACE +128 +AVE_USWRF_ON_SURFACE ? 1 tmpl4_8 -DSWRF +USWRF NCEP AVE surface @@ -8230,6 +10091,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8239,6 +10101,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8247,12 +10113,12 @@ surface ? ? ? -156 -INST_DSWRF_ON_SURFACE +141 +INST_USWRF_ON_SURFACE ? 1 tmpl4_0 -DSWRF +USWRF NCEP ? surface @@ -8267,6 +10133,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8276,6 +10143,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8284,15 +10155,15 @@ surface ? ? ? -388 -AVE_DSWRF_ON_TOP_OF_ATMOS +129 +AVE_ULWRF_ON_SURFACE ? 1 tmpl4_8 -DSWRF +ULWRF NCEP AVE -top_of_atmos +surface 0 ? 0 @@ -8304,6 +10175,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -8313,22 +10185,26 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -297 -AVE_CDUVB_ON_SURFACE +142 +INST_ULWRF_ON_SURFACE ? 1 -tmpl4_8 -CDUVB +tmpl4_0 +ULWRF NCEP -AVE +? surface 0 ? @@ -8341,32 +10217,37 @@ surface ? ? ? +? +0 +0.0 +0 +0.0 +? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -6.0 +4.0 0 0 0 ? ? ? -298 -AVE_DUVB_ON_SURFACE +130 +AVE_USWRF_ON_TOP_OF_ATMOS ? 1 tmpl4_8 -DUVB +USWRF NCEP AVE -surface +top_of_atmos 0 ? 0 @@ -8378,6 +10259,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8387,6 +10269,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8395,15 +10281,15 @@ surface ? ? ? -127 -AVE_DLWRF_ON_SURFACE +131 +AVE_ULWRF_ON_TOP_OF_ATMOS ? 1 tmpl4_8 -DLWRF +ULWRF NCEP AVE -surface +top_of_atmos 0 ? 0 @@ -8415,6 +10301,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8424,6 +10311,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -8432,14 +10323,14 @@ surface ? ? ? -157 -INST_DLWRF_ON_SURFACE -? +401 +AVE_VBDSF_ON_SURFACE +averaged surface visible beam downward solar flux 1 -tmpl4_0 -DLWRF +tmpl4_8 +VBDSF NCEP -? +AVE surface 0 ? @@ -8452,6 +10343,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8461,20 +10353,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -128 -AVE_USWRF_ON_SURFACE -? +402 +AVE_VDDSF_ON_SURFACE +averaged surface visible diffuse downward solar flux 1 tmpl4_8 -USWRF +VDDSF NCEP AVE surface @@ -8489,6 +10385,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8498,6 +10395,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8506,14 +10407,14 @@ surface ? ? ? -141 -INST_USWRF_ON_SURFACE -? +403 +AVE_NBDSF_ON_SURFACE +averaged surface near IR beam downward solar flux 1 -tmpl4_0 -USWRF +tmpl4_8 +NBDSF NCEP -? +AVE surface 0 ? @@ -8526,6 +10427,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8535,6 +10437,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8543,12 +10449,12 @@ surface ? ? ? -129 -AVE_ULWRF_ON_SURFACE -? +404 +AVE_NDDSF_ON_SURFACE +averaged surface near IR beam downward solar flux 1 tmpl4_8 -ULWRF +NDDSF NCEP AVE surface @@ -8563,6 +10469,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8572,23 +10479,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -142 -INST_ULWRF_ON_SURFACE +385 +AVE_CSULF_ON_TOP_OF_ATMOS ? 1 -tmpl4_0 -ULWRF +tmpl4_8 +CSULF NCEP -? -surface +AVE +top_of_atmos 0 ? 0 @@ -8600,6 +10511,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8609,6 +10521,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -8617,12 +10533,12 @@ surface ? ? ? -130 -AVE_USWRF_ON_TOP_OF_ATMOS +387 +AVE_CSUSF_ON_TOP_OF_ATMOS ? 1 tmpl4_8 -USWRF +CSUSF NCEP AVE top_of_atmos @@ -8637,6 +10553,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -8646,6 +10563,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8654,15 +10575,15 @@ top_of_atmos ? ? ? -131 -AVE_ULWRF_ON_TOP_OF_ATMOS +382 +AVE_CSDLF_ON_SURFACE ? 1 tmpl4_8 -ULWRF +CSDLF NCEP AVE -top_of_atmos +surface 0 ? 0 @@ -8674,6 +10595,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -8683,6 +10605,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -8691,12 +10617,12 @@ top_of_atmos ? ? ? -401 -AVE_VBDSF_ON_SURFACE -averaged surface visible beam downward solar flux +386 +AVE_CSUSF_ON_SURFACE +? 1 tmpl4_8 -VBDSF +CSUSF NCEP AVE surface @@ -8711,6 +10637,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8720,6 +10647,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8728,12 +10659,12 @@ surface ? ? ? -402 -AVE_VDDSF_ON_SURFACE -averaged surface visible diffuse downward solar flux +383 +AVE_CSDSF_ON_SURFACE +? 1 tmpl4_8 -VDDSF +CSDSF NCEP AVE surface @@ -8748,6 +10679,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8757,6 +10689,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8765,12 +10701,12 @@ surface ? ? ? -403 -AVE_NBDSF_ON_SURFACE -averaged surface near IR beam downward solar flux +384 +AVE_CSULF_ON_SURFACE +? 1 tmpl4_8 -NBDSF +CSULF NCEP AVE surface @@ -8785,6 +10721,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8794,22 +10731,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -404 -AVE_NDDSF_ON_SURFACE -averaged surface near IR beam downward solar flux +44 +SFCR_ON_SURFACE +? 1 -tmpl4_8 -NDDSF -NCEP -AVE +tmpl4_0 +SFCR +? +? surface 0 ? @@ -8822,6 +10763,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8831,6 +10773,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8839,15 +10785,15 @@ surface ? ? ? -385 -AVE_CSULF_ON_TOP_OF_ATMOS +170 +VEG_ON_SURFACE ? 1 -tmpl4_8 -CSULF -NCEP -AVE -top_of_atmos +tmpl4_0 +VEG +? +? +surface 0 ? 0 @@ -8859,6 +10805,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -8868,23 +10815,27 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -387 -AVE_CSUSF_ON_TOP_OF_ATMOS +218 +VGTYP_ON_SURFACE ? 1 -tmpl4_8 -CSUSF +tmpl4_0 +VGTYP NCEP -AVE -top_of_atmos +? +surface 0 ? 0 @@ -8896,6 +10847,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -8905,22 +10857,26 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -382 -AVE_CSDLF_ON_SURFACE +219 +SOTYP_ON_SURFACE ? 1 -tmpl4_8 -CSDLF -NCEP -AVE +tmpl4_0 +SOTYP +? +? surface 0 ? @@ -8933,6 +10889,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8942,22 +10899,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -386 -AVE_CSUSF_ON_SURFACE +223 +SLTYP_ON_SURFACE ? 1 -tmpl4_8 -CSUSF +tmpl4_0 +SLTYP NCEP -AVE +? surface 0 ? @@ -8970,6 +10931,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8979,22 +10941,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -383 -AVE_CSDSF_ON_SURFACE +45 +FRICV_ON_SURFACE ? 1 -tmpl4_8 -CSDSF +tmpl4_0 +FRICV NCEP -AVE +? surface 0 ? @@ -9007,6 +10973,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9016,22 +10983,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -384 -AVE_CSULF_ON_SURFACE +169 +SFEXC_ON_SURFACE ? 1 -tmpl4_8 -CSULF +tmpl4_0 +SFEXC NCEP -AVE +? surface 0 ? @@ -9044,6 +11015,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9053,6 +11025,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9061,13 +11037,13 @@ surface ? ? ? -44 -SFCR_ON_SURFACE +512 +ACOND_ON_SURFACE ? 1 tmpl4_0 -SFCR -? +ACOND +NCEP ? surface 0 @@ -9081,6 +11057,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9090,22 +11067,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -170 -VEG_ON_SURFACE +43 +AVE_SHTFL_ON_SURFACE ? 1 -tmpl4_0 -VEG -? +tmpl4_8 +SHTFL ? +AVE surface 0 ? @@ -9118,6 +11099,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9127,21 +11109,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -218 -VGTYP_ON_SURFACE +154 +INST_SHTFL_ON_SURFACE ? 1 tmpl4_0 -VGTYP -NCEP +SHTFL +? ? surface 0 @@ -9155,6 +11141,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9164,22 +11151,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -219 -SOTYP_ON_SURFACE +135 +AVE_GFLUX_ON_SURFACE ? 1 -tmpl4_0 -SOTYP -? -? +tmpl4_8 +GFLUX +NCEP +AVE surface 0 ? @@ -9192,6 +11183,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9201,20 +11193,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -223 -SLTYP_ON_SURFACE +152 +INST_GFLUX_ON_SURFACE ? 1 tmpl4_0 -SLTYP +GFLUX NCEP ? surface @@ -9229,6 +11225,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9238,22 +11235,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -45 -FRICV_ON_SURFACE +122 +ACM_SSRUN_ON_SURFACE ? 1 -tmpl4_0 -FRICV +tmpl4_8 +SSRUN NCEP -? +ACM surface 0 ? @@ -9266,6 +11267,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9275,22 +11277,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -169 -SFEXC_ON_SURFACE +42 +AVE_LHTFL_ON_SURFACE ? 1 -tmpl4_0 -SFEXC -NCEP +tmpl4_8 +LHTFL ? +AVE surface 0 ? @@ -9303,6 +11309,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9312,6 +11319,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9320,13 +11331,13 @@ surface ? ? ? -512 -ACOND_ON_SURFACE +155 +INST_LHTFL_ON_SURFACE ? 1 tmpl4_0 -ACOND -NCEP +LHTFL +? ? surface 0 @@ -9340,6 +11351,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9349,6 +11361,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9357,12 +11373,12 @@ surface ? ? ? -43 -AVE_SHTFL_ON_SURFACE +269 +AVE_UFLX_ON_SURFACE ? 1 tmpl4_8 -SHTFL +UFLX ? AVE surface @@ -9377,6 +11393,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9386,6 +11403,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9394,14 +11415,14 @@ surface ? ? ? -154 -INST_SHTFL_ON_SURFACE +270 +AVE_VFLX_ON_SURFACE ? 1 -tmpl4_0 -SHTFL -? +tmpl4_8 +VFLX ? +AVE surface 0 ? @@ -9414,6 +11435,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9423,6 +11445,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9431,14 +11457,14 @@ surface ? ? ? -135 -AVE_GFLUX_ON_SURFACE +50 +LAND_ON_SURFACE ? 1 -tmpl4_8 -GFLUX -NCEP -AVE +tmpl4_0 +LAND +? +? surface 0 ? @@ -9451,6 +11477,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9460,21 +11487,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +1.0 0 0 0 ? ? ? -152 -INST_GFLUX_ON_SURFACE +51 +ICEC_ON_SURFACE ? 1 tmpl4_0 -GFLUX -NCEP +ICEC +? ? surface 0 @@ -9488,6 +11519,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9497,6 +11529,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9505,14 +11541,14 @@ surface ? ? ? -122 -ACM_SSRUN_ON_SURFACE +266 +AVE_ALBDO_ON_SURFACE ? 1 tmpl4_8 -SSRUN -NCEP -ACM +ALBDO +? +AVE surface 0 ? @@ -9525,6 +11561,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9534,22 +11571,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -42 -AVE_LHTFL_ON_SURFACE +221 +HPBL_ON_SURFACE ? 1 -tmpl4_8 -LHTFL +tmpl4_0 +HPBL +NCEP ? -AVE surface 0 ? @@ -9562,6 +11603,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9571,23 +11613,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -155 -INST_LHTFL_ON_SURFACE +188 +PRES_ON_CONVECTIVE_CLOUD_BOT_LVL ? 1 tmpl4_0 -LHTFL +PRES ? ? -surface +convective_cloud_bot_lvl 0 ? 0 @@ -9599,6 +11645,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9608,23 +11655,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -269 -AVE_UFLX_ON_SURFACE +189 +PRES_ON_CONVECTIVE_CLOUD_TOP_LVL ? 1 -tmpl4_8 -UFLX +tmpl4_0 +PRES ? -AVE -surface +? +convective_cloud_top_lvl 0 ? 0 @@ -9636,6 +11687,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9645,23 +11697,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -270 -AVE_VFLX_ON_SURFACE +303 +AVE_PRES_ON_LOW_CLOUD_BOT_LVL ? 1 tmpl4_8 -VFLX +PRES ? AVE -surface +low_cloud_bot_lvl 0 ? 0 @@ -9673,6 +11729,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9682,23 +11739,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -50 -LAND_ON_SURFACE +306 +AVE_PRES_ON_MID_CLOUD_BOT_LVL ? 1 -tmpl4_0 -LAND -? +tmpl4_8 +PRES ? -surface +AVE +mid_cloud_bot_lvl 0 ? 0 @@ -9710,6 +11771,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9719,23 +11781,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +6.0 0 0 0 ? ? ? -51 -ICEC_ON_SURFACE +309 +AVE_PRES_ON_HIGH_CLOUD_BOT_LVL ? 1 -tmpl4_0 -ICEC -? +tmpl4_8 +PRES ? -surface +AVE +high_cloud_bot_lvl 0 ? 0 @@ -9747,6 +11813,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9756,23 +11823,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -266 -AVE_ALBDO_ON_SURFACE +304 +AVE_PRES_ON_LOW_CLOUD_TOP_LVL ? 1 tmpl4_8 -ALBDO +PRES ? AVE -surface +low_cloud_top_lvl 0 ? 0 @@ -9784,6 +11855,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9793,23 +11865,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -221 -HPBL_ON_SURFACE +307 +AVE_PRES_ON_MID_CLOUD_TOP_LVL ? 1 -tmpl4_0 -HPBL -NCEP +tmpl4_8 +PRES ? -surface +AVE +mid_cloud_top_lvl 0 ? 0 @@ -9821,6 +11897,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9830,6 +11907,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -9838,15 +11919,15 @@ surface ? ? ? -188 -PRES_ON_CONVECTIVE_CLOUD_BOT_LVL +310 +AVE_PRES_ON_HIGH_CLOUD_TOP_LVL ? 1 -tmpl4_0 +tmpl4_8 PRES ? -? -convective_cloud_bot_lvl +AVE +high_cloud_top_lvl 0 ? 0 @@ -9858,6 +11939,7 @@ convective_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -9867,6 +11949,10 @@ convective_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -9875,15 +11961,15 @@ convective_cloud_bot_lvl ? ? ? -189 -PRES_ON_CONVECTIVE_CLOUD_TOP_LVL +305 +AVE_TMP_ON_LOW_CLOUD_TOP_LVL ? 1 -tmpl4_0 -PRES -? +tmpl4_8 +TMP ? -convective_cloud_top_lvl +AVE +low_cloud_top_lvl 0 ? 0 @@ -9895,6 +11981,7 @@ convective_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -9904,23 +11991,27 @@ convective_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -303 -AVE_PRES_ON_LOW_CLOUD_BOT_LVL +308 +AVE_TMP_ON_MID_CLOUD_TOP_LVL ? 1 tmpl4_8 -PRES +TMP ? AVE -low_cloud_bot_lvl +mid_cloud_top_lvl 0 ? 0 @@ -9932,6 +12023,7 @@ low_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -9941,23 +12033,27 @@ low_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -306 -AVE_PRES_ON_MID_CLOUD_BOT_LVL +311 +AVE_TMP_ON_HIGH_CLOUD_TOP_LVL ? 1 tmpl4_8 -PRES +TMP ? AVE -mid_cloud_bot_lvl +high_cloud_top_lvl 0 ? 0 @@ -9969,6 +12065,7 @@ mid_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -9978,23 +12075,27 @@ mid_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -309 -AVE_PRES_ON_HIGH_CLOUD_BOT_LVL +570 +GFS_TCDC_ON_CONVECTIVE_CLOUD_LYR ? 1 -tmpl4_8 -PRES +tmpl4_0 +TCDC ? -AVE -high_cloud_bot_lvl +? +convective_cloud_lyr 0 ? 0 @@ -10006,6 +12107,7 @@ high_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -10015,23 +12117,27 @@ high_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -304 -AVE_PRES_ON_LOW_CLOUD_TOP_LVL +342 +AVE_TCDC_ON_BOUND_LYR_CLOUD_LYR ? 1 tmpl4_8 -PRES +TCDC ? AVE -low_cloud_top_lvl +bound_lyr_cloud_lyr 0 ? 0 @@ -10043,6 +12149,7 @@ low_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -10052,23 +12159,27 @@ low_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -307 -AVE_PRES_ON_MID_CLOUD_TOP_LVL +313 +AVE_CWORK_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 tmpl4_8 -PRES -? +CWORK +NCEP AVE -mid_cloud_top_lvl +entire_atmos_single_lyr 0 ? 0 @@ -10080,6 +12191,7 @@ mid_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -10089,23 +12201,27 @@ mid_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -310 -AVE_PRES_ON_HIGH_CLOUD_TOP_LVL +315 +AVE_U-GWD_ON_SURFACE ? 1 tmpl4_8 -PRES -? +U-GWD +NCEP AVE -high_cloud_top_lvl +surface 0 ? 0 @@ -10117,32 +12233,37 @@ high_cloud_top_lvl ? ? ? +? +0 +0.0 +0 +0.0 +? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -6.0 +5.0 0 0 0 ? ? ? -305 -AVE_TMP_ON_LOW_CLOUD_TOP_LVL +316 +AVE_V-GWD_ON_SURFACE ? 1 tmpl4_8 -TMP -? +V-GWD +NCEP AVE -low_cloud_top_lvl +surface 0 ? 0 @@ -10154,6 +12275,7 @@ low_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -10163,23 +12285,27 @@ low_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -308 -AVE_TMP_ON_MID_CLOUD_TOP_LVL +343 +ACM_WATR_ON_SURFACE ? 1 tmpl4_8 -TMP +WATR ? -AVE -mid_cloud_top_lvl +ACM +surface 0 ? 0 @@ -10191,6 +12317,7 @@ mid_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -10200,27 +12327,31 @@ mid_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -311 -AVE_TMP_ON_HIGH_CLOUD_TOP_LVL +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_8 -TMP -? -AVE -high_cloud_top_lvl -0 +TMAX ? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -10228,6 +12359,7 @@ high_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -10237,6 +12369,10 @@ high_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10245,19 +12381,19 @@ high_cloud_top_lvl ? ? ? -570 -GFS_TCDC_ON_CONVECTIVE_CLOUD_LYR +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_0 -TCDC -? -? -convective_cloud_lyr -0 +tmpl4_8 +TMIN ? +MIN +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -10265,6 +12401,7 @@ convective_cloud_lyr ? ? ? +? 0 0.0 0 @@ -10274,6 +12411,10 @@ convective_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10282,19 +12423,19 @@ convective_cloud_lyr ? ? ? -342 -AVE_TCDC_ON_BOUND_LYR_CLOUD_LYR +510 +MAX_QMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_8 -TCDC -? -AVE -bound_lyr_cloud_lyr -0 -? +QMAX +NCEP +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -10302,6 +12443,7 @@ bound_lyr_cloud_lyr ? ? ? +? 0 0.0 0 @@ -10311,6 +12453,10 @@ bound_lyr_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10319,19 +12465,19 @@ bound_lyr_cloud_lyr ? ? ? -313 -AVE_CWORK_ON_ENTIRE_ATMOS_SINGLE_LYR +511 +MIN_QMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_8 -CWORK +QMIN NCEP -AVE -entire_atmos_single_lyr -0 -? +MIN +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -10339,6 +12485,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -10348,6 +12495,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10356,14 +12507,14 @@ entire_atmos_single_lyr ? ? ? -315 -AVE_U-GWD_ON_SURFACE +396 +SUNSD_ON_SURFACE ? 1 -tmpl4_8 -U-GWD +tmpl4_0 +SUNSD NCEP -AVE +? surface 0 ? @@ -10376,6 +12527,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10385,6 +12537,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -10393,14 +12549,14 @@ surface ? ? ? -316 -AVE_V-GWD_ON_SURFACE +172 +CPOFP_ON_SURFACE ? 1 -tmpl4_8 -V-GWD -NCEP -AVE +tmpl4_0 +CPOFP +? +? surface 0 ? @@ -10413,6 +12569,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10422,27 +12579,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -343 -ACM_WATR_ON_SURFACE +2 +TMP_ON_HYBRID_LVL ? 1 -tmpl4_8 -WATR +tmpl4_0 +TMP ? -ACM -surface -0 ? +hybrid_lvl 0 ? +1 +1. ? 0 ? @@ -10450,6 +12611,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10459,27 +12621,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -345 -MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +5 +SPFH_ON_HYBRID_LVL ? 1 -tmpl4_8 -TMAX +tmpl4_0 +SPFH ? -MAX -spec_hgt_lvl_above_grnd +? +hybrid_lvl 0 ? 1 -2. +1. ? 0 ? @@ -10487,6 +12653,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -10496,27 +12663,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +7.0 0 0 0 ? ? ? -346 -MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +7 +UGRD_ON_HYBRID_LVL ? 1 -tmpl4_8 -TMIN +tmpl4_0 +UGRD ? -MIN -spec_hgt_lvl_above_grnd +? +hybrid_lvl 0 ? 1 -2. +1. ? 0 ? @@ -10524,6 +12695,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -10533,6 +12705,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10541,19 +12717,19 @@ spec_hgt_lvl_above_grnd ? ? ? -510 -MAX_QMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +8 +VGRD_ON_HYBRID_LVL ? 1 -tmpl4_8 -QMAX -NCEP -MAX -spec_hgt_lvl_above_grnd +tmpl4_0 +VGRD +? +? +hybrid_lvl 0 ? 1 -2. +1. ? 0 ? @@ -10561,6 +12737,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -10570,6 +12747,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10578,19 +12759,19 @@ spec_hgt_lvl_above_grnd ? ? ? -511 -MIN_QMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +77 +HGT_ON_HYBRID_LVL ? 1 -tmpl4_8 -QMIN -NCEP -MIN -spec_hgt_lvl_above_grnd +tmpl4_0 +HGT +? +? +hybrid_lvl 0 ? 1 -2. +1. ? 0 ? @@ -10598,11 +12779,16 @@ spec_hgt_lvl_above_grnd ? ? ? +? +0 +0.0 +0 +0.0 +? 0 0.0 0 0.0 -? 0 0.0 0 @@ -10615,14 +12801,14 @@ spec_hgt_lvl_above_grnd ? ? ? -396 -SUNSD_ON_SURFACE +514 +AVE_EVBS_ON_SURFACE ? 1 -tmpl4_0 -SUNSD +tmpl4_8 +EVBS NCEP -? +AVE surface 0 ? @@ -10635,6 +12821,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10644,22 +12831,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +6.0 0 0 0 ? ? ? -172 -CPOFP_ON_SURFACE +513 +AVE_EVCW_ON_SURFACE ? 1 -tmpl4_0 -CPOFP -? -? +tmpl4_8 +EVCW +NCEP +AVE surface 0 ? @@ -10672,6 +12863,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10681,27 +12873,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -2 -TMP_ON_HYBRID_LVL +515 +AVE_TRANS_ON_SURFACE ? 1 -tmpl4_0 -TMP -? +tmpl4_8 +TRANS +NCEP +AVE +surface +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -10709,6 +12905,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -10718,27 +12915,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -5 -SPFH_ON_HYBRID_LVL +516 +AVE_SBSNO_ON_SURFACE ? 1 -tmpl4_0 -SPFH -? +tmpl4_8 +SBSNO +NCEP +AVE +surface +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -10746,6 +12947,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -10755,27 +12957,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -7.0 +6.0 0 0 0 ? ? ? -7 -UGRD_ON_HYBRID_LVL +500 +AVE_SNOWC_ON_SURFACE ? 1 -tmpl4_0 -UGRD +tmpl4_8 +SNOWC ? +AVE +surface +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -10783,6 +12989,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -10792,31 +12999,36 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -8 -VGRD_ON_HYBRID_LVL +36 +GFS_CISOILM_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -VGRD +CISOILM ? ? -hybrid_lvl -0 -? +depth_bel_land_sfc 1 -1. -? -0 -? -0 +2 +1 +0. +depth_bel_land_sfc +1 +2 +1 +200. ? ? ? @@ -10829,6 +13041,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10837,19 +13053,19 @@ hybrid_lvl ? ? ? -77 -HGT_ON_HYBRID_LVL +136 +AVE_SNOHF_ON_SURFACE ? 1 -tmpl4_0 -HGT +tmpl4_8 +SNOHF ? +AVE +surface +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -10857,6 +13073,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -10866,6 +13083,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10874,14 +13095,14 @@ hybrid_lvl ? ? ? -514 -AVE_EVBS_ON_SURFACE +996 +LAND_FRAC ? 1 -tmpl4_8 -EVBS +tmpl4_0 +LANDFRC NCEP -AVE +? surface 0 ? @@ -10894,6 +13115,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10903,22 +13125,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -513 -AVE_EVCW_ON_SURFACE +997 +INST_PREC_ADVEC_HEAT ? 1 -tmpl4_8 -EVCW +tmpl4_0 +PAHFLX NCEP -AVE +? surface 0 ? @@ -10931,6 +13157,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10940,22 +13167,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -515 -AVE_TRANS_ON_SURFACE +998 +WATER_AQUIFER ? 1 -tmpl4_8 -TRANS +tmpl4_0 +WATERSA NCEP -AVE +? surface 0 ? @@ -10968,6 +13199,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10977,22 +13209,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -516 -AVE_SBSNO_ON_SURFACE +999 +ACM_EIWATER_ON_SURFACE ? 1 tmpl4_8 -SBSNO +EIWATER NCEP -AVE +ACM surface 0 ? @@ -11005,6 +13241,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11014,22 +13251,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -500 -AVE_SNOWC_ON_SURFACE +1000 +ACM_PLANTTR_ON_SURFACE ? 1 tmpl4_8 -SNOWC -? -AVE +PLANTTR +NCEP +ACM surface 0 ? @@ -11042,6 +13283,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11051,6 +13293,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -11059,24 +13305,25 @@ surface ? ? ? -36 -SOILM_ON_DEPTH_BEL_LAND_SFC +1001 +ACM_SOILSE_ON_SURFACE ? 1 -tmpl4_0 -SOILM +tmpl4_8 +SOILSE +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 ? ? -depth_bel_land_sfc -1 -2 -1 -0. -depth_bel_land_sfc -1 -2 -1 -200. ? ? 0 @@ -11088,21 +13335,25 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -136 -AVE_SNOHF_ON_SURFACE +1002 +AVE_PREC_ADVEC_HEAT ? 1 tmpl4_8 -SNOHF -? +PAHFLX +NCEP AVE surface 0 @@ -11116,6 +13367,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11125,8 +13377,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 diff --git a/parm/global_1x1_paramlist_g2 b/parm/global_1x1_paramlist_g2 index 553a42bc62..cb2f82f02a 100644 --- a/parm/global_1x1_paramlist_g2 +++ b/parm/global_1x1_paramlist_g2 @@ -45,7 +45,7 @@ ACPCP:surface ALBDO:surface APCP:surface APTMP:2 m above ground -var discipline=0 master_table=2 parmcat=0 parm=21:2 m above ground +AOTK:entire atmosphere CAPE:180-0 mb above ground CAPE:255-0 mb above ground CAPE:90-0 mb above ground @@ -91,6 +91,8 @@ DPT:2 m above ground DSWRF:surface FLDCP:surface FRICV:surface +FROZR:surface +FRZR:surface GFLUX:surface GRLE:50 mb GRLE:1000 mb @@ -167,13 +169,13 @@ HGT:PV=2e-06 (Km^2/kg/s) surface HGT:surface HGT:tropopause HINDEX:surface +HLCY:1000-0 m above ground HLCY:3000-0 m above ground HPBL:surface ICAHT:max wind ICAHT:tropopause ICEC:surface ICETK:surface -ICETMP:surface ICSEV:100 mb ICSEV:150 mb ICSEV:200 mb @@ -363,6 +365,7 @@ RWMR:950 mb RWMR:975 mb RWMR:1 hybrid level SHTFL:surface +SDEN:surface SFCR:surface SOILW:0-0.1 m below ground SOILW:0.1-0.4 m below ground @@ -533,6 +536,7 @@ TMP:PV=2e-06 (Km^2/kg/s) surface TMP:surface TMP:tropopause TOZNE:entire atmosphere (considered as a single layer) +TSNOWP:surface UFLX:surface UGRD:0.995 sigma level UGRD:1000 mb @@ -752,4 +756,3 @@ WEASD:surface WILT:surface SNOD:surface VIS:surface -ICEG:10 m above mean sea level diff --git a/parm/global_1x1_paramlist_g2.anl b/parm/global_1x1_paramlist_g2.anl index dd340636d6..3c7ba28bb9 100644 --- a/parm/global_1x1_paramlist_g2.anl +++ b/parm/global_1x1_paramlist_g2.anl @@ -152,7 +152,6 @@ HLCY:3000-0 m above ground ICAHT:max wind ICAHT:tropopause ICETK:surface -ICETMP:surface ICMR:50 mb ICMR:1000 mb ICMR:100 mb diff --git a/parm/global_1x1_paramlist_g2.f000 b/parm/global_1x1_paramlist_g2.f000 index 615022063b..34d84ac3c1 100644 --- a/parm/global_1x1_paramlist_g2.f000 +++ b/parm/global_1x1_paramlist_g2.f000 @@ -159,13 +159,13 @@ HGT:PV=2e-06 (Km^2/kg/s) surface HGT:surface HGT:tropopause HINDEX:surface +HLCY:1000-0 m above ground HLCY:3000-0 m above ground HPBL:surface ICAHT:max wind ICAHT:tropopause ICEC:surface ICETK:surface -ICETMP:surface ICMR:50 mb ICMR:1000 mb ICMR:100 mb @@ -696,4 +696,3 @@ WEASD:surface WILT:surface SNOD:surface VIS:surface -ICEG:10 m above mean sea level diff --git a/parm/global_1x1_paramlist_g2.f000_chem b/parm/global_1x1_paramlist_g2.f000_chem new file mode 100644 index 0000000000..00d4c5ebe3 --- /dev/null +++ b/parm/global_1x1_paramlist_g2.f000_chem @@ -0,0 +1,841 @@ +4LFTX:surface +5WAVH:500 mb +ABSV:1000 mb +ABSV:100 mb +ABSV:10 mb +ABSV:150 mb +ABSV:15 mb +ABSV:200 mb +ABSV:20 mb +ABSV:250 mb +ABSV:300 mb +ABSV:30 mb +ABSV:350 mb +ABSV:400 mb +ABSV:40 mb +ABSV:450 mb +ABSV:500 mb +ABSV:50 mb +ABSV:550 mb +ABSV:600 mb +ABSV:650 mb +ABSV:700 mb +ABSV:70 mb +ABSV:750 mb +ABSV:800 mb +ABSV:850 mb +ABSV:900 mb +ABSV:925 mb +ABSV:950 mb +ABSV:975 mb +ABSV:1 mb +ABSV:2 mb +ABSV:3 mb +ABSV:5 mb +ABSV:7 mb +ABSV:0.1 mb +ABSV:0.2 mb +ABSV:0.4 mb +ABSV:0.7 mb +ABSV:0.01 mb +ABSV:0.02 mb +ABSV:0.04 mb +ABSV:0.07 mb +ACPCP:surface +AEMFLX:surface +AOTK:entire atmosphere +APCP:surface +APTMP:2 m above ground +ASYSFK:entire atmosphere +var discipline=0 master_table=2 parmcat=0 parm=21:2 m above ground +CAPE:180-0 mb above ground +CAPE:255-0 mb above ground +CAPE:90-0 mb above ground +CAPE:surface +CFRZR:surface +CICEP:surface +CIN:180-0 mb above ground +CIN:255-0 mb above ground +CIN:90-0 mb above ground +CIN:surface +CLMR:50 mb +CLMR:1000 mb +CLMR:100 mb +CLMR:150 mb +CLMR:200 mb +CLMR:250 mb +CLMR:300 mb +CLMR:350 mb +CLMR:400 mb +CLMR:450 mb +CLMR:500 mb +CLMR:550 mb +CLMR:600 mb +CLMR:650 mb +CLMR:700 mb +CLMR:750 mb +CLMR:800 mb +CLMR:850 mb +CLMR:900 mb +CLMR:925 mb +CLMR:950 mb +CLMR:975 mb +CLMR:1 hybrid level +CNWAT:surface +COLMD:entire atmosphere +CPOFP:surface +CPRAT:surface +CRAIN:surface +CSNOW:surface +CWAT:entire atmosphere (considered as a single layer) +DDMFLX:entire atmosphere +DPT:2 m above ground +FLDCP:surface +FRICV:surface +GRLE:50 mb +GRLE:1000 mb +GRLE:100 mb +GRLE:150 mb +GRLE:200 mb +GRLE:250 mb +GRLE:300 mb +GRLE:350 mb +GRLE:400 mb +GRLE:450 mb +GRLE:500 mb +GRLE:550 mb +GRLE:600 mb +GRLE:650 mb +GRLE:700 mb +GRLE:750 mb +GRLE:800 mb +GRLE:850 mb +GRLE:900 mb +GRLE:925 mb +GRLE:950 mb +GRLE:975 mb +GRLE:1 hybrid level +GUST:surface +HCDC:high cloud layer +HGT:0C isotherm +HGT:1000 mb +HGT:100 mb +HGT:10 mb +HGT:150 mb +HGT:15 mb +HGT:200 mb +HGT:20 mb +HGT:250 mb +HGT:300 mb +HGT:30 mb +HGT:350 mb +HGT:400 mb +HGT:40 mb +HGT:450 mb +HGT:500 mb +HGT:50 mb +HGT:550 mb +HGT:600 mb +HGT:650 mb +HGT:700 mb +HGT:70 mb +HGT:750 mb +HGT:800 mb +HGT:850 mb +HGT:900 mb +HGT:925 mb +HGT:950 mb +HGT:975 mb +HGT:1 mb +HGT:2 mb +HGT:3 mb +HGT:5 mb +HGT:7 mb +HGT:0.1 mb +HGT:0.2 mb +HGT:0.4 mb +HGT:0.7 mb +HGT:0.01 mb +HGT:0.02 mb +HGT:0.04 mb +HGT:0.07 mb +HGT:cloud ceiling +HGT:highest tropospheric freezing level +HGT:max wind +HGT:PV=-2e-06 (Km^2/kg/s) surface +HGT:PV=2e-06 (Km^2/kg/s) surface +HGT:surface +HGT:tropopause +HINDEX:surface +HLCY:1000-0 m above ground +HLCY:3000-0 m above ground +HPBL:surface +ICAHT:max wind +ICAHT:tropopause +ICEC:surface +ICETK:surface +ICETMP:surface +ICMR:50 mb +ICMR:1000 mb +ICMR:100 mb +ICMR:150 mb +ICMR:200 mb +ICMR:250 mb +ICMR:300 mb +ICMR:350 mb +ICMR:400 mb +ICMR:450 mb +ICMR:500 mb +ICMR:550 mb +ICMR:600 mb +ICMR:650 mb +ICMR:700 mb +ICMR:750 mb +ICMR:800 mb +ICMR:850 mb +ICMR:900 mb +ICMR:925 mb +ICMR:950 mb +ICMR:975 mb +ICMR:1 hybrid level +LAND:surface +LCDC:low cloud layer +LFTX:surface +MASSMR:1000 mb +MASSMR:100 mb +MASSMR:10 mb +MASSMR:15 mb +MASSMR:150 mb +MASSMR:20 mb +MASSMR:200 mb +MASSMR:250 mb +MASSMR:300 mb +MASSMR:30 mb +MASSMR:350 mb +MASSMR:40 mb +MASSMR:400 mb +MASSMR:450 mb +MASSMR:500 mb +MASSMR:50 mb +MASSMR:550 mb +MASSMR:600 mb +MASSMR:650 mb +MASSMR:700 mb +MASSMR:70 mb +MASSMR:750 mb +MASSMR:800 mb +MASSMR:850 mb +MASSMR:900 mb +MASSMR:925 mb +MASSMR:950 mb +MASSMR:975 mb +MASSMR:1 mb +MASSMR:2 mb +MASSMR:3 mb +MASSMR:5 mb +MASSMR:7 mb +MASSMR:0.1 mb +MASSMR:0.2 mb +MASSMR:0.4 mb +MASSMR:0.7 mb +MASSMR:0.01 mb +MASSMR:0.02 mb +MASSMR:0.04 mb +MASSMR:0.07 mb +MASSMR:1 hybrid level +MSLET:mean sea level +O3MR:1000 mb +O3MR:100 mb +O3MR:10 mb +O3MR:150 mb +O3MR:15 mb +O3MR:20 mb +O3MR:200 mb +O3MR:250 mb +O3MR:300 mb +O3MR:30 mb +O3MR:350 mb +O3MR:400 mb +O3MR:40 mb +O3MR:450 mb +O3MR:500 mb +O3MR:50 mb +O3MR:550 mb +O3MR:600 mb +O3MR:650 mb +O3MR:700 mb +O3MR:70 mb +O3MR:750 mb +O3MR:800 mb +O3MR:850 mb +O3MR:900 mb +O3MR:925 mb +O3MR:950 mb +O3MR:975 mb +O3MR:1 mb +O3MR:2 mb +O3MR:3 mb +O3MR:5 mb +O3MR:7 mb +O3MR:0.1 mb +O3MR:0.2 mb +O3MR:0.4 mb +O3MR:0.7 mb +O3MR:0.01 mb +O3MR:0.02 mb +O3MR:0.04 mb +O3MR:0.07 mb +MCDC:middle cloud layer +PLPL:255-0 mb above ground +PMTC:1000 mb +PMTC:100 mb +PMTC:10 mb +PMTC:15 mb +PMTC:150 mb +PMTC:20 mb +PMTC:200 mb +PMTC:250 mb +PMTC:300 mb +PMTC:30 mb +PMTC:350 mb +PMTC:40 mb +PMTC:400 mb +PMTC:450 mb +PMTC:500 mb +PMTC:50 mb +PMTC:550 mb +PMTC:600 mb +PMTC:650 mb +PMTC:700 mb +PMTC:70 mb +PMTC:750 mb +PMTC:800 mb +PMTC:850 mb +PMTC:900 mb +PMTC:925 mb +PMTC:950 mb +PMTC:975 mb +PMTC:1 mb +PMTC:2 mb +PMTC:3 mb +PMTC:5 mb +PMTC:7 mb +PMTC:0.1 mb +PMTC:0.2 mb +PMTC:0.4 mb +PMTC:0.7 mb +PMTC:0.01 mb +PMTC:0.02 mb +PMTC:0.04 mb +PMTC:0.07 mb +PMTC:1 hybrid level +PMTC:entire atmosphere +PMTC:surface +PMTF:1000 mb +PMTF:100 mb +PMTF:10 mb +PMTF:15 mb +PMTF:150 mb +PMTF:20 mb +PMTF:200 mb +PMTF:250 mb +PMTF:300 mb +PMTF:30 mb +PMTF:350 mb +PMTF:40 mb +PMTF:400 mb +PMTF:450 mb +PMTF:500 mb +PMTF:50 mb +PMTF:550 mb +PMTF:600 mb +PMTF:650 mb +PMTF:700 mb +PMTF:70 mb +PMTF:750 mb +PMTF:800 mb +PMTF:850 mb +PMTF:900 mb +PMTF:925 mb +PMTF:950 mb +PMTF:975 mb +PMTF:1 mb +PMTF:2 mb +PMTF:3 mb +PMTF:5 mb +PMTF:7 mb +PMTF:0.1 mb +PMTF:0.2 mb +PMTF:0.4 mb +PMTF:0.7 mb +PMTF:0.01 mb +PMTF:0.02 mb +PMTF:0.04 mb +PMTF:0.07 mb +PMTF:1 hybrid level +PMTF:entire atmosphere +PMTF:surface +POT:0.995 sigma level +PRATE:surface +PRES:80 m above ground +PRES:max wind +PRES:PV=-2e-06 (Km^2/kg/s) surface +PRES:PV=2e-06 (Km^2/kg/s) surface +PRES:surface +PRES:tropopause +PRMSL:mean sea level +PWAT:entire atmosphere +REFC:entire atmosphere +REFD:1 hybrid level +REFD:2 hybrid level +REFD:1000 m above ground +REFD:4000 m above ground +RH:0.33-1 sigma layer +RH:0.44-0.72 sigma layer +RH:0.44-1 sigma layer +RH:0.72-0.94 sigma layer +RH:0.995 sigma level +RH:0C isotherm +RH:1000 mb +RH:100 mb +RH:10 mb +RH:150 mb +RH:15 mb +RH:20 mb +RH:200 mb +RH:250 mb +RH:2 m above ground +RH:30-0 mb above ground +RH:300 mb +RH:30 mb +RH:350 mb +RH:400 mb +RH:40 mb +RH:450 mb +RH:500 mb +RH:50 mb +RH:550 mb +RH:600 mb +RH:650 mb +RH:700 mb +RH:70 mb +RH:750 mb +RH:800 mb +RH:850 mb +RH:900 mb +RH:925 mb +RH:950 mb +RH:975 mb +RH:1 mb +RH:2 mb +RH:3 mb +RH:5 mb +RH:7 mb +RH:0.1 mb +RH:0.2 mb +RH:0.4 mb +RH:0.7 mb +RH:0.01 mb +RH:0.02 mb +RH:0.04 mb +RH:0.07 mb +RH:entire atmosphere (considered as a single layer) +RH:highest tropospheric freezing level +RWMR:50 mb +RWMR:1000 mb +RWMR:100 mb +RWMR:150 mb +RWMR:200 mb +RWMR:250 mb +RWMR:300 mb +RWMR:350 mb +RWMR:400 mb +RWMR:450 mb +RWMR:500 mb +RWMR:550 mb +RWMR:600 mb +RWMR:650 mb +RWMR:700 mb +RWMR:750 mb +RWMR:800 mb +RWMR:850 mb +RWMR:900 mb +RWMR:925 mb +RWMR:950 mb +RWMR:975 mb +RWMR:1 hybrid level +SCTAOTK:entire atmosphere +SEDMFLX:entire atmosphere +SFCR:surface +SNMR:50 mb +SNMR:1000 mb +SNMR:100 mb +SNMR:150 mb +SNMR:200 mb +SNMR:250 mb +SNMR:300 mb +SNMR:350 mb +SNMR:400 mb +SNMR:450 mb +SNMR:500 mb +SNMR:550 mb +SNMR:600 mb +SNMR:650 mb +SNMR:700 mb +SNMR:750 mb +SNMR:800 mb +SNMR:850 mb +SNMR:900 mb +SNMR:925 mb +SNMR:950 mb +SNMR:975 mb +SNMR:1 hybrid level +SOILL:0-0.1 m below ground +SOILL:0.1-0.4 m below ground +SOILL:0.4-1 m below ground +SOILL:1-2 m below ground +SOILW:0-0.1 m below ground +SOILW:0.1-0.4 m below ground +SOILW:0.4-1 m below ground +SOILW:1-2 m below ground +SOTYP:surface +SPFH:1000 mb +SPFH:100 mb +SPFH:10 mb +SPFH:15 mb +SPFH:150 mb +SPFH:200 mb +SPFH:20 mb +SPFH:250 mb +SPFH:300 mb +SPFH:30 mb +SPFH:350 mb +SPFH:400 mb +SPFH:40 mb +SPFH:450 mb +SPFH:500 mb +SPFH:50 mb +SPFH:550 mb +SPFH:600 mb +SPFH:650 mb +SPFH:700 mb +SPFH:70 mb +SPFH:750 mb +SPFH:800 mb +SPFH:850 mb +SPFH:900 mb +SPFH:925 mb +SPFH:950 mb +SPFH:975 mb +SPFH:1 mb +SPFH:2 mb +SPFH:3 mb +SPFH:5 mb +SPFH:7 mb +SPFH:0.1 mb +SPFH:0.2 mb +SPFH:0.4 mb +SPFH:0.7 mb +SPFH:0.01 mb +SPFH:0.02 mb +SPFH:0.04 mb +SPFH:0.07 mb +SPFH:2 m above ground +SPFH:30-0 mb above ground +SPFH:80 m above ground +SUNSD:surface +TCDC:50 mb +TCDC:1000 mb +TCDC:100 mb +TCDC:150 mb +TCDC:200 mb +TCDC:250 mb +TCDC:300 mb +TCDC:350 mb +TCDC:400 mb +TCDC:450 mb +TCDC:500 mb +TCDC:550 mb +TCDC:600 mb +TCDC:650 mb +TCDC:700 mb +TCDC:750 mb +TCDC:800 mb +TCDC:850 mb +TCDC:900 mb +TCDC:925 mb +TCDC:950 mb +TCDC:975 mb +TCDC:entire atmosphere +TCDC:convective cloud layer +TSOIL:0-0.1 m below ground +TSOIL:0.1-0.4 m below ground +TSOIL:0.4-1 m below ground +TMP:0.995 sigma level +TMP:1000 mb +TMP:100 m above ground +TMP:100 mb +TMP:10 mb +TMP:15 mb +TSOIL:1-2 m below ground +TMP:150 mb +TMP:1829 m above mean sea level +TMP:200 mb +TMP:20 mb +TMP:250 mb +TMP:2743 m above mean sea level +TMP:2 m above ground +TMP:30-0 mb above ground +TMP:300 mb +TMP:30 mb +TMP:350 mb +TMP:3658 m above mean sea level +TMP:400 mb +TMP:40 mb +TMP:450 mb +TMP:500 mb +TMP:50 mb +TMP:550 mb +TMP:600 mb +TMP:650 mb +TMP:700 mb +TMP:70 mb +TMP:750 mb +TMP:800 mb +TMP:80 m above ground +TMP:850 mb +TMP:900 mb +TMP:925 mb +TMP:950 mb +TMP:975 mb +TMP:1 mb +TMP:2 mb +TMP:3 mb +TMP:5 mb +TMP:7 mb +TMP:0.1 mb +TMP:0.2 mb +TMP:0.4 mb +TMP:0.7 mb +TMP:0.01 mb +TMP:0.02 mb +TMP:0.04 mb +TMP:0.07 mb +TMP:max wind +TMP:PV=-2e-06 (Km^2/kg/s) surface +TMP:PV=2e-06 (Km^2/kg/s) surface +TMP:surface +TMP:tropopause +TOZNE:entire atmosphere (considered as a single layer) +UGRD:0.995 sigma level +UGRD:1000 mb +UGRD:100 m above ground +UGRD:100 mb +UGRD:10 m above ground +UGRD:10 mb +UGRD:150 mb +UGRD:15 mb +UGRD:1829 m above mean sea level +UGRD:200 mb +UGRD:20 mb +UGRD:20 m above ground +UGRD:250 mb +UGRD:2743 m above mean sea level +UGRD:30-0 mb above ground +UGRD:300 mb +UGRD:30 mb +UGRD:30 m above ground +UGRD:350 mb +UGRD:3658 m above mean sea level +UGRD:400 mb +UGRD:40 mb +UGRD:40 m above ground +UGRD:450 mb +UGRD:500 mb +UGRD:50 mb +UGRD:50 m above ground +UGRD:550 mb +UGRD:600 mb +UGRD:650 mb +UGRD:700 mb +UGRD:70 mb +UGRD:750 mb +UGRD:800 mb +UGRD:80 m above ground +UGRD:850 mb +UGRD:900 mb +UGRD:925 mb +UGRD:950 mb +UGRD:975 mb +UGRD:1 mb +UGRD:2 mb +UGRD:3 mb +UGRD:5 mb +UGRD:7 mb +UGRD:0.1 mb +UGRD:0.2 mb +UGRD:0.4 mb +UGRD:0.7 mb +UGRD:0.01 mb +UGRD:0.02 mb +UGRD:0.04 mb +UGRD:0.07 mb +UGRD:max wind +UGRD:planetary boundary layer +UGRD:PV=-2e-06 (Km^2/kg/s) surface +UGRD:PV=2e-06 (Km^2/kg/s) surface +UGRD:tropopause +USTM:6000-0 m above ground +VEG:surface +VGRD:0.995 sigma level +VGRD:1000 mb +VGRD:100 m above ground +VGRD:100 mb +VGRD:10 m above ground +VGRD:10 mb +VGRD:150 mb +VGRD:15 mb +VGRD:1829 m above mean sea level +VGRD:200 mb +VGRD:20 mb +VGRD:20 m above ground +VGRD:250 mb +VGRD:2743 m above mean sea level +VGRD:30-0 mb above ground +VGRD:300 mb +VGRD:30 mb +VGRD:30 m above ground +VGRD:350 mb +VGRD:3658 m above mean sea level +VGRD:400 mb +VGRD:40 mb +VGRD:40 m above ground +VGRD:450 mb +VGRD:500 mb +VGRD:50 mb +VGRD:50 m above ground +VGRD:550 mb +VGRD:600 mb +VGRD:650 mb +VGRD:700 mb +VGRD:70 mb +VGRD:750 mb +VGRD:800 mb +VGRD:80 m above ground +VGRD:850 mb +VGRD:900 mb +VGRD:925 mb +VGRD:950 mb +VGRD:975 mb +VGRD:1 mb +VGRD:2 mb +VGRD:3 mb +VGRD:5 mb +VGRD:7 mb +VGRD:0.1 mb +VGRD:0.2 mb +VGRD:0.4 mb +VGRD:0.7 mb +VGRD:0.01 mb +VGRD:0.02 mb +VGRD:0.04 mb +VGRD:0.07 mb +VGRD:max wind +VGRD:planetary boundary layer +VGRD:PV=-2e-06 (Km^2/kg/s) surface +VGRD:PV=2e-06 (Km^2/kg/s) surface +VGRD:tropopause +VRATE:planetary boundary layer +VSTM:6000-0 m above ground +DZDT:1000 mb +DZDT:100 mb +DZDT:10 mb +DZDT:15 mb +DZDT:150 mb +DZDT:20 mb +DZDT:200 mb +DZDT:250 mb +DZDT:300 mb +DZDT:30 mb +DZDT:350 mb +DZDT:40 mb +DZDT:400 mb +DZDT:450 mb +DZDT:500 mb +DZDT:50 mb +DZDT:550 mb +DZDT:600 mb +DZDT:650 mb +DZDT:700 mb +DZDT:70 mb +DZDT:750 mb +DZDT:800 mb +DZDT:850 mb +DZDT:900 mb +DZDT:925 mb +DZDT:950 mb +DZDT:975 mb +DZDT:1 mb +DZDT:2 mb +DZDT:3 mb +DZDT:5 mb +DZDT:7 mb +DZDT:0.1 mb +DZDT:0.2 mb +DZDT:0.4 mb +DZDT:0.7 mb +DZDT:0.01 mb +DZDT:0.02 mb +DZDT:0.04 mb +DZDT:0.07 mb +VVEL:0.995 sigma level +VVEL:1000 mb +VVEL:100 mb +VVEL:10 mb +VVEL:15 mb +VVEL:150 mb +VVEL:20 mb +VVEL:200 mb +VVEL:250 mb +VVEL:300 mb +VVEL:30 mb +VVEL:350 mb +VVEL:40 mb +VVEL:400 mb +VVEL:450 mb +VVEL:500 mb +VVEL:50 mb +VVEL:550 mb +VVEL:600 mb +VVEL:650 mb +VVEL:700 mb +VVEL:70 mb +VVEL:750 mb +VVEL:800 mb +VVEL:850 mb +VVEL:900 mb +VVEL:925 mb +VVEL:950 mb +VVEL:975 mb +VVEL:1 mb +VVEL:2 mb +VVEL:3 mb +VVEL:5 mb +VVEL:7 mb +VVEL:0.1 mb +VVEL:0.2 mb +VVEL:0.4 mb +VVEL:0.7 mb +VVEL:0.01 mb +VVEL:0.02 mb +VVEL:0.04 mb +VVEL:0.07 mb +VWSH:PV=-2e-06 (Km^2/kg/s) surface +VWSH:PV=2e-06 (Km^2/kg/s) surface +VWSH:tropopause +WEASD:surface +WILT:surface +WLSMFLX:entire atmosphere +SNOD:surface +VIS:surface +ICEG:10 m above mean sea level diff --git a/parm/global_1x1_paramlist_g2_chem b/parm/global_1x1_paramlist_g2_chem new file mode 100644 index 0000000000..3ab111948a --- /dev/null +++ b/parm/global_1x1_paramlist_g2_chem @@ -0,0 +1,894 @@ +4LFTX:surface +5WAVH:500 mb +ABSV:1000 mb +ABSV:100 mb +ABSV:10 mb +ABSV:15 mb +ABSV:150 mb +ABSV:20 mb +ABSV:200 mb +ABSV:250 mb +ABSV:300 mb +ABSV:30 mb +ABSV:350 mb +ABSV:40 mb +ABSV:400 mb +ABSV:450 mb +ABSV:500 mb +ABSV:50 mb +ABSV:550 mb +ABSV:600 mb +ABSV:650 mb +ABSV:700 mb +ABSV:70 mb +ABSV:750 mb +ABSV:800 mb +ABSV:850 mb +ABSV:900 mb +ABSV:925 mb +ABSV:950 mb +ABSV:975 mb +ABSV:1 mb +ABSV:2 mb +ABSV:3 mb +ABSV:5 mb +ABSV:7 mb +ABSV:0.1 mb +ABSV:0.2 mb +ABSV:0.4 mb +ABSV:0.7 mb +ABSV:0.01 mb +ABSV:0.02 mb +ABSV:0.04 mb +ABSV:0.07 mb +ACPCP:surface +AEMFLX:surface +ALBDO:surface +AOTK:entire atmosphere +APCP:surface +APTMP:2 m above ground +ASYSFK:entire atmosphere +var discipline=0 master_table=2 parmcat=0 parm=21:2 m above ground +CAPE:180-0 mb above ground +CAPE:255-0 mb above ground +CAPE:90-0 mb above ground +CAPE:surface +CFRZR:surface +CICEP:surface +CIN:180-0 mb above ground +CIN:255-0 mb above ground +CIN:90-0 mb above ground +CIN:surface +CLMR:50 mb +CLMR:1000 mb +CLMR:100 mb +CLMR:150 mb +CLMR:200 mb +CLMR:250 mb +CLMR:300 mb +CLMR:350 mb +CLMR:400 mb +CLMR:450 mb +CLMR:500 mb +CLMR:550 mb +CLMR:600 mb +CLMR:650 mb +CLMR:700 mb +CLMR:750 mb +CLMR:800 mb +CLMR:850 mb +CLMR:900 mb +CLMR:925 mb +CLMR:950 mb +CLMR:975 mb +CLMR:1 hybrid level +CNWAT:surface +COLMD:entire atmosphere +CPOFP:surface +CPRAT:surface +CRAIN:surface +CSNOW:surface +CWAT:entire atmosphere (considered as a single layer) +CWORK:entire atmosphere (considered as a single layer) +DDMFLX:entire atmosphere +DLWRF:surface +DPT:2 m above ground +DSWRF:surface +FLDCP:surface +FRICV:surface +GFLUX:surface +GRLE:50 mb +GRLE:1000 mb +GRLE:100 mb +GRLE:150 mb +GRLE:200 mb +GRLE:250 mb +GRLE:300 mb +GRLE:350 mb +GRLE:400 mb +GRLE:450 mb +GRLE:500 mb +GRLE:550 mb +GRLE:600 mb +GRLE:650 mb +GRLE:700 mb +GRLE:750 mb +GRLE:800 mb +GRLE:850 mb +GRLE:900 mb +GRLE:925 mb +GRLE:950 mb +GRLE:975 mb +GRLE:1 hybrid level +GUST:surface +HCDC:high cloud layer +HGT:0C isotherm +HGT:1000 mb +HGT:100 mb +HGT:10 mb +HGT:150 mb +HGT:15 mb +HGT:200 mb +HGT:20 mb +HGT:250 mb +HGT:300 mb +HGT:30 mb +HGT:350 mb +HGT:400 mb +HGT:450 mb +HGT:40 mb +HGT:500 mb +HGT:50 mb +HGT:550 mb +HGT:600 mb +HGT:650 mb +HGT:700 mb +HGT:70 mb +HGT:750 mb +HGT:800 mb +HGT:850 mb +HGT:900 mb +HGT:925 mb +HGT:950 mb +HGT:975 mb +HGT:1 mb +HGT:2 mb +HGT:3 mb +HGT:5 mb +HGT:7 mb +HGT:0.1 mb +HGT:0.2 mb +HGT:0.4 mb +HGT:0.7 mb +HGT:0.01 mb +HGT:0.02 mb +HGT:0.04 mb +HGT:0.07 mb +HGT:cloud ceiling +HGT:highest tropospheric freezing level +HGT:max wind +HGT:PV=-2e-06 (Km^2/kg/s) surface +HGT:PV=2e-06 (Km^2/kg/s) surface +HGT:surface +HGT:tropopause +HINDEX:surface +HLCY:3000-0 m above ground +HPBL:surface +ICAHT:max wind +ICAHT:tropopause +ICEC:surface +ICETK:surface +ICETMP:surface +ICSEV:100 mb +ICSEV:150 mb +ICSEV:200 mb +ICSEV:250 mb +ICSEV:300 mb +ICSEV:350 mb +ICSEV:400 mb +ICSEV:450 mb +ICSEV:500 mb +ICSEV:550 mb +ICSEV:600 mb +ICSEV:650 mb +ICSEV:700 mb +ICSEV:750 mb +ICSEV:800 mb +ICSEV:850 mb +ICSEV:900 mb +ICSEV:950 mb +ICSEV:1000 mb +ICMR:50 mb +ICMR:1000 mb +ICMR:100 mb +ICMR:150 mb +ICMR:200 mb +ICMR:250 mb +ICMR:300 mb +ICMR:350 mb +ICMR:400 mb +ICMR:450 mb +ICMR:500 mb +ICMR:550 mb +ICMR:600 mb +ICMR:650 mb +ICMR:700 mb +ICMR:750 mb +ICMR:800 mb +ICMR:850 mb +ICMR:900 mb +ICMR:925 mb +ICMR:950 mb +ICMR:975 mb +ICMR:1 hybrid level +LAND:surface +LCDC:low cloud layer +LFTX:surface +LHTFL:surface +MASSMR:1000 mb +MASSMR:100 mb +MASSMR:10 mb +MASSMR:15 mb +MASSMR:150 mb +MASSMR:20 mb +MASSMR:200 mb +MASSMR:250 mb +MASSMR:300 mb +MASSMR:30 mb +MASSMR:350 mb +MASSMR:40 mb +MASSMR:400 mb +MASSMR:450 mb +MASSMR:500 mb +MASSMR:50 mb +MASSMR:550 mb +MASSMR:600 mb +MASSMR:650 mb +MASSMR:700 mb +MASSMR:70 mb +MASSMR:750 mb +MASSMR:800 mb +MASSMR:850 mb +MASSMR:900 mb +MASSMR:925 mb +MASSMR:950 mb +MASSMR:975 mb +MASSMR:1 mb +MASSMR:2 mb +MASSMR:3 mb +MASSMR:5 mb +MASSMR:7 mb +MASSMR:0.1 mb +MASSMR:0.2 mb +MASSMR:0.4 mb +MASSMR:0.7 mb +MASSMR:0.01 mb +MASSMR:0.02 mb +MASSMR:0.04 mb +MASSMR:0.07 mb +MASSMR:1 hybrid level +MSLET:mean sea level +O3MR:1000 mb +O3MR:100 mb +O3MR:10 mb +O3MR:15 mb +O3MR:150 mb +O3MR:20 mb +O3MR:200 mb +O3MR:250 mb +O3MR:300 mb +O3MR:30 mb +O3MR:350 mb +O3MR:40 mb +O3MR:400 mb +O3MR:450 mb +O3MR:500 mb +O3MR:50 mb +O3MR:550 mb +O3MR:600 mb +O3MR:650 mb +O3MR:700 mb +O3MR:70 mb +O3MR:750 mb +O3MR:800 mb +O3MR:850 mb +O3MR:900 mb +O3MR:925 mb +O3MR:950 mb +O3MR:975 mb +O3MR:1 mb +O3MR:2 mb +O3MR:3 mb +O3MR:5 mb +O3MR:7 mb +O3MR:0.1 mb +O3MR:0.2 mb +O3MR:0.4 mb +O3MR:0.7 mb +O3MR:0.01 mb +O3MR:0.02 mb +O3MR:0.04 mb +O3MR:0.07 mb +MCDC:middle cloud layer +PEVPR:surface +PLPL:255-0 mb above ground +PMTC:1000 mb +PMTC:100 mb +PMTC:10 mb +PMTC:15 mb +PMTC:150 mb +PMTC:20 mb +PMTC:200 mb +PMTC:250 mb +PMTC:300 mb +PMTC:30 mb +PMTC:350 mb +PMTC:40 mb +PMTC:400 mb +PMTC:450 mb +PMTC:500 mb +PMTC:50 mb +PMTC:550 mb +PMTC:600 mb +PMTC:650 mb +PMTC:700 mb +PMTC:70 mb +PMTC:750 mb +PMTC:800 mb +PMTC:850 mb +PMTC:900 mb +PMTC:925 mb +PMTC:950 mb +PMTC:975 mb +PMTC:1 mb +PMTC:2 mb +PMTC:3 mb +PMTC:5 mb +PMTC:7 mb +PMTC:0.1 mb +PMTC:0.2 mb +PMTC:0.4 mb +PMTC:0.7 mb +PMTC:0.01 mb +PMTC:0.02 mb +PMTC:0.04 mb +PMTC:0.07 mb +PMTC:1 hybrid level +PMTC:entire atmosphere +PMTC:surface +PMTF:1000 mb +PMTF:100 mb +PMTF:10 mb +PMTF:15 mb +PMTF:150 mb +PMTF:20 mb +PMTF:200 mb +PMTF:250 mb +PMTF:300 mb +PMTF:30 mb +PMTF:350 mb +PMTF:40 mb +PMTF:400 mb +PMTF:450 mb +PMTF:500 mb +PMTF:50 mb +PMTF:550 mb +PMTF:600 mb +PMTF:650 mb +PMTF:700 mb +PMTF:70 mb +PMTF:750 mb +PMTF:800 mb +PMTF:850 mb +PMTF:900 mb +PMTF:925 mb +PMTF:950 mb +PMTF:975 mb +PMTF:1 mb +PMTF:2 mb +PMTF:3 mb +PMTF:5 mb +PMTF:7 mb +PMTF:0.1 mb +PMTF:0.2 mb +PMTF:0.4 mb +PMTF:0.7 mb +PMTF:0.01 mb +PMTF:0.02 mb +PMTF:0.04 mb +PMTF:0.07 mb +PMTF:1 hybrid level +PMTF:entire atmosphere +PMTF:surface +POT:0.995 sigma level +PRATE:surface +PRES:80 m above ground +PRES:convective cloud bottom level +PRES:convective cloud top level +PRES:high cloud bottom level +PRES:high cloud top level +PRES:low cloud bottom level +PRES:low cloud top level +PRES:max wind +PRES:middle cloud bottom level +PRES:middle cloud top level +PRES:PV=-2e-06 (Km^2/kg/s) surface +PRES:PV=2e-06 (Km^2/kg/s) surface +PRES:surface +PRES:tropopause +PRMSL:mean sea level +PWAT:entire atmosphere +REFC:entire atmosphere +REFD:1 hybrid level +REFD:2 hybrid level +REFD:1000 m above ground +REFD:4000 m above ground +RH:0.33-1 sigma layer +RH:0.44-0.72 sigma layer +RH:0.44-1 sigma layer +RH:0.72-0.94 sigma layer +RH:0.995 sigma level +RH:0C isotherm +RH:1000 mb +RH:100 mb +RH:10 mb +RH:15 mb +RH:150 mb +RH:20 mb +RH:200 mb +RH:250 mb +RH:2 m above ground +RH:300 mb +RH:30-0 mb above ground +RH:30 mb +RH:350 mb +RH:40 mb +RH:400 mb +RH:450 mb +RH:500 mb +RH:50 mb +RH:550 mb +RH:600 mb +RH:650 mb +RH:700 mb +RH:70 mb +RH:750 mb +RH:800 mb +RH:850 mb +RH:900 mb +RH:925 mb +RH:950 mb +RH:975 mb +RH:1 mb +RH:2 mb +RH:3 mb +RH:5 mb +RH:7 mb +RH:0.1 mb +RH:0.2 mb +RH:0.4 mb +RH:0.7 mb +RH:0.01 mb +RH:0.02 mb +RH:0.04 mb +RH:0.07 mb +RH:entire atmosphere (considered as a single layer) +RH:highest tropospheric freezing level +RWMR:50 mb +RWMR:1000 mb +RWMR:100 mb +RWMR:150 mb +RWMR:200 mb +RWMR:250 mb +RWMR:300 mb +RWMR:350 mb +RWMR:400 mb +RWMR:450 mb +RWMR:500 mb +RWMR:550 mb +RWMR:600 mb +RWMR:650 mb +RWMR:700 mb +RWMR:750 mb +RWMR:800 mb +RWMR:850 mb +RWMR:900 mb +RWMR:925 mb +RWMR:950 mb +RWMR:975 mb +RWMR:1 hybrid level +SCTAOTK:entire atmosphere +SEDMFLX:entire atmosphere +SHTFL:surface +SFCR:surface +SOILW:0-0.1 m below ground +SOILW:0.1-0.4 m below ground +SOILW:0.4-1 m below ground +SOILW:1-2 m below ground +SOTYP:surface +SPFH:1000 mb +SPFH:100 mb +SPFH:10 mb +SPFH:15 mb +SPFH:150 mb +SPFH:20 mb +SPFH:200 mb +SPFH:250 mb +SPFH:300 mb +SPFH:30 mb +SPFH:350 mb +SPFH:40 mb +SPFH:400 mb +SPFH:450 mb +SPFH:500 mb +SPFH:50 mb +SPFH:550 mb +SPFH:600 mb +SPFH:650 mb +SPFH:700 mb +SPFH:70 mb +SPFH:750 mb +SPFH:800 mb +SPFH:850 mb +SPFH:900 mb +SPFH:925 mb +SPFH:950 mb +SPFH:975 mb +SPFH:1 mb +SPFH:2 mb +SPFH:3 mb +SPFH:5 mb +SPFH:7 mb +SPFH:0.1 mb +SPFH:0.2 mb +SPFH:0.4 mb +SPFH:0.7 mb +SPFH:0.01 mb +SPFH:0.02 mb +SPFH:0.04 mb +SPFH:0.07 mb +SPFH:2 m above ground +SPFH:30-0 mb above ground +SPFH:80 m above ground +SNMR:50 mb +SNMR:1000 mb +SNMR:100 mb +SNMR:150 mb +SNMR:200 mb +SNMR:250 mb +SNMR:300 mb +SNMR:350 mb +SNMR:400 mb +SNMR:450 mb +SNMR:500 mb +SNMR:550 mb +SNMR:600 mb +SNMR:650 mb +SNMR:700 mb +SNMR:750 mb +SNMR:800 mb +SNMR:850 mb +SNMR:900 mb +SNMR:925 mb +SNMR:950 mb +SNMR:975 mb +SNMR:1 hybrid level +SOILL:0-0.1 m below ground +SOILL:0.1-0.4 m below ground +SOILL:0.4-1 m below ground +SOILL:1-2 m below ground +SSALBK:entire atmosphere +SUNSD:surface +TCDC:50 mb +TCDC:1000 mb +TCDC:100 mb +TCDC:150 mb +TCDC:200 mb +TCDC:250 mb +TCDC:300 mb +TCDC:350 mb +TCDC:400 mb +TCDC:450 mb +TCDC:500 mb +TCDC:550 mb +TCDC:600 mb +TCDC:650 mb +TCDC:700 mb +TCDC:750 mb +TCDC:800 mb +TCDC:850 mb +TCDC:900 mb +TCDC:925 mb +TCDC:950 mb +TCDC:975 mb +TCDC:boundary layer cloud layer +TCDC:convective cloud layer +TCDC:entire atmosphere +TCDC:high cloud layer +TCDC:low cloud layer +TCDC:middle cloud layer +TMAX:2 m above ground +TMIN:2 m above ground +TSOIL:0-0.1 m below ground +TSOIL:0.1-0.4 m below ground +TSOIL:0.4-1 m below ground +TMP:0.995 sigma level +TMP:1000 mb +TMP:100 m above ground +TMP:100 mb +TMP:10 mb +TMP:15 mb +TSOIL:1-2 m below ground +TMP:150 mb +TMP:1829 m above mean sea level +TMP:200 mb +TMP:20 mb +TMP:250 mb +TMP:2743 m above mean sea level +TMP:2 m above ground +TMP:300 mb +TMP:30-0 mb above ground +TMP:30 mb +TMP:350 mb +TMP:3658 m above mean sea level +TMP:400 mb +TMP:40 mb +TMP:450 mb +TMP:500 mb +TMP:50 mb +TMP:550 mb +TMP:600 mb +TMP:650 mb +TMP:700 mb +TMP:70 mb +TMP:750 mb +TMP:800 mb +TMP:80 m above ground +TMP:850 mb +TMP:900 mb +TMP:925 mb +TMP:950 mb +TMP:975 mb +TMP:1 mb +TMP:2 mb +TMP:3 mb +TMP:5 mb +TMP:7 mb +TMP:0.1 mb +TMP:0.2 mb +TMP:0.4 mb +TMP:0.7 mb +TMP:0.01 mb +TMP:0.02 mb +TMP:0.04 mb +TMP:0.07 mb +TMP:high cloud top level +TMP:low cloud top level +TMP:max wind +TMP:middle cloud top level +TMP:PV=-2e-06 (Km^2/kg/s) surface +TMP:PV=2e-06 (Km^2/kg/s) surface +TMP:surface +TMP:tropopause +TOZNE:entire atmosphere (considered as a single layer) +UFLX:surface +UGRD:0.995 sigma level +UGRD:1000 mb +UGRD:100 m above ground +UGRD:100 mb +UGRD:10 m above ground +UGRD:10 mb +UGRD:15 mb +UGRD:150 mb +UGRD:1829 m above mean sea level +UGRD:200 mb +UGRD:20 mb +UGRD:20 m above ground +UGRD:250 mb +UGRD:2743 m above mean sea level +UGRD:300 mb +UGRD:30 m above ground +UGRD:30-0 mb above ground +UGRD:30 mb +UGRD:350 mb +UGRD:3658 m above mean sea level +UGRD:40 mb +UGRD:400 mb +UGRD:40 m above ground +UGRD:450 mb +UGRD:500 mb +UGRD:50 mb +UGRD:50 m above ground +UGRD:550 mb +UGRD:600 mb +UGRD:650 mb +UGRD:700 mb +UGRD:70 mb +UGRD:750 mb +UGRD:800 mb +UGRD:80 m above ground +UGRD:850 mb +UGRD:900 mb +UGRD:925 mb +UGRD:950 mb +UGRD:975 mb +UGRD:1 mb +UGRD:2 mb +UGRD:3 mb +UGRD:5 mb +UGRD:7 mb +UGRD:0.1 mb +UGRD:0.2 mb +UGRD:0.4 mb +UGRD:0.7 mb +UGRD:0.01 mb +UGRD:0.02 mb +UGRD:0.04 mb +UGRD:0.07 mb +UGRD:max wind +UGRD:planetary boundary layer +UGRD:PV=-2e-06 (Km^2/kg/s) surface +UGRD:PV=2e-06 (Km^2/kg/s) surface +UGRD:tropopause +U-GWD:surface +ULWRF:surface +ULWRF:top of atmosphere +USTM:6000-0 m above ground +USWRF:surface +USWRF:top of atmosphere +VEG:surface +VFLX:surface +VGRD:0.995 sigma level +VGRD:1000 mb +VGRD:100 m above ground +VGRD:100 mb +VGRD:10 m above ground +VGRD:10 mb +VGRD:15 mb +VGRD:150 mb +VGRD:1829 m above mean sea level +VGRD:200 mb +VGRD:20 mb +VGRD:20 m above ground +VGRD:250 mb +VGRD:2743 m above mean sea level +VGRD:300 mb +VGRD:30 m above ground +VGRD:30-0 mb above ground +VGRD:30 mb +VGRD:350 mb +VGRD:3658 m above mean sea level +VGRD:40 mb +VGRD:400 mb +VGRD:40 m above ground +VGRD:450 mb +VGRD:500 mb +VGRD:50 mb +VGRD:50 m above ground +VGRD:550 mb +VGRD:600 mb +VGRD:650 mb +VGRD:700 mb +VGRD:70 mb +VGRD:750 mb +VGRD:800 mb +VGRD:80 m above ground +VGRD:850 mb +VGRD:900 mb +VGRD:925 mb +VGRD:950 mb +VGRD:975 mb +VGRD:1 mb +VGRD:2 mb +VGRD:3 mb +VGRD:5 mb +VGRD:7 mb +VGRD:0.1 mb +VGRD:0.2 mb +VGRD:0.4 mb +VGRD:0.7 mb +VGRD:0.01 mb +VGRD:0.02 mb +VGRD:0.04 mb +VGRD:0.07 mb +VGRD:max wind +VGRD:planetary boundary layer +VGRD:PV=-2e-06 (Km^2/kg/s) surface +VGRD:PV=2e-06 (Km^2/kg/s) surface +VGRD:tropopause +V-GWD:surface +VRATE:planetary boundary layer +VSTM:6000-0 m above ground +DZDT:1000 mb +DZDT:100 mb +DZDT:10 mb +DZDT:15 mb +DZDT:150 mb +DZDT:20 mb +DZDT:200 mb +DZDT:250 mb +DZDT:300 mb +DZDT:30 mb +DZDT:350 mb +DZDT:40 mb +DZDT:400 mb +DZDT:450 mb +DZDT:500 mb +DZDT:50 mb +DZDT:550 mb +DZDT:600 mb +DZDT:650 mb +DZDT:700 mb +DZDT:70 mb +DZDT:750 mb +DZDT:800 mb +DZDT:850 mb +DZDT:900 mb +DZDT:925 mb +DZDT:950 mb +DZDT:975 mb +DZDT:1 mb +DZDT:2 mb +DZDT:3 mb +DZDT:5 mb +DZDT:7 mb +DZDT:0.1 mb +DZDT:0.2 mb +DZDT:0.4 mb +DZDT:0.7 mb +DZDT:0.01 mb +DZDT:0.02 mb +DZDT:0.04 mb +DZDT:0.07 mb +VVEL:0.995 sigma level +VVEL:1000 mb +VVEL:100 mb +VVEL:10 mb +VVEL:15 mb +VVEL:150 mb +VVEL:20 mb +VVEL:200 mb +VVEL:250 mb +VVEL:300 mb +VVEL:30 mb +VVEL:350 mb +VVEL:40 mb +VVEL:400 mb +VVEL:450 mb +VVEL:500 mb +VVEL:50 mb +VVEL:550 mb +VVEL:600 mb +VVEL:650 mb +VVEL:700 mb +VVEL:70 mb +VVEL:750 mb +VVEL:800 mb +VVEL:850 mb +VVEL:900 mb +VVEL:925 mb +VVEL:950 mb +VVEL:975 mb +VVEL:1 mb +VVEL:2 mb +VVEL:3 mb +VVEL:5 mb +VVEL:7 mb +VVEL:0.1 mb +VVEL:0.2 mb +VVEL:0.4 mb +VVEL:0.7 mb +VVEL:0.01 mb +VVEL:0.02 mb +VVEL:0.04 mb +VVEL:0.07 mb +VWSH:PV=-2e-06 (Km^2/kg/s) surface +VWSH:PV=2e-06 (Km^2/kg/s) surface +VWSH:tropopause +WATR:surface +WEASD:surface +WILT:surface +WLSMFLX:entire atmosphere +SNOD:surface +VIS:surface +ICEG:10 m above mean sea level diff --git a/parm/gtg.config.gfs b/parm/gtg.config.gfs deleted file mode 100644 index 9c418231a6..0000000000 --- a/parm/gtg.config.gfs +++ /dev/null @@ -1,1869 +0,0 @@ -# This file contains input tuning parameters for GFS FV3 NWP model (Gaussian grid) -# 1) Definitions of index names and units for three altitude regions (low, mid, high) -# 2) Default (climatological) weights for each index for each region (low, mid, high) -# 3) Default (climatological) weights for each index for each region (low, mid, high) -# 4) Checklist for computation of each index and for inclusion in the GTG sum for each region (low, mid, high) -# 5) Liner remap thresholds for each index for each region (low, mid, high) -# 6) PDF fit parameters for each index for each region (low, mid, high) -# -# Incorporated changes by Y. Mao to include control parameters for execution within UPP -# Incorporated changes to supprt CIT and improved LLT algorithms 2/2/2018 -# - printflag =1; -#start section 1 - imodel =GFSFV3V16; # identifies input NWP model (1=Ruc,2=RAP,3=HRRR,2=ARWRF,5=GFS,6=UKMET,7=ECMWF,8=COSMO,9=MESONH),model specifier - icoord =sigma; # vertical coordinate (1=isentropic,2=sigma,3=p,4=z) - idomain =1; # identifies subdomains - map_proj =PROJ_GAUSS; # identifies map projection - dxm =13026.78; # model dx - dym =13026.78; # model dy - truelat1 =SPVAL; # projection truelat1 (NA for PROJ_GAUSS) - truelat2 =SPVAL; # projection truelat2 (NA for PROJ_GAUSS) - stdlon =SPVAL; # projection stand lon (NA for PROJ_GAUSS) - latinc =0.11715; # projection lat increment - loninc =0.11715; # projection lon increment - lat11 =89.91032; # latitude(1,1) - lon11 =0.0; # longitude(1,1) -#end section 1 -# -# start section 2 -# Turbulence Index Names -# Note Index numbers 400-470 are CAT indices, 471-485 are MWT indices, 486-495 are CIT indices, 496-500 reserved for GTG combos. - turbIndexNames = ( -# CAT indices names units - (400, "Brown1", "1/s"), - (401, "Brown2", "m^2/3 s^-1"), - (402, "CP", "m^2/s-2"), - (403, "Ellrod1", "s^-2"), - (404, "Ellrod2", "s^-2"), - (405, "1/Ri", "ND"), - (406, "Ellrod3", "s^-2"), - (407, "Lapse", "K/m"), - (408, "MSEDR", "m^2/3 s^-1"), - (409, "DTF3", "m^2/3 s^-1"), - (410, "Fth/Ri", "m^2 s^-3"), - (411, "PBLEDR", "m^2/3 s^-1"), - (412, "Dutton", "1/s"), - (413, "Endlich", "deg/s"), - (414, "LAZ", "m^2/s^2"), - (415, "NGM1", "m s^-2"), - (416, "-NGM2", "K m^-2 s^-2"), - (417, "SCHGW", "m^2/3 s^-1"), - (418, "VWS", "s^-1"), - (419, "UNDEF", ""), - (420, "HS/Ri", "s^-1"), - (421, "UNDEF", ""), - (422, "DEFSQ", "s^-2"), - (423, "VORTSQ/Ri", "s^-2"), - (424, "|DIV|/Ri", "1/s"), - (425, "DEFSQ/Ri", "s^-2"), - (426, "iawind", "m s^-2"), - (427, "AGI", "s^-2"), - (428, "UBF/Ri", "s^-2"), - (429, "1/SATRi", "ND"), - (430, "PVGRAD", "PVUs/km"), - (431, "EDRRCH", "m^2/3 s^-1"), - (432, "EDR", "m^2/3 s^-1"), - (433, "EDRLL", "m^2/3 s^-1"), - (434, "SEDR/Ri", "m^2/3 s^-1"), - (435, "1/RiTW", "ND"), - (436, "LHFK", "m"), - (437, "LHFK/Ri", "m"), - (438, "TEMPG/Ri", "K/m"), - (439, "CTSQ/Ri", "K^2 m^-2/3"), - (440, "Brown1/Ri", "1/s"), - (441, "iawind/Ri", "m s^-2"), - (442, "NGM1/Ri", "m/s^2"), - (443, "NGM2/Ri", "K m^-2 s^-2"), - (444, "SCHGW/Ri", "m^2/3 s^-1"), - (445, "TROPG/Z", "ND"), - (446, "SPEED", "m/s"), - (447, "-Stone", "s^-2"), - (448, "-NVA", "ND"), - (449, "NCSU1", "s^-3"), - (450, "NCSU2/Ri", "s^-3"), - (451, "EDRLUN", "m^2/3 s^-1"), - (452, "wsq", "m^2/s^2"), - (453, "wsq/Ri", "m^2/s^2"), - (454, "EDR/Ri", "m^4/3 s^-2"), - (455, "EDRLL/Ri", "m^4/3 s^-2"), - (456, "SIGW", "m^2 s^-2"), - (457, "SIGW/Ri", "m^2 s^-2"), - (458, "F2D/Ri", "K m^-1 s^-1"), - (459, "F2DTW/Ri", "K m^-1 s^-1"), - (460, "F3D/Ri", "K m^-1 s^-1"), - (461, "EDRM", "m^2 s^-3"), # ARPEGE ONLY - (462, "MOGCLIMO", "ND"), - (463, "SOGCLIMO", "ND"), - (464, "MWTCLIMO", "ND"), - (465, "SGSTKE", "m^2 s^-2"), - (466, "SGSTKE/Ri", "m^2 s^-2"), - (467, "RTKE", "m^2 s^-2"), - (468, "RTKE/Ri", "m^2 s^-2"), - (469, "VARE", "m^2 s^-2"), - (470, "VARE/Ri", "m^2 s^-2"), -# MWT indices (units of mws are m/s) - (471, "MWT1", "m^3 s^-3"), # MWT1=mws*wsq - (472, "MWT2", "K^2 m^1/3 s^-1"), # MWT2=mws*CTsq - (473, "MWT3", "K s^-2"), # MWT3=mws*F3D - (474, "MWT4", "m^2 s^-2"), # MWT4=mws*speed - (475, "MWT5", "m s^-2"), # MWT5=mws*|div| - (476, "MWT13", "m s^-2"), # MWT13=mws*Defsq/Ri - (477, "MWT14", "m^7/3 s^-3"), # MWT14=mws*epsLL^2/3 - (478, "TKE_GWB", "m^2 s^-2"), - (479, "MWT6", "m^2 s^-3"), # MWT6=mws*NGM1 - (480, "MWT7", "m^3 s^-3"), # MWT7=mws*SIGW - (481, "MWT8", "m^2 s^-1"), # MWT8=mws*LHFK/Ri - (482, "MWT9", "m^3 s^-2"), # MWT9=mws*iawind/Ri - (483, "MWT10", "m^7/3 s^-3"), # MWT10=mws*(eps^2/3)avg - (484, "MWT11", "m^5/3 s^-2"), # MWT11=mws*SCHGW - (485, "MWT12", "K m s^-1"), # MWT12=mws*|TEMPG| -# CIT indices - (486, "CONDHEAT", "K s-1"), - (487, "CLDTKE", "m^2 s^-2"), - (488, "UNDEF", ""), - (489, "UNDEF", ""), - (490, "UNDEF", ""), - (491, "UNDEF", ""), - (492, "UNDEF", ""), - (493, "UNDEF", ""), - (494, "UNDEF", ""), - (495, "UNDEF", ""), -# GTG indices - (496, "GTGDEF", "m^2/3 s^-1"), - (497, "GTGMWT", "m^2/3 s^-1"), - (498, "GTGCIT", "m^2/3 s^-1"), - (499, "GTGMAX2", "m^2/3 s^-1"), # MAX(GTGDEF,GTGMWT) - (500, "GTGMAX3", "m^2/3 s^-1") # MAX(GTGDEF,GTGMWT,GTGCIT) -); -# Region identification numbers (region 1=low-levels, 2=mid-levels, 3=upper levels) -# Region altitude boundaries = region=(0-BLTOP, BLTOP-20000, 20000-60000) ft -# Index static weights [region(low,mid,high) ,stability(1=Stable,2=Unstable), index number, Weight] -regionIndexWeights = ( -# CAT/LLT index weights: low-levels, stable ABL -(1, 1, 400, 1.000), # Brown1 -(1, 1, 401, 1.000), # Brown2 -(1, 1, 402, 1.000), # CP -(1, 1, 403, 1.000), # Ellrod1 -(1, 1, 404, 1.000), # Ellrod2 -(1, 1, 405, 1.000), # 1/Ri -(1, 1, 406, 1.000), # Ellrod3 -(1, 1, 407, 1.000), # Lapse -(1, 1, 408, 1.000), # MSEDR -(1, 1, 409, 1.000), # DTF3 -(1, 1, 410, 1.000), # Fth/Ri -(1, 1, 411, 1.000), # PBLEDR -(1, 1, 412, 1.000), # Dutton -(1, 1, 413, 1.000), # Endlich -(1, 1, 414, 1.000), # LAZ -(1, 1, 415, 1.000), # NGM1 -(1, 1, 416, 1.000), # -NGM2 -(1, 1, 417, 1.000), # SCHGW -(1, 1, 418, 1.000), # VWS -(1, 1, 419, -1.000), # UNDEF -(1, 1, 420, 1.000), # HS/Ri -(1, 1, 421, -1.000), # UNDEF -(1, 1, 422, 1.000), # DEFSQ -(1, 1, 423, 1.000), # VORTSQ/Ri -(1, 1, 424, 1.000), # |DIV|/Ri -(1, 1, 425, 1.000), # DEFSQ/Ri -(1, 1, 426, 1.000), # iawind -(1, 1, 427, 1.000), # AGI -(1, 1, 428, 1.000), # UBF/Ri -(1, 1, 429, 1.000), # 1/SATRi -(1, 1, 430, 1.000), # PVGRAD -(1, 1, 431, 1.000), # EDRRCH -(1, 1, 432, 1.000), # EDR -(1, 1, 433, 1.000), # EDRLL -(1, 1, 434, 1.000), # SEDR/Ri -(1, 1, 435, 1.000), # 1/RiTW -(1, 1, 436, 1.000), # LHFK -(1, 1, 437, 1.000), # LHFK/Ri -(1, 1, 438, 1.000), # TEMPG/Ri -(1, 1, 439, 1.000), # CTSQ/Ri -(1, 1, 440, 1.000), # Brown1/Ri -(1, 1, 441, 1.000), # iawind/Ri -(1, 1, 442, 1.000), # NGM1/Ri -(1, 1, 443, 1.000), # NGM2/Ri -(1, 1, 444, 1.000), # SCHGW/Ri -(1, 1, 445, 1.000), # TROPG/Z -(1, 1, 446, 1.000), # SPEED -(1, 1, 447, 1.000), # -Stone -(1, 1, 448, 1.000), # -NVA -(1, 1, 449, 1.000), # NCSU1 -(1, 1, 450, 1.000), # NCSU2/Ri -(1, 1, 451, 1.000), # EDRLUN -(1, 1, 452, 1.000), # wsq -(1, 1, 453, 1.000), # wsq/Ri -(1, 1, 454, 1.000), # EDR/Ri -(1, 1, 455, 1.000), # EDRLL/Ri -(1, 1, 456, 1.000), # SIGW -(1, 1, 457, 1.000), # SIGW/Ri -(1, 1, 458, 1.000), # F2D/Ri -(1, 1, 459, 1.000), # F2DTW/Ri -(1, 1, 460, 1.000), # F3D/Ri -(1, 1, 461, -1.000), # EDRM (ARPEGE ONLY) -(1, 1, 462, -1.000), # MOGCLIMO -(1, 1, 463, -1.000), # SOGCLIMO -(1, 1, 464, -1.000), # MWTCLIMO -(1, 1, 465, 1.000), # SGSTKE -(1, 1, 466, 1.000), # SGSTKE/Ri -(1, 1, 467, 1.000), # RTKE -(1, 1, 468, 1.000), # RTKE/Ri -(1, 1, 469, 1.000), # VARE -(1, 1, 470, 1.000), # VARE/Ri -# MWT index weights: low-levels -(1, 1, 471, 1.000), # MWT1 -(1, 1, 472, 1.000), # MWT2 -(1, 1, 473, 1.000), # MWT3 -(1, 1, 474, 1.000), # MWT4 -(1, 1, 475, 1.000), # MWT5 -(1, 1, 476, 1.000), # MWT13 -(1, 1, 477, 1.000), # MWT14 -(1, 1, 478, 1.000), # TKE_GWB -(1, 1, 479, 1.000), # MWT6 -(1, 1, 480, 1.000), # MWT7 -(1, 1, 481, 1.000), # MWT8 -(1, 1, 482, 1.000), # MWT9 -(1, 1, 483, 1.000), # MWT10 -(1, 1, 484, 1.000), # MWT11 -(1, 1, 485, 1.000), # MWT12 -# CIT indices: low-levels -(1, 1, 486, 1.000), # CNDHEAT -(1, 1, 487, 1.000), # CLDTKE -(1, 1, 488, -1.000), # UNDEF -(1, 1, 489, -1.000), # UNDEF -(1, 1, 490, -1.000), # UNDEF -(1, 1, 491, -1.000), # UNDEF -(1, 1, 492, -1.000), # UNDEF -(1, 1, 493, -1.000), # UNDEF -(1, 1, 494, -1.000), # UNDEF -(1, 1, 495, -1.000), # UNDEF -# GTG combinations - Set weights to -1 -(1, 1, 496, -1.), # GTGDEF -(1, 1, 497, -1.), # GTGMWT -(1, 1, 498, -1.), # GTGCIT -(1, 1, 499, -1.), # GTGMAX2 -(1, 1, 500, -1.), # GTGMAX3 -# CAT/LLT index weights: low-levels, unstable ABL -(1, 2, 400, 1.000), # Brown1 -(1, 2, 401, 1.000), # Brown2 -(1, 2, 402, 1.000), # CP -(1, 2, 403, 1.000), # Ellrod1 -(1, 2, 404, 1.000), # Ellrod2 -(1, 2, 405, 1.000), # 1/Ri -(1, 2, 406, 1.000), # Ellrod3 -(1, 2, 407, 1.000), # Lapse -(1, 2, 408, 1.000), # MSEDR -(1, 2, 409, 1.000), # DTF3 -(1, 2, 410, 1.000), # Fth/Ri -(1, 2, 411, 1.000), # PBLEDR -(1, 2, 412, 1.000), # Dutton -(1, 2, 413, 1.000), # Endlich -(1, 2, 414, 1.000), # LAZ -(1, 2, 415, 1.000), # NGM1 -(1, 2, 416, 1.000), # -NGM2 -(1, 2, 417, 1.000), # SCHGW -(1, 2, 418, 1.000), # VWS -(1, 2, 419, -1.000), # UNDEF -(1, 2, 420, 1.000), # HS/Ri -(1, 2, 421, -1.000), # UNDEF -(1, 2, 422, 1.000), # DEFSQ -(1, 2, 423, 1.000), # VORTSQ/Ri -(1, 2, 424, 1.000), # |DIV|/Ri -(1, 2, 425, 1.000), # DEFSQ/Ri -(1, 2, 426, 1.000), # iawind -(1, 2, 427, 1.000), # AGI -(1, 2, 428, 1.000), # UBF/Ri -(1, 2, 429, 1.000), # 1/SATRi -(1, 2, 430, 1.000), # PVGRAD -(1, 2, 431, 1.000), # EDRRCH -(1, 2, 432, 1.000), # EDR -(1, 2, 433, 1.000), # EDRLL -(1, 2, 434, 1.000), # SEDR/Ri -(1, 2, 435, 1.000), # 1/RiTW -(1, 2, 436, 1.000), # LHFK -(1, 2, 437, 1.000), # LHFK/Ri -(1, 2, 438, 1.000), # TEMPG/Ri -(1, 2, 439, 1.000), # CTSQ/Ri -(1, 2, 440, 1.000), # Brown1/Ri -(1, 2, 441, 1.000), # iawind/Ri -(1, 2, 442, 1.000), # NGM1/Ri -(1, 2, 443, 1.000), # NGM2/Ri -(1, 2, 444, 1.000), # SCHGW/Ri -(1, 2, 445, 1.000), # TROPG/Z -(1, 2, 446, 1.000), # SPEED -(1, 2, 447, 1.000), # -Stone -(1, 2, 448, 1.000), # -NVA -(1, 2, 449, 1.000), # NCSU1 -(1, 2, 450, 1.000), # NCSU2/Ri -(1, 2, 451, 1.000), # EDRLUN -(1, 2, 452, 1.000), # wsq -(1, 2, 453, 1.000), # wsq/Ri -(1, 2, 454, 1.000), # EDR/Ri -(1, 2, 455, 1.000), # EDRLL/Ri -(1, 2, 456, 1.000), # SIGW -(1, 2, 457, 1.000), # SIGW/Ri -(1, 2, 458, 1.000), # F2D/Ri -(1, 2, 459, 1.000), # F2DTW/Ri -(1, 2, 460, 1.000), # F3D/Ri -(1, 2, 461, -1.000), # EDRM (ARPEGE ONLY) -(1, 2, 462, -1.000), # MOGCLIMO -(1, 2, 463, -1.000), # SOGCLIMO -(1, 2, 464, -1.000), # MWTCLIMO -(1, 2, 465, 1.000), # SGSTKE -(1, 2, 466, 1.000), # SGSTKE/Ri -(1, 2, 467, 1.000), # RTKE -(1, 2, 468, 1.000), # RTKE/Ri -(1, 2, 469, 1.000), # VARE -(1, 2, 470, 1.000), # VARE/Ri -# MWT index weights: low-levels -(1, 2, 471, 1.000), # MWT1 -(1, 2, 472, 1.000), # MWT2 -(1, 2, 473, 1.000), # MWT3 -(1, 2, 474, 1.000), # MWT4 -(1, 2, 475, 1.000), # MWT5 -(1, 2, 476, 1.000), # MWT13 -(1, 2, 477, 1.000), # MWT14 -(1, 2, 478, 1.000), # TKE_GWB -(1, 2, 479, 1.000), # MWT6 -(1, 2, 480, 1.000), # MWT7 -(1, 2, 481, 1.000), # MWT8 -(1, 2, 482, 1.000), # MWT9 -(1, 2, 483, 1.000), # MWT10 -(1, 2, 484, 1.000), # MWT11 -(1, 2, 485, 1.000), # MWT12 -# CIT indices: low-levels -(1, 2, 486, 1.000), # CNDHEAT -(1, 2, 487, 1.000), # CLDTKE -(1, 2, 488, -1.000), # UNDEF -(1, 2, 489, -1.000), # UNDEF -(1, 2, 490, -1.000), # UNDEF -(1, 2, 491, -1.000), # UNDEF -(1, 2, 492, -1.000), # UNDEF -(1, 2, 493, -1.000), # UNDEF -(1, 2, 494, -1.000), # UNDEF -(1, 2, 495, -1.000), # UNDEF -# GTG combinations - Set weights to -1 -(1, 2, 496, -1.), # GTGDEF -(1, 2, 497, -1.), # GTGMWT -(1, 2, 498, -1.), # GTGCIT -(1, 2, 499, -1.), # GTGMAX2 -(1, 2, 500, -1.), # GTGMAX3 -# CAT index weights: mid-levels, stable -(2, 1, 400, 1.000), # Brown1 -(2, 1, 401, 1.000), # Brown2 -(2, 1, 402, 1.000), # CP -(2, 1, 403, 1.000), # Ellrod1 -(2, 1, 404, 1.000), # Ellrod2 -(2, 1, 405, 1.000), # 1/Ri -(2, 1, 406, 1.000), # Ellrod3 -(2, 1, 407, 1.000), # Lapse -(2, 1, 408, 1.000), # MSEDR -(2, 1, 409, 1.000), # DTF3 -(2, 1, 410, 1.000), # Fth/Ri -(2, 1, 411, 1.000), # PBLEDR -(2, 1, 412, 1.000), # Dutton -(2, 1, 413, 1.000), # Endlich -(2, 1, 414, 1.000), # LAZ -(2, 1, 415, 1.000), # NGM1 -(2, 1, 416, 1.000), # -NGM2 -(2, 1, 417, 1.000), # SCHGW -(2, 1, 418, 1.000), # VWS -(2, 1, 419, -1.000), # UNDEF -(2, 1, 420, 1.000), # HS/Ri -(2, 1, 421, -1.000), # UNDEF -(2, 1, 422, 1.000), # DEFSQ -(2, 1, 423, 1.000), # VORTSQ/Ri -(2, 1, 424, 1.000), # |DIV|/Ri -(2, 1, 425, 1.000), # DEFSQ/Ri -(2, 1, 426, 1.000), # iawind -(2, 1, 427, 1.000), # AGI -(2, 1, 428, 1.000), # UBF/Ri -(2, 1, 429, 1.000), # 1/SATRi -(2, 1, 430, 1.000), # PVGRAD -(2, 1, 431, 1.000), # EDRRCH -(2, 1, 432, 1.000), # EDR -(2, 1, 433, 1.000), # EDRLL -(2, 1, 434, 1.000), # SEDR/Ri -(2, 1, 435, 1.000), # 1/RiTW -(2, 1, 436, 1.000), # LHFK -(2, 1, 437, 1.000), # LHFK/Ri -(2, 1, 438, 1.000), # TEMPG/Ri -(2, 1, 439, 1.000), # CTSQ/Ri -(2, 1, 440, 1.000), # Brown1/Ri -(2, 1, 441, 1.000), # iawind/Ri -(2, 1, 442, 1.000), # NGM1/Ri -(2, 1, 443, 1.000), # NGM2/Ri -(2, 1, 444, 1.000), # SCHGW/Ri -(2, 1, 445, 1.000), # TROPG/Z -(2, 1, 446, 1.000), # SPEED -(2, 1, 447, 1.000), # -Stone -(2, 1, 448, 1.000), # -NVA -(2, 1, 449, 1.000), # NCSU1 -(2, 1, 450, 1.000), # NCSU2/Ri -(2, 1, 451, 1.000), # EDRLUN -(2, 1, 452, 1.000), # wsq -(2, 1, 453, 1.000), # wsq/Ri -(2, 1, 454, 1.000), # EDR/Ri -(2, 1, 455, 1.000), # EDRLL/Ri -(2, 1, 456, 1.000), # SIGW -(2, 1, 457, 1.000), # SIGW/Ri -(2, 1, 458, 1.000), # F2D/Ri -(2, 1, 459, 1.000), # F2DTW/Ri -(2, 1, 460, 1.000), # F3D/Ri -(2, 1, 461, -1.000), # EDRM (ARPEGE ONLY) -(2, 1, 462, -1.000), # MOGCLIMO -(2, 1, 463, -1.000), # SOGCLIMO -(2, 1, 464, -1.000), # MWTCLIMO -(2, 1, 465, 1.000), # SGSTKE -(2, 1, 466, 1.000), # SGSTKE/Ri -(2, 1, 467, 1.000), # RTKE -(2, 1, 468, 1.000), # RTKE/Ri -(2, 1, 469, 1.000), # VARE -(2, 1, 470, 1.000), # VARE/Ri -# MWT index weights: mid-levels -(2, 1, 471, 1.000), # MWT1 -(2, 1, 472, 1.000), # MWT2 -(2, 1, 473, 1.000), # MWT3 -(2, 1, 474, 1.000), # MWT4 -(2, 1, 475, 1.000), # MWT5 -(2, 1, 476, 1.000), # MWT13 -(2, 1, 477, 1.000), # MWT14 -(2, 1, 478, 1.000), # TKE_GWB -(2, 1, 479, 1.000), # MWT6 -(2, 1, 480, 1.000), # MWT7 -(2, 1, 481, 1.000), # MWT8 -(2, 1, 482, 1.000), # MWT9 -(2, 1, 483, 1.000), # MWT10 -(2, 1, 484, 1.000), # MWT11 -(2, 1, 485, 1.000), # MWT12 -# CIT indices: mid-levels -(2, 1, 486, 1.000), # CNDHEAT -(2, 1, 487, 1.000), # CLDTKE -(2, 1, 488, -1.000), # UNDEF -(2, 1, 489, -1.000), # UNDEF -(2, 1, 490, -1.000), # UNDEF -(2, 1, 491, -1.000), # UNDEF -(2, 1, 492, -1.000), # UNDEF -(2, 1, 493, -1.000), # UNDEF -(2, 1, 494, -1.000), # UNDEF -(2, 1, 495, -1.000), # UNDEF -# GTG combinations - Set weights to -1 -(2, 1, 496, -1.), # GTGDEF -(2, 1, 497, -1.), # GTGMWT -(2, 1, 498, -1.), # GTGCIT -(2, 1, 499, -1.), # GTGMAX2 -(2, 1, 500, -1.), # GTGMAX3 -# CAT index weights - upper-levels, stable -(3, 1, 400, 1.000), # Brown1 -(3, 1, 401, 1.000), # Brown2 -(3, 1, 402, 1.000), # CP -(3, 1, 403, 1.000), # Ellrod1 -(3, 1, 404, 1.000), # Ellrod2 -(3, 1, 405, 1.000), # 1/Ri -(3, 1, 406, 1.000), # Ellrod3 -(3, 1, 407, 1.000), # Lapse -(3, 1, 408, 1.000), # MSEDR -(3, 1, 409, 1.000), # DTF3 -(3, 1, 410, 1.000), # Fth/Ri -(3, 1, 411, 1.000), # PBLEDR -(3, 1, 412, 1.000), # Dutton -(3, 1, 413, 1.000), # Endlich -(3, 1, 414, 1.000), # LAZ -(3, 1, 415, 1.000), # NGM1 -(3, 1, 416, 1.000), # -NGM2 -(3, 1, 417, 1.000), # SCHGW -(3, 1, 418, 1.000), # VWS -(3, 1, 419, -1.000), # UNDEF -(3, 1, 420, 1.000), # HS/Ri -(3, 1, 421, -1.000), # UNDEF -(3, 1, 422, 1.000), # DEFSQ -(3, 1, 423, 1.000), # VORTSQ/Ri -(3, 1, 424, 1.000), # |DIV|/Ri -(3, 1, 425, 1.000), # DEFSQ/Ri -(3, 1, 426, 1.000), # iawind -(3, 1, 427, 1.000), # AGI -(3, 1, 428, 1.000), # UBF/Ri -(3, 1, 429, 1.000), # 1/SATRi -(3, 1, 430, 1.000), # PVGRAD -(3, 1, 431, 1.000), # EDRRCH -(3, 1, 432, 1.000), # EDR -(3, 1, 433, 1.000), # EDRLL -(3, 1, 434, 1.000), # SEDR/Ri -(3, 1, 435, 1.000), # 1/RiTW -(3, 1, 436, 1.000), # LHFK -(3, 1, 437, 1.000), # LHFK/Ri -(3, 1, 438, 1.000), # TEMPG/Ri -(3, 1, 439, 1.000), # CTSQ/Ri -(3, 1, 440, 1.000), # Brown1/Ri -(3, 1, 441, 1.000), # iawind/Ri -(3, 1, 442, 1.000), # NGM1/Ri -(3, 1, 443, 1.000), # NGM2/Ri -(3, 1, 444, 1.000), # SCHGW/Ri -(3, 1, 445, 1.000), # TROPG/Z -(3, 1, 446, 1.000), # SPEED -(3, 1, 447, 1.000), # -Stone -(3, 1, 448, 1.000), # -NVA -(3, 1, 449, 1.000), # NCSU1 -(3, 1, 450, 1.000), # NCSU2/Ri -(3, 1, 451, 1.000), # EDRLUN -(3, 1, 452, 1.000), # wsq -(3, 1, 453, 1.000), # wsq/Ri -(3, 1, 454, 1.000), # EDR/Ri -(3, 1, 455, 1.000), # EDRLL/Ri -(3, 1, 456, 1.000), # SIGW/Ri -(3, 1, 457, 1.000), # SIGW/Ri -(3, 1, 458, 1.000), # F2D/Ri -(3, 1, 459, 1.000), # F2DTW/Ri -(3, 1, 460, 1.000), # F3D/Ri -(3, 1, 461, -1.000), # EDRM (ARPEGE ONLY) -(3, 1, 462, -1.000), # MOGCLIMO -(3, 1, 463, -1.000), # SOGCLIMO -(3, 1, 464, -1.000), # MWTCLIMO -(3, 1, 465, 1.000), # SGSTKE -(3, 1, 466, 1.000), # SGSTKE/Ri -(3, 1, 467, 1.000), # RTKE -(3, 1, 468, 1.000), # RTKE/Ri -(3, 1, 469, 1.000), # VARE -(3, 1, 470, 1.000), # VARE/Ri -# MWT index weights - upper-levels -(3, 1, 471, 1.000), # MWT1 -(3, 1, 472, 1.000), # MWT2 -(3, 1, 473, 1.000), # MWT3 -(3, 1, 474, 1.000), # MWT4 -(3, 1, 475, 1.000), # MWT5 -(3, 1, 476, 1.000), # MWT13 -(3, 1, 477, 1.000), # MWT14 -(3, 1, 478, 1.000), # TKE_GWB -(3, 1, 479, 1.000), # MWT6 -(3, 1, 480, 1.000), # MWT7 -(3, 1, 481, 1.000), # MWT8 -(3, 1, 482, 1.000), # MWT9 -(3, 1, 483, 1.000), # MWT10 -(3, 1, 484, 1.000), # MWT11 -(3, 1, 485, 1.000), # MWT12 -# CIT indices: upper levels -(3, 1, 486, 1.000), # CNDHEAT -(3, 1, 487, 1.000), # CLDTKE -(3, 1, 488, -1.000), # UNDEF -(3, 1, 489, -1.000), # UNDEF -(3, 1, 490, -1.000), # UNDEF -(3, 1, 491, -1.000), # UNDEF -(3, 1, 492, -1.000), # UNDEF -(3, 1, 493, -1.000), # UNDEF -(3, 1, 494, -1.000), # UNDEF -(3, 1, 495, -1.000), # UNDEF -# GTG combinations - Set weights to -1 -(3, 1, 496, -1.), # GTGDEF -(3, 1, 497, -1.), # GTGMWT -(3, 1, 498, -1.), # GTGCIT -(3, 1, 499, -1.), # GTGMAX2 -(3, 1, 500, -1.) # GTGMAX3 -); -# Set ipickindx which specifies which indices to compute -# ipickgtg which specifies indices to use in the GTG weighted sum -# (Region, Stability, Index, ipickindx, ipickgtg) - regionIndicesSelect = ( -# Specify CAT/LLT indices to compute/use in CAT/LLT combination: low-levels, SBL -(1, 1, 400, 1, 0), # Brown1 -(1, 1, 401, 1, 0), # Brown2 -(1, 1, 402, 1, 0), # CP -(1, 1, 403, 1, 0), # Ellrod1 -(1, 1, 404, 1, 0), # Ellrod2 -(1, 1, 405, 1, 0), # 1/Ri -(1, 1, 406, 1, 0), # Ellrod3 -(1, 1, 407, 1, 0), # Lapse -(1, 1, 408, 1, 0), # MSEDR -(1, 1, 409, 1, 0), # DTF3 -(1, 1, 410, 1, 1), # Fth/Ri -(1, 1, 411, 1, 0), # PBLEDR -(1, 1, 412, 1, 0), # Dutton -(1, 1, 413, 1, 0), # Endlich -(1, 1, 414, 1, 0), # LAZ -(1, 1, 415, 1, 0), # NGM1 -(1, 1, 416, 1, 0), # -NGM2 -(1, 1, 417, 1, 0), # SCHGW -(1, 1, 418, 1, 0), # VWS -(1, 1, 419, 0, 0), # UNDEF -(1, 1, 420, 1, 0), # HS -(1, 1, 421, 0, 0), # UNDEF -(1, 1, 422, 1, 0), # DEFSQ -(1, 1, 423, 1, 0), # VORTSQ/Ri -(1, 1, 424, 1, 0), # |DIV|/Ri -(1, 1, 425, 1, 0), # DEFSQ/Ri -(1, 1, 426, 1, 0), # iawind -(1, 1, 427, 1, 0), # AGI -(1, 1, 428, 1, 0), # UBF/Ri -(1, 1, 429, 1, 0), # 1/SATRi -(1, 1, 430, 1, 0), # PVGRAD (PVUs) -(1, 1, 431, 1, 0), # EDRRCH -(1, 1, 432, 1, 0), # EDR -(1, 1, 433, 1, 0), # EDRLL -(1, 1, 434, 1, 0), # SEDR/Ri -(1, 1, 435, 1, 0), # 1/RiTW -(1, 1, 436, 1, 0), # LHFK -(1, 1, 437, 1, 0), # LHFK/Ri -(1, 1, 438, 1, 0), # TEMPG/Ri -(1, 1, 439, 1, 0), # CTSQ/Ri -(1, 1, 440, 1, 0), # Brown1/Ri -(1, 1, 441, 1, 1), # iawind/Ri -(1, 1, 442, 1, 1), # NGM1/Ri -(1, 1, 443, 1, 0), # NGM2/Ri -(1, 1, 444, 1, 0), # SCHGW/Ri -(1, 1, 445, 1, 0), # TROPG/Z -(1, 1, 446, 1, 0), # SPEED -(1, 1, 447, 1, 0), # -Stone -(1, 1, 448, 1, 0), # -NVA -(1, 1, 449, 1, 0), # NCSU1 -(1, 1, 450, 1, 0), # NCSU2/Ri -(1, 1, 451, 1, 0), # EDRLUN -(1, 1, 452, 1, 0), # wsq -(1, 1, 453, 1, 0), # wsq/Ri -(1, 1, 454, 1, 0), # EDR/Ri -(1, 1, 455, 1, 0), # EDRLL/Ri -(1, 1, 456, 1, 0), # SIGW -(1, 1, 457, 1, 1), # SIGW/Ri -(1, 1, 458, 1, 0), # F2D/Ri -(1, 1, 459, 1, 0), # F2DTW/Ri -(1, 1, 460, 1, 0), # F3D/Ri -(1, 1, 461, 0, 0), # EDRM (ARPEGE ONLY) -(1, 1, 462, 0, 0), # MOGCLIMO -(1, 1, 463, 0, 0), # SOGCLIMO -(1, 1, 464, 0, 0), # MWTCLIMO -(1, 1, 465, 1, 1), # SGSTKE -(1, 1, 466, 1, 1), # SGSTKE/Ri -(1, 1, 467, 1, 0), # RTKE -(1, 1, 468, 1, 0), # RTKE/Ri -(1, 1, 469, 1, 0), # VARE -(1, 1, 470, 1, 0), # VARE/Ri -# Specify MWT indices to compute/use in MWT combination: low-levels -(1, 1, 471, 1, 1), # MWT1 -(1, 1, 472, 1, 0), # MWT2 -(1, 1, 473, 1, 0), # MWT3 -(1, 1, 474, 1, 0), # MWT4 -(1, 1, 475, 1, 0), # MWT5 -(1, 1, 476, 1, 0), # MWT13 -(1, 1, 477, 1, 0), # MWT14 -(1, 1, 478, 1, 0), # TKE_GWB -(1, 1, 479, 1, 0), # MWT6 -(1, 1, 480, 1, 1), # MWT7 -(1, 1, 481, 1, 0), # MWT8 -(1, 1, 482, 1, 0), # MWT9 -(1, 1, 483, 1, 0), # MWT10 -(1, 1, 484, 1, 0), # MWT11 -(1, 1, 485, 1, 0), # MWT12 -# Specify CIT indices: low-levels, stable -(1, 1, 486, 1, 1), # CNDHEAT -(1, 1, 487, 1, 0), # CLDTKE -(1, 1, 488, 0, 0), # UNDEF -(1, 1, 489, 0, 0), # UNDEF -(1, 1, 490, 0, 0), # UNDEF -(1, 1, 491, 0, 0), # UNDEF -(1, 1, 492, 0, 0), # UNDEF -(1, 1, 493, 0, 0), # UNDEF -(1, 1, 494, 0, 0), # UNDEF -(1, 1, 495, 0, 0), # UNDEF -# GTG combinations - Set ipickindx and ipickgtg to 0 -(1, 1, 496, 0, 0), # GTGDEF -(1, 1, 497, 0, 0), # GTGMWT -(1, 1, 498, 0, 0), # GTGCIT -(1, 1, 499, 0, 0), # GTGMAX2 -(1, 1, 500, 0, 0), # GTGMAX3 -# Specify CAT/LLT indices to compute/use in CAT/LLT combination: low-levels, CBL -(1, 2, 400, 1, 0), # Brown1 -(1, 2, 401, 1, 0), # Brown2 -(1, 2, 402, 1, 0), # CP -(1, 2, 403, 1, 0), # Ellrod1 -(1, 2, 404, 1, 0), # Ellrod2 -(1, 2, 405, 1, 0), # 1/Ri -(1, 2, 406, 1, 0), # Ellrod3 -(1, 2, 407, 1, 0), # Lapse -(1, 2, 408, 1, 1), # MSEDR -(1, 2, 409, 1, 0), # DTF3 -(1, 2, 410, 1, 0), # Fth/Ri -(1, 2, 411, 1, 0), # PBLEDR -(1, 2, 412, 1, 0), # Dutton -(1, 2, 413, 1, 0), # Endlich -(1, 2, 414, 1, 0), # LAZ -(1, 2, 415, 1, 0), # NGM1 -(1, 2, 416, 1, 1), # -NGM2 -(1, 2, 417, 1, 0), # SCHGW -(1, 2, 418, 1, 0), # VWS -(1, 2, 419, 0, 0), # UNDEF -(1, 2, 420, 1, 0), # HS -(1, 2, 421, 0, 0), # UNDEF -(1, 2, 422, 1, 0), # DEFSQ -(1, 2, 423, 1, 0), # VORTSQ/Ri -(1, 2, 424, 1, 0), # |DIV|/Ri -(1, 2, 425, 1, 0), # DEFSQ/Ri -(1, 2, 426, 1, 0), # iawind -(1, 2, 427, 1, 0), # AGI -(1, 2, 428, 1, 0), # UBF/Ri -(1, 2, 429, 1, 0), # 1/SATRi -(1, 2, 430, 1, 0), # PVGRAD (PVUs) -(1, 2, 431, 1, 0), # EDRRCH -(1, 2, 432, 1, 0), # EDR -(1, 2, 433, 1, 0), # EDRLL -(1, 2, 434, 1, 0), # SEDR/Ri -(1, 2, 435, 1, 0), # 1/RiTW -(1, 2, 436, 1, 0), # LHFK -(1, 2, 437, 1, 0), # LHFK/Ri -(1, 2, 438, 1, 0), # TEMPG/Ri -(1, 2, 439, 1, 0), # CTSQ/Ri -(1, 2, 440, 1, 0), # Brown1/Ri -(1, 2, 441, 1, 0), # iawind/Ri -(1, 2, 442, 1, 0), # NGM1/Ri -(1, 2, 443, 1, 0), # NGM2/Ri -(1, 2, 444, 1, 0), # SCHGW/Ri -(1, 2, 445, 1, 0), # TROPG/Z -(1, 2, 446, 1, 0), # SPEED -(1, 2, 447, 1, 0), # -Stone -(1, 2, 448, 1, 0), # -NVA -(1, 2, 449, 1, 0), # NCSU1 -(1, 2, 450, 1, 0), # NCSU2/Ri -(1, 2, 451, 1, 0), # EDRLUN -(1, 2, 452, 1, 0), # wsq -(1, 2, 453, 1, 0), # wsq/Ri -(1, 2, 454, 1, 0), # EDR/Ri -(1, 2, 455, 1, 0), # EDRLL/Ri -(1, 2, 456, 1, 0), # SIGW -(1, 2, 457, 1, 0), # SIGW/Ri -(1, 2, 458, 1, 0), # F2D/Ri -(1, 2, 459, 1, 0), # F2DTW/Ri -(1, 2, 460, 1, 0), # F3D/Ri -(1, 2, 461, 0, 0), # EDRM (ARPEGE ONLY) -(1, 2, 462, 0, 0), # MOGCLIMO -(1, 2, 463, 0, 0), # SOGCLIMO -(1, 2, 464, 0, 0), # MWTCLIMO -(1, 2, 465, 1, 0), # SGSTKE -(1, 2, 466, 1, 0), # SGSTKE/Ri -(1, 2, 467, 1, 0), # RTKE -(1, 2, 468, 1, 0), # RTKE/Ri -(1, 2, 469, 1, 0), # VARE -(1, 2, 470, 1, 0), # VARE/Ri -# Specify MWT indices to compute/use in MWT combination: low-levels, unstable -(1, 2, 471, 1, 1), # MWT1 -(1, 2, 472, 1, 0), # MWT2 -(1, 2, 473, 1, 1), # MWT3 -(1, 2, 474, 1, 0), # MWT4 -(1, 2, 475, 1, 0), # MWT5 -(1, 2, 476, 1, 0), # MWT13 -(1, 2, 477, 1, 0), # MWT14 -(1, 2, 478, 1, 0), # TKE_GWB -(1, 2, 479, 1, 0), # MWT6 -(1, 2, 480, 1, 1), # MWT7 -(1, 2, 481, 1, 0), # MWT8 -(1, 2, 482, 1, 0), # MWT9 -(1, 2, 483, 1, 0), # MWT10 -(1, 2, 484, 1, 0), # MWT11 -(1, 2, 485, 1, 0), # MWT12 -# Specify CIT indices -(1, 2, 486, 1, 1), # CNDHEAT -(1, 2, 487, 1, 0), # CLDTKE -(1, 2, 488, 0, 0), # UNDEF -(1, 2, 489, 0, 0), # UNDEF -(1, 2, 490, 0, 0), # UNDEF -(1, 2, 491, 0, 0), # UNDEF -(1, 2, 492, 0, 0), # UNDEF -(1, 2, 493, 0, 0), # UNDEF -(1, 2, 494, 0, 0), # UNDEF -(1, 2, 495, 0, 0), # UNDEF -# GTG combinations - Set ipickindx and ipickgtg to 0 -(1, 2, 496, 0, 0), # GTGDEF -(1, 2, 497, 0, 0), # GTGMWT -(1, 2, 498, 0, 0), # GTGCIT -(1, 2, 499, 0, 0), # GTGMAX2 -(1, 2, 500, 0, 0), # GTGMAX3 -# Specify CAT indices to compute/use in CAT combination: mid-levels, stable -(2, 1, 400, 1, 0), # Brown1 -(2, 1, 401, 1, 0), # Brown2 -(2, 1, 402, 1, 0), # CP -(2, 1, 403, 1, 0), # Ellrod1 -(2, 1, 404, 1, 0), # Ellrod2 -(2, 1, 405, 1, 0), # 1/Ri -(2, 1, 406, 1, 0), # Ellrod3 -(2, 1, 407, 1, 0), # Lapse -(3, 1, 408, 0, 0), # MSEDR (don't use at upper levels) -(2, 1, 409, 1, 0), # DTF3 -(2, 1, 410, 1, 0), # Fth/Ri -(2, 1, 411, 1, 0), # PBLEDR -(2, 1, 412, 1, 0), # Dutton -(2, 1, 413, 1, 0), # Endlich -(2, 1, 414, 1, 0), # LAZ -(2, 1, 415, 1, 0), # NGM1 -(2, 1, 416, 1, 0), # -NGM2 -(2, 1, 417, 1, 1), # SCHGW -(2, 1, 418, 1, 0), # VWS -(2, 1, 419, 0, 0), # UNDEF -(2, 1, 420, 1, 0), # HS -(2, 1, 421, 0, 0), # UNDEF -(2, 1, 422, 1, 0), # DEFSQ -(2, 1, 423, 1, 0), # VORTSQ/Ri -(2, 1, 424, 1, 0), # |DIV|/Ri -(2, 1, 425, 1, 0), # DEFSQ/Ri -(2, 1, 426, 1, 0), # iawind -(2, 1, 427, 1, 0), # AGI -(2, 1, 428, 1, 0), # UBF/Ri -(2, 1, 429, 1, 0), # 1/SATRi -(2, 1, 430, 1, 0), # PVGRAD (PVUs) -(2, 1, 431, 1, 0), # EDRRCH -(2, 1, 432, 1, 0), # EDR -(2, 1, 433, 1, 1), # EDRLL -(2, 1, 434, 1, 0), # SEDR/Ri -(2, 1, 435, 1, 0), # 1/RiTW -(2, 1, 436, 1, 0), # LHFK -(2, 1, 437, 1, 0), # LHFK/Ri -(2, 1, 438, 1, 0), # TEMPG/Ri -(2, 1, 439, 1, 0), # CTSQ/Ri -(2, 1, 440, 1, 0), # Brown1/Ri -(2, 1, 441, 1, 0), # iawind/Ri -(2, 1, 442, 1, 0), # NGM1/Ri -(2, 1, 443, 1, 0), # NGM2/Ri -(2, 1, 444, 1, 0), # SCHGW/Ri -(2, 1, 445, 1, 0), # TROPG/Z -(2, 1, 446, 1, 0), # SPEED -(2, 1, 447, 1, 0), # -Stone -(2, 1, 448, 1, 0), # -NVA -(2, 1, 449, 1, 0), # NCSU1 -(2, 1, 450, 1, 0), # NCSU2/Ri -(2, 1, 451, 1, 0), # EDRLUN -(2, 1, 452, 1, 0), # wsq -(2, 1, 453, 1, 1), # wsq/Ri -(2, 1, 454, 1, 0), # EDR/Ri -(2, 1, 455, 1, 0), # EDRLL/Ri -(2, 1, 456, 1, 0), # SIGW -(2, 1, 457, 1, 1), # SIGW/Ri -(2, 1, 458, 1, 0), # F2D/Ri -(2, 1, 459, 1, 0), # F2DTW/Ri -(2, 1, 460, 1, 0), # F3D/Ri -(2, 1, 461, 0, 0), # EDRM (ARPEGE ONLY) -(2, 1, 462, 0, 0), # MOGCLIMO -(2, 1, 463, 0, 0), # SOGCLIMO -(2, 1, 464, 0, 0), # MWTCLIMO -(2, 1, 465, 1, 0), # SGSTKE -(2, 1, 466, 1, 0), # SGSTKE/Ri -(2, 1, 467, 1, 0), # RTKE -(2, 1, 468, 1, 1), # RTKE/Ri -(2, 1, 469, 1, 0), # VARE -(2, 1, 470, 1, 0), # VARE/Ri -# Specify MWT indices to compute/use in MWT combination: mid-levels -(2, 1, 471, 1, 1), # MWT1 -(2, 1, 472, 1, 0), # MWT2 -(2, 1, 473, 1, 0), # MWT3 -(2, 1, 474, 1, 0), # MWT4 -(2, 1, 475, 1, 0), # MWT5 -(2, 1, 476, 1, 0), # MWT13 -(2, 1, 477, 1, 0), # MWT14 -(2, 1, 478, 1, 0), # TKE_GWB -(2, 1, 479, 1, 0), # MWT6 -(2, 1, 480, 1, 0), # MWT7 -(2, 1, 481, 1, 1), # MWT8 -(2, 1, 482, 1, 0), # MWT9 -(2, 1, 483, 1, 0), # MWT10 -(2, 1, 484, 1, 0), # MWT11 -(2, 1, 485, 1, 0), # MWT12 -# Specify CIT indices to compute/use in CIT combination: mid-levels -(2, 1, 486, 1, 1), # CONDHEAT -(2, 1, 487, 1, 0), # CLDTKE -(2, 1, 488, 0, 0), # UNDEF -(2, 1, 489, 0, 0), # UNDEF -(2, 1, 490, 0, 0), # UNDEF -(2, 1, 491, 0, 0), # UNDEF -(2, 1, 492, 0, 0), # UNDEF -(2, 1, 493, 0, 0), # UNDEF -(2, 1, 494, 0, 0), # UNDEF -(2, 1, 495, 0, 0), # UNDEF -# GTG combinations - Set ipickindx and ipickgtg to 0 -(2, 1, 496, 0, 0), # GTGDEF -(2, 1, 497, 0, 0), # GTGMWT -(2, 1, 498, 0, 0), # GTGCIT -(2, 1, 499, 0, 0), # GTGMAX2 -(2, 1, 500, 0, 0), # GTGMAX3 -# Specify CAT indices to compute/use in CAT combination: upper-levels, stable -(3, 1, 400, 1, 0), # Brown1 -(3, 1, 401, 1, 0), # Brown2 -(3, 1, 402, 1, 0), # CP -(3, 1, 403, 1, 0), # Ellrod1 -(3, 1, 404, 1, 0), # Ellrod2 -(3, 1, 405, 1, 0), # 1/Ri -(3, 1, 406, 1, 0), # Ellrod3 -(3, 1, 407, 1, 0), # Lapse (don't use at upper levels) -(3, 1, 408, 1, 0), # MSEDR (don't use at upper levels) -(3, 1, 409, 1, 0), # DTF3 -(3, 1, 410, 1, 0), # Fth/Ri -(3, 1, 411, 0, 0), # PBLEDR (don't use at upper levels) -(3, 1, 412, 1, 0), # Dutton -(3, 1, 413, 1, 0), # Endlich -(3, 1, 414, 1, 0), # LAZ -(3, 1, 415, 1, 0), # NGM1 -(3, 1, 416, 1, 0), # -NGM2 -(3, 1, 417, 1, 0), # SCHGW -(3, 1, 418, 1, 0), # VWS -(3, 1, 419, 0, 0), # UNDEF -(3, 1, 420, 1, 0), # HS -(3, 1, 421, 0, 0), # UNDEF -(3, 1, 422, 1, 0), # DEFSQ -(3, 1, 423, 1, 0), # VORTSQ/Ri -(3, 1, 424, 1, 0), # |DIV|/Ri -(3, 1, 425, 1, 0), # DEFSQ/Ri -(3, 1, 426, 1, 0), # iawind -(3, 1, 427, 1, 0), # AGI -(3, 1, 428, 1, 0), # UBF/Ri -(3, 1, 429, 1, 0), # 1/SATRi -(3, 1, 430, 1, 0), # PVGRAD (PVUs) -(3, 1, 431, 1, 0), # EDRRCH -(3, 1, 432, 1, 0), # EDR -(3, 1, 433, 1, 0), # EDRLL -(3, 1, 434, 1, 0), # SEDR/Ri -(3, 1, 435, 1, 0), # 1/RiTW -(3, 1, 436, 1, 0), # LHFK -(3, 1, 437, 1, 0), # LHFK/Ri -(3, 1, 438, 1, 0), # TEMPG/Ri -(3, 1, 439, 1, 0), # CTSQ/Ri -(3, 1, 440, 1, 0), # Brown1/Ri -(3, 1, 441, 1, 0), # iawind/Ri -(3, 1, 442, 1, 0), # NGM1/Ri -(3, 1, 443, 1, 0), # NGM2/Ri -(3, 1, 444, 1, 0), # SCHGW/Ri -(3, 1, 445, 1, 0), # TROPG/Z -(3, 1, 446, 1, 0), # SPEED -(3, 1, 447, 1, 0), # -Stone -(3, 1, 448, 1, 0), # -NVA -(3, 1, 449, 1, 0), # NCSU1 -(3, 1, 450, 1, 0), # NCSU2/Ri -(3, 1, 451, 1, 0), # EDRLUN -(3, 1, 452, 1, 0), # wsq -(3, 1, 453, 1, 0), # wsq/Ri -(3, 1, 454, 1, 1), # EDR/Ri -(3, 1, 455, 1, 0), # EDRLL/Ri -(3, 1, 456, 1, 0), # SIGW -(3, 1, 457, 1, 0), # SIGW/Ri -(3, 1, 458, 1, 1), # F2D/Ri -(3, 1, 459, 1, 0), # F2DTW/Ri -(3, 1, 460, 1, 0), # F3D/Ri -(3, 1, 461, 0, 0), # EDRM (ARPEGE ONLY) -(3, 1, 462, 0, 0), # MOGCLIMO -(3, 1, 463, 0, 0), # SOGCLIMO -(3, 1, 464, 0, 0), # MWTCLIMO -(3, 1, 465, 1, 0), # SGSTKE -(3, 1, 466, 1, 0), # SGSTKE/Ri -(3, 1, 467, 1, 0), # RTKE -(3, 1, 468, 1, 1), # RTKE/Ri -(3, 1, 469, 1, 0), # VARE -(3, 1, 470, 1, 0), # VARE/Ri -# Specify MWT indices to compute/use in MWT combination: upper-levels -(3, 1, 471, 1, 0), # MWT1 -(3, 1, 472, 1, 0), # MWT2 -(3, 1, 473, 1, 0), # MWT3 -(3, 1, 474, 1, 0), # MWT4 -(3, 1, 475, 1, 0), # MWT5 -(3, 1, 476, 1, 1), # MWT13 -(3, 1, 477, 1, 1), # MWT14 -(3, 1, 478, 1, 0), # TKE_GWB (don't use with FV3) -(3, 1, 479, 1, 0), # MWT6 -(3, 1, 480, 1, 0), # MWT7 -(3, 1, 481, 1, 1), # MWT8 -(3, 1, 482, 1, 0), # MWT9 -(3, 1, 483, 1, 0), # MWT10 -(3, 1, 484, 1, 0), # MWT11 -(3, 1, 485, 1, 0), # MWT12 -# Specify CIT indices to compute/use in CIT combination: upper-levels -(3, 1, 486, 1, 1), # CNDHEAT -(3, 1, 487, 1, 0), # CLDTKE -(3, 1, 488, 0, 0), # UNDEF -(3, 1, 489, 0, 0), # UNDEF -(3, 1, 490, 0, 0), # UNDEF -(3, 1, 491, 0, 0), # UNDEF -(3, 1, 492, 0, 0), # UNDEF -(3, 1, 493, 0, 0), # UNDEF -(3, 1, 494, 0, 0), # UNDEF -(3, 1, 495, 0, 0), # UNDEF -# GTG combinations -(3, 1, 496, 0, 0), # GTGDEF -(3, 1, 497, 0, 0), # GTGMWT -(3, 1, 498, 0, 0), # GTGCIT -(3, 1, 499, 0, 0), # GTGMAX2 -(3, 1, 500, 0, 0) # GTGMAX3 - ); -# -# remap_option =2; | 1=linear piecewise,2=PDF fit -# -# -# Set edr (eps^1/3) thresholds for null,light,moderate,severe,extreme, resp. - RemapThresholds = (0.0, 0.15,0.22,0.34,1.00); # Based on DAL737,UAL757 PIREP-edr comparisons - DAL Triggered -# -# Index linear remaps for null,light,moderate,severe,extreme, resp. for each index - regionLinearRemap = ( -# Specify CAT thresholds: low-levels, stable ABL -(1, 1, 400, 0., 9.5E-5, 1.5E-4, 3.5E-4, 1.0E-3), # Brown1 -(1, 1, 401, 0., 0.040, 0.065, 0.150, 2.0), # Brown2 -(1, 1, 402, 0., 10., 40., 200.0, 1.0E3), # CP -(1, 1, 403, 0., 1.0E-6, 2.5E-6, 8.0E-6, 1.0E-4), # Ellrod1 -(1, 1, 404, 0., 1.0E-6, 2.5E-6, 6.0E-6, 1.0E-4), # Ellrod2 -(1, 1, 405, 0., 0.50, 5.00, 20.0, 60.0), # 1/Ri -(1, 1, 406, 0., 6.0E-7, 2.0E-6, 6.0E-6, 2.0E-4), # Ellrod3 -(1, 1, 407, 0., 0.008, 0.010, 0.020, 0.080), # Lapse -(1, 1, 408, 0., 0.080, 0.150, 0.500, 0.600), # MSEDR -(1, 1, 409, 0., 0.02, 0.05, 0.2, 1.0), # DTF3 -(1, 1, 410, 0., 7.0E-4, 0.02, 5.0, 10.0), # Fth/Ri -(1, 1, 411, 0., 0., 0., 0., 0.), # PBLEDR (Not used with FV3) -(1, 1, 412, 0., 30.0, 65.0, 200.0, 5000.), # Dutton -(1, 1, 413, 0., 0.30, 0.70, 2.0, 10.00), # Endlich -(1, 1, 414, 0., 1000.0, 5000.0, 5.0E5, 1.0E7), # LAZ -(1, 1, 415, 0., 1.0E-3, 2.5E-3, 6.0E-3, 5.0E-2), # NGM1 -(1, 1, 416, 0., 5.0E-7, 1.0E-6, 3.0E-6, 1.0E-5), # -NGM2 -(1, 1, 417, 0., 4.0E-3, 1.0E-2, 5.0E-2, 1.0E-1), # SCHGW -(1, 1, 418, 0., 1.0E-2, 2.0E-2, 0.025, 0.10), # VWS -(1, 1, 419, 0., 0., 0., 0., 0.), # UNDEF -(1, 1, 420, 0., 3.0E-5, 8.0E-5, 5.0E-4, 1.0E-3), # HS/Ri -(1, 1, 421, 0., 0., 0., 0., 0.), # UNDEF -(1, 1, 422, 0., 8.0E-9, 2.0E-8, 1.0E-7, 1.0E-5), # DEFSQ -(1, 1, 423, 0., 2.0E-9, 2.0E-8, 2.0E-7, 1.0E-6), # VORTSQ/Ri -(1, 1, 424, 0., 2.0E-5, 1.0E-4, 6.0E-4, 1.0E-2), # |DIV|/Ri -(1, 1, 425, 0., 3.0E-9, 3.0E-8, 6.0E-7, 1.0E-5), # DEFSQ/Ri -(1, 1, 426, 0., 7.0, 20.0, 45.0, 100.), # iawind -(1, 1, 427, 0., 5.0E-10, 5.0E-9, 1.0E-8, 1.0E-7), # AGI -(1, 1, 428, 0., 5.0, 30.0, 200.0, 1.0E3), # UBF/Ri -(1, 1, 429, 0., 1.0, 8.0, 80.0, 100.0), # 1/SATRi -(1, 1, 430, 0., 1.0E-2, 5.0E-2, 0.75, 1.0), # PVGRAD (PVUs) -(1, 1, 431, 0., 0.040, 0.050, 0.10, 0.25), # EDRRCH -(1, 1, 432, 0., 0.030, 0.05, 0.100, 0.50), # EDR -(1, 1, 433, 0., 0.030, 0.05, 0.100, 0.50), # EDRLL -(1, 1, 434, 0., 1.5E-2, 7.0E-2, 1.0, 10.0), # SEDR/Ri -(1, 1, 435, 0., 0.50, 2.0, 40.0, 100.00), # 1/RiTW -(1, 1, 436, 0., 7.0E-6, 1.0E-5, 2.0E-5, 1.0E-3), # LHFK -(1, 1, 437, 0., 6.0E-6, 5.0E-5, 6.0E-4, 1.0E-2), # LHFK/Ri -(1, 1, 438, 0., 2.0E-5, 9.0E-5, 5.0E-4, 1.0E-2), # TEMPG/Ri -(1, 1, 439, 0., 2.0E-4, 2.0E-3, 1.5E-2, 0.5), # CTSQ/Ri -(1, 1, 440, 0., 8.0E-5, 5.0E-4, 2.0E-3, 1.0E-2), # Brown1/Ri -(1, 1, 441, 0., 3.0, 15.0, 150.0, 200.), # iawind/Ri -(1, 1, 442, 0., 5.0E-4, 3.0E-3, 5.0E-2, 1.0E-1), # NGM1/Ri -(1, 1, 443, 0., 2.0E-7, 2.0E-6, 2.5E-5, 5.0E-5), # -NGM2/Ri -(1, 1, 444, 0., 2.0E-3, 1.0E-2, 0.10, 1.0), # SCHGW/Ri -(1, 1, 445, 0., 4.0E-4, 6.0E-4, 1.0E-3, 2.4E-3), # TROPG/Z -(1, 1, 446, 0., 15., 23., 33., 40.), # SPEED -(1, 1, 447, 0., 1.0E-9, 1.0E-8, 2.0E-7, 1.0E-6), # -Stone -(1, 1, 448, 0., 7.0E-9, 3.0E-8, 5.0E-7, 1.0E-6), # -NVA -(1, 1, 449, 0., 1.0E-14, 1.0E-12, 1.0E-11, 1.0E-9), # NCSU1 -(1, 1, 450, 0., 1.0E-9, 1.0E-8, 2.0E-6, 1.0E-5), # NCSU2/Ri -(1, 1, 451, 0., 0.012, 0.025, 0.06, 0.25), # EDRLUN -(1, 1, 452, 0., 8.0E-3, 3.0E-2, 0.20, 1.00), # wsq -(1, 1, 453, 0., 4.0E-3, 4.0E-2, 0.50, 1.0), # wsq/Ri -(1, 1, 454, 0., 0.0008, 0.0040, 0.05, 1.0), # EDR/Ri -(1, 1, 455, 0., 0.0008, 0.0040, 0.05, 1.0), # EDRLL/Ri -(1, 1, 456, 0., 1.0E-3, 0.01, 0.25, 1.00), # SIGW -(1, 1, 457, 0., 1.0E-3, 0.01, 0.25, 1.00), # SIGW/Ri -(1, 1, 458, 0., 5.0E-10, 5.0E-9, 1.0E-7, 1.0E-6), # F2D/Ri -(1, 1, 459, 0., 1.0E-9, 5.0E-9, 1.0E-7, 1.0E-6), # F2DTW/Ri -(1, 1, 460, 0., 5.0E-10, 5.0E-9, 1.0E-7, 1.0E-6), # F3D/Ri -(1, 1, 461, 0., 0., 0., 0., 0.), # EDRM (ARPEGE ONLY) -(1, 1, 462, 0., 0.25, 0.48, 0.55, 0.99), # MOGCLIMO -(1, 1, 463, 0., 0.020, 0.055, 0.07, 0.20), # SOGCLIMO -(1, 1, 464, 0., 1.0E-3, 0.015, 0.100, 0.50), # MWTCLIMO -(1, 1, 465, 0., 0.60, 1.50, 3.00, 5.0), # SGSTKE -(1, 1, 466, 0., 0.60, 2.50, 10.00, 5.0), # SGSTKE/Ri -(1, 1, 467, 0., 0.40, 1.80, 10.00, 15.0), # RTKE -(1, 1, 468, 0., 0.50, 5.00, 50.00, 500.0), # RTKE/Ri -(1, 1, 469, 0., 15.0, 35.0, 95.0, 150.0), # VARE -(1, 1, 470, 0., 5.0, 40.0, 300.0, 600.0), # VARE/Ri -# Specify MWT thresholds - incorporate TK updates 8 Feb 2013 -(1, 1, 471, 0., 0.6E3, 2.5E3, 1.0E4, 5.0E5), # MWT1 -(1, 1, 472, 0., 10.0, 40.0, 400.0, 5.0E3), # MWT2 -(1, 1, 473, 0., 1.0E-5, 4.5E-5, 4.75E-4, 1.0E-2), # MWT3 -(1, 1, 474, 0., 2.5E5, 5.0E5, 2.00E6, 1.0E7), # MWT4 -(1, 1, 475, 0., 0.5, 2.0, 7.0, 50.0), # MWT5 -(1, 1, 476, 0., 7.0E-4, 3.0E-3, 0.02, 0.1), # MWT13 -(1, 1, 477, 0., 60., 250., 1300., 1.0E5), # MWT14 -(1, 1, 478, 0., 2.0E-3, 0.01, 0.1, 1.0), # TKE_GWB -(1, 1, 479, 0., 20.0, 80.0, 300.0, 1000.), # MWT6 -(1, 1, 480, 0., 2.0E2, 1.0E3, 1.5E4, 1.0E5), # MWT7 -(1, 1, 481, 0., 0.30, 0.70, 2.0, 5.0), # MWT8 -(1, 1, 482, 0., 8.0E4, 5.0E5, 2.0E6, 1.0E7), # MWT9 -(1, 1, 483, 0., 50., 200., 900., 1.0E5), # MWT10 -(1, 1, 484, 0., 90.0, 300.0, 0.95E3, 1.0E4), # MWT11 -(1, 1, 485, 0., 0.30, 0.85, 4.0, 10.0), # MWT12 -# Specify CIT thresholds: low-levels -(1, 1, 486, 0., 1., 2., 3., 4.), # CNDHEAT -(1, 1, 487, 0., 1., 2., 3., 4.), # CLDTKE -(1, 1, 488, 0., 0., 0., 0., 0.), # UNDEF -(1, 1, 489, 0., 0., 0., 0., 0.), # UNDEF -(1, 1, 490, 0., 0., 0., 0., 0.), # UNDEF -(1, 1, 491, 0., 0., 0., 0., 0.), # UNDEF -(1, 1, 492, 0., 0., 0., 0., 0.), # UNDEF -(1, 1, 493, 0., 0., 0., 0., 0.), # UNDEF -(1, 1, 494, 0., 0., 0., 0., 0.), # UNDEF -(1, 1, 495, 0., 0., 0., 0., 0.), # UNDEF -# Specify GTG thresholds: low-levels -(1, 1, 496, 0., 0., 0., 0., 0.), # GTGDEF -(1, 1, 497, 0., 0., 0., 0., 0.), # GTGMWT -(1, 1, 498, 0., 0., 0., 0., 0.), # GTGCIT -(1, 1, 499, 0., 0., 0., 0., 0.), # GTGMAX2 -(1, 1, 500, 0., 0., 0., 0., 0.), # GTGMAX3 -# Specify CAT/LLT thresholds: low-levels, unstable ABL -(1, 2, 400, 0., 9.5E-5, 1.5E-4, 3.5E-4, 1.0E-3), # Brown1 -(1, 2, 401, 0., 0.040, 0.065, 0.150, 2.0), # Brown2 -(1, 2, 402, 0., 10., 40., 200.0, 1.0E3), # CP -(1, 2, 403, 0., 1.0E-6, 2.5E-6, 8.0E-6, 1.0E-4), # Ellrod1 -(1, 2, 404, 0., 1.0E-6, 2.5E-6, 6.0E-6, 1.0E-4), # Ellrod2 -(1, 2, 405, 0., 0.50, 5.00, 20.0, 60.0), # 1/Ri -(1, 2, 406, 0., 6.0E-7, 2.0E-6, 6.0E-6, 2.0E-4), # Ellrod3 -(1, 2, 407, 0., 0.008, 0.010, 0.020, 0.080), # Lapse -(1, 2, 408, 0., 0.080, 0.150, 0.500, 0.600), # MSEDR -(1, 2, 409, 0., 0.02, 0.05, 0.2, 1.0), # DTF3 -(1, 2, 410, 0., 7.0E-4, 0.02, 5.0, 10.0), # Fth/Ri -(1, 2, 411, 0., 0., 0., 0., 0.), # PBLEDR (Not used with FV3) -(1, 2, 412, 0., 30.0, 65.0, 200.0, 5000.), # Dutton -(1, 2, 413, 0., 0.30, 0.70, 2.0, 10.00), # Endlich -(1, 2, 414, 0., 1000.0, 5000.0, 5.0E5, 1.0E7), # LAZ -(1, 2, 415, 0., 1.0E-3, 2.5E-3, 6.0E-3, 5.0E-2), # NGM1 -(1, 2, 416, 0., 5.0E-7, 1.0E-6, 3.0E-6, 1.0E-5), # -NGM2 -(1, 2, 417, 0., 4.0E-3, 1.0E-2, 5.0E-2, 1.0E-1), # SCHGW -(1, 2, 418, 0., 1.0E-2, 2.0E-2, 0.025, 0.10), # VWS -(1, 2, 419, 0., 0., 0., 0., 0.), # UNDEF -(1, 2, 420, 0., 3.0E-5, 8.0E-5, 5.0E-4, 1.0E-3), # HS/Ri -(1, 2, 421, 0., 0., 0., 0., 0.), # UNDEF -(1, 2, 422, 0., 8.0E-9, 2.0E-8, 1.0E-7, 1.0E-5), # DEFSQ -(1, 2, 423, 0., 2.0E-9, 2.0E-8, 2.0E-7, 1.0E-6), # VORTSQ/Ri -(1, 2, 424, 0., 2.0E-5, 1.0E-4, 6.0E-4, 1.0E-2), # |DIV|/Ri -(1, 2, 425, 0., 3.0E-9, 3.0E-8, 6.0E-7, 1.0E-5), # DEFSQ/Ri -(1, 2, 426, 0., 7.0, 20.0, 45.0, 100.), # iawind -(1, 2, 427, 0., 5.0E-10, 5.0E-9, 1.0E-8, 1.0E-7), # AGI -(1, 2, 428, 0., 5.0, 30.0, 200.0, 1.0E3), # UBF/Ri -(1, 2, 429, 0., 1.0, 8.0, 80.0, 100.0), # 1/SATRi -(1, 2, 430, 0., 1.0E-2, 5.0E-2, 0.75, 1.0), # PVGRAD (PVUs) -(1, 2, 431, 0., 0.040, 0.050, 0.10, 0.25), # EDRRCH -(1, 2, 432, 0., 0.030, 0.05, 0.100, 0.50), # EDR -(1, 2, 433, 0., 0.030, 0.05, 0.100, 0.50), # EDRLL -(1, 2, 434, 0., 1.5E-2, 7.0E-2, 1.0, 10.0), # SEDR/Ri -(1, 2, 435, 0., 0.50, 2.0, 40.0, 100.00), # 1/RiTW -(1, 2, 436, 0., 7.0E-6, 1.0E-5, 2.0E-5, 1.0E-3), # LHFK -(1, 2, 437, 0., 6.0E-6, 5.0E-5, 6.0E-4, 1.0E-2), # LHFK/Ri -(1, 2, 438, 0., 2.0E-5, 9.0E-5, 5.0E-4, 1.0E-2), # TEMPG/Ri -(1, 2, 439, 0., 2.0E-4, 2.0E-3, 1.5E-2, 0.5), # CTSQ/Ri -(1, 2, 440, 0., 8.0E-5, 5.0E-4, 2.0E-3, 1.0E-2), # Brown1/Ri -(1, 2, 441, 0., 3.0, 15.0, 150.0, 200.), # iawind/Ri -(1, 2, 442, 0., 5.0E-4, 3.0E-3, 5.0E-2, 1.0E-1), # NGM1/Ri -(1, 2, 443, 0., 2.0E-7, 2.0E-6, 2.5E-5, 5.0E-5), # -NGM2/Ri -(1, 2, 444, 0., 2.0E-3, 1.0E-2, 0.10, 1.0), # SCHGW/Ri -(1, 2, 445, 0., 4.0E-4, 6.0E-4, 1.0E-3, 2.4E-3), # TROPG/Z -(1, 2, 446, 0., 15., 23., 33., 40.), # SPEED -(1, 2, 447, 0., 1.0E-9, 1.0E-8, 2.0E-7, 1.0E-6), # -Stone -(1, 2, 448, 0., 7.0E-9, 3.0E-8, 5.0E-7, 1.0E-6), # -NVA -(1, 2, 449, 0., 1.0E-14, 1.0E-12, 1.0E-11, 1.0E-9), # NCSU1 -(1, 2, 450, 0., 1.0E-9, 1.0E-8, 2.0E-6, 1.0E-5), # NCSU2/Ri -(1, 2, 451, 0., 0.012, 0.025, 0.06, 0.25), # EDRLUN -(1, 2, 452, 0., 8.0E-3, 3.0E-2, 0.20, 1.00), # wsq -(1, 2, 453, 0., 4.0E-3, 4.0E-2, 0.50, 1.0), # wsq/Ri -(1, 2, 454, 0., 0.0008, 0.0040, 0.05, 1.0), # EDR/Ri -(1, 2, 455, 0., 0.0008, 0.0040, 0.05, 1.0), # EDRLL/Ri -(1, 2, 456, 0., 1.0E-3, 0.01, 0.25, 1.00), # SIGW -(1, 2, 457, 0., 1.0E-3, 0.01, 0.25, 1.00), # SIGW/Ri -(1, 2, 458, 0., 5.0E-10, 5.0E-9, 1.0E-7, 1.0E-6), # F2D/Ri -(1, 2, 459, 0., 1.0E-9, 5.0E-9, 1.0E-7, 1.0E-6), # F2DTW/Ri -(1, 2, 460, 0., 5.0E-10, 5.0E-9, 1.0E-7, 1.0E-6), # F3D/Ri -(1, 2, 461, 0., 0., 0., 0., 0.), # EDRM (ARPEGE ONLY) -(1, 2, 462, 0., 0.25, 0.48, 0.55, 0.99), # MOGCLIMO -(1, 2, 463, 0., 0.020, 0.055, 0.07, 0.20), # SOGCLIMO -(1, 2, 464, 0., 1.0E-3, 0.015, 0.100, 0.50), # MWTCLIMO -(1, 2, 465, 0., 0.60, 1.50, 3.00, 5.0), # SGSTKE -(1, 2, 466, 0., 0.60, 2.50, 10.00, 5.0), # SGSTKE/Ri -(1, 2, 467, 0., 0.40, 1.80, 10.00, 15.0), # RTKE -(1, 2, 468, 0., 0.50, 5.00, 50.00, 500.0), # RTKE/Ri -(1, 2, 469, 0., 15.0, 35.0, 95.0, 150.0), # VARE -(1, 2, 470, 0., 5.0, 40.0, 300.0, 600.0), # VARE/Ri -# Specify MWT thresholds - incorporate TK updates 8 Feb 2013 -(1, 2, 471, 0., 0.6E3, 2.5E3, 1.0E4, 5.0E5), # MWT1 -(1, 2, 472, 0., 10.0, 40.0, 400.0, 5.0E3), # MWT2 -(1, 2, 473, 0., 1.0E-5, 4.5E-5, 4.75E-4, 1.0E-2), # MWT3 -(1, 2, 474, 0., 2.5E5, 5.0E5, 2.00E6, 1.0E7), # MWT4 -(1, 2, 475, 0., 0.5, 2.0, 7.0, 50.0), # MWT5 -(1, 2, 476, 0., 7.0E-4, 3.0E-3, 0.02, 0.1), # MWT13 -(1, 2, 477, 0., 60., 250., 1300., 1.0E5), # MWT14 -(1, 2, 478, 0., 2.0E-3, 0.01, 0.1, 1.0), # TKE_GWB -(1, 2, 479, 0., 20.0, 80.0, 300.0, 1000.), # MWT6 -(1, 2, 480, 0., 2.0E2, 1.0E3, 1.5E4, 1.0E5), # MWT7 -(1, 2, 481, 0., 0.30, 0.70, 2.0, 5.0), # MWT8 -(1, 2, 482, 0., 8.0E4, 5.0E5, 2.0E6, 1.0E7), # MWT9 -(1, 2, 483, 0., 50., 200., 900., 1.0E5), # MWT10 -(1, 2, 484, 0., 90.0, 300.0, 0.95E3, 1.0E4), # MWT11 -(1, 2, 485, 0., 0.30, 0.85, 4.0, 10.0), # MWT12 -# Specify CIT thresholds: low-levels, unstable -(1, 2, 486, 0., 1., 2., 3., 4.), # CNDHEAT -(1, 2, 487, 0., 1., 2., 3., 4.), # CLDTKE -(1, 2, 488, 0., 0., 0., 0., 0.), # UNDEF -(1, 2, 489, 0., 0., 0., 0., 0.), # UNDEF -(1, 2, 490, 0., 0., 0., 0., 0.), # UNDEF -(1, 2, 491, 0., 0., 0., 0., 0.), # UNDEF -(1, 2, 492, 0., 0., 0., 0., 0.), # UNDEF -(1, 2, 493, 0., 0., 0., 0., 0.), # UNDEF -(1, 2, 494, 0., 0., 0., 0., 0.), # UNDEF -(1, 2, 495, 0., 0., 0., 0., 0.), # UNDEF -# Specify GTG thresholds: low-levels, unstable -(1, 2, 496, 0., 0., 0., 0., 0.), # GTGDEF -(1, 2, 497, 0., 0., 0., 0., 0.), # GTGMWT -(1, 2, 498, 0., 0., 0., 0., 0.), # GTGCIT -(1, 2, 499, 0., 0., 0., 0., 0.), # GTGMAX2 -(1, 2, 500, 0., 0., 0., 0., 0.), # GTGMAX3 -# Specify CAT thresholds: mid-levels, stable -(2, 1, 400, 0., 1.0E-4, 1.6E-4, 3.5E-4, 1.0E-3), # Brown1 -(2, 1, 401, 0., 0.030, 0.045, 0.100, 1.0), # Brown2 -(2, 1, 402, 0., 15., 60., 300.0, 1.0E3), # CP -(2, 1, 403, 0., 4.5E-7, 1.0E-6, 3.5E-6, 1.0E-4), # Ellrod1 -(2, 1, 404, 0., 4.5E-7, 1.0E-6, 3.5E-6, 1.0E-4), # Ellrod2 -(2, 1, 405, 0., 0.25, 0.50, 1.50, 50.00), # 1/Ri -(2, 1, 406, 0., 4.5E-7, 1.5E-6, 4.0E-6, 1.0E-5), # Ellrod3 -(2, 1, 407, 0., 8.0E-3, 9.0E-3, 1.0E-2, 0.10), # Lapse -(2, 1, 408, 0., 0., 0., 0., 0.), # MSEDR (not used at mid) -(2, 1, 409, 0., 0.20, 0.30, 0.50, 1.0), # DTF3 -(2, 1, 410, 0., 9.0E-5, 6.0E-4, 4.0E-2, 1.0), # Fth/Ri -(2, 1, 411, 0., 0., 1., 2., 3.), # PBLEDR -(2, 1, 412, 0., 20.0, 40.0, 100.0, 300.), # Dutton -(2, 1, 413, 0., 0.40, 0.75, 1.5, 5.0), # Endlich -(2, 1, 414, 0., 1.0E3, 5.0E3, 5.0E4, 1.0E5), # LAZ -(2, 1, 415, 0., 1.5E-3, 3.0E-3, 1.0E-2, 1.0E-1), # NGM1 -(2, 1, 416, 0., 5.0E-7, 9.0E-7, 2.0E-6, 1.0E-5), # -NGM2 -(2, 1, 417, 0., 3.0E-3, 5.0E-3, 1.0E-2, 0.1), # SCHGW -(2, 1, 418, 0., 0.006, 0.010, 0.020, 0.030), # VWS -(2, 1, 419, 0., 0., 0., 0., 0.), # UNDEF -(2, 1, 420, 0., 1.0E-5, 4.0E-5, 1.0E-4, 8.0E-4), # HS/Ri -(2, 1, 421, 0., 0., 0., 0., 0.), # UNDEF -(2, 1, 422, 0., 8.0E-9, 3.0E-8, 1.0E-7, 1.0E-6), # DEFSQ -(2, 1, 423, 0., 5.0E-10, 5.0E-9, 5.0E-8, 1.0E-6), # VORTSQ/Ri -(2, 1, 424, 0., 6.0E-6, 2.5E-5, 2.0E-4, 1.0E-3), # |DIV|/Ri -(2, 1, 425, 0., 1.3E-9, 1.0E-8, 2.0E-7, 2.0E-6), # DEFSQ/Ri -(2, 1, 426, 0., 10.0, 25.0, 70.0, 200.), # iawind -(2, 1, 427, 0., 1.0E-13, 1.0E-9, 1.0E-8, 1.0E-7), # AGI -(2, 1, 428, 0., 1.0, 5.0, 30.0, 50.0), # UBF/Ri -(2, 1, 429, 0., 0.50, 1.50, 5.00, 10.00), # 1/SATRi -(2, 1, 430, 0., 1.0E-2, 4.0E-2, 0.20, 1.0), # PVGRAD (PVUs) -(2, 1, 431, 0., 0.020, 0.030, 0.10, 0.20), # EDRRCH -(2, 1, 432, 0., 0.050, 0.080, 0.1 , 0.2), # EDR -(2, 1, 433, 0., 0.050, 0.080, 0.1 , 0.2), # EDRLL -(2, 1, 434, 0., 5.0E-4, 5.0E-3, 0.050, 0.50), # SEDR/Ri -(2, 1, 435, 0., 0.60, 1.50, 25.0, 90.0), # 1/RiTW -(2, 1, 436, 0., 7.0E-6, 1.5E-5, 4.0E-5, 1.0E-4), # LHFK -(2, 1, 437, 0., 1.5E-6, 7.0E-6, 3.0E-5, 1.0E-4), # LHFK/Ri -(2, 1, 438, 0., 3.0E-6, 1.0E-5, 8.0E-5, 1.0E-3), # TEMPG/Ri -(2, 1, 439, 0., 6.0E-5, 2.0E-4, 8.0E-3, 0.1), # CTSQ/Ri -(2, 1, 440, 0., 2.0E-5, 7.0E-5, 4.0E-4, 1.0E-2), # Brown1/Ri -(2, 1, 441, 0., 2.0, 8.0, 60.0, 500.), # iawind/Ri -(2, 1, 442, 0., 3.0E-4, 1.5E-3, 1.0E-2, 0.10), # NGM1/Ri -(2, 1, 443, 0., 1.0E-7, 4.0E-7, 2.5E-6, 5.0E-5), # NGM2/Ri -(2, 1, 444, 0., 5.0E-4, 2.0E-3, 1.0E-2, 0.10), # SCHGW/Ri -(2, 1, 445, 0., 1.0E-8, 1.0E-6, 1.0E-5, 1.0E-4), # TROPG/Z -(2, 1, 446, 0., 25., 40., 70., 60.), # SPEED -(2, 1, 447, 0., 4.0E-11, 2.0E-9, 5.0E-8, 1.0E-6), # -Stone -(2, 1, 448, 0., 8.0E-9, 3.0E-8, 2.0E-7, 1.0E-6), # -NVA -(2, 1, 449, 0., 1.0E-13, 5.0E-13, 1.0E-11, 1.0E-10), # NCSU1 -(2, 1, 450, 0., 5.0E-12, 5.0E-11, 2.0E-9, 1.0E-7), # NCSU2/Ri -(2, 1, 451, 0., 0.013, 0.022, 0.04, 0.20), # EDRLUN -(2, 1, 452, 0., 0.005, 0.050, 0.50, 1.00), # wsq -(2, 1, 453, 0., 0.002, 0.020, 0.10, 0.20), # wsq/Ri -(2, 1, 454, 0., 2.0E-4, 1.0E-3, 1.0E-2, 0.1), # EDR/Ri -(2, 1, 455, 0., 2.0E-4, 1.0E-3, 1.0E-2, 0.1), # EDRLL/Ri -(2, 1, 456, 0., 0.01 , 0.1, 0.60, 1.0), # SIGW -(2, 1, 457, 0., 2.0E-3, 2.5E-2, 0.50, 2.0), # SIGW/Ri -(2, 1, 458, 0., 3.0E-10, 2.0E-9, 1.0E-8, 1.0E-7), # F2D/Ri -(2, 1, 459, 0., 2.0E-10, 1.0E-9, 8.0E-9, 1.0E-7), # F2DTW/Ri -(2, 1, 460, 0., 3.0E-10, 1.0E-9, 8.0E-9, 1.0E-7), # F3D/Ri -(2, 1, 461, 0., 0., 0., 0., 0.), # EDRM (ARPEGE ONLY) -(2, 1, 462, 0., 0.17, 0.450, 0.55, 0.99), # MOGCLIMO -(2, 1, 463, 0., 0.010, 0.045, 0.065, 0.20), # SOGCLIMO -(2, 1, 464, 0., 1.0E-3, 0.025, 0.100, 0.50), # MWTCLIMO -(2, 1, 465, 0., 0.15, 0.17, 1.0, 5.), # SGSTKE -(2, 1, 466, 0., 0.15, 0.17, 1.0, 5.), # SGSTKE/Ri -(2, 1, 467, 0., 0.20, 0.5, 5.00, 10.0), # RTKE -(2, 1, 468, 0., 0.01, 0.10, 1.00, 10.0), # RTKE/Ri -(2, 1, 469, 0., 20.0, 40.0, 200.0, 500.0), # VARE -(2, 1, 470, 0., 5.0, 20.0, 100.0, 500.0), # VARE/Ri -# Specify MWT thresholds: mid-levels -(2, 1, 471, 0., 0.1, 2.0, 20.0, 50.0), # MWT1 -(2, 1, 472, 0., 0.1, 0.5, 5.0, 10.0), # MWT2 -(2, 1, 473, 0., 2.0E-7, 1.0E-6, 1.0E-5, 1.0E-4), # MWT3 -(2, 1, 474, 0., 2.0E3, 5.0E3, 15.0E3, 1.0E5), # MWT4 -(2, 1, 475, 0., 0.02, 0.07, 0.2, 1.0), # MWT5 -(2, 1, 476, 0., 1.0E-5, 5.0E-5, 2.0E-4, 1.0E-3), # MWT13 -(2, 1, 477, 0., 0.5, 2.0, 20.0, 100.0), # MWT14 -(2, 1, 478, 0., 1.0E-4, 5.0E-3, 0.05, 0.5), # TKE_GWB -(2, 1, 479, 0., 0.25, 1.0, 10.0, 100.0), # MWT6 -(2, 1, 480, 0., 5.0, 50.0, 500.0, 1.0E3), # MWT7 -(2, 1, 481, 0., 2.0E-4, 2.0E-3, 2.0E-2, 0.1), # MWT8 -(2, 1, 482, 0., 2.0E3, 1.0E4, 1.0E5, 1.0E6), # MWT9 -(2, 1, 483, 0., 0.5, 1.5, 15.0, 100.0), # MWT10 -(2, 1, 484, 0., 0.5, 2.5, 2.5E3, 5.0E3), # MWT11 -(2, 1, 485, 0., 5.0E-3, 0.01, 0.05, 0.1), # MWT12 -# Specify CIT thresholds: mid-levels -(2, 1, 486, 0., 1.0E-4, 2.0E-3, 5.0E-3, 1.0E-2), # CNDHEAT -(2, 1, 487, 0., 0., 0., 0., 0.), # CLDTKE (not used with FV3) -(2, 1, 488, 0., 0., 0., 0., 0.), # UNDEF -(2, 1, 489, 0., 0., 0., 0., 0.), # UNDEF -(2, 1, 490, 0., 0., 0., 0., 0.), # UNDEF -(2, 1, 491, 0., 0., 0., 0., 0.), # UNDEF -(2, 1, 492, 0., 0., 0., 0., 0.), # UNDEF -(2, 1, 493, 0., 0., 0., 0., 0.), # UNDEF -(2, 1, 494, 0., 0., 0., 0., 0.), # UNDEF -(2, 1, 495, 0., 0., 0., 0., 0.), # UNDEF -# Specify GTG thresholds: mid-levels -(2, 1, 496, 0., 0., 0., 0., 0.), # GTGDEF -(2, 1, 497, 0., 0., 0., 0., 0.), # GTGMWT -(2, 1, 498, 0., 0., 0., 0., 0.), # GTGCIT -(2, 1, 499, 0., 0., 0., 0., 0.), # GTGMAX2 -(2, 1, 500, 0., 0., 0., 0., 0.), # GTGMAX3 -# Specify CAT thresholds: upper-levels, stable -(3, 1, 400, 0., 1.1E-4, 1.6E-4, 2.6E-4, 1.0E-2), # Brown1 -(3, 1, 401, 0., 0.035, 0.060, 0.100, 0.6), # Brown2 -(3, 1, 402, 0., 15., 75., 350., 1.0E3), # CP -(3, 1, 403, 0., 5.0E-7, 1.5E-6, 4.0E-6, 1.0E-5), # Ellrod1 -(3, 1, 404, 0., 5.0E-7, 1.2E-6, 5.0E-6, 1.0E-5), # Ellrod2 -(3, 1, 405, 0., 0.20, 0.60, 1.5, 5.0), # 1/Ri -(3, 1, 406, 0., 5.5E-7, 1.3E-6, 4.0E-6, 1.0E-5), # Ellrod3 -(3, 1, 407, 0., 5.0E-3, 1.0E-2, 2.0E-2, 1.00), # Lapse -(3, 1, 408, 0., 0.10, 0.3, 0.51, 1.0), # MSEDR -(3, 1, 409, 0., 0.1, 0.17, 0.22, 1.0), # DTF3 -(3, 1, 410, 0., 1.0E-5, 1.0E-4, 1.0E-3, 0.01), # Fth/Ri -(3, 1, 411, 0., 0., 0., 0., 0.), # PBLEDR (Not used with FV3) -(3, 1, 412, 0., 30.0, 70.0, 200.0, 300.), # Dutton -(3, 1, 413, 0., 0.30, 0.7, 1.60, 2.00), # Endlich -(3, 1, 414, 0., 2.0E2, 2.0E3, 6.0E4, 1.0E6), # LAZ -(3, 1, 415, 0., 3.0E-3, 6.0E-3, 1.5E-2, 0.10), # NGM1 -(3, 1, 416, 0., 4.0E-7, 7.0E-7, 2.0E-6, 1.0E-5), # -NGM2 -(3, 1, 417, 0., 2.0E-3, 5.0E-3, 0.020, 0.1), # SCHGW -(3, 1, 418, 0., 0.006, 0.012, 0.025, 0.040), # VWS -(3, 1, 419, 0., 0., 0., 0., 0.), # UNDEF -(3, 1, 420, 0., 1.0E-5, 5.0E-5, 2.0E-4, 1.0E-3), # HS/Ri -(3, 1, 421, 0., 0., 0., 0., 0.), # UNDEF -(3, 1, 422, 0., 7.0E-9, 2.5E-8, 1.0E-7, 1.0E-6), # DEFSQ -(3, 1, 423, 0., 6.0E-10, 4.0E-9, 3.0E-8, 1.0E-6), # VORTSQ/Ri -(3, 1, 424, 0., 6.0E-6, 3.0E-5, 1.0E-4, 5.0E-4), # |DIV|/Ri -(3, 1, 425, 0., 1.4E-9, 7.0E-9, 6.0E-8, 5.0E-7), # DEFSQ/Ri -(3, 1, 426, 0., 10.0, 20.0, 50.0, 100.), # iawind -(3, 1, 427, 0., 2.0E-12, 4.0E-10, 1.0E-8, 2.0E-8), # AGI -(3, 1, 428, 0., 0.5, 1.5, 6.0, 25.0), # UBF/Ri -(3, 1, 429, 0., 0.30, 1.00, 2.00, 10.00), # 1/SATRi -(3, 1, 430, 0., 3.0E-2, 5.0E-2, 0.10, 0.50), # PVGRAD -(3, 1, 431, 0., 0.025, 0.040, 0.07, 0.20), # EDRRCH -(3, 1, 432, 0., 0.05, 0.1, .18, 0.50), # EDR -(3, 1, 433, 0., 0.05, 0.1, .18, 0.50), # EDRLL -(3, 1, 434, 0., 6.0E-4, 7.0E-3, 0.10, 0.40), # SEDR/Ri -(3, 1, 435, 0., 0.25, 1.0, 5.0, 25.0), # 1/RiTW -(3, 1, 436, 0., 8.0E-6, 1.0E-5, 1.0E-4, 1.0E-3), # LHFK -(3, 1, 437, 0., 1.0E-6, 3.0E-6, 1.0E-5, 1.0E-4), # LHFK/Ri -(3, 1, 438, 0., 2.0E-6, 8.0E-6, 3.0E-5, 1.0E-4), # TEMPG/Ri -(3, 1, 439, 0., 5.0E-5, 3.3E-4, 0.025, 0.5), # CTSQ/Ri -(3, 1, 440, 0., 2.0E-5, 6.0E-5, 2.5E-4, 1.0E-3), # Brown1/Ri -(3, 1, 441, 0., 2.5, 12.0, 45.0, 200.), # iawind/Ri -(3, 1, 442, 0., 5.0E-4, 2.0E-3, 0.010, 0.050), # NGM1/Ri -(3, 1, 443, 0., 7.0E-8, 4.0E-7, 1.0E-6, 1.0E-4), # NGM2/Ri -(3, 1, 444, 0., 5.0E-4, 2.0E-3, 4.0E-2, 0.10), # SCHGW/Ri -(3, 1, 445, 0., 5.0E-7, 2.0E-6, 4.0E-6, 5.0E-5), # TROPG/Z -(3, 1, 446, 0., 32., 48., 70., 100.), # SPEED -(3, 1, 447, 0., 1.0E-10, 3.0E-9, 1.0E-8, 1.0E-7), # -Stone -(3, 1, 448, 0., 7.0E-9, 2.0E-8, 1.0E-7, 5.0E-7), # -NVA -(3, 1, 449, 0., 5.0E-14, 5.0E-13, 5.0E-11, 1.0E-9), # NCSU1 -(3, 1, 450, 0., 1.0E-12, 4.0E-11, 1.0E-9, 1.0E-6), # NCSU2/Ri -(3, 1, 451, 0., 0.015, 0.030, 0.05, 0.10), # EDRLUN -(3, 1, 452, 0., 4.0E-3, 7.0E-3, 0.050, 0.10), # wsq -(3, 1, 453, 0., 3.0E-4, 2.0E-3, 0.020, 0.10), # wsq/Ri -(3, 1, 454, 0., 2.5E-4, 1.6E-3, 0.015, 0.10), # EDR/Ri -(3, 1, 455, 0., 2.5E-4, 1.6E-3, 0.015, 0.10), # EDRLL/Ri -(3, 1, 456, 0., 0.01, 0.06, 0.45, 0.10), # SIGW -(3, 1, 457, 0., 1.0E-3, 1.0E-2, 0.10, 0.50), # SIGW/Ri -(3, 1, 458, 0., 1.0E-9, 5.0E-8, 5.0E-7, 1.0E-6), # F2D/Ri -(3, 1, 459, 0., 1.0E-9, 5.0E-8, 5.0E-7, 1.0E-6), # F2DTW/Ri -(3, 1, 460, 0., 1.0E-9, 5.0E-8, 5.0E-7, 1.0E-6), # F3D/Ri -(3, 1, 461, 0., 0., 0., 0., 0.), # EDRM (ARPEGE ONLY) -(3, 1, 462, 0., 0., 0., 0., 0.), # MOGCLIMO -(3, 1, 463, 0., 0., 0., 0., 0.), # SOGCLIMO -(3, 1, 464, 0., 0., 0., 0., 0.), # MWTCLIMO -(3, 1, 465, 0., 0., 0., 0., 0.), # SGSTKE (not avialable with FV3) -(3, 1, 466, 0., 0., 0., 0., 0.), # SGSTKE/Ri (not avialable with FV3) -(3, 1, 467, 0., 0.12, 0.5, 2.0, 10.0), # RTKE -(3, 1, 468, 0., 0.01, 0.1, 1.0, 5.0), # RTKE/Ri -(3, 1, 469, 0., 25.0, 90.0, 200.0, 500.0), # VARE -(3, 1, 470, 0., 2.0, 10.0, 50.0, 200.0), # VARE/Ri -# Specify MWT thresholds - incorporate TK updates 11 Feb 2013 -(3, 1, 471, 0., 0.1, 1.0, 25.0, 100.0), # MWT1 -(3, 1, 472, 0., 0.1, 0.5, 10.0, 100.0), # MWT2 -(3, 1, 473, 0., 2.0E-7, 1.0E-6, 1.0E-4, 1.0E-3), # MWT3 -(3, 1, 474, 0., 3000., 1.0E4, 3.0E4, 1.0E5), # MWT4 -(3, 1, 475, 0., 0.01, 0.05, 0.2, 1.0), # MWT5 -(3, 1, 476, 0., 1.0E-6, 1.0E-5, 1.0E-4, 1.0E-3), # MWT13 -(3, 1, 477, 0., 0.5, 2.0, 20.0, 100.0), # MWT14 -(3, 1, 478, 0., 0., 0., 0., 0.), # TKE_GWB (don't use with FV3) -(3, 1, 479, 0., 0.2, 0.5, 2.0, 10.0), # MWT6 -(3, 1, 480, 0., 5.0, 50.0, 500.0, 1.0E4), # MWT7 -(3, 1, 481, 0., 2.0E-4, 1.0E-3, 0.01, 1.0), # MWT8 -(3, 1, 482, 0., 5.0E5, 1.0E6, 5.0E6, 1.0E7), # MWT9 -(3, 1, 483, 0., 0.5, 2.5, 20.0, 100.0), # MWT10 -(3, 1, 484, 0., 0.5, 2.0, 5.0, 20.0), # MWT11 -(3, 1, 485, 0., 5.0E-3, 0.01, 0.05, 1.0), # MWT12 -# Specify CIT thresholds: upper-levels -(3, 1, 486, 0., 5.0E-4, 1.0E-3, 5.0E-3, 0.01), # CNDHEAT -(3, 1, 487, 0., 0., 0., 0., 0.), # CLDTKE (not avialable with FV3) -(3, 1, 488, 0., 0., 0., 0., 0.), # UNDEF -(3, 1, 489, 0., 0., 0., 0., 0.), # UNDEF -(3, 1, 490, 0., 0., 0., 0., 0.), # UNDEF -(3, 1, 491, 0., 0., 0., 0., 0.), # UNDEF -(3, 1, 492, 0., 0., 0., 0., 0.), # UNDEF -(3, 1, 493, 0., 0., 0., 0., 0.), # UNDEF -(3, 1, 494, 0., 0., 0., 0., 0.), # UNDEF -(3, 1, 495, 0., 0., 0., 0., 0.), # UNDEF -# Specify GTG thresholds: upper-levels -(3, 1, 496, 0., 0., 0., 0., 0.), # GTGDEF -(3, 1, 497, 0., 0., 0., 0., 0.), # GTGMWT -(3, 1, 498, 0., 0., 0., 0., 0.), # GTGCIT -(3, 1, 499, 0., 0., 0., 0., 0.), # GTGMAX2 -(3, 1, 500, 0., 0., 0., 0., 0.) # GTGMAX3 -); -# - regionPDFfits = ( -# Specify CAT/LLT dignostic fit parameters: low-levels, stable ABL -# ObsIndex Sept&Dec 2017, April-July 2018 -# Lognormal fitting -# = -2.7017 SD[ln(epsilon^(1/3))] = 0.7641 -# data from Munoz-Esparza&Sharman JAMC 2018 -# ln(epsilon^(1/3)) = a + b ln(x) -# index a b fitparm1 fitparm2 x1 x2 SD[ln(edrclimo)] fitrmse - (1, 1, 400, 7.435 , 1.064 , -9.054 , 0.5638 , 1.0000E-05, 5.0000E-04, -2.20 , 0.600 , 1.5240E-01), # Brown1 20190905 - (1, 1, 401, 0.6718 , 0.9175 , -3.130 , 0.6539 , 5.0000E-03, 0.5000 , -2.20 , 0.600 , 3.5299E-02), # Brown2 20190905 - (1, 1, 402, -3.032 , 0.6134 , 1.357 , 0.9781 , 0.5000 , 200.0 , -2.20 , 0.600 , 6.6928E-02), # CP 20190905 - (1, 1, 403, 4.049 , 0.4381 , -14.26 , 1.370 , 1.0000E-09, 2.0000E-05, -2.20 , 0.600 , 1.2336E-02), # Ellrod1 20190905 - (1, 1, 404, 3.589 , 0.4051 , -14.29 , 1.481 , 1.0000E-09, 2.0000E-05, -2.20 , 0.600 , 8.2873E-03), # Ellrod2 20190905 - (1, 1, 405, -1.858 , 0.2777 , -1.231 , 2.160 , 1.0000E-02, 200.0 , -2.20 , 0.600 , 1.0070E-02), # 1/Ri 20190905 - (1, 1, 406, 4.116 , 0.4418 , -14.30 , 1.358 , 1.0000E-09, 1.0000E-05, -2.20 , 0.600 , 8.9000E-03), # Ellrod3 20190905 - (1, 1, 407, 6.340 , 1.452 , -5.881 , 0.4132 , 8.0000E-04, 2.0000E-02, -2.20 , 0.600 , 3.9843E-01), # Lapse 20190905 - (1, 1, 408, -0.3256 , 0.3480 , -5.387 , 1.724 , 8.0000E-05, 0.1000 , -2.20 , 0.600 , 3.8213E-02), # MSEDR 20190905 - (1, 1, 409, -0.4493 , 0.9575 , -1.828 , 0.6266 , 1.0000E-02, 0.8000 , -2.20 , 0.600 , 3.8212E-02), # DTF3 20190905 - (1, 1, 410, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # Fth/Ri 20190905 - (1, 1, 411, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (1, 1, 412, -4.363 , 0.5799 , 3.730 , 1.035 , 1.000 , 5000. , -2.20 , 0.600 , 7.4503E-02), # Dutton 20190905 - (1, 1, 413, -0.5378 , 0.6285 , -2.645 , 0.9547 , 2.0000E-03, 1.000 , -2.20 , 0.600 , 4.6121E-02), # Endlich 20190905 - (1, 1, 414, -3.099 , 0.2069 , 4.346 , 2.900 , 0.1000 , 5000. , -2.20 , 0.600 , 1.1520E-02), # LAZ 20190905 - (1, 1, 415, 1.562 , 0.5036 , -7.470 , 1.191 , 1.0000E-05, 5.0000E-02, -2.20 , 0.600 , 1.6244E-02), # NGM1 20190905 - (1, 1, 416, 5.405 , 0.4792 , -15.87 , 1.252 , 5.0000E-09, 1.0000E-05, -2.20 , 0.600 , 6.6340E-02), # -NGM2 20190905 - (1, 1, 417, 1.902 , 0.5647 , -7.264 , 1.063 , 5.0000E-05, 5.0000E-02, -2.20 , 0.600 , 2.8947E-02), # SCHGW 20190905 - (1, 1, 418, 0.8586 , 0.6282 , -4.869 , 0.9551 , 5.0000E-04, 8.0000E-02, -2.20 , 0.600 , 4.6893E-02), # VWS 20190905 - (1, 1, 419, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.20 , 0.600 , -9.9990E+03), # UNDEF 20190905 - (1, 1, 420, 0.7302 , 0.2467 , -11.88 , 2.432 , 5.0000E-08, 1.0000E-02, -2.20 , 0.600 , 1.0890E-02), # HS/Ri 20190905 - (1, 1, 421, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.20 , 0.600 , -9.9990E+03), # UNDEF 20190905 - (1, 1, 422, 4.809 , 0.3663 , -19.13 , 1.638 , 5.0000E-11, 2.0000E-07, -2.20 , 0.600 , 2.1558E-02), # DEFSQ 20190905 - (1, 1, 423, 1.881 , 0.1944 , -21.00 , 3.087 , 1.0000E-13, 2.0000E-07, -2.20 , 0.600 , 3.3285E-03), # VORTSQ/Ri 20190905 - (1, 1, 424, 0.3574 , 0.2188 , -11.69 , 2.742 , 5.0000E-09, 5.0000E-03, -2.20 , 0.600 , 7.8718E-03), # |DIV|/Ri 20190905 - (1, 1, 425, 2.180 , 0.2181 , -20.08 , 2.751 , 1.0000E-12, 8.0000E-07, -2.20 , 0.600 , 3.0166E-03), # DEFSQ/Ri 20190905 - (1, 1, 426, -2.811 , 0.4519 , 1.352 , 1.328 , 0.1000 , 200.0 , -2.20 , 0.600 , 3.2552E-02), # iawind 20190905 - (1, 1, 427, 5.054 , 0.3195 , -22.70 , 1.878 , 5.0000E-12, 1.0000E-07, -2.20 , 0.600 , 2.0474E-02), # AGI 20190905 - (1, 1, 428, -2.207 , 0.2437 , 2.8242E-02, 2.462 , 1.0000E-03, 1000. , -2.20 , 0.600 , 6.4905E-03), # UBF/Ri 20190905 - (1, 1, 429, -1.989 , 0.2987 , -0.7076 , 2.009 , 1.0000E-03, 20.00 , -2.20 , 0.600 , 7.8913E-03), # 1/SATRi 20190905 - (1, 1, 430, -0.3406 , 0.4349 , -4.276 , 1.380 , 1.0000E-04, 1.200 , -2.20 , 0.600 , 3.0687E-02), # PVGRAD 20190905 - (1, 1, 431, -1.242 , 0.3082 , -3.109 , 1.947 , 1.0000E-03, 0.1000 , -2.20 , 0.600 , 6.5636E-02), # EDRRCH 20190905 - (1, 1, 432, 0.6354 , 0.7289 , -3.890 , 0.8231 , 5.0000E-03, 0.5000 , -2.20 , 0.600 , 5.0955E-02), # EDR 20190905 - (1, 1, 433, 0.6299 , 0.7171 , -3.946 , 0.8367 , 5.0000E-03, 0.5000 , -2.20 , 0.600 , 6.5576E-02), # EDRLL 20190905 - (1, 1, 434, -1.322 , 0.1620 , -5.420 , 3.704 , 1.0000E-04, 50.00 , -2.20 , 0.600 , 8.1241E-03), # SEDR/Ri 20190905 - (1, 1, 435, -1.721 , 0.3784 , -1.266 , 1.585 , 5.0000E-03, 10.00 , -2.20 , 0.600 , 1.5024E-02), # 1/RiTW 20190905 - (1, 1, 436, 9.073 , 0.9356 , -12.05 , 0.6413 , 2.0000E-07, 5.0000E-05, -2.20 , 0.600 , 6.6355E-02), # LHFK 20190905 - (1, 1, 437, 1.423 , 0.2807 , -12.91 , 2.137 , 1.0000E-09, 1.0000E-03, -2.20 , 0.600 , 6.7231E-03), # LHFK/Ri 20190905 - (1, 1, 438, 0.9572 , 0.2598 , -12.15 , 2.310 , 5.0000E-08, 5.0000E-03, -2.20 , 0.600 , 1.0869E-02), # TEMPG/Ri 20190905 - (1, 1, 439, -0.1794 , 0.1925 , -10.49 , 3.116 , 5.0000E-07, 1.000 , -2.20 , 0.600 , 1.1251E-02), # CTSQ/Ri 20190905 - (1, 1, 440, 0.7838 , 0.2960 , -10.08 , 2.027 , 8.0000E-08, 1.0000E-02, -2.20 , 0.600 , 9.1907E-03), # Brown1/Ri 20190905 - (1, 1, 441, -2.191 , 0.2195 , -4.2310E-02, 2.734 , 5.0000E-04, 1000. , -2.20 , 0.600 , 1.0169E-02), # iawind/Ri 20190905 - (1, 1, 442, -0.1399 , 0.2424 , -8.500 , 2.476 , 1.0000E-06, 0.1000 , -2.20 , 0.600 , 1.0429E-02), # NGM1/Ri 20190905 - (1, 1, 443, 0.8611 , 0.1812 , -16.89 , 3.311 , 1.0000E-09, 5.0000E-04, -2.20 , 0.600 , 1.6415E-02), # NGM2/Ri 20190905 - (1, 1, 444, -0.3173 , 0.2290 , -8.221 , 2.620 , 5.0000E-06, 1.000 , -2.20 , 0.600 , 1.7385E-02), # SCHGW/Ri 20190905 - (1, 1, 445, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.20 , 0.600 , -9.9990E+03), # TROPG/Z (No fit) - (1, 1, 446, -7.538 , 2.143 , 2.491 , 0.2800 , 5.000 , 70.00 , -2.20 , 0.600 , 3.4368E-01), # SPEED 20190905 - (1, 1, 447, 1.950 , 0.2099 , -19.77 , 2.859 , 1.0000E-11, 1.0000E-06, -2.20 , 0.600 , 1.5571E-02), # -Stone 20190905 - (1, 1, 448, 5.015 , 0.3677 , -19.62 , 1.632 , 5.0000E-11, 1.0000E-06, -2.20 , 0.600 , 1.7519E-02), # -NVA 20190905 - (1, 1, 449, 3.497 , 0.1960 , -29.07 , 3.061 , 1.0000E-16, 5.0000E-10, -2.20 , 0.600 , 5.5474E-03), # NCSU1 20190905 - (1, 1, 450, 1.334 , 0.1369 , -25.82 , 4.384 , 1.0000E-13, 1.0000E-05, -2.20 , 0.600 , 2.3529E-02), # NCSU2/Ri 20190905 - (1, 1, 451, -1.020 , 0.3151 , -3.745 , 1.904 , 1.0000E-03, 5.0000E-02, -2.20 , 0.600 , 4.8506E-02), # EDRLUN 20190905 - (1, 1, 452, 0.3624 , 0.2844 , -9.009 , 2.110 , 1.0000E-05, 1.000 , -2.20 , 0.600 , 1.6842E-02), # wsq 20190905 - (1, 1, 453, -9.2001E-02, 0.1950 , -10.81 , 3.077 , 1.0000E-07, 0.5000 , -2.20 , 0.600 , 5.5210E-03), # wsq/Ri 20190905 - (1, 1, 454, -0.3518 , 0.1976 , -9.353 , 3.036 , 1.0000E-06, 1.000 , -2.20 , 0.600 , 1.1792E-02), # EDR/Ri 20190905 - (1, 1, 455, -0.3696 , 0.1924 , -9.516 , 3.119 , 1.0000E-06, 1.000 , -2.20 , 0.600 , 1.0915E-02), # EDRLL/Ri 20190905 - (1, 1, 456, -8.6952E-02, 0.2717 , -7.776 , 2.208 , 1.0000E-05, 1.000 , -2.20 , 0.600 , 2.7757E-02), # SIGW 20190905 - (1, 1, 457, -0.3300 , 0.2018 , -9.267 , 2.973 , 1.0000E-06, 1.000 , -2.20 , 0.600 , 1.2538E-02), # SIGW/Ri 20190905 - (1, 1, 458, 2.845 , 0.2208 , -22.85 , 2.718 , 1.0000E-13, 2.0000E-07, -2.20 , 0.600 , 9.3249E-03), # F2D/Ri 20190905 - (1, 1, 459, 2.355 , 0.2133 , -21.35 , 2.813 , 1.0000E-12, 5.0000E-07, -2.20 , 0.600 , 9.7942E-03), # F2DTW/Ri 20190905 - (1, 1, 460, 2.533 , 0.2087 , -22.68 , 2.875 , 1.0000E-13, 1.0000E-06, -2.20 , 0.600 , 5.0638E-03), # F3D/Ri 20190905 - (1, 1, 461, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.20 , 0.600 , -9.9990E+03), # EDRM (ARPEWGE only) - (1, 1, 462, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.20 , 0.600 , -9.9990E+03), # MOGCLIMO (Not used) - (1, 1, 463, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.20 , 0.600 , -9.9990E+03), # SOGCLIMO (Not used) - (1, 1, 464, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.20 , 0.600 , -9.9990E+03), # MWTCLIMO (Not used) - (1, 1, 465, 2.533 , 0.2087 , -22.68 , 2.875 , 1.0000E-13, 1.0000E-06, -2.20 , 0.600 , 5.0638E-03), # - (1, 1, 466, 2.533 , 0.2087 , -22.68 , 2.875 , 1.0000E-13, 1.0000E-06, -2.20 , 0.600 , 5.0638E-03), # - (1, 1, 467, -1.232 , 0.3854 , -2.512 , 1.557 , 5.0000E-03, 100.0 , -2.20 , 0.600 , 4.3298E-02), # RTKE 20190905 - (1, 1, 468, -1.361 , 0.2021 , -4.154 , 2.969 , 5.0000E-04, 100.0 , -2.20 , 0.600 , 6.3466E-03), # RTKE/Ri 20190905 - (1, 1, 469, -2.793 , 0.4709 , 1.260 , 1.274 , 0.1000 , 100.0 , -2.20 , 0.600 , 3.2952E-02), # VARE 20190905 - (1, 1, 470, -2.331 , 0.2615 , 0.5020 , 2.295 , 0.1000 , 500.0 , -2.20 , 0.600 , 1.9183E-02), # VARE/Ri 20190905 -# Specify MWT dignostic fit parameters: region= 1, stable , inoutcloud - (1, 1, 471, -1.425 , 0.1658 , -4.672 , 3.618 , 1.0000E-02, 1000. , -2.20 , 0.600 , 9.8433E-03), # MWT1 20190905 - (1, 1, 472, -1.210 , 0.3193 , -3.101 , 1.879 , 1.0000E-02, 100.0 , -2.20 , 0.600 , 4.0574E-02), # MWT2 20190905 - (1, 1, 473, 1.533 , 0.2293 , -16.28 , 2.616 , 1.0000E-08, 5.0000E-04, -2.20 , 0.600 , 1.1272E-02), # MWT3 20190905 - (1, 1, 474, -4.166 , 0.3669 , 5.359 , 1.635 , 10.00 , 5.0000E+04, -2.20 , 0.600 , 3.4699E-02), # MWT4 20190905 - (1, 1, 475, -0.6525 , 0.2762 , -5.603 , 2.172 , 5.0000E-04, 5.000 , -2.20 , 0.600 , 1.7742E-02), # MWT5 20190905 - (1, 1, 476, 1.044 , 0.2284 , -14.20 , 2.627 , 5.0000E-09, 1.0000E-02, -2.20 , 0.600 , 1.4194E-02), # MWT13 20190905 - (1, 1, 477, -1.884 , 0.4612 , -0.6850 , 1.301 , 5.0000E-02, 500.0 , -2.20 , 0.600 , 9.8121E-02), # MWT14 20190905 - (1, 1, 478, -9.4321E-03, 0.1987 , -11.03 , 3.020 , 5.0000E-07, 2.0000E-03, -2.20 , 0.600 , 8.4270E-03), # TKE_GWB 20190905 - (1, 1, 479, -1.287 , 0.3186 , -2.867 , 1.883 , 1.0000E-02, 100.0 , -2.20 , 0.600 , 3.5159E-02), # MWT6 20190905 - (1, 1, 480, -1.747 , 0.2140 , -2.115 , 2.803 , 1.000 , 1000. , -2.20 , 0.600 , 5.5688E-03), # MWT7 20190905 - (1, 1, 481, -0.3605 , 0.1959 , -9.389 , 3.062 , 1.0000E-05, 8.000 , -2.20 , 0.600 , 6.9556E-03), # MWT8 20190905 - (1, 1, 482, -3.412 , 0.2342 , 5.173 , 2.562 , 10.00 , 8.0000E+05, -2.20 , 0.600 , 8.7978E-03), # MWT9 20190905 - (1, 1, 483, -1.365 , 0.2865 , -2.916 , 2.094 , 0.1000 , 100.0 , -2.20 , 0.600 , 2.0245E-02), # MWT10 20190905 - (1, 1, 484, -1.538 , 0.4047 , -1.635 , 1.482 , 2.0000E-02, 100.0 , -2.20 , 0.600 , 5.2787E-02), # MWT11 20190905 - (1, 1, 485, -4.7470E-02, 0.3418 , -6.297 , 1.755 , 5.0000E-04, 1.000 , -2.20 , 0.600 , 2.6936E-02), # MWT12 20190905 -# Specify CIT dignostic fit parameters: region= 1, stable , inoutcloud - (1, 1, 486, 2.174 , 0.4756 , -9.197 , 1.262 , 5.0000E-06, 1.0000E-02, -2.20 , 0.600 , 4.3233E-02), # CONDHEAT 20190905 - (1, 1, 487, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (1, 1, 488, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (1, 1, 489, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (1, 1, 490, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (1, 1, 491, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (1, 1, 492, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (1, 1, 493, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (1, 1, 494, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (1, 1, 495, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 -# Specify GTG dignostic fit parameters: region= 1, stable , inoutcloud - (1, 1, 496, 1.1364E-02, 0.9322 , -2.372 , 0.6436 , 2.0000E-02, 0.5000 , -2.20 , 0.600 , 9.0050E-02), # GTGDEF 20190905 - (1, 1, 497, -5.9962E-02, 0.8712 , -2.456 , 0.6887 , 2.0000E-02, 0.5000 , -2.20 , 0.600 , 4.4101E-02), # GTGMWT 20190905 - (1, 1, 498, 0.4033 , 0.9112 , -2.857 , 0.6585 , 2.0000E-02, 0.5000 , -2.20 , 0.600 , 1.4631E-01), # GTGCIT 20190905 - (1, 1, 499, 8.2945E-02, 0.9866 , -2.314 , 0.6081 , 2.5000E-02, 0.4000 , -2.20 , 0.600 , 8.0743E-02), # GTGMAX2 20190905 - (1, 1, 500, 5.5222E-02, 0.9799 , -2.302 , 0.6123 , 2.5000E-02, 0.4000 , -2.20 , 0.600 , 7.9337E-02), # GTGMAX3 20190905 -# Specify CAT/LLT dignostic fit parameters: low-levels, CBL -# Logweibull fitting -# = -2.198 SD[ln(epsilon^(1/3))] = 0.6564 -# data from Munoz-Esparza&Sharman JAMC 2018 -# ln(epsilon^(1/3)) = a + b (ln(x)-25) -# index a b fitparm1 fitparm2 x1 x2 SD[ln(edrclimo)] fitrmse -# Specify LLT dignostic fit parameters: region= 1, unstable, inoutcloud - (1, 2, 400, 7.809 , 0.2737 , -35.46 , -20.32 , 5.0000E-05, 2.0000E-03, -2.20 , 0.656 , 1.8863E-01), # Brown1 20190905 - (1, 2, 401, 8.329 , 0.3494 , -29.27 , -21.34 , 8.0000E-03, 0.5000 , -2.20 , 0.656 , 1.4313E-01), # Brown2 20190905 - (1, 2, 402, 2.542 , 0.1777 , -24.97 , -10.07 , 5.0000E-02, 200.0 , -2.20 , 0.656 , 2.3257E-02), # CP 20190905 - (1, 2, 403, 4.859 , 0.1633 , -41.37 , -14.58 , 5.0000E-08, 5.0000E-05, -2.20 , 0.656 , 8.3945E-02), # Ellrod1 20190905 - (1, 2, 404, 4.806 , 0.1626 , -41.23 , -14.47 , 5.0000E-08, 5.0000E-05, -2.20 , 0.656 , 7.4453E-02), # Ellrod2 20190905 - (1, 2, 405, 3.346 , 0.1937 , -27.06 , -11.63 , 1.0000E-02, 5.000 , -2.20 , 0.656 , 2.5927E-02), # 1/Ri 20190905 - (1, 2, 406, 5.032 , 0.1680 , -41.24 , -14.91 , 5.0000E-08, 5.0000E-05, -2.20 , 0.656 , 8.2698E-02), # Ellrod3 20190905 - (1, 2, 407, -9999. , -9999. , -9999. , -9999. , 1.0E-5 , 5.0E-2 , -2.20 , 0.656 , 3.4885E-03), # Lapse (NO FIT) - (1, 2, 408, 11.91 , 0.4973 , -27.77 , -28.32 , 1.0000E-03, 0.5000 , -2.20 , 0.656 , 9.0910E-02), # MSEDR 20190905 - (1, 2, 409, 16.59 , 0.6998 , -26.42 , -37.46 , 8.0000E-02, 2.000 , -2.20 , 0.656 , 1.9411E-01), # DTF3 20190905 - (1, 2, 410, -0.4684 , 4.5176E-02, -31.89 , -4.334 , 1.0000E-06, 100.0 , -2.20 , 0.656 , 2.1658E-02), # Fth/Ri 20190905 - (1, 2, 411, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (1, 2, 412, 2.146 , 0.1758 , -23.00 , -9.309 , 5.000 , 2000. , -2.20 , 0.656 , 2.1828E-01), # Dutton 20190905 - (1, 2, 413, 7.744 , 0.3476 , -27.74 , -20.20 , 5.0000E-03, 2.000 , -2.20 , 0.656 , 1.8336E-02), # Endlich 20190905 - (1, 2, 414, 0.3980 , 0.1086 , -21.16 , -5.954 , 1.000 , 3.0000E+04, -2.20 , 0.656 , 2.0358E-02), # LAZ 20190905 - (1, 2, 415, 7.198 , 0.2741 , -33.18 , -19.13 , 1.0000E-04, 1.0000E-02, -2.20 , 0.656 , 9.8705E-02), # NGM1 20190905 - (1, 2, 416, 9.550 , 0.2818 , -40.62 , -23.72 , 1.0000E-07, 1.0000E-05, -2.20 , 0.656 , 1.1240E-01), # -NGM2 20190905 - (1, 2, 417, 7.550 , 0.2943 , -32.10 , -19.82 , 1.0000E-04, 8.0000E-02, -2.20 , 0.656 , 5.8178E-02), # SCHGW 20190905 - (1, 2, 418, 9.671 , 0.3789 , -30.53 , -23.96 , 5.0000E-04, 0.5000 , -2.20 , 0.656 , 4.8950E-02), # VWS 20190905 - (1, 2, 419, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.20 , 0.656 , -9.9990E+03), # UNDEF 20190905 - (1, 2, 420, 2.069 , 0.1170 , -33.89 , -9.160 , 5.0000E-07, 0.5000 , -2.20 , 0.656 , 5.2827E-02), # HS/Ri 20190905 - (1, 2, 421, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.20 , 0.656 , -9.9990E+03), # UNDEF 20190905 - (1, 2, 422, 4.225 , 0.1333 , -45.92 , -13.34 , 1.0000E-09, 2.0000E-06, -2.20 , 0.656 , 7.3917E-02), # DEFSQ 20190905 - (1, 2, 423, 1.146 , 6.6828E-02, -45.53 , -7.382 , 1.0000E-11, 1.0000E-03, -2.20 , 0.656 , 2.5843E-02), # VORTSQ/Ri 20190905 - (1, 2, 424, 1.981 , 0.1148 , -33.78 , -8.991 , 5.0000E-07, 1.000 , -2.20 , 0.656 , 5.4200E-02), # |DIV|/Ri 20190905 - (1, 2, 425, 1.491 , 7.6748E-02, -44.14 , -8.046 , 1.0000E-11, 1.0000E-03, -2.20 , 0.656 , 2.8721E-02), # DEFSQ/Ri 20190905 - (1, 2, 426, 2.545 , 0.1760 , -25.24 , -10.08 , 0.8000 , 200.0 , -2.20 , 0.656 , 1.4074E-01), # iawind 20190905 - (1, 2, 427, 4.926 , 0.1395 , -48.90 , -14.71 , 8.0000E-13, 5.0000E-08, -2.20 , 0.656 , 2.8852E-02), # AGI 20190905 - (1, 2, 428, -0.2422 , 7.2948E-02, -22.79 , -4.751 , 1.0000E-03, 1.0000E+05, -2.20 , 0.656 , 4.0757E-02), # UBF/Ri 20190905 - (1, 2, 429, 2.680 , 0.1671 , -27.38 , -10.34 , 5.0000E-02, 5.000 , -2.20 , 0.656 , 2.1257E-02), # 1/SATRi 20190905 - (1, 2, 430, 2.077 , 0.1225 , -32.43 , -9.176 , 5.0000E-04, 2.000 , -2.20 , 0.656 , 8.2514E-02), # PVGRAD 20190905 - (1, 2, 431, 9.152 , 0.3739 , -29.55 , -22.94 , 1.0000E-05, 0.1000 , -2.20 , 0.656 , 6.8118E-02), # EDRRCH 20190905 - (1, 2, 432, 5.965 , 0.2668 , -29.48 , -16.73 , 1.0000E-02, 0.8000 , -2.20 , 0.656 , 1.7190E-01), # EDR 20190905 - (1, 2, 433, 6.149 , 0.2741 , -29.36 , -17.09 , 1.0000E-02, 0.8000 , -2.20 , 0.656 , 1.3403E-01), # EDRLL 20190905 - (1, 2, 434, 7.1967E-02, 7.0301E-02, -28.07 , -5.338 , 1.0000E-06, 500.0 , -2.20 , 0.656 , 2.9758E-02), # SEDR/Ri 20190905 - (1, 2, 435, 4.283 , 0.2418 , -25.56 , -13.45 , 0.1000 , 10.00 , -2.20 , 0.656 , 5.4062E-02), # 1/RiTW 20190905 - (1, 2, 436, 8.446 , 0.2693 , -38.42 , -21.56 , 1.0000E-06, 1.0000E-04, -2.20 , 0.656 , 1.8706E-01), # LHFK 20190905 - (1, 2, 437, 3.400 , 0.1534 , -34.52 , -11.74 , 1.0000E-08, 1.000 , -2.20 , 0.656 , 6.0749E-02), # LHFK/Ri 20190905 - (1, 2, 438, 3.281 , 0.1589 , -32.58 , -11.51 , 1.0000E-08, 1.000 , -2.20 , 0.656 , 6.0938E-02), # TEMPG/Ri 20190905 - (1, 2, 439, -4.5802E-02, 5.5991E-02, -33.16 , -5.117 , 5.0000E-07, 50.00 , -2.20 , 0.656 , 2.9095E-02), # CTSQ/Ri 20190905 - (1, 2, 440, 3.495 , 0.1716 , -31.42 , -11.92 , 2.0000E-07, 5.000 , -2.20 , 0.656 , 7.2732E-02), # Brown1/Ri 20190905 - (1, 2, 441, -0.2123 , 7.3324E-02, -23.08 , -4.807 , 0.1000 , 1.0000E+05, -2.20 , 0.656 , 4.5194E-02), # iawind/Ri 20190905 - (1, 2, 442, 1.611 , 0.1146 , -30.60 , -8.277 , 2.0000E-06, 100.0 , -2.20 , 0.656 , 4.7553E-02), # NGM1/Ri 20190905 - (1, 2, 443, 2.247 , 0.1082 , -38.29 , -9.505 , 1.0000E-09, 1.0000E-02, -2.20 , 0.656 , 4.7504E-02), # NGM2/Ri 20190905 - (1, 2, 444, 1.974 , 0.1314 , -29.46 , -8.977 , 1.0000E-05, 100.0 , -2.20 , 0.656 , 4.5495E-02), # SCHGW/Ri 20190905 - (1, 2, 445, -1.546 , 0.4915 , -0.8965 , -2.524 , 1.0000E-09, 1.0000E-05, -2.20 , 0.656 , 2.2343E-01), # TROPG/Z 20190905 - (1, 2, 446, 16.20 , 0.8004 , -22.61 , -36.70 , 0.5000 , 50.00 , -2.20 , 0.656 , 8.3617E-02), # SPEED 20190905 - (1, 2, 447, 7.731 , 0.2144 , -44.90 , -20.17 , 1.0000E-14, 1.0000E-09, -2.20 , 0.656 , 2.3910E-02), # -Stone 20190905 - (1, 2, 448, 6.219 , 0.1787 , -45.42 , -17.22 , 8.0000E-11, 5.0000E-07, -2.20 , 0.656 , 5.8273E-02), # -NVA 20190905 - (1, 2, 449, 2.000 , 7.2648E-02, -53.63 , -9.027 , 1.0000E-14, 1.0000E-07, -2.20 , 0.656 , 2.3556E-02), # NCSU1 20190905 - (1, 2, 450, 0.8296 , 5.5283E-02, -49.33 , -6.776 , 1.0000E-12, 1.0000E-04, -2.20 , 0.656 , 2.4648E-02), # NCSU2/Ri 20190905 - (1, 2, 451, 8.444 , 0.3431 , -30.14 , -21.56 , 1.0000E-05, 0.1000 , -2.20 , 0.656 , 2.8253E-02), # EDRLUN 20190905 - (1, 2, 452, 1.264 , 9.0791E-02, -34.81 , -7.609 , 1.0000E-05, 1.000 , -2.20 , 0.656 , 5.1648E-02), # wsq 20190905 - (1, 2, 453, -0.3574 , 4.4516E-02, -34.81 , -4.538 , 1.0000E-06, 100.0 , -2.20 , 0.656 , 3.9852E-02), # wsq/Ri 20190905 - (1, 2, 454, 0.3600 , 7.2426E-02, -31.20 , -5.882 , 1.0000E-07, 100.0 , -2.20 , 0.656 , 3.2215E-02), # EDR/Ri 20190905 - (1, 2, 455, 0.2825 , 6.9677E-02, -31.32 , -5.735 , 1.0000E-07, 100.0 , -2.20 , 0.656 , 2.9390E-02), # EDRLL/Ri 20190905 - (1, 2, 456, 1.213 , 9.4649E-02, -32.85 , -7.510 , 5.0000E-05, 5.000 , -2.20 , 0.656 , 4.8518E-02), # SIGW 20190905 - (1, 2, 457, -0.6223 , 3.8469E-02, -33.55 , -4.054 , 5.0000E-05, 500.0 , -2.20 , 0.656 , 4.0716E-02), # SIGW/Ri 20190905 - (1, 2, 458, 1.858 , 8.1334E-02, -46.16 , -8.753 , 5.0000E-13, 1.0000E-04, -2.20 , 0.656 , 2.9202E-02), # F2D/Ri 20190905 - (1, 2, 459, 1.629 , 7.6541E-02, -46.06 , -8.311 , 5.0000E-13, 5.0000E-04, -2.20 , 0.656 , 2.6961E-02), # F2DTW/Ri 20190905 - (1, 2, 460, 1.560 , 7.4245E-02, -46.55 , -8.178 , 5.0000E-13, 1.0000E-04, -2.20 , 0.656 , 2.9986E-02), # F3D/Ri 20190905 - (1, 2, 461, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.20 , 0.656 , -9.9990E+03), # EDRM (ARPEGE ONLY) - (1, 2, 462, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.20 , 0.656 , -9.9990E+03), # MOGCLIMO (UNUSED) - (1, 2, 463, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.20 , 0.656 , -9.9990E+03), # SOGCLIMO (UNUSED) - (1, 2, 464, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.20 , 0.656 , -9.9990E+03), # MWTCLIMO (UNUSED) - (1, 2, 465, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (1, 2, 466, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (1, 2, 467, 1.679 , 0.1247 , -28.66 , -8.407 , 1.0000E-03, 50.00 , -2.20 , 0.656 , 5.7181E-02), # RTKE 20190905 - (1, 2, 468, -0.3902 , 5.5905E-02, -27.14 , -4.478 , 1.0000E-04, 1.0000E+04, -2.20 , 0.656 , 2.7956E-02), # RTKE/Ri 20190905 - (1, 2, 469, 3.477 , 0.2217 , -24.24 , -11.89 , 0.5000 , 200.0 , -2.20 , 0.656 , 1.0615E-01), # VARE 20190905 - (1, 2, 470, -0.2692 , 7.1544E-02, -22.87 , -4.701 , 5.0000E-03, 1.0000E+05, -2.20 , 0.656 , 4.4464E-02), # VARE/Ri 20190905 -# Specify MWT dignostic fit parameters:unstableinoutcloud - (1, 2, 471, -1.361 , 2.0598E-02, -29.03 , -2.795 , 1.0000E-04, 5.0000E+05, -2.20 , 0.656 , 2.2760E-02), # MWT1 20190905 - (1, 2, 472, 1.167 , 0.1094 , -28.00 , -7.422 , 1.0000E-04, 80.00 , -2.20 , 0.656 , 1.2755E-02), # MWT2 20190905 - (1, 2, 473, 2.309 , 9.9576E-02, -42.23 , -9.624 , 1.0000E-10, 5.0000E-04, -2.20 , 0.656 , 2.0885E-02), # MWT3 20190905 - (1, 2, 474, 0.9028 , 0.1467 , -19.09 , -6.916 , 0.1000 , 5.0000E+04, -2.20 , 0.656 , 1.6510E-02), # MWT4 20190905 - (1, 2, 475, 3.410 , 0.1740 , -30.50 , -11.76 , 1.0000E-05, 1.000 , -2.20 , 0.656 , 5.5876E-03), # MWT5 20190905 - (1, 2, 476, 2.828 , 0.1202 , -39.31 , -10.63 , 1.0000E-10, 1.0000E-03, -2.20 , 0.656 , 9.6654E-03), # MWT13 20190905 - (1, 2, 477, 1.160 , 0.1133 , -26.98 , -7.408 , 1.0000E-06, 200.0 , -2.20 , 0.656 , 8.8839E-03), # MWT14 20190905 - (1, 2, 478, 2.694 , 0.1320 , -34.78 , -10.37 , 5.0000E-08, 2.0000E-02, -2.20 , 0.656 , 8.5505E-03), # TKE_GWB 20190905 - (1, 2, 479, 1.660 , 0.1245 , -28.58 , -8.371 , 1.0000E-04, 50.00 , -2.20 , 0.656 , 1.5894E-02), # MWT6 20190905 - (1, 2, 480, -0.3185 , 5.9811E-02, -26.54 , -4.610 , 1.0000E-03, 1.0000E+04, -2.20 , 0.656 , 1.8861E-02), # MWT7 20190905 - (1, 2, 481, -6.5628E-02, 5.6544E-02, -32.49 , -5.080 , 1.0000E-06, 100.0 , -2.20 , 0.656 , 2.1999E-02), # MWT8 20190905 - (1, 2, 482, 0.1914 , 0.1053 , -19.86 , -5.563 , 0.5000 , 1.0000E+05, -2.20 , 0.656 , 1.9482E-02), # MWT9 20190905 - (1, 2, 483, 1.385 , 0.1209 , -27.14 , -7.842 , 1.0000E-04, 80.00 , -2.20 , 0.656 , 8.9234E-03), # MWT10 20190905 - (1, 2, 484, 2.066 , 0.1481 , -26.76 , -9.154 , 1.0000E-03, 100.0 , -2.20 , 0.656 , 7.9814E-03), # MWT11 20190905 - (1, 2, 485, 3.252 , 0.1642 , -31.35 , -11.45 , 1.0000E-05, 1.000 , -2.20 , 0.656 , 1.4068E-02), # MWT12 20190905 -# Specify CIT dignostic fit parameters:unstableinoutcloud - (1, 2, 486, 4.721 , 0.1944 , -34.05 , -14.31 , 3.0000E-05, 2.0000E-02, -2.20 , 0.656 , 5.8801E-02), # CONDHEAT 20190905 - (1, 2, 487, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (1, 2, 488, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF - (1, 2, 489, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF - (1, 2, 490, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF - (1, 2, 491, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF - (1, 2, 492, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF - (1, 2, 493, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF - (1, 2, 494, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF - (1, 2, 495, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF -# Specify GTG dignostic fit parameters: low-levels, unstable - (1, 2, 496, 20.11 , 0.8170 , -26.93 , -44.33 , 8.0000E-02, 0.5000 , -2.20 , 0.656 , 2.2604E-01), # GTGDEF 20190905 - (1, 2, 497, 19.28 , 0.7818 , -27.10 , -42.72 , 5.0000E-02, 0.5000 , -2.20 , 0.656 , 9.9464E-02), # GTGMWT 20190905 - (1, 2, 498, 11.10 , 0.4621 , -28.13 , -26.75 , 3.0000E-02, 0.6000 , -2.20 , 0.656 , 7.7172E-02), # GTGCIT 20190905 - (1, 2, 499, 20.31 , 0.8247 , -26.93 , -44.72 , 8.0000E-02, 0.5000 , -2.20 , 0.656 , 2.3582E-01), # GTGMAX2 20190905 - (1, 2, 500, 20.35 , 0.8263 , -26.93 , -44.81 , 8.0000E-02, 0.5000 , -2.20 , 0.656 , 2.3437E-01), # GTGMAX3 20190905 -# Specify CAT dignostic fit parameters: mid-levels, stable -# ObsIndex Sept&Dec 2017, April-July 2018 -# DALinsitu2009-2014_all_nointerpnulls_737+767_histograms.out -# = -2.60 SD[ln(epsilon^(1/3))] = 0.50 -# data from Sharman&Pearson JAMC 2017 -# ln(epsilon^(1/3)) = a + b ln(x) -# index a b fitparm1 fitparm2 x1 x2 SD[ln(edrclimo)] fitrmse -# Specify CAT dignostic fit parameters: region= 2, stable, inoutcloud - (2, 1, 400, 5.893 , 0.8781 , -9.557 , 0.5694 , 5.0000E-06, 5.0000E-04, -2.50 , 0.500 , 3.7987E-02), # Brown1 20190905 - (2, 1, 401, 1.275 , 0.9628 , -3.921 , 0.5193 , 5.0000E-03, 0.1500 , -2.50 , 0.500 , 5.1521E-02), # Brown2 20190905 - (2, 1, 402, -4.058 , 0.5621 , 2.772 , 0.8894 , 5.000 , 1000. , -2.50 , 0.500 , 7.5948E-02), # CP 20190905 - (2, 1, 403, 5.356 , 0.5025 , -15.63 , 0.9949 , 8.2656E-09, 2.0000E-06, -2.50 , 0.500 , 2.9123E-02), # Ellrod1 20190905 - (2, 1, 404, 4.923 , 0.4742 , -15.65 , 1.054 , 9.2349E-09, 2.0000E-06, -2.50 , 0.500 , 2.0000E-02), # Ellrod2 20190905 - (2, 1, 405, -1.264 , 0.4093 , -3.020 , 1.222 , 4.1577E-03, 2.348 , -2.50 , 0.500 , 1.4969E-02), # 1/Ri 20190905 - (2, 1, 406, 5.286 , 0.4984 , -15.62 , 1.003 , 9.7690E-09, 2.0000E-06, -2.50 , 0.500 , 2.8433E-02), # Ellrod3 20190905 - (2, 1, 407, 7.426 , 1.689 , -5.875 , 0.2959 , 8.0000E-04, 1.0000E-02, -2.50 , 0.500 , 8.2785E-01), # Lapse 20190905 - (2, 1, 408, 0.8114 , 0.8472 , -3.909 , 0.5902 , 5.0000E-03, 0.5000 , -2.50 , 0.500 , 2.2489E-01), # MSEDR 20190905 - (2, 1, 409, 0.3517 , 1.127 , -2.530 , 0.4435 , 1.0000E-02, 0.5256 , -2.50 , 0.500 , 3.6811E-02), # DTF3 20190905 - (2, 1, 410, 7.4763E-02, 0.1990 , -12.94 , 2.512 , 1.0000E-10, 5.0000E-03, -2.50 , 0.500 , 3.8335E-03), # Fth/Ri 20190905 - (2, 1, 411, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (2, 1, 412, -4.402 , 0.7336 , 2.593 , 0.6816 , 3.913 , 143.7 , -2.50 , 0.500 , 1.6089E-01), # Dutton 20190905 - (2, 1, 413, -1.081 , 0.6807 , -2.085 , 0.7346 , 1.0000E-02, 2.000 , -2.50 , 0.500 , 6.3194E-02), # Endlich 20190905 - (2, 1, 414, -6.238 , 0.5619 , 6.652 , 0.8898 , 100.0 , 1.0000E+05, -2.50 , 0.500 , 1.7273E-01), # LAZ 20190905 - (2, 1, 415, 1.145 , 0.4670 , -7.805 , 1.071 , 8.0304E-06, 2.0000E-02, -2.50 , 0.500 , 2.3760E-02), # NGM1 20190905 - (2, 1, 416, 7.472 , 0.6540 , -15.25 , 0.7645 , 4.6261E-08, 1.3585E-05, -2.50 , 0.500 , 1.3296E-02), # -NGM2 20190905 - (2, 1, 417, 1.359 , 0.5224 , -7.388 , 0.9571 , 5.0000E-05, 4.0000E-02, -2.50 , 0.500 , 2.0209E-02), # SCHGW 20190905 - (2, 1, 418, 1.604 , 0.6924 , -5.927 , 0.7221 , 1.6943E-03, 5.2679E-02, -2.50 , 0.500 , 4.2768E-02), # VWS 20190905 - (2, 1, 419, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.60 , 0.500 , -9.9990E+03), # UNDEF 20190905 - (2, 1, 420, 1.574 , 0.2998 , -13.59 , 1.668 , 7.9697E-09, 6.5980E-04, -2.50 , 0.500 , 6.6470E-03), # HS/Ri 20190905 - (2, 1, 421, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.60 , 0.500 , -9.9990E+03), # UNDEF 20190905 - (2, 1, 422, 5.125 , 0.3905 , -19.53 , 1.280 , 5.0000E-11, 5.0000E-07, -2.50 , 0.500 , 3.3447E-02), # DEFSQ 20190905 - (2, 1, 423, 2.654 , 0.2229 , -23.12 , 2.243 , 6.0000E-14, 5.0000E-08, -2.50 , 0.500 , 1.0505E-02), # VORTSQ/Ri 20190905 - (2, 1, 424, 1.274 , 0.2766 , -13.65 , 1.808 , 6.0000E-09, 1.0000E-03, -2.50 , 0.500 , 9.8858E-03), # |DIV|/Ri 20190905 - (2, 1, 425, 2.951 , 0.2452 , -22.23 , 2.039 , 2.0000E-13, 5.0000E-07, -2.50 , 0.500 , 1.9248E-02), # DEFSQ/Ri 20190905 - (2, 1, 426, -3.068 , 0.4947 , 1.147 , 1.011 , 8.3458E-02, 108.6 , -2.50 , 0.500 , 2.6305E-02), # iawind 20190905 - (2, 1, 427, 3.670 , 0.2574 , -23.97 , 1.943 , 1.0000E-12, 5.0000E-08, -2.50 , 0.500 , 1.3957E-02), # AGI 20190905 - (2, 1, 428, -1.829 , 0.2796 , -2.400 , 1.788 , 1.0000E-03, 100.0 , -2.50 , 0.500 , 1.4771E-02), # UBF/Ri 20190905 - (2, 1, 429, -1.515 , 0.3969 , -2.482 , 1.260 , 1.0000E-03, 5.000 , -2.50 , 0.500 , 8.5722E-03), # 1/SATRi 20190905 - (2, 1, 430, 0.2573 , 0.5132 , -5.373 , 0.9744 , 1.0000E-04, 0.1200 , -2.50 , 0.500 , 3.4196E-02), # PVGRAD 20190905 - (2, 1, 431, 0.8395 , 0.7258 , -4.601 , 0.6889 , 6.1669E-03, 0.2440 , -2.50 , 0.500 , 5.6342E-02), # EDRRCH 20190905 - (2, 1, 432, 0.1111 , 0.6742 , -3.873 , 0.7417 , 5.0000E-03, 0.5000 , -2.50 , 0.500 , 3.4377E-02), # EDR 20190905 - (2, 1, 433, 3.6074E-02, 0.6456 , -3.928 , 0.7745 , 5.0000E-03, 0.5000 , -2.50 , 0.500 , 4.1409E-02), # EDRLL 20190905 - (2, 1, 434, -0.3826 , 0.2146 , -9.864 , 2.329 , 1.0000E-06, 0.4000 , -2.50 , 0.500 , 1.0522E-02), # SEDR/Ri 20190905 - (2, 1, 435, -1.846 , 0.4147 , -1.577 , 1.206 , 5.0000E-03, 3.000 , -2.50 , 0.500 , 1.4645E-02), # 1/RiTW 20190905 - (2, 1, 436, 5.373 , 0.6260 , -12.58 , 0.7987 , 1.0000E-06, 1.0000E-04, -2.50 , 0.500 , 3.1123E-02), # LHFK 20190905 - (2, 1, 437, 2.374 , 0.3183 , -15.31 , 1.571 , 5.0000E-09, 7.0000E-05, -2.50 , 0.500 , 1.1658E-02), # LHFK/Ri 20190905 - (2, 1, 438, 1.870 , 0.3024 , -14.45 , 1.654 , 1.0000E-08, 7.3987E-04, -2.50 , 0.500 , 1.8963E-03), # TEMPG/Ri 20190905 - (2, 1, 439, 0.1004 , 0.2077 , -12.52 , 2.408 , 2.0000E-08, 0.1209 , -2.50 , 0.500 , 7.5110E-03), # CTSQ/Ri 20190905 - (2, 1, 440, 1.741 , 0.3455 , -12.27 , 1.447 , 3.9414E-08, 6.3344E-04, -2.50 , 0.500 , 1.5953E-02), # Brown1/Ri 20190905 - (2, 1, 441, -2.020 , 0.2697 , -1.781 , 1.854 , 1.9679E-04, 75.74 , -2.50 , 0.500 , 8.7660E-03), # iawind/Ri 20190905 - (2, 1, 442, 0.2101 , 0.2554 , -10.61 , 1.957 , 4.8016E-07, 1.0000E-02, -2.50 , 0.500 , 5.7595E-03), # NGM1/Ri 20190905 - (2, 1, 443, 3.108 , 0.3136 , -17.88 , 1.595 , 7.9848E-11, 3.2165E-06, -2.50 , 0.500 , 1.3677E-02), # NGM2/Ri 20190905 - (2, 1, 444, 0.1186 , 0.2601 , -10.07 , 1.922 , 1.6813E-07, 1.7067E-02, -2.50 , 0.500 , 2.8471E-03), # SCHGW/Ri 20190905 - (2, 1, 445, 3.094 , 0.3785 , -14.78 , 1.321 , 5.0000E-08, 5.0000E-05, -2.50 , 0.500 , 6.7945E-02), # TROPG/Z 20190905 - (2, 1, 446, -5.167 , 1.085 , 2.459 , 0.4610 , 5.000 , 80.00 , -2.50 , 0.500 , 1.7140E-01), # SPEED 20190905 - (2, 1, 447, 3.600 , 0.2645 , -23.06 , 1.890 , 5.0000E-12, 1.0000E-07, -2.50 , 0.500 , 2.3417E-02), # -Stone 20190905 - (2, 1, 448, 4.754 , 0.3654 , -19.85 , 1.368 , 6.3378E-11, 5.6724E-07, -2.50 , 0.500 , 1.3067E-02), # -NVA 20190905 - (2, 1, 449, 4.621 , 0.2247 , -31.69 , 2.225 , 1.0000E-17, 1.0000E-12, -2.50 , 0.500 , 1.3336E-02), # NCSU1 20190905 - (2, 1, 450, 3.273 , 0.2044 , -28.24 , 2.446 , 1.0000E-14, 1.0000E-09, -2.50 , 0.500 , 1.0529E-02), # NCSU2/Ri 20190905 - (2, 1, 451, 0.3445 , 0.4893 , -5.813 , 1.022 , 1.0000E-04, 0.1000 , -2.50 , 0.500 , 1.0175E-01), # EDRLUN 20190905 - (2, 1, 452, -0.4605 , 0.2644 , -7.713 , 1.891 , 1.0000E-06, 1.000 , -2.50 , 0.500 , 2.2737E-02), # wsq 20190905 - (2, 1, 453, -0.4352 , 0.1910 , -10.81 , 2.618 , 1.0000E-07, 0.5000 , -2.50 , 0.500 , 1.0772E-02), # wsq/Ri 20190905 - (2, 1, 454, -0.1835 , 0.2154 , -10.76 , 2.322 , 6.5183E-07, 0.1357 , -2.50 , 0.500 , 6.7463E-03), # EDR/Ri 20190905 - (2, 1, 455, -0.3408 , 0.1928 , -11.20 , 2.594 , 7.3330E-08, 1.4633E-02, -2.50 , 0.500 , 8.7414E-03), # EDRLL/Ri 20190905 - (2, 1, 456, -0.8720 , 0.2461 , -6.614 , 2.031 , 6.4580E-05, 1.801 , -2.50 , 0.500 , 1.6275E-02), # SIGW 20190905 - (2, 1, 457, -0.7852 , 0.1723 , -9.952 , 2.902 , 7.8118E-06, 0.6766 , -2.50 , 0.500 , 1.1309E-02), # SIGW/Ri 20190905 - (2, 1, 458, 3.583 , 0.2456 , -24.76 , 2.035 , 1.0000E-14, 1.0000E-07, -2.50 , 0.500 , 1.3209E-02), # F2D/Ri 20190905 - (2, 1, 459, 3.655 , 0.2507 , -24.55 , 1.995 , 1.9529E-12, 1.0228E-07, -2.50 , 0.500 , 1.3234E-02), # F2DTW/Ri 20190905 - (2, 1, 460, 3.543 , 0.2430 , -24.87 , 2.058 , 1.0000E-14, 1.0787E-07, -2.50 , 0.500 , 1.3152E-02), # F3D/Ri 20190905 - (2, 1, 461, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.50 , 0.50 , -9.9990E+03), # EDRM (ARPEGE ONLY) - (2, 1, 462, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.50 , 0.50 , -9.9990E+03), # MOGCLIMO (Not used) - (2, 1, 463, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.50 , 0.50 , -9.9990E+03), # SOGCLIMO (Not used) - (2, 1, 464, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -2.50 , 0.50 , -9.9990E+03), # MWTCLIMO (Not used) - (2, 1, 465, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (2, 1, 466, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (2, 1, 467, -1.488 , 0.2773 , -3.649 , 1.803 , 7.3411E-05, 10.00 , -2.50 , 0.500 , 1.4967E-02), # RTKE 20190905 - (2, 1, 468, -1.200 , 0.2034 , -6.393 , 2.459 , 1.0000E-04, 10.00 , -2.50 , 0.500 , 5.7606E-03), # RTKE/Ri 20190905 - (2, 1, 469, -3.075 , 0.4193 , 1.371 , 1.192 , 8.2247E-02, 123.7 , -2.50 , 0.500 , 8.8736E-03), # VARE 20190905 - (2, 1, 470, -2.089 , 0.2482 , -1.656 , 2.015 , 5.0000E-04, 1000. , -2.50 , 0.500 , 4.8944E-03), # VARE/Ri 20190905 -# Specify MWT dignostic fit parameters:stable inoutcloud - (2, 1, 471, -1.582 , 0.1384 , -6.629 , 3.613 , 7.0924E-04, 2071. , -2.50 , 0.500 , 3.1491E-03), # MWT1 20190905 - (2, 1, 472, -1.307 , 0.2275 , -5.244 , 2.198 , 8.1491E-04, 17.38 , -2.50 , 0.500 , 2.5446E-02), # MWT2 20190905 - (2, 1, 473, 1.698 , 0.2317 , -18.12 , 2.158 , 1.0000E-09, 5.0000E-05, -2.50 , 0.500 , 1.6822E-02), # MWT3 20190905 - (2, 1, 474, -5.680 , 0.4821 , 6.597 , 1.037 , 100.0 , 1.0000E+05, -2.50 , 0.500 , 8.3753E-02), # MWT4 20190905 - (2, 1, 475, -0.7801 , 0.2511 , -6.850 , 1.991 , 4.6758E-04, 2.000 , -2.50 , 0.500 , 1.7250E-02), # MWT5 20190905 - (2, 1, 476, 0.8673 , 0.2095 , -16.07 , 2.386 , 1.0000E-09, 1.0000E-03, -2.50 , 0.500 , 1.5600E-02), # MWT13 20190905 - (2, 1, 477, -1.666 , 0.2211 , -3.770 , 2.261 , 5.2945E-04, 191.9 , -2.50 , 0.500 , 2.7000E-02), # MWT14 20190905 - (2, 1, 478, -0.3257 , 0.2272 , -9.570 , 2.201 , 8.0000E-07, 0.1000 , -2.50 , 0.500 , 2.7308E-02), # TKE_GWB 20190905 - (2, 1, 479, -1.456 , 0.2688 , -3.883 , 1.860 , 1.0000E-03, 10.00 , -2.50 , 0.500 , 2.5788E-02), # MWT6 20190905 - (2, 1, 480, -2.145 , 0.1842 , -1.926 , 2.714 , 1.0000E-02, 1.0000E+04, -2.50 , 0.500 , 1.7363E-02), # MWT7 20190905 - (2, 1, 481, -0.2394 , 0.2030 , -11.14 , 2.463 , 5.9123E-06, 0.1428 , -2.50 , 0.500 , 1.3395E-02), # MWT8 20190905 - (2, 1, 482, -3.671 , 0.2428 , 4.822 , 2.059 , 9.288 , 1.4182E+05, -2.50 , 0.500 , 1.8455E-02), # MWT9 20190905 - (2, 1, 483, -1.666 , 0.2448 , -3.405 , 2.043 , 7.9048E-03, 105.9 , -2.50 , 0.500 , 3.5175E-02), # MWT10 20190905 - (2, 1, 484, -1.698 , 0.2429 , -3.301 , 2.059 , 1.0000E-03, 10.00 , -2.50 , 0.500 , 2.3359E-02), # MWT11 20190905 - (2, 1, 485, 7.1896E-02, 0.3582 , -7.179 , 1.396 , 4.3512E-04, 0.6260 , -2.50 , 0.500 , 4.4483E-02), # MWT12 20190905 -# Specify CIT dignostic fit parameters: region= 2, stable , incloud - (2, 1, 486, 1.055 , 0.3177 , -9.176 , 1.448 , 7.4666E-07, 1.0637E-02, -1.86 , 0.460 , 3.2179E-02), # CONDHEAT 20190905 - (2, 1, 487, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (2, 1, 488, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (2, 1, 489, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (2, 1, 490, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (2, 1, 491, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (2, 1, 492, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (2, 1, 493, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (2, 1, 494, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 - (2, 1, 495, -9999. , -9999. , -9999. , -9999. , -9999. , -9999. , -1.86 , 0.460 , -9.9990E+03), # UNDEF 20190905 -# Specify GTG dignostic fit parameters: mid-levels, stable - (2, 1, 496, 5.0228E-02, 1.014 , -2.514 , 0.4930 , 2.0000E-02, 0.5000 , -2.50 , 0.500 , 7.3185E-02), # GTGDEF 20190905 - (2, 1, 497, -5.3421E-02, 0.9141 , -2.677 , 0.5470 , 2.0000E-02, 0.5000 , -2.50 , 0.500 , 6.7979E-02), # GTGMWT 20190905 - (2, 1, 498, -9.1928E-02, 0.8365 , -2.879 , 0.5978 , 2.0000E-02, 0.2500 , -2.50 , 0.500 , 1.6046E-01), # GTGCIT 20190905 - (2, 1, 499, 6.8646E-02, 1.023 , -2.510 , 0.4886 , 2.0000E-02, 0.5000 , -2.50 , 0.500 , 7.9646E-02), # GTGMAX2 20190905 - (2, 1, 500, -6.1752E-02, 0.9824 , -2.482 , 0.5089 , 2.0000E-02, 0.3000 , -2.50 , 0.500 , 8.1623E-02), # GTGMAX3 20190905 -# Specify CAT dignostic fit parameters: upper-levels, stable -# ObsIndex Sept&Dec 2017, April-July 2018 -# DALinsitu2009-2014_all_nointerpnulls_737+767_histograms.out -# = -2.60 SD[ln(epsilon^(1/3))] = 0.50 -# data from Sharman&Pearson JAMC 2017 -# ln(epsilon^(1/3)) = a + b ln(x) -# index a b fitparm1 fitparm2 x1 x2 SD[ln(edrclimo)] fitrmse -# Specify CAT dignostic fit parameters: region= 3, stable, inoutcloud - (3, 1, 400, 7.1228 , 1.0212 , -9.5210 , 0.48962 , 2.27616E-06, 5.58542E-04, -2.60, 0.50, 8.90371E-02), # Brown1 20180802 - (3, 1, 401, 1.4701 , 1.0085 , -4.0358 , 0.49578 , 2.83373E-03, 0.10853 , -2.60, 0.50, 1.94554E-02), # Brown2 20180802 - (3, 1, 402, -3.7694 , 0.46124 , 2.5353 , 1.0840 , 1.0000 , 1408.5 , -2.60, 0.50, 4.88686E-02), # CP 20180802 - (3, 1, 403, 4.4269 , 0.43552 , -16.134 , 1.1480 , 8.31101E-10, 6.13317E-06, -2.60, 0.50, 1.30208E-02), # Ellrod1 20180802 - (3, 1, 404, 4.0922 , 0.41464 , -16.140 , 1.2059 , 7.76574E-10, 5.37485E-06, -2.60, 0.50, 1.28860E-02), # Ellrod2 20180802 - (3, 1, 405, -1.1507 , 0.38421 , -3.7722 , 1.3014 , 1.46078E-03, 5.7761 , -2.60, 0.50, 3.82844E-02), # 1/Ri 20180802 - (3, 1, 406, 4.4301 , 0.43805 , -16.049 , 1.1414 , 8.67462E-10, 5.06828E-06, -2.60, 0.50, 1.25535E-02), # Ellrod3 20180802 - (3, 1, 407, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -2.60, 0.50, -9.99900E+03), # Lapse (no fit) - (3, 1, 408, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -2.60, 0.50, -9.99900E+03), # MSEDR (no fit) - (3, 1, 409, 1.6008 , 1.7656 , -2.3793 , 0.28319 , 5.00000E-02, 0.52601 , -2.60, 0.50, 2.59465E-01), # DTF3 20180802 - (3, 1, 410, -0.21238 , 0.15787 , -15.124 , 3.1672 , 1.00000E-09, 2.17993E-03, -2.60, 0.50, 1.39417E-02), # Fth/Ri 20180802 - (3, 1, 411, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (3, 1, 412, -4.3362 , 0.71480 , 2.4289 , 0.69950 , 1.5446 , 212.86 , -2.60, 0.50, 1.33235E-01), # Dutton 20180802 - (3, 1, 413, -1.4919 , 0.60782 , -1.8231 , 0.82261 , 4.05868E-02, 2.1460 , -2.60, 0.50, 4.90550E-02), # Endlich 20180802 - (3, 1, 414, -5.7161 , 0.53336 , 5.8424 , 0.93744 , 29.382 , 1.66279E+05, -2.60, 0.50, 1.44676E-01), # LAZ 20180802 - (3, 1, 415, 0.81601 , 0.43177 , -7.9117 , 1.1580 , 8.84472E-06, 1.13557E-02, -2.60, 0.50, 1.77219E-02), # NGM1 20180802 - (3, 1, 416, 4.3805 , 0.42094 , -16.583 , 1.1878 , 6.95572E-09, 1.09142E-05, -2.60, 0.50, 9.41813E-02), # -NGM2 20180802 - (3, 1, 417, 1.2818 , 0.50382 , -7.7048 , 0.99243 , 4.30426E-05, 5.51736E-02, -2.60, 0.50, 3.83992E-02), # SCHGW 20180802 - (3, 1, 418, 4.0134 , 1.1543 , -5.7292 , 0.43315 , 8.74472E-04, 8.74140E-02, -2.60, 0.50, 1.53662E-01), # VWS 20180802 - (3, 1, 419, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -2.60, 0.50, -9.99900E+03), # UNDEF - (3, 1, 420, 1.4902 , 0.27399 , -14.928 , 1.8249 , 2.00000E-09, 1.19901E-03, -2.60, 0.50, 2.59807E-02), # HS/Ri 20180802 - (3, 1, 421, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -2.60, 0.50, -9.99900E+03), # UNDEF - (3, 1, 422, 5.1209 , 0.38377 , -20.118 , 1.3029 , 7.73287E-12, 1.15554E-07, -2.60, 0.50, 1.86839E-02), # DEFSQ 20180802 - (3, 1, 423, 2.2428 , 0.19609 , -24.697 , 2.5499 , 6.79055E-14, 7.61257E-08, -2.60, 0.50, 9.84333E-03), # VORTSQ/Ri 20180802 - (3, 1, 424, 1.4143 , 0.27322 , -14.693 , 1.8300 , 9.44859E-09, 1.49305E-03, -2.60, 0.50, 1.85480E-02), # |DIV|/Ri 20180802 - (3, 1, 425, 2.2006 , 0.19972 , -24.036 , 2.5034 , 3.96699E-13, 1.57424E-06, -2.60, 0.50, 1.13067E-02), # DEFSQ/Ri 20180802 - (3, 1, 426, -3.0038 , 0.47506 , 0.85007 , 1.0525 , 9.74592E-02, 133.25 , -2.60, 0.50, 1.92373E-02), # iawind 20180802 - (3, 1, 427, 4.3340 , 0.28893 , -23.999 , 1.7305 , 3.31561E-12, 5.37662E-08, -2.60, 0.50, 1.69947E-02), # AGI 20180802 - (3, 1, 428, -1.7134 , 0.24543 , -3.6122 , 2.0372 , 9.61084E-05, 115.74 , -2.60, 0.50, 6.51455E-03), # UBF/Ri 20180802 - (3, 1, 429, -1.5133 , 0.32424 , -3.3517 , 1.5421 , 8.09709E-04, 6.5994 , -2.60, 0.50, 2.85771E-02), # 1/SATRi 20180802 - (3, 1, 430, -0.56202 , 0.43363 , -4.6998 , 1.1530 , 1.0E-04 , 1.0 , -2.60, 0.50, 2.68087E-02), # PVGRAD 20180802 - (3, 1, 431, 2.9162 , 1.2146 , -4.5416 , 0.41166 , 1.0E-04 , 0.50000 , -2.60, 0.50, 1.73142E-01), # EDRRCH 20180802 - (3, 1, 432, 0.17858 , 0.71778 , -3.8711 , 0.69659 , 9.90550E-03, 0.52781 , -2.60, 0.50, 5.34904E-02), # EDR 20180802 - (3, 1, 433, 6.39677E-02, 0.67152 , -3.9671 , 0.74458 , 9.92178E-03, 0.56650 , -2.60, 0.50, 6.38654E-02), # EDRLL 20180802 - (3, 1, 434, -0.48375 , 0.18203 , -11.626 , 2.7469 , 5.24099E-08, 0.16925 , -2.60, 0.50, 1.86760E-02), # SEDR/Ri 20180802 - (3, 1, 435, -1.8188 , 0.30401 , -2.5697 , 1.6447 , 8.11446E-04, 13.199 , -2.60, 0.50, 2.91948E-02), # 1/RiTW 20180802 - (3, 1, 436, 4.8476 , 0.60694 , -12.271 , 0.82381 , 4.22891E-07, 5.36347E-05, -2.60, 0.50, 4.99807E-02), # LHFK 20180802 - (3, 1, 437, 1.8071 , 0.27271 , -16.160 , 1.8334 , 7.66283E-10, 5.26478E-05, -2.60, 0.50, 9.09295E-03), # LHFK/Ri 20180802 - (3, 1, 438, 2.2779 , 0.32173 , -15.161 , 1.5541 , 7.58858E-09, 3.16522E-04, -2.60, 0.50, 1.55073E-02), # TEMPG/Ri 20180802 - (3, 1, 439, 0.17304 , 0.21081 , -13.154 , 2.3718 , 2.87563E-08, 1.58770E-02, -2.60, 0.50, 1.73027E-02), # CTSQ/Ri 20180802 - (3, 1, 440, 1.4535 , 0.30238 , -13.405 , 1.6535 , 8.64434E-09, 7.21974E-04, -2.60, 0.50, 1.26636E-02), # Brown1/Ri 20180802 - (3, 1, 441, -1.8872 , 0.23461 , -3.0381 , 2.1312 , 2.00000E-04, 118.82 , -2.60, 0.50, 2.09271E-02), # iawind/Ri 20180802 - (3, 1, 442, 4.54924E-02, 0.22905 , -11.550 , 2.1829 , 1.00000E-07, 1.00000E-02, -2.60, 0.50, 1.26421E-02), # NGM1/Ri 20180808 - (3, 1, 443, 2.4393 , 0.25681 , -19.622 , 1.9469 , 6.23218E-11, 1.00951E-05, -2.60, 0.50, 3.84527E-02), # NGM2/Ri 20180802 - (3, 1, 444, 0.19831 , 0.26349 , -10.620 , 1.8976 , 1.66930E-07, 1.09409E-02, -2.60, 0.50, 1.31172E-02), # SCHGW/Ri 20180802 - (3, 1, 445, 4.5253 , 0.46012 , -15.486 , 1.0867 , 7.12092E-09, 1.82737E-04, -2.60, 0.50, 4.93738E-02), # TROPG/Z 20180802 - (3, 1, 446, -3.8189 , 0.59022 , 2.0652 , 0.84715 , 0.50000 , 60.000 , -2.60, 0.50, 7.96821E-02), # SPEED 20180808 - (3, 1, 447, 3.6427 , 0.26788 , -23.304 , 1.8665 , 4.05677E-11, 1.83311E-07, -2.60, 0.50, 1.83423E-02), # -Stone 20180802 - (3, 1, 448, 4.3481 , 0.34335 , -20.236 , 1.4562 , 6.33783E-11, 5.67242E-07, -2.60, 0.50, 1.26939E-02), # -NVA 20180802 - (3, 1, 449, 3.2134 , 0.17554 , -33.118 , 2.8484 , 1.00000E-17, 5.50315E-10, -2.60, 0.50, 7.20866E-03), # NCSU1 20180802 - (3, 1, 450, 2.9850 , 0.18822 , -29.674 , 2.6565 , 6.61638E-17, 1.46282E-09, -2.60, 0.50, 1.02704E-02), # NCSU2/Ri 20180802 - (3, 1, 451, 2.4582 , 1.0089 , -5.0135 , 0.49558 , 1.0E-4 , 0.10 , -2.60, 0.50, 1.34073E-01), # EDRLUN 20180802 - (3, 1, 452, -0.37495 , 0.27135 , -8.1998 , 1.8426 , 6.61686E-08, 0.21950 , -2.60, 0.50, 1.56688E-02), # wsq 20180802 - (3, 1, 453, -0.36791 , 0.18283 , -12.208 , 2.7348 , 9.20140E-09, 0.15280 , -2.60, 0.50, 9.41195E-03), # wsq/Ri 20180802 - (3, 1, 454, -0.20864 , 0.20356 , -11.748 , 2.4563 , 6.27787E-08, 2.76825E-02, -2.60, 0.50, 2.07689E-02), # EDR/Ri 20180802 - (3, 1, 455, -0.29609 , 0.19267 , -11.958 , 2.5951 , 9.33191E-08, 2.62733E-02, -2.60, 0.50, 1.84821E-02), # EDRLL/Ri 20180802 - (3, 1, 456, -0.89529 , 0.22537 , -7.5640 , 2.2186 , 5.80959E-06, 1.8006 , -2.60, 0.50, 2.27195E-02), # SIGW 20180802 - (3, 1, 457, -0.71093 , 0.16929 , -11.159 , 2.9535 , 6.65029E-08, 0.99305 , -2.60, 0.50, 1.36341E-02), # SIGW/Ri 20180802 - (3, 1, 458, 3.1919 , 0.21968 , -26.365 , 2.2760 , 7.39797E-15, 1.51581E-08, -2.60, 0.50, 1.62091E-02), # F2D/Ri 20180802 - (3, 1, 459, 3.2417 , 0.22508 , -25.953 , 2.2214 , 5.00000E-14, 1.04897E-08, -2.60, 0.50, 9.92388E-03), # F2DTW/Ri 20180802 - (3, 1, 460, 3.2745 , 0.22379 , -26.250 , 2.2342 , 9.26976E-15, 1.64796E-08, -2.60, 0.50, 1.61025E-02), # F3D/Ri 20180802 - (3, 1, 461, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -2.60, 0.50, -9.99900E+03), # EDRM (ARPEGE ONLY) - (3, 1, 462, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -2.60, 0.50, -9.99900E+03), # MOGCLIMO (not used) - (3, 1, 463, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -2.60, 0.50, -9.99900E+03), # SOGCLIMO (not used) - (3, 1, 464, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -2.60, 0.50, -9.99900E+03), # MWTCLIMO (not used) - (3, 1, 465, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (3, 1, 466, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (3, 1, 467, -1.3215 , 0.26763 , -4.7772 , 1.8682 , 7.03488E-05, 14.557 , -2.60, 0.50, 1.64565E-02), # RTKE 20180802 - (3, 1, 468, -1.0365 , 0.18733 , -8.3463 , 2.6691 , 6.16924E-07, 13.740 , -2.60, 0.50, 1.23539E-02), # RTKE/Ri 20180802 - (3, 1, 469, -3.0763 , 0.39659 , 1.2010 , 1.2607 , 0.10000 , 200.00 , -2.60, 0.50, 2.23338E-02), # VARE 20180808 - (3, 1, 470, -2.0302 , 0.20230 , -2.8167 , 2.4716 , 1.00000E-04, 100.00 , -2.60, 0.50, 1.70517E-02), # VARE/Ri 20180808 -# Specify MWT dignostic fit parameters: upper-levels, stable - (3, 1, 471, -1.5343 , 0.13826 , -7.7080 , 3.6164 , 6.42734E-04, 2052.3 , -2.60, 0.50, 5.64528E-03), # MWT1 20180802 - (3, 1, 472, -1.4469 , 0.19973 , -5.7736 , 2.5034 , 8.14908E-04, 17.384 , -2.60, 0.50, 1.86795E-02), # MWT2 20180802 - (3, 1, 473, 1.3958 , 0.21476 , -18.606 , 2.3282 , 8.20091E-09, 1.11712E-04, -2.60, 0.50, 5.39009E-03), # MWT3 20180802 - (3, 1, 474, -4.8002 , 0.36657 , 6.0021 , 1.3640 , 35.922 , 1.23827E+05, -2.60, 0.50, 4.90571E-02), # MWT4 20180802 - (3, 1, 475, -0.64785 , 0.28455 , -6.8605 , 1.7572 , 1.00000E-04, 1.0000 , -2.60, 0.50, 2.38638E-02), # MWT5 20180802 - (3, 1, 476, 0.40989 , 0.17178 , -17.522 , 2.9108 , 5.53521E-08, 1.72693E-02, -2.60, 0.50, 1.04227E-02), # MWT13 20180802 - (3, 1, 477, -1.6597 , 0.20267 , -4.6393 , 2.4670 , 1.00000E-04, 1000.0 , -2.60, 0.50, 2.17469E-02), # MWT14 20180802 - (3, 1, 478, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -2.60, 0.50, -9.99900E+03), # TKE_GWB (don't use with fv3) - (3, 1, 479, -1.3176 , 0.36205 , -3.5421 , 1.3810 , 6.41257E-04, 74.654 , -2.60, 0.50, 5.37181E-02), # MWT6 20180802 - (3, 1, 480, -2.1969 , 0.18637 , -2.1631 , 2.6828 , 7.39306E-03, 17276. , -2.60, 0.50, 2.02575E-02), # MWT7 20180802 - (3, 1, 481, -0.19615 , 0.20184 , -11.910 , 2.4772 , 9.49044E-07, 0.16147 , -2.60, 0.50, 1.53562E-02), # MWT8 20180802 - (3, 1, 482, -3.2987 , 0.19690 , 3.5483 , 2.5394 , 0.10000 , 50000. , -2.60, 0.50, 2.81714E-02), # MWT9 20180808 - (3, 1, 483, -1.6960 , 0.21101 , -4.2841 , 2.3696 , 8.82159E-04, 105.86 , -2.60, 0.50, 2.32196E-02), # MWT10 20180802 - (3, 1, 484, -1.5879 , 0.35315 , -2.8658 , 1.4158 , 1.00000E-03, 135.28 , -2.60, 0.50, 5.17723E-02), # MWT11 20180802 - (3, 1, 485, 0.52471 , 0.46739 , -6.6855 , 1.0698 , 7.06420E-05, 1.2755 , -2.60, 0.50, 8.31906E-02), # MWT12 20180802 -# Specify CIT dignostic fit parameters: region= 3, stable , inoutcloud - (3, 1, 486, 2.0060 , 0.51885 , -8.8774 , 0.96368 , 1.00000E-05, 3.20686E-02, -1.8600 , 0.46000, 5.00776E-02), # CONDHEAT 20180802 - (3, 1, 487, -1.380 , 0.1188 , -6.900 , 5.049 , 1.0000E-09, 5000. , -2.20 , 0.600 , 4.1436E-03), # - (3, 1, 488, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -1.8600 , 0.46000, -9.99900E+03), # UNDEF - (3, 1, 489, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -1.8600 , 0.46000, -9.99900E+03), # UNDEF - (3, 1, 490, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -1.8600 , 0.46000, -9.99900E+03), # UNDEF - (3, 1, 491, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -1.8600 , 0.46000, -9.99900E+03), # UNDEF - (3, 1, 492, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -1.8600 , 0.46000, -9.99900E+03), # UNDEF - (3, 1, 493, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -1.8600 , 0.46000, -9.99900E+03), # UNDEF - (3, 1, 494, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -1.8600 , 0.46000, -9.99900E+03), # UNDEF - (3, 1, 495, -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -9999.0 , -1.8600 , 0.46000, -9.99900E+03), # UNDEF -# Specify GTG dignostic fit parameters: upper-levels, stable - (3, 1, 496, 0.43809 , 1.0758 , -2.8240 , 0.46477 , 2.00000E-02, 0.50000 , -2.60, 0.50, 7.72560E-02), # GTGDEF 20180802 - (3, 1, 497, -0.17481 , 0.83874 , -2.8915 , 0.59613 , 2.00000E-02, 0.50000 , -2.60, 0.50, 8.48073E-02), # GTGMWT 20180802 - (3, 1, 498, -1.3298 , 0.31160 , -4.0765 , 1.6046 , 2.00000E-02, 0.25000 , -1.86, 0.46, 3.62710E-02), # GTGCIT 20180802 - (3, 1, 499, 0.15447 , 0.98588 , -2.7939 , 0.50716 , 2.00000E-02, 0.50000 , -2.60, 0.50, 6.71166E-02), # GTGMAX2 20180802 - (3, 1, 500, -0.19250 , 0.87208 , -2.7607 , 0.57334 , 2.00000E-02, 0.40000 , -2.60, 0.50, 5.79710E-02) # GTGMAX3 20180802 - ); -# -# end section 2 diff --git a/parm/gtg_imprintings.txt b/parm/gtg_imprintings.txt deleted file mode 100644 index 29ed7eb407..0000000000 --- a/parm/gtg_imprintings.txt +++ /dev/null @@ -1,19132 +0,0 @@ -fillnumber= 4 -nx= 3072 -ny= 1536 - i,j= - 648 384 - 649 384 - 650 384 - 651 384 - 652 384 - 653 384 - 654 384 - 655 384 - 656 384 - 657 384 - 658 384 - 659 384 - 660 384 - 661 384 - 662 384 - 663 384 - 664 384 - 665 384 - 666 384 - 667 384 - 668 384 - 669 384 - 670 384 - 671 384 - 672 384 - 673 384 - 674 384 - 675 384 - 676 384 - 677 384 - 678 384 - 679 384 - 680 384 - 681 384 - 682 384 - 683 384 - 684 384 - 685 384 - 686 384 - 687 384 - 688 384 - 689 384 - 690 384 - 691 384 - 692 384 - 693 384 - 694 384 - 695 384 - 696 384 - 697 384 - 698 384 - 699 384 - 700 384 - 701 384 - 702 384 - 703 384 - 704 384 - 705 384 - 706 384 - 707 384 - 708 384 - 709 384 - 710 384 - 711 384 - 712 384 - 713 384 - 714 384 - 715 384 - 716 384 - 717 384 - 718 384 - 719 384 - 1416 384 - 1417 384 - 1418 384 - 1419 384 - 1420 384 - 1421 384 - 1422 384 - 1423 384 - 1424 384 - 1425 384 - 1426 384 - 1427 384 - 1428 384 - 1429 384 - 1430 384 - 1431 384 - 1432 384 - 1433 384 - 1434 384 - 1435 384 - 1436 384 - 1437 384 - 1438 384 - 1439 384 - 1440 384 - 1441 384 - 1442 384 - 1443 384 - 1444 384 - 1445 384 - 1446 384 - 1447 384 - 1448 384 - 1449 384 - 1450 384 - 1451 384 - 1452 384 - 1453 384 - 1454 384 - 1455 384 - 1456 384 - 1457 384 - 1458 384 - 1459 384 - 1460 384 - 1461 384 - 1462 384 - 1463 384 - 1464 384 - 1465 384 - 1466 384 - 1467 384 - 1468 384 - 1469 384 - 1470 384 - 1471 384 - 1472 384 - 1473 384 - 1474 384 - 1475 384 - 1476 384 - 1477 384 - 1478 384 - 1479 384 - 1480 384 - 1481 384 - 1482 384 - 1483 384 - 1484 384 - 1485 384 - 1486 384 - 1487 384 - 2184 384 - 2185 384 - 2186 384 - 2187 384 - 2188 384 - 2189 384 - 2190 384 - 2191 384 - 2192 384 - 2193 384 - 2194 384 - 2195 384 - 2196 384 - 2197 384 - 2198 384 - 2199 384 - 2200 384 - 2201 384 - 2202 384 - 2203 384 - 2204 384 - 2205 384 - 2206 384 - 2207 384 - 2208 384 - 2209 384 - 2210 384 - 2211 384 - 2212 384 - 2213 384 - 2214 384 - 2215 384 - 2216 384 - 2217 384 - 2218 384 - 2219 384 - 2220 384 - 2221 384 - 2222 384 - 2223 384 - 2224 384 - 2225 384 - 2226 384 - 2227 384 - 2228 384 - 2229 384 - 2230 384 - 2231 384 - 2232 384 - 2233 384 - 2234 384 - 2235 384 - 2236 384 - 2237 384 - 2238 384 - 2239 384 - 2240 384 - 2241 384 - 2242 384 - 2243 384 - 2244 384 - 2245 384 - 2246 384 - 2247 384 - 2248 384 - 2249 384 - 2250 384 - 2251 384 - 2252 384 - 2253 384 - 2254 384 - 2255 384 - 2952 384 - 2953 384 - 2954 384 - 2955 384 - 2956 384 - 2957 384 - 2958 384 - 2959 384 - 2960 384 - 2961 384 - 2962 384 - 2963 384 - 2964 384 - 2965 384 - 2966 384 - 2967 384 - 2968 384 - 2969 384 - 2970 384 - 2971 384 - 2972 384 - 2973 384 - 2974 384 - 2975 384 - 2976 384 - 2977 384 - 2978 384 - 2979 384 - 2980 384 - 2981 384 - 2982 384 - 2983 384 - 2984 384 - 2985 384 - 2986 384 - 2987 384 - 2988 384 - 2989 384 - 2990 384 - 2991 384 - 2992 384 - 2993 384 - 2994 384 - 2995 384 - 2996 384 - 2997 384 - 2998 384 - 2999 384 - 3000 384 - 3001 384 - 3002 384 - 3003 384 - 3004 384 - 3005 384 - 3006 384 - 3007 384 - 3008 384 - 3009 384 - 3010 384 - 3011 384 - 3012 384 - 3013 384 - 3014 384 - 3015 384 - 3016 384 - 3017 384 - 3018 384 - 3019 384 - 3020 384 - 3021 384 - 3022 384 - 3023 384 - 627 385 - 628 385 - 629 385 - 630 385 - 631 385 - 632 385 - 633 385 - 634 385 - 635 385 - 636 385 - 637 385 - 638 385 - 639 385 - 640 385 - 641 385 - 642 385 - 643 385 - 644 385 - 645 385 - 646 385 - 647 385 - 648 385 - 649 385 - 650 385 - 651 385 - 652 385 - 653 385 - 654 385 - 655 385 - 656 385 - 657 385 - 658 385 - 659 385 - 660 385 - 661 385 - 662 385 - 663 385 - 664 385 - 665 385 - 666 385 - 667 385 - 668 385 - 669 385 - 670 385 - 671 385 - 672 385 - 673 385 - 674 385 - 675 385 - 676 385 - 677 385 - 678 385 - 679 385 - 680 385 - 681 385 - 682 385 - 683 385 - 684 385 - 685 385 - 686 385 - 687 385 - 688 385 - 689 385 - 690 385 - 691 385 - 692 385 - 693 385 - 694 385 - 695 385 - 696 385 - 697 385 - 698 385 - 699 385 - 700 385 - 701 385 - 702 385 - 703 385 - 704 385 - 705 385 - 706 385 - 707 385 - 708 385 - 709 385 - 710 385 - 711 385 - 712 385 - 713 385 - 714 385 - 715 385 - 716 385 - 717 385 - 718 385 - 719 385 - 720 385 - 721 385 - 722 385 - 723 385 - 724 385 - 725 385 - 726 385 - 727 385 - 728 385 - 729 385 - 730 385 - 731 385 - 732 385 - 733 385 - 734 385 - 735 385 - 736 385 - 737 385 - 738 385 - 739 385 - 740 385 - 1395 385 - 1396 385 - 1397 385 - 1398 385 - 1399 385 - 1400 385 - 1401 385 - 1402 385 - 1403 385 - 1404 385 - 1405 385 - 1406 385 - 1407 385 - 1408 385 - 1409 385 - 1410 385 - 1411 385 - 1412 385 - 1413 385 - 1414 385 - 1415 385 - 1416 385 - 1417 385 - 1418 385 - 1419 385 - 1420 385 - 1421 385 - 1422 385 - 1423 385 - 1424 385 - 1425 385 - 1426 385 - 1427 385 - 1428 385 - 1429 385 - 1430 385 - 1431 385 - 1432 385 - 1433 385 - 1434 385 - 1435 385 - 1436 385 - 1437 385 - 1438 385 - 1439 385 - 1440 385 - 1441 385 - 1442 385 - 1443 385 - 1444 385 - 1445 385 - 1446 385 - 1447 385 - 1448 385 - 1449 385 - 1450 385 - 1451 385 - 1452 385 - 1453 385 - 1454 385 - 1455 385 - 1456 385 - 1457 385 - 1458 385 - 1459 385 - 1460 385 - 1461 385 - 1462 385 - 1463 385 - 1464 385 - 1465 385 - 1466 385 - 1467 385 - 1468 385 - 1469 385 - 1470 385 - 1471 385 - 1472 385 - 1473 385 - 1474 385 - 1475 385 - 1476 385 - 1477 385 - 1478 385 - 1479 385 - 1480 385 - 1481 385 - 1482 385 - 1483 385 - 1484 385 - 1485 385 - 1486 385 - 1487 385 - 1488 385 - 1489 385 - 1490 385 - 1491 385 - 1492 385 - 1493 385 - 1494 385 - 1495 385 - 1496 385 - 1497 385 - 1498 385 - 1499 385 - 1500 385 - 1501 385 - 1502 385 - 1503 385 - 1504 385 - 1505 385 - 1506 385 - 1507 385 - 1508 385 - 2163 385 - 2164 385 - 2165 385 - 2166 385 - 2167 385 - 2168 385 - 2169 385 - 2170 385 - 2171 385 - 2172 385 - 2173 385 - 2174 385 - 2175 385 - 2176 385 - 2177 385 - 2178 385 - 2179 385 - 2180 385 - 2181 385 - 2182 385 - 2183 385 - 2184 385 - 2185 385 - 2186 385 - 2187 385 - 2188 385 - 2189 385 - 2190 385 - 2191 385 - 2192 385 - 2193 385 - 2194 385 - 2195 385 - 2196 385 - 2197 385 - 2198 385 - 2199 385 - 2200 385 - 2201 385 - 2202 385 - 2203 385 - 2204 385 - 2205 385 - 2206 385 - 2207 385 - 2208 385 - 2209 385 - 2210 385 - 2211 385 - 2212 385 - 2213 385 - 2214 385 - 2215 385 - 2216 385 - 2217 385 - 2218 385 - 2219 385 - 2220 385 - 2221 385 - 2222 385 - 2223 385 - 2224 385 - 2225 385 - 2226 385 - 2227 385 - 2228 385 - 2229 385 - 2230 385 - 2231 385 - 2232 385 - 2233 385 - 2234 385 - 2235 385 - 2236 385 - 2237 385 - 2238 385 - 2239 385 - 2240 385 - 2241 385 - 2242 385 - 2243 385 - 2244 385 - 2245 385 - 2246 385 - 2247 385 - 2248 385 - 2249 385 - 2250 385 - 2251 385 - 2252 385 - 2253 385 - 2254 385 - 2255 385 - 2256 385 - 2257 385 - 2258 385 - 2259 385 - 2260 385 - 2261 385 - 2262 385 - 2263 385 - 2264 385 - 2265 385 - 2266 385 - 2267 385 - 2268 385 - 2269 385 - 2270 385 - 2271 385 - 2272 385 - 2273 385 - 2274 385 - 2275 385 - 2276 385 - 2931 385 - 2932 385 - 2933 385 - 2934 385 - 2935 385 - 2936 385 - 2937 385 - 2938 385 - 2939 385 - 2940 385 - 2941 385 - 2942 385 - 2943 385 - 2944 385 - 2945 385 - 2946 385 - 2947 385 - 2948 385 - 2949 385 - 2950 385 - 2951 385 - 2952 385 - 2953 385 - 2954 385 - 2955 385 - 2956 385 - 2957 385 - 2958 385 - 2959 385 - 2960 385 - 2961 385 - 2962 385 - 2963 385 - 2964 385 - 2965 385 - 2966 385 - 2967 385 - 2968 385 - 2969 385 - 2970 385 - 2971 385 - 2972 385 - 2973 385 - 2974 385 - 2975 385 - 2976 385 - 2977 385 - 2978 385 - 2979 385 - 2980 385 - 2981 385 - 2982 385 - 2983 385 - 2984 385 - 2985 385 - 2986 385 - 2987 385 - 2988 385 - 2989 385 - 2990 385 - 2991 385 - 2992 385 - 2993 385 - 2994 385 - 2995 385 - 2996 385 - 2997 385 - 2998 385 - 2999 385 - 3000 385 - 3001 385 - 3002 385 - 3003 385 - 3004 385 - 3005 385 - 3006 385 - 3007 385 - 3008 385 - 3009 385 - 3010 385 - 3011 385 - 3012 385 - 3013 385 - 3014 385 - 3015 385 - 3016 385 - 3017 385 - 3018 385 - 3019 385 - 3020 385 - 3021 385 - 3022 385 - 3023 385 - 3024 385 - 3025 385 - 3026 385 - 3027 385 - 3028 385 - 3029 385 - 3030 385 - 3031 385 - 3032 385 - 3033 385 - 3034 385 - 3035 385 - 3036 385 - 3037 385 - 3038 385 - 3039 385 - 3040 385 - 3041 385 - 3042 385 - 3043 385 - 3044 385 - 612 386 - 613 386 - 614 386 - 615 386 - 616 386 - 617 386 - 618 386 - 619 386 - 620 386 - 621 386 - 622 386 - 623 386 - 624 386 - 625 386 - 626 386 - 627 386 - 628 386 - 629 386 - 630 386 - 631 386 - 632 386 - 633 386 - 634 386 - 635 386 - 636 386 - 637 386 - 638 386 - 639 386 - 640 386 - 641 386 - 642 386 - 643 386 - 644 386 - 645 386 - 646 386 - 647 386 - 648 386 - 649 386 - 719 386 - 720 386 - 721 386 - 722 386 - 723 386 - 724 386 - 725 386 - 726 386 - 727 386 - 728 386 - 729 386 - 730 386 - 731 386 - 732 386 - 733 386 - 734 386 - 735 386 - 736 386 - 737 386 - 738 386 - 739 386 - 740 386 - 741 386 - 742 386 - 743 386 - 744 386 - 745 386 - 746 386 - 747 386 - 748 386 - 749 386 - 750 386 - 751 386 - 752 386 - 753 386 - 754 386 - 755 386 - 1380 386 - 1381 386 - 1382 386 - 1383 386 - 1384 386 - 1385 386 - 1386 386 - 1387 386 - 1388 386 - 1389 386 - 1390 386 - 1391 386 - 1392 386 - 1393 386 - 1394 386 - 1395 386 - 1396 386 - 1397 386 - 1398 386 - 1399 386 - 1400 386 - 1401 386 - 1402 386 - 1403 386 - 1404 386 - 1405 386 - 1406 386 - 1407 386 - 1408 386 - 1409 386 - 1410 386 - 1411 386 - 1412 386 - 1413 386 - 1414 386 - 1415 386 - 1416 386 - 1417 386 - 1487 386 - 1488 386 - 1489 386 - 1490 386 - 1491 386 - 1492 386 - 1493 386 - 1494 386 - 1495 386 - 1496 386 - 1497 386 - 1498 386 - 1499 386 - 1500 386 - 1501 386 - 1502 386 - 1503 386 - 1504 386 - 1505 386 - 1506 386 - 1507 386 - 1508 386 - 1509 386 - 1510 386 - 1511 386 - 1512 386 - 1513 386 - 1514 386 - 1515 386 - 1516 386 - 1517 386 - 1518 386 - 1519 386 - 1520 386 - 1521 386 - 1522 386 - 1523 386 - 2148 386 - 2149 386 - 2150 386 - 2151 386 - 2152 386 - 2153 386 - 2154 386 - 2155 386 - 2156 386 - 2157 386 - 2158 386 - 2159 386 - 2160 386 - 2161 386 - 2162 386 - 2163 386 - 2164 386 - 2165 386 - 2166 386 - 2167 386 - 2168 386 - 2169 386 - 2170 386 - 2171 386 - 2172 386 - 2173 386 - 2174 386 - 2175 386 - 2176 386 - 2177 386 - 2178 386 - 2179 386 - 2180 386 - 2181 386 - 2182 386 - 2183 386 - 2184 386 - 2185 386 - 2255 386 - 2256 386 - 2257 386 - 2258 386 - 2259 386 - 2260 386 - 2261 386 - 2262 386 - 2263 386 - 2264 386 - 2265 386 - 2266 386 - 2267 386 - 2268 386 - 2269 386 - 2270 386 - 2271 386 - 2272 386 - 2273 386 - 2274 386 - 2275 386 - 2276 386 - 2277 386 - 2278 386 - 2279 386 - 2280 386 - 2281 386 - 2282 386 - 2283 386 - 2284 386 - 2285 386 - 2286 386 - 2287 386 - 2288 386 - 2289 386 - 2290 386 - 2291 386 - 2916 386 - 2917 386 - 2918 386 - 2919 386 - 2920 386 - 2921 386 - 2922 386 - 2923 386 - 2924 386 - 2925 386 - 2926 386 - 2927 386 - 2928 386 - 2929 386 - 2930 386 - 2931 386 - 2932 386 - 2933 386 - 2934 386 - 2935 386 - 2936 386 - 2937 386 - 2938 386 - 2939 386 - 2940 386 - 2941 386 - 2942 386 - 2943 386 - 2944 386 - 2945 386 - 2946 386 - 2947 386 - 2948 386 - 2949 386 - 2950 386 - 2951 386 - 2952 386 - 2953 386 - 3023 386 - 3024 386 - 3025 386 - 3026 386 - 3027 386 - 3028 386 - 3029 386 - 3030 386 - 3031 386 - 3032 386 - 3033 386 - 3034 386 - 3035 386 - 3036 386 - 3037 386 - 3038 386 - 3039 386 - 3040 386 - 3041 386 - 3042 386 - 3043 386 - 3044 386 - 3045 386 - 3046 386 - 3047 386 - 3048 386 - 3049 386 - 3050 386 - 3051 386 - 3052 386 - 3053 386 - 3054 386 - 3055 386 - 3056 386 - 3057 386 - 3058 386 - 3059 386 - 599 387 - 600 387 - 601 387 - 602 387 - 603 387 - 604 387 - 605 387 - 606 387 - 607 387 - 608 387 - 609 387 - 610 387 - 611 387 - 612 387 - 613 387 - 614 387 - 615 387 - 616 387 - 617 387 - 618 387 - 619 387 - 620 387 - 621 387 - 622 387 - 623 387 - 624 387 - 625 387 - 626 387 - 627 387 - 628 387 - 740 387 - 741 387 - 742 387 - 743 387 - 744 387 - 745 387 - 746 387 - 747 387 - 748 387 - 749 387 - 750 387 - 751 387 - 752 387 - 753 387 - 754 387 - 755 387 - 756 387 - 757 387 - 758 387 - 759 387 - 760 387 - 761 387 - 762 387 - 763 387 - 764 387 - 765 387 - 766 387 - 767 387 - 768 387 - 1367 387 - 1368 387 - 1369 387 - 1370 387 - 1371 387 - 1372 387 - 1373 387 - 1374 387 - 1375 387 - 1376 387 - 1377 387 - 1378 387 - 1379 387 - 1380 387 - 1381 387 - 1382 387 - 1383 387 - 1384 387 - 1385 387 - 1386 387 - 1387 387 - 1388 387 - 1389 387 - 1390 387 - 1391 387 - 1392 387 - 1393 387 - 1394 387 - 1395 387 - 1396 387 - 1508 387 - 1509 387 - 1510 387 - 1511 387 - 1512 387 - 1513 387 - 1514 387 - 1515 387 - 1516 387 - 1517 387 - 1518 387 - 1519 387 - 1520 387 - 1521 387 - 1522 387 - 1523 387 - 1524 387 - 1525 387 - 1526 387 - 1527 387 - 1528 387 - 1529 387 - 1530 387 - 1531 387 - 1532 387 - 1533 387 - 1534 387 - 1535 387 - 1536 387 - 2135 387 - 2136 387 - 2137 387 - 2138 387 - 2139 387 - 2140 387 - 2141 387 - 2142 387 - 2143 387 - 2144 387 - 2145 387 - 2146 387 - 2147 387 - 2148 387 - 2149 387 - 2150 387 - 2151 387 - 2152 387 - 2153 387 - 2154 387 - 2155 387 - 2156 387 - 2157 387 - 2158 387 - 2159 387 - 2160 387 - 2161 387 - 2162 387 - 2163 387 - 2164 387 - 2276 387 - 2277 387 - 2278 387 - 2279 387 - 2280 387 - 2281 387 - 2282 387 - 2283 387 - 2284 387 - 2285 387 - 2286 387 - 2287 387 - 2288 387 - 2289 387 - 2290 387 - 2291 387 - 2292 387 - 2293 387 - 2294 387 - 2295 387 - 2296 387 - 2297 387 - 2298 387 - 2299 387 - 2300 387 - 2301 387 - 2302 387 - 2303 387 - 2304 387 - 2903 387 - 2904 387 - 2905 387 - 2906 387 - 2907 387 - 2908 387 - 2909 387 - 2910 387 - 2911 387 - 2912 387 - 2913 387 - 2914 387 - 2915 387 - 2916 387 - 2917 387 - 2918 387 - 2919 387 - 2920 387 - 2921 387 - 2922 387 - 2923 387 - 2924 387 - 2925 387 - 2926 387 - 2927 387 - 2928 387 - 2929 387 - 2930 387 - 2931 387 - 2932 387 - 3044 387 - 3045 387 - 3046 387 - 3047 387 - 3048 387 - 3049 387 - 3050 387 - 3051 387 - 3052 387 - 3053 387 - 3054 387 - 3055 387 - 3056 387 - 3057 387 - 3058 387 - 3059 387 - 3060 387 - 3061 387 - 3062 387 - 3063 387 - 3064 387 - 3065 387 - 3066 387 - 3067 387 - 3068 387 - 3069 387 - 3070 387 - 3071 387 - 3072 387 - 1 388 - 2 388 - 3 388 - 4 388 - 5 388 - 6 388 - 7 388 - 8 388 - 9 388 - 10 388 - 11 388 - 588 388 - 589 388 - 590 388 - 591 388 - 592 388 - 593 388 - 594 388 - 595 388 - 596 388 - 597 388 - 598 388 - 599 388 - 600 388 - 601 388 - 602 388 - 603 388 - 604 388 - 605 388 - 606 388 - 607 388 - 608 388 - 609 388 - 610 388 - 611 388 - 612 388 - 755 388 - 756 388 - 757 388 - 758 388 - 759 388 - 760 388 - 761 388 - 762 388 - 763 388 - 764 388 - 765 388 - 766 388 - 767 388 - 768 388 - 769 388 - 770 388 - 771 388 - 772 388 - 773 388 - 774 388 - 775 388 - 776 388 - 777 388 - 778 388 - 779 388 - 1356 388 - 1357 388 - 1358 388 - 1359 388 - 1360 388 - 1361 388 - 1362 388 - 1363 388 - 1364 388 - 1365 388 - 1366 388 - 1367 388 - 1368 388 - 1369 388 - 1370 388 - 1371 388 - 1372 388 - 1373 388 - 1374 388 - 1375 388 - 1376 388 - 1377 388 - 1378 388 - 1379 388 - 1380 388 - 1523 388 - 1524 388 - 1525 388 - 1526 388 - 1527 388 - 1528 388 - 1529 388 - 1530 388 - 1531 388 - 1532 388 - 1533 388 - 1534 388 - 1535 388 - 1536 388 - 1537 388 - 1538 388 - 1539 388 - 1540 388 - 1541 388 - 1542 388 - 1543 388 - 1544 388 - 1545 388 - 1546 388 - 1547 388 - 2124 388 - 2125 388 - 2126 388 - 2127 388 - 2128 388 - 2129 388 - 2130 388 - 2131 388 - 2132 388 - 2133 388 - 2134 388 - 2135 388 - 2136 388 - 2137 388 - 2138 388 - 2139 388 - 2140 388 - 2141 388 - 2142 388 - 2143 388 - 2144 388 - 2145 388 - 2146 388 - 2147 388 - 2148 388 - 2291 388 - 2292 388 - 2293 388 - 2294 388 - 2295 388 - 2296 388 - 2297 388 - 2298 388 - 2299 388 - 2300 388 - 2301 388 - 2302 388 - 2303 388 - 2304 388 - 2305 388 - 2306 388 - 2307 388 - 2308 388 - 2309 388 - 2310 388 - 2311 388 - 2312 388 - 2313 388 - 2314 388 - 2315 388 - 2892 388 - 2893 388 - 2894 388 - 2895 388 - 2896 388 - 2897 388 - 2898 388 - 2899 388 - 2900 388 - 2901 388 - 2902 388 - 2903 388 - 2904 388 - 2905 388 - 2906 388 - 2907 388 - 2908 388 - 2909 388 - 2910 388 - 2911 388 - 2912 388 - 2913 388 - 2914 388 - 2915 388 - 2916 388 - 3059 388 - 3060 388 - 3061 388 - 3062 388 - 3063 388 - 3064 388 - 3065 388 - 3066 388 - 3067 388 - 3068 388 - 3069 388 - 3070 388 - 3071 388 - 3072 388 - 1 389 - 2 389 - 3 389 - 4 389 - 5 389 - 6 389 - 7 389 - 8 389 - 9 389 - 10 389 - 11 389 - 12 389 - 13 389 - 14 389 - 15 389 - 16 389 - 17 389 - 18 389 - 19 389 - 20 389 - 579 389 - 580 389 - 581 389 - 582 389 - 583 389 - 584 389 - 585 389 - 586 389 - 587 389 - 588 389 - 589 389 - 590 389 - 591 389 - 592 389 - 593 389 - 594 389 - 595 389 - 596 389 - 597 389 - 598 389 - 599 389 - 600 389 - 768 389 - 769 389 - 770 389 - 771 389 - 772 389 - 773 389 - 774 389 - 775 389 - 776 389 - 777 389 - 778 389 - 779 389 - 780 389 - 781 389 - 782 389 - 783 389 - 784 389 - 785 389 - 786 389 - 787 389 - 788 389 - 1347 389 - 1348 389 - 1349 389 - 1350 389 - 1351 389 - 1352 389 - 1353 389 - 1354 389 - 1355 389 - 1356 389 - 1357 389 - 1358 389 - 1359 389 - 1360 389 - 1361 389 - 1362 389 - 1363 389 - 1364 389 - 1365 389 - 1366 389 - 1367 389 - 1368 389 - 1536 389 - 1537 389 - 1538 389 - 1539 389 - 1540 389 - 1541 389 - 1542 389 - 1543 389 - 1544 389 - 1545 389 - 1546 389 - 1547 389 - 1548 389 - 1549 389 - 1550 389 - 1551 389 - 1552 389 - 1553 389 - 1554 389 - 1555 389 - 1556 389 - 2115 389 - 2116 389 - 2117 389 - 2118 389 - 2119 389 - 2120 389 - 2121 389 - 2122 389 - 2123 389 - 2124 389 - 2125 389 - 2126 389 - 2127 389 - 2128 389 - 2129 389 - 2130 389 - 2131 389 - 2132 389 - 2133 389 - 2134 389 - 2135 389 - 2136 389 - 2304 389 - 2305 389 - 2306 389 - 2307 389 - 2308 389 - 2309 389 - 2310 389 - 2311 389 - 2312 389 - 2313 389 - 2314 389 - 2315 389 - 2316 389 - 2317 389 - 2318 389 - 2319 389 - 2320 389 - 2321 389 - 2322 389 - 2323 389 - 2324 389 - 2883 389 - 2884 389 - 2885 389 - 2886 389 - 2887 389 - 2888 389 - 2889 389 - 2890 389 - 2891 389 - 2892 389 - 2893 389 - 2894 389 - 2895 389 - 2896 389 - 2897 389 - 2898 389 - 2899 389 - 2900 389 - 2901 389 - 2902 389 - 2903 389 - 2904 389 - 3072 389 - 10 390 - 11 390 - 12 390 - 13 390 - 14 390 - 15 390 - 16 390 - 17 390 - 18 390 - 19 390 - 20 390 - 21 390 - 22 390 - 23 390 - 24 390 - 25 390 - 26 390 - 27 390 - 28 390 - 29 390 - 570 390 - 571 390 - 572 390 - 573 390 - 574 390 - 575 390 - 576 390 - 577 390 - 578 390 - 579 390 - 580 390 - 581 390 - 582 390 - 583 390 - 584 390 - 585 390 - 586 390 - 587 390 - 588 390 - 589 390 - 778 390 - 779 390 - 780 390 - 781 390 - 782 390 - 783 390 - 784 390 - 785 390 - 786 390 - 787 390 - 788 390 - 789 390 - 790 390 - 791 390 - 792 390 - 793 390 - 794 390 - 795 390 - 796 390 - 797 390 - 1338 390 - 1339 390 - 1340 390 - 1341 390 - 1342 390 - 1343 390 - 1344 390 - 1345 390 - 1346 390 - 1347 390 - 1348 390 - 1349 390 - 1350 390 - 1351 390 - 1352 390 - 1353 390 - 1354 390 - 1355 390 - 1356 390 - 1357 390 - 1546 390 - 1547 390 - 1548 390 - 1549 390 - 1550 390 - 1551 390 - 1552 390 - 1553 390 - 1554 390 - 1555 390 - 1556 390 - 1557 390 - 1558 390 - 1559 390 - 1560 390 - 1561 390 - 1562 390 - 1563 390 - 1564 390 - 1565 390 - 2106 390 - 2107 390 - 2108 390 - 2109 390 - 2110 390 - 2111 390 - 2112 390 - 2113 390 - 2114 390 - 2115 390 - 2116 390 - 2117 390 - 2118 390 - 2119 390 - 2120 390 - 2121 390 - 2122 390 - 2123 390 - 2124 390 - 2125 390 - 2314 390 - 2315 390 - 2316 390 - 2317 390 - 2318 390 - 2319 390 - 2320 390 - 2321 390 - 2322 390 - 2323 390 - 2324 390 - 2325 390 - 2326 390 - 2327 390 - 2328 390 - 2329 390 - 2330 390 - 2331 390 - 2332 390 - 2333 390 - 2874 390 - 2875 390 - 2876 390 - 2877 390 - 2878 390 - 2879 390 - 2880 390 - 2881 390 - 2882 390 - 2883 390 - 2884 390 - 2885 390 - 2886 390 - 2887 390 - 2888 390 - 2889 390 - 2890 390 - 2891 390 - 2892 390 - 2893 390 - 20 391 - 21 391 - 22 391 - 23 391 - 24 391 - 25 391 - 26 391 - 27 391 - 28 391 - 29 391 - 30 391 - 31 391 - 32 391 - 33 391 - 34 391 - 35 391 - 36 391 - 37 391 - 562 391 - 563 391 - 564 391 - 565 391 - 566 391 - 567 391 - 568 391 - 569 391 - 570 391 - 571 391 - 572 391 - 573 391 - 574 391 - 575 391 - 576 391 - 577 391 - 578 391 - 579 391 - 580 391 - 788 391 - 789 391 - 790 391 - 791 391 - 792 391 - 793 391 - 794 391 - 795 391 - 796 391 - 797 391 - 798 391 - 799 391 - 800 391 - 801 391 - 802 391 - 803 391 - 804 391 - 805 391 - 1330 391 - 1331 391 - 1332 391 - 1333 391 - 1334 391 - 1335 391 - 1336 391 - 1337 391 - 1338 391 - 1339 391 - 1340 391 - 1341 391 - 1342 391 - 1343 391 - 1344 391 - 1345 391 - 1346 391 - 1347 391 - 1348 391 - 1556 391 - 1557 391 - 1558 391 - 1559 391 - 1560 391 - 1561 391 - 1562 391 - 1563 391 - 1564 391 - 1565 391 - 1566 391 - 1567 391 - 1568 391 - 1569 391 - 1570 391 - 1571 391 - 1572 391 - 1573 391 - 2098 391 - 2099 391 - 2100 391 - 2101 391 - 2102 391 - 2103 391 - 2104 391 - 2105 391 - 2106 391 - 2107 391 - 2108 391 - 2109 391 - 2110 391 - 2111 391 - 2112 391 - 2113 391 - 2114 391 - 2115 391 - 2116 391 - 2324 391 - 2325 391 - 2326 391 - 2327 391 - 2328 391 - 2329 391 - 2330 391 - 2331 391 - 2332 391 - 2333 391 - 2334 391 - 2335 391 - 2336 391 - 2337 391 - 2338 391 - 2339 391 - 2340 391 - 2341 391 - 2866 391 - 2867 391 - 2868 391 - 2869 391 - 2870 391 - 2871 391 - 2872 391 - 2873 391 - 2874 391 - 2875 391 - 2876 391 - 2877 391 - 2878 391 - 2879 391 - 2880 391 - 2881 391 - 2882 391 - 2883 391 - 2884 391 - 29 392 - 30 392 - 31 392 - 32 392 - 33 392 - 34 392 - 35 392 - 36 392 - 37 392 - 38 392 - 39 392 - 40 392 - 41 392 - 42 392 - 43 392 - 44 392 - 45 392 - 554 392 - 555 392 - 556 392 - 557 392 - 558 392 - 559 392 - 560 392 - 561 392 - 562 392 - 563 392 - 564 392 - 565 392 - 566 392 - 567 392 - 568 392 - 569 392 - 570 392 - 797 392 - 798 392 - 799 392 - 800 392 - 801 392 - 802 392 - 803 392 - 804 392 - 805 392 - 806 392 - 807 392 - 808 392 - 809 392 - 810 392 - 811 392 - 812 392 - 813 392 - 1322 392 - 1323 392 - 1324 392 - 1325 392 - 1326 392 - 1327 392 - 1328 392 - 1329 392 - 1330 392 - 1331 392 - 1332 392 - 1333 392 - 1334 392 - 1335 392 - 1336 392 - 1337 392 - 1338 392 - 1565 392 - 1566 392 - 1567 392 - 1568 392 - 1569 392 - 1570 392 - 1571 392 - 1572 392 - 1573 392 - 1574 392 - 1575 392 - 1576 392 - 1577 392 - 1578 392 - 1579 392 - 1580 392 - 1581 392 - 2090 392 - 2091 392 - 2092 392 - 2093 392 - 2094 392 - 2095 392 - 2096 392 - 2097 392 - 2098 392 - 2099 392 - 2100 392 - 2101 392 - 2102 392 - 2103 392 - 2104 392 - 2105 392 - 2106 392 - 2333 392 - 2334 392 - 2335 392 - 2336 392 - 2337 392 - 2338 392 - 2339 392 - 2340 392 - 2341 392 - 2342 392 - 2343 392 - 2344 392 - 2345 392 - 2346 392 - 2347 392 - 2348 392 - 2349 392 - 2858 392 - 2859 392 - 2860 392 - 2861 392 - 2862 392 - 2863 392 - 2864 392 - 2865 392 - 2866 392 - 2867 392 - 2868 392 - 2869 392 - 2870 392 - 2871 392 - 2872 392 - 2873 392 - 2874 392 - 37 393 - 38 393 - 39 393 - 40 393 - 41 393 - 42 393 - 43 393 - 44 393 - 45 393 - 46 393 - 47 393 - 48 393 - 49 393 - 50 393 - 51 393 - 52 393 - 547 393 - 548 393 - 549 393 - 550 393 - 551 393 - 552 393 - 553 393 - 554 393 - 555 393 - 556 393 - 557 393 - 558 393 - 559 393 - 560 393 - 561 393 - 562 393 - 805 393 - 806 393 - 807 393 - 808 393 - 809 393 - 810 393 - 811 393 - 812 393 - 813 393 - 814 393 - 815 393 - 816 393 - 817 393 - 818 393 - 819 393 - 820 393 - 1315 393 - 1316 393 - 1317 393 - 1318 393 - 1319 393 - 1320 393 - 1321 393 - 1322 393 - 1323 393 - 1324 393 - 1325 393 - 1326 393 - 1327 393 - 1328 393 - 1329 393 - 1330 393 - 1573 393 - 1574 393 - 1575 393 - 1576 393 - 1577 393 - 1578 393 - 1579 393 - 1580 393 - 1581 393 - 1582 393 - 1583 393 - 1584 393 - 1585 393 - 1586 393 - 1587 393 - 1588 393 - 2083 393 - 2084 393 - 2085 393 - 2086 393 - 2087 393 - 2088 393 - 2089 393 - 2090 393 - 2091 393 - 2092 393 - 2093 393 - 2094 393 - 2095 393 - 2096 393 - 2097 393 - 2098 393 - 2341 393 - 2342 393 - 2343 393 - 2344 393 - 2345 393 - 2346 393 - 2347 393 - 2348 393 - 2349 393 - 2350 393 - 2351 393 - 2352 393 - 2353 393 - 2354 393 - 2355 393 - 2356 393 - 2851 393 - 2852 393 - 2853 393 - 2854 393 - 2855 393 - 2856 393 - 2857 393 - 2858 393 - 2859 393 - 2860 393 - 2861 393 - 2862 393 - 2863 393 - 2864 393 - 2865 393 - 2866 393 - 44 394 - 45 394 - 46 394 - 47 394 - 48 394 - 49 394 - 50 394 - 51 394 - 52 394 - 53 394 - 54 394 - 55 394 - 56 394 - 57 394 - 58 394 - 59 394 - 541 394 - 542 394 - 543 394 - 544 394 - 545 394 - 546 394 - 547 394 - 548 394 - 549 394 - 550 394 - 551 394 - 552 394 - 553 394 - 554 394 - 555 394 - 812 394 - 813 394 - 814 394 - 815 394 - 816 394 - 817 394 - 818 394 - 819 394 - 820 394 - 821 394 - 822 394 - 823 394 - 824 394 - 825 394 - 826 394 - 827 394 - 1309 394 - 1310 394 - 1311 394 - 1312 394 - 1313 394 - 1314 394 - 1315 394 - 1316 394 - 1317 394 - 1318 394 - 1319 394 - 1320 394 - 1321 394 - 1322 394 - 1323 394 - 1580 394 - 1581 394 - 1582 394 - 1583 394 - 1584 394 - 1585 394 - 1586 394 - 1587 394 - 1588 394 - 1589 394 - 1590 394 - 1591 394 - 1592 394 - 1593 394 - 1594 394 - 1595 394 - 2077 394 - 2078 394 - 2079 394 - 2080 394 - 2081 394 - 2082 394 - 2083 394 - 2084 394 - 2085 394 - 2086 394 - 2087 394 - 2088 394 - 2089 394 - 2090 394 - 2091 394 - 2348 394 - 2349 394 - 2350 394 - 2351 394 - 2352 394 - 2353 394 - 2354 394 - 2355 394 - 2356 394 - 2357 394 - 2358 394 - 2359 394 - 2360 394 - 2361 394 - 2362 394 - 2363 394 - 2845 394 - 2846 394 - 2847 394 - 2848 394 - 2849 394 - 2850 394 - 2851 394 - 2852 394 - 2853 394 - 2854 394 - 2855 394 - 2856 394 - 2857 394 - 2858 394 - 2859 394 - 52 395 - 53 395 - 54 395 - 55 395 - 56 395 - 57 395 - 58 395 - 59 395 - 60 395 - 61 395 - 62 395 - 63 395 - 64 395 - 65 395 - 66 395 - 534 395 - 535 395 - 536 395 - 537 395 - 538 395 - 539 395 - 540 395 - 541 395 - 542 395 - 543 395 - 544 395 - 545 395 - 546 395 - 547 395 - 820 395 - 821 395 - 822 395 - 823 395 - 824 395 - 825 395 - 826 395 - 827 395 - 828 395 - 829 395 - 830 395 - 831 395 - 832 395 - 833 395 - 834 395 - 1302 395 - 1303 395 - 1304 395 - 1305 395 - 1306 395 - 1307 395 - 1308 395 - 1309 395 - 1310 395 - 1311 395 - 1312 395 - 1313 395 - 1314 395 - 1315 395 - 1588 395 - 1589 395 - 1590 395 - 1591 395 - 1592 395 - 1593 395 - 1594 395 - 1595 395 - 1596 395 - 1597 395 - 1598 395 - 1599 395 - 1600 395 - 1601 395 - 1602 395 - 2070 395 - 2071 395 - 2072 395 - 2073 395 - 2074 395 - 2075 395 - 2076 395 - 2077 395 - 2078 395 - 2079 395 - 2080 395 - 2081 395 - 2082 395 - 2083 395 - 2356 395 - 2357 395 - 2358 395 - 2359 395 - 2360 395 - 2361 395 - 2362 395 - 2363 395 - 2364 395 - 2365 395 - 2366 395 - 2367 395 - 2368 395 - 2369 395 - 2370 395 - 2838 395 - 2839 395 - 2840 395 - 2841 395 - 2842 395 - 2843 395 - 2844 395 - 2845 395 - 2846 395 - 2847 395 - 2848 395 - 2849 395 - 2850 395 - 2851 395 - 58 396 - 59 396 - 60 396 - 61 396 - 62 396 - 63 396 - 64 396 - 65 396 - 66 396 - 67 396 - 68 396 - 69 396 - 70 396 - 71 396 - 528 396 - 529 396 - 530 396 - 531 396 - 532 396 - 533 396 - 534 396 - 535 396 - 536 396 - 537 396 - 538 396 - 539 396 - 540 396 - 541 396 - 826 396 - 827 396 - 828 396 - 829 396 - 830 396 - 831 396 - 832 396 - 833 396 - 834 396 - 835 396 - 836 396 - 837 396 - 838 396 - 839 396 - 1296 396 - 1297 396 - 1298 396 - 1299 396 - 1300 396 - 1301 396 - 1302 396 - 1303 396 - 1304 396 - 1305 396 - 1306 396 - 1307 396 - 1308 396 - 1309 396 - 1594 396 - 1595 396 - 1596 396 - 1597 396 - 1598 396 - 1599 396 - 1600 396 - 1601 396 - 1602 396 - 1603 396 - 1604 396 - 1605 396 - 1606 396 - 1607 396 - 2064 396 - 2065 396 - 2066 396 - 2067 396 - 2068 396 - 2069 396 - 2070 396 - 2071 396 - 2072 396 - 2073 396 - 2074 396 - 2075 396 - 2076 396 - 2077 396 - 2362 396 - 2363 396 - 2364 396 - 2365 396 - 2366 396 - 2367 396 - 2368 396 - 2369 396 - 2370 396 - 2371 396 - 2372 396 - 2373 396 - 2374 396 - 2375 396 - 2832 396 - 2833 396 - 2834 396 - 2835 396 - 2836 396 - 2837 396 - 2838 396 - 2839 396 - 2840 396 - 2841 396 - 2842 396 - 2843 396 - 2844 396 - 2845 396 - 65 397 - 66 397 - 67 397 - 68 397 - 69 397 - 70 397 - 71 397 - 72 397 - 73 397 - 74 397 - 75 397 - 76 397 - 77 397 - 78 397 - 522 397 - 523 397 - 524 397 - 525 397 - 526 397 - 527 397 - 528 397 - 529 397 - 530 397 - 531 397 - 532 397 - 533 397 - 534 397 - 833 397 - 834 397 - 835 397 - 836 397 - 837 397 - 838 397 - 839 397 - 840 397 - 841 397 - 842 397 - 843 397 - 844 397 - 845 397 - 846 397 - 1290 397 - 1291 397 - 1292 397 - 1293 397 - 1294 397 - 1295 397 - 1296 397 - 1297 397 - 1298 397 - 1299 397 - 1300 397 - 1301 397 - 1302 397 - 1601 397 - 1602 397 - 1603 397 - 1604 397 - 1605 397 - 1606 397 - 1607 397 - 1608 397 - 1609 397 - 1610 397 - 1611 397 - 1612 397 - 1613 397 - 1614 397 - 2058 397 - 2059 397 - 2060 397 - 2061 397 - 2062 397 - 2063 397 - 2064 397 - 2065 397 - 2066 397 - 2067 397 - 2068 397 - 2069 397 - 2070 397 - 2369 397 - 2370 397 - 2371 397 - 2372 397 - 2373 397 - 2374 397 - 2375 397 - 2376 397 - 2377 397 - 2378 397 - 2379 397 - 2380 397 - 2381 397 - 2382 397 - 2826 397 - 2827 397 - 2828 397 - 2829 397 - 2830 397 - 2831 397 - 2832 397 - 2833 397 - 2834 397 - 2835 397 - 2836 397 - 2837 397 - 2838 397 - 71 398 - 72 398 - 73 398 - 74 398 - 75 398 - 76 398 - 77 398 - 78 398 - 79 398 - 80 398 - 81 398 - 82 398 - 83 398 - 84 398 - 516 398 - 517 398 - 518 398 - 519 398 - 520 398 - 521 398 - 522 398 - 523 398 - 524 398 - 525 398 - 526 398 - 527 398 - 528 398 - 839 398 - 840 398 - 841 398 - 842 398 - 843 398 - 844 398 - 845 398 - 846 398 - 847 398 - 848 398 - 849 398 - 850 398 - 851 398 - 852 398 - 1284 398 - 1285 398 - 1286 398 - 1287 398 - 1288 398 - 1289 398 - 1290 398 - 1291 398 - 1292 398 - 1293 398 - 1294 398 - 1295 398 - 1296 398 - 1607 398 - 1608 398 - 1609 398 - 1610 398 - 1611 398 - 1612 398 - 1613 398 - 1614 398 - 1615 398 - 1616 398 - 1617 398 - 1618 398 - 1619 398 - 1620 398 - 2052 398 - 2053 398 - 2054 398 - 2055 398 - 2056 398 - 2057 398 - 2058 398 - 2059 398 - 2060 398 - 2061 398 - 2062 398 - 2063 398 - 2064 398 - 2375 398 - 2376 398 - 2377 398 - 2378 398 - 2379 398 - 2380 398 - 2381 398 - 2382 398 - 2383 398 - 2384 398 - 2385 398 - 2386 398 - 2387 398 - 2388 398 - 2820 398 - 2821 398 - 2822 398 - 2823 398 - 2824 398 - 2825 398 - 2826 398 - 2827 398 - 2828 398 - 2829 398 - 2830 398 - 2831 398 - 2832 398 - 77 399 - 78 399 - 79 399 - 80 399 - 81 399 - 82 399 - 83 399 - 84 399 - 85 399 - 86 399 - 87 399 - 88 399 - 89 399 - 511 399 - 512 399 - 513 399 - 514 399 - 515 399 - 516 399 - 517 399 - 518 399 - 519 399 - 520 399 - 521 399 - 522 399 - 845 399 - 846 399 - 847 399 - 848 399 - 849 399 - 850 399 - 851 399 - 852 399 - 853 399 - 854 399 - 855 399 - 856 399 - 857 399 - 1279 399 - 1280 399 - 1281 399 - 1282 399 - 1283 399 - 1284 399 - 1285 399 - 1286 399 - 1287 399 - 1288 399 - 1289 399 - 1290 399 - 1613 399 - 1614 399 - 1615 399 - 1616 399 - 1617 399 - 1618 399 - 1619 399 - 1620 399 - 1621 399 - 1622 399 - 1623 399 - 1624 399 - 1625 399 - 2047 399 - 2048 399 - 2049 399 - 2050 399 - 2051 399 - 2052 399 - 2053 399 - 2054 399 - 2055 399 - 2056 399 - 2057 399 - 2058 399 - 2381 399 - 2382 399 - 2383 399 - 2384 399 - 2385 399 - 2386 399 - 2387 399 - 2388 399 - 2389 399 - 2390 399 - 2391 399 - 2392 399 - 2393 399 - 2815 399 - 2816 399 - 2817 399 - 2818 399 - 2819 399 - 2820 399 - 2821 399 - 2822 399 - 2823 399 - 2824 399 - 2825 399 - 2826 399 - 83 400 - 84 400 - 85 400 - 86 400 - 87 400 - 88 400 - 89 400 - 90 400 - 91 400 - 92 400 - 93 400 - 94 400 - 505 400 - 506 400 - 507 400 - 508 400 - 509 400 - 510 400 - 511 400 - 512 400 - 513 400 - 514 400 - 515 400 - 516 400 - 851 400 - 852 400 - 853 400 - 854 400 - 855 400 - 856 400 - 857 400 - 858 400 - 859 400 - 860 400 - 861 400 - 862 400 - 1273 400 - 1274 400 - 1275 400 - 1276 400 - 1277 400 - 1278 400 - 1279 400 - 1280 400 - 1281 400 - 1282 400 - 1283 400 - 1284 400 - 1619 400 - 1620 400 - 1621 400 - 1622 400 - 1623 400 - 1624 400 - 1625 400 - 1626 400 - 1627 400 - 1628 400 - 1629 400 - 1630 400 - 2041 400 - 2042 400 - 2043 400 - 2044 400 - 2045 400 - 2046 400 - 2047 400 - 2048 400 - 2049 400 - 2050 400 - 2051 400 - 2052 400 - 2387 400 - 2388 400 - 2389 400 - 2390 400 - 2391 400 - 2392 400 - 2393 400 - 2394 400 - 2395 400 - 2396 400 - 2397 400 - 2398 400 - 2809 400 - 2810 400 - 2811 400 - 2812 400 - 2813 400 - 2814 400 - 2815 400 - 2816 400 - 2817 400 - 2818 400 - 2819 400 - 2820 400 - 88 401 - 89 401 - 90 401 - 91 401 - 92 401 - 93 401 - 94 401 - 95 401 - 96 401 - 97 401 - 98 401 - 99 401 - 100 401 - 500 401 - 501 401 - 502 401 - 503 401 - 504 401 - 505 401 - 506 401 - 507 401 - 508 401 - 509 401 - 510 401 - 511 401 - 856 401 - 857 401 - 858 401 - 859 401 - 860 401 - 861 401 - 862 401 - 863 401 - 864 401 - 865 401 - 866 401 - 867 401 - 868 401 - 1268 401 - 1269 401 - 1270 401 - 1271 401 - 1272 401 - 1273 401 - 1274 401 - 1275 401 - 1276 401 - 1277 401 - 1278 401 - 1279 401 - 1624 401 - 1625 401 - 1626 401 - 1627 401 - 1628 401 - 1629 401 - 1630 401 - 1631 401 - 1632 401 - 1633 401 - 1634 401 - 1635 401 - 1636 401 - 2036 401 - 2037 401 - 2038 401 - 2039 401 - 2040 401 - 2041 401 - 2042 401 - 2043 401 - 2044 401 - 2045 401 - 2046 401 - 2047 401 - 2392 401 - 2393 401 - 2394 401 - 2395 401 - 2396 401 - 2397 401 - 2398 401 - 2399 401 - 2400 401 - 2401 401 - 2402 401 - 2403 401 - 2404 401 - 2804 401 - 2805 401 - 2806 401 - 2807 401 - 2808 401 - 2809 401 - 2810 401 - 2811 401 - 2812 401 - 2813 401 - 2814 401 - 2815 401 - 94 402 - 95 402 - 96 402 - 97 402 - 98 402 - 99 402 - 100 402 - 101 402 - 102 402 - 103 402 - 104 402 - 495 402 - 496 402 - 497 402 - 498 402 - 499 402 - 500 402 - 501 402 - 502 402 - 503 402 - 504 402 - 505 402 - 862 402 - 863 402 - 864 402 - 865 402 - 866 402 - 867 402 - 868 402 - 869 402 - 870 402 - 871 402 - 872 402 - 1263 402 - 1264 402 - 1265 402 - 1266 402 - 1267 402 - 1268 402 - 1269 402 - 1270 402 - 1271 402 - 1272 402 - 1273 402 - 1630 402 - 1631 402 - 1632 402 - 1633 402 - 1634 402 - 1635 402 - 1636 402 - 1637 402 - 1638 402 - 1639 402 - 1640 402 - 2031 402 - 2032 402 - 2033 402 - 2034 402 - 2035 402 - 2036 402 - 2037 402 - 2038 402 - 2039 402 - 2040 402 - 2041 402 - 2398 402 - 2399 402 - 2400 402 - 2401 402 - 2402 402 - 2403 402 - 2404 402 - 2405 402 - 2406 402 - 2407 402 - 2408 402 - 2799 402 - 2800 402 - 2801 402 - 2802 402 - 2803 402 - 2804 402 - 2805 402 - 2806 402 - 2807 402 - 2808 402 - 2809 402 - 99 403 - 100 403 - 101 403 - 102 403 - 103 403 - 104 403 - 105 403 - 106 403 - 107 403 - 108 403 - 109 403 - 490 403 - 491 403 - 492 403 - 493 403 - 494 403 - 495 403 - 496 403 - 497 403 - 498 403 - 499 403 - 500 403 - 867 403 - 868 403 - 869 403 - 870 403 - 871 403 - 872 403 - 873 403 - 874 403 - 875 403 - 876 403 - 877 403 - 1258 403 - 1259 403 - 1260 403 - 1261 403 - 1262 403 - 1263 403 - 1264 403 - 1265 403 - 1266 403 - 1267 403 - 1268 403 - 1635 403 - 1636 403 - 1637 403 - 1638 403 - 1639 403 - 1640 403 - 1641 403 - 1642 403 - 1643 403 - 1644 403 - 1645 403 - 2026 403 - 2027 403 - 2028 403 - 2029 403 - 2030 403 - 2031 403 - 2032 403 - 2033 403 - 2034 403 - 2035 403 - 2036 403 - 2403 403 - 2404 403 - 2405 403 - 2406 403 - 2407 403 - 2408 403 - 2409 403 - 2410 403 - 2411 403 - 2412 403 - 2413 403 - 2794 403 - 2795 403 - 2796 403 - 2797 403 - 2798 403 - 2799 403 - 2800 403 - 2801 403 - 2802 403 - 2803 403 - 2804 403 - 104 404 - 105 404 - 106 404 - 107 404 - 108 404 - 109 404 - 110 404 - 111 404 - 112 404 - 113 404 - 114 404 - 485 404 - 486 404 - 487 404 - 488 404 - 489 404 - 490 404 - 491 404 - 492 404 - 493 404 - 494 404 - 495 404 - 496 404 - 872 404 - 873 404 - 874 404 - 875 404 - 876 404 - 877 404 - 878 404 - 879 404 - 880 404 - 881 404 - 882 404 - 1253 404 - 1254 404 - 1255 404 - 1256 404 - 1257 404 - 1258 404 - 1259 404 - 1260 404 - 1261 404 - 1262 404 - 1263 404 - 1264 404 - 1640 404 - 1641 404 - 1642 404 - 1643 404 - 1644 404 - 1645 404 - 1646 404 - 1647 404 - 1648 404 - 1649 404 - 1650 404 - 2021 404 - 2022 404 - 2023 404 - 2024 404 - 2025 404 - 2026 404 - 2027 404 - 2028 404 - 2029 404 - 2030 404 - 2031 404 - 2032 404 - 2408 404 - 2409 404 - 2410 404 - 2411 404 - 2412 404 - 2413 404 - 2414 404 - 2415 404 - 2416 404 - 2417 404 - 2418 404 - 2789 404 - 2790 404 - 2791 404 - 2792 404 - 2793 404 - 2794 404 - 2795 404 - 2796 404 - 2797 404 - 2798 404 - 2799 404 - 2800 404 - 109 405 - 110 405 - 111 405 - 112 405 - 113 405 - 114 405 - 115 405 - 116 405 - 117 405 - 118 405 - 119 405 - 481 405 - 482 405 - 483 405 - 484 405 - 485 405 - 486 405 - 487 405 - 488 405 - 489 405 - 490 405 - 877 405 - 878 405 - 879 405 - 880 405 - 881 405 - 882 405 - 883 405 - 884 405 - 885 405 - 886 405 - 887 405 - 1249 405 - 1250 405 - 1251 405 - 1252 405 - 1253 405 - 1254 405 - 1255 405 - 1256 405 - 1257 405 - 1258 405 - 1645 405 - 1646 405 - 1647 405 - 1648 405 - 1649 405 - 1650 405 - 1651 405 - 1652 405 - 1653 405 - 1654 405 - 1655 405 - 2017 405 - 2018 405 - 2019 405 - 2020 405 - 2021 405 - 2022 405 - 2023 405 - 2024 405 - 2025 405 - 2026 405 - 2413 405 - 2414 405 - 2415 405 - 2416 405 - 2417 405 - 2418 405 - 2419 405 - 2420 405 - 2421 405 - 2422 405 - 2423 405 - 2785 405 - 2786 405 - 2787 405 - 2788 405 - 2789 405 - 2790 405 - 2791 405 - 2792 405 - 2793 405 - 2794 405 - 114 406 - 115 406 - 116 406 - 117 406 - 118 406 - 119 406 - 120 406 - 121 406 - 122 406 - 123 406 - 476 406 - 477 406 - 478 406 - 479 406 - 480 406 - 481 406 - 482 406 - 483 406 - 484 406 - 485 406 - 486 406 - 882 406 - 883 406 - 884 406 - 885 406 - 886 406 - 887 406 - 888 406 - 889 406 - 890 406 - 891 406 - 1244 406 - 1245 406 - 1246 406 - 1247 406 - 1248 406 - 1249 406 - 1250 406 - 1251 406 - 1252 406 - 1253 406 - 1254 406 - 1650 406 - 1651 406 - 1652 406 - 1653 406 - 1654 406 - 1655 406 - 1656 406 - 1657 406 - 1658 406 - 1659 406 - 2012 406 - 2013 406 - 2014 406 - 2015 406 - 2016 406 - 2017 406 - 2018 406 - 2019 406 - 2020 406 - 2021 406 - 2022 406 - 2418 406 - 2419 406 - 2420 406 - 2421 406 - 2422 406 - 2423 406 - 2424 406 - 2425 406 - 2426 406 - 2427 406 - 2780 406 - 2781 406 - 2782 406 - 2783 406 - 2784 406 - 2785 406 - 2786 406 - 2787 406 - 2788 406 - 2789 406 - 2790 406 - 118 407 - 119 407 - 120 407 - 121 407 - 122 407 - 123 407 - 124 407 - 125 407 - 126 407 - 127 407 - 128 407 - 472 407 - 473 407 - 474 407 - 475 407 - 476 407 - 477 407 - 478 407 - 479 407 - 480 407 - 481 407 - 886 407 - 887 407 - 888 407 - 889 407 - 890 407 - 891 407 - 892 407 - 893 407 - 894 407 - 895 407 - 896 407 - 1240 407 - 1241 407 - 1242 407 - 1243 407 - 1244 407 - 1245 407 - 1246 407 - 1247 407 - 1248 407 - 1249 407 - 1654 407 - 1655 407 - 1656 407 - 1657 407 - 1658 407 - 1659 407 - 1660 407 - 1661 407 - 1662 407 - 1663 407 - 1664 407 - 2008 407 - 2009 407 - 2010 407 - 2011 407 - 2012 407 - 2013 407 - 2014 407 - 2015 407 - 2016 407 - 2017 407 - 2422 407 - 2423 407 - 2424 407 - 2425 407 - 2426 407 - 2427 407 - 2428 407 - 2429 407 - 2430 407 - 2431 407 - 2432 407 - 2776 407 - 2777 407 - 2778 407 - 2779 407 - 2780 407 - 2781 407 - 2782 407 - 2783 407 - 2784 407 - 2785 407 - 123 408 - 124 408 - 125 408 - 126 408 - 127 408 - 128 408 - 129 408 - 130 408 - 131 408 - 132 408 - 468 408 - 469 408 - 470 408 - 471 408 - 472 408 - 473 408 - 474 408 - 475 408 - 476 408 - 477 408 - 891 408 - 892 408 - 893 408 - 894 408 - 895 408 - 896 408 - 897 408 - 898 408 - 899 408 - 900 408 - 1236 408 - 1237 408 - 1238 408 - 1239 408 - 1240 408 - 1241 408 - 1242 408 - 1243 408 - 1244 408 - 1245 408 - 1659 408 - 1660 408 - 1661 408 - 1662 408 - 1663 408 - 1664 408 - 1665 408 - 1666 408 - 1667 408 - 1668 408 - 2004 408 - 2005 408 - 2006 408 - 2007 408 - 2008 408 - 2009 408 - 2010 408 - 2011 408 - 2012 408 - 2013 408 - 2427 408 - 2428 408 - 2429 408 - 2430 408 - 2431 408 - 2432 408 - 2433 408 - 2434 408 - 2435 408 - 2436 408 - 2772 408 - 2773 408 - 2774 408 - 2775 408 - 2776 408 - 2777 408 - 2778 408 - 2779 408 - 2780 408 - 2781 408 - 127 409 - 128 409 - 129 409 - 130 409 - 131 409 - 132 409 - 133 409 - 134 409 - 135 409 - 136 409 - 464 409 - 465 409 - 466 409 - 467 409 - 468 409 - 469 409 - 470 409 - 471 409 - 472 409 - 895 409 - 896 409 - 897 409 - 898 409 - 899 409 - 900 409 - 901 409 - 902 409 - 903 409 - 904 409 - 1232 409 - 1233 409 - 1234 409 - 1235 409 - 1236 409 - 1237 409 - 1238 409 - 1239 409 - 1240 409 - 1663 409 - 1664 409 - 1665 409 - 1666 409 - 1667 409 - 1668 409 - 1669 409 - 1670 409 - 1671 409 - 1672 409 - 2000 409 - 2001 409 - 2002 409 - 2003 409 - 2004 409 - 2005 409 - 2006 409 - 2007 409 - 2008 409 - 2431 409 - 2432 409 - 2433 409 - 2434 409 - 2435 409 - 2436 409 - 2437 409 - 2438 409 - 2439 409 - 2440 409 - 2768 409 - 2769 409 - 2770 409 - 2771 409 - 2772 409 - 2773 409 - 2774 409 - 2775 409 - 2776 409 - 131 410 - 132 410 - 133 410 - 134 410 - 135 410 - 136 410 - 137 410 - 138 410 - 139 410 - 140 410 - 459 410 - 460 410 - 461 410 - 462 410 - 463 410 - 464 410 - 465 410 - 466 410 - 467 410 - 468 410 - 899 410 - 900 410 - 901 410 - 902 410 - 903 410 - 904 410 - 905 410 - 906 410 - 907 410 - 908 410 - 1227 410 - 1228 410 - 1229 410 - 1230 410 - 1231 410 - 1232 410 - 1233 410 - 1234 410 - 1235 410 - 1236 410 - 1667 410 - 1668 410 - 1669 410 - 1670 410 - 1671 410 - 1672 410 - 1673 410 - 1674 410 - 1675 410 - 1676 410 - 1995 410 - 1996 410 - 1997 410 - 1998 410 - 1999 410 - 2000 410 - 2001 410 - 2002 410 - 2003 410 - 2004 410 - 2435 410 - 2436 410 - 2437 410 - 2438 410 - 2439 410 - 2440 410 - 2441 410 - 2442 410 - 2443 410 - 2444 410 - 2763 410 - 2764 410 - 2765 410 - 2766 410 - 2767 410 - 2768 410 - 2769 410 - 2770 410 - 2771 410 - 2772 410 - 135 411 - 136 411 - 137 411 - 138 411 - 139 411 - 140 411 - 141 411 - 142 411 - 143 411 - 144 411 - 455 411 - 456 411 - 457 411 - 458 411 - 459 411 - 460 411 - 461 411 - 462 411 - 463 411 - 464 411 - 903 411 - 904 411 - 905 411 - 906 411 - 907 411 - 908 411 - 909 411 - 910 411 - 911 411 - 912 411 - 1223 411 - 1224 411 - 1225 411 - 1226 411 - 1227 411 - 1228 411 - 1229 411 - 1230 411 - 1231 411 - 1232 411 - 1671 411 - 1672 411 - 1673 411 - 1674 411 - 1675 411 - 1676 411 - 1677 411 - 1678 411 - 1679 411 - 1680 411 - 1991 411 - 1992 411 - 1993 411 - 1994 411 - 1995 411 - 1996 411 - 1997 411 - 1998 411 - 1999 411 - 2000 411 - 2439 411 - 2440 411 - 2441 411 - 2442 411 - 2443 411 - 2444 411 - 2445 411 - 2446 411 - 2447 411 - 2448 411 - 2759 411 - 2760 411 - 2761 411 - 2762 411 - 2763 411 - 2764 411 - 2765 411 - 2766 411 - 2767 411 - 2768 411 - 140 412 - 141 412 - 142 412 - 143 412 - 144 412 - 145 412 - 146 412 - 147 412 - 148 412 - 451 412 - 452 412 - 453 412 - 454 412 - 455 412 - 456 412 - 457 412 - 458 412 - 459 412 - 460 412 - 908 412 - 909 412 - 910 412 - 911 412 - 912 412 - 913 412 - 914 412 - 915 412 - 916 412 - 1219 412 - 1220 412 - 1221 412 - 1222 412 - 1223 412 - 1224 412 - 1225 412 - 1226 412 - 1227 412 - 1228 412 - 1676 412 - 1677 412 - 1678 412 - 1679 412 - 1680 412 - 1681 412 - 1682 412 - 1683 412 - 1684 412 - 1987 412 - 1988 412 - 1989 412 - 1990 412 - 1991 412 - 1992 412 - 1993 412 - 1994 412 - 1995 412 - 1996 412 - 2444 412 - 2445 412 - 2446 412 - 2447 412 - 2448 412 - 2449 412 - 2450 412 - 2451 412 - 2452 412 - 2755 412 - 2756 412 - 2757 412 - 2758 412 - 2759 412 - 2760 412 - 2761 412 - 2762 412 - 2763 412 - 2764 412 - 144 413 - 145 413 - 146 413 - 147 413 - 148 413 - 149 413 - 150 413 - 151 413 - 152 413 - 447 413 - 448 413 - 449 413 - 450 413 - 451 413 - 452 413 - 453 413 - 454 413 - 455 413 - 456 413 - 912 413 - 913 413 - 914 413 - 915 413 - 916 413 - 917 413 - 918 413 - 919 413 - 920 413 - 1215 413 - 1216 413 - 1217 413 - 1218 413 - 1219 413 - 1220 413 - 1221 413 - 1222 413 - 1223 413 - 1224 413 - 1680 413 - 1681 413 - 1682 413 - 1683 413 - 1684 413 - 1685 413 - 1686 413 - 1687 413 - 1688 413 - 1983 413 - 1984 413 - 1985 413 - 1986 413 - 1987 413 - 1988 413 - 1989 413 - 1990 413 - 1991 413 - 1992 413 - 2448 413 - 2449 413 - 2450 413 - 2451 413 - 2452 413 - 2453 413 - 2454 413 - 2455 413 - 2456 413 - 2751 413 - 2752 413 - 2753 413 - 2754 413 - 2755 413 - 2756 413 - 2757 413 - 2758 413 - 2759 413 - 2760 413 - 148 414 - 149 414 - 150 414 - 151 414 - 152 414 - 153 414 - 154 414 - 155 414 - 156 414 - 444 414 - 445 414 - 446 414 - 447 414 - 448 414 - 449 414 - 450 414 - 451 414 - 452 414 - 916 414 - 917 414 - 918 414 - 919 414 - 920 414 - 921 414 - 922 414 - 923 414 - 924 414 - 1212 414 - 1213 414 - 1214 414 - 1215 414 - 1216 414 - 1217 414 - 1218 414 - 1219 414 - 1220 414 - 1684 414 - 1685 414 - 1686 414 - 1687 414 - 1688 414 - 1689 414 - 1690 414 - 1691 414 - 1692 414 - 1980 414 - 1981 414 - 1982 414 - 1983 414 - 1984 414 - 1985 414 - 1986 414 - 1987 414 - 1988 414 - 2452 414 - 2453 414 - 2454 414 - 2455 414 - 2456 414 - 2457 414 - 2458 414 - 2459 414 - 2460 414 - 2748 414 - 2749 414 - 2750 414 - 2751 414 - 2752 414 - 2753 414 - 2754 414 - 2755 414 - 2756 414 - 152 415 - 153 415 - 154 415 - 155 415 - 156 415 - 157 415 - 158 415 - 159 415 - 160 415 - 440 415 - 441 415 - 442 415 - 443 415 - 444 415 - 445 415 - 446 415 - 447 415 - 448 415 - 920 415 - 921 415 - 922 415 - 923 415 - 924 415 - 925 415 - 926 415 - 927 415 - 928 415 - 1208 415 - 1209 415 - 1210 415 - 1211 415 - 1212 415 - 1213 415 - 1214 415 - 1215 415 - 1216 415 - 1688 415 - 1689 415 - 1690 415 - 1691 415 - 1692 415 - 1693 415 - 1694 415 - 1695 415 - 1696 415 - 1976 415 - 1977 415 - 1978 415 - 1979 415 - 1980 415 - 1981 415 - 1982 415 - 1983 415 - 1984 415 - 2456 415 - 2457 415 - 2458 415 - 2459 415 - 2460 415 - 2461 415 - 2462 415 - 2463 415 - 2464 415 - 2744 415 - 2745 415 - 2746 415 - 2747 415 - 2748 415 - 2749 415 - 2750 415 - 2751 415 - 2752 415 - 155 416 - 156 416 - 157 416 - 158 416 - 159 416 - 160 416 - 161 416 - 162 416 - 163 416 - 436 416 - 437 416 - 438 416 - 439 416 - 440 416 - 441 416 - 442 416 - 443 416 - 444 416 - 923 416 - 924 416 - 925 416 - 926 416 - 927 416 - 928 416 - 929 416 - 930 416 - 931 416 - 1204 416 - 1205 416 - 1206 416 - 1207 416 - 1208 416 - 1209 416 - 1210 416 - 1211 416 - 1212 416 - 1691 416 - 1692 416 - 1693 416 - 1694 416 - 1695 416 - 1696 416 - 1697 416 - 1698 416 - 1699 416 - 1972 416 - 1973 416 - 1974 416 - 1975 416 - 1976 416 - 1977 416 - 1978 416 - 1979 416 - 1980 416 - 2459 416 - 2460 416 - 2461 416 - 2462 416 - 2463 416 - 2464 416 - 2465 416 - 2466 416 - 2467 416 - 2740 416 - 2741 416 - 2742 416 - 2743 416 - 2744 416 - 2745 416 - 2746 416 - 2747 416 - 2748 416 - 159 417 - 160 417 - 161 417 - 162 417 - 163 417 - 164 417 - 165 417 - 166 417 - 167 417 - 432 417 - 433 417 - 434 417 - 435 417 - 436 417 - 437 417 - 438 417 - 439 417 - 440 417 - 927 417 - 928 417 - 929 417 - 930 417 - 931 417 - 932 417 - 933 417 - 934 417 - 935 417 - 1200 417 - 1201 417 - 1202 417 - 1203 417 - 1204 417 - 1205 417 - 1206 417 - 1207 417 - 1208 417 - 1695 417 - 1696 417 - 1697 417 - 1698 417 - 1699 417 - 1700 417 - 1701 417 - 1702 417 - 1703 417 - 1968 417 - 1969 417 - 1970 417 - 1971 417 - 1972 417 - 1973 417 - 1974 417 - 1975 417 - 1976 417 - 2463 417 - 2464 417 - 2465 417 - 2466 417 - 2467 417 - 2468 417 - 2469 417 - 2470 417 - 2471 417 - 2736 417 - 2737 417 - 2738 417 - 2739 417 - 2740 417 - 2741 417 - 2742 417 - 2743 417 - 2744 417 - 163 418 - 164 418 - 165 418 - 166 418 - 167 418 - 168 418 - 169 418 - 170 418 - 429 418 - 430 418 - 431 418 - 432 418 - 433 418 - 434 418 - 435 418 - 436 418 - 437 418 - 931 418 - 932 418 - 933 418 - 934 418 - 935 418 - 936 418 - 937 418 - 938 418 - 1197 418 - 1198 418 - 1199 418 - 1200 418 - 1201 418 - 1202 418 - 1203 418 - 1204 418 - 1205 418 - 1699 418 - 1700 418 - 1701 418 - 1702 418 - 1703 418 - 1704 418 - 1705 418 - 1706 418 - 1965 418 - 1966 418 - 1967 418 - 1968 418 - 1969 418 - 1970 418 - 1971 418 - 1972 418 - 1973 418 - 2467 418 - 2468 418 - 2469 418 - 2470 418 - 2471 418 - 2472 418 - 2473 418 - 2474 418 - 2733 418 - 2734 418 - 2735 418 - 2736 418 - 2737 418 - 2738 418 - 2739 418 - 2740 418 - 2741 418 - 166 419 - 167 419 - 168 419 - 169 419 - 170 419 - 171 419 - 172 419 - 173 419 - 174 419 - 426 419 - 427 419 - 428 419 - 429 419 - 430 419 - 431 419 - 432 419 - 433 419 - 934 419 - 935 419 - 936 419 - 937 419 - 938 419 - 939 419 - 940 419 - 941 419 - 942 419 - 1194 419 - 1195 419 - 1196 419 - 1197 419 - 1198 419 - 1199 419 - 1200 419 - 1201 419 - 1702 419 - 1703 419 - 1704 419 - 1705 419 - 1706 419 - 1707 419 - 1708 419 - 1709 419 - 1710 419 - 1962 419 - 1963 419 - 1964 419 - 1965 419 - 1966 419 - 1967 419 - 1968 419 - 1969 419 - 2470 419 - 2471 419 - 2472 419 - 2473 419 - 2474 419 - 2475 419 - 2476 419 - 2477 419 - 2478 419 - 2730 419 - 2731 419 - 2732 419 - 2733 419 - 2734 419 - 2735 419 - 2736 419 - 2737 419 - 170 420 - 171 420 - 172 420 - 173 420 - 174 420 - 175 420 - 176 420 - 177 420 - 422 420 - 423 420 - 424 420 - 425 420 - 426 420 - 427 420 - 428 420 - 429 420 - 938 420 - 939 420 - 940 420 - 941 420 - 942 420 - 943 420 - 944 420 - 945 420 - 1190 420 - 1191 420 - 1192 420 - 1193 420 - 1194 420 - 1195 420 - 1196 420 - 1197 420 - 1706 420 - 1707 420 - 1708 420 - 1709 420 - 1710 420 - 1711 420 - 1712 420 - 1713 420 - 1958 420 - 1959 420 - 1960 420 - 1961 420 - 1962 420 - 1963 420 - 1964 420 - 1965 420 - 2474 420 - 2475 420 - 2476 420 - 2477 420 - 2478 420 - 2479 420 - 2480 420 - 2481 420 - 2726 420 - 2727 420 - 2728 420 - 2729 420 - 2730 420 - 2731 420 - 2732 420 - 2733 420 - 173 421 - 174 421 - 175 421 - 176 421 - 177 421 - 178 421 - 179 421 - 180 421 - 181 421 - 419 421 - 420 421 - 421 421 - 422 421 - 423 421 - 424 421 - 425 421 - 426 421 - 941 421 - 942 421 - 943 421 - 944 421 - 945 421 - 946 421 - 947 421 - 948 421 - 949 421 - 1187 421 - 1188 421 - 1189 421 - 1190 421 - 1191 421 - 1192 421 - 1193 421 - 1194 421 - 1709 421 - 1710 421 - 1711 421 - 1712 421 - 1713 421 - 1714 421 - 1715 421 - 1716 421 - 1717 421 - 1955 421 - 1956 421 - 1957 421 - 1958 421 - 1959 421 - 1960 421 - 1961 421 - 1962 421 - 2477 421 - 2478 421 - 2479 421 - 2480 421 - 2481 421 - 2482 421 - 2483 421 - 2484 421 - 2485 421 - 2723 421 - 2724 421 - 2725 421 - 2726 421 - 2727 421 - 2728 421 - 2729 421 - 2730 421 - 177 422 - 178 422 - 179 422 - 180 422 - 181 422 - 182 422 - 183 422 - 184 422 - 415 422 - 416 422 - 417 422 - 418 422 - 419 422 - 420 422 - 421 422 - 422 422 - 423 422 - 945 422 - 946 422 - 947 422 - 948 422 - 949 422 - 950 422 - 951 422 - 952 422 - 1183 422 - 1184 422 - 1185 422 - 1186 422 - 1187 422 - 1188 422 - 1189 422 - 1190 422 - 1191 422 - 1713 422 - 1714 422 - 1715 422 - 1716 422 - 1717 422 - 1718 422 - 1719 422 - 1720 422 - 1951 422 - 1952 422 - 1953 422 - 1954 422 - 1955 422 - 1956 422 - 1957 422 - 1958 422 - 1959 422 - 2481 422 - 2482 422 - 2483 422 - 2484 422 - 2485 422 - 2486 422 - 2487 422 - 2488 422 - 2719 422 - 2720 422 - 2721 422 - 2722 422 - 2723 422 - 2724 422 - 2725 422 - 2726 422 - 2727 422 - 180 423 - 181 423 - 182 423 - 183 423 - 184 423 - 185 423 - 186 423 - 187 423 - 412 423 - 413 423 - 414 423 - 415 423 - 416 423 - 417 423 - 418 423 - 419 423 - 948 423 - 949 423 - 950 423 - 951 423 - 952 423 - 953 423 - 954 423 - 955 423 - 1180 423 - 1181 423 - 1182 423 - 1183 423 - 1184 423 - 1185 423 - 1186 423 - 1187 423 - 1716 423 - 1717 423 - 1718 423 - 1719 423 - 1720 423 - 1721 423 - 1722 423 - 1723 423 - 1948 423 - 1949 423 - 1950 423 - 1951 423 - 1952 423 - 1953 423 - 1954 423 - 1955 423 - 2484 423 - 2485 423 - 2486 423 - 2487 423 - 2488 423 - 2489 423 - 2490 423 - 2491 423 - 2716 423 - 2717 423 - 2718 423 - 2719 423 - 2720 423 - 2721 423 - 2722 423 - 2723 423 - 183 424 - 184 424 - 185 424 - 186 424 - 187 424 - 188 424 - 189 424 - 190 424 - 191 424 - 409 424 - 410 424 - 411 424 - 412 424 - 413 424 - 414 424 - 415 424 - 416 424 - 951 424 - 952 424 - 953 424 - 954 424 - 955 424 - 956 424 - 957 424 - 958 424 - 959 424 - 1177 424 - 1178 424 - 1179 424 - 1180 424 - 1181 424 - 1182 424 - 1183 424 - 1184 424 - 1719 424 - 1720 424 - 1721 424 - 1722 424 - 1723 424 - 1724 424 - 1725 424 - 1726 424 - 1727 424 - 1945 424 - 1946 424 - 1947 424 - 1948 424 - 1949 424 - 1950 424 - 1951 424 - 1952 424 - 2487 424 - 2488 424 - 2489 424 - 2490 424 - 2491 424 - 2492 424 - 2493 424 - 2494 424 - 2495 424 - 2713 424 - 2714 424 - 2715 424 - 2716 424 - 2717 424 - 2718 424 - 2719 424 - 2720 424 - 187 425 - 188 425 - 189 425 - 190 425 - 191 425 - 192 425 - 193 425 - 194 425 - 405 425 - 406 425 - 407 425 - 408 425 - 409 425 - 410 425 - 411 425 - 412 425 - 413 425 - 955 425 - 956 425 - 957 425 - 958 425 - 959 425 - 960 425 - 961 425 - 962 425 - 1173 425 - 1174 425 - 1175 425 - 1176 425 - 1177 425 - 1178 425 - 1179 425 - 1180 425 - 1181 425 - 1723 425 - 1724 425 - 1725 425 - 1726 425 - 1727 425 - 1728 425 - 1729 425 - 1730 425 - 1941 425 - 1942 425 - 1943 425 - 1944 425 - 1945 425 - 1946 425 - 1947 425 - 1948 425 - 1949 425 - 2491 425 - 2492 425 - 2493 425 - 2494 425 - 2495 425 - 2496 425 - 2497 425 - 2498 425 - 2709 425 - 2710 425 - 2711 425 - 2712 425 - 2713 425 - 2714 425 - 2715 425 - 2716 425 - 2717 425 - 190 426 - 191 426 - 192 426 - 193 426 - 194 426 - 195 426 - 196 426 - 197 426 - 403 426 - 404 426 - 405 426 - 406 426 - 407 426 - 408 426 - 409 426 - 958 426 - 959 426 - 960 426 - 961 426 - 962 426 - 963 426 - 964 426 - 965 426 - 1171 426 - 1172 426 - 1173 426 - 1174 426 - 1175 426 - 1176 426 - 1177 426 - 1726 426 - 1727 426 - 1728 426 - 1729 426 - 1730 426 - 1731 426 - 1732 426 - 1733 426 - 1939 426 - 1940 426 - 1941 426 - 1942 426 - 1943 426 - 1944 426 - 1945 426 - 2494 426 - 2495 426 - 2496 426 - 2497 426 - 2498 426 - 2499 426 - 2500 426 - 2501 426 - 2707 426 - 2708 426 - 2709 426 - 2710 426 - 2711 426 - 2712 426 - 2713 426 - 193 427 - 194 427 - 195 427 - 196 427 - 197 427 - 198 427 - 199 427 - 200 427 - 399 427 - 400 427 - 401 427 - 402 427 - 403 427 - 404 427 - 405 427 - 406 427 - 961 427 - 962 427 - 963 427 - 964 427 - 965 427 - 966 427 - 967 427 - 968 427 - 1167 427 - 1168 427 - 1169 427 - 1170 427 - 1171 427 - 1172 427 - 1173 427 - 1174 427 - 1729 427 - 1730 427 - 1731 427 - 1732 427 - 1733 427 - 1734 427 - 1735 427 - 1736 427 - 1935 427 - 1936 427 - 1937 427 - 1938 427 - 1939 427 - 1940 427 - 1941 427 - 1942 427 - 2497 427 - 2498 427 - 2499 427 - 2500 427 - 2501 427 - 2502 427 - 2503 427 - 2504 427 - 2703 427 - 2704 427 - 2705 427 - 2706 427 - 2707 427 - 2708 427 - 2709 427 - 2710 427 - 196 428 - 197 428 - 198 428 - 199 428 - 200 428 - 201 428 - 202 428 - 203 428 - 396 428 - 397 428 - 398 428 - 399 428 - 400 428 - 401 428 - 402 428 - 403 428 - 964 428 - 965 428 - 966 428 - 967 428 - 968 428 - 969 428 - 970 428 - 971 428 - 1164 428 - 1165 428 - 1166 428 - 1167 428 - 1168 428 - 1169 428 - 1170 428 - 1171 428 - 1732 428 - 1733 428 - 1734 428 - 1735 428 - 1736 428 - 1737 428 - 1738 428 - 1739 428 - 1932 428 - 1933 428 - 1934 428 - 1935 428 - 1936 428 - 1937 428 - 1938 428 - 1939 428 - 2500 428 - 2501 428 - 2502 428 - 2503 428 - 2504 428 - 2505 428 - 2506 428 - 2507 428 - 2700 428 - 2701 428 - 2702 428 - 2703 428 - 2704 428 - 2705 428 - 2706 428 - 2707 428 - 200 429 - 201 429 - 202 429 - 203 429 - 204 429 - 205 429 - 206 429 - 393 429 - 394 429 - 395 429 - 396 429 - 397 429 - 398 429 - 399 429 - 400 429 - 968 429 - 969 429 - 970 429 - 971 429 - 972 429 - 973 429 - 974 429 - 1161 429 - 1162 429 - 1163 429 - 1164 429 - 1165 429 - 1166 429 - 1167 429 - 1168 429 - 1736 429 - 1737 429 - 1738 429 - 1739 429 - 1740 429 - 1741 429 - 1742 429 - 1929 429 - 1930 429 - 1931 429 - 1932 429 - 1933 429 - 1934 429 - 1935 429 - 1936 429 - 2504 429 - 2505 429 - 2506 429 - 2507 429 - 2508 429 - 2509 429 - 2510 429 - 2697 429 - 2698 429 - 2699 429 - 2700 429 - 2701 429 - 2702 429 - 2703 429 - 2704 429 - 203 430 - 204 430 - 205 430 - 206 430 - 207 430 - 208 430 - 209 430 - 390 430 - 391 430 - 392 430 - 393 430 - 394 430 - 395 430 - 396 430 - 397 430 - 971 430 - 972 430 - 973 430 - 974 430 - 975 430 - 976 430 - 977 430 - 1158 430 - 1159 430 - 1160 430 - 1161 430 - 1162 430 - 1163 430 - 1164 430 - 1165 430 - 1739 430 - 1740 430 - 1741 430 - 1742 430 - 1743 430 - 1744 430 - 1745 430 - 1926 430 - 1927 430 - 1928 430 - 1929 430 - 1930 430 - 1931 430 - 1932 430 - 1933 430 - 2507 430 - 2508 430 - 2509 430 - 2510 430 - 2511 430 - 2512 430 - 2513 430 - 2694 430 - 2695 430 - 2696 430 - 2697 430 - 2698 430 - 2699 430 - 2700 430 - 2701 430 - 206 431 - 207 431 - 208 431 - 209 431 - 210 431 - 211 431 - 212 431 - 387 431 - 388 431 - 389 431 - 390 431 - 391 431 - 392 431 - 393 431 - 394 431 - 974 431 - 975 431 - 976 431 - 977 431 - 978 431 - 979 431 - 980 431 - 1155 431 - 1156 431 - 1157 431 - 1158 431 - 1159 431 - 1160 431 - 1161 431 - 1162 431 - 1742 431 - 1743 431 - 1744 431 - 1745 431 - 1746 431 - 1747 431 - 1748 431 - 1923 431 - 1924 431 - 1925 431 - 1926 431 - 1927 431 - 1928 431 - 1929 431 - 1930 431 - 2510 431 - 2511 431 - 2512 431 - 2513 431 - 2514 431 - 2515 431 - 2516 431 - 2691 431 - 2692 431 - 2693 431 - 2694 431 - 2695 431 - 2696 431 - 2697 431 - 2698 431 - 209 432 - 210 432 - 211 432 - 212 432 - 213 432 - 214 432 - 215 432 - 384 432 - 385 432 - 386 432 - 387 432 - 388 432 - 389 432 - 390 432 - 977 432 - 978 432 - 979 432 - 980 432 - 981 432 - 982 432 - 983 432 - 1152 432 - 1153 432 - 1154 432 - 1155 432 - 1156 432 - 1157 432 - 1158 432 - 1745 432 - 1746 432 - 1747 432 - 1748 432 - 1749 432 - 1750 432 - 1751 432 - 1920 432 - 1921 432 - 1922 432 - 1923 432 - 1924 432 - 1925 432 - 1926 432 - 2513 432 - 2514 432 - 2515 432 - 2516 432 - 2517 432 - 2518 432 - 2519 432 - 2688 432 - 2689 432 - 2690 432 - 2691 432 - 2692 432 - 2693 432 - 2694 432 - 212 433 - 213 433 - 214 433 - 215 433 - 216 433 - 217 433 - 218 433 - 382 433 - 383 433 - 384 433 - 385 433 - 386 433 - 387 433 - 388 433 - 980 433 - 981 433 - 982 433 - 983 433 - 984 433 - 985 433 - 986 433 - 1150 433 - 1151 433 - 1152 433 - 1153 433 - 1154 433 - 1155 433 - 1156 433 - 1748 433 - 1749 433 - 1750 433 - 1751 433 - 1752 433 - 1753 433 - 1754 433 - 1918 433 - 1919 433 - 1920 433 - 1921 433 - 1922 433 - 1923 433 - 1924 433 - 2516 433 - 2517 433 - 2518 433 - 2519 433 - 2520 433 - 2521 433 - 2522 433 - 2686 433 - 2687 433 - 2688 433 - 2689 433 - 2690 433 - 2691 433 - 2692 433 - 214 434 - 215 434 - 216 434 - 217 434 - 218 434 - 219 434 - 220 434 - 221 434 - 378 434 - 379 434 - 380 434 - 381 434 - 382 434 - 383 434 - 384 434 - 385 434 - 982 434 - 983 434 - 984 434 - 985 434 - 986 434 - 987 434 - 988 434 - 989 434 - 1146 434 - 1147 434 - 1148 434 - 1149 434 - 1150 434 - 1151 434 - 1152 434 - 1153 434 - 1750 434 - 1751 434 - 1752 434 - 1753 434 - 1754 434 - 1755 434 - 1756 434 - 1757 434 - 1914 434 - 1915 434 - 1916 434 - 1917 434 - 1918 434 - 1919 434 - 1920 434 - 1921 434 - 2518 434 - 2519 434 - 2520 434 - 2521 434 - 2522 434 - 2523 434 - 2524 434 - 2525 434 - 2682 434 - 2683 434 - 2684 434 - 2685 434 - 2686 434 - 2687 434 - 2688 434 - 2689 434 - 217 435 - 218 435 - 219 435 - 220 435 - 221 435 - 222 435 - 223 435 - 224 435 - 376 435 - 377 435 - 378 435 - 379 435 - 380 435 - 381 435 - 382 435 - 985 435 - 986 435 - 987 435 - 988 435 - 989 435 - 990 435 - 991 435 - 992 435 - 1144 435 - 1145 435 - 1146 435 - 1147 435 - 1148 435 - 1149 435 - 1150 435 - 1753 435 - 1754 435 - 1755 435 - 1756 435 - 1757 435 - 1758 435 - 1759 435 - 1760 435 - 1912 435 - 1913 435 - 1914 435 - 1915 435 - 1916 435 - 1917 435 - 1918 435 - 2521 435 - 2522 435 - 2523 435 - 2524 435 - 2525 435 - 2526 435 - 2527 435 - 2528 435 - 2680 435 - 2681 435 - 2682 435 - 2683 435 - 2684 435 - 2685 435 - 2686 435 - 220 436 - 221 436 - 222 436 - 223 436 - 224 436 - 225 436 - 226 436 - 373 436 - 374 436 - 375 436 - 376 436 - 377 436 - 378 436 - 379 436 - 988 436 - 989 436 - 990 436 - 991 436 - 992 436 - 993 436 - 994 436 - 1141 436 - 1142 436 - 1143 436 - 1144 436 - 1145 436 - 1146 436 - 1147 436 - 1756 436 - 1757 436 - 1758 436 - 1759 436 - 1760 436 - 1761 436 - 1762 436 - 1909 436 - 1910 436 - 1911 436 - 1912 436 - 1913 436 - 1914 436 - 1915 436 - 2524 436 - 2525 436 - 2526 436 - 2527 436 - 2528 436 - 2529 436 - 2530 436 - 2677 436 - 2678 436 - 2679 436 - 2680 436 - 2681 436 - 2682 436 - 2683 436 - 223 437 - 224 437 - 225 437 - 226 437 - 227 437 - 228 437 - 229 437 - 370 437 - 371 437 - 372 437 - 373 437 - 374 437 - 375 437 - 376 437 - 991 437 - 992 437 - 993 437 - 994 437 - 995 437 - 996 437 - 997 437 - 1138 437 - 1139 437 - 1140 437 - 1141 437 - 1142 437 - 1143 437 - 1144 437 - 1759 437 - 1760 437 - 1761 437 - 1762 437 - 1763 437 - 1764 437 - 1765 437 - 1906 437 - 1907 437 - 1908 437 - 1909 437 - 1910 437 - 1911 437 - 1912 437 - 2527 437 - 2528 437 - 2529 437 - 2530 437 - 2531 437 - 2532 437 - 2533 437 - 2674 437 - 2675 437 - 2676 437 - 2677 437 - 2678 437 - 2679 437 - 2680 437 - 226 438 - 227 438 - 228 438 - 229 438 - 230 438 - 231 438 - 232 438 - 367 438 - 368 438 - 369 438 - 370 438 - 371 438 - 372 438 - 373 438 - 994 438 - 995 438 - 996 438 - 997 438 - 998 438 - 999 438 - 1000 438 - 1135 438 - 1136 438 - 1137 438 - 1138 438 - 1139 438 - 1140 438 - 1141 438 - 1762 438 - 1763 438 - 1764 438 - 1765 438 - 1766 438 - 1767 438 - 1768 438 - 1903 438 - 1904 438 - 1905 438 - 1906 438 - 1907 438 - 1908 438 - 1909 438 - 2530 438 - 2531 438 - 2532 438 - 2533 438 - 2534 438 - 2535 438 - 2536 438 - 2671 438 - 2672 438 - 2673 438 - 2674 438 - 2675 438 - 2676 438 - 2677 438 - 229 439 - 230 439 - 231 439 - 232 439 - 233 439 - 234 439 - 235 439 - 365 439 - 366 439 - 367 439 - 368 439 - 369 439 - 370 439 - 371 439 - 997 439 - 998 439 - 999 439 - 1000 439 - 1001 439 - 1002 439 - 1003 439 - 1133 439 - 1134 439 - 1135 439 - 1136 439 - 1137 439 - 1138 439 - 1139 439 - 1765 439 - 1766 439 - 1767 439 - 1768 439 - 1769 439 - 1770 439 - 1771 439 - 1901 439 - 1902 439 - 1903 439 - 1904 439 - 1905 439 - 1906 439 - 1907 439 - 2533 439 - 2534 439 - 2535 439 - 2536 439 - 2537 439 - 2538 439 - 2539 439 - 2669 439 - 2670 439 - 2671 439 - 2672 439 - 2673 439 - 2674 439 - 2675 439 - 231 440 - 232 440 - 233 440 - 234 440 - 235 440 - 236 440 - 237 440 - 362 440 - 363 440 - 364 440 - 365 440 - 366 440 - 367 440 - 368 440 - 999 440 - 1000 440 - 1001 440 - 1002 440 - 1003 440 - 1004 440 - 1005 440 - 1130 440 - 1131 440 - 1132 440 - 1133 440 - 1134 440 - 1135 440 - 1136 440 - 1767 440 - 1768 440 - 1769 440 - 1770 440 - 1771 440 - 1772 440 - 1773 440 - 1898 440 - 1899 440 - 1900 440 - 1901 440 - 1902 440 - 1903 440 - 1904 440 - 2535 440 - 2536 440 - 2537 440 - 2538 440 - 2539 440 - 2540 440 - 2541 440 - 2666 440 - 2667 440 - 2668 440 - 2669 440 - 2670 440 - 2671 440 - 2672 440 - 234 441 - 235 441 - 236 441 - 237 441 - 238 441 - 239 441 - 240 441 - 359 441 - 360 441 - 361 441 - 362 441 - 363 441 - 364 441 - 365 441 - 1002 441 - 1003 441 - 1004 441 - 1005 441 - 1006 441 - 1007 441 - 1008 441 - 1127 441 - 1128 441 - 1129 441 - 1130 441 - 1131 441 - 1132 441 - 1133 441 - 1770 441 - 1771 441 - 1772 441 - 1773 441 - 1774 441 - 1775 441 - 1776 441 - 1895 441 - 1896 441 - 1897 441 - 1898 441 - 1899 441 - 1900 441 - 1901 441 - 2538 441 - 2539 441 - 2540 441 - 2541 441 - 2542 441 - 2543 441 - 2544 441 - 2663 441 - 2664 441 - 2665 441 - 2666 441 - 2667 441 - 2668 441 - 2669 441 - 237 442 - 238 442 - 239 442 - 240 442 - 241 442 - 242 442 - 243 442 - 357 442 - 358 442 - 359 442 - 360 442 - 361 442 - 362 442 - 363 442 - 1005 442 - 1006 442 - 1007 442 - 1008 442 - 1009 442 - 1010 442 - 1011 442 - 1125 442 - 1126 442 - 1127 442 - 1128 442 - 1129 442 - 1130 442 - 1131 442 - 1773 442 - 1774 442 - 1775 442 - 1776 442 - 1777 442 - 1778 442 - 1779 442 - 1893 442 - 1894 442 - 1895 442 - 1896 442 - 1897 442 - 1898 442 - 1899 442 - 2541 442 - 2542 442 - 2543 442 - 2544 442 - 2545 442 - 2546 442 - 2547 442 - 2661 442 - 2662 442 - 2663 442 - 2664 442 - 2665 442 - 2666 442 - 2667 442 - 240 443 - 241 443 - 242 443 - 243 443 - 244 443 - 245 443 - 354 443 - 355 443 - 356 443 - 357 443 - 358 443 - 359 443 - 360 443 - 1008 443 - 1009 443 - 1010 443 - 1011 443 - 1012 443 - 1013 443 - 1122 443 - 1123 443 - 1124 443 - 1125 443 - 1126 443 - 1127 443 - 1128 443 - 1776 443 - 1777 443 - 1778 443 - 1779 443 - 1780 443 - 1781 443 - 1890 443 - 1891 443 - 1892 443 - 1893 443 - 1894 443 - 1895 443 - 1896 443 - 2544 443 - 2545 443 - 2546 443 - 2547 443 - 2548 443 - 2549 443 - 2658 443 - 2659 443 - 2660 443 - 2661 443 - 2662 443 - 2663 443 - 2664 443 - 242 444 - 243 444 - 244 444 - 245 444 - 246 444 - 247 444 - 248 444 - 352 444 - 353 444 - 354 444 - 355 444 - 356 444 - 357 444 - 1010 444 - 1011 444 - 1012 444 - 1013 444 - 1014 444 - 1015 444 - 1016 444 - 1120 444 - 1121 444 - 1122 444 - 1123 444 - 1124 444 - 1125 444 - 1778 444 - 1779 444 - 1780 444 - 1781 444 - 1782 444 - 1783 444 - 1784 444 - 1888 444 - 1889 444 - 1890 444 - 1891 444 - 1892 444 - 1893 444 - 2546 444 - 2547 444 - 2548 444 - 2549 444 - 2550 444 - 2551 444 - 2552 444 - 2656 444 - 2657 444 - 2658 444 - 2659 444 - 2660 444 - 2661 444 - 244 445 - 245 445 - 246 445 - 247 445 - 248 445 - 249 445 - 250 445 - 349 445 - 350 445 - 351 445 - 352 445 - 353 445 - 354 445 - 355 445 - 1012 445 - 1013 445 - 1014 445 - 1015 445 - 1016 445 - 1017 445 - 1018 445 - 1117 445 - 1118 445 - 1119 445 - 1120 445 - 1121 445 - 1122 445 - 1123 445 - 1780 445 - 1781 445 - 1782 445 - 1783 445 - 1784 445 - 1785 445 - 1786 445 - 1885 445 - 1886 445 - 1887 445 - 1888 445 - 1889 445 - 1890 445 - 1891 445 - 2548 445 - 2549 445 - 2550 445 - 2551 445 - 2552 445 - 2553 445 - 2554 445 - 2653 445 - 2654 445 - 2655 445 - 2656 445 - 2657 445 - 2658 445 - 2659 445 - 247 446 - 248 446 - 249 446 - 250 446 - 251 446 - 252 446 - 253 446 - 346 446 - 347 446 - 348 446 - 349 446 - 350 446 - 351 446 - 352 446 - 1015 446 - 1016 446 - 1017 446 - 1018 446 - 1019 446 - 1020 446 - 1021 446 - 1114 446 - 1115 446 - 1116 446 - 1117 446 - 1118 446 - 1119 446 - 1120 446 - 1783 446 - 1784 446 - 1785 446 - 1786 446 - 1787 446 - 1788 446 - 1789 446 - 1882 446 - 1883 446 - 1884 446 - 1885 446 - 1886 446 - 1887 446 - 1888 446 - 2551 446 - 2552 446 - 2553 446 - 2554 446 - 2555 446 - 2556 446 - 2557 446 - 2650 446 - 2651 446 - 2652 446 - 2653 446 - 2654 446 - 2655 446 - 2656 446 - 250 447 - 251 447 - 252 447 - 253 447 - 254 447 - 255 447 - 344 447 - 345 447 - 346 447 - 347 447 - 348 447 - 349 447 - 350 447 - 1018 447 - 1019 447 - 1020 447 - 1021 447 - 1022 447 - 1023 447 - 1112 447 - 1113 447 - 1114 447 - 1115 447 - 1116 447 - 1117 447 - 1118 447 - 1786 447 - 1787 447 - 1788 447 - 1789 447 - 1790 447 - 1791 447 - 1880 447 - 1881 447 - 1882 447 - 1883 447 - 1884 447 - 1885 447 - 1886 447 - 2554 447 - 2555 447 - 2556 447 - 2557 447 - 2558 447 - 2559 447 - 2648 447 - 2649 447 - 2650 447 - 2651 447 - 2652 447 - 2653 447 - 2654 447 - 252 448 - 253 448 - 254 448 - 255 448 - 256 448 - 257 448 - 258 448 - 341 448 - 342 448 - 343 448 - 344 448 - 345 448 - 346 448 - 347 448 - 1020 448 - 1021 448 - 1022 448 - 1023 448 - 1024 448 - 1025 448 - 1026 448 - 1109 448 - 1110 448 - 1111 448 - 1112 448 - 1113 448 - 1114 448 - 1115 448 - 1788 448 - 1789 448 - 1790 448 - 1791 448 - 1792 448 - 1793 448 - 1794 448 - 1877 448 - 1878 448 - 1879 448 - 1880 448 - 1881 448 - 1882 448 - 1883 448 - 2556 448 - 2557 448 - 2558 448 - 2559 448 - 2560 448 - 2561 448 - 2562 448 - 2645 448 - 2646 448 - 2647 448 - 2648 448 - 2649 448 - 2650 448 - 2651 448 - 255 449 - 256 449 - 257 449 - 258 449 - 259 449 - 260 449 - 339 449 - 340 449 - 341 449 - 342 449 - 343 449 - 344 449 - 345 449 - 1023 449 - 1024 449 - 1025 449 - 1026 449 - 1027 449 - 1028 449 - 1107 449 - 1108 449 - 1109 449 - 1110 449 - 1111 449 - 1112 449 - 1113 449 - 1791 449 - 1792 449 - 1793 449 - 1794 449 - 1795 449 - 1796 449 - 1875 449 - 1876 449 - 1877 449 - 1878 449 - 1879 449 - 1880 449 - 1881 449 - 2559 449 - 2560 449 - 2561 449 - 2562 449 - 2563 449 - 2564 449 - 2643 449 - 2644 449 - 2645 449 - 2646 449 - 2647 449 - 2648 449 - 2649 449 - 257 450 - 258 450 - 259 450 - 260 450 - 261 450 - 262 450 - 263 450 - 337 450 - 338 450 - 339 450 - 340 450 - 341 450 - 342 450 - 1025 450 - 1026 450 - 1027 450 - 1028 450 - 1029 450 - 1030 450 - 1031 450 - 1105 450 - 1106 450 - 1107 450 - 1108 450 - 1109 450 - 1110 450 - 1793 450 - 1794 450 - 1795 450 - 1796 450 - 1797 450 - 1798 450 - 1799 450 - 1873 450 - 1874 450 - 1875 450 - 1876 450 - 1877 450 - 1878 450 - 2561 450 - 2562 450 - 2563 450 - 2564 450 - 2565 450 - 2566 450 - 2567 450 - 2641 450 - 2642 450 - 2643 450 - 2644 450 - 2645 450 - 2646 450 - 259 451 - 260 451 - 261 451 - 262 451 - 263 451 - 264 451 - 265 451 - 334 451 - 335 451 - 336 451 - 337 451 - 338 451 - 339 451 - 340 451 - 1027 451 - 1028 451 - 1029 451 - 1030 451 - 1031 451 - 1032 451 - 1033 451 - 1102 451 - 1103 451 - 1104 451 - 1105 451 - 1106 451 - 1107 451 - 1108 451 - 1795 451 - 1796 451 - 1797 451 - 1798 451 - 1799 451 - 1800 451 - 1801 451 - 1870 451 - 1871 451 - 1872 451 - 1873 451 - 1874 451 - 1875 451 - 1876 451 - 2563 451 - 2564 451 - 2565 451 - 2566 451 - 2567 451 - 2568 451 - 2569 451 - 2638 451 - 2639 451 - 2640 451 - 2641 451 - 2642 451 - 2643 451 - 2644 451 - 262 452 - 263 452 - 264 452 - 265 452 - 266 452 - 267 452 - 332 452 - 333 452 - 334 452 - 335 452 - 336 452 - 337 452 - 1030 452 - 1031 452 - 1032 452 - 1033 452 - 1034 452 - 1035 452 - 1100 452 - 1101 452 - 1102 452 - 1103 452 - 1104 452 - 1105 452 - 1798 452 - 1799 452 - 1800 452 - 1801 452 - 1802 452 - 1803 452 - 1868 452 - 1869 452 - 1870 452 - 1871 452 - 1872 452 - 1873 452 - 2566 452 - 2567 452 - 2568 452 - 2569 452 - 2570 452 - 2571 452 - 2636 452 - 2637 452 - 2638 452 - 2639 452 - 2640 452 - 2641 452 - 265 453 - 266 453 - 267 453 - 268 453 - 269 453 - 270 453 - 329 453 - 330 453 - 331 453 - 332 453 - 333 453 - 334 453 - 335 453 - 1033 453 - 1034 453 - 1035 453 - 1036 453 - 1037 453 - 1038 453 - 1097 453 - 1098 453 - 1099 453 - 1100 453 - 1101 453 - 1102 453 - 1103 453 - 1801 453 - 1802 453 - 1803 453 - 1804 453 - 1805 453 - 1806 453 - 1865 453 - 1866 453 - 1867 453 - 1868 453 - 1869 453 - 1870 453 - 1871 453 - 2569 453 - 2570 453 - 2571 453 - 2572 453 - 2573 453 - 2574 453 - 2633 453 - 2634 453 - 2635 453 - 2636 453 - 2637 453 - 2638 453 - 2639 453 - 267 454 - 268 454 - 269 454 - 270 454 - 271 454 - 272 454 - 327 454 - 328 454 - 329 454 - 330 454 - 331 454 - 332 454 - 1035 454 - 1036 454 - 1037 454 - 1038 454 - 1039 454 - 1040 454 - 1095 454 - 1096 454 - 1097 454 - 1098 454 - 1099 454 - 1100 454 - 1803 454 - 1804 454 - 1805 454 - 1806 454 - 1807 454 - 1808 454 - 1863 454 - 1864 454 - 1865 454 - 1866 454 - 1867 454 - 1868 454 - 2571 454 - 2572 454 - 2573 454 - 2574 454 - 2575 454 - 2576 454 - 2631 454 - 2632 454 - 2633 454 - 2634 454 - 2635 454 - 2636 454 - 269 455 - 270 455 - 271 455 - 272 455 - 273 455 - 274 455 - 325 455 - 326 455 - 327 455 - 328 455 - 329 455 - 330 455 - 1037 455 - 1038 455 - 1039 455 - 1040 455 - 1041 455 - 1042 455 - 1093 455 - 1094 455 - 1095 455 - 1096 455 - 1097 455 - 1098 455 - 1805 455 - 1806 455 - 1807 455 - 1808 455 - 1809 455 - 1810 455 - 1861 455 - 1862 455 - 1863 455 - 1864 455 - 1865 455 - 1866 455 - 2573 455 - 2574 455 - 2575 455 - 2576 455 - 2577 455 - 2578 455 - 2629 455 - 2630 455 - 2631 455 - 2632 455 - 2633 455 - 2634 455 - 272 456 - 273 456 - 274 456 - 275 456 - 276 456 - 277 456 - 322 456 - 323 456 - 324 456 - 325 456 - 326 456 - 327 456 - 328 456 - 1040 456 - 1041 456 - 1042 456 - 1043 456 - 1044 456 - 1045 456 - 1090 456 - 1091 456 - 1092 456 - 1093 456 - 1094 456 - 1095 456 - 1096 456 - 1808 456 - 1809 456 - 1810 456 - 1811 456 - 1812 456 - 1813 456 - 1858 456 - 1859 456 - 1860 456 - 1861 456 - 1862 456 - 1863 456 - 1864 456 - 2576 456 - 2577 456 - 2578 456 - 2579 456 - 2580 456 - 2581 456 - 2626 456 - 2627 456 - 2628 456 - 2629 456 - 2630 456 - 2631 456 - 2632 456 - 274 457 - 275 457 - 276 457 - 277 457 - 278 457 - 279 457 - 320 457 - 321 457 - 322 457 - 323 457 - 324 457 - 325 457 - 326 457 - 1042 457 - 1043 457 - 1044 457 - 1045 457 - 1046 457 - 1047 457 - 1088 457 - 1089 457 - 1090 457 - 1091 457 - 1092 457 - 1093 457 - 1094 457 - 1810 457 - 1811 457 - 1812 457 - 1813 457 - 1814 457 - 1815 457 - 1856 457 - 1857 457 - 1858 457 - 1859 457 - 1860 457 - 1861 457 - 1862 457 - 2578 457 - 2579 457 - 2580 457 - 2581 457 - 2582 457 - 2583 457 - 2624 457 - 2625 457 - 2626 457 - 2627 457 - 2628 457 - 2629 457 - 2630 457 - 276 458 - 277 458 - 278 458 - 279 458 - 280 458 - 281 458 - 318 458 - 319 458 - 320 458 - 321 458 - 322 458 - 323 458 - 1044 458 - 1045 458 - 1046 458 - 1047 458 - 1048 458 - 1049 458 - 1086 458 - 1087 458 - 1088 458 - 1089 458 - 1090 458 - 1091 458 - 1812 458 - 1813 458 - 1814 458 - 1815 458 - 1816 458 - 1817 458 - 1854 458 - 1855 458 - 1856 458 - 1857 458 - 1858 458 - 1859 458 - 2580 458 - 2581 458 - 2582 458 - 2583 458 - 2584 458 - 2585 458 - 2622 458 - 2623 458 - 2624 458 - 2625 458 - 2626 458 - 2627 458 - 279 459 - 280 459 - 281 459 - 282 459 - 283 459 - 284 459 - 316 459 - 317 459 - 318 459 - 319 459 - 320 459 - 321 459 - 1047 459 - 1048 459 - 1049 459 - 1050 459 - 1051 459 - 1052 459 - 1084 459 - 1085 459 - 1086 459 - 1087 459 - 1088 459 - 1089 459 - 1815 459 - 1816 459 - 1817 459 - 1818 459 - 1819 459 - 1820 459 - 1852 459 - 1853 459 - 1854 459 - 1855 459 - 1856 459 - 1857 459 - 2583 459 - 2584 459 - 2585 459 - 2586 459 - 2587 459 - 2588 459 - 2620 459 - 2621 459 - 2622 459 - 2623 459 - 2624 459 - 2625 459 - 281 460 - 282 460 - 283 460 - 284 460 - 285 460 - 286 460 - 313 460 - 314 460 - 315 460 - 316 460 - 317 460 - 318 460 - 319 460 - 1049 460 - 1050 460 - 1051 460 - 1052 460 - 1053 460 - 1054 460 - 1081 460 - 1082 460 - 1083 460 - 1084 460 - 1085 460 - 1086 460 - 1087 460 - 1817 460 - 1818 460 - 1819 460 - 1820 460 - 1821 460 - 1822 460 - 1849 460 - 1850 460 - 1851 460 - 1852 460 - 1853 460 - 1854 460 - 1855 460 - 2585 460 - 2586 460 - 2587 460 - 2588 460 - 2589 460 - 2590 460 - 2617 460 - 2618 460 - 2619 460 - 2620 460 - 2621 460 - 2622 460 - 2623 460 - 283 461 - 284 461 - 285 461 - 286 461 - 287 461 - 288 461 - 311 461 - 312 461 - 313 461 - 314 461 - 315 461 - 316 461 - 1051 461 - 1052 461 - 1053 461 - 1054 461 - 1055 461 - 1056 461 - 1079 461 - 1080 461 - 1081 461 - 1082 461 - 1083 461 - 1084 461 - 1819 461 - 1820 461 - 1821 461 - 1822 461 - 1823 461 - 1824 461 - 1847 461 - 1848 461 - 1849 461 - 1850 461 - 1851 461 - 1852 461 - 2587 461 - 2588 461 - 2589 461 - 2590 461 - 2591 461 - 2592 461 - 2615 461 - 2616 461 - 2617 461 - 2618 461 - 2619 461 - 2620 461 - 285 462 - 286 462 - 287 462 - 288 462 - 289 462 - 290 462 - 309 462 - 310 462 - 311 462 - 312 462 - 313 462 - 314 462 - 1053 462 - 1054 462 - 1055 462 - 1056 462 - 1057 462 - 1058 462 - 1077 462 - 1078 462 - 1079 462 - 1080 462 - 1081 462 - 1082 462 - 1821 462 - 1822 462 - 1823 462 - 1824 462 - 1825 462 - 1826 462 - 1845 462 - 1846 462 - 1847 462 - 1848 462 - 1849 462 - 1850 462 - 2589 462 - 2590 462 - 2591 462 - 2592 462 - 2593 462 - 2594 462 - 2613 462 - 2614 462 - 2615 462 - 2616 462 - 2617 462 - 2618 462 - 287 463 - 288 463 - 289 463 - 290 463 - 291 463 - 292 463 - 293 463 - 307 463 - 308 463 - 309 463 - 310 463 - 311 463 - 312 463 - 1055 463 - 1056 463 - 1057 463 - 1058 463 - 1059 463 - 1060 463 - 1061 463 - 1075 463 - 1076 463 - 1077 463 - 1078 463 - 1079 463 - 1080 463 - 1823 463 - 1824 463 - 1825 463 - 1826 463 - 1827 463 - 1828 463 - 1829 463 - 1843 463 - 1844 463 - 1845 463 - 1846 463 - 1847 463 - 1848 463 - 2591 463 - 2592 463 - 2593 463 - 2594 463 - 2595 463 - 2596 463 - 2597 463 - 2611 463 - 2612 463 - 2613 463 - 2614 463 - 2615 463 - 2616 463 - 290 464 - 291 464 - 292 464 - 293 464 - 294 464 - 295 464 - 305 464 - 306 464 - 307 464 - 308 464 - 309 464 - 310 464 - 1058 464 - 1059 464 - 1060 464 - 1061 464 - 1062 464 - 1063 464 - 1073 464 - 1074 464 - 1075 464 - 1076 464 - 1077 464 - 1078 464 - 1826 464 - 1827 464 - 1828 464 - 1829 464 - 1830 464 - 1831 464 - 1841 464 - 1842 464 - 1843 464 - 1844 464 - 1845 464 - 1846 464 - 2594 464 - 2595 464 - 2596 464 - 2597 464 - 2598 464 - 2599 464 - 2609 464 - 2610 464 - 2611 464 - 2612 464 - 2613 464 - 2614 464 - 292 465 - 293 465 - 294 465 - 295 465 - 296 465 - 297 465 - 303 465 - 304 465 - 305 465 - 306 465 - 307 465 - 1060 465 - 1061 465 - 1062 465 - 1063 465 - 1064 465 - 1065 465 - 1071 465 - 1072 465 - 1073 465 - 1074 465 - 1075 465 - 1828 465 - 1829 465 - 1830 465 - 1831 465 - 1832 465 - 1833 465 - 1839 465 - 1840 465 - 1841 465 - 1842 465 - 1843 465 - 2596 465 - 2597 465 - 2598 465 - 2599 465 - 2600 465 - 2601 465 - 2607 465 - 2608 465 - 2609 465 - 2610 465 - 2611 465 - 294 466 - 295 466 - 296 466 - 297 466 - 298 466 - 299 466 - 300 466 - 301 466 - 302 466 - 303 466 - 304 466 - 305 466 - 1062 466 - 1063 466 - 1064 466 - 1065 466 - 1066 466 - 1067 466 - 1068 466 - 1069 466 - 1070 466 - 1071 466 - 1072 466 - 1073 466 - 1830 466 - 1831 466 - 1832 466 - 1833 466 - 1834 466 - 1835 466 - 1836 466 - 1837 466 - 1838 466 - 1839 466 - 1840 466 - 1841 466 - 2598 466 - 2599 466 - 2600 466 - 2601 466 - 2602 466 - 2603 466 - 2604 466 - 2605 466 - 2606 466 - 2607 466 - 2608 466 - 2609 466 - 296 467 - 297 467 - 298 467 - 299 467 - 300 467 - 301 467 - 302 467 - 303 467 - 1064 467 - 1065 467 - 1066 467 - 1067 467 - 1068 467 - 1069 467 - 1070 467 - 1071 467 - 1832 467 - 1833 467 - 1834 467 - 1835 467 - 1836 467 - 1837 467 - 1838 467 - 1839 467 - 2600 467 - 2601 467 - 2602 467 - 2603 467 - 2604 467 - 2605 467 - 2606 467 - 2607 467 - 298 468 - 299 468 - 300 468 - 301 468 - 1066 468 - 1067 468 - 1068 468 - 1069 468 - 1834 468 - 1835 468 - 1836 468 - 1837 468 - 2602 468 - 2603 468 - 2604 468 - 2605 468 - 299 469 - 300 469 - 1067 469 - 1068 469 - 1835 469 - 1836 469 - 2603 469 - 2604 469 - 299 470 - 300 470 - 1067 470 - 1068 470 - 1835 470 - 1836 470 - 2603 470 - 2604 470 - 299 471 - 300 471 - 1067 471 - 1068 471 - 1835 471 - 1836 471 - 2603 471 - 2604 471 - 299 472 - 300 472 - 1067 472 - 1068 472 - 1835 472 - 1836 472 - 2603 472 - 2604 472 - 299 473 - 300 473 - 1067 473 - 1068 473 - 1835 473 - 1836 473 - 2603 473 - 2604 473 - 299 474 - 300 474 - 1067 474 - 1068 474 - 1835 474 - 1836 474 - 2603 474 - 2604 474 - 299 475 - 300 475 - 1067 475 - 1068 475 - 1835 475 - 1836 475 - 2603 475 - 2604 475 - 299 476 - 300 476 - 1067 476 - 1068 476 - 1835 476 - 1836 476 - 2603 476 - 2604 476 - 299 477 - 300 477 - 1067 477 - 1068 477 - 1835 477 - 1836 477 - 2603 477 - 2604 477 - 299 478 - 300 478 - 1067 478 - 1068 478 - 1835 478 - 1836 478 - 2603 478 - 2604 478 - 299 479 - 300 479 - 1067 479 - 1068 479 - 1835 479 - 1836 479 - 2603 479 - 2604 479 - 299 480 - 300 480 - 1067 480 - 1068 480 - 1835 480 - 1836 480 - 2603 480 - 2604 480 - 299 481 - 300 481 - 1067 481 - 1068 481 - 1835 481 - 1836 481 - 2603 481 - 2604 481 - 299 482 - 300 482 - 1067 482 - 1068 482 - 1835 482 - 1836 482 - 2603 482 - 2604 482 - 299 483 - 300 483 - 1067 483 - 1068 483 - 1835 483 - 1836 483 - 2603 483 - 2604 483 - 299 484 - 300 484 - 1067 484 - 1068 484 - 1835 484 - 1836 484 - 2603 484 - 2604 484 - 299 485 - 300 485 - 1067 485 - 1068 485 - 1835 485 - 1836 485 - 2603 485 - 2604 485 - 299 486 - 300 486 - 1067 486 - 1068 486 - 1835 486 - 1836 486 - 2603 486 - 2604 486 - 299 487 - 300 487 - 1067 487 - 1068 487 - 1835 487 - 1836 487 - 2603 487 - 2604 487 - 299 488 - 300 488 - 1067 488 - 1068 488 - 1835 488 - 1836 488 - 2603 488 - 2604 488 - 299 489 - 300 489 - 1067 489 - 1068 489 - 1835 489 - 1836 489 - 2603 489 - 2604 489 - 299 490 - 300 490 - 1067 490 - 1068 490 - 1835 490 - 1836 490 - 2603 490 - 2604 490 - 299 491 - 300 491 - 1067 491 - 1068 491 - 1835 491 - 1836 491 - 2603 491 - 2604 491 - 299 492 - 300 492 - 1067 492 - 1068 492 - 1835 492 - 1836 492 - 2603 492 - 2604 492 - 299 493 - 300 493 - 1067 493 - 1068 493 - 1835 493 - 1836 493 - 2603 493 - 2604 493 - 299 494 - 300 494 - 1067 494 - 1068 494 - 1835 494 - 1836 494 - 2603 494 - 2604 494 - 299 495 - 300 495 - 1067 495 - 1068 495 - 1835 495 - 1836 495 - 2603 495 - 2604 495 - 299 496 - 300 496 - 1067 496 - 1068 496 - 1835 496 - 1836 496 - 2603 496 - 2604 496 - 299 497 - 300 497 - 1067 497 - 1068 497 - 1835 497 - 1836 497 - 2603 497 - 2604 497 - 299 498 - 300 498 - 1067 498 - 1068 498 - 1835 498 - 1836 498 - 2603 498 - 2604 498 - 299 499 - 300 499 - 1067 499 - 1068 499 - 1835 499 - 1836 499 - 2603 499 - 2604 499 - 299 500 - 300 500 - 1067 500 - 1068 500 - 1835 500 - 1836 500 - 2603 500 - 2604 500 - 299 501 - 300 501 - 1067 501 - 1068 501 - 1835 501 - 1836 501 - 2603 501 - 2604 501 - 299 502 - 300 502 - 1067 502 - 1068 502 - 1835 502 - 1836 502 - 2603 502 - 2604 502 - 299 503 - 300 503 - 1067 503 - 1068 503 - 1835 503 - 1836 503 - 2603 503 - 2604 503 - 299 504 - 300 504 - 1067 504 - 1068 504 - 1835 504 - 1836 504 - 2603 504 - 2604 504 - 299 505 - 300 505 - 1067 505 - 1068 505 - 1835 505 - 1836 505 - 2603 505 - 2604 505 - 299 506 - 300 506 - 1067 506 - 1068 506 - 1835 506 - 1836 506 - 2603 506 - 2604 506 - 299 507 - 300 507 - 1067 507 - 1068 507 - 1835 507 - 1836 507 - 2603 507 - 2604 507 - 299 508 - 300 508 - 1067 508 - 1068 508 - 1835 508 - 1836 508 - 2603 508 - 2604 508 - 299 509 - 300 509 - 1067 509 - 1068 509 - 1835 509 - 1836 509 - 2603 509 - 2604 509 - 299 510 - 300 510 - 1067 510 - 1068 510 - 1835 510 - 1836 510 - 2603 510 - 2604 510 - 299 511 - 300 511 - 1067 511 - 1068 511 - 1835 511 - 1836 511 - 2603 511 - 2604 511 - 299 512 - 300 512 - 1067 512 - 1068 512 - 1835 512 - 1836 512 - 2603 512 - 2604 512 - 299 513 - 300 513 - 1067 513 - 1068 513 - 1835 513 - 1836 513 - 2603 513 - 2604 513 - 299 514 - 300 514 - 1067 514 - 1068 514 - 1835 514 - 1836 514 - 2603 514 - 2604 514 - 299 515 - 300 515 - 1067 515 - 1068 515 - 1835 515 - 1836 515 - 2603 515 - 2604 515 - 299 516 - 300 516 - 1067 516 - 1068 516 - 1835 516 - 1836 516 - 2603 516 - 2604 516 - 299 517 - 300 517 - 1067 517 - 1068 517 - 1835 517 - 1836 517 - 2603 517 - 2604 517 - 299 518 - 300 518 - 1067 518 - 1068 518 - 1835 518 - 1836 518 - 2603 518 - 2604 518 - 299 519 - 300 519 - 1067 519 - 1068 519 - 1835 519 - 1836 519 - 2603 519 - 2604 519 - 299 520 - 300 520 - 1067 520 - 1068 520 - 1835 520 - 1836 520 - 2603 520 - 2604 520 - 299 521 - 300 521 - 1067 521 - 1068 521 - 1835 521 - 1836 521 - 2603 521 - 2604 521 - 299 522 - 300 522 - 1067 522 - 1068 522 - 1835 522 - 1836 522 - 2603 522 - 2604 522 - 299 523 - 300 523 - 1067 523 - 1068 523 - 1835 523 - 1836 523 - 2603 523 - 2604 523 - 299 524 - 300 524 - 1067 524 - 1068 524 - 1835 524 - 1836 524 - 2603 524 - 2604 524 - 299 525 - 300 525 - 1067 525 - 1068 525 - 1835 525 - 1836 525 - 2603 525 - 2604 525 - 299 526 - 300 526 - 1067 526 - 1068 526 - 1835 526 - 1836 526 - 2603 526 - 2604 526 - 299 527 - 300 527 - 1067 527 - 1068 527 - 1835 527 - 1836 527 - 2603 527 - 2604 527 - 299 528 - 300 528 - 1067 528 - 1068 528 - 1835 528 - 1836 528 - 2603 528 - 2604 528 - 299 529 - 300 529 - 1067 529 - 1068 529 - 1835 529 - 1836 529 - 2603 529 - 2604 529 - 299 530 - 300 530 - 1067 530 - 1068 530 - 1835 530 - 1836 530 - 2603 530 - 2604 530 - 299 531 - 300 531 - 1067 531 - 1068 531 - 1835 531 - 1836 531 - 2603 531 - 2604 531 - 299 532 - 300 532 - 1067 532 - 1068 532 - 1835 532 - 1836 532 - 2603 532 - 2604 532 - 299 533 - 300 533 - 1067 533 - 1068 533 - 1835 533 - 1836 533 - 2603 533 - 2604 533 - 299 534 - 300 534 - 1067 534 - 1068 534 - 1835 534 - 1836 534 - 2603 534 - 2604 534 - 299 535 - 300 535 - 1067 535 - 1068 535 - 1835 535 - 1836 535 - 2603 535 - 2604 535 - 299 536 - 300 536 - 1067 536 - 1068 536 - 1835 536 - 1836 536 - 2603 536 - 2604 536 - 299 537 - 300 537 - 1067 537 - 1068 537 - 1835 537 - 1836 537 - 2603 537 - 2604 537 - 299 538 - 300 538 - 1067 538 - 1068 538 - 1835 538 - 1836 538 - 2603 538 - 2604 538 - 299 539 - 300 539 - 1067 539 - 1068 539 - 1835 539 - 1836 539 - 2603 539 - 2604 539 - 299 540 - 300 540 - 1067 540 - 1068 540 - 1835 540 - 1836 540 - 2603 540 - 2604 540 - 299 541 - 300 541 - 1067 541 - 1068 541 - 1835 541 - 1836 541 - 2603 541 - 2604 541 - 299 542 - 300 542 - 1067 542 - 1068 542 - 1835 542 - 1836 542 - 2603 542 - 2604 542 - 299 543 - 300 543 - 1067 543 - 1068 543 - 1835 543 - 1836 543 - 2603 543 - 2604 543 - 299 544 - 300 544 - 1067 544 - 1068 544 - 1835 544 - 1836 544 - 2603 544 - 2604 544 - 299 545 - 300 545 - 1067 545 - 1068 545 - 1835 545 - 1836 545 - 2603 545 - 2604 545 - 299 546 - 300 546 - 1067 546 - 1068 546 - 1835 546 - 1836 546 - 2603 546 - 2604 546 - 299 547 - 300 547 - 1067 547 - 1068 547 - 1835 547 - 1836 547 - 2603 547 - 2604 547 - 299 548 - 300 548 - 1067 548 - 1068 548 - 1835 548 - 1836 548 - 2603 548 - 2604 548 - 299 549 - 300 549 - 1067 549 - 1068 549 - 1835 549 - 1836 549 - 2603 549 - 2604 549 - 299 550 - 300 550 - 1067 550 - 1068 550 - 1835 550 - 1836 550 - 2603 550 - 2604 550 - 299 551 - 300 551 - 1067 551 - 1068 551 - 1835 551 - 1836 551 - 2603 551 - 2604 551 - 299 552 - 300 552 - 1067 552 - 1068 552 - 1835 552 - 1836 552 - 2603 552 - 2604 552 - 299 553 - 300 553 - 1067 553 - 1068 553 - 1835 553 - 1836 553 - 2603 553 - 2604 553 - 299 554 - 300 554 - 1067 554 - 1068 554 - 1835 554 - 1836 554 - 2603 554 - 2604 554 - 299 555 - 300 555 - 1067 555 - 1068 555 - 1835 555 - 1836 555 - 2603 555 - 2604 555 - 299 556 - 300 556 - 1067 556 - 1068 556 - 1835 556 - 1836 556 - 2603 556 - 2604 556 - 299 557 - 300 557 - 1067 557 - 1068 557 - 1835 557 - 1836 557 - 2603 557 - 2604 557 - 299 558 - 300 558 - 1067 558 - 1068 558 - 1835 558 - 1836 558 - 2603 558 - 2604 558 - 299 559 - 300 559 - 1067 559 - 1068 559 - 1835 559 - 1836 559 - 2603 559 - 2604 559 - 299 560 - 300 560 - 1067 560 - 1068 560 - 1835 560 - 1836 560 - 2603 560 - 2604 560 - 299 561 - 300 561 - 1067 561 - 1068 561 - 1835 561 - 1836 561 - 2603 561 - 2604 561 - 299 562 - 300 562 - 1067 562 - 1068 562 - 1835 562 - 1836 562 - 2603 562 - 2604 562 - 299 563 - 300 563 - 1067 563 - 1068 563 - 1835 563 - 1836 563 - 2603 563 - 2604 563 - 299 564 - 300 564 - 1067 564 - 1068 564 - 1835 564 - 1836 564 - 2603 564 - 2604 564 - 299 565 - 300 565 - 1067 565 - 1068 565 - 1835 565 - 1836 565 - 2603 565 - 2604 565 - 299 566 - 300 566 - 1067 566 - 1068 566 - 1835 566 - 1836 566 - 2603 566 - 2604 566 - 299 567 - 300 567 - 1067 567 - 1068 567 - 1835 567 - 1836 567 - 2603 567 - 2604 567 - 299 568 - 300 568 - 1067 568 - 1068 568 - 1835 568 - 1836 568 - 2603 568 - 2604 568 - 299 569 - 300 569 - 1067 569 - 1068 569 - 1835 569 - 1836 569 - 2603 569 - 2604 569 - 299 570 - 300 570 - 1067 570 - 1068 570 - 1835 570 - 1836 570 - 2603 570 - 2604 570 - 299 571 - 300 571 - 1067 571 - 1068 571 - 1835 571 - 1836 571 - 2603 571 - 2604 571 - 299 572 - 300 572 - 1067 572 - 1068 572 - 1835 572 - 1836 572 - 2603 572 - 2604 572 - 299 573 - 300 573 - 1067 573 - 1068 573 - 1835 573 - 1836 573 - 2603 573 - 2604 573 - 299 574 - 300 574 - 1067 574 - 1068 574 - 1835 574 - 1836 574 - 2603 574 - 2604 574 - 299 575 - 300 575 - 1067 575 - 1068 575 - 1835 575 - 1836 575 - 2603 575 - 2604 575 - 299 576 - 300 576 - 1067 576 - 1068 576 - 1835 576 - 1836 576 - 2603 576 - 2604 576 - 299 577 - 300 577 - 1067 577 - 1068 577 - 1835 577 - 1836 577 - 2603 577 - 2604 577 - 299 578 - 300 578 - 1067 578 - 1068 578 - 1835 578 - 1836 578 - 2603 578 - 2604 578 - 299 579 - 300 579 - 1067 579 - 1068 579 - 1835 579 - 1836 579 - 2603 579 - 2604 579 - 299 580 - 300 580 - 1067 580 - 1068 580 - 1835 580 - 1836 580 - 2603 580 - 2604 580 - 299 581 - 300 581 - 1067 581 - 1068 581 - 1835 581 - 1836 581 - 2603 581 - 2604 581 - 299 582 - 300 582 - 1067 582 - 1068 582 - 1835 582 - 1836 582 - 2603 582 - 2604 582 - 299 583 - 300 583 - 1067 583 - 1068 583 - 1835 583 - 1836 583 - 2603 583 - 2604 583 - 299 584 - 300 584 - 1067 584 - 1068 584 - 1835 584 - 1836 584 - 2603 584 - 2604 584 - 299 585 - 300 585 - 1067 585 - 1068 585 - 1835 585 - 1836 585 - 2603 585 - 2604 585 - 299 586 - 300 586 - 1067 586 - 1068 586 - 1835 586 - 1836 586 - 2603 586 - 2604 586 - 299 587 - 300 587 - 1067 587 - 1068 587 - 1835 587 - 1836 587 - 2603 587 - 2604 587 - 299 588 - 300 588 - 1067 588 - 1068 588 - 1835 588 - 1836 588 - 2603 588 - 2604 588 - 299 589 - 300 589 - 1067 589 - 1068 589 - 1835 589 - 1836 589 - 2603 589 - 2604 589 - 299 590 - 300 590 - 1067 590 - 1068 590 - 1835 590 - 1836 590 - 2603 590 - 2604 590 - 299 591 - 300 591 - 1067 591 - 1068 591 - 1835 591 - 1836 591 - 2603 591 - 2604 591 - 299 592 - 300 592 - 1067 592 - 1068 592 - 1835 592 - 1836 592 - 2603 592 - 2604 592 - 299 593 - 300 593 - 1067 593 - 1068 593 - 1835 593 - 1836 593 - 2603 593 - 2604 593 - 299 594 - 300 594 - 1067 594 - 1068 594 - 1835 594 - 1836 594 - 2603 594 - 2604 594 - 299 595 - 300 595 - 1067 595 - 1068 595 - 1835 595 - 1836 595 - 2603 595 - 2604 595 - 299 596 - 300 596 - 1067 596 - 1068 596 - 1835 596 - 1836 596 - 2603 596 - 2604 596 - 299 597 - 300 597 - 1067 597 - 1068 597 - 1835 597 - 1836 597 - 2603 597 - 2604 597 - 299 598 - 300 598 - 1067 598 - 1068 598 - 1835 598 - 1836 598 - 2603 598 - 2604 598 - 299 599 - 300 599 - 1067 599 - 1068 599 - 1835 599 - 1836 599 - 2603 599 - 2604 599 - 299 600 - 300 600 - 1067 600 - 1068 600 - 1835 600 - 1836 600 - 2603 600 - 2604 600 - 299 601 - 300 601 - 1067 601 - 1068 601 - 1835 601 - 1836 601 - 2603 601 - 2604 601 - 299 602 - 300 602 - 1067 602 - 1068 602 - 1835 602 - 1836 602 - 2603 602 - 2604 602 - 299 603 - 300 603 - 1067 603 - 1068 603 - 1835 603 - 1836 603 - 2603 603 - 2604 603 - 299 604 - 300 604 - 1067 604 - 1068 604 - 1835 604 - 1836 604 - 2603 604 - 2604 604 - 299 605 - 300 605 - 1067 605 - 1068 605 - 1835 605 - 1836 605 - 2603 605 - 2604 605 - 299 606 - 300 606 - 1067 606 - 1068 606 - 1835 606 - 1836 606 - 2603 606 - 2604 606 - 299 607 - 300 607 - 1067 607 - 1068 607 - 1835 607 - 1836 607 - 2603 607 - 2604 607 - 299 608 - 300 608 - 1067 608 - 1068 608 - 1835 608 - 1836 608 - 2603 608 - 2604 608 - 299 609 - 300 609 - 1067 609 - 1068 609 - 1835 609 - 1836 609 - 2603 609 - 2604 609 - 299 610 - 300 610 - 1067 610 - 1068 610 - 1835 610 - 1836 610 - 2603 610 - 2604 610 - 299 611 - 300 611 - 1067 611 - 1068 611 - 1835 611 - 1836 611 - 2603 611 - 2604 611 - 299 612 - 300 612 - 1067 612 - 1068 612 - 1835 612 - 1836 612 - 2603 612 - 2604 612 - 299 613 - 300 613 - 1067 613 - 1068 613 - 1835 613 - 1836 613 - 2603 613 - 2604 613 - 299 614 - 300 614 - 1067 614 - 1068 614 - 1835 614 - 1836 614 - 2603 614 - 2604 614 - 299 615 - 300 615 - 1067 615 - 1068 615 - 1835 615 - 1836 615 - 2603 615 - 2604 615 - 299 616 - 300 616 - 1067 616 - 1068 616 - 1835 616 - 1836 616 - 2603 616 - 2604 616 - 299 617 - 300 617 - 1067 617 - 1068 617 - 1835 617 - 1836 617 - 2603 617 - 2604 617 - 299 618 - 300 618 - 1067 618 - 1068 618 - 1835 618 - 1836 618 - 2603 618 - 2604 618 - 299 619 - 300 619 - 1067 619 - 1068 619 - 1835 619 - 1836 619 - 2603 619 - 2604 619 - 299 620 - 300 620 - 1067 620 - 1068 620 - 1835 620 - 1836 620 - 2603 620 - 2604 620 - 299 621 - 300 621 - 1067 621 - 1068 621 - 1835 621 - 1836 621 - 2603 621 - 2604 621 - 299 622 - 300 622 - 1067 622 - 1068 622 - 1835 622 - 1836 622 - 2603 622 - 2604 622 - 299 623 - 300 623 - 1067 623 - 1068 623 - 1835 623 - 1836 623 - 2603 623 - 2604 623 - 299 624 - 300 624 - 1067 624 - 1068 624 - 1835 624 - 1836 624 - 2603 624 - 2604 624 - 299 625 - 300 625 - 1067 625 - 1068 625 - 1835 625 - 1836 625 - 2603 625 - 2604 625 - 299 626 - 300 626 - 1067 626 - 1068 626 - 1835 626 - 1836 626 - 2603 626 - 2604 626 - 299 627 - 300 627 - 1067 627 - 1068 627 - 1835 627 - 1836 627 - 2603 627 - 2604 627 - 299 628 - 300 628 - 1067 628 - 1068 628 - 1835 628 - 1836 628 - 2603 628 - 2604 628 - 299 629 - 300 629 - 1067 629 - 1068 629 - 1835 629 - 1836 629 - 2603 629 - 2604 629 - 299 630 - 300 630 - 1067 630 - 1068 630 - 1835 630 - 1836 630 - 2603 630 - 2604 630 - 299 631 - 300 631 - 1067 631 - 1068 631 - 1835 631 - 1836 631 - 2603 631 - 2604 631 - 299 632 - 300 632 - 1067 632 - 1068 632 - 1835 632 - 1836 632 - 2603 632 - 2604 632 - 299 633 - 300 633 - 1067 633 - 1068 633 - 1835 633 - 1836 633 - 2603 633 - 2604 633 - 299 634 - 300 634 - 1067 634 - 1068 634 - 1835 634 - 1836 634 - 2603 634 - 2604 634 - 299 635 - 300 635 - 1067 635 - 1068 635 - 1835 635 - 1836 635 - 2603 635 - 2604 635 - 299 636 - 300 636 - 1067 636 - 1068 636 - 1835 636 - 1836 636 - 2603 636 - 2604 636 - 299 637 - 300 637 - 1067 637 - 1068 637 - 1835 637 - 1836 637 - 2603 637 - 2604 637 - 299 638 - 300 638 - 1067 638 - 1068 638 - 1835 638 - 1836 638 - 2603 638 - 2604 638 - 299 639 - 300 639 - 1067 639 - 1068 639 - 1835 639 - 1836 639 - 2603 639 - 2604 639 - 299 640 - 300 640 - 1067 640 - 1068 640 - 1835 640 - 1836 640 - 2603 640 - 2604 640 - 299 641 - 300 641 - 1067 641 - 1068 641 - 1835 641 - 1836 641 - 2603 641 - 2604 641 - 299 642 - 300 642 - 1067 642 - 1068 642 - 1835 642 - 1836 642 - 2603 642 - 2604 642 - 299 643 - 300 643 - 1067 643 - 1068 643 - 1835 643 - 1836 643 - 2603 643 - 2604 643 - 299 644 - 300 644 - 1067 644 - 1068 644 - 1835 644 - 1836 644 - 2603 644 - 2604 644 - 299 645 - 300 645 - 1067 645 - 1068 645 - 1835 645 - 1836 645 - 2603 645 - 2604 645 - 299 646 - 300 646 - 1067 646 - 1068 646 - 1835 646 - 1836 646 - 2603 646 - 2604 646 - 299 647 - 300 647 - 1067 647 - 1068 647 - 1835 647 - 1836 647 - 2603 647 - 2604 647 - 299 648 - 300 648 - 1067 648 - 1068 648 - 1835 648 - 1836 648 - 2603 648 - 2604 648 - 299 649 - 300 649 - 1067 649 - 1068 649 - 1835 649 - 1836 649 - 2603 649 - 2604 649 - 299 650 - 300 650 - 1067 650 - 1068 650 - 1835 650 - 1836 650 - 2603 650 - 2604 650 - 299 651 - 300 651 - 1067 651 - 1068 651 - 1835 651 - 1836 651 - 2603 651 - 2604 651 - 299 652 - 300 652 - 1067 652 - 1068 652 - 1835 652 - 1836 652 - 2603 652 - 2604 652 - 299 653 - 300 653 - 1067 653 - 1068 653 - 1835 653 - 1836 653 - 2603 653 - 2604 653 - 299 654 - 300 654 - 1067 654 - 1068 654 - 1835 654 - 1836 654 - 2603 654 - 2604 654 - 299 655 - 300 655 - 1067 655 - 1068 655 - 1835 655 - 1836 655 - 2603 655 - 2604 655 - 299 656 - 300 656 - 1067 656 - 1068 656 - 1835 656 - 1836 656 - 2603 656 - 2604 656 - 299 657 - 300 657 - 1067 657 - 1068 657 - 1835 657 - 1836 657 - 2603 657 - 2604 657 - 299 658 - 300 658 - 1067 658 - 1068 658 - 1835 658 - 1836 658 - 2603 658 - 2604 658 - 299 659 - 300 659 - 1067 659 - 1068 659 - 1835 659 - 1836 659 - 2603 659 - 2604 659 - 299 660 - 300 660 - 1067 660 - 1068 660 - 1835 660 - 1836 660 - 2603 660 - 2604 660 - 299 661 - 300 661 - 1067 661 - 1068 661 - 1835 661 - 1836 661 - 2603 661 - 2604 661 - 299 662 - 300 662 - 1067 662 - 1068 662 - 1835 662 - 1836 662 - 2603 662 - 2604 662 - 299 663 - 300 663 - 1067 663 - 1068 663 - 1835 663 - 1836 663 - 2603 663 - 2604 663 - 299 664 - 300 664 - 1067 664 - 1068 664 - 1835 664 - 1836 664 - 2603 664 - 2604 664 - 299 665 - 300 665 - 1067 665 - 1068 665 - 1835 665 - 1836 665 - 2603 665 - 2604 665 - 299 666 - 300 666 - 1067 666 - 1068 666 - 1835 666 - 1836 666 - 2603 666 - 2604 666 - 299 667 - 300 667 - 1067 667 - 1068 667 - 1835 667 - 1836 667 - 2603 667 - 2604 667 - 299 668 - 300 668 - 1067 668 - 1068 668 - 1835 668 - 1836 668 - 2603 668 - 2604 668 - 299 669 - 300 669 - 1067 669 - 1068 669 - 1835 669 - 1836 669 - 2603 669 - 2604 669 - 299 670 - 300 670 - 1067 670 - 1068 670 - 1835 670 - 1836 670 - 2603 670 - 2604 670 - 299 671 - 300 671 - 1067 671 - 1068 671 - 1835 671 - 1836 671 - 2603 671 - 2604 671 - 299 672 - 300 672 - 1067 672 - 1068 672 - 1835 672 - 1836 672 - 2603 672 - 2604 672 - 299 673 - 300 673 - 1067 673 - 1068 673 - 1835 673 - 1836 673 - 2603 673 - 2604 673 - 299 674 - 300 674 - 1067 674 - 1068 674 - 1835 674 - 1836 674 - 2603 674 - 2604 674 - 299 675 - 300 675 - 1067 675 - 1068 675 - 1835 675 - 1836 675 - 2603 675 - 2604 675 - 299 676 - 300 676 - 1067 676 - 1068 676 - 1835 676 - 1836 676 - 2603 676 - 2604 676 - 299 677 - 300 677 - 1067 677 - 1068 677 - 1835 677 - 1836 677 - 2603 677 - 2604 677 - 299 678 - 300 678 - 1067 678 - 1068 678 - 1835 678 - 1836 678 - 2603 678 - 2604 678 - 299 679 - 300 679 - 1067 679 - 1068 679 - 1835 679 - 1836 679 - 2603 679 - 2604 679 - 299 680 - 300 680 - 1067 680 - 1068 680 - 1835 680 - 1836 680 - 2603 680 - 2604 680 - 299 681 - 300 681 - 1067 681 - 1068 681 - 1835 681 - 1836 681 - 2603 681 - 2604 681 - 299 682 - 300 682 - 1067 682 - 1068 682 - 1835 682 - 1836 682 - 2603 682 - 2604 682 - 299 683 - 300 683 - 1067 683 - 1068 683 - 1835 683 - 1836 683 - 2603 683 - 2604 683 - 299 684 - 300 684 - 1067 684 - 1068 684 - 1835 684 - 1836 684 - 2603 684 - 2604 684 - 299 685 - 300 685 - 1067 685 - 1068 685 - 1835 685 - 1836 685 - 2603 685 - 2604 685 - 299 686 - 300 686 - 1067 686 - 1068 686 - 1835 686 - 1836 686 - 2603 686 - 2604 686 - 299 687 - 300 687 - 1067 687 - 1068 687 - 1835 687 - 1836 687 - 2603 687 - 2604 687 - 299 688 - 300 688 - 1067 688 - 1068 688 - 1835 688 - 1836 688 - 2603 688 - 2604 688 - 299 689 - 300 689 - 1067 689 - 1068 689 - 1835 689 - 1836 689 - 2603 689 - 2604 689 - 299 690 - 300 690 - 1067 690 - 1068 690 - 1835 690 - 1836 690 - 2603 690 - 2604 690 - 299 691 - 300 691 - 1067 691 - 1068 691 - 1835 691 - 1836 691 - 2603 691 - 2604 691 - 299 692 - 300 692 - 1067 692 - 1068 692 - 1835 692 - 1836 692 - 2603 692 - 2604 692 - 299 693 - 300 693 - 1067 693 - 1068 693 - 1835 693 - 1836 693 - 2603 693 - 2604 693 - 299 694 - 300 694 - 1067 694 - 1068 694 - 1835 694 - 1836 694 - 2603 694 - 2604 694 - 299 695 - 300 695 - 1067 695 - 1068 695 - 1835 695 - 1836 695 - 2603 695 - 2604 695 - 299 696 - 300 696 - 1067 696 - 1068 696 - 1835 696 - 1836 696 - 2603 696 - 2604 696 - 299 697 - 300 697 - 1067 697 - 1068 697 - 1835 697 - 1836 697 - 2603 697 - 2604 697 - 299 698 - 300 698 - 1067 698 - 1068 698 - 1835 698 - 1836 698 - 2603 698 - 2604 698 - 299 699 - 300 699 - 1067 699 - 1068 699 - 1835 699 - 1836 699 - 2603 699 - 2604 699 - 299 700 - 300 700 - 1067 700 - 1068 700 - 1835 700 - 1836 700 - 2603 700 - 2604 700 - 299 701 - 300 701 - 1067 701 - 1068 701 - 1835 701 - 1836 701 - 2603 701 - 2604 701 - 299 702 - 300 702 - 1067 702 - 1068 702 - 1835 702 - 1836 702 - 2603 702 - 2604 702 - 299 703 - 300 703 - 1067 703 - 1068 703 - 1835 703 - 1836 703 - 2603 703 - 2604 703 - 299 704 - 300 704 - 1067 704 - 1068 704 - 1835 704 - 1836 704 - 2603 704 - 2604 704 - 299 705 - 300 705 - 1067 705 - 1068 705 - 1835 705 - 1836 705 - 2603 705 - 2604 705 - 299 706 - 300 706 - 1067 706 - 1068 706 - 1835 706 - 1836 706 - 2603 706 - 2604 706 - 299 707 - 300 707 - 1067 707 - 1068 707 - 1835 707 - 1836 707 - 2603 707 - 2604 707 - 299 708 - 300 708 - 1067 708 - 1068 708 - 1835 708 - 1836 708 - 2603 708 - 2604 708 - 299 709 - 300 709 - 1067 709 - 1068 709 - 1835 709 - 1836 709 - 2603 709 - 2604 709 - 299 710 - 300 710 - 1067 710 - 1068 710 - 1835 710 - 1836 710 - 2603 710 - 2604 710 - 299 711 - 300 711 - 1067 711 - 1068 711 - 1835 711 - 1836 711 - 2603 711 - 2604 711 - 299 712 - 300 712 - 1067 712 - 1068 712 - 1835 712 - 1836 712 - 2603 712 - 2604 712 - 299 713 - 300 713 - 1067 713 - 1068 713 - 1835 713 - 1836 713 - 2603 713 - 2604 713 - 299 714 - 300 714 - 1067 714 - 1068 714 - 1835 714 - 1836 714 - 2603 714 - 2604 714 - 299 715 - 300 715 - 1067 715 - 1068 715 - 1835 715 - 1836 715 - 2603 715 - 2604 715 - 299 716 - 300 716 - 1067 716 - 1068 716 - 1835 716 - 1836 716 - 2603 716 - 2604 716 - 299 717 - 300 717 - 1067 717 - 1068 717 - 1835 717 - 1836 717 - 2603 717 - 2604 717 - 299 718 - 300 718 - 1067 718 - 1068 718 - 1835 718 - 1836 718 - 2603 718 - 2604 718 - 299 719 - 300 719 - 1067 719 - 1068 719 - 1835 719 - 1836 719 - 2603 719 - 2604 719 - 299 720 - 300 720 - 1067 720 - 1068 720 - 1835 720 - 1836 720 - 2603 720 - 2604 720 - 299 721 - 300 721 - 1067 721 - 1068 721 - 1835 721 - 1836 721 - 2603 721 - 2604 721 - 299 722 - 300 722 - 1067 722 - 1068 722 - 1835 722 - 1836 722 - 2603 722 - 2604 722 - 299 723 - 300 723 - 1067 723 - 1068 723 - 1835 723 - 1836 723 - 2603 723 - 2604 723 - 299 724 - 300 724 - 1067 724 - 1068 724 - 1835 724 - 1836 724 - 2603 724 - 2604 724 - 299 725 - 300 725 - 1067 725 - 1068 725 - 1835 725 - 1836 725 - 2603 725 - 2604 725 - 299 726 - 300 726 - 1067 726 - 1068 726 - 1835 726 - 1836 726 - 2603 726 - 2604 726 - 299 727 - 300 727 - 1067 727 - 1068 727 - 1835 727 - 1836 727 - 2603 727 - 2604 727 - 299 728 - 300 728 - 1067 728 - 1068 728 - 1835 728 - 1836 728 - 2603 728 - 2604 728 - 299 729 - 300 729 - 1067 729 - 1068 729 - 1835 729 - 1836 729 - 2603 729 - 2604 729 - 299 730 - 300 730 - 1067 730 - 1068 730 - 1835 730 - 1836 730 - 2603 730 - 2604 730 - 299 731 - 300 731 - 1067 731 - 1068 731 - 1835 731 - 1836 731 - 2603 731 - 2604 731 - 299 732 - 300 732 - 1067 732 - 1068 732 - 1835 732 - 1836 732 - 2603 732 - 2604 732 - 299 733 - 300 733 - 1067 733 - 1068 733 - 1835 733 - 1836 733 - 2603 733 - 2604 733 - 299 734 - 300 734 - 1067 734 - 1068 734 - 1835 734 - 1836 734 - 2603 734 - 2604 734 - 299 735 - 300 735 - 1067 735 - 1068 735 - 1835 735 - 1836 735 - 2603 735 - 2604 735 - 299 736 - 300 736 - 1067 736 - 1068 736 - 1835 736 - 1836 736 - 2603 736 - 2604 736 - 299 737 - 300 737 - 1067 737 - 1068 737 - 1835 737 - 1836 737 - 2603 737 - 2604 737 - 299 738 - 300 738 - 1067 738 - 1068 738 - 1835 738 - 1836 738 - 2603 738 - 2604 738 - 299 739 - 300 739 - 1067 739 - 1068 739 - 1835 739 - 1836 739 - 2603 739 - 2604 739 - 299 740 - 300 740 - 1067 740 - 1068 740 - 1835 740 - 1836 740 - 2603 740 - 2604 740 - 299 741 - 300 741 - 1067 741 - 1068 741 - 1835 741 - 1836 741 - 2603 741 - 2604 741 - 299 742 - 300 742 - 1067 742 - 1068 742 - 1835 742 - 1836 742 - 2603 742 - 2604 742 - 299 743 - 300 743 - 1067 743 - 1068 743 - 1835 743 - 1836 743 - 2603 743 - 2604 743 - 299 744 - 300 744 - 1067 744 - 1068 744 - 1835 744 - 1836 744 - 2603 744 - 2604 744 - 299 745 - 300 745 - 1067 745 - 1068 745 - 1835 745 - 1836 745 - 2603 745 - 2604 745 - 299 746 - 300 746 - 1067 746 - 1068 746 - 1835 746 - 1836 746 - 2603 746 - 2604 746 - 299 747 - 300 747 - 1067 747 - 1068 747 - 1835 747 - 1836 747 - 2603 747 - 2604 747 - 299 748 - 300 748 - 1067 748 - 1068 748 - 1835 748 - 1836 748 - 2603 748 - 2604 748 - 299 749 - 300 749 - 1067 749 - 1068 749 - 1835 749 - 1836 749 - 2603 749 - 2604 749 - 299 750 - 300 750 - 1067 750 - 1068 750 - 1835 750 - 1836 750 - 2603 750 - 2604 750 - 299 751 - 300 751 - 1067 751 - 1068 751 - 1835 751 - 1836 751 - 2603 751 - 2604 751 - 299 752 - 300 752 - 1067 752 - 1068 752 - 1835 752 - 1836 752 - 2603 752 - 2604 752 - 299 753 - 300 753 - 1067 753 - 1068 753 - 1835 753 - 1836 753 - 2603 753 - 2604 753 - 299 754 - 300 754 - 1067 754 - 1068 754 - 1835 754 - 1836 754 - 2603 754 - 2604 754 - 299 755 - 300 755 - 1067 755 - 1068 755 - 1835 755 - 1836 755 - 2603 755 - 2604 755 - 299 756 - 300 756 - 1067 756 - 1068 756 - 1835 756 - 1836 756 - 2603 756 - 2604 756 - 299 757 - 300 757 - 1067 757 - 1068 757 - 1835 757 - 1836 757 - 2603 757 - 2604 757 - 299 758 - 300 758 - 1067 758 - 1068 758 - 1835 758 - 1836 758 - 2603 758 - 2604 758 - 299 759 - 300 759 - 1067 759 - 1068 759 - 1835 759 - 1836 759 - 2603 759 - 2604 759 - 299 760 - 300 760 - 1067 760 - 1068 760 - 1835 760 - 1836 760 - 2603 760 - 2604 760 - 299 761 - 300 761 - 1067 761 - 1068 761 - 1835 761 - 1836 761 - 2603 761 - 2604 761 - 299 762 - 300 762 - 1067 762 - 1068 762 - 1835 762 - 1836 762 - 2603 762 - 2604 762 - 299 763 - 300 763 - 1067 763 - 1068 763 - 1835 763 - 1836 763 - 2603 763 - 2604 763 - 299 764 - 300 764 - 1067 764 - 1068 764 - 1835 764 - 1836 764 - 2603 764 - 2604 764 - 299 765 - 300 765 - 1067 765 - 1068 765 - 1835 765 - 1836 765 - 2603 765 - 2604 765 - 299 766 - 300 766 - 1067 766 - 1068 766 - 1835 766 - 1836 766 - 2603 766 - 2604 766 - 299 767 - 300 767 - 1067 767 - 1068 767 - 1835 767 - 1836 767 - 2603 767 - 2604 767 - 299 768 - 300 768 - 1067 768 - 1068 768 - 1835 768 - 1836 768 - 2603 768 - 2604 768 - 299 769 - 300 769 - 1067 769 - 1068 769 - 1835 769 - 1836 769 - 2603 769 - 2604 769 - 299 770 - 300 770 - 1067 770 - 1068 770 - 1835 770 - 1836 770 - 2603 770 - 2604 770 - 299 771 - 300 771 - 1067 771 - 1068 771 - 1835 771 - 1836 771 - 2603 771 - 2604 771 - 299 772 - 300 772 - 1067 772 - 1068 772 - 1835 772 - 1836 772 - 2603 772 - 2604 772 - 299 773 - 300 773 - 1067 773 - 1068 773 - 1835 773 - 1836 773 - 2603 773 - 2604 773 - 299 774 - 300 774 - 1067 774 - 1068 774 - 1835 774 - 1836 774 - 2603 774 - 2604 774 - 299 775 - 300 775 - 1067 775 - 1068 775 - 1835 775 - 1836 775 - 2603 775 - 2604 775 - 299 776 - 300 776 - 1067 776 - 1068 776 - 1835 776 - 1836 776 - 2603 776 - 2604 776 - 299 777 - 300 777 - 1067 777 - 1068 777 - 1835 777 - 1836 777 - 2603 777 - 2604 777 - 299 778 - 300 778 - 1067 778 - 1068 778 - 1835 778 - 1836 778 - 2603 778 - 2604 778 - 299 779 - 300 779 - 1067 779 - 1068 779 - 1835 779 - 1836 779 - 2603 779 - 2604 779 - 299 780 - 300 780 - 1067 780 - 1068 780 - 1835 780 - 1836 780 - 2603 780 - 2604 780 - 299 781 - 300 781 - 1067 781 - 1068 781 - 1835 781 - 1836 781 - 2603 781 - 2604 781 - 299 782 - 300 782 - 1067 782 - 1068 782 - 1835 782 - 1836 782 - 2603 782 - 2604 782 - 299 783 - 300 783 - 1067 783 - 1068 783 - 1835 783 - 1836 783 - 2603 783 - 2604 783 - 299 784 - 300 784 - 1067 784 - 1068 784 - 1835 784 - 1836 784 - 2603 784 - 2604 784 - 299 785 - 300 785 - 1067 785 - 1068 785 - 1835 785 - 1836 785 - 2603 785 - 2604 785 - 299 786 - 300 786 - 1067 786 - 1068 786 - 1835 786 - 1836 786 - 2603 786 - 2604 786 - 299 787 - 300 787 - 1067 787 - 1068 787 - 1835 787 - 1836 787 - 2603 787 - 2604 787 - 299 788 - 300 788 - 1067 788 - 1068 788 - 1835 788 - 1836 788 - 2603 788 - 2604 788 - 299 789 - 300 789 - 1067 789 - 1068 789 - 1835 789 - 1836 789 - 2603 789 - 2604 789 - 299 790 - 300 790 - 1067 790 - 1068 790 - 1835 790 - 1836 790 - 2603 790 - 2604 790 - 299 791 - 300 791 - 1067 791 - 1068 791 - 1835 791 - 1836 791 - 2603 791 - 2604 791 - 299 792 - 300 792 - 1067 792 - 1068 792 - 1835 792 - 1836 792 - 2603 792 - 2604 792 - 299 793 - 300 793 - 1067 793 - 1068 793 - 1835 793 - 1836 793 - 2603 793 - 2604 793 - 299 794 - 300 794 - 1067 794 - 1068 794 - 1835 794 - 1836 794 - 2603 794 - 2604 794 - 299 795 - 300 795 - 1067 795 - 1068 795 - 1835 795 - 1836 795 - 2603 795 - 2604 795 - 299 796 - 300 796 - 1067 796 - 1068 796 - 1835 796 - 1836 796 - 2603 796 - 2604 796 - 299 797 - 300 797 - 1067 797 - 1068 797 - 1835 797 - 1836 797 - 2603 797 - 2604 797 - 299 798 - 300 798 - 1067 798 - 1068 798 - 1835 798 - 1836 798 - 2603 798 - 2604 798 - 299 799 - 300 799 - 1067 799 - 1068 799 - 1835 799 - 1836 799 - 2603 799 - 2604 799 - 299 800 - 300 800 - 1067 800 - 1068 800 - 1835 800 - 1836 800 - 2603 800 - 2604 800 - 299 801 - 300 801 - 1067 801 - 1068 801 - 1835 801 - 1836 801 - 2603 801 - 2604 801 - 299 802 - 300 802 - 1067 802 - 1068 802 - 1835 802 - 1836 802 - 2603 802 - 2604 802 - 299 803 - 300 803 - 1067 803 - 1068 803 - 1835 803 - 1836 803 - 2603 803 - 2604 803 - 299 804 - 300 804 - 1067 804 - 1068 804 - 1835 804 - 1836 804 - 2603 804 - 2604 804 - 299 805 - 300 805 - 1067 805 - 1068 805 - 1835 805 - 1836 805 - 2603 805 - 2604 805 - 299 806 - 300 806 - 1067 806 - 1068 806 - 1835 806 - 1836 806 - 2603 806 - 2604 806 - 299 807 - 300 807 - 1067 807 - 1068 807 - 1835 807 - 1836 807 - 2603 807 - 2604 807 - 299 808 - 300 808 - 1067 808 - 1068 808 - 1835 808 - 1836 808 - 2603 808 - 2604 808 - 299 809 - 300 809 - 1067 809 - 1068 809 - 1835 809 - 1836 809 - 2603 809 - 2604 809 - 299 810 - 300 810 - 1067 810 - 1068 810 - 1835 810 - 1836 810 - 2603 810 - 2604 810 - 299 811 - 300 811 - 1067 811 - 1068 811 - 1835 811 - 1836 811 - 2603 811 - 2604 811 - 299 812 - 300 812 - 1067 812 - 1068 812 - 1835 812 - 1836 812 - 2603 812 - 2604 812 - 299 813 - 300 813 - 1067 813 - 1068 813 - 1835 813 - 1836 813 - 2603 813 - 2604 813 - 299 814 - 300 814 - 1067 814 - 1068 814 - 1835 814 - 1836 814 - 2603 814 - 2604 814 - 299 815 - 300 815 - 1067 815 - 1068 815 - 1835 815 - 1836 815 - 2603 815 - 2604 815 - 299 816 - 300 816 - 1067 816 - 1068 816 - 1835 816 - 1836 816 - 2603 816 - 2604 816 - 299 817 - 300 817 - 1067 817 - 1068 817 - 1835 817 - 1836 817 - 2603 817 - 2604 817 - 299 818 - 300 818 - 1067 818 - 1068 818 - 1835 818 - 1836 818 - 2603 818 - 2604 818 - 299 819 - 300 819 - 1067 819 - 1068 819 - 1835 819 - 1836 819 - 2603 819 - 2604 819 - 299 820 - 300 820 - 1067 820 - 1068 820 - 1835 820 - 1836 820 - 2603 820 - 2604 820 - 299 821 - 300 821 - 1067 821 - 1068 821 - 1835 821 - 1836 821 - 2603 821 - 2604 821 - 299 822 - 300 822 - 1067 822 - 1068 822 - 1835 822 - 1836 822 - 2603 822 - 2604 822 - 299 823 - 300 823 - 1067 823 - 1068 823 - 1835 823 - 1836 823 - 2603 823 - 2604 823 - 299 824 - 300 824 - 1067 824 - 1068 824 - 1835 824 - 1836 824 - 2603 824 - 2604 824 - 299 825 - 300 825 - 1067 825 - 1068 825 - 1835 825 - 1836 825 - 2603 825 - 2604 825 - 299 826 - 300 826 - 1067 826 - 1068 826 - 1835 826 - 1836 826 - 2603 826 - 2604 826 - 299 827 - 300 827 - 1067 827 - 1068 827 - 1835 827 - 1836 827 - 2603 827 - 2604 827 - 299 828 - 300 828 - 1067 828 - 1068 828 - 1835 828 - 1836 828 - 2603 828 - 2604 828 - 299 829 - 300 829 - 1067 829 - 1068 829 - 1835 829 - 1836 829 - 2603 829 - 2604 829 - 299 830 - 300 830 - 1067 830 - 1068 830 - 1835 830 - 1836 830 - 2603 830 - 2604 830 - 299 831 - 300 831 - 1067 831 - 1068 831 - 1835 831 - 1836 831 - 2603 831 - 2604 831 - 299 832 - 300 832 - 1067 832 - 1068 832 - 1835 832 - 1836 832 - 2603 832 - 2604 832 - 299 833 - 300 833 - 1067 833 - 1068 833 - 1835 833 - 1836 833 - 2603 833 - 2604 833 - 299 834 - 300 834 - 1067 834 - 1068 834 - 1835 834 - 1836 834 - 2603 834 - 2604 834 - 299 835 - 300 835 - 1067 835 - 1068 835 - 1835 835 - 1836 835 - 2603 835 - 2604 835 - 299 836 - 300 836 - 1067 836 - 1068 836 - 1835 836 - 1836 836 - 2603 836 - 2604 836 - 299 837 - 300 837 - 1067 837 - 1068 837 - 1835 837 - 1836 837 - 2603 837 - 2604 837 - 299 838 - 300 838 - 1067 838 - 1068 838 - 1835 838 - 1836 838 - 2603 838 - 2604 838 - 299 839 - 300 839 - 1067 839 - 1068 839 - 1835 839 - 1836 839 - 2603 839 - 2604 839 - 299 840 - 300 840 - 1067 840 - 1068 840 - 1835 840 - 1836 840 - 2603 840 - 2604 840 - 299 841 - 300 841 - 1067 841 - 1068 841 - 1835 841 - 1836 841 - 2603 841 - 2604 841 - 299 842 - 300 842 - 1067 842 - 1068 842 - 1835 842 - 1836 842 - 2603 842 - 2604 842 - 299 843 - 300 843 - 1067 843 - 1068 843 - 1835 843 - 1836 843 - 2603 843 - 2604 843 - 299 844 - 300 844 - 1067 844 - 1068 844 - 1835 844 - 1836 844 - 2603 844 - 2604 844 - 299 845 - 300 845 - 1067 845 - 1068 845 - 1835 845 - 1836 845 - 2603 845 - 2604 845 - 299 846 - 300 846 - 1067 846 - 1068 846 - 1835 846 - 1836 846 - 2603 846 - 2604 846 - 299 847 - 300 847 - 1067 847 - 1068 847 - 1835 847 - 1836 847 - 2603 847 - 2604 847 - 299 848 - 300 848 - 1067 848 - 1068 848 - 1835 848 - 1836 848 - 2603 848 - 2604 848 - 299 849 - 300 849 - 1067 849 - 1068 849 - 1835 849 - 1836 849 - 2603 849 - 2604 849 - 299 850 - 300 850 - 1067 850 - 1068 850 - 1835 850 - 1836 850 - 2603 850 - 2604 850 - 299 851 - 300 851 - 1067 851 - 1068 851 - 1835 851 - 1836 851 - 2603 851 - 2604 851 - 299 852 - 300 852 - 1067 852 - 1068 852 - 1835 852 - 1836 852 - 2603 852 - 2604 852 - 299 853 - 300 853 - 1067 853 - 1068 853 - 1835 853 - 1836 853 - 2603 853 - 2604 853 - 299 854 - 300 854 - 1067 854 - 1068 854 - 1835 854 - 1836 854 - 2603 854 - 2604 854 - 299 855 - 300 855 - 1067 855 - 1068 855 - 1835 855 - 1836 855 - 2603 855 - 2604 855 - 299 856 - 300 856 - 1067 856 - 1068 856 - 1835 856 - 1836 856 - 2603 856 - 2604 856 - 299 857 - 300 857 - 1067 857 - 1068 857 - 1835 857 - 1836 857 - 2603 857 - 2604 857 - 299 858 - 300 858 - 1067 858 - 1068 858 - 1835 858 - 1836 858 - 2603 858 - 2604 858 - 299 859 - 300 859 - 1067 859 - 1068 859 - 1835 859 - 1836 859 - 2603 859 - 2604 859 - 299 860 - 300 860 - 1067 860 - 1068 860 - 1835 860 - 1836 860 - 2603 860 - 2604 860 - 299 861 - 300 861 - 1067 861 - 1068 861 - 1835 861 - 1836 861 - 2603 861 - 2604 861 - 299 862 - 300 862 - 1067 862 - 1068 862 - 1835 862 - 1836 862 - 2603 862 - 2604 862 - 299 863 - 300 863 - 1067 863 - 1068 863 - 1835 863 - 1836 863 - 2603 863 - 2604 863 - 299 864 - 300 864 - 1067 864 - 1068 864 - 1835 864 - 1836 864 - 2603 864 - 2604 864 - 299 865 - 300 865 - 1067 865 - 1068 865 - 1835 865 - 1836 865 - 2603 865 - 2604 865 - 299 866 - 300 866 - 1067 866 - 1068 866 - 1835 866 - 1836 866 - 2603 866 - 2604 866 - 299 867 - 300 867 - 1067 867 - 1068 867 - 1835 867 - 1836 867 - 2603 867 - 2604 867 - 299 868 - 300 868 - 1067 868 - 1068 868 - 1835 868 - 1836 868 - 2603 868 - 2604 868 - 299 869 - 300 869 - 1067 869 - 1068 869 - 1835 869 - 1836 869 - 2603 869 - 2604 869 - 299 870 - 300 870 - 1067 870 - 1068 870 - 1835 870 - 1836 870 - 2603 870 - 2604 870 - 299 871 - 300 871 - 1067 871 - 1068 871 - 1835 871 - 1836 871 - 2603 871 - 2604 871 - 299 872 - 300 872 - 1067 872 - 1068 872 - 1835 872 - 1836 872 - 2603 872 - 2604 872 - 299 873 - 300 873 - 1067 873 - 1068 873 - 1835 873 - 1836 873 - 2603 873 - 2604 873 - 299 874 - 300 874 - 1067 874 - 1068 874 - 1835 874 - 1836 874 - 2603 874 - 2604 874 - 299 875 - 300 875 - 1067 875 - 1068 875 - 1835 875 - 1836 875 - 2603 875 - 2604 875 - 299 876 - 300 876 - 1067 876 - 1068 876 - 1835 876 - 1836 876 - 2603 876 - 2604 876 - 299 877 - 300 877 - 1067 877 - 1068 877 - 1835 877 - 1836 877 - 2603 877 - 2604 877 - 299 878 - 300 878 - 1067 878 - 1068 878 - 1835 878 - 1836 878 - 2603 878 - 2604 878 - 299 879 - 300 879 - 1067 879 - 1068 879 - 1835 879 - 1836 879 - 2603 879 - 2604 879 - 299 880 - 300 880 - 1067 880 - 1068 880 - 1835 880 - 1836 880 - 2603 880 - 2604 880 - 299 881 - 300 881 - 1067 881 - 1068 881 - 1835 881 - 1836 881 - 2603 881 - 2604 881 - 299 882 - 300 882 - 1067 882 - 1068 882 - 1835 882 - 1836 882 - 2603 882 - 2604 882 - 299 883 - 300 883 - 1067 883 - 1068 883 - 1835 883 - 1836 883 - 2603 883 - 2604 883 - 299 884 - 300 884 - 1067 884 - 1068 884 - 1835 884 - 1836 884 - 2603 884 - 2604 884 - 299 885 - 300 885 - 1067 885 - 1068 885 - 1835 885 - 1836 885 - 2603 885 - 2604 885 - 299 886 - 300 886 - 1067 886 - 1068 886 - 1835 886 - 1836 886 - 2603 886 - 2604 886 - 299 887 - 300 887 - 1067 887 - 1068 887 - 1835 887 - 1836 887 - 2603 887 - 2604 887 - 299 888 - 300 888 - 1067 888 - 1068 888 - 1835 888 - 1836 888 - 2603 888 - 2604 888 - 299 889 - 300 889 - 1067 889 - 1068 889 - 1835 889 - 1836 889 - 2603 889 - 2604 889 - 299 890 - 300 890 - 1067 890 - 1068 890 - 1835 890 - 1836 890 - 2603 890 - 2604 890 - 299 891 - 300 891 - 1067 891 - 1068 891 - 1835 891 - 1836 891 - 2603 891 - 2604 891 - 299 892 - 300 892 - 1067 892 - 1068 892 - 1835 892 - 1836 892 - 2603 892 - 2604 892 - 299 893 - 300 893 - 1067 893 - 1068 893 - 1835 893 - 1836 893 - 2603 893 - 2604 893 - 299 894 - 300 894 - 1067 894 - 1068 894 - 1835 894 - 1836 894 - 2603 894 - 2604 894 - 299 895 - 300 895 - 1067 895 - 1068 895 - 1835 895 - 1836 895 - 2603 895 - 2604 895 - 299 896 - 300 896 - 1067 896 - 1068 896 - 1835 896 - 1836 896 - 2603 896 - 2604 896 - 299 897 - 300 897 - 1067 897 - 1068 897 - 1835 897 - 1836 897 - 2603 897 - 2604 897 - 299 898 - 300 898 - 1067 898 - 1068 898 - 1835 898 - 1836 898 - 2603 898 - 2604 898 - 299 899 - 300 899 - 1067 899 - 1068 899 - 1835 899 - 1836 899 - 2603 899 - 2604 899 - 299 900 - 300 900 - 1067 900 - 1068 900 - 1835 900 - 1836 900 - 2603 900 - 2604 900 - 299 901 - 300 901 - 1067 901 - 1068 901 - 1835 901 - 1836 901 - 2603 901 - 2604 901 - 299 902 - 300 902 - 1067 902 - 1068 902 - 1835 902 - 1836 902 - 2603 902 - 2604 902 - 299 903 - 300 903 - 1067 903 - 1068 903 - 1835 903 - 1836 903 - 2603 903 - 2604 903 - 299 904 - 300 904 - 1067 904 - 1068 904 - 1835 904 - 1836 904 - 2603 904 - 2604 904 - 299 905 - 300 905 - 1067 905 - 1068 905 - 1835 905 - 1836 905 - 2603 905 - 2604 905 - 299 906 - 300 906 - 1067 906 - 1068 906 - 1835 906 - 1836 906 - 2603 906 - 2604 906 - 299 907 - 300 907 - 1067 907 - 1068 907 - 1835 907 - 1836 907 - 2603 907 - 2604 907 - 299 908 - 300 908 - 1067 908 - 1068 908 - 1835 908 - 1836 908 - 2603 908 - 2604 908 - 299 909 - 300 909 - 1067 909 - 1068 909 - 1835 909 - 1836 909 - 2603 909 - 2604 909 - 299 910 - 300 910 - 1067 910 - 1068 910 - 1835 910 - 1836 910 - 2603 910 - 2604 910 - 299 911 - 300 911 - 1067 911 - 1068 911 - 1835 911 - 1836 911 - 2603 911 - 2604 911 - 299 912 - 300 912 - 1067 912 - 1068 912 - 1835 912 - 1836 912 - 2603 912 - 2604 912 - 299 913 - 300 913 - 1067 913 - 1068 913 - 1835 913 - 1836 913 - 2603 913 - 2604 913 - 299 914 - 300 914 - 1067 914 - 1068 914 - 1835 914 - 1836 914 - 2603 914 - 2604 914 - 299 915 - 300 915 - 1067 915 - 1068 915 - 1835 915 - 1836 915 - 2603 915 - 2604 915 - 299 916 - 300 916 - 1067 916 - 1068 916 - 1835 916 - 1836 916 - 2603 916 - 2604 916 - 299 917 - 300 917 - 1067 917 - 1068 917 - 1835 917 - 1836 917 - 2603 917 - 2604 917 - 299 918 - 300 918 - 1067 918 - 1068 918 - 1835 918 - 1836 918 - 2603 918 - 2604 918 - 299 919 - 300 919 - 1067 919 - 1068 919 - 1835 919 - 1836 919 - 2603 919 - 2604 919 - 299 920 - 300 920 - 1067 920 - 1068 920 - 1835 920 - 1836 920 - 2603 920 - 2604 920 - 299 921 - 300 921 - 1067 921 - 1068 921 - 1835 921 - 1836 921 - 2603 921 - 2604 921 - 299 922 - 300 922 - 1067 922 - 1068 922 - 1835 922 - 1836 922 - 2603 922 - 2604 922 - 299 923 - 300 923 - 1067 923 - 1068 923 - 1835 923 - 1836 923 - 2603 923 - 2604 923 - 299 924 - 300 924 - 1067 924 - 1068 924 - 1835 924 - 1836 924 - 2603 924 - 2604 924 - 299 925 - 300 925 - 1067 925 - 1068 925 - 1835 925 - 1836 925 - 2603 925 - 2604 925 - 299 926 - 300 926 - 1067 926 - 1068 926 - 1835 926 - 1836 926 - 2603 926 - 2604 926 - 299 927 - 300 927 - 1067 927 - 1068 927 - 1835 927 - 1836 927 - 2603 927 - 2604 927 - 299 928 - 300 928 - 1067 928 - 1068 928 - 1835 928 - 1836 928 - 2603 928 - 2604 928 - 299 929 - 300 929 - 1067 929 - 1068 929 - 1835 929 - 1836 929 - 2603 929 - 2604 929 - 299 930 - 300 930 - 1067 930 - 1068 930 - 1835 930 - 1836 930 - 2603 930 - 2604 930 - 299 931 - 300 931 - 1067 931 - 1068 931 - 1835 931 - 1836 931 - 2603 931 - 2604 931 - 299 932 - 300 932 - 1067 932 - 1068 932 - 1835 932 - 1836 932 - 2603 932 - 2604 932 - 299 933 - 300 933 - 1067 933 - 1068 933 - 1835 933 - 1836 933 - 2603 933 - 2604 933 - 299 934 - 300 934 - 1067 934 - 1068 934 - 1835 934 - 1836 934 - 2603 934 - 2604 934 - 299 935 - 300 935 - 1067 935 - 1068 935 - 1835 935 - 1836 935 - 2603 935 - 2604 935 - 299 936 - 300 936 - 1067 936 - 1068 936 - 1835 936 - 1836 936 - 2603 936 - 2604 936 - 299 937 - 300 937 - 1067 937 - 1068 937 - 1835 937 - 1836 937 - 2603 937 - 2604 937 - 299 938 - 300 938 - 1067 938 - 1068 938 - 1835 938 - 1836 938 - 2603 938 - 2604 938 - 299 939 - 300 939 - 1067 939 - 1068 939 - 1835 939 - 1836 939 - 2603 939 - 2604 939 - 299 940 - 300 940 - 1067 940 - 1068 940 - 1835 940 - 1836 940 - 2603 940 - 2604 940 - 299 941 - 300 941 - 1067 941 - 1068 941 - 1835 941 - 1836 941 - 2603 941 - 2604 941 - 299 942 - 300 942 - 1067 942 - 1068 942 - 1835 942 - 1836 942 - 2603 942 - 2604 942 - 299 943 - 300 943 - 1067 943 - 1068 943 - 1835 943 - 1836 943 - 2603 943 - 2604 943 - 299 944 - 300 944 - 1067 944 - 1068 944 - 1835 944 - 1836 944 - 2603 944 - 2604 944 - 299 945 - 300 945 - 1067 945 - 1068 945 - 1835 945 - 1836 945 - 2603 945 - 2604 945 - 299 946 - 300 946 - 1067 946 - 1068 946 - 1835 946 - 1836 946 - 2603 946 - 2604 946 - 299 947 - 300 947 - 1067 947 - 1068 947 - 1835 947 - 1836 947 - 2603 947 - 2604 947 - 299 948 - 300 948 - 1067 948 - 1068 948 - 1835 948 - 1836 948 - 2603 948 - 2604 948 - 299 949 - 300 949 - 1067 949 - 1068 949 - 1835 949 - 1836 949 - 2603 949 - 2604 949 - 299 950 - 300 950 - 1067 950 - 1068 950 - 1835 950 - 1836 950 - 2603 950 - 2604 950 - 299 951 - 300 951 - 1067 951 - 1068 951 - 1835 951 - 1836 951 - 2603 951 - 2604 951 - 299 952 - 300 952 - 1067 952 - 1068 952 - 1835 952 - 1836 952 - 2603 952 - 2604 952 - 299 953 - 300 953 - 1067 953 - 1068 953 - 1835 953 - 1836 953 - 2603 953 - 2604 953 - 299 954 - 300 954 - 1067 954 - 1068 954 - 1835 954 - 1836 954 - 2603 954 - 2604 954 - 299 955 - 300 955 - 1067 955 - 1068 955 - 1835 955 - 1836 955 - 2603 955 - 2604 955 - 299 956 - 300 956 - 1067 956 - 1068 956 - 1835 956 - 1836 956 - 2603 956 - 2604 956 - 299 957 - 300 957 - 1067 957 - 1068 957 - 1835 957 - 1836 957 - 2603 957 - 2604 957 - 299 958 - 300 958 - 1067 958 - 1068 958 - 1835 958 - 1836 958 - 2603 958 - 2604 958 - 299 959 - 300 959 - 1067 959 - 1068 959 - 1835 959 - 1836 959 - 2603 959 - 2604 959 - 299 960 - 300 960 - 1067 960 - 1068 960 - 1835 960 - 1836 960 - 2603 960 - 2604 960 - 299 961 - 300 961 - 1067 961 - 1068 961 - 1835 961 - 1836 961 - 2603 961 - 2604 961 - 299 962 - 300 962 - 1067 962 - 1068 962 - 1835 962 - 1836 962 - 2603 962 - 2604 962 - 299 963 - 300 963 - 1067 963 - 1068 963 - 1835 963 - 1836 963 - 2603 963 - 2604 963 - 299 964 - 300 964 - 1067 964 - 1068 964 - 1835 964 - 1836 964 - 2603 964 - 2604 964 - 299 965 - 300 965 - 1067 965 - 1068 965 - 1835 965 - 1836 965 - 2603 965 - 2604 965 - 299 966 - 300 966 - 1067 966 - 1068 966 - 1835 966 - 1836 966 - 2603 966 - 2604 966 - 299 967 - 300 967 - 1067 967 - 1068 967 - 1835 967 - 1836 967 - 2603 967 - 2604 967 - 299 968 - 300 968 - 1067 968 - 1068 968 - 1835 968 - 1836 968 - 2603 968 - 2604 968 - 299 969 - 300 969 - 1067 969 - 1068 969 - 1835 969 - 1836 969 - 2603 969 - 2604 969 - 299 970 - 300 970 - 1067 970 - 1068 970 - 1835 970 - 1836 970 - 2603 970 - 2604 970 - 299 971 - 300 971 - 1067 971 - 1068 971 - 1835 971 - 1836 971 - 2603 971 - 2604 971 - 299 972 - 300 972 - 1067 972 - 1068 972 - 1835 972 - 1836 972 - 2603 972 - 2604 972 - 299 973 - 300 973 - 1067 973 - 1068 973 - 1835 973 - 1836 973 - 2603 973 - 2604 973 - 299 974 - 300 974 - 1067 974 - 1068 974 - 1835 974 - 1836 974 - 2603 974 - 2604 974 - 299 975 - 300 975 - 1067 975 - 1068 975 - 1835 975 - 1836 975 - 2603 975 - 2604 975 - 299 976 - 300 976 - 1067 976 - 1068 976 - 1835 976 - 1836 976 - 2603 976 - 2604 976 - 299 977 - 300 977 - 1067 977 - 1068 977 - 1835 977 - 1836 977 - 2603 977 - 2604 977 - 299 978 - 300 978 - 1067 978 - 1068 978 - 1835 978 - 1836 978 - 2603 978 - 2604 978 - 299 979 - 300 979 - 1067 979 - 1068 979 - 1835 979 - 1836 979 - 2603 979 - 2604 979 - 299 980 - 300 980 - 1067 980 - 1068 980 - 1835 980 - 1836 980 - 2603 980 - 2604 980 - 299 981 - 300 981 - 1067 981 - 1068 981 - 1835 981 - 1836 981 - 2603 981 - 2604 981 - 299 982 - 300 982 - 1067 982 - 1068 982 - 1835 982 - 1836 982 - 2603 982 - 2604 982 - 299 983 - 300 983 - 1067 983 - 1068 983 - 1835 983 - 1836 983 - 2603 983 - 2604 983 - 299 984 - 300 984 - 1067 984 - 1068 984 - 1835 984 - 1836 984 - 2603 984 - 2604 984 - 299 985 - 300 985 - 1067 985 - 1068 985 - 1835 985 - 1836 985 - 2603 985 - 2604 985 - 299 986 - 300 986 - 1067 986 - 1068 986 - 1835 986 - 1836 986 - 2603 986 - 2604 986 - 299 987 - 300 987 - 1067 987 - 1068 987 - 1835 987 - 1836 987 - 2603 987 - 2604 987 - 299 988 - 300 988 - 1067 988 - 1068 988 - 1835 988 - 1836 988 - 2603 988 - 2604 988 - 299 989 - 300 989 - 1067 989 - 1068 989 - 1835 989 - 1836 989 - 2603 989 - 2604 989 - 299 990 - 300 990 - 1067 990 - 1068 990 - 1835 990 - 1836 990 - 2603 990 - 2604 990 - 299 991 - 300 991 - 1067 991 - 1068 991 - 1835 991 - 1836 991 - 2603 991 - 2604 991 - 299 992 - 300 992 - 1067 992 - 1068 992 - 1835 992 - 1836 992 - 2603 992 - 2604 992 - 299 993 - 300 993 - 1067 993 - 1068 993 - 1835 993 - 1836 993 - 2603 993 - 2604 993 - 299 994 - 300 994 - 1067 994 - 1068 994 - 1835 994 - 1836 994 - 2603 994 - 2604 994 - 299 995 - 300 995 - 1067 995 - 1068 995 - 1835 995 - 1836 995 - 2603 995 - 2604 995 - 299 996 - 300 996 - 1067 996 - 1068 996 - 1835 996 - 1836 996 - 2603 996 - 2604 996 - 299 997 - 300 997 - 1067 997 - 1068 997 - 1835 997 - 1836 997 - 2603 997 - 2604 997 - 299 998 - 300 998 - 1067 998 - 1068 998 - 1835 998 - 1836 998 - 2603 998 - 2604 998 - 299 999 - 300 999 - 1067 999 - 1068 999 - 1835 999 - 1836 999 - 2603 999 - 2604 999 - 299 1000 - 300 1000 - 1067 1000 - 1068 1000 - 1835 1000 - 1836 1000 - 2603 1000 - 2604 1000 - 299 1001 - 300 1001 - 1067 1001 - 1068 1001 - 1835 1001 - 1836 1001 - 2603 1001 - 2604 1001 - 299 1002 - 300 1002 - 1067 1002 - 1068 1002 - 1835 1002 - 1836 1002 - 2603 1002 - 2604 1002 - 299 1003 - 300 1003 - 1067 1003 - 1068 1003 - 1835 1003 - 1836 1003 - 2603 1003 - 2604 1003 - 299 1004 - 300 1004 - 1067 1004 - 1068 1004 - 1835 1004 - 1836 1004 - 2603 1004 - 2604 1004 - 299 1005 - 300 1005 - 1067 1005 - 1068 1005 - 1835 1005 - 1836 1005 - 2603 1005 - 2604 1005 - 299 1006 - 300 1006 - 1067 1006 - 1068 1006 - 1835 1006 - 1836 1006 - 2603 1006 - 2604 1006 - 299 1007 - 300 1007 - 1067 1007 - 1068 1007 - 1835 1007 - 1836 1007 - 2603 1007 - 2604 1007 - 299 1008 - 300 1008 - 1067 1008 - 1068 1008 - 1835 1008 - 1836 1008 - 2603 1008 - 2604 1008 - 299 1009 - 300 1009 - 1067 1009 - 1068 1009 - 1835 1009 - 1836 1009 - 2603 1009 - 2604 1009 - 299 1010 - 300 1010 - 1067 1010 - 1068 1010 - 1835 1010 - 1836 1010 - 2603 1010 - 2604 1010 - 299 1011 - 300 1011 - 1067 1011 - 1068 1011 - 1835 1011 - 1836 1011 - 2603 1011 - 2604 1011 - 299 1012 - 300 1012 - 1067 1012 - 1068 1012 - 1835 1012 - 1836 1012 - 2603 1012 - 2604 1012 - 299 1013 - 300 1013 - 1067 1013 - 1068 1013 - 1835 1013 - 1836 1013 - 2603 1013 - 2604 1013 - 299 1014 - 300 1014 - 1067 1014 - 1068 1014 - 1835 1014 - 1836 1014 - 2603 1014 - 2604 1014 - 299 1015 - 300 1015 - 1067 1015 - 1068 1015 - 1835 1015 - 1836 1015 - 2603 1015 - 2604 1015 - 299 1016 - 300 1016 - 1067 1016 - 1068 1016 - 1835 1016 - 1836 1016 - 2603 1016 - 2604 1016 - 299 1017 - 300 1017 - 1067 1017 - 1068 1017 - 1835 1017 - 1836 1017 - 2603 1017 - 2604 1017 - 299 1018 - 300 1018 - 1067 1018 - 1068 1018 - 1835 1018 - 1836 1018 - 2603 1018 - 2604 1018 - 299 1019 - 300 1019 - 1067 1019 - 1068 1019 - 1835 1019 - 1836 1019 - 2603 1019 - 2604 1019 - 299 1020 - 300 1020 - 1067 1020 - 1068 1020 - 1835 1020 - 1836 1020 - 2603 1020 - 2604 1020 - 299 1021 - 300 1021 - 1067 1021 - 1068 1021 - 1835 1021 - 1836 1021 - 2603 1021 - 2604 1021 - 299 1022 - 300 1022 - 1067 1022 - 1068 1022 - 1835 1022 - 1836 1022 - 2603 1022 - 2604 1022 - 299 1023 - 300 1023 - 1067 1023 - 1068 1023 - 1835 1023 - 1836 1023 - 2603 1023 - 2604 1023 - 299 1024 - 300 1024 - 1067 1024 - 1068 1024 - 1835 1024 - 1836 1024 - 2603 1024 - 2604 1024 - 299 1025 - 300 1025 - 1067 1025 - 1068 1025 - 1835 1025 - 1836 1025 - 2603 1025 - 2604 1025 - 299 1026 - 300 1026 - 1067 1026 - 1068 1026 - 1835 1026 - 1836 1026 - 2603 1026 - 2604 1026 - 299 1027 - 300 1027 - 1067 1027 - 1068 1027 - 1835 1027 - 1836 1027 - 2603 1027 - 2604 1027 - 299 1028 - 300 1028 - 1067 1028 - 1068 1028 - 1835 1028 - 1836 1028 - 2603 1028 - 2604 1028 - 299 1029 - 300 1029 - 1067 1029 - 1068 1029 - 1835 1029 - 1836 1029 - 2603 1029 - 2604 1029 - 299 1030 - 300 1030 - 1067 1030 - 1068 1030 - 1835 1030 - 1836 1030 - 2603 1030 - 2604 1030 - 299 1031 - 300 1031 - 1067 1031 - 1068 1031 - 1835 1031 - 1836 1031 - 2603 1031 - 2604 1031 - 299 1032 - 300 1032 - 1067 1032 - 1068 1032 - 1835 1032 - 1836 1032 - 2603 1032 - 2604 1032 - 299 1033 - 300 1033 - 1067 1033 - 1068 1033 - 1835 1033 - 1836 1033 - 2603 1033 - 2604 1033 - 299 1034 - 300 1034 - 1067 1034 - 1068 1034 - 1835 1034 - 1836 1034 - 2603 1034 - 2604 1034 - 299 1035 - 300 1035 - 1067 1035 - 1068 1035 - 1835 1035 - 1836 1035 - 2603 1035 - 2604 1035 - 299 1036 - 300 1036 - 1067 1036 - 1068 1036 - 1835 1036 - 1836 1036 - 2603 1036 - 2604 1036 - 299 1037 - 300 1037 - 1067 1037 - 1068 1037 - 1835 1037 - 1836 1037 - 2603 1037 - 2604 1037 - 299 1038 - 300 1038 - 1067 1038 - 1068 1038 - 1835 1038 - 1836 1038 - 2603 1038 - 2604 1038 - 299 1039 - 300 1039 - 1067 1039 - 1068 1039 - 1835 1039 - 1836 1039 - 2603 1039 - 2604 1039 - 299 1040 - 300 1040 - 1067 1040 - 1068 1040 - 1835 1040 - 1836 1040 - 2603 1040 - 2604 1040 - 299 1041 - 300 1041 - 1067 1041 - 1068 1041 - 1835 1041 - 1836 1041 - 2603 1041 - 2604 1041 - 299 1042 - 300 1042 - 1067 1042 - 1068 1042 - 1835 1042 - 1836 1042 - 2603 1042 - 2604 1042 - 299 1043 - 300 1043 - 1067 1043 - 1068 1043 - 1835 1043 - 1836 1043 - 2603 1043 - 2604 1043 - 299 1044 - 300 1044 - 1067 1044 - 1068 1044 - 1835 1044 - 1836 1044 - 2603 1044 - 2604 1044 - 299 1045 - 300 1045 - 1067 1045 - 1068 1045 - 1835 1045 - 1836 1045 - 2603 1045 - 2604 1045 - 299 1046 - 300 1046 - 1067 1046 - 1068 1046 - 1835 1046 - 1836 1046 - 2603 1046 - 2604 1046 - 299 1047 - 300 1047 - 1067 1047 - 1068 1047 - 1835 1047 - 1836 1047 - 2603 1047 - 2604 1047 - 299 1048 - 300 1048 - 1067 1048 - 1068 1048 - 1835 1048 - 1836 1048 - 2603 1048 - 2604 1048 - 299 1049 - 300 1049 - 1067 1049 - 1068 1049 - 1835 1049 - 1836 1049 - 2603 1049 - 2604 1049 - 299 1050 - 300 1050 - 1067 1050 - 1068 1050 - 1835 1050 - 1836 1050 - 2603 1050 - 2604 1050 - 299 1051 - 300 1051 - 1067 1051 - 1068 1051 - 1835 1051 - 1836 1051 - 2603 1051 - 2604 1051 - 299 1052 - 300 1052 - 1067 1052 - 1068 1052 - 1835 1052 - 1836 1052 - 2603 1052 - 2604 1052 - 299 1053 - 300 1053 - 1067 1053 - 1068 1053 - 1835 1053 - 1836 1053 - 2603 1053 - 2604 1053 - 299 1054 - 300 1054 - 1067 1054 - 1068 1054 - 1835 1054 - 1836 1054 - 2603 1054 - 2604 1054 - 299 1055 - 300 1055 - 1067 1055 - 1068 1055 - 1835 1055 - 1836 1055 - 2603 1055 - 2604 1055 - 299 1056 - 300 1056 - 1067 1056 - 1068 1056 - 1835 1056 - 1836 1056 - 2603 1056 - 2604 1056 - 299 1057 - 300 1057 - 1067 1057 - 1068 1057 - 1835 1057 - 1836 1057 - 2603 1057 - 2604 1057 - 299 1058 - 300 1058 - 1067 1058 - 1068 1058 - 1835 1058 - 1836 1058 - 2603 1058 - 2604 1058 - 299 1059 - 300 1059 - 1067 1059 - 1068 1059 - 1835 1059 - 1836 1059 - 2603 1059 - 2604 1059 - 299 1060 - 300 1060 - 1067 1060 - 1068 1060 - 1835 1060 - 1836 1060 - 2603 1060 - 2604 1060 - 299 1061 - 300 1061 - 1067 1061 - 1068 1061 - 1835 1061 - 1836 1061 - 2603 1061 - 2604 1061 - 299 1062 - 300 1062 - 1067 1062 - 1068 1062 - 1835 1062 - 1836 1062 - 2603 1062 - 2604 1062 - 299 1063 - 300 1063 - 1067 1063 - 1068 1063 - 1835 1063 - 1836 1063 - 2603 1063 - 2604 1063 - 299 1064 - 300 1064 - 1067 1064 - 1068 1064 - 1835 1064 - 1836 1064 - 2603 1064 - 2604 1064 - 299 1065 - 300 1065 - 1067 1065 - 1068 1065 - 1835 1065 - 1836 1065 - 2603 1065 - 2604 1065 - 299 1066 - 300 1066 - 1067 1066 - 1068 1066 - 1835 1066 - 1836 1066 - 2603 1066 - 2604 1066 - 299 1067 - 300 1067 - 1067 1067 - 1068 1067 - 1835 1067 - 1836 1067 - 2603 1067 - 2604 1067 - 299 1068 - 300 1068 - 1067 1068 - 1068 1068 - 1835 1068 - 1836 1068 - 2603 1068 - 2604 1068 - 298 1069 - 299 1069 - 300 1069 - 301 1069 - 1066 1069 - 1067 1069 - 1068 1069 - 1069 1069 - 1834 1069 - 1835 1069 - 1836 1069 - 1837 1069 - 2602 1069 - 2603 1069 - 2604 1069 - 2605 1069 - 296 1070 - 297 1070 - 298 1070 - 299 1070 - 300 1070 - 301 1070 - 302 1070 - 303 1070 - 1064 1070 - 1065 1070 - 1066 1070 - 1067 1070 - 1068 1070 - 1069 1070 - 1070 1070 - 1071 1070 - 1832 1070 - 1833 1070 - 1834 1070 - 1835 1070 - 1836 1070 - 1837 1070 - 1838 1070 - 1839 1070 - 2600 1070 - 2601 1070 - 2602 1070 - 2603 1070 - 2604 1070 - 2605 1070 - 2606 1070 - 2607 1070 - 294 1071 - 295 1071 - 296 1071 - 297 1071 - 298 1071 - 299 1071 - 300 1071 - 301 1071 - 302 1071 - 303 1071 - 304 1071 - 305 1071 - 1062 1071 - 1063 1071 - 1064 1071 - 1065 1071 - 1066 1071 - 1067 1071 - 1068 1071 - 1069 1071 - 1070 1071 - 1071 1071 - 1072 1071 - 1073 1071 - 1830 1071 - 1831 1071 - 1832 1071 - 1833 1071 - 1834 1071 - 1835 1071 - 1836 1071 - 1837 1071 - 1838 1071 - 1839 1071 - 1840 1071 - 1841 1071 - 2598 1071 - 2599 1071 - 2600 1071 - 2601 1071 - 2602 1071 - 2603 1071 - 2604 1071 - 2605 1071 - 2606 1071 - 2607 1071 - 2608 1071 - 2609 1071 - 292 1072 - 293 1072 - 294 1072 - 295 1072 - 296 1072 - 297 1072 - 303 1072 - 304 1072 - 305 1072 - 306 1072 - 307 1072 - 1060 1072 - 1061 1072 - 1062 1072 - 1063 1072 - 1064 1072 - 1065 1072 - 1071 1072 - 1072 1072 - 1073 1072 - 1074 1072 - 1075 1072 - 1828 1072 - 1829 1072 - 1830 1072 - 1831 1072 - 1832 1072 - 1833 1072 - 1839 1072 - 1840 1072 - 1841 1072 - 1842 1072 - 1843 1072 - 2596 1072 - 2597 1072 - 2598 1072 - 2599 1072 - 2600 1072 - 2601 1072 - 2607 1072 - 2608 1072 - 2609 1072 - 2610 1072 - 2611 1072 - 290 1073 - 291 1073 - 292 1073 - 293 1073 - 294 1073 - 295 1073 - 305 1073 - 306 1073 - 307 1073 - 308 1073 - 309 1073 - 310 1073 - 1058 1073 - 1059 1073 - 1060 1073 - 1061 1073 - 1062 1073 - 1063 1073 - 1073 1073 - 1074 1073 - 1075 1073 - 1076 1073 - 1077 1073 - 1078 1073 - 1826 1073 - 1827 1073 - 1828 1073 - 1829 1073 - 1830 1073 - 1831 1073 - 1841 1073 - 1842 1073 - 1843 1073 - 1844 1073 - 1845 1073 - 1846 1073 - 2594 1073 - 2595 1073 - 2596 1073 - 2597 1073 - 2598 1073 - 2599 1073 - 2609 1073 - 2610 1073 - 2611 1073 - 2612 1073 - 2613 1073 - 2614 1073 - 287 1074 - 288 1074 - 289 1074 - 290 1074 - 291 1074 - 292 1074 - 293 1074 - 307 1074 - 308 1074 - 309 1074 - 310 1074 - 311 1074 - 312 1074 - 1055 1074 - 1056 1074 - 1057 1074 - 1058 1074 - 1059 1074 - 1060 1074 - 1061 1074 - 1075 1074 - 1076 1074 - 1077 1074 - 1078 1074 - 1079 1074 - 1080 1074 - 1823 1074 - 1824 1074 - 1825 1074 - 1826 1074 - 1827 1074 - 1828 1074 - 1829 1074 - 1843 1074 - 1844 1074 - 1845 1074 - 1846 1074 - 1847 1074 - 1848 1074 - 2591 1074 - 2592 1074 - 2593 1074 - 2594 1074 - 2595 1074 - 2596 1074 - 2597 1074 - 2611 1074 - 2612 1074 - 2613 1074 - 2614 1074 - 2615 1074 - 2616 1074 - 285 1075 - 286 1075 - 287 1075 - 288 1075 - 289 1075 - 290 1075 - 309 1075 - 310 1075 - 311 1075 - 312 1075 - 313 1075 - 314 1075 - 1053 1075 - 1054 1075 - 1055 1075 - 1056 1075 - 1057 1075 - 1058 1075 - 1077 1075 - 1078 1075 - 1079 1075 - 1080 1075 - 1081 1075 - 1082 1075 - 1821 1075 - 1822 1075 - 1823 1075 - 1824 1075 - 1825 1075 - 1826 1075 - 1845 1075 - 1846 1075 - 1847 1075 - 1848 1075 - 1849 1075 - 1850 1075 - 2589 1075 - 2590 1075 - 2591 1075 - 2592 1075 - 2593 1075 - 2594 1075 - 2613 1075 - 2614 1075 - 2615 1075 - 2616 1075 - 2617 1075 - 2618 1075 - 283 1076 - 284 1076 - 285 1076 - 286 1076 - 287 1076 - 288 1076 - 311 1076 - 312 1076 - 313 1076 - 314 1076 - 315 1076 - 316 1076 - 1051 1076 - 1052 1076 - 1053 1076 - 1054 1076 - 1055 1076 - 1056 1076 - 1079 1076 - 1080 1076 - 1081 1076 - 1082 1076 - 1083 1076 - 1084 1076 - 1819 1076 - 1820 1076 - 1821 1076 - 1822 1076 - 1823 1076 - 1824 1076 - 1847 1076 - 1848 1076 - 1849 1076 - 1850 1076 - 1851 1076 - 1852 1076 - 2587 1076 - 2588 1076 - 2589 1076 - 2590 1076 - 2591 1076 - 2592 1076 - 2615 1076 - 2616 1076 - 2617 1076 - 2618 1076 - 2619 1076 - 2620 1076 - 281 1077 - 282 1077 - 283 1077 - 284 1077 - 285 1077 - 286 1077 - 313 1077 - 314 1077 - 315 1077 - 316 1077 - 317 1077 - 318 1077 - 319 1077 - 1049 1077 - 1050 1077 - 1051 1077 - 1052 1077 - 1053 1077 - 1054 1077 - 1081 1077 - 1082 1077 - 1083 1077 - 1084 1077 - 1085 1077 - 1086 1077 - 1087 1077 - 1817 1077 - 1818 1077 - 1819 1077 - 1820 1077 - 1821 1077 - 1822 1077 - 1849 1077 - 1850 1077 - 1851 1077 - 1852 1077 - 1853 1077 - 1854 1077 - 1855 1077 - 2585 1077 - 2586 1077 - 2587 1077 - 2588 1077 - 2589 1077 - 2590 1077 - 2617 1077 - 2618 1077 - 2619 1077 - 2620 1077 - 2621 1077 - 2622 1077 - 2623 1077 - 279 1078 - 280 1078 - 281 1078 - 282 1078 - 283 1078 - 284 1078 - 316 1078 - 317 1078 - 318 1078 - 319 1078 - 320 1078 - 321 1078 - 1047 1078 - 1048 1078 - 1049 1078 - 1050 1078 - 1051 1078 - 1052 1078 - 1084 1078 - 1085 1078 - 1086 1078 - 1087 1078 - 1088 1078 - 1089 1078 - 1815 1078 - 1816 1078 - 1817 1078 - 1818 1078 - 1819 1078 - 1820 1078 - 1852 1078 - 1853 1078 - 1854 1078 - 1855 1078 - 1856 1078 - 1857 1078 - 2583 1078 - 2584 1078 - 2585 1078 - 2586 1078 - 2587 1078 - 2588 1078 - 2620 1078 - 2621 1078 - 2622 1078 - 2623 1078 - 2624 1078 - 2625 1078 - 276 1079 - 277 1079 - 278 1079 - 279 1079 - 280 1079 - 281 1079 - 318 1079 - 319 1079 - 320 1079 - 321 1079 - 322 1079 - 323 1079 - 1044 1079 - 1045 1079 - 1046 1079 - 1047 1079 - 1048 1079 - 1049 1079 - 1086 1079 - 1087 1079 - 1088 1079 - 1089 1079 - 1090 1079 - 1091 1079 - 1812 1079 - 1813 1079 - 1814 1079 - 1815 1079 - 1816 1079 - 1817 1079 - 1854 1079 - 1855 1079 - 1856 1079 - 1857 1079 - 1858 1079 - 1859 1079 - 2580 1079 - 2581 1079 - 2582 1079 - 2583 1079 - 2584 1079 - 2585 1079 - 2622 1079 - 2623 1079 - 2624 1079 - 2625 1079 - 2626 1079 - 2627 1079 - 274 1080 - 275 1080 - 276 1080 - 277 1080 - 278 1080 - 279 1080 - 320 1080 - 321 1080 - 322 1080 - 323 1080 - 324 1080 - 325 1080 - 326 1080 - 1042 1080 - 1043 1080 - 1044 1080 - 1045 1080 - 1046 1080 - 1047 1080 - 1088 1080 - 1089 1080 - 1090 1080 - 1091 1080 - 1092 1080 - 1093 1080 - 1094 1080 - 1810 1080 - 1811 1080 - 1812 1080 - 1813 1080 - 1814 1080 - 1815 1080 - 1856 1080 - 1857 1080 - 1858 1080 - 1859 1080 - 1860 1080 - 1861 1080 - 1862 1080 - 2578 1080 - 2579 1080 - 2580 1080 - 2581 1080 - 2582 1080 - 2583 1080 - 2624 1080 - 2625 1080 - 2626 1080 - 2627 1080 - 2628 1080 - 2629 1080 - 2630 1080 - 272 1081 - 273 1081 - 274 1081 - 275 1081 - 276 1081 - 277 1081 - 322 1081 - 323 1081 - 324 1081 - 325 1081 - 326 1081 - 327 1081 - 328 1081 - 1040 1081 - 1041 1081 - 1042 1081 - 1043 1081 - 1044 1081 - 1045 1081 - 1090 1081 - 1091 1081 - 1092 1081 - 1093 1081 - 1094 1081 - 1095 1081 - 1096 1081 - 1808 1081 - 1809 1081 - 1810 1081 - 1811 1081 - 1812 1081 - 1813 1081 - 1858 1081 - 1859 1081 - 1860 1081 - 1861 1081 - 1862 1081 - 1863 1081 - 1864 1081 - 2576 1081 - 2577 1081 - 2578 1081 - 2579 1081 - 2580 1081 - 2581 1081 - 2626 1081 - 2627 1081 - 2628 1081 - 2629 1081 - 2630 1081 - 2631 1081 - 2632 1081 - 269 1082 - 270 1082 - 271 1082 - 272 1082 - 273 1082 - 274 1082 - 325 1082 - 326 1082 - 327 1082 - 328 1082 - 329 1082 - 330 1082 - 1037 1082 - 1038 1082 - 1039 1082 - 1040 1082 - 1041 1082 - 1042 1082 - 1093 1082 - 1094 1082 - 1095 1082 - 1096 1082 - 1097 1082 - 1098 1082 - 1805 1082 - 1806 1082 - 1807 1082 - 1808 1082 - 1809 1082 - 1810 1082 - 1861 1082 - 1862 1082 - 1863 1082 - 1864 1082 - 1865 1082 - 1866 1082 - 2573 1082 - 2574 1082 - 2575 1082 - 2576 1082 - 2577 1082 - 2578 1082 - 2629 1082 - 2630 1082 - 2631 1082 - 2632 1082 - 2633 1082 - 2634 1082 - 267 1083 - 268 1083 - 269 1083 - 270 1083 - 271 1083 - 272 1083 - 327 1083 - 328 1083 - 329 1083 - 330 1083 - 331 1083 - 332 1083 - 1035 1083 - 1036 1083 - 1037 1083 - 1038 1083 - 1039 1083 - 1040 1083 - 1095 1083 - 1096 1083 - 1097 1083 - 1098 1083 - 1099 1083 - 1100 1083 - 1803 1083 - 1804 1083 - 1805 1083 - 1806 1083 - 1807 1083 - 1808 1083 - 1863 1083 - 1864 1083 - 1865 1083 - 1866 1083 - 1867 1083 - 1868 1083 - 2571 1083 - 2572 1083 - 2573 1083 - 2574 1083 - 2575 1083 - 2576 1083 - 2631 1083 - 2632 1083 - 2633 1083 - 2634 1083 - 2635 1083 - 2636 1083 - 265 1084 - 266 1084 - 267 1084 - 268 1084 - 269 1084 - 270 1084 - 329 1084 - 330 1084 - 331 1084 - 332 1084 - 333 1084 - 334 1084 - 335 1084 - 1033 1084 - 1034 1084 - 1035 1084 - 1036 1084 - 1037 1084 - 1038 1084 - 1097 1084 - 1098 1084 - 1099 1084 - 1100 1084 - 1101 1084 - 1102 1084 - 1103 1084 - 1801 1084 - 1802 1084 - 1803 1084 - 1804 1084 - 1805 1084 - 1806 1084 - 1865 1084 - 1866 1084 - 1867 1084 - 1868 1084 - 1869 1084 - 1870 1084 - 1871 1084 - 2569 1084 - 2570 1084 - 2571 1084 - 2572 1084 - 2573 1084 - 2574 1084 - 2633 1084 - 2634 1084 - 2635 1084 - 2636 1084 - 2637 1084 - 2638 1084 - 2639 1084 - 262 1085 - 263 1085 - 264 1085 - 265 1085 - 266 1085 - 267 1085 - 332 1085 - 333 1085 - 334 1085 - 335 1085 - 336 1085 - 337 1085 - 1030 1085 - 1031 1085 - 1032 1085 - 1033 1085 - 1034 1085 - 1035 1085 - 1100 1085 - 1101 1085 - 1102 1085 - 1103 1085 - 1104 1085 - 1105 1085 - 1798 1085 - 1799 1085 - 1800 1085 - 1801 1085 - 1802 1085 - 1803 1085 - 1868 1085 - 1869 1085 - 1870 1085 - 1871 1085 - 1872 1085 - 1873 1085 - 2566 1085 - 2567 1085 - 2568 1085 - 2569 1085 - 2570 1085 - 2571 1085 - 2636 1085 - 2637 1085 - 2638 1085 - 2639 1085 - 2640 1085 - 2641 1085 - 259 1086 - 260 1086 - 261 1086 - 262 1086 - 263 1086 - 264 1086 - 265 1086 - 334 1086 - 335 1086 - 336 1086 - 337 1086 - 338 1086 - 339 1086 - 340 1086 - 1027 1086 - 1028 1086 - 1029 1086 - 1030 1086 - 1031 1086 - 1032 1086 - 1033 1086 - 1102 1086 - 1103 1086 - 1104 1086 - 1105 1086 - 1106 1086 - 1107 1086 - 1108 1086 - 1795 1086 - 1796 1086 - 1797 1086 - 1798 1086 - 1799 1086 - 1800 1086 - 1801 1086 - 1870 1086 - 1871 1086 - 1872 1086 - 1873 1086 - 1874 1086 - 1875 1086 - 1876 1086 - 2563 1086 - 2564 1086 - 2565 1086 - 2566 1086 - 2567 1086 - 2568 1086 - 2569 1086 - 2638 1086 - 2639 1086 - 2640 1086 - 2641 1086 - 2642 1086 - 2643 1086 - 2644 1086 - 257 1087 - 258 1087 - 259 1087 - 260 1087 - 261 1087 - 262 1087 - 263 1087 - 337 1087 - 338 1087 - 339 1087 - 340 1087 - 341 1087 - 342 1087 - 1025 1087 - 1026 1087 - 1027 1087 - 1028 1087 - 1029 1087 - 1030 1087 - 1031 1087 - 1105 1087 - 1106 1087 - 1107 1087 - 1108 1087 - 1109 1087 - 1110 1087 - 1793 1087 - 1794 1087 - 1795 1087 - 1796 1087 - 1797 1087 - 1798 1087 - 1799 1087 - 1873 1087 - 1874 1087 - 1875 1087 - 1876 1087 - 1877 1087 - 1878 1087 - 2561 1087 - 2562 1087 - 2563 1087 - 2564 1087 - 2565 1087 - 2566 1087 - 2567 1087 - 2641 1087 - 2642 1087 - 2643 1087 - 2644 1087 - 2645 1087 - 2646 1087 - 255 1088 - 256 1088 - 257 1088 - 258 1088 - 259 1088 - 260 1088 - 339 1088 - 340 1088 - 341 1088 - 342 1088 - 343 1088 - 344 1088 - 345 1088 - 1023 1088 - 1024 1088 - 1025 1088 - 1026 1088 - 1027 1088 - 1028 1088 - 1107 1088 - 1108 1088 - 1109 1088 - 1110 1088 - 1111 1088 - 1112 1088 - 1113 1088 - 1791 1088 - 1792 1088 - 1793 1088 - 1794 1088 - 1795 1088 - 1796 1088 - 1875 1088 - 1876 1088 - 1877 1088 - 1878 1088 - 1879 1088 - 1880 1088 - 1881 1088 - 2559 1088 - 2560 1088 - 2561 1088 - 2562 1088 - 2563 1088 - 2564 1088 - 2643 1088 - 2644 1088 - 2645 1088 - 2646 1088 - 2647 1088 - 2648 1088 - 2649 1088 - 252 1089 - 253 1089 - 254 1089 - 255 1089 - 256 1089 - 257 1089 - 258 1089 - 341 1089 - 342 1089 - 343 1089 - 344 1089 - 345 1089 - 346 1089 - 347 1089 - 1020 1089 - 1021 1089 - 1022 1089 - 1023 1089 - 1024 1089 - 1025 1089 - 1026 1089 - 1109 1089 - 1110 1089 - 1111 1089 - 1112 1089 - 1113 1089 - 1114 1089 - 1115 1089 - 1788 1089 - 1789 1089 - 1790 1089 - 1791 1089 - 1792 1089 - 1793 1089 - 1794 1089 - 1877 1089 - 1878 1089 - 1879 1089 - 1880 1089 - 1881 1089 - 1882 1089 - 1883 1089 - 2556 1089 - 2557 1089 - 2558 1089 - 2559 1089 - 2560 1089 - 2561 1089 - 2562 1089 - 2645 1089 - 2646 1089 - 2647 1089 - 2648 1089 - 2649 1089 - 2650 1089 - 2651 1089 - 250 1090 - 251 1090 - 252 1090 - 253 1090 - 254 1090 - 255 1090 - 344 1090 - 345 1090 - 346 1090 - 347 1090 - 348 1090 - 349 1090 - 350 1090 - 1018 1090 - 1019 1090 - 1020 1090 - 1021 1090 - 1022 1090 - 1023 1090 - 1112 1090 - 1113 1090 - 1114 1090 - 1115 1090 - 1116 1090 - 1117 1090 - 1118 1090 - 1786 1090 - 1787 1090 - 1788 1090 - 1789 1090 - 1790 1090 - 1791 1090 - 1880 1090 - 1881 1090 - 1882 1090 - 1883 1090 - 1884 1090 - 1885 1090 - 1886 1090 - 2554 1090 - 2555 1090 - 2556 1090 - 2557 1090 - 2558 1090 - 2559 1090 - 2648 1090 - 2649 1090 - 2650 1090 - 2651 1090 - 2652 1090 - 2653 1090 - 2654 1090 - 247 1091 - 248 1091 - 249 1091 - 250 1091 - 251 1091 - 252 1091 - 253 1091 - 346 1091 - 347 1091 - 348 1091 - 349 1091 - 350 1091 - 351 1091 - 352 1091 - 1015 1091 - 1016 1091 - 1017 1091 - 1018 1091 - 1019 1091 - 1020 1091 - 1021 1091 - 1114 1091 - 1115 1091 - 1116 1091 - 1117 1091 - 1118 1091 - 1119 1091 - 1120 1091 - 1783 1091 - 1784 1091 - 1785 1091 - 1786 1091 - 1787 1091 - 1788 1091 - 1789 1091 - 1882 1091 - 1883 1091 - 1884 1091 - 1885 1091 - 1886 1091 - 1887 1091 - 1888 1091 - 2551 1091 - 2552 1091 - 2553 1091 - 2554 1091 - 2555 1091 - 2556 1091 - 2557 1091 - 2650 1091 - 2651 1091 - 2652 1091 - 2653 1091 - 2654 1091 - 2655 1091 - 2656 1091 - 244 1092 - 245 1092 - 246 1092 - 247 1092 - 248 1092 - 249 1092 - 250 1092 - 349 1092 - 350 1092 - 351 1092 - 352 1092 - 353 1092 - 354 1092 - 355 1092 - 1012 1092 - 1013 1092 - 1014 1092 - 1015 1092 - 1016 1092 - 1017 1092 - 1018 1092 - 1117 1092 - 1118 1092 - 1119 1092 - 1120 1092 - 1121 1092 - 1122 1092 - 1123 1092 - 1780 1092 - 1781 1092 - 1782 1092 - 1783 1092 - 1784 1092 - 1785 1092 - 1786 1092 - 1885 1092 - 1886 1092 - 1887 1092 - 1888 1092 - 1889 1092 - 1890 1092 - 1891 1092 - 2548 1092 - 2549 1092 - 2550 1092 - 2551 1092 - 2552 1092 - 2553 1092 - 2554 1092 - 2653 1092 - 2654 1092 - 2655 1092 - 2656 1092 - 2657 1092 - 2658 1092 - 2659 1092 - 242 1093 - 243 1093 - 244 1093 - 245 1093 - 246 1093 - 247 1093 - 248 1093 - 352 1093 - 353 1093 - 354 1093 - 355 1093 - 356 1093 - 357 1093 - 1010 1093 - 1011 1093 - 1012 1093 - 1013 1093 - 1014 1093 - 1015 1093 - 1016 1093 - 1120 1093 - 1121 1093 - 1122 1093 - 1123 1093 - 1124 1093 - 1125 1093 - 1778 1093 - 1779 1093 - 1780 1093 - 1781 1093 - 1782 1093 - 1783 1093 - 1784 1093 - 1888 1093 - 1889 1093 - 1890 1093 - 1891 1093 - 1892 1093 - 1893 1093 - 2546 1093 - 2547 1093 - 2548 1093 - 2549 1093 - 2550 1093 - 2551 1093 - 2552 1093 - 2656 1093 - 2657 1093 - 2658 1093 - 2659 1093 - 2660 1093 - 2661 1093 - 240 1094 - 241 1094 - 242 1094 - 243 1094 - 244 1094 - 245 1094 - 354 1094 - 355 1094 - 356 1094 - 357 1094 - 358 1094 - 359 1094 - 360 1094 - 1008 1094 - 1009 1094 - 1010 1094 - 1011 1094 - 1012 1094 - 1013 1094 - 1122 1094 - 1123 1094 - 1124 1094 - 1125 1094 - 1126 1094 - 1127 1094 - 1128 1094 - 1776 1094 - 1777 1094 - 1778 1094 - 1779 1094 - 1780 1094 - 1781 1094 - 1890 1094 - 1891 1094 - 1892 1094 - 1893 1094 - 1894 1094 - 1895 1094 - 1896 1094 - 2544 1094 - 2545 1094 - 2546 1094 - 2547 1094 - 2548 1094 - 2549 1094 - 2658 1094 - 2659 1094 - 2660 1094 - 2661 1094 - 2662 1094 - 2663 1094 - 2664 1094 - 237 1095 - 238 1095 - 239 1095 - 240 1095 - 241 1095 - 242 1095 - 243 1095 - 357 1095 - 358 1095 - 359 1095 - 360 1095 - 361 1095 - 362 1095 - 363 1095 - 1005 1095 - 1006 1095 - 1007 1095 - 1008 1095 - 1009 1095 - 1010 1095 - 1011 1095 - 1125 1095 - 1126 1095 - 1127 1095 - 1128 1095 - 1129 1095 - 1130 1095 - 1131 1095 - 1773 1095 - 1774 1095 - 1775 1095 - 1776 1095 - 1777 1095 - 1778 1095 - 1779 1095 - 1893 1095 - 1894 1095 - 1895 1095 - 1896 1095 - 1897 1095 - 1898 1095 - 1899 1095 - 2541 1095 - 2542 1095 - 2543 1095 - 2544 1095 - 2545 1095 - 2546 1095 - 2547 1095 - 2661 1095 - 2662 1095 - 2663 1095 - 2664 1095 - 2665 1095 - 2666 1095 - 2667 1095 - 234 1096 - 235 1096 - 236 1096 - 237 1096 - 238 1096 - 239 1096 - 240 1096 - 359 1096 - 360 1096 - 361 1096 - 362 1096 - 363 1096 - 364 1096 - 365 1096 - 1002 1096 - 1003 1096 - 1004 1096 - 1005 1096 - 1006 1096 - 1007 1096 - 1008 1096 - 1127 1096 - 1128 1096 - 1129 1096 - 1130 1096 - 1131 1096 - 1132 1096 - 1133 1096 - 1770 1096 - 1771 1096 - 1772 1096 - 1773 1096 - 1774 1096 - 1775 1096 - 1776 1096 - 1895 1096 - 1896 1096 - 1897 1096 - 1898 1096 - 1899 1096 - 1900 1096 - 1901 1096 - 2538 1096 - 2539 1096 - 2540 1096 - 2541 1096 - 2542 1096 - 2543 1096 - 2544 1096 - 2663 1096 - 2664 1096 - 2665 1096 - 2666 1096 - 2667 1096 - 2668 1096 - 2669 1096 - 231 1097 - 232 1097 - 233 1097 - 234 1097 - 235 1097 - 236 1097 - 237 1097 - 362 1097 - 363 1097 - 364 1097 - 365 1097 - 366 1097 - 367 1097 - 368 1097 - 999 1097 - 1000 1097 - 1001 1097 - 1002 1097 - 1003 1097 - 1004 1097 - 1005 1097 - 1130 1097 - 1131 1097 - 1132 1097 - 1133 1097 - 1134 1097 - 1135 1097 - 1136 1097 - 1767 1097 - 1768 1097 - 1769 1097 - 1770 1097 - 1771 1097 - 1772 1097 - 1773 1097 - 1898 1097 - 1899 1097 - 1900 1097 - 1901 1097 - 1902 1097 - 1903 1097 - 1904 1097 - 2535 1097 - 2536 1097 - 2537 1097 - 2538 1097 - 2539 1097 - 2540 1097 - 2541 1097 - 2666 1097 - 2667 1097 - 2668 1097 - 2669 1097 - 2670 1097 - 2671 1097 - 2672 1097 - 229 1098 - 230 1098 - 231 1098 - 232 1098 - 233 1098 - 234 1098 - 235 1098 - 365 1098 - 366 1098 - 367 1098 - 368 1098 - 369 1098 - 370 1098 - 371 1098 - 997 1098 - 998 1098 - 999 1098 - 1000 1098 - 1001 1098 - 1002 1098 - 1003 1098 - 1133 1098 - 1134 1098 - 1135 1098 - 1136 1098 - 1137 1098 - 1138 1098 - 1139 1098 - 1765 1098 - 1766 1098 - 1767 1098 - 1768 1098 - 1769 1098 - 1770 1098 - 1771 1098 - 1901 1098 - 1902 1098 - 1903 1098 - 1904 1098 - 1905 1098 - 1906 1098 - 1907 1098 - 2533 1098 - 2534 1098 - 2535 1098 - 2536 1098 - 2537 1098 - 2538 1098 - 2539 1098 - 2669 1098 - 2670 1098 - 2671 1098 - 2672 1098 - 2673 1098 - 2674 1098 - 2675 1098 - 226 1099 - 227 1099 - 228 1099 - 229 1099 - 230 1099 - 231 1099 - 232 1099 - 367 1099 - 368 1099 - 369 1099 - 370 1099 - 371 1099 - 372 1099 - 373 1099 - 994 1099 - 995 1099 - 996 1099 - 997 1099 - 998 1099 - 999 1099 - 1000 1099 - 1135 1099 - 1136 1099 - 1137 1099 - 1138 1099 - 1139 1099 - 1140 1099 - 1141 1099 - 1762 1099 - 1763 1099 - 1764 1099 - 1765 1099 - 1766 1099 - 1767 1099 - 1768 1099 - 1903 1099 - 1904 1099 - 1905 1099 - 1906 1099 - 1907 1099 - 1908 1099 - 1909 1099 - 2530 1099 - 2531 1099 - 2532 1099 - 2533 1099 - 2534 1099 - 2535 1099 - 2536 1099 - 2671 1099 - 2672 1099 - 2673 1099 - 2674 1099 - 2675 1099 - 2676 1099 - 2677 1099 - 223 1100 - 224 1100 - 225 1100 - 226 1100 - 227 1100 - 228 1100 - 229 1100 - 370 1100 - 371 1100 - 372 1100 - 373 1100 - 374 1100 - 375 1100 - 376 1100 - 991 1100 - 992 1100 - 993 1100 - 994 1100 - 995 1100 - 996 1100 - 997 1100 - 1138 1100 - 1139 1100 - 1140 1100 - 1141 1100 - 1142 1100 - 1143 1100 - 1144 1100 - 1759 1100 - 1760 1100 - 1761 1100 - 1762 1100 - 1763 1100 - 1764 1100 - 1765 1100 - 1906 1100 - 1907 1100 - 1908 1100 - 1909 1100 - 1910 1100 - 1911 1100 - 1912 1100 - 2527 1100 - 2528 1100 - 2529 1100 - 2530 1100 - 2531 1100 - 2532 1100 - 2533 1100 - 2674 1100 - 2675 1100 - 2676 1100 - 2677 1100 - 2678 1100 - 2679 1100 - 2680 1100 - 220 1101 - 221 1101 - 222 1101 - 223 1101 - 224 1101 - 225 1101 - 226 1101 - 373 1101 - 374 1101 - 375 1101 - 376 1101 - 377 1101 - 378 1101 - 379 1101 - 988 1101 - 989 1101 - 990 1101 - 991 1101 - 992 1101 - 993 1101 - 994 1101 - 1141 1101 - 1142 1101 - 1143 1101 - 1144 1101 - 1145 1101 - 1146 1101 - 1147 1101 - 1756 1101 - 1757 1101 - 1758 1101 - 1759 1101 - 1760 1101 - 1761 1101 - 1762 1101 - 1909 1101 - 1910 1101 - 1911 1101 - 1912 1101 - 1913 1101 - 1914 1101 - 1915 1101 - 2524 1101 - 2525 1101 - 2526 1101 - 2527 1101 - 2528 1101 - 2529 1101 - 2530 1101 - 2677 1101 - 2678 1101 - 2679 1101 - 2680 1101 - 2681 1101 - 2682 1101 - 2683 1101 - 217 1102 - 218 1102 - 219 1102 - 220 1102 - 221 1102 - 222 1102 - 223 1102 - 224 1102 - 376 1102 - 377 1102 - 378 1102 - 379 1102 - 380 1102 - 381 1102 - 382 1102 - 985 1102 - 986 1102 - 987 1102 - 988 1102 - 989 1102 - 990 1102 - 991 1102 - 992 1102 - 1144 1102 - 1145 1102 - 1146 1102 - 1147 1102 - 1148 1102 - 1149 1102 - 1150 1102 - 1753 1102 - 1754 1102 - 1755 1102 - 1756 1102 - 1757 1102 - 1758 1102 - 1759 1102 - 1760 1102 - 1912 1102 - 1913 1102 - 1914 1102 - 1915 1102 - 1916 1102 - 1917 1102 - 1918 1102 - 2521 1102 - 2522 1102 - 2523 1102 - 2524 1102 - 2525 1102 - 2526 1102 - 2527 1102 - 2528 1102 - 2680 1102 - 2681 1102 - 2682 1102 - 2683 1102 - 2684 1102 - 2685 1102 - 2686 1102 - 214 1103 - 215 1103 - 216 1103 - 217 1103 - 218 1103 - 219 1103 - 220 1103 - 221 1103 - 378 1103 - 379 1103 - 380 1103 - 381 1103 - 382 1103 - 383 1103 - 384 1103 - 385 1103 - 982 1103 - 983 1103 - 984 1103 - 985 1103 - 986 1103 - 987 1103 - 988 1103 - 989 1103 - 1146 1103 - 1147 1103 - 1148 1103 - 1149 1103 - 1150 1103 - 1151 1103 - 1152 1103 - 1153 1103 - 1750 1103 - 1751 1103 - 1752 1103 - 1753 1103 - 1754 1103 - 1755 1103 - 1756 1103 - 1757 1103 - 1914 1103 - 1915 1103 - 1916 1103 - 1917 1103 - 1918 1103 - 1919 1103 - 1920 1103 - 1921 1103 - 2518 1103 - 2519 1103 - 2520 1103 - 2521 1103 - 2522 1103 - 2523 1103 - 2524 1103 - 2525 1103 - 2682 1103 - 2683 1103 - 2684 1103 - 2685 1103 - 2686 1103 - 2687 1103 - 2688 1103 - 2689 1103 - 212 1104 - 213 1104 - 214 1104 - 215 1104 - 216 1104 - 217 1104 - 218 1104 - 382 1104 - 383 1104 - 384 1104 - 385 1104 - 386 1104 - 387 1104 - 388 1104 - 980 1104 - 981 1104 - 982 1104 - 983 1104 - 984 1104 - 985 1104 - 986 1104 - 1150 1104 - 1151 1104 - 1152 1104 - 1153 1104 - 1154 1104 - 1155 1104 - 1156 1104 - 1748 1104 - 1749 1104 - 1750 1104 - 1751 1104 - 1752 1104 - 1753 1104 - 1754 1104 - 1918 1104 - 1919 1104 - 1920 1104 - 1921 1104 - 1922 1104 - 1923 1104 - 1924 1104 - 2516 1104 - 2517 1104 - 2518 1104 - 2519 1104 - 2520 1104 - 2521 1104 - 2522 1104 - 2686 1104 - 2687 1104 - 2688 1104 - 2689 1104 - 2690 1104 - 2691 1104 - 2692 1104 - 209 1105 - 210 1105 - 211 1105 - 212 1105 - 213 1105 - 214 1105 - 215 1105 - 384 1105 - 385 1105 - 386 1105 - 387 1105 - 388 1105 - 389 1105 - 390 1105 - 977 1105 - 978 1105 - 979 1105 - 980 1105 - 981 1105 - 982 1105 - 983 1105 - 1152 1105 - 1153 1105 - 1154 1105 - 1155 1105 - 1156 1105 - 1157 1105 - 1158 1105 - 1745 1105 - 1746 1105 - 1747 1105 - 1748 1105 - 1749 1105 - 1750 1105 - 1751 1105 - 1920 1105 - 1921 1105 - 1922 1105 - 1923 1105 - 1924 1105 - 1925 1105 - 1926 1105 - 2513 1105 - 2514 1105 - 2515 1105 - 2516 1105 - 2517 1105 - 2518 1105 - 2519 1105 - 2688 1105 - 2689 1105 - 2690 1105 - 2691 1105 - 2692 1105 - 2693 1105 - 2694 1105 - 206 1106 - 207 1106 - 208 1106 - 209 1106 - 210 1106 - 211 1106 - 212 1106 - 387 1106 - 388 1106 - 389 1106 - 390 1106 - 391 1106 - 392 1106 - 393 1106 - 394 1106 - 974 1106 - 975 1106 - 976 1106 - 977 1106 - 978 1106 - 979 1106 - 980 1106 - 1155 1106 - 1156 1106 - 1157 1106 - 1158 1106 - 1159 1106 - 1160 1106 - 1161 1106 - 1162 1106 - 1742 1106 - 1743 1106 - 1744 1106 - 1745 1106 - 1746 1106 - 1747 1106 - 1748 1106 - 1923 1106 - 1924 1106 - 1925 1106 - 1926 1106 - 1927 1106 - 1928 1106 - 1929 1106 - 1930 1106 - 2510 1106 - 2511 1106 - 2512 1106 - 2513 1106 - 2514 1106 - 2515 1106 - 2516 1106 - 2691 1106 - 2692 1106 - 2693 1106 - 2694 1106 - 2695 1106 - 2696 1106 - 2697 1106 - 2698 1106 - 203 1107 - 204 1107 - 205 1107 - 206 1107 - 207 1107 - 208 1107 - 209 1107 - 390 1107 - 391 1107 - 392 1107 - 393 1107 - 394 1107 - 395 1107 - 396 1107 - 397 1107 - 971 1107 - 972 1107 - 973 1107 - 974 1107 - 975 1107 - 976 1107 - 977 1107 - 1158 1107 - 1159 1107 - 1160 1107 - 1161 1107 - 1162 1107 - 1163 1107 - 1164 1107 - 1165 1107 - 1739 1107 - 1740 1107 - 1741 1107 - 1742 1107 - 1743 1107 - 1744 1107 - 1745 1107 - 1926 1107 - 1927 1107 - 1928 1107 - 1929 1107 - 1930 1107 - 1931 1107 - 1932 1107 - 1933 1107 - 2507 1107 - 2508 1107 - 2509 1107 - 2510 1107 - 2511 1107 - 2512 1107 - 2513 1107 - 2694 1107 - 2695 1107 - 2696 1107 - 2697 1107 - 2698 1107 - 2699 1107 - 2700 1107 - 2701 1107 - 200 1108 - 201 1108 - 202 1108 - 203 1108 - 204 1108 - 205 1108 - 206 1108 - 393 1108 - 394 1108 - 395 1108 - 396 1108 - 397 1108 - 398 1108 - 399 1108 - 400 1108 - 968 1108 - 969 1108 - 970 1108 - 971 1108 - 972 1108 - 973 1108 - 974 1108 - 1161 1108 - 1162 1108 - 1163 1108 - 1164 1108 - 1165 1108 - 1166 1108 - 1167 1108 - 1168 1108 - 1736 1108 - 1737 1108 - 1738 1108 - 1739 1108 - 1740 1108 - 1741 1108 - 1742 1108 - 1929 1108 - 1930 1108 - 1931 1108 - 1932 1108 - 1933 1108 - 1934 1108 - 1935 1108 - 1936 1108 - 2504 1108 - 2505 1108 - 2506 1108 - 2507 1108 - 2508 1108 - 2509 1108 - 2510 1108 - 2697 1108 - 2698 1108 - 2699 1108 - 2700 1108 - 2701 1108 - 2702 1108 - 2703 1108 - 2704 1108 - 196 1109 - 197 1109 - 198 1109 - 199 1109 - 200 1109 - 201 1109 - 202 1109 - 203 1109 - 396 1109 - 397 1109 - 398 1109 - 399 1109 - 400 1109 - 401 1109 - 402 1109 - 403 1109 - 964 1109 - 965 1109 - 966 1109 - 967 1109 - 968 1109 - 969 1109 - 970 1109 - 971 1109 - 1164 1109 - 1165 1109 - 1166 1109 - 1167 1109 - 1168 1109 - 1169 1109 - 1170 1109 - 1171 1109 - 1732 1109 - 1733 1109 - 1734 1109 - 1735 1109 - 1736 1109 - 1737 1109 - 1738 1109 - 1739 1109 - 1932 1109 - 1933 1109 - 1934 1109 - 1935 1109 - 1936 1109 - 1937 1109 - 1938 1109 - 1939 1109 - 2500 1109 - 2501 1109 - 2502 1109 - 2503 1109 - 2504 1109 - 2505 1109 - 2506 1109 - 2507 1109 - 2700 1109 - 2701 1109 - 2702 1109 - 2703 1109 - 2704 1109 - 2705 1109 - 2706 1109 - 2707 1109 - 193 1110 - 194 1110 - 195 1110 - 196 1110 - 197 1110 - 198 1110 - 199 1110 - 200 1110 - 399 1110 - 400 1110 - 401 1110 - 402 1110 - 403 1110 - 404 1110 - 405 1110 - 406 1110 - 961 1110 - 962 1110 - 963 1110 - 964 1110 - 965 1110 - 966 1110 - 967 1110 - 968 1110 - 1167 1110 - 1168 1110 - 1169 1110 - 1170 1110 - 1171 1110 - 1172 1110 - 1173 1110 - 1174 1110 - 1729 1110 - 1730 1110 - 1731 1110 - 1732 1110 - 1733 1110 - 1734 1110 - 1735 1110 - 1736 1110 - 1935 1110 - 1936 1110 - 1937 1110 - 1938 1110 - 1939 1110 - 1940 1110 - 1941 1110 - 1942 1110 - 2497 1110 - 2498 1110 - 2499 1110 - 2500 1110 - 2501 1110 - 2502 1110 - 2503 1110 - 2504 1110 - 2703 1110 - 2704 1110 - 2705 1110 - 2706 1110 - 2707 1110 - 2708 1110 - 2709 1110 - 2710 1110 - 190 1111 - 191 1111 - 192 1111 - 193 1111 - 194 1111 - 195 1111 - 196 1111 - 197 1111 - 403 1111 - 404 1111 - 405 1111 - 406 1111 - 407 1111 - 408 1111 - 409 1111 - 958 1111 - 959 1111 - 960 1111 - 961 1111 - 962 1111 - 963 1111 - 964 1111 - 965 1111 - 1171 1111 - 1172 1111 - 1173 1111 - 1174 1111 - 1175 1111 - 1176 1111 - 1177 1111 - 1726 1111 - 1727 1111 - 1728 1111 - 1729 1111 - 1730 1111 - 1731 1111 - 1732 1111 - 1733 1111 - 1939 1111 - 1940 1111 - 1941 1111 - 1942 1111 - 1943 1111 - 1944 1111 - 1945 1111 - 2494 1111 - 2495 1111 - 2496 1111 - 2497 1111 - 2498 1111 - 2499 1111 - 2500 1111 - 2501 1111 - 2707 1111 - 2708 1111 - 2709 1111 - 2710 1111 - 2711 1111 - 2712 1111 - 2713 1111 - 187 1112 - 188 1112 - 189 1112 - 190 1112 - 191 1112 - 192 1112 - 193 1112 - 194 1112 - 405 1112 - 406 1112 - 407 1112 - 408 1112 - 409 1112 - 410 1112 - 411 1112 - 412 1112 - 413 1112 - 955 1112 - 956 1112 - 957 1112 - 958 1112 - 959 1112 - 960 1112 - 961 1112 - 962 1112 - 1173 1112 - 1174 1112 - 1175 1112 - 1176 1112 - 1177 1112 - 1178 1112 - 1179 1112 - 1180 1112 - 1181 1112 - 1723 1112 - 1724 1112 - 1725 1112 - 1726 1112 - 1727 1112 - 1728 1112 - 1729 1112 - 1730 1112 - 1941 1112 - 1942 1112 - 1943 1112 - 1944 1112 - 1945 1112 - 1946 1112 - 1947 1112 - 1948 1112 - 1949 1112 - 2491 1112 - 2492 1112 - 2493 1112 - 2494 1112 - 2495 1112 - 2496 1112 - 2497 1112 - 2498 1112 - 2709 1112 - 2710 1112 - 2711 1112 - 2712 1112 - 2713 1112 - 2714 1112 - 2715 1112 - 2716 1112 - 2717 1112 - 183 1113 - 184 1113 - 185 1113 - 186 1113 - 187 1113 - 188 1113 - 189 1113 - 190 1113 - 191 1113 - 409 1113 - 410 1113 - 411 1113 - 412 1113 - 413 1113 - 414 1113 - 415 1113 - 416 1113 - 951 1113 - 952 1113 - 953 1113 - 954 1113 - 955 1113 - 956 1113 - 957 1113 - 958 1113 - 959 1113 - 1177 1113 - 1178 1113 - 1179 1113 - 1180 1113 - 1181 1113 - 1182 1113 - 1183 1113 - 1184 1113 - 1719 1113 - 1720 1113 - 1721 1113 - 1722 1113 - 1723 1113 - 1724 1113 - 1725 1113 - 1726 1113 - 1727 1113 - 1945 1113 - 1946 1113 - 1947 1113 - 1948 1113 - 1949 1113 - 1950 1113 - 1951 1113 - 1952 1113 - 2487 1113 - 2488 1113 - 2489 1113 - 2490 1113 - 2491 1113 - 2492 1113 - 2493 1113 - 2494 1113 - 2495 1113 - 2713 1113 - 2714 1113 - 2715 1113 - 2716 1113 - 2717 1113 - 2718 1113 - 2719 1113 - 2720 1113 - 180 1114 - 181 1114 - 182 1114 - 183 1114 - 184 1114 - 185 1114 - 186 1114 - 187 1114 - 412 1114 - 413 1114 - 414 1114 - 415 1114 - 416 1114 - 417 1114 - 418 1114 - 419 1114 - 948 1114 - 949 1114 - 950 1114 - 951 1114 - 952 1114 - 953 1114 - 954 1114 - 955 1114 - 1180 1114 - 1181 1114 - 1182 1114 - 1183 1114 - 1184 1114 - 1185 1114 - 1186 1114 - 1187 1114 - 1716 1114 - 1717 1114 - 1718 1114 - 1719 1114 - 1720 1114 - 1721 1114 - 1722 1114 - 1723 1114 - 1948 1114 - 1949 1114 - 1950 1114 - 1951 1114 - 1952 1114 - 1953 1114 - 1954 1114 - 1955 1114 - 2484 1114 - 2485 1114 - 2486 1114 - 2487 1114 - 2488 1114 - 2489 1114 - 2490 1114 - 2491 1114 - 2716 1114 - 2717 1114 - 2718 1114 - 2719 1114 - 2720 1114 - 2721 1114 - 2722 1114 - 2723 1114 - 177 1115 - 178 1115 - 179 1115 - 180 1115 - 181 1115 - 182 1115 - 183 1115 - 184 1115 - 415 1115 - 416 1115 - 417 1115 - 418 1115 - 419 1115 - 420 1115 - 421 1115 - 422 1115 - 423 1115 - 945 1115 - 946 1115 - 947 1115 - 948 1115 - 949 1115 - 950 1115 - 951 1115 - 952 1115 - 1183 1115 - 1184 1115 - 1185 1115 - 1186 1115 - 1187 1115 - 1188 1115 - 1189 1115 - 1190 1115 - 1191 1115 - 1713 1115 - 1714 1115 - 1715 1115 - 1716 1115 - 1717 1115 - 1718 1115 - 1719 1115 - 1720 1115 - 1951 1115 - 1952 1115 - 1953 1115 - 1954 1115 - 1955 1115 - 1956 1115 - 1957 1115 - 1958 1115 - 1959 1115 - 2481 1115 - 2482 1115 - 2483 1115 - 2484 1115 - 2485 1115 - 2486 1115 - 2487 1115 - 2488 1115 - 2719 1115 - 2720 1115 - 2721 1115 - 2722 1115 - 2723 1115 - 2724 1115 - 2725 1115 - 2726 1115 - 2727 1115 - 173 1116 - 174 1116 - 175 1116 - 176 1116 - 177 1116 - 178 1116 - 179 1116 - 180 1116 - 181 1116 - 419 1116 - 420 1116 - 421 1116 - 422 1116 - 423 1116 - 424 1116 - 425 1116 - 426 1116 - 941 1116 - 942 1116 - 943 1116 - 944 1116 - 945 1116 - 946 1116 - 947 1116 - 948 1116 - 949 1116 - 1187 1116 - 1188 1116 - 1189 1116 - 1190 1116 - 1191 1116 - 1192 1116 - 1193 1116 - 1194 1116 - 1709 1116 - 1710 1116 - 1711 1116 - 1712 1116 - 1713 1116 - 1714 1116 - 1715 1116 - 1716 1116 - 1717 1116 - 1955 1116 - 1956 1116 - 1957 1116 - 1958 1116 - 1959 1116 - 1960 1116 - 1961 1116 - 1962 1116 - 2477 1116 - 2478 1116 - 2479 1116 - 2480 1116 - 2481 1116 - 2482 1116 - 2483 1116 - 2484 1116 - 2485 1116 - 2723 1116 - 2724 1116 - 2725 1116 - 2726 1116 - 2727 1116 - 2728 1116 - 2729 1116 - 2730 1116 - 170 1117 - 171 1117 - 172 1117 - 173 1117 - 174 1117 - 175 1117 - 176 1117 - 177 1117 - 422 1117 - 423 1117 - 424 1117 - 425 1117 - 426 1117 - 427 1117 - 428 1117 - 429 1117 - 938 1117 - 939 1117 - 940 1117 - 941 1117 - 942 1117 - 943 1117 - 944 1117 - 945 1117 - 1190 1117 - 1191 1117 - 1192 1117 - 1193 1117 - 1194 1117 - 1195 1117 - 1196 1117 - 1197 1117 - 1706 1117 - 1707 1117 - 1708 1117 - 1709 1117 - 1710 1117 - 1711 1117 - 1712 1117 - 1713 1117 - 1958 1117 - 1959 1117 - 1960 1117 - 1961 1117 - 1962 1117 - 1963 1117 - 1964 1117 - 1965 1117 - 2474 1117 - 2475 1117 - 2476 1117 - 2477 1117 - 2478 1117 - 2479 1117 - 2480 1117 - 2481 1117 - 2726 1117 - 2727 1117 - 2728 1117 - 2729 1117 - 2730 1117 - 2731 1117 - 2732 1117 - 2733 1117 - 166 1118 - 167 1118 - 168 1118 - 169 1118 - 170 1118 - 171 1118 - 172 1118 - 173 1118 - 174 1118 - 426 1118 - 427 1118 - 428 1118 - 429 1118 - 430 1118 - 431 1118 - 432 1118 - 433 1118 - 934 1118 - 935 1118 - 936 1118 - 937 1118 - 938 1118 - 939 1118 - 940 1118 - 941 1118 - 942 1118 - 1194 1118 - 1195 1118 - 1196 1118 - 1197 1118 - 1198 1118 - 1199 1118 - 1200 1118 - 1201 1118 - 1702 1118 - 1703 1118 - 1704 1118 - 1705 1118 - 1706 1118 - 1707 1118 - 1708 1118 - 1709 1118 - 1710 1118 - 1962 1118 - 1963 1118 - 1964 1118 - 1965 1118 - 1966 1118 - 1967 1118 - 1968 1118 - 1969 1118 - 2470 1118 - 2471 1118 - 2472 1118 - 2473 1118 - 2474 1118 - 2475 1118 - 2476 1118 - 2477 1118 - 2478 1118 - 2730 1118 - 2731 1118 - 2732 1118 - 2733 1118 - 2734 1118 - 2735 1118 - 2736 1118 - 2737 1118 - 163 1119 - 164 1119 - 165 1119 - 166 1119 - 167 1119 - 168 1119 - 169 1119 - 170 1119 - 429 1119 - 430 1119 - 431 1119 - 432 1119 - 433 1119 - 434 1119 - 435 1119 - 436 1119 - 437 1119 - 931 1119 - 932 1119 - 933 1119 - 934 1119 - 935 1119 - 936 1119 - 937 1119 - 938 1119 - 1197 1119 - 1198 1119 - 1199 1119 - 1200 1119 - 1201 1119 - 1202 1119 - 1203 1119 - 1204 1119 - 1205 1119 - 1699 1119 - 1700 1119 - 1701 1119 - 1702 1119 - 1703 1119 - 1704 1119 - 1705 1119 - 1706 1119 - 1965 1119 - 1966 1119 - 1967 1119 - 1968 1119 - 1969 1119 - 1970 1119 - 1971 1119 - 1972 1119 - 1973 1119 - 2467 1119 - 2468 1119 - 2469 1119 - 2470 1119 - 2471 1119 - 2472 1119 - 2473 1119 - 2474 1119 - 2733 1119 - 2734 1119 - 2735 1119 - 2736 1119 - 2737 1119 - 2738 1119 - 2739 1119 - 2740 1119 - 2741 1119 - 159 1120 - 160 1120 - 161 1120 - 162 1120 - 163 1120 - 164 1120 - 165 1120 - 166 1120 - 167 1120 - 432 1120 - 433 1120 - 434 1120 - 435 1120 - 436 1120 - 437 1120 - 438 1120 - 439 1120 - 440 1120 - 927 1120 - 928 1120 - 929 1120 - 930 1120 - 931 1120 - 932 1120 - 933 1120 - 934 1120 - 935 1120 - 1200 1120 - 1201 1120 - 1202 1120 - 1203 1120 - 1204 1120 - 1205 1120 - 1206 1120 - 1207 1120 - 1208 1120 - 1695 1120 - 1696 1120 - 1697 1120 - 1698 1120 - 1699 1120 - 1700 1120 - 1701 1120 - 1702 1120 - 1703 1120 - 1968 1120 - 1969 1120 - 1970 1120 - 1971 1120 - 1972 1120 - 1973 1120 - 1974 1120 - 1975 1120 - 1976 1120 - 2463 1120 - 2464 1120 - 2465 1120 - 2466 1120 - 2467 1120 - 2468 1120 - 2469 1120 - 2470 1120 - 2471 1120 - 2736 1120 - 2737 1120 - 2738 1120 - 2739 1120 - 2740 1120 - 2741 1120 - 2742 1120 - 2743 1120 - 2744 1120 - 155 1121 - 156 1121 - 157 1121 - 158 1121 - 159 1121 - 160 1121 - 161 1121 - 162 1121 - 163 1121 - 436 1121 - 437 1121 - 438 1121 - 439 1121 - 440 1121 - 441 1121 - 442 1121 - 443 1121 - 444 1121 - 923 1121 - 924 1121 - 925 1121 - 926 1121 - 927 1121 - 928 1121 - 929 1121 - 930 1121 - 931 1121 - 1204 1121 - 1205 1121 - 1206 1121 - 1207 1121 - 1208 1121 - 1209 1121 - 1210 1121 - 1211 1121 - 1212 1121 - 1691 1121 - 1692 1121 - 1693 1121 - 1694 1121 - 1695 1121 - 1696 1121 - 1697 1121 - 1698 1121 - 1699 1121 - 1972 1121 - 1973 1121 - 1974 1121 - 1975 1121 - 1976 1121 - 1977 1121 - 1978 1121 - 1979 1121 - 1980 1121 - 2459 1121 - 2460 1121 - 2461 1121 - 2462 1121 - 2463 1121 - 2464 1121 - 2465 1121 - 2466 1121 - 2467 1121 - 2740 1121 - 2741 1121 - 2742 1121 - 2743 1121 - 2744 1121 - 2745 1121 - 2746 1121 - 2747 1121 - 2748 1121 - 152 1122 - 153 1122 - 154 1122 - 155 1122 - 156 1122 - 157 1122 - 158 1122 - 159 1122 - 160 1122 - 440 1122 - 441 1122 - 442 1122 - 443 1122 - 444 1122 - 445 1122 - 446 1122 - 447 1122 - 448 1122 - 920 1122 - 921 1122 - 922 1122 - 923 1122 - 924 1122 - 925 1122 - 926 1122 - 927 1122 - 928 1122 - 1208 1122 - 1209 1122 - 1210 1122 - 1211 1122 - 1212 1122 - 1213 1122 - 1214 1122 - 1215 1122 - 1216 1122 - 1688 1122 - 1689 1122 - 1690 1122 - 1691 1122 - 1692 1122 - 1693 1122 - 1694 1122 - 1695 1122 - 1696 1122 - 1976 1122 - 1977 1122 - 1978 1122 - 1979 1122 - 1980 1122 - 1981 1122 - 1982 1122 - 1983 1122 - 1984 1122 - 2456 1122 - 2457 1122 - 2458 1122 - 2459 1122 - 2460 1122 - 2461 1122 - 2462 1122 - 2463 1122 - 2464 1122 - 2744 1122 - 2745 1122 - 2746 1122 - 2747 1122 - 2748 1122 - 2749 1122 - 2750 1122 - 2751 1122 - 2752 1122 - 148 1123 - 149 1123 - 150 1123 - 151 1123 - 152 1123 - 153 1123 - 154 1123 - 155 1123 - 156 1123 - 444 1123 - 445 1123 - 446 1123 - 447 1123 - 448 1123 - 449 1123 - 450 1123 - 451 1123 - 452 1123 - 916 1123 - 917 1123 - 918 1123 - 919 1123 - 920 1123 - 921 1123 - 922 1123 - 923 1123 - 924 1123 - 1212 1123 - 1213 1123 - 1214 1123 - 1215 1123 - 1216 1123 - 1217 1123 - 1218 1123 - 1219 1123 - 1220 1123 - 1684 1123 - 1685 1123 - 1686 1123 - 1687 1123 - 1688 1123 - 1689 1123 - 1690 1123 - 1691 1123 - 1692 1123 - 1980 1123 - 1981 1123 - 1982 1123 - 1983 1123 - 1984 1123 - 1985 1123 - 1986 1123 - 1987 1123 - 1988 1123 - 2452 1123 - 2453 1123 - 2454 1123 - 2455 1123 - 2456 1123 - 2457 1123 - 2458 1123 - 2459 1123 - 2460 1123 - 2748 1123 - 2749 1123 - 2750 1123 - 2751 1123 - 2752 1123 - 2753 1123 - 2754 1123 - 2755 1123 - 2756 1123 - 144 1124 - 145 1124 - 146 1124 - 147 1124 - 148 1124 - 149 1124 - 150 1124 - 151 1124 - 152 1124 - 447 1124 - 448 1124 - 449 1124 - 450 1124 - 451 1124 - 452 1124 - 453 1124 - 454 1124 - 455 1124 - 456 1124 - 912 1124 - 913 1124 - 914 1124 - 915 1124 - 916 1124 - 917 1124 - 918 1124 - 919 1124 - 920 1124 - 1215 1124 - 1216 1124 - 1217 1124 - 1218 1124 - 1219 1124 - 1220 1124 - 1221 1124 - 1222 1124 - 1223 1124 - 1224 1124 - 1680 1124 - 1681 1124 - 1682 1124 - 1683 1124 - 1684 1124 - 1685 1124 - 1686 1124 - 1687 1124 - 1688 1124 - 1983 1124 - 1984 1124 - 1985 1124 - 1986 1124 - 1987 1124 - 1988 1124 - 1989 1124 - 1990 1124 - 1991 1124 - 1992 1124 - 2448 1124 - 2449 1124 - 2450 1124 - 2451 1124 - 2452 1124 - 2453 1124 - 2454 1124 - 2455 1124 - 2456 1124 - 2751 1124 - 2752 1124 - 2753 1124 - 2754 1124 - 2755 1124 - 2756 1124 - 2757 1124 - 2758 1124 - 2759 1124 - 2760 1124 - 140 1125 - 141 1125 - 142 1125 - 143 1125 - 144 1125 - 145 1125 - 146 1125 - 147 1125 - 148 1125 - 451 1125 - 452 1125 - 453 1125 - 454 1125 - 455 1125 - 456 1125 - 457 1125 - 458 1125 - 459 1125 - 460 1125 - 908 1125 - 909 1125 - 910 1125 - 911 1125 - 912 1125 - 913 1125 - 914 1125 - 915 1125 - 916 1125 - 1219 1125 - 1220 1125 - 1221 1125 - 1222 1125 - 1223 1125 - 1224 1125 - 1225 1125 - 1226 1125 - 1227 1125 - 1228 1125 - 1676 1125 - 1677 1125 - 1678 1125 - 1679 1125 - 1680 1125 - 1681 1125 - 1682 1125 - 1683 1125 - 1684 1125 - 1987 1125 - 1988 1125 - 1989 1125 - 1990 1125 - 1991 1125 - 1992 1125 - 1993 1125 - 1994 1125 - 1995 1125 - 1996 1125 - 2444 1125 - 2445 1125 - 2446 1125 - 2447 1125 - 2448 1125 - 2449 1125 - 2450 1125 - 2451 1125 - 2452 1125 - 2755 1125 - 2756 1125 - 2757 1125 - 2758 1125 - 2759 1125 - 2760 1125 - 2761 1125 - 2762 1125 - 2763 1125 - 2764 1125 - 135 1126 - 136 1126 - 137 1126 - 138 1126 - 139 1126 - 140 1126 - 141 1126 - 142 1126 - 143 1126 - 144 1126 - 455 1126 - 456 1126 - 457 1126 - 458 1126 - 459 1126 - 460 1126 - 461 1126 - 462 1126 - 463 1126 - 464 1126 - 903 1126 - 904 1126 - 905 1126 - 906 1126 - 907 1126 - 908 1126 - 909 1126 - 910 1126 - 911 1126 - 912 1126 - 1223 1126 - 1224 1126 - 1225 1126 - 1226 1126 - 1227 1126 - 1228 1126 - 1229 1126 - 1230 1126 - 1231 1126 - 1232 1126 - 1671 1126 - 1672 1126 - 1673 1126 - 1674 1126 - 1675 1126 - 1676 1126 - 1677 1126 - 1678 1126 - 1679 1126 - 1680 1126 - 1991 1126 - 1992 1126 - 1993 1126 - 1994 1126 - 1995 1126 - 1996 1126 - 1997 1126 - 1998 1126 - 1999 1126 - 2000 1126 - 2439 1126 - 2440 1126 - 2441 1126 - 2442 1126 - 2443 1126 - 2444 1126 - 2445 1126 - 2446 1126 - 2447 1126 - 2448 1126 - 2759 1126 - 2760 1126 - 2761 1126 - 2762 1126 - 2763 1126 - 2764 1126 - 2765 1126 - 2766 1126 - 2767 1126 - 2768 1126 - 131 1127 - 132 1127 - 133 1127 - 134 1127 - 135 1127 - 136 1127 - 137 1127 - 138 1127 - 139 1127 - 140 1127 - 459 1127 - 460 1127 - 461 1127 - 462 1127 - 463 1127 - 464 1127 - 465 1127 - 466 1127 - 467 1127 - 468 1127 - 899 1127 - 900 1127 - 901 1127 - 902 1127 - 903 1127 - 904 1127 - 905 1127 - 906 1127 - 907 1127 - 908 1127 - 1227 1127 - 1228 1127 - 1229 1127 - 1230 1127 - 1231 1127 - 1232 1127 - 1233 1127 - 1234 1127 - 1235 1127 - 1236 1127 - 1667 1127 - 1668 1127 - 1669 1127 - 1670 1127 - 1671 1127 - 1672 1127 - 1673 1127 - 1674 1127 - 1675 1127 - 1676 1127 - 1995 1127 - 1996 1127 - 1997 1127 - 1998 1127 - 1999 1127 - 2000 1127 - 2001 1127 - 2002 1127 - 2003 1127 - 2004 1127 - 2435 1127 - 2436 1127 - 2437 1127 - 2438 1127 - 2439 1127 - 2440 1127 - 2441 1127 - 2442 1127 - 2443 1127 - 2444 1127 - 2763 1127 - 2764 1127 - 2765 1127 - 2766 1127 - 2767 1127 - 2768 1127 - 2769 1127 - 2770 1127 - 2771 1127 - 2772 1127 - 127 1128 - 128 1128 - 129 1128 - 130 1128 - 131 1128 - 132 1128 - 133 1128 - 134 1128 - 135 1128 - 136 1128 - 464 1128 - 465 1128 - 466 1128 - 467 1128 - 468 1128 - 469 1128 - 470 1128 - 471 1128 - 472 1128 - 895 1128 - 896 1128 - 897 1128 - 898 1128 - 899 1128 - 900 1128 - 901 1128 - 902 1128 - 903 1128 - 904 1128 - 1232 1128 - 1233 1128 - 1234 1128 - 1235 1128 - 1236 1128 - 1237 1128 - 1238 1128 - 1239 1128 - 1240 1128 - 1663 1128 - 1664 1128 - 1665 1128 - 1666 1128 - 1667 1128 - 1668 1128 - 1669 1128 - 1670 1128 - 1671 1128 - 1672 1128 - 2000 1128 - 2001 1128 - 2002 1128 - 2003 1128 - 2004 1128 - 2005 1128 - 2006 1128 - 2007 1128 - 2008 1128 - 2431 1128 - 2432 1128 - 2433 1128 - 2434 1128 - 2435 1128 - 2436 1128 - 2437 1128 - 2438 1128 - 2439 1128 - 2440 1128 - 2768 1128 - 2769 1128 - 2770 1128 - 2771 1128 - 2772 1128 - 2773 1128 - 2774 1128 - 2775 1128 - 2776 1128 - 123 1129 - 124 1129 - 125 1129 - 126 1129 - 127 1129 - 128 1129 - 129 1129 - 130 1129 - 131 1129 - 132 1129 - 468 1129 - 469 1129 - 470 1129 - 471 1129 - 472 1129 - 473 1129 - 474 1129 - 475 1129 - 476 1129 - 477 1129 - 891 1129 - 892 1129 - 893 1129 - 894 1129 - 895 1129 - 896 1129 - 897 1129 - 898 1129 - 899 1129 - 900 1129 - 1236 1129 - 1237 1129 - 1238 1129 - 1239 1129 - 1240 1129 - 1241 1129 - 1242 1129 - 1243 1129 - 1244 1129 - 1245 1129 - 1659 1129 - 1660 1129 - 1661 1129 - 1662 1129 - 1663 1129 - 1664 1129 - 1665 1129 - 1666 1129 - 1667 1129 - 1668 1129 - 2004 1129 - 2005 1129 - 2006 1129 - 2007 1129 - 2008 1129 - 2009 1129 - 2010 1129 - 2011 1129 - 2012 1129 - 2013 1129 - 2427 1129 - 2428 1129 - 2429 1129 - 2430 1129 - 2431 1129 - 2432 1129 - 2433 1129 - 2434 1129 - 2435 1129 - 2436 1129 - 2772 1129 - 2773 1129 - 2774 1129 - 2775 1129 - 2776 1129 - 2777 1129 - 2778 1129 - 2779 1129 - 2780 1129 - 2781 1129 - 118 1130 - 119 1130 - 120 1130 - 121 1130 - 122 1130 - 123 1130 - 124 1130 - 125 1130 - 126 1130 - 127 1130 - 128 1130 - 472 1130 - 473 1130 - 474 1130 - 475 1130 - 476 1130 - 477 1130 - 478 1130 - 479 1130 - 480 1130 - 481 1130 - 886 1130 - 887 1130 - 888 1130 - 889 1130 - 890 1130 - 891 1130 - 892 1130 - 893 1130 - 894 1130 - 895 1130 - 896 1130 - 1240 1130 - 1241 1130 - 1242 1130 - 1243 1130 - 1244 1130 - 1245 1130 - 1246 1130 - 1247 1130 - 1248 1130 - 1249 1130 - 1654 1130 - 1655 1130 - 1656 1130 - 1657 1130 - 1658 1130 - 1659 1130 - 1660 1130 - 1661 1130 - 1662 1130 - 1663 1130 - 1664 1130 - 2008 1130 - 2009 1130 - 2010 1130 - 2011 1130 - 2012 1130 - 2013 1130 - 2014 1130 - 2015 1130 - 2016 1130 - 2017 1130 - 2422 1130 - 2423 1130 - 2424 1130 - 2425 1130 - 2426 1130 - 2427 1130 - 2428 1130 - 2429 1130 - 2430 1130 - 2431 1130 - 2432 1130 - 2776 1130 - 2777 1130 - 2778 1130 - 2779 1130 - 2780 1130 - 2781 1130 - 2782 1130 - 2783 1130 - 2784 1130 - 2785 1130 - 114 1131 - 115 1131 - 116 1131 - 117 1131 - 118 1131 - 119 1131 - 120 1131 - 121 1131 - 122 1131 - 123 1131 - 476 1131 - 477 1131 - 478 1131 - 479 1131 - 480 1131 - 481 1131 - 482 1131 - 483 1131 - 484 1131 - 485 1131 - 486 1131 - 882 1131 - 883 1131 - 884 1131 - 885 1131 - 886 1131 - 887 1131 - 888 1131 - 889 1131 - 890 1131 - 891 1131 - 1244 1131 - 1245 1131 - 1246 1131 - 1247 1131 - 1248 1131 - 1249 1131 - 1250 1131 - 1251 1131 - 1252 1131 - 1253 1131 - 1254 1131 - 1650 1131 - 1651 1131 - 1652 1131 - 1653 1131 - 1654 1131 - 1655 1131 - 1656 1131 - 1657 1131 - 1658 1131 - 1659 1131 - 2012 1131 - 2013 1131 - 2014 1131 - 2015 1131 - 2016 1131 - 2017 1131 - 2018 1131 - 2019 1131 - 2020 1131 - 2021 1131 - 2022 1131 - 2418 1131 - 2419 1131 - 2420 1131 - 2421 1131 - 2422 1131 - 2423 1131 - 2424 1131 - 2425 1131 - 2426 1131 - 2427 1131 - 2780 1131 - 2781 1131 - 2782 1131 - 2783 1131 - 2784 1131 - 2785 1131 - 2786 1131 - 2787 1131 - 2788 1131 - 2789 1131 - 2790 1131 - 109 1132 - 110 1132 - 111 1132 - 112 1132 - 113 1132 - 114 1132 - 115 1132 - 116 1132 - 117 1132 - 118 1132 - 119 1132 - 481 1132 - 482 1132 - 483 1132 - 484 1132 - 485 1132 - 486 1132 - 487 1132 - 488 1132 - 489 1132 - 490 1132 - 877 1132 - 878 1132 - 879 1132 - 880 1132 - 881 1132 - 882 1132 - 883 1132 - 884 1132 - 885 1132 - 886 1132 - 887 1132 - 1249 1132 - 1250 1132 - 1251 1132 - 1252 1132 - 1253 1132 - 1254 1132 - 1255 1132 - 1256 1132 - 1257 1132 - 1258 1132 - 1645 1132 - 1646 1132 - 1647 1132 - 1648 1132 - 1649 1132 - 1650 1132 - 1651 1132 - 1652 1132 - 1653 1132 - 1654 1132 - 1655 1132 - 2017 1132 - 2018 1132 - 2019 1132 - 2020 1132 - 2021 1132 - 2022 1132 - 2023 1132 - 2024 1132 - 2025 1132 - 2026 1132 - 2413 1132 - 2414 1132 - 2415 1132 - 2416 1132 - 2417 1132 - 2418 1132 - 2419 1132 - 2420 1132 - 2421 1132 - 2422 1132 - 2423 1132 - 2785 1132 - 2786 1132 - 2787 1132 - 2788 1132 - 2789 1132 - 2790 1132 - 2791 1132 - 2792 1132 - 2793 1132 - 2794 1132 - 104 1133 - 105 1133 - 106 1133 - 107 1133 - 108 1133 - 109 1133 - 110 1133 - 111 1133 - 112 1133 - 113 1133 - 114 1133 - 485 1133 - 486 1133 - 487 1133 - 488 1133 - 489 1133 - 490 1133 - 491 1133 - 492 1133 - 493 1133 - 494 1133 - 495 1133 - 496 1133 - 872 1133 - 873 1133 - 874 1133 - 875 1133 - 876 1133 - 877 1133 - 878 1133 - 879 1133 - 880 1133 - 881 1133 - 882 1133 - 1253 1133 - 1254 1133 - 1255 1133 - 1256 1133 - 1257 1133 - 1258 1133 - 1259 1133 - 1260 1133 - 1261 1133 - 1262 1133 - 1263 1133 - 1264 1133 - 1640 1133 - 1641 1133 - 1642 1133 - 1643 1133 - 1644 1133 - 1645 1133 - 1646 1133 - 1647 1133 - 1648 1133 - 1649 1133 - 1650 1133 - 2021 1133 - 2022 1133 - 2023 1133 - 2024 1133 - 2025 1133 - 2026 1133 - 2027 1133 - 2028 1133 - 2029 1133 - 2030 1133 - 2031 1133 - 2032 1133 - 2408 1133 - 2409 1133 - 2410 1133 - 2411 1133 - 2412 1133 - 2413 1133 - 2414 1133 - 2415 1133 - 2416 1133 - 2417 1133 - 2418 1133 - 2789 1133 - 2790 1133 - 2791 1133 - 2792 1133 - 2793 1133 - 2794 1133 - 2795 1133 - 2796 1133 - 2797 1133 - 2798 1133 - 2799 1133 - 2800 1133 - 99 1134 - 100 1134 - 101 1134 - 102 1134 - 103 1134 - 104 1134 - 105 1134 - 106 1134 - 107 1134 - 108 1134 - 109 1134 - 490 1134 - 491 1134 - 492 1134 - 493 1134 - 494 1134 - 495 1134 - 496 1134 - 497 1134 - 498 1134 - 499 1134 - 500 1134 - 867 1134 - 868 1134 - 869 1134 - 870 1134 - 871 1134 - 872 1134 - 873 1134 - 874 1134 - 875 1134 - 876 1134 - 877 1134 - 1258 1134 - 1259 1134 - 1260 1134 - 1261 1134 - 1262 1134 - 1263 1134 - 1264 1134 - 1265 1134 - 1266 1134 - 1267 1134 - 1268 1134 - 1635 1134 - 1636 1134 - 1637 1134 - 1638 1134 - 1639 1134 - 1640 1134 - 1641 1134 - 1642 1134 - 1643 1134 - 1644 1134 - 1645 1134 - 2026 1134 - 2027 1134 - 2028 1134 - 2029 1134 - 2030 1134 - 2031 1134 - 2032 1134 - 2033 1134 - 2034 1134 - 2035 1134 - 2036 1134 - 2403 1134 - 2404 1134 - 2405 1134 - 2406 1134 - 2407 1134 - 2408 1134 - 2409 1134 - 2410 1134 - 2411 1134 - 2412 1134 - 2413 1134 - 2794 1134 - 2795 1134 - 2796 1134 - 2797 1134 - 2798 1134 - 2799 1134 - 2800 1134 - 2801 1134 - 2802 1134 - 2803 1134 - 2804 1134 - 94 1135 - 95 1135 - 96 1135 - 97 1135 - 98 1135 - 99 1135 - 100 1135 - 101 1135 - 102 1135 - 103 1135 - 104 1135 - 495 1135 - 496 1135 - 497 1135 - 498 1135 - 499 1135 - 500 1135 - 501 1135 - 502 1135 - 503 1135 - 504 1135 - 505 1135 - 862 1135 - 863 1135 - 864 1135 - 865 1135 - 866 1135 - 867 1135 - 868 1135 - 869 1135 - 870 1135 - 871 1135 - 872 1135 - 1263 1135 - 1264 1135 - 1265 1135 - 1266 1135 - 1267 1135 - 1268 1135 - 1269 1135 - 1270 1135 - 1271 1135 - 1272 1135 - 1273 1135 - 1630 1135 - 1631 1135 - 1632 1135 - 1633 1135 - 1634 1135 - 1635 1135 - 1636 1135 - 1637 1135 - 1638 1135 - 1639 1135 - 1640 1135 - 2031 1135 - 2032 1135 - 2033 1135 - 2034 1135 - 2035 1135 - 2036 1135 - 2037 1135 - 2038 1135 - 2039 1135 - 2040 1135 - 2041 1135 - 2398 1135 - 2399 1135 - 2400 1135 - 2401 1135 - 2402 1135 - 2403 1135 - 2404 1135 - 2405 1135 - 2406 1135 - 2407 1135 - 2408 1135 - 2799 1135 - 2800 1135 - 2801 1135 - 2802 1135 - 2803 1135 - 2804 1135 - 2805 1135 - 2806 1135 - 2807 1135 - 2808 1135 - 2809 1135 - 88 1136 - 89 1136 - 90 1136 - 91 1136 - 92 1136 - 93 1136 - 94 1136 - 95 1136 - 96 1136 - 97 1136 - 98 1136 - 99 1136 - 100 1136 - 500 1136 - 501 1136 - 502 1136 - 503 1136 - 504 1136 - 505 1136 - 506 1136 - 507 1136 - 508 1136 - 509 1136 - 510 1136 - 511 1136 - 856 1136 - 857 1136 - 858 1136 - 859 1136 - 860 1136 - 861 1136 - 862 1136 - 863 1136 - 864 1136 - 865 1136 - 866 1136 - 867 1136 - 868 1136 - 1268 1136 - 1269 1136 - 1270 1136 - 1271 1136 - 1272 1136 - 1273 1136 - 1274 1136 - 1275 1136 - 1276 1136 - 1277 1136 - 1278 1136 - 1279 1136 - 1624 1136 - 1625 1136 - 1626 1136 - 1627 1136 - 1628 1136 - 1629 1136 - 1630 1136 - 1631 1136 - 1632 1136 - 1633 1136 - 1634 1136 - 1635 1136 - 1636 1136 - 2036 1136 - 2037 1136 - 2038 1136 - 2039 1136 - 2040 1136 - 2041 1136 - 2042 1136 - 2043 1136 - 2044 1136 - 2045 1136 - 2046 1136 - 2047 1136 - 2392 1136 - 2393 1136 - 2394 1136 - 2395 1136 - 2396 1136 - 2397 1136 - 2398 1136 - 2399 1136 - 2400 1136 - 2401 1136 - 2402 1136 - 2403 1136 - 2404 1136 - 2804 1136 - 2805 1136 - 2806 1136 - 2807 1136 - 2808 1136 - 2809 1136 - 2810 1136 - 2811 1136 - 2812 1136 - 2813 1136 - 2814 1136 - 2815 1136 - 83 1137 - 84 1137 - 85 1137 - 86 1137 - 87 1137 - 88 1137 - 89 1137 - 90 1137 - 91 1137 - 92 1137 - 93 1137 - 94 1137 - 505 1137 - 506 1137 - 507 1137 - 508 1137 - 509 1137 - 510 1137 - 511 1137 - 512 1137 - 513 1137 - 514 1137 - 515 1137 - 516 1137 - 851 1137 - 852 1137 - 853 1137 - 854 1137 - 855 1137 - 856 1137 - 857 1137 - 858 1137 - 859 1137 - 860 1137 - 861 1137 - 862 1137 - 1273 1137 - 1274 1137 - 1275 1137 - 1276 1137 - 1277 1137 - 1278 1137 - 1279 1137 - 1280 1137 - 1281 1137 - 1282 1137 - 1283 1137 - 1284 1137 - 1619 1137 - 1620 1137 - 1621 1137 - 1622 1137 - 1623 1137 - 1624 1137 - 1625 1137 - 1626 1137 - 1627 1137 - 1628 1137 - 1629 1137 - 1630 1137 - 2041 1137 - 2042 1137 - 2043 1137 - 2044 1137 - 2045 1137 - 2046 1137 - 2047 1137 - 2048 1137 - 2049 1137 - 2050 1137 - 2051 1137 - 2052 1137 - 2387 1137 - 2388 1137 - 2389 1137 - 2390 1137 - 2391 1137 - 2392 1137 - 2393 1137 - 2394 1137 - 2395 1137 - 2396 1137 - 2397 1137 - 2398 1137 - 2809 1137 - 2810 1137 - 2811 1137 - 2812 1137 - 2813 1137 - 2814 1137 - 2815 1137 - 2816 1137 - 2817 1137 - 2818 1137 - 2819 1137 - 2820 1137 - 77 1138 - 78 1138 - 79 1138 - 80 1138 - 81 1138 - 82 1138 - 83 1138 - 84 1138 - 85 1138 - 86 1138 - 87 1138 - 88 1138 - 89 1138 - 511 1138 - 512 1138 - 513 1138 - 514 1138 - 515 1138 - 516 1138 - 517 1138 - 518 1138 - 519 1138 - 520 1138 - 521 1138 - 522 1138 - 845 1138 - 846 1138 - 847 1138 - 848 1138 - 849 1138 - 850 1138 - 851 1138 - 852 1138 - 853 1138 - 854 1138 - 855 1138 - 856 1138 - 857 1138 - 1279 1138 - 1280 1138 - 1281 1138 - 1282 1138 - 1283 1138 - 1284 1138 - 1285 1138 - 1286 1138 - 1287 1138 - 1288 1138 - 1289 1138 - 1290 1138 - 1613 1138 - 1614 1138 - 1615 1138 - 1616 1138 - 1617 1138 - 1618 1138 - 1619 1138 - 1620 1138 - 1621 1138 - 1622 1138 - 1623 1138 - 1624 1138 - 1625 1138 - 2047 1138 - 2048 1138 - 2049 1138 - 2050 1138 - 2051 1138 - 2052 1138 - 2053 1138 - 2054 1138 - 2055 1138 - 2056 1138 - 2057 1138 - 2058 1138 - 2381 1138 - 2382 1138 - 2383 1138 - 2384 1138 - 2385 1138 - 2386 1138 - 2387 1138 - 2388 1138 - 2389 1138 - 2390 1138 - 2391 1138 - 2392 1138 - 2393 1138 - 2815 1138 - 2816 1138 - 2817 1138 - 2818 1138 - 2819 1138 - 2820 1138 - 2821 1138 - 2822 1138 - 2823 1138 - 2824 1138 - 2825 1138 - 2826 1138 - 71 1139 - 72 1139 - 73 1139 - 74 1139 - 75 1139 - 76 1139 - 77 1139 - 78 1139 - 79 1139 - 80 1139 - 81 1139 - 82 1139 - 83 1139 - 84 1139 - 516 1139 - 517 1139 - 518 1139 - 519 1139 - 520 1139 - 521 1139 - 522 1139 - 523 1139 - 524 1139 - 525 1139 - 526 1139 - 527 1139 - 528 1139 - 839 1139 - 840 1139 - 841 1139 - 842 1139 - 843 1139 - 844 1139 - 845 1139 - 846 1139 - 847 1139 - 848 1139 - 849 1139 - 850 1139 - 851 1139 - 852 1139 - 1284 1139 - 1285 1139 - 1286 1139 - 1287 1139 - 1288 1139 - 1289 1139 - 1290 1139 - 1291 1139 - 1292 1139 - 1293 1139 - 1294 1139 - 1295 1139 - 1296 1139 - 1607 1139 - 1608 1139 - 1609 1139 - 1610 1139 - 1611 1139 - 1612 1139 - 1613 1139 - 1614 1139 - 1615 1139 - 1616 1139 - 1617 1139 - 1618 1139 - 1619 1139 - 1620 1139 - 2052 1139 - 2053 1139 - 2054 1139 - 2055 1139 - 2056 1139 - 2057 1139 - 2058 1139 - 2059 1139 - 2060 1139 - 2061 1139 - 2062 1139 - 2063 1139 - 2064 1139 - 2375 1139 - 2376 1139 - 2377 1139 - 2378 1139 - 2379 1139 - 2380 1139 - 2381 1139 - 2382 1139 - 2383 1139 - 2384 1139 - 2385 1139 - 2386 1139 - 2387 1139 - 2388 1139 - 2820 1139 - 2821 1139 - 2822 1139 - 2823 1139 - 2824 1139 - 2825 1139 - 2826 1139 - 2827 1139 - 2828 1139 - 2829 1139 - 2830 1139 - 2831 1139 - 2832 1139 - 65 1140 - 66 1140 - 67 1140 - 68 1140 - 69 1140 - 70 1140 - 71 1140 - 72 1140 - 73 1140 - 74 1140 - 75 1140 - 76 1140 - 77 1140 - 78 1140 - 522 1140 - 523 1140 - 524 1140 - 525 1140 - 526 1140 - 527 1140 - 528 1140 - 529 1140 - 530 1140 - 531 1140 - 532 1140 - 533 1140 - 534 1140 - 833 1140 - 834 1140 - 835 1140 - 836 1140 - 837 1140 - 838 1140 - 839 1140 - 840 1140 - 841 1140 - 842 1140 - 843 1140 - 844 1140 - 845 1140 - 846 1140 - 1290 1140 - 1291 1140 - 1292 1140 - 1293 1140 - 1294 1140 - 1295 1140 - 1296 1140 - 1297 1140 - 1298 1140 - 1299 1140 - 1300 1140 - 1301 1140 - 1302 1140 - 1601 1140 - 1602 1140 - 1603 1140 - 1604 1140 - 1605 1140 - 1606 1140 - 1607 1140 - 1608 1140 - 1609 1140 - 1610 1140 - 1611 1140 - 1612 1140 - 1613 1140 - 1614 1140 - 2058 1140 - 2059 1140 - 2060 1140 - 2061 1140 - 2062 1140 - 2063 1140 - 2064 1140 - 2065 1140 - 2066 1140 - 2067 1140 - 2068 1140 - 2069 1140 - 2070 1140 - 2369 1140 - 2370 1140 - 2371 1140 - 2372 1140 - 2373 1140 - 2374 1140 - 2375 1140 - 2376 1140 - 2377 1140 - 2378 1140 - 2379 1140 - 2380 1140 - 2381 1140 - 2382 1140 - 2826 1140 - 2827 1140 - 2828 1140 - 2829 1140 - 2830 1140 - 2831 1140 - 2832 1140 - 2833 1140 - 2834 1140 - 2835 1140 - 2836 1140 - 2837 1140 - 2838 1140 - 58 1141 - 59 1141 - 60 1141 - 61 1141 - 62 1141 - 63 1141 - 64 1141 - 65 1141 - 66 1141 - 67 1141 - 68 1141 - 69 1141 - 70 1141 - 71 1141 - 528 1141 - 529 1141 - 530 1141 - 531 1141 - 532 1141 - 533 1141 - 534 1141 - 535 1141 - 536 1141 - 537 1141 - 538 1141 - 539 1141 - 540 1141 - 541 1141 - 826 1141 - 827 1141 - 828 1141 - 829 1141 - 830 1141 - 831 1141 - 832 1141 - 833 1141 - 834 1141 - 835 1141 - 836 1141 - 837 1141 - 838 1141 - 839 1141 - 1296 1141 - 1297 1141 - 1298 1141 - 1299 1141 - 1300 1141 - 1301 1141 - 1302 1141 - 1303 1141 - 1304 1141 - 1305 1141 - 1306 1141 - 1307 1141 - 1308 1141 - 1309 1141 - 1594 1141 - 1595 1141 - 1596 1141 - 1597 1141 - 1598 1141 - 1599 1141 - 1600 1141 - 1601 1141 - 1602 1141 - 1603 1141 - 1604 1141 - 1605 1141 - 1606 1141 - 1607 1141 - 2064 1141 - 2065 1141 - 2066 1141 - 2067 1141 - 2068 1141 - 2069 1141 - 2070 1141 - 2071 1141 - 2072 1141 - 2073 1141 - 2074 1141 - 2075 1141 - 2076 1141 - 2077 1141 - 2362 1141 - 2363 1141 - 2364 1141 - 2365 1141 - 2366 1141 - 2367 1141 - 2368 1141 - 2369 1141 - 2370 1141 - 2371 1141 - 2372 1141 - 2373 1141 - 2374 1141 - 2375 1141 - 2832 1141 - 2833 1141 - 2834 1141 - 2835 1141 - 2836 1141 - 2837 1141 - 2838 1141 - 2839 1141 - 2840 1141 - 2841 1141 - 2842 1141 - 2843 1141 - 2844 1141 - 2845 1141 - 52 1142 - 53 1142 - 54 1142 - 55 1142 - 56 1142 - 57 1142 - 58 1142 - 59 1142 - 60 1142 - 61 1142 - 62 1142 - 63 1142 - 64 1142 - 65 1142 - 66 1142 - 534 1142 - 535 1142 - 536 1142 - 537 1142 - 538 1142 - 539 1142 - 540 1142 - 541 1142 - 542 1142 - 543 1142 - 544 1142 - 545 1142 - 546 1142 - 547 1142 - 820 1142 - 821 1142 - 822 1142 - 823 1142 - 824 1142 - 825 1142 - 826 1142 - 827 1142 - 828 1142 - 829 1142 - 830 1142 - 831 1142 - 832 1142 - 833 1142 - 834 1142 - 1302 1142 - 1303 1142 - 1304 1142 - 1305 1142 - 1306 1142 - 1307 1142 - 1308 1142 - 1309 1142 - 1310 1142 - 1311 1142 - 1312 1142 - 1313 1142 - 1314 1142 - 1315 1142 - 1588 1142 - 1589 1142 - 1590 1142 - 1591 1142 - 1592 1142 - 1593 1142 - 1594 1142 - 1595 1142 - 1596 1142 - 1597 1142 - 1598 1142 - 1599 1142 - 1600 1142 - 1601 1142 - 1602 1142 - 2070 1142 - 2071 1142 - 2072 1142 - 2073 1142 - 2074 1142 - 2075 1142 - 2076 1142 - 2077 1142 - 2078 1142 - 2079 1142 - 2080 1142 - 2081 1142 - 2082 1142 - 2083 1142 - 2356 1142 - 2357 1142 - 2358 1142 - 2359 1142 - 2360 1142 - 2361 1142 - 2362 1142 - 2363 1142 - 2364 1142 - 2365 1142 - 2366 1142 - 2367 1142 - 2368 1142 - 2369 1142 - 2370 1142 - 2838 1142 - 2839 1142 - 2840 1142 - 2841 1142 - 2842 1142 - 2843 1142 - 2844 1142 - 2845 1142 - 2846 1142 - 2847 1142 - 2848 1142 - 2849 1142 - 2850 1142 - 2851 1142 - 44 1143 - 45 1143 - 46 1143 - 47 1143 - 48 1143 - 49 1143 - 50 1143 - 51 1143 - 52 1143 - 53 1143 - 54 1143 - 55 1143 - 56 1143 - 57 1143 - 58 1143 - 59 1143 - 541 1143 - 542 1143 - 543 1143 - 544 1143 - 545 1143 - 546 1143 - 547 1143 - 548 1143 - 549 1143 - 550 1143 - 551 1143 - 552 1143 - 553 1143 - 554 1143 - 555 1143 - 812 1143 - 813 1143 - 814 1143 - 815 1143 - 816 1143 - 817 1143 - 818 1143 - 819 1143 - 820 1143 - 821 1143 - 822 1143 - 823 1143 - 824 1143 - 825 1143 - 826 1143 - 827 1143 - 1309 1143 - 1310 1143 - 1311 1143 - 1312 1143 - 1313 1143 - 1314 1143 - 1315 1143 - 1316 1143 - 1317 1143 - 1318 1143 - 1319 1143 - 1320 1143 - 1321 1143 - 1322 1143 - 1323 1143 - 1580 1143 - 1581 1143 - 1582 1143 - 1583 1143 - 1584 1143 - 1585 1143 - 1586 1143 - 1587 1143 - 1588 1143 - 1589 1143 - 1590 1143 - 1591 1143 - 1592 1143 - 1593 1143 - 1594 1143 - 1595 1143 - 2077 1143 - 2078 1143 - 2079 1143 - 2080 1143 - 2081 1143 - 2082 1143 - 2083 1143 - 2084 1143 - 2085 1143 - 2086 1143 - 2087 1143 - 2088 1143 - 2089 1143 - 2090 1143 - 2091 1143 - 2348 1143 - 2349 1143 - 2350 1143 - 2351 1143 - 2352 1143 - 2353 1143 - 2354 1143 - 2355 1143 - 2356 1143 - 2357 1143 - 2358 1143 - 2359 1143 - 2360 1143 - 2361 1143 - 2362 1143 - 2363 1143 - 2845 1143 - 2846 1143 - 2847 1143 - 2848 1143 - 2849 1143 - 2850 1143 - 2851 1143 - 2852 1143 - 2853 1143 - 2854 1143 - 2855 1143 - 2856 1143 - 2857 1143 - 2858 1143 - 2859 1143 - 37 1144 - 38 1144 - 39 1144 - 40 1144 - 41 1144 - 42 1144 - 43 1144 - 44 1144 - 45 1144 - 46 1144 - 47 1144 - 48 1144 - 49 1144 - 50 1144 - 51 1144 - 52 1144 - 547 1144 - 548 1144 - 549 1144 - 550 1144 - 551 1144 - 552 1144 - 553 1144 - 554 1144 - 555 1144 - 556 1144 - 557 1144 - 558 1144 - 559 1144 - 560 1144 - 561 1144 - 562 1144 - 805 1144 - 806 1144 - 807 1144 - 808 1144 - 809 1144 - 810 1144 - 811 1144 - 812 1144 - 813 1144 - 814 1144 - 815 1144 - 816 1144 - 817 1144 - 818 1144 - 819 1144 - 820 1144 - 1315 1144 - 1316 1144 - 1317 1144 - 1318 1144 - 1319 1144 - 1320 1144 - 1321 1144 - 1322 1144 - 1323 1144 - 1324 1144 - 1325 1144 - 1326 1144 - 1327 1144 - 1328 1144 - 1329 1144 - 1330 1144 - 1573 1144 - 1574 1144 - 1575 1144 - 1576 1144 - 1577 1144 - 1578 1144 - 1579 1144 - 1580 1144 - 1581 1144 - 1582 1144 - 1583 1144 - 1584 1144 - 1585 1144 - 1586 1144 - 1587 1144 - 1588 1144 - 2083 1144 - 2084 1144 - 2085 1144 - 2086 1144 - 2087 1144 - 2088 1144 - 2089 1144 - 2090 1144 - 2091 1144 - 2092 1144 - 2093 1144 - 2094 1144 - 2095 1144 - 2096 1144 - 2097 1144 - 2098 1144 - 2341 1144 - 2342 1144 - 2343 1144 - 2344 1144 - 2345 1144 - 2346 1144 - 2347 1144 - 2348 1144 - 2349 1144 - 2350 1144 - 2351 1144 - 2352 1144 - 2353 1144 - 2354 1144 - 2355 1144 - 2356 1144 - 2851 1144 - 2852 1144 - 2853 1144 - 2854 1144 - 2855 1144 - 2856 1144 - 2857 1144 - 2858 1144 - 2859 1144 - 2860 1144 - 2861 1144 - 2862 1144 - 2863 1144 - 2864 1144 - 2865 1144 - 2866 1144 - 29 1145 - 30 1145 - 31 1145 - 32 1145 - 33 1145 - 34 1145 - 35 1145 - 36 1145 - 37 1145 - 38 1145 - 39 1145 - 40 1145 - 41 1145 - 42 1145 - 43 1145 - 44 1145 - 45 1145 - 554 1145 - 555 1145 - 556 1145 - 557 1145 - 558 1145 - 559 1145 - 560 1145 - 561 1145 - 562 1145 - 563 1145 - 564 1145 - 565 1145 - 566 1145 - 567 1145 - 568 1145 - 569 1145 - 570 1145 - 797 1145 - 798 1145 - 799 1145 - 800 1145 - 801 1145 - 802 1145 - 803 1145 - 804 1145 - 805 1145 - 806 1145 - 807 1145 - 808 1145 - 809 1145 - 810 1145 - 811 1145 - 812 1145 - 813 1145 - 1322 1145 - 1323 1145 - 1324 1145 - 1325 1145 - 1326 1145 - 1327 1145 - 1328 1145 - 1329 1145 - 1330 1145 - 1331 1145 - 1332 1145 - 1333 1145 - 1334 1145 - 1335 1145 - 1336 1145 - 1337 1145 - 1338 1145 - 1565 1145 - 1566 1145 - 1567 1145 - 1568 1145 - 1569 1145 - 1570 1145 - 1571 1145 - 1572 1145 - 1573 1145 - 1574 1145 - 1575 1145 - 1576 1145 - 1577 1145 - 1578 1145 - 1579 1145 - 1580 1145 - 1581 1145 - 2090 1145 - 2091 1145 - 2092 1145 - 2093 1145 - 2094 1145 - 2095 1145 - 2096 1145 - 2097 1145 - 2098 1145 - 2099 1145 - 2100 1145 - 2101 1145 - 2102 1145 - 2103 1145 - 2104 1145 - 2105 1145 - 2106 1145 - 2333 1145 - 2334 1145 - 2335 1145 - 2336 1145 - 2337 1145 - 2338 1145 - 2339 1145 - 2340 1145 - 2341 1145 - 2342 1145 - 2343 1145 - 2344 1145 - 2345 1145 - 2346 1145 - 2347 1145 - 2348 1145 - 2349 1145 - 2858 1145 - 2859 1145 - 2860 1145 - 2861 1145 - 2862 1145 - 2863 1145 - 2864 1145 - 2865 1145 - 2866 1145 - 2867 1145 - 2868 1145 - 2869 1145 - 2870 1145 - 2871 1145 - 2872 1145 - 2873 1145 - 2874 1145 - 20 1146 - 21 1146 - 22 1146 - 23 1146 - 24 1146 - 25 1146 - 26 1146 - 27 1146 - 28 1146 - 29 1146 - 30 1146 - 31 1146 - 32 1146 - 33 1146 - 34 1146 - 35 1146 - 36 1146 - 37 1146 - 562 1146 - 563 1146 - 564 1146 - 565 1146 - 566 1146 - 567 1146 - 568 1146 - 569 1146 - 570 1146 - 571 1146 - 572 1146 - 573 1146 - 574 1146 - 575 1146 - 576 1146 - 577 1146 - 578 1146 - 579 1146 - 580 1146 - 788 1146 - 789 1146 - 790 1146 - 791 1146 - 792 1146 - 793 1146 - 794 1146 - 795 1146 - 796 1146 - 797 1146 - 798 1146 - 799 1146 - 800 1146 - 801 1146 - 802 1146 - 803 1146 - 804 1146 - 805 1146 - 1330 1146 - 1331 1146 - 1332 1146 - 1333 1146 - 1334 1146 - 1335 1146 - 1336 1146 - 1337 1146 - 1338 1146 - 1339 1146 - 1340 1146 - 1341 1146 - 1342 1146 - 1343 1146 - 1344 1146 - 1345 1146 - 1346 1146 - 1347 1146 - 1348 1146 - 1556 1146 - 1557 1146 - 1558 1146 - 1559 1146 - 1560 1146 - 1561 1146 - 1562 1146 - 1563 1146 - 1564 1146 - 1565 1146 - 1566 1146 - 1567 1146 - 1568 1146 - 1569 1146 - 1570 1146 - 1571 1146 - 1572 1146 - 1573 1146 - 2098 1146 - 2099 1146 - 2100 1146 - 2101 1146 - 2102 1146 - 2103 1146 - 2104 1146 - 2105 1146 - 2106 1146 - 2107 1146 - 2108 1146 - 2109 1146 - 2110 1146 - 2111 1146 - 2112 1146 - 2113 1146 - 2114 1146 - 2115 1146 - 2116 1146 - 2324 1146 - 2325 1146 - 2326 1146 - 2327 1146 - 2328 1146 - 2329 1146 - 2330 1146 - 2331 1146 - 2332 1146 - 2333 1146 - 2334 1146 - 2335 1146 - 2336 1146 - 2337 1146 - 2338 1146 - 2339 1146 - 2340 1146 - 2341 1146 - 2866 1146 - 2867 1146 - 2868 1146 - 2869 1146 - 2870 1146 - 2871 1146 - 2872 1146 - 2873 1146 - 2874 1146 - 2875 1146 - 2876 1146 - 2877 1146 - 2878 1146 - 2879 1146 - 2880 1146 - 2881 1146 - 2882 1146 - 2883 1146 - 2884 1146 - 10 1147 - 11 1147 - 12 1147 - 13 1147 - 14 1147 - 15 1147 - 16 1147 - 17 1147 - 18 1147 - 19 1147 - 20 1147 - 21 1147 - 22 1147 - 23 1147 - 24 1147 - 25 1147 - 26 1147 - 27 1147 - 28 1147 - 29 1147 - 570 1147 - 571 1147 - 572 1147 - 573 1147 - 574 1147 - 575 1147 - 576 1147 - 577 1147 - 578 1147 - 579 1147 - 580 1147 - 581 1147 - 582 1147 - 583 1147 - 584 1147 - 585 1147 - 586 1147 - 587 1147 - 588 1147 - 589 1147 - 778 1147 - 779 1147 - 780 1147 - 781 1147 - 782 1147 - 783 1147 - 784 1147 - 785 1147 - 786 1147 - 787 1147 - 788 1147 - 789 1147 - 790 1147 - 791 1147 - 792 1147 - 793 1147 - 794 1147 - 795 1147 - 796 1147 - 797 1147 - 1338 1147 - 1339 1147 - 1340 1147 - 1341 1147 - 1342 1147 - 1343 1147 - 1344 1147 - 1345 1147 - 1346 1147 - 1347 1147 - 1348 1147 - 1349 1147 - 1350 1147 - 1351 1147 - 1352 1147 - 1353 1147 - 1354 1147 - 1355 1147 - 1356 1147 - 1357 1147 - 1546 1147 - 1547 1147 - 1548 1147 - 1549 1147 - 1550 1147 - 1551 1147 - 1552 1147 - 1553 1147 - 1554 1147 - 1555 1147 - 1556 1147 - 1557 1147 - 1558 1147 - 1559 1147 - 1560 1147 - 1561 1147 - 1562 1147 - 1563 1147 - 1564 1147 - 1565 1147 - 2106 1147 - 2107 1147 - 2108 1147 - 2109 1147 - 2110 1147 - 2111 1147 - 2112 1147 - 2113 1147 - 2114 1147 - 2115 1147 - 2116 1147 - 2117 1147 - 2118 1147 - 2119 1147 - 2120 1147 - 2121 1147 - 2122 1147 - 2123 1147 - 2124 1147 - 2125 1147 - 2314 1147 - 2315 1147 - 2316 1147 - 2317 1147 - 2318 1147 - 2319 1147 - 2320 1147 - 2321 1147 - 2322 1147 - 2323 1147 - 2324 1147 - 2325 1147 - 2326 1147 - 2327 1147 - 2328 1147 - 2329 1147 - 2330 1147 - 2331 1147 - 2332 1147 - 2333 1147 - 2874 1147 - 2875 1147 - 2876 1147 - 2877 1147 - 2878 1147 - 2879 1147 - 2880 1147 - 2881 1147 - 2882 1147 - 2883 1147 - 2884 1147 - 2885 1147 - 2886 1147 - 2887 1147 - 2888 1147 - 2889 1147 - 2890 1147 - 2891 1147 - 2892 1147 - 2893 1147 - 1 1148 - 2 1148 - 3 1148 - 4 1148 - 5 1148 - 6 1148 - 7 1148 - 8 1148 - 9 1148 - 10 1148 - 11 1148 - 12 1148 - 13 1148 - 14 1148 - 15 1148 - 16 1148 - 17 1148 - 18 1148 - 19 1148 - 20 1148 - 579 1148 - 580 1148 - 581 1148 - 582 1148 - 583 1148 - 584 1148 - 585 1148 - 586 1148 - 587 1148 - 588 1148 - 589 1148 - 590 1148 - 591 1148 - 592 1148 - 593 1148 - 594 1148 - 595 1148 - 596 1148 - 597 1148 - 598 1148 - 599 1148 - 600 1148 - 768 1148 - 769 1148 - 770 1148 - 771 1148 - 772 1148 - 773 1148 - 774 1148 - 775 1148 - 776 1148 - 777 1148 - 778 1148 - 779 1148 - 780 1148 - 781 1148 - 782 1148 - 783 1148 - 784 1148 - 785 1148 - 786 1148 - 787 1148 - 788 1148 - 1347 1148 - 1348 1148 - 1349 1148 - 1350 1148 - 1351 1148 - 1352 1148 - 1353 1148 - 1354 1148 - 1355 1148 - 1356 1148 - 1357 1148 - 1358 1148 - 1359 1148 - 1360 1148 - 1361 1148 - 1362 1148 - 1363 1148 - 1364 1148 - 1365 1148 - 1366 1148 - 1367 1148 - 1368 1148 - 1536 1148 - 1537 1148 - 1538 1148 - 1539 1148 - 1540 1148 - 1541 1148 - 1542 1148 - 1543 1148 - 1544 1148 - 1545 1148 - 1546 1148 - 1547 1148 - 1548 1148 - 1549 1148 - 1550 1148 - 1551 1148 - 1552 1148 - 1553 1148 - 1554 1148 - 1555 1148 - 1556 1148 - 2115 1148 - 2116 1148 - 2117 1148 - 2118 1148 - 2119 1148 - 2120 1148 - 2121 1148 - 2122 1148 - 2123 1148 - 2124 1148 - 2125 1148 - 2126 1148 - 2127 1148 - 2128 1148 - 2129 1148 - 2130 1148 - 2131 1148 - 2132 1148 - 2133 1148 - 2134 1148 - 2135 1148 - 2136 1148 - 2304 1148 - 2305 1148 - 2306 1148 - 2307 1148 - 2308 1148 - 2309 1148 - 2310 1148 - 2311 1148 - 2312 1148 - 2313 1148 - 2314 1148 - 2315 1148 - 2316 1148 - 2317 1148 - 2318 1148 - 2319 1148 - 2320 1148 - 2321 1148 - 2322 1148 - 2323 1148 - 2324 1148 - 2883 1148 - 2884 1148 - 2885 1148 - 2886 1148 - 2887 1148 - 2888 1148 - 2889 1148 - 2890 1148 - 2891 1148 - 2892 1148 - 2893 1148 - 2894 1148 - 2895 1148 - 2896 1148 - 2897 1148 - 2898 1148 - 2899 1148 - 2900 1148 - 2901 1148 - 2902 1148 - 2903 1148 - 2904 1148 - 3072 1148 - 1 1149 - 2 1149 - 3 1149 - 4 1149 - 5 1149 - 6 1149 - 7 1149 - 8 1149 - 9 1149 - 10 1149 - 11 1149 - 588 1149 - 589 1149 - 590 1149 - 591 1149 - 592 1149 - 593 1149 - 594 1149 - 595 1149 - 596 1149 - 597 1149 - 598 1149 - 599 1149 - 600 1149 - 601 1149 - 602 1149 - 603 1149 - 604 1149 - 605 1149 - 606 1149 - 607 1149 - 608 1149 - 609 1149 - 610 1149 - 611 1149 - 612 1149 - 755 1149 - 756 1149 - 757 1149 - 758 1149 - 759 1149 - 760 1149 - 761 1149 - 762 1149 - 763 1149 - 764 1149 - 765 1149 - 766 1149 - 767 1149 - 768 1149 - 769 1149 - 770 1149 - 771 1149 - 772 1149 - 773 1149 - 774 1149 - 775 1149 - 776 1149 - 777 1149 - 778 1149 - 779 1149 - 1356 1149 - 1357 1149 - 1358 1149 - 1359 1149 - 1360 1149 - 1361 1149 - 1362 1149 - 1363 1149 - 1364 1149 - 1365 1149 - 1366 1149 - 1367 1149 - 1368 1149 - 1369 1149 - 1370 1149 - 1371 1149 - 1372 1149 - 1373 1149 - 1374 1149 - 1375 1149 - 1376 1149 - 1377 1149 - 1378 1149 - 1379 1149 - 1380 1149 - 1523 1149 - 1524 1149 - 1525 1149 - 1526 1149 - 1527 1149 - 1528 1149 - 1529 1149 - 1530 1149 - 1531 1149 - 1532 1149 - 1533 1149 - 1534 1149 - 1535 1149 - 1536 1149 - 1537 1149 - 1538 1149 - 1539 1149 - 1540 1149 - 1541 1149 - 1542 1149 - 1543 1149 - 1544 1149 - 1545 1149 - 1546 1149 - 1547 1149 - 2124 1149 - 2125 1149 - 2126 1149 - 2127 1149 - 2128 1149 - 2129 1149 - 2130 1149 - 2131 1149 - 2132 1149 - 2133 1149 - 2134 1149 - 2135 1149 - 2136 1149 - 2137 1149 - 2138 1149 - 2139 1149 - 2140 1149 - 2141 1149 - 2142 1149 - 2143 1149 - 2144 1149 - 2145 1149 - 2146 1149 - 2147 1149 - 2148 1149 - 2291 1149 - 2292 1149 - 2293 1149 - 2294 1149 - 2295 1149 - 2296 1149 - 2297 1149 - 2298 1149 - 2299 1149 - 2300 1149 - 2301 1149 - 2302 1149 - 2303 1149 - 2304 1149 - 2305 1149 - 2306 1149 - 2307 1149 - 2308 1149 - 2309 1149 - 2310 1149 - 2311 1149 - 2312 1149 - 2313 1149 - 2314 1149 - 2315 1149 - 2892 1149 - 2893 1149 - 2894 1149 - 2895 1149 - 2896 1149 - 2897 1149 - 2898 1149 - 2899 1149 - 2900 1149 - 2901 1149 - 2902 1149 - 2903 1149 - 2904 1149 - 2905 1149 - 2906 1149 - 2907 1149 - 2908 1149 - 2909 1149 - 2910 1149 - 2911 1149 - 2912 1149 - 2913 1149 - 2914 1149 - 2915 1149 - 2916 1149 - 3059 1149 - 3060 1149 - 3061 1149 - 3062 1149 - 3063 1149 - 3064 1149 - 3065 1149 - 3066 1149 - 3067 1149 - 3068 1149 - 3069 1149 - 3070 1149 - 3071 1149 - 3072 1149 - 599 1150 - 600 1150 - 601 1150 - 602 1150 - 603 1150 - 604 1150 - 605 1150 - 606 1150 - 607 1150 - 608 1150 - 609 1150 - 610 1150 - 611 1150 - 612 1150 - 613 1150 - 614 1150 - 615 1150 - 616 1150 - 617 1150 - 618 1150 - 619 1150 - 620 1150 - 621 1150 - 622 1150 - 623 1150 - 624 1150 - 625 1150 - 626 1150 - 627 1150 - 628 1150 - 740 1150 - 741 1150 - 742 1150 - 743 1150 - 744 1150 - 745 1150 - 746 1150 - 747 1150 - 748 1150 - 749 1150 - 750 1150 - 751 1150 - 752 1150 - 753 1150 - 754 1150 - 755 1150 - 756 1150 - 757 1150 - 758 1150 - 759 1150 - 760 1150 - 761 1150 - 762 1150 - 763 1150 - 764 1150 - 765 1150 - 766 1150 - 767 1150 - 768 1150 - 1367 1150 - 1368 1150 - 1369 1150 - 1370 1150 - 1371 1150 - 1372 1150 - 1373 1150 - 1374 1150 - 1375 1150 - 1376 1150 - 1377 1150 - 1378 1150 - 1379 1150 - 1380 1150 - 1381 1150 - 1382 1150 - 1383 1150 - 1384 1150 - 1385 1150 - 1386 1150 - 1387 1150 - 1388 1150 - 1389 1150 - 1390 1150 - 1391 1150 - 1392 1150 - 1393 1150 - 1394 1150 - 1395 1150 - 1396 1150 - 1508 1150 - 1509 1150 - 1510 1150 - 1511 1150 - 1512 1150 - 1513 1150 - 1514 1150 - 1515 1150 - 1516 1150 - 1517 1150 - 1518 1150 - 1519 1150 - 1520 1150 - 1521 1150 - 1522 1150 - 1523 1150 - 1524 1150 - 1525 1150 - 1526 1150 - 1527 1150 - 1528 1150 - 1529 1150 - 1530 1150 - 1531 1150 - 1532 1150 - 1533 1150 - 1534 1150 - 1535 1150 - 1536 1150 - 2135 1150 - 2136 1150 - 2137 1150 - 2138 1150 - 2139 1150 - 2140 1150 - 2141 1150 - 2142 1150 - 2143 1150 - 2144 1150 - 2145 1150 - 2146 1150 - 2147 1150 - 2148 1150 - 2149 1150 - 2150 1150 - 2151 1150 - 2152 1150 - 2153 1150 - 2154 1150 - 2155 1150 - 2156 1150 - 2157 1150 - 2158 1150 - 2159 1150 - 2160 1150 - 2161 1150 - 2162 1150 - 2163 1150 - 2164 1150 - 2276 1150 - 2277 1150 - 2278 1150 - 2279 1150 - 2280 1150 - 2281 1150 - 2282 1150 - 2283 1150 - 2284 1150 - 2285 1150 - 2286 1150 - 2287 1150 - 2288 1150 - 2289 1150 - 2290 1150 - 2291 1150 - 2292 1150 - 2293 1150 - 2294 1150 - 2295 1150 - 2296 1150 - 2297 1150 - 2298 1150 - 2299 1150 - 2300 1150 - 2301 1150 - 2302 1150 - 2303 1150 - 2304 1150 - 2903 1150 - 2904 1150 - 2905 1150 - 2906 1150 - 2907 1150 - 2908 1150 - 2909 1150 - 2910 1150 - 2911 1150 - 2912 1150 - 2913 1150 - 2914 1150 - 2915 1150 - 2916 1150 - 2917 1150 - 2918 1150 - 2919 1150 - 2920 1150 - 2921 1150 - 2922 1150 - 2923 1150 - 2924 1150 - 2925 1150 - 2926 1150 - 2927 1150 - 2928 1150 - 2929 1150 - 2930 1150 - 2931 1150 - 2932 1150 - 3044 1150 - 3045 1150 - 3046 1150 - 3047 1150 - 3048 1150 - 3049 1150 - 3050 1150 - 3051 1150 - 3052 1150 - 3053 1150 - 3054 1150 - 3055 1150 - 3056 1150 - 3057 1150 - 3058 1150 - 3059 1150 - 3060 1150 - 3061 1150 - 3062 1150 - 3063 1150 - 3064 1150 - 3065 1150 - 3066 1150 - 3067 1150 - 3068 1150 - 3069 1150 - 3070 1150 - 3071 1150 - 3072 1150 - 612 1151 - 613 1151 - 614 1151 - 615 1151 - 616 1151 - 617 1151 - 618 1151 - 619 1151 - 620 1151 - 621 1151 - 622 1151 - 623 1151 - 624 1151 - 625 1151 - 626 1151 - 627 1151 - 628 1151 - 629 1151 - 630 1151 - 631 1151 - 632 1151 - 633 1151 - 634 1151 - 635 1151 - 636 1151 - 637 1151 - 638 1151 - 639 1151 - 640 1151 - 641 1151 - 642 1151 - 643 1151 - 644 1151 - 645 1151 - 646 1151 - 647 1151 - 648 1151 - 649 1151 - 719 1151 - 720 1151 - 721 1151 - 722 1151 - 723 1151 - 724 1151 - 725 1151 - 726 1151 - 727 1151 - 728 1151 - 729 1151 - 730 1151 - 731 1151 - 732 1151 - 733 1151 - 734 1151 - 735 1151 - 736 1151 - 737 1151 - 738 1151 - 739 1151 - 740 1151 - 741 1151 - 742 1151 - 743 1151 - 744 1151 - 745 1151 - 746 1151 - 747 1151 - 748 1151 - 749 1151 - 750 1151 - 751 1151 - 752 1151 - 753 1151 - 754 1151 - 755 1151 - 1380 1151 - 1381 1151 - 1382 1151 - 1383 1151 - 1384 1151 - 1385 1151 - 1386 1151 - 1387 1151 - 1388 1151 - 1389 1151 - 1390 1151 - 1391 1151 - 1392 1151 - 1393 1151 - 1394 1151 - 1395 1151 - 1396 1151 - 1397 1151 - 1398 1151 - 1399 1151 - 1400 1151 - 1401 1151 - 1402 1151 - 1403 1151 - 1404 1151 - 1405 1151 - 1406 1151 - 1407 1151 - 1408 1151 - 1409 1151 - 1410 1151 - 1411 1151 - 1412 1151 - 1413 1151 - 1414 1151 - 1415 1151 - 1416 1151 - 1417 1151 - 1487 1151 - 1488 1151 - 1489 1151 - 1490 1151 - 1491 1151 - 1492 1151 - 1493 1151 - 1494 1151 - 1495 1151 - 1496 1151 - 1497 1151 - 1498 1151 - 1499 1151 - 1500 1151 - 1501 1151 - 1502 1151 - 1503 1151 - 1504 1151 - 1505 1151 - 1506 1151 - 1507 1151 - 1508 1151 - 1509 1151 - 1510 1151 - 1511 1151 - 1512 1151 - 1513 1151 - 1514 1151 - 1515 1151 - 1516 1151 - 1517 1151 - 1518 1151 - 1519 1151 - 1520 1151 - 1521 1151 - 1522 1151 - 1523 1151 - 2148 1151 - 2149 1151 - 2150 1151 - 2151 1151 - 2152 1151 - 2153 1151 - 2154 1151 - 2155 1151 - 2156 1151 - 2157 1151 - 2158 1151 - 2159 1151 - 2160 1151 - 2161 1151 - 2162 1151 - 2163 1151 - 2164 1151 - 2165 1151 - 2166 1151 - 2167 1151 - 2168 1151 - 2169 1151 - 2170 1151 - 2171 1151 - 2172 1151 - 2173 1151 - 2174 1151 - 2175 1151 - 2176 1151 - 2177 1151 - 2178 1151 - 2179 1151 - 2180 1151 - 2181 1151 - 2182 1151 - 2183 1151 - 2184 1151 - 2185 1151 - 2255 1151 - 2256 1151 - 2257 1151 - 2258 1151 - 2259 1151 - 2260 1151 - 2261 1151 - 2262 1151 - 2263 1151 - 2264 1151 - 2265 1151 - 2266 1151 - 2267 1151 - 2268 1151 - 2269 1151 - 2270 1151 - 2271 1151 - 2272 1151 - 2273 1151 - 2274 1151 - 2275 1151 - 2276 1151 - 2277 1151 - 2278 1151 - 2279 1151 - 2280 1151 - 2281 1151 - 2282 1151 - 2283 1151 - 2284 1151 - 2285 1151 - 2286 1151 - 2287 1151 - 2288 1151 - 2289 1151 - 2290 1151 - 2291 1151 - 2916 1151 - 2917 1151 - 2918 1151 - 2919 1151 - 2920 1151 - 2921 1151 - 2922 1151 - 2923 1151 - 2924 1151 - 2925 1151 - 2926 1151 - 2927 1151 - 2928 1151 - 2929 1151 - 2930 1151 - 2931 1151 - 2932 1151 - 2933 1151 - 2934 1151 - 2935 1151 - 2936 1151 - 2937 1151 - 2938 1151 - 2939 1151 - 2940 1151 - 2941 1151 - 2942 1151 - 2943 1151 - 2944 1151 - 2945 1151 - 2946 1151 - 2947 1151 - 2948 1151 - 2949 1151 - 2950 1151 - 2951 1151 - 2952 1151 - 2953 1151 - 3023 1151 - 3024 1151 - 3025 1151 - 3026 1151 - 3027 1151 - 3028 1151 - 3029 1151 - 3030 1151 - 3031 1151 - 3032 1151 - 3033 1151 - 3034 1151 - 3035 1151 - 3036 1151 - 3037 1151 - 3038 1151 - 3039 1151 - 3040 1151 - 3041 1151 - 3042 1151 - 3043 1151 - 3044 1151 - 3045 1151 - 3046 1151 - 3047 1151 - 3048 1151 - 3049 1151 - 3050 1151 - 3051 1151 - 3052 1151 - 3053 1151 - 3054 1151 - 3055 1151 - 3056 1151 - 3057 1151 - 3058 1151 - 3059 1151 - 627 1152 - 628 1152 - 629 1152 - 630 1152 - 631 1152 - 632 1152 - 633 1152 - 634 1152 - 635 1152 - 636 1152 - 637 1152 - 638 1152 - 639 1152 - 640 1152 - 641 1152 - 642 1152 - 643 1152 - 644 1152 - 645 1152 - 646 1152 - 647 1152 - 648 1152 - 649 1152 - 650 1152 - 651 1152 - 652 1152 - 653 1152 - 654 1152 - 655 1152 - 656 1152 - 657 1152 - 658 1152 - 659 1152 - 660 1152 - 661 1152 - 662 1152 - 663 1152 - 664 1152 - 665 1152 - 666 1152 - 667 1152 - 668 1152 - 669 1152 - 670 1152 - 671 1152 - 672 1152 - 673 1152 - 674 1152 - 675 1152 - 676 1152 - 677 1152 - 678 1152 - 679 1152 - 680 1152 - 681 1152 - 682 1152 - 683 1152 - 684 1152 - 685 1152 - 686 1152 - 687 1152 - 688 1152 - 689 1152 - 690 1152 - 691 1152 - 692 1152 - 693 1152 - 694 1152 - 695 1152 - 696 1152 - 697 1152 - 698 1152 - 699 1152 - 700 1152 - 701 1152 - 702 1152 - 703 1152 - 704 1152 - 705 1152 - 706 1152 - 707 1152 - 708 1152 - 709 1152 - 710 1152 - 711 1152 - 712 1152 - 713 1152 - 714 1152 - 715 1152 - 716 1152 - 717 1152 - 718 1152 - 719 1152 - 720 1152 - 721 1152 - 722 1152 - 723 1152 - 724 1152 - 725 1152 - 726 1152 - 727 1152 - 728 1152 - 729 1152 - 730 1152 - 731 1152 - 732 1152 - 733 1152 - 734 1152 - 735 1152 - 736 1152 - 737 1152 - 738 1152 - 739 1152 - 740 1152 - 1395 1152 - 1396 1152 - 1397 1152 - 1398 1152 - 1399 1152 - 1400 1152 - 1401 1152 - 1402 1152 - 1403 1152 - 1404 1152 - 1405 1152 - 1406 1152 - 1407 1152 - 1408 1152 - 1409 1152 - 1410 1152 - 1411 1152 - 1412 1152 - 1413 1152 - 1414 1152 - 1415 1152 - 1416 1152 - 1417 1152 - 1418 1152 - 1419 1152 - 1420 1152 - 1421 1152 - 1422 1152 - 1423 1152 - 1424 1152 - 1425 1152 - 1426 1152 - 1427 1152 - 1428 1152 - 1429 1152 - 1430 1152 - 1431 1152 - 1432 1152 - 1433 1152 - 1434 1152 - 1435 1152 - 1436 1152 - 1437 1152 - 1438 1152 - 1439 1152 - 1440 1152 - 1441 1152 - 1442 1152 - 1443 1152 - 1444 1152 - 1445 1152 - 1446 1152 - 1447 1152 - 1448 1152 - 1449 1152 - 1450 1152 - 1451 1152 - 1452 1152 - 1453 1152 - 1454 1152 - 1455 1152 - 1456 1152 - 1457 1152 - 1458 1152 - 1459 1152 - 1460 1152 - 1461 1152 - 1462 1152 - 1463 1152 - 1464 1152 - 1465 1152 - 1466 1152 - 1467 1152 - 1468 1152 - 1469 1152 - 1470 1152 - 1471 1152 - 1472 1152 - 1473 1152 - 1474 1152 - 1475 1152 - 1476 1152 - 1477 1152 - 1478 1152 - 1479 1152 - 1480 1152 - 1481 1152 - 1482 1152 - 1483 1152 - 1484 1152 - 1485 1152 - 1486 1152 - 1487 1152 - 1488 1152 - 1489 1152 - 1490 1152 - 1491 1152 - 1492 1152 - 1493 1152 - 1494 1152 - 1495 1152 - 1496 1152 - 1497 1152 - 1498 1152 - 1499 1152 - 1500 1152 - 1501 1152 - 1502 1152 - 1503 1152 - 1504 1152 - 1505 1152 - 1506 1152 - 1507 1152 - 1508 1152 - 2163 1152 - 2164 1152 - 2165 1152 - 2166 1152 - 2167 1152 - 2168 1152 - 2169 1152 - 2170 1152 - 2171 1152 - 2172 1152 - 2173 1152 - 2174 1152 - 2175 1152 - 2176 1152 - 2177 1152 - 2178 1152 - 2179 1152 - 2180 1152 - 2181 1152 - 2182 1152 - 2183 1152 - 2184 1152 - 2185 1152 - 2186 1152 - 2187 1152 - 2188 1152 - 2189 1152 - 2190 1152 - 2191 1152 - 2192 1152 - 2193 1152 - 2194 1152 - 2195 1152 - 2196 1152 - 2197 1152 - 2198 1152 - 2199 1152 - 2200 1152 - 2201 1152 - 2202 1152 - 2203 1152 - 2204 1152 - 2205 1152 - 2206 1152 - 2207 1152 - 2208 1152 - 2209 1152 - 2210 1152 - 2211 1152 - 2212 1152 - 2213 1152 - 2214 1152 - 2215 1152 - 2216 1152 - 2217 1152 - 2218 1152 - 2219 1152 - 2220 1152 - 2221 1152 - 2222 1152 - 2223 1152 - 2224 1152 - 2225 1152 - 2226 1152 - 2227 1152 - 2228 1152 - 2229 1152 - 2230 1152 - 2231 1152 - 2232 1152 - 2233 1152 - 2234 1152 - 2235 1152 - 2236 1152 - 2237 1152 - 2238 1152 - 2239 1152 - 2240 1152 - 2241 1152 - 2242 1152 - 2243 1152 - 2244 1152 - 2245 1152 - 2246 1152 - 2247 1152 - 2248 1152 - 2249 1152 - 2250 1152 - 2251 1152 - 2252 1152 - 2253 1152 - 2254 1152 - 2255 1152 - 2256 1152 - 2257 1152 - 2258 1152 - 2259 1152 - 2260 1152 - 2261 1152 - 2262 1152 - 2263 1152 - 2264 1152 - 2265 1152 - 2266 1152 - 2267 1152 - 2268 1152 - 2269 1152 - 2270 1152 - 2271 1152 - 2272 1152 - 2273 1152 - 2274 1152 - 2275 1152 - 2276 1152 - 2931 1152 - 2932 1152 - 2933 1152 - 2934 1152 - 2935 1152 - 2936 1152 - 2937 1152 - 2938 1152 - 2939 1152 - 2940 1152 - 2941 1152 - 2942 1152 - 2943 1152 - 2944 1152 - 2945 1152 - 2946 1152 - 2947 1152 - 2948 1152 - 2949 1152 - 2950 1152 - 2951 1152 - 2952 1152 - 2953 1152 - 2954 1152 - 2955 1152 - 2956 1152 - 2957 1152 - 2958 1152 - 2959 1152 - 2960 1152 - 2961 1152 - 2962 1152 - 2963 1152 - 2964 1152 - 2965 1152 - 2966 1152 - 2967 1152 - 2968 1152 - 2969 1152 - 2970 1152 - 2971 1152 - 2972 1152 - 2973 1152 - 2974 1152 - 2975 1152 - 2976 1152 - 2977 1152 - 2978 1152 - 2979 1152 - 2980 1152 - 2981 1152 - 2982 1152 - 2983 1152 - 2984 1152 - 2985 1152 - 2986 1152 - 2987 1152 - 2988 1152 - 2989 1152 - 2990 1152 - 2991 1152 - 2992 1152 - 2993 1152 - 2994 1152 - 2995 1152 - 2996 1152 - 2997 1152 - 2998 1152 - 2999 1152 - 3000 1152 - 3001 1152 - 3002 1152 - 3003 1152 - 3004 1152 - 3005 1152 - 3006 1152 - 3007 1152 - 3008 1152 - 3009 1152 - 3010 1152 - 3011 1152 - 3012 1152 - 3013 1152 - 3014 1152 - 3015 1152 - 3016 1152 - 3017 1152 - 3018 1152 - 3019 1152 - 3020 1152 - 3021 1152 - 3022 1152 - 3023 1152 - 3024 1152 - 3025 1152 - 3026 1152 - 3027 1152 - 3028 1152 - 3029 1152 - 3030 1152 - 3031 1152 - 3032 1152 - 3033 1152 - 3034 1152 - 3035 1152 - 3036 1152 - 3037 1152 - 3038 1152 - 3039 1152 - 3040 1152 - 3041 1152 - 3042 1152 - 3043 1152 - 3044 1152 - 648 1153 - 649 1153 - 650 1153 - 651 1153 - 652 1153 - 653 1153 - 654 1153 - 655 1153 - 656 1153 - 657 1153 - 658 1153 - 659 1153 - 660 1153 - 661 1153 - 662 1153 - 663 1153 - 664 1153 - 665 1153 - 666 1153 - 667 1153 - 668 1153 - 669 1153 - 670 1153 - 671 1153 - 672 1153 - 673 1153 - 674 1153 - 675 1153 - 676 1153 - 677 1153 - 678 1153 - 679 1153 - 680 1153 - 681 1153 - 682 1153 - 683 1153 - 684 1153 - 685 1153 - 686 1153 - 687 1153 - 688 1153 - 689 1153 - 690 1153 - 691 1153 - 692 1153 - 693 1153 - 694 1153 - 695 1153 - 696 1153 - 697 1153 - 698 1153 - 699 1153 - 700 1153 - 701 1153 - 702 1153 - 703 1153 - 704 1153 - 705 1153 - 706 1153 - 707 1153 - 708 1153 - 709 1153 - 710 1153 - 711 1153 - 712 1153 - 713 1153 - 714 1153 - 715 1153 - 716 1153 - 717 1153 - 718 1153 - 719 1153 - 1416 1153 - 1417 1153 - 1418 1153 - 1419 1153 - 1420 1153 - 1421 1153 - 1422 1153 - 1423 1153 - 1424 1153 - 1425 1153 - 1426 1153 - 1427 1153 - 1428 1153 - 1429 1153 - 1430 1153 - 1431 1153 - 1432 1153 - 1433 1153 - 1434 1153 - 1435 1153 - 1436 1153 - 1437 1153 - 1438 1153 - 1439 1153 - 1440 1153 - 1441 1153 - 1442 1153 - 1443 1153 - 1444 1153 - 1445 1153 - 1446 1153 - 1447 1153 - 1448 1153 - 1449 1153 - 1450 1153 - 1451 1153 - 1452 1153 - 1453 1153 - 1454 1153 - 1455 1153 - 1456 1153 - 1457 1153 - 1458 1153 - 1459 1153 - 1460 1153 - 1461 1153 - 1462 1153 - 1463 1153 - 1464 1153 - 1465 1153 - 1466 1153 - 1467 1153 - 1468 1153 - 1469 1153 - 1470 1153 - 1471 1153 - 1472 1153 - 1473 1153 - 1474 1153 - 1475 1153 - 1476 1153 - 1477 1153 - 1478 1153 - 1479 1153 - 1480 1153 - 1481 1153 - 1482 1153 - 1483 1153 - 1484 1153 - 1485 1153 - 1486 1153 - 1487 1153 - 2184 1153 - 2185 1153 - 2186 1153 - 2187 1153 - 2188 1153 - 2189 1153 - 2190 1153 - 2191 1153 - 2192 1153 - 2193 1153 - 2194 1153 - 2195 1153 - 2196 1153 - 2197 1153 - 2198 1153 - 2199 1153 - 2200 1153 - 2201 1153 - 2202 1153 - 2203 1153 - 2204 1153 - 2205 1153 - 2206 1153 - 2207 1153 - 2208 1153 - 2209 1153 - 2210 1153 - 2211 1153 - 2212 1153 - 2213 1153 - 2214 1153 - 2215 1153 - 2216 1153 - 2217 1153 - 2218 1153 - 2219 1153 - 2220 1153 - 2221 1153 - 2222 1153 - 2223 1153 - 2224 1153 - 2225 1153 - 2226 1153 - 2227 1153 - 2228 1153 - 2229 1153 - 2230 1153 - 2231 1153 - 2232 1153 - 2233 1153 - 2234 1153 - 2235 1153 - 2236 1153 - 2237 1153 - 2238 1153 - 2239 1153 - 2240 1153 - 2241 1153 - 2242 1153 - 2243 1153 - 2244 1153 - 2245 1153 - 2246 1153 - 2247 1153 - 2248 1153 - 2249 1153 - 2250 1153 - 2251 1153 - 2252 1153 - 2253 1153 - 2254 1153 - 2255 1153 - 2952 1153 - 2953 1153 - 2954 1153 - 2955 1153 - 2956 1153 - 2957 1153 - 2958 1153 - 2959 1153 - 2960 1153 - 2961 1153 - 2962 1153 - 2963 1153 - 2964 1153 - 2965 1153 - 2966 1153 - 2967 1153 - 2968 1153 - 2969 1153 - 2970 1153 - 2971 1153 - 2972 1153 - 2973 1153 - 2974 1153 - 2975 1153 - 2976 1153 - 2977 1153 - 2978 1153 - 2979 1153 - 2980 1153 - 2981 1153 - 2982 1153 - 2983 1153 - 2984 1153 - 2985 1153 - 2986 1153 - 2987 1153 - 2988 1153 - 2989 1153 - 2990 1153 - 2991 1153 - 2992 1153 - 2993 1153 - 2994 1153 - 2995 1153 - 2996 1153 - 2997 1153 - 2998 1153 - 2999 1153 - 3000 1153 - 3001 1153 - 3002 1153 - 3003 1153 - 3004 1153 - 3005 1153 - 3006 1153 - 3007 1153 - 3008 1153 - 3009 1153 - 3010 1153 - 3011 1153 - 3012 1153 - 3013 1153 - 3014 1153 - 3015 1153 - 3016 1153 - 3017 1153 - 3018 1153 - 3019 1153 - 3020 1153 - 3021 1153 - 3022 1153 - 3023 1153 diff --git a/parm/postcntrl_hafs.xml b/parm/hafs/postcntrl_hafs.xml similarity index 85% rename from parm/postcntrl_hafs.xml rename to parm/hafs/postcntrl_hafs.xml index 5aa781905a..2772c72683 100755 --- a/parm/postcntrl_hafs.xml +++ b/parm/hafs/postcntrl_hafs.xml @@ -35,6 +35,13 @@ 4.0 + + DPT_ON_ISOBARIC_SFC + DPT + 10000. 20000. 30000. 50000. 70000. 85000. + 5.0 + + SPFH_ON_ISOBARIC_SFC SPFH @@ -92,8 +99,8 @@ - CLWMR_ON_ISOBARIC_SFC - CLWMR + CLMR_ON_ISOBARIC_SFC + CLMR 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 6.0 @@ -246,6 +253,12 @@ -4.0 + + ACM_ACPCP_ON_SURFACE + ACPCP + -4.0 + + ACM_NCPCP_ON_SURFACE NCPCP @@ -253,9 +266,30 @@ - INST_PRATE_ON_SURFACE + CACM_APCP_ON_SURFACE + -4.0 + + + + CACM_ACPCP_ON_SURFACE + -4.0 + + + + CACM_NCPCP_ON_SURFACE + -4.0 + + + + AVE_PRATE_ON_SURFACE PRATE - 6.0 + 4.0 + + + + AVE_CPRAT_ON_SURFACE + CPRAT + 4.0 @@ -428,6 +462,12 @@ 4.0 + + POT_ON_TROPOPAUSE + POT + 5.0 + + UGRD_ON_TROPOPAUSE UGRD @@ -503,80 +543,108 @@ - MAX_PRATE_ON_SURFACE - PRATE - 6.0 + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 - MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - WIND + GUST_ON_SURFACE + GUST + 3.0 + + + + HAFS_GUST_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + 3.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV -4.0 + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + -4.0 + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + - - HURSAT - 32769 - ncep_nco - v2003 - local_tab_yes1 - fcst - oper - fcst - fcst - hour - nws_ncep - hafs - complex_packing_spatial_diff - 2nd_ord_sptdiff - fltng_pnt - lossless + + HURSAT + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hafs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless - + SBTAGR8_ON_TOP_OF_ATMOS 4.0 - + - + SBTAGR9_ON_TOP_OF_ATMOS 4.0 - + - + SBTAGR10_ON_TOP_OF_ATMOS 4.0 - + - + SBTAGR13_ON_TOP_OF_ATMOS 4.0 - + - + SSMS1715_ON_TOP_OF_ATMOS 4.0 - + - + SSMS1716_ON_TOP_OF_ATMOS 4.0 - + - + SSMS1717_ON_TOP_OF_ATMOS 4.0 - + - + SSMS1718_ON_TOP_OF_ATMOS 4.0 - - - + + diff --git a/parm/hafs/postcntrl_hafs_ar_nosat.xml b/parm/hafs/postcntrl_hafs_ar_nosat.xml new file mode 100755 index 0000000000..77b49e120b --- /dev/null +++ b/parm/hafs/postcntrl_hafs_ar_nosat.xml @@ -0,0 +1,762 @@ + + + + + HURPRS + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hafs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DPT_ON_ISOBARIC_SFC + DPT + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 7.0 + + + + RH_ON_ISOBARIC_SFC + RH + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + VVEL_ON_ISOBARIC_SFC + VVEL + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + ABSV_ON_ISOBARIC_SFC + ABSV + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + CLMR_ON_ISOBARIC_SFC + CLMR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + GRLE_ON_ISOBARIC_SFC + GRLE + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + REFD_ON_ISOBARIC_SFC + REFD + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + PRES_ON_MEAN_SEA_LVL + PRMSL + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 7.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + SFEXC_ON_SURFACE + SFEXC + NCEP + 4.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 6.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. + 4.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_GRAUPEL_ON_SURFACE + 6.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + ACM_FRAIN_ON_SURFACE + 6.0 + + + + BUCKET_FRAIN_ON_SURFACE + 6.0 + + + + BUCKET_SNOWFALL_ON_SURFACE + 6.0 + + + + ACM_ACPCP_ON_SURFACE + ACPCP + -4.0 + + + + ACM_NCPCP_ON_SURFACE + NCPCP + -4.0 + + + + CACM_APCP_ON_SURFACE + -4.0 + + + + CACM_ACPCP_ON_SURFACE + -4.0 + + + + CACM_NCPCP_ON_SURFACE + -4.0 + + + + AVE_PRATE_ON_SURFACE + PRATE + 4.0 + + + + AVE_CPRAT_ON_SURFACE + CPRAT + 4.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 4.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 4.0 + + + + INST_USWRF_ON_SURFACE + USWRF + NCEP + 6.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + NCEP + 6.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + NCEP + 6.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + NCEP + 4.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + NCEP + 6.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + NCEP + 4.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + NCEP + 6.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + NCEP + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + NCEP + 4.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + NCEP + 6.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + NCEP + 4.0 + + + + SFCR_ON_SURFACE + SFCR + 6.0 + + + + FRICV_ON_SURFACE + FRICV + NCEP + 4.0 + + + + UFLX_ON_SURFACE + UFLX + 4.0 + + + + VFLX_ON_SURFACE + VFLX + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + WTMP_ON_SURFACE + WTMP + 4.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 4.0 + + + + POT_ON_TROPOPAUSE + POT + 5.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + NCEP + 3.0 + + + + TMP_ON_CLOUD_TOP + TMP + 4.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + NCEP + 4.0 + + + + HPBL_ON_SURFACE + HPBL + NCEP + 6.0 + + + + TCOLW_ON_ENTIRE_ATMOS + TCOLW + NCEP + 5.0 + + + + TCOLI_ON_ENTIRE_ATMOS + TCOLI + NCEP + 5.0 + + + + TCOLR_ON_ENTIRE_ATMOS + TCOLR + NCEP + 5.0 + + + + TCOLS_ON_ENTIRE_ATMOS + TCOLS + NCEP + 5.0 + + + + TCOLC_ON_ENTIRE_ATMOS + TCOLC + NCEP + 5.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + -4.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + -4.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + ACM_SNOWFALL_ON_SURFACE + 6.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 + + + + ACM_BGRUN_ON_SURFACE + BGRUN + 6.0 + + + + ACM_WATR_ON_SURFACE + WATR + 6.0 + + + + + + AVE_CRAIN_ON_SURFACE + NCEP + 1.0 + + + + AVE_CSNOW_ON_SURFACE + NCEP + 1.0 + + + + AVE_CICEP_ON_SURFACE + NCEP + 1.0 + + + + AVE_CFRZR_ON_SURFACE + NCEP + 1.0 + + + + NCCD_ON_HYBRID_LVL + NCONCD + + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. + 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. + 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. + 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. + 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. + 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. + 127. + + 3.0 + + + + NCIP_ON_HYBRID_LVL + NCCICE + + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. + 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. + 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. + 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. + 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. + 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. + 127. + + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + SPNCR + + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. + 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. + 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. + 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. + 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. + 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. + 127. + + 3.0 + + + + NCCD_ON_ISOBARIC_SFC + NCONCD + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + NCIP_ON_ISOBARIC_SFC + NCCICE + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + NCRAIN_ON_ISOBARIC_SFC + SPNCR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + + diff --git a/parm/hafs/postcntrl_hafs_ar_nosat_l65.xml b/parm/hafs/postcntrl_hafs_ar_nosat_l65.xml new file mode 100644 index 0000000000..dd35f1cf03 --- /dev/null +++ b/parm/hafs/postcntrl_hafs_ar_nosat_l65.xml @@ -0,0 +1,748 @@ + + + + + HURPRS + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hafs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DPT_ON_ISOBARIC_SFC + DPT + 10000. 20000. 30000. 50000. 70000. 85000. + 5.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 7.0 + + + + RH_ON_ISOBARIC_SFC + RH + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + VVEL_ON_ISOBARIC_SFC + VVEL + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + ABSV_ON_ISOBARIC_SFC + ABSV + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + CLMR_ON_ISOBARIC_SFC + CLMR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + GRLE_ON_ISOBARIC_SFC + GRLE + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + REFD_ON_ISOBARIC_SFC + REFD + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + PRES_ON_MEAN_SEA_LVL + PRMSL + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 7.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + SFEXC_ON_SURFACE + SFEXC + NCEP + 4.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 6.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. + 4.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_GRAUPEL_ON_SURFACE + 6.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + ACM_FRAIN_ON_SURFACE + 6.0 + + + + BUCKET_FRAIN_ON_SURFACE + 6.0 + + + + BUCKET_SNOWFALL_ON_SURFACE + 6.0 + + + + ACM_ACPCP_ON_SURFACE + ACPCP + -4.0 + + + + ACM_NCPCP_ON_SURFACE + NCPCP + -4.0 + + + + CACM_APCP_ON_SURFACE + -4.0 + + + + CACM_ACPCP_ON_SURFACE + -4.0 + + + + CACM_NCPCP_ON_SURFACE + -4.0 + + + + AVE_PRATE_ON_SURFACE + PRATE + 4.0 + + + + AVE_CPRAT_ON_SURFACE + CPRAT + 4.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 4.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 4.0 + + + + INST_USWRF_ON_SURFACE + USWRF + NCEP + 6.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + NCEP + 6.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + NCEP + 6.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + NCEP + 4.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + NCEP + 6.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + NCEP + 4.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + NCEP + 6.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + NCEP + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + NCEP + 4.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + NCEP + 6.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + NCEP + 4.0 + + + + SFCR_ON_SURFACE + SFCR + 6.0 + + + + FRICV_ON_SURFACE + FRICV + NCEP + 4.0 + + + + UFLX_ON_SURFACE + UFLX + 4.0 + + + + VFLX_ON_SURFACE + VFLX + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + WTMP_ON_SURFACE + WTMP + 4.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 4.0 + + + + POT_ON_TROPOPAUSE + POT + 5.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + NCEP + 3.0 + + + + TMP_ON_CLOUD_TOP + TMP + 4.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + NCEP + 4.0 + + + + HPBL_ON_SURFACE + HPBL + NCEP + 6.0 + + + + TCOLW_ON_ENTIRE_ATMOS + TCOLW + NCEP + 5.0 + + + + TCOLI_ON_ENTIRE_ATMOS + TCOLI + NCEP + 5.0 + + + + TCOLR_ON_ENTIRE_ATMOS + TCOLR + NCEP + 5.0 + + + + TCOLS_ON_ENTIRE_ATMOS + TCOLS + NCEP + 5.0 + + + + TCOLC_ON_ENTIRE_ATMOS + TCOLC + NCEP + 5.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + -4.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + -4.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + ACM_SNOWFALL_ON_SURFACE + 6.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 + + + + ACM_BGRUN_ON_SURFACE + BGRUN + 6.0 + + + + ACM_WATR_ON_SURFACE + WATR + 6.0 + + + + + + AVE_CRAIN_ON_SURFACE + NCEP + 1.0 + + + + AVE_CSNOW_ON_SURFACE + NCEP + 1.0 + + + + AVE_CICEP_ON_SURFACE + NCEP + 1.0 + + + + AVE_CFRZR_ON_SURFACE + NCEP + 1.0 + + + + NCCD_ON_HYBRID_LVL + NCONCD + + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. + 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. + 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + + 3.0 + + + + NCIP_ON_HYBRID_LVL + NCCICE + + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. + 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. + 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + SPNCR + + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. + 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. + 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + + 3.0 + + + + NCCD_ON_ISOBARIC_SFC + NCONCD + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + NCIP_ON_ISOBARIC_SFC + NCCICE + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + NCRAIN_ON_ISOBARIC_SFC + SPNCR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + + diff --git a/parm/hafs/postcntrl_hafs_nosat.xml b/parm/hafs/postcntrl_hafs_nosat.xml new file mode 100755 index 0000000000..b98bddfa4b --- /dev/null +++ b/parm/hafs/postcntrl_hafs_nosat.xml @@ -0,0 +1,590 @@ + + + + + HURPRS + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hafs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DPT_ON_ISOBARIC_SFC + DPT + 10000. 20000. 30000. 50000. 70000. 85000. + 5.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 7.0 + + + + RH_ON_ISOBARIC_SFC + RH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + VVEL_ON_ISOBARIC_SFC + VVEL + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + ABSV_ON_ISOBARIC_SFC + ABSV + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + CLMR_ON_ISOBARIC_SFC + CLMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + GRLE_ON_ISOBARIC_SFC + GRLE + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + REFD_ON_ISOBARIC_SFC + REFD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + PRES_ON_MEAN_SEA_LVL + PRMSL + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 7.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + SFEXC_ON_SURFACE + SFEXC + NCEP + 4.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 6.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. + 4.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_ACPCP_ON_SURFACE + ACPCP + -4.0 + + + + ACM_NCPCP_ON_SURFACE + NCPCP + -4.0 + + + + CACM_APCP_ON_SURFACE + -4.0 + + + + CACM_ACPCP_ON_SURFACE + -4.0 + + + + CACM_NCPCP_ON_SURFACE + -4.0 + + + + AVE_PRATE_ON_SURFACE + PRATE + 4.0 + + + + AVE_CPRAT_ON_SURFACE + CPRAT + 4.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 4.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 4.0 + + + + INST_USWRF_ON_SURFACE + USWRF + NCEP + 6.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + NCEP + 6.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + NCEP + 6.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + NCEP + 4.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + NCEP + 6.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + NCEP + 4.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + NCEP + 6.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + NCEP + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + NCEP + 4.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + NCEP + 6.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + NCEP + 4.0 + + + + SFCR_ON_SURFACE + SFCR + 6.0 + + + + FRICV_ON_SURFACE + FRICV + NCEP + 4.0 + + + + UFLX_ON_SURFACE + UFLX + 4.0 + + + + VFLX_ON_SURFACE + VFLX + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + WTMP_ON_SURFACE + WTMP + 4.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 4.0 + + + + POT_ON_TROPOPAUSE + POT + 5.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + NCEP + 3.0 + + + + TMP_ON_CLOUD_TOP + TMP + 4.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + NCEP + 4.0 + + + + HPBL_ON_SURFACE + HPBL + NCEP + 6.0 + + + + TCOLW_ON_ENTIRE_ATMOS + TCOLW + NCEP + 5.0 + + + + TCOLI_ON_ENTIRE_ATMOS + TCOLI + NCEP + 5.0 + + + + TCOLR_ON_ENTIRE_ATMOS + TCOLR + NCEP + 5.0 + + + + TCOLS_ON_ENTIRE_ATMOS + TCOLS + NCEP + 5.0 + + + + TCOLC_ON_ENTIRE_ATMOS + TCOLC + NCEP + 5.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + HAFS_GUST_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + 3.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + -4.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + -4.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + + diff --git a/parm/hafs/postcntrl_hafs_sat.xml b/parm/hafs/postcntrl_hafs_sat.xml new file mode 100755 index 0000000000..d19d414c0d --- /dev/null +++ b/parm/hafs/postcntrl_hafs_sat.xml @@ -0,0 +1,65 @@ + + + + + HURSAT + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hafs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + SBTAGR8_ON_TOP_OF_ATMOS + 4.0 + + + + SBTAGR9_ON_TOP_OF_ATMOS + 4.0 + + + + SBTAGR10_ON_TOP_OF_ATMOS + 4.0 + + + + SBTAGR13_ON_TOP_OF_ATMOS + 4.0 + + + + SSMS1715_ON_TOP_OF_ATMOS + 4.0 + + + + SSMS1716_ON_TOP_OF_ATMOS + 4.0 + + + + SSMS1717_ON_TOP_OF_ATMOS + 4.0 + + + + SSMS1718_ON_TOP_OF_ATMOS + 4.0 + + + + + + diff --git a/parm/postxconfig-NT-hafs.txt b/parm/hafs/postxconfig-NT-hafs.txt similarity index 79% rename from parm/postxconfig-NT-hafs.txt rename to parm/hafs/postxconfig-NT-hafs.txt index 6ecea4ebd2..4a0cc5588f 100644 --- a/parm/postxconfig-NT-hafs.txt +++ b/parm/hafs/postxconfig-NT-hafs.txt @@ -1,6 +1,6 @@ 2 8 -72 +85 HURPRS 32769 ncep_nco @@ -37,6 +37,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -46,6 +47,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -74,6 +79,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -83,6 +89,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -91,6 +101,48 @@ isobaric_sfc ? ? ? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +6 +10000. 20000. 30000. 50000. 70000. 85000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? 16 SPFH_ON_ISOBARIC_SFC ? @@ -111,6 +163,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -120,6 +173,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -148,6 +205,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -157,6 +215,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -185,6 +247,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -194,6 +257,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -222,6 +289,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -231,6 +299,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -259,6 +331,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -268,6 +341,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -296,6 +373,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -305,6 +383,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -333,6 +415,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -342,6 +425,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -350,6 +437,48 @@ isobaric_sfc ? ? ? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? 166 ICMR_ON_ISOBARIC_SFC ? @@ -370,6 +499,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -379,6 +509,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -407,6 +541,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -416,6 +551,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -444,6 +583,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -453,6 +593,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -481,6 +625,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -490,6 +635,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -518,6 +667,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -527,6 +677,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -555,6 +709,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -564,6 +719,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -592,6 +751,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -601,6 +761,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -629,6 +793,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -638,6 +803,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -666,6 +835,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -675,6 +845,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -703,6 +877,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -712,6 +887,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -740,6 +919,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -749,6 +929,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -777,6 +961,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -786,6 +971,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -814,6 +1003,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -823,6 +1013,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -851,6 +1045,7 @@ surface ? ? ? +? 0 0.0 0 @@ -860,6 +1055,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -888,6 +1087,7 @@ surface ? ? ? +? 0 0.0 0 @@ -897,6 +1097,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -925,6 +1129,7 @@ surface ? ? ? +? 0 0.0 0 @@ -934,6 +1139,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -962,6 +1171,7 @@ surface ? ? ? +? 0 0.0 0 @@ -971,6 +1181,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -999,6 +1213,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1008,6 +1223,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1036,6 +1255,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1045,6 +1265,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1073,6 +1297,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1082,6 +1307,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1110,6 +1339,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1119,6 +1349,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1147,6 +1381,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1156,6 +1391,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -1164,12 +1403,12 @@ surface ? ? ? -34 -ACM_NCPCP_ON_SURFACE +33 +ACM_ACPCP_ON_SURFACE ? 1 tmpl4_8 -NCPCP +ACPCP ? ACM surface @@ -1184,6 +1423,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1193,6 +1433,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -1201,14 +1445,14 @@ surface ? ? ? -167 -INST_PRATE_ON_SURFACE +34 +ACM_NCPCP_ON_SURFACE ? 1 -tmpl4_0 -PRATE -? +tmpl4_8 +NCPCP ? +ACM surface 0 ? @@ -1221,6 +1465,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1230,15 +1475,229 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +-4.0 0 0 0 ? ? ? -161 +417 +CACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +418 +CACM_ACPCP_ON_SURFACE +? +1 +tmpl4_8 +ACPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +419 +CACM_NCPCP_ON_SURFACE +? +1 +tmpl4_8 +NCPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +271 +AVE_PRATE_ON_SURFACE +? +1 +tmpl4_8 +PRATE +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +272 +AVE_CPRAT_ON_SURFACE +? +1 +tmpl4_8 +CPRAT +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +161 INST_TCDC_ON_ENTIRE_ATMOS ? 1 @@ -1258,6 +1717,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1267,6 +1727,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1295,6 +1759,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1304,6 +1769,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1332,6 +1801,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1341,6 +1811,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1369,6 +1843,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1378,6 +1853,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1406,6 +1885,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1415,6 +1895,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1443,6 +1927,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1452,6 +1937,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1480,6 +1969,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1489,6 +1979,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1517,6 +2011,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1526,6 +2021,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1554,6 +2053,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -1563,6 +2063,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1575,11 +2079,263 @@ top_of_atmos AVE_ULWRF_ON_TOP_OF_ATMOS ? 1 -tmpl4_8 -ULWRF -NCEP -AVE -top_of_atmos +tmpl4_8 +ULWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +NCEP +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +133 +UFLX_ON_SURFACE +? +1 +tmpl4_0 +UFLX +? +? +surface 0 ? 0 @@ -1591,6 +2347,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -1600,6 +2357,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1608,15 +2369,15 @@ top_of_atmos ? ? ? -274 -INST_ULWRF_ON_TOP_OF_ATMOS +134 +VFLX_ON_SURFACE ? 1 tmpl4_0 -ULWRF -NCEP +VFLX ? -top_of_atmos +? +surface 0 ? 0 @@ -1628,6 +2389,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -1637,6 +2399,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1645,13 +2411,13 @@ top_of_atmos ? ? ? -156 -INST_DSWRF_ON_SURFACE +154 +INST_SHTFL_ON_SURFACE ? 1 tmpl4_0 -DSWRF -NCEP +SHTFL +? ? surface 0 @@ -1665,6 +2431,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1674,21 +2441,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -157 -INST_DLWRF_ON_SURFACE +155 +INST_LHTFL_ON_SURFACE ? 1 tmpl4_0 -DLWRF -NCEP +LHTFL +? ? surface 0 @@ -1702,6 +2473,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1711,6 +2483,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1719,13 +2495,13 @@ surface ? ? ? -44 -SFCR_ON_SURFACE +48 +NLAT_ON_SURFACE ? 1 tmpl4_0 -SFCR -? +NLAT +NCEP ? surface 0 @@ -1739,6 +2515,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1748,20 +2525,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -45 -FRICV_ON_SURFACE +49 +ELON_ON_SURFACE ? 1 tmpl4_0 -FRICV +ELON NCEP ? surface @@ -1776,6 +2557,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1785,6 +2567,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1793,12 +2579,12 @@ surface ? ? ? -133 -UFLX_ON_SURFACE +50 +LAND_ON_SURFACE ? 1 tmpl4_0 -UFLX +LAND ? ? surface @@ -1813,6 +2599,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1822,20 +2609,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +1.0 0 0 0 ? ? ? -134 -VFLX_ON_SURFACE +151 +WTMP_ON_SURFACE ? 1 tmpl4_0 -VFLX +WTMP ? ? surface @@ -1850,6 +2641,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1859,6 +2651,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1867,15 +2663,15 @@ surface ? ? ? -154 -INST_SHTFL_ON_SURFACE +54 +PRES_ON_TROPOPAUSE ? 1 tmpl4_0 -SHTFL +PRES ? ? -surface +tropopause 0 ? 0 @@ -1887,6 +2683,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1896,23 +2693,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -155 -INST_LHTFL_ON_SURFACE +177 +HGT_ON_TROPOPAUSE ? 1 tmpl4_0 -LHTFL +HGT ? ? -surface +tropopause 0 ? 0 @@ -1924,6 +2725,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1933,23 +2735,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -48 -NLAT_ON_SURFACE +55 +TMP_ON_TROPOPAUSE ? 1 tmpl4_0 -NLAT -NCEP +TMP ? -surface +? +tropopause 0 ? 0 @@ -1961,6 +2767,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1970,6 +2777,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1978,15 +2789,15 @@ surface ? ? ? -49 -ELON_ON_SURFACE +108 +POT_ON_TROPOPAUSE ? 1 tmpl4_0 -ELON -NCEP +POT ? -surface +? +tropopause 0 ? 0 @@ -1998,6 +2809,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2007,23 +2819,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -50 -LAND_ON_SURFACE +56 +UGRD_ON_TROPOPAUSE ? 1 tmpl4_0 -LAND +UGRD ? ? -surface +tropopause 0 ? 0 @@ -2035,6 +2851,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2044,23 +2861,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +4.0 0 0 0 ? ? ? -151 -WTMP_ON_SURFACE +57 +VGRD_ON_TROPOPAUSE ? 1 tmpl4_0 -WTMP +VGRD ? ? -surface +tropopause 0 ? 0 @@ -2072,6 +2893,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2081,6 +2903,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2089,13 +2915,13 @@ surface ? ? ? -54 -PRES_ON_TROPOPAUSE +58 +VWSH_ON_TROPOPAUSE ? 1 tmpl4_0 -PRES -? +VWSH +NCEP ? tropopause 0 @@ -2109,6 +2935,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2118,23 +2945,27 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -177 -HGT_ON_TROPOPAUSE +168 +TMP_ON_CLOUD_TOP ? 1 tmpl4_0 -HGT +TMP ? ? -tropopause +cloud_top 0 ? 0 @@ -2146,6 +2977,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2155,23 +2987,27 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -55 -TMP_ON_TROPOPAUSE +252 +REFC_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -TMP -? +REFC +NCEP ? -tropopause +entire_atmos_single_lyr 0 ? 0 @@ -2183,6 +3019,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2192,6 +3029,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2200,15 +3041,15 @@ tropopause ? ? ? -56 -UGRD_ON_TROPOPAUSE +221 +HPBL_ON_SURFACE ? 1 tmpl4_0 -UGRD -? +HPBL +NCEP ? -tropopause +surface 0 ? 0 @@ -2220,32 +3061,37 @@ tropopause ? ? ? +? +0 +0.0 +0 +0.0 +? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +6.0 0 0 0 ? ? ? -57 -VGRD_ON_TROPOPAUSE +200 +TCOLW_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -VGRD -? +TCOLW +NCEP ? -tropopause +entire_atmos_single_lyr 0 ? 0 @@ -2257,6 +3103,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2266,23 +3113,27 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -58 -VWSH_ON_TROPOPAUSE +201 +TCOLI_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -VWSH +TCOLI NCEP ? -tropopause +entire_atmos_single_lyr 0 ? 0 @@ -2294,6 +3145,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2303,23 +3155,27 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -168 -TMP_ON_CLOUD_TOP +202 +TCOLR_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -TMP -? +TCOLR +NCEP ? -cloud_top +entire_atmos_single_lyr 0 ? 0 @@ -2331,6 +3187,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -2340,20 +3197,24 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -252 -REFC_ON_ENTIRE_ATMOS +203 +TCOLS_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -REFC +TCOLS NCEP ? entire_atmos_single_lyr @@ -2368,6 +3229,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -2377,23 +3239,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -221 -HPBL_ON_SURFACE +204 +TCOLC_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -HPBL +TCOLC NCEP ? -surface +entire_atmos_single_lyr 0 ? 0 @@ -2405,6 +3271,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2414,27 +3281,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +5.0 0 0 0 ? ? ? -200 -TCOLW_ON_ENTIRE_ATMOS -? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground 1 -tmpl4_0 -TCOLW -NCEP -? -entire_atmos_single_lyr -0 +tmpl4_8 +WIND ? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -2442,6 +3313,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -2451,23 +3323,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +-4.0 0 0 0 ? ? ? -201 -TCOLI_ON_ENTIRE_ATMOS +245 +GUST_ON_SURFACE ? 1 tmpl4_0 -TCOLI -NCEP +GUST ? -entire_atmos_single_lyr +? +surface 0 ? 0 @@ -2479,6 +3355,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -2488,27 +3365,31 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +3.0 0 0 0 ? ? ? -202 -TCOLR_ON_ENTIRE_ATMOS +1026 +HAFS_GUST_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 tmpl4_0 -TCOLR -NCEP +GUST ? -entire_atmos_single_lyr -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -2516,6 +3397,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -2525,31 +3407,36 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +3.0 0 0 0 ? ? ? -203 -TCOLS_ON_ENTIRE_ATMOS -? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa 1 -tmpl4_0 -TCOLS +tmpl4_8 +MAXUVV NCEP -? -entire_atmos_single_lyr -0 -? +MAX +isobaric_sfc 0 ? -? +1 +10000. +isobaric_sfc 0 ? -0 +1 +100000. ? ? ? @@ -2562,31 +3449,36 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +-4.0 0 0 0 ? ? ? -204 -TCOLC_ON_ENTIRE_ATMOS -? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa 1 -tmpl4_0 -TCOLC +tmpl4_8 +MAXDVV NCEP -? -entire_atmos_single_lyr -0 -? +MAX +isobaric_sfc 0 ? -? +1 +10000. +isobaric_sfc 0 ? -0 +1 +100000. ? ? ? @@ -2599,31 +3491,36 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +-4.0 0 0 0 ? ? ? -508 -MAX_PRATE_ON_SURFACE -Maximum Precipitation Rate on surface +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? 1 tmpl4_8 -PRATE -? +MXUPHL +NCEP MAX -surface -0 -? +spec_hgt_lvl_above_grnd 0 ? -? +1 +3000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +0000. ? ? ? @@ -2636,31 +3533,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +-3.0 0 0 0 ? ? ? -422 -MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -maximum wind speed on 10 meter Above Ground +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground 1 tmpl4_8 -WIND -? +MXUPHL +NCEP MAX spec_hgt_lvl_above_grnd 0 ? 1 -10. -? +5000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +2000. ? ? ? @@ -2673,8 +3575,12 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +-3.0 0 0 0 @@ -2717,6 +3623,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2726,6 +3633,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2754,6 +3665,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2763,6 +3675,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2791,6 +3707,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2800,6 +3717,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2828,6 +3749,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2837,6 +3759,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2865,6 +3791,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2874,6 +3801,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2902,6 +3833,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2911,6 +3843,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2939,6 +3875,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2948,6 +3885,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2976,6 +3917,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2985,6 +3927,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 diff --git a/parm/hafs/postxconfig-NT-hafs_ar_nosat.txt b/parm/hafs/postxconfig-NT-hafs_ar_nosat.txt new file mode 100644 index 0000000000..55e6fd6ea7 --- /dev/null +++ b/parm/hafs/postxconfig-NT-hafs_ar_nosat.txt @@ -0,0 +1,4554 @@ +1 +108 +HURPRS +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hafs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +20 +VVEL_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VVEL +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +251 +REFD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +REFD +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +105 +PRES_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +PRMSL +? +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +746 +ACM_GRAUPEL_ON_SURFACE +? +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +782 +ACM_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +1003 +BUCKET_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +1005 +BUCKET_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +33 +ACM_ACPCP_ON_SURFACE +? +1 +tmpl4_8 +ACPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +34 +ACM_NCPCP_ON_SURFACE +? +1 +tmpl4_8 +NCPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +417 +CACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +418 +CACM_ACPCP_ON_SURFACE +? +1 +tmpl4_8 +ACPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +419 +CACM_NCPCP_ON_SURFACE +? +1 +tmpl4_8 +NCPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +271 +AVE_PRATE_ON_SURFACE +? +1 +tmpl4_8 +PRATE +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +272 +AVE_CPRAT_ON_SURFACE +? +1 +tmpl4_8 +CPRAT +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +NCEP +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +133 +UFLX_ON_SURFACE +? +1 +tmpl4_0 +UFLX +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +134 +VFLX_ON_SURFACE +? +1 +tmpl4_0 +VFLX +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +108 +POT_ON_TROPOPAUSE +? +1 +tmpl4_0 +POT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +NCEP +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +200 +TCOLW_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLW +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +201 +TCOLI_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLI +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +202 +TCOLR_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLR +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +203 +TCOLS_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLS +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +204 +TCOLC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLC +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +123 +ACM_BGRUN_ON_SURFACE +? +1 +tmpl4_8 +BGRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +343 +ACM_WATR_ON_SURFACE +? +1 +tmpl4_8 +WATR +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +317 +AVE_CRAIN_ON_SURFACE +? +1 +tmpl4_8 +CRAIN +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +555 +AVE_CSNOW_ON_SURFACE +average Categorical snow on surface +1 +tmpl4_8 +CSNOW +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +556 +AVE_CICEP_ON_SURFACE +average Categorical ice pellets on surface +1 +tmpl4_8 +CICEP +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +557 +AVE_CFRZR_ON_SURFACE +average Categorical freezing rain on surface +1 +tmpl4_8 +CFRZR +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +127 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +127 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +127 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +1018 +NCCD_ON_ISOBARIC_SFC +Number concentration for cloud water drops on isobaric surfaces +1 +tmpl4_0 +NCONCD +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +1019 +NCIP_ON_ISOBARIC_SFC +Number concentration for ice particles on isobaric surfaces +1 +tmpl4_0 +NCCICE +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +1020 +NCRAIN_ON_ISOBARIC_SFC +Number concentration for rain on isobaric surfaces +1 +tmpl4_0 +SPNCR +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? diff --git a/parm/postxconfig-NT-GFS-F00.txt b/parm/hafs/postxconfig-NT-hafs_ar_nosat_l65.txt similarity index 60% rename from parm/postxconfig-NT-GFS-F00.txt rename to parm/hafs/postxconfig-NT-hafs_ar_nosat_l65.txt index 68bfb92ccc..2e2e0ee286 100644 --- a/parm/postxconfig-NT-GFS-F00.txt +++ b/parm/hafs/postxconfig-NT-hafs_ar_nosat_l65.txt @@ -1,7 +1,7 @@ 1 -149 -GFSPRS -0 +108 +HURPRS +32769 ncep_nco v2003 local_tab_yes1 @@ -11,7 +11,7 @@ fcst fcst hour nws_ncep -anal_gfs +hafs complex_packing_spatial_diff 2nd_ord_sptdiff fltng_pnt @@ -36,6 +36,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -45,6 +46,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -73,6 +78,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -82,6 +88,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -90,19 +100,19 @@ isobaric_sfc ? ? ? -16 -SPFH_ON_ISOBARIC_SFC +15 +DPT_ON_ISOBARIC_SFC ? 1 tmpl4_0 -SPFH +DPT ? ? isobaric_sfc 0 ? -57 -1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +6 +10000. 20000. 30000. 50000. 70000. 85000. ? 0 ? @@ -110,6 +120,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -119,20 +130,24 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -7.0 +5.0 0 0 0 ? ? ? -17 -RH_ON_ISOBARIC_SFC +16 +SPFH_ON_ISOBARIC_SFC ? 1 tmpl4_0 -RH +SPFH ? ? isobaric_sfc @@ -147,6 +162,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -156,20 +172,24 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +7.0 0 0 0 ? ? ? -18 -UGRD_ON_ISOBARIC_SFC +17 +RH_ON_ISOBARIC_SFC ? 1 tmpl4_0 -UGRD +RH ? ? isobaric_sfc @@ -184,6 +204,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -193,20 +214,24 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -19 -VGRD_ON_ISOBARIC_SFC +18 +UGRD_ON_ISOBARIC_SFC ? 1 tmpl4_0 -VGRD +UGRD ? ? isobaric_sfc @@ -221,6 +246,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -230,6 +256,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -238,12 +268,12 @@ isobaric_sfc ? ? ? -284 -DZDT_ON_ISOBARIC_SFC +19 +VGRD_ON_ISOBARIC_SFC ? 1 tmpl4_0 -DZDT +VGRD ? ? isobaric_sfc @@ -258,6 +288,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -267,20 +298,24 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -20 -VVEL_ON_ISOBARIC_SFC +284 +DZDT_ON_ISOBARIC_SFC ? 1 tmpl4_0 -VVEL +DZDT ? ? isobaric_sfc @@ -295,6 +330,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -304,6 +340,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -312,12 +352,12 @@ isobaric_sfc ? ? ? -21 -ABSV_ON_ISOBARIC_SFC +20 +VVEL_ON_ISOBARIC_SFC ? 1 tmpl4_0 -ABSV +VVEL ? ? isobaric_sfc @@ -332,6 +372,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -341,21 +382,25 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -268 -O3MR_ON_ISOBARIC_SFC +21 +ABSV_ON_ISOBARIC_SFC ? 1 tmpl4_0 -O3MR -NCEP +ABSV +? ? isobaric_sfc 0 @@ -369,6 +414,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -378,8 +424,12 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 @@ -397,8 +447,8 @@ CLMR isobaric_sfc 0 ? -39 -5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -406,6 +456,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -415,6 +466,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -434,8 +489,8 @@ ICMR isobaric_sfc 0 ? -39 -5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -443,6 +498,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -452,6 +508,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -471,8 +531,8 @@ RWMR isobaric_sfc 0 ? -39 -5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -480,6 +540,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -489,6 +550,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -508,8 +573,8 @@ SNMR isobaric_sfc 0 ? -39 -5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -517,6 +582,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -526,6 +592,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -545,8 +615,8 @@ GRLE isobaric_sfc 0 ? -39 -5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -554,6 +624,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -563,6 +634,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -571,19 +646,19 @@ isobaric_sfc ? ? ? -252 -REFC_ON_ENTIRE_ATMOS +251 +REFD_ON_ISOBARIC_SFC ? 1 tmpl4_0 -REFC -NCEP +REFD ? -entire_atmos_single_lyr -0 ? +isobaric_sfc 0 ? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -591,6 +666,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -600,6 +676,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -628,6 +708,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -637,6 +718,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -665,6 +750,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -674,6 +760,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -702,6 +792,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -711,6 +802,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -739,6 +834,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -748,6 +844,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -776,6 +876,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -785,6 +886,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -813,6 +918,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -822,6 +928,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -850,6 +960,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -859,6 +970,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -887,6 +1002,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -896,6 +1012,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -924,6 +1044,7 @@ surface ? ? ? +? 0 0.0 0 @@ -933,6 +1054,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -961,6 +1086,7 @@ surface ? ? ? +? 0 0.0 0 @@ -970,6 +1096,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -998,6 +1128,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1007,6 +1138,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1015,24 +1150,25 @@ surface ? ? ? -116 -TSOIL_ON_DEPTH_BEL_LAND_SFC +169 +SFEXC_ON_SURFACE ? 1 tmpl4_0 -TSOIL +SFEXC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 ? ? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. ? ? 0 @@ -1044,6 +1180,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1052,61 +1192,25 @@ depth_bel_land_sfc ? ? ? -117 -SOILW_ON_DEPTH_BEL_LAND_SFC +32 +CAPE_ON_SURFACE ? 1 tmpl4_0 -SOILW -NCEP -? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. +CAPE ? ? +surface 0 -0.0 -0 -0.0 ? 0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 ? ? +0 ? -225 -SOILL_ON_DEPTH_BEL_LAND_SFC +0 ? -1 -tmpl4_0 -SOILL -NCEP ? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. ? ? 0 @@ -1118,21 +1222,25 @@ depth_bel_land_sfc 0.0 0 0.0 -1 -3.0 +0 +0.0 +0 +0.0 +1 +4.0 0 0 0 ? ? ? -118 -CNWAT_ON_SURFACE +107 +CIN_ON_SURFACE ? 1 tmpl4_0 -CNWAT -NCEP +CIN +? ? surface 0 @@ -1146,6 +1254,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1155,23 +1264,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -119 -WEASD_ON_SURFACE +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 tmpl4_0 -WEASD +PWAT ? ? -surface +entire_atmos_single_lyr 0 ? 0 @@ -1183,6 +1296,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1192,6 +1306,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1200,26 +1318,27 @@ surface ? ? ? -242 -PEVPR_ON_SURFACE +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 tmpl4_0 -PEVPR -NCEP +HLCY ? -surface -0 ? +spec_hgt_lvl_above_grnd 0 ? -? +1 +3000. +spec_hgt_lvl_above_grnd 0 ? 0 ? ? ? +? 0 0.0 0 @@ -1229,22 +1348,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -349 -ICETK_ON_SURFACE +87 +ACM_APCP_ON_SURFACE ? 1 -tmpl4_0 -ICETK -? +tmpl4_8 +APCP ? +ACM surface 0 ? @@ -1257,6 +1380,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1266,22 +1390,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-4.0 0 0 0 ? ? ? -224 -SNOD_ON_SURFACE +746 +ACM_GRAUPEL_ON_SURFACE ? 1 -tmpl4_0 -SNOD -? -? +tmpl4_8 +FROZR +NCEP +ACM surface 0 ? @@ -1294,6 +1422,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1303,6 +1432,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1310,15 +1443,15 @@ surface 0 ? ? -yes -236 -WILT_ON_SURFACE ? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface 1 -tmpl4_0 -WILT +tmpl4_8 +FROZR NCEP -? +ACM surface 0 ? @@ -1331,6 +1464,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1340,22 +1474,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? -yes -397 -FLDCP_ON_SURFACE +? +782 +ACM_FRAIN_ON_SURFACE ? 1 -tmpl4_0 -FLDCP +tmpl4_8 +FRZR NCEP -? +ACM surface 0 ? @@ -1368,6 +1506,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1377,22 +1516,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? -yes -572 -GFS_LFTX_ON_SURFACE +? +1003 +BUCKET_FRAIN_ON_SURFACE ? 1 -tmpl4_0 -LFTX +tmpl4_8 +FRZR NCEP -? +ACM surface 0 ? @@ -1405,6 +1548,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1414,22 +1558,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -573 -GFS_4LFTX_ON_SURFACE +1005 +BUCKET_SNOWFALL_ON_SURFACE ? 1 -tmpl4_0 -4LFTX -NCEP +tmpl4_8 +TSNOWP ? +ACM surface 0 ? @@ -1442,6 +1590,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1451,32 +1600,37 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -75 -PLI_ON_SPEC_PRES_ABOVE_GRND +33 +ACM_ACPCP_ON_SURFACE ? 1 -tmpl4_0 -PLI +tmpl4_8 +ACPCP +? +ACM +surface +0 +? +0 ? ? -spec_pres_above_grnd 0 ? -1 -3000. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -1488,22 +1642,26 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-4.0 0 0 0 ? ? ? -32 -CAPE_ON_SURFACE +34 +ACM_NCPCP_ON_SURFACE ? 1 -tmpl4_0 -CAPE -? +tmpl4_8 +NCPCP ? +ACM surface 0 ? @@ -1516,6 +1674,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1525,32 +1684,37 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -566 -BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +417 +CACM_APCP_ON_SURFACE ? 1 -tmpl4_0 -CAPE +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 ? ? -spec_pres_above_grnd 0 ? -1 -0. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -1562,32 +1726,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -584 -UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +418 +CACM_ACPCP_ON_SURFACE ? 1 -tmpl4_0 -CAPE +tmpl4_8 +ACPCP +? +ACM +surface +0 +? +0 ? ? -spec_pres_above_grnd 0 ? -1 -0. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -1599,27 +1768,31 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -107 -CIN_ON_SURFACE +419 +CACM_NCPCP_ON_SURFACE ? 1 -tmpl4_0 -CIN -? +tmpl4_8 +NCPCP ? +ACM surface 0 ? -1 -0. +0 +? ? 0 ? @@ -1627,6 +1800,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1636,32 +1810,37 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -567 -BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +271 +AVE_PRATE_ON_SURFACE ? 1 -tmpl4_0 -CIN +tmpl4_8 +PRATE +? +AVE +surface +0 +? +0 ? ? -spec_pres_above_grnd 0 ? -1 -0. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -1673,6 +1852,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1681,24 +1864,25 @@ spec_pres_above_grnd ? ? ? -585 -UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +272 +AVE_CPRAT_ON_SURFACE ? 1 -tmpl4_0 -CIN +tmpl4_8 +CPRAT +? +AVE +surface +0 +? +0 ? ? -spec_pres_above_grnd 0 ? -1 -0. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -1710,6 +1894,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1718,12 +1906,12 @@ spec_pres_above_grnd ? ? ? -80 -PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +161 +INST_TCDC_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -PWAT +TCDC ? ? entire_atmos_single_lyr @@ -1738,6 +1926,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1747,32 +1936,37 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -162 -HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +144 +AVE_TCDC_ON_ENTIRE_ATMOS ? 1 -tmpl4_0 -HLCY +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 ? ? -spec_hgt_lvl_above_grnd 0 ? -1 -3000. -spec_hgt_lvl_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -1784,6 +1978,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1792,24 +1990,25 @@ spec_hgt_lvl_above_grnd ? ? ? -163 -USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +141 +INST_USWRF_ON_SURFACE ? 1 tmpl4_0 -USTM +USWRF NCEP ? -spec_hgt_lvl_above_grnd +surface 0 ? -1 -6000. -spec_hgt_lvl_above_grnd 0 ? -1 -0. +? +0 +? +0 +? +? ? ? 0 @@ -1821,32 +2020,37 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -164 -VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +142 +INST_ULWRF_ON_SURFACE ? 1 tmpl4_0 -VSTM +ULWRF NCEP ? -spec_hgt_lvl_above_grnd +surface +0 +? +0 +? +? 0 ? -1 -6000. -spec_hgt_lvl_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -1858,22 +2062,26 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -160 -INST_CRAIN_ON_SURFACE +126 +AVE_DSWRF_ON_SURFACE ? 1 -tmpl4_0 -CRAIN +tmpl4_8 +DSWRF NCEP -? +AVE surface 0 ? @@ -1886,6 +2094,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1895,22 +2104,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +6.0 0 0 0 ? ? ? -551 -CSNOW_ON_SURFACE -Categorical snow on surface +127 +AVE_DLWRF_ON_SURFACE +? 1 -tmpl4_0 -CSNOW +tmpl4_8 +DLWRF NCEP -? +AVE surface 0 ? @@ -1923,6 +2136,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1932,22 +2146,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +4.0 0 0 0 ? ? ? -552 -CICEP_ON_SURFACE -Categorical ice pellets on surface +128 +AVE_USWRF_ON_SURFACE +? 1 -tmpl4_0 -CICEP +tmpl4_8 +USWRF NCEP -? +AVE surface 0 ? @@ -1960,6 +2178,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1969,22 +2188,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +6.0 0 0 0 ? ? ? -553 -CFRZR_ON_SURFACE -Categorical freezing rain on surface +129 +AVE_ULWRF_ON_SURFACE +? 1 -tmpl4_0 -CFRZR +tmpl4_8 +ULWRF NCEP -? +AVE surface 0 ? @@ -1997,6 +2220,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2006,23 +2230,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +4.0 0 0 0 ? ? ? -180 -VIS_ON_SURFACE +130 +AVE_USWRF_ON_TOP_OF_ATMOS ? 1 -tmpl4_0 -VIS -? -? -surface +tmpl4_8 +USWRF +NCEP +AVE +top_of_atmos 0 ? 0 @@ -2034,6 +2262,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2043,6 +2272,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2051,14 +2284,14 @@ surface ? ? ? -275 -BRTMP_ON_TOP_OF_ATMOS +131 +AVE_ULWRF_ON_TOP_OF_ATMOS ? 1 -tmpl4_0 -BRTMP -? -? +tmpl4_8 +ULWRF +NCEP +AVE top_of_atmos 0 ? @@ -2071,6 +2304,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -2080,6 +2314,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2088,15 +2326,15 @@ top_of_atmos ? ? ? -44 -SFCR_ON_SURFACE +274 +INST_ULWRF_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -SFCR -? +ULWRF +NCEP ? -surface +top_of_atmos 0 ? 0 @@ -2108,6 +2346,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2117,20 +2356,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -45 -FRICV_ON_SURFACE +156 +INST_DSWRF_ON_SURFACE ? 1 tmpl4_0 -FRICV +DSWRF NCEP ? surface @@ -2145,6 +2388,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2154,21 +2398,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -50 -LAND_ON_SURFACE +157 +INST_DLWRF_ON_SURFACE ? 1 tmpl4_0 -LAND -? +DLWRF +NCEP ? surface 0 @@ -2182,6 +2430,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2191,20 +2440,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +4.0 0 0 0 ? ? ? -51 -ICEC_ON_SURFACE +44 +SFCR_ON_SURFACE ? 1 tmpl4_0 -ICEC +SFCR ? ? surface @@ -2219,6 +2472,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2228,23 +2482,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -54 -PRES_ON_TROPOPAUSE +45 +FRICV_ON_SURFACE ? 1 tmpl4_0 -PRES -? +FRICV +NCEP ? -tropopause +surface 0 ? 0 @@ -2256,6 +2514,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2265,23 +2524,27 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -177 -HGT_ON_TROPOPAUSE +133 +UFLX_ON_SURFACE ? 1 tmpl4_0 -HGT +UFLX ? ? -tropopause +surface 0 ? 0 @@ -2293,6 +2556,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2302,23 +2566,27 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -55 -TMP_ON_TROPOPAUSE +134 +VFLX_ON_SURFACE ? 1 tmpl4_0 -TMP +VFLX ? ? -tropopause +surface 0 ? 0 @@ -2330,6 +2598,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2339,6 +2608,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2347,15 +2620,15 @@ tropopause ? ? ? -56 -UGRD_ON_TROPOPAUSE +154 +INST_SHTFL_ON_SURFACE ? 1 tmpl4_0 -UGRD +SHTFL ? ? -tropopause +surface 0 ? 0 @@ -2367,6 +2640,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2376,6 +2650,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2384,15 +2662,15 @@ tropopause ? ? ? -57 -VGRD_ON_TROPOPAUSE +155 +INST_LHTFL_ON_SURFACE ? 1 tmpl4_0 -VGRD +LHTFL ? ? -tropopause +surface 0 ? 0 @@ -2404,6 +2682,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2413,6 +2692,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2421,15 +2704,15 @@ tropopause ? ? ? -58 -VWSH_ON_TROPOPAUSE +48 +NLAT_ON_SURFACE ? 1 tmpl4_0 -VWSH +NLAT NCEP ? -tropopause +surface 0 ? 0 @@ -2441,6 +2724,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -2450,27 +2734,31 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -59 -TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +49 +ELON_ON_SURFACE ? 1 tmpl4_0 -TMP +ELON +NCEP ? +surface +0 ? -spec_alt_above_mean_sea_lvl 0 ? -8 -305. 457. 610. 914. 1829. 2743. 3658. 4572. ? 0 ? @@ -2478,6 +2766,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -2487,6 +2776,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2495,19 +2788,19 @@ spec_alt_above_mean_sea_lvl ? ? ? -60 -UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +50 +LAND_ON_SURFACE ? 1 tmpl4_0 -UGRD +LAND ? ? -spec_alt_above_mean_sea_lvl +surface +0 +? 0 ? -8 -305. 457. 610. 914. 1829. 2743. 3658. 4572. ? 0 ? @@ -2515,6 +2808,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -2524,27 +2818,31 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +1.0 0 0 0 ? ? ? -61 -VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +151 +WTMP_ON_SURFACE ? 1 tmpl4_0 -VGRD +WTMP +? ? +surface +0 ? -spec_alt_above_mean_sea_lvl 0 ? -8 -305. 457. 610. 914. 1829. 2743. 3658. 4572. ? 0 ? @@ -2552,6 +2850,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -2561,6 +2860,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2569,1236 +2872,15 @@ spec_alt_above_mean_sea_lvl ? ? ? -586 -TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +54 +PRES_ON_TROPOPAUSE ? 1 tmpl4_0 -TMP +PRES ? ? -spec_hgt_lvl_above_grnd -0 -? -2 -80. 100. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -576 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT -? -1 -tmpl4_0 -UGRD -? -? -spec_hgt_lvl_above_grnd -0 -? -6 -20. 30. 40. 50. 80. 100. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -577 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT -? -1 -tmpl4_0 -VGRD -? -? -spec_hgt_lvl_above_grnd -0 -? -6 -20. 30. 40. 50. 80. 100. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -579 -PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT -? -1 -tmpl4_0 -PRES -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -80. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -578 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT -? -1 -tmpl4_0 -SPFH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -80. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -7.0 -0 -0 -0 -? -? -? -62 -HGT_ON_0C_ISOTHERM -? -1 -tmpl4_0 -HGT -? -? -0C_isotherm -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -63 -RH_ON_0C_ISOTHERM -? -1 -tmpl4_0 -RH -? -? -0C_isotherm -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -165 -HGT_ON_HGHST_TROP_FRZ_LVL -? -1 -tmpl4_0 -HGT -? -? -hghst_trop_frz_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -350 -RH_ON_HGHST_TROP_FRZ_LVL -? -1 -tmpl4_0 -RH -? -? -hghst_trop_frz_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -68 -TMP_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -TMP -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -70 -DPT_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -DPT -? -? -spec_pres_above_grnd -0 -? -1 -3000. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -71 -SPFH_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -SPFH -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -7.0 -0 -0 -0 -? -? -? -72 -RH_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -RH -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -89 -PWAT_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -PWAT -? -? -spec_pres_above_grnd -0 -? -1 -3000. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -73 -UGRD_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -UGRD -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -74 -VGRD_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -VGRD -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -66 -RH_ON_SIGMA_LVL_0.33-1.0 -? -1 -tmpl4_0 -RH -? -? -sigma_lvl -1 -2 -1 -33. -sigma_lvl -1 -2 -1 -100. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -318 -RH_ON_SIGMA_LVL_0.44-1.0 -? -1 -tmpl4_0 -RH -? -? -sigma_lvl -1 -2 -1 -44. -sigma_lvl -1 -2 -1 -100. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -319 -RH_ON_SIGMA_LVL_0.72-0.94 -? -1 -tmpl4_0 -RH -? -? -sigma_lvl -1 -2 -1 -72. -sigma_lvl -1 -2 -1 -94. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -320 -RH_ON_SIGMA_LVL_0.44-0.72 -? -1 -tmpl4_0 -RH -? -? -sigma_lvl -1 -2 -1 -44. -sigma_lvl -1 -2 -1 -72. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -321 -TMP_ON_SIGMA_LVL_0.9950 -? -1 -tmpl4_0 -TMP -? -? -sigma_lvl -1 -4 -1 -9950. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -322 -POT_ON_SIGMA_LVL_0.9950 -? -1 -tmpl4_0 -POT -? -? -sigma_lvl -1 -4 -1 -9950. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -323 -RH_ON_SIGMA_LVL_0.9950 -? -1 -tmpl4_0 -RH -? -? -sigma_lvl -1 -4 -1 -9950. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -324 -UGRD_ON_SIGMA_LVL_0.9950 -? -1 -tmpl4_0 -UGRD -? -? -sigma_lvl -1 -4 -1 -9950. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -325 -VGRD_ON_SIGMA_LVL_0.9950 -? -1 -tmpl4_0 -VGRD -? -? -sigma_lvl -1 -4 -1 -9950. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -326 -VVEL_ON_SIGMA_LVL_0.9950 -? -1 -tmpl4_0 -VVEL -? -? -sigma_lvl -1 -4 -1 -9950. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -173 -PRES_ON_MAX_WIND -? -1 -tmpl4_0 -PRES -? -? -max_wind -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -174 -HGT_ON_MAX_WIND -? -1 -tmpl4_0 -HGT -? -? -max_wind -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -175 -UGRD_ON_MAX_WIND -? -1 -tmpl4_0 -UGRD -? -? -max_wind -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -176 -VGRD_ON_MAX_WIND -? -1 -tmpl4_0 -VGRD -? -? -max_wind -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -314 -TMP_ON_MAX_WIND -? -1 -tmpl4_0 -TMP -? -? -max_wind -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -221 -HPBL_ON_SURFACE -? -1 -tmpl4_0 -HPBL -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -575 -CWAT_ON_ENTIRE_ATMOS_SINGLE_LYR -? -1 -tmpl4_0 -CWAT -? -? -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -312 -RH_ON_ENTIRE_ATMOS_SINGLE_LYR -? -1 -tmpl4_0 -RH -? -? -entire_atmos_single_lyr +tropopause 0 ? 0 @@ -3810,69 +2892,37 @@ entire_atmos_single_lyr ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -3.0 -0 -0 -0 -? -? -? -299 -TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR -? -1 -tmpl4_0 -TOZNE -? -? -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +6.0 0 0 0 ? ? ? -245 -GUST_ON_SURFACE +177 +HGT_ON_TROPOPAUSE ? 1 tmpl4_0 -GUST +HGT ? ? -surface +tropopause 0 ? 0 @@ -3884,48 +2934,16 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -3.0 -0 -0 -0 -? -? -? -246 -PLPL_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -PLPL -NCEP -? -spec_pres_above_grnd -0 -? -1 -25500. -spec_pres_above_grnd -0 -? -1 -0. -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -3938,56 +2956,19 @@ spec_pres_above_grnd ? ? ? -331 -TCDC_ON_ISOBARIC_SFC +55 +TMP_ON_TROPOPAUSE ? 1 tmpl4_0 -TCDC -? -? -isobaric_sfc -0 -? -39 -5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? +TMP ? -0 -0.0 -0 -0.0 ? +tropopause 0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -332 -UGRD_ON_ISENTROPIC_LVL -? -1 -tmpl4_0 -UGRD ? -? -isentropic_lvl 0 ? -1 -320. ? 0 ? @@ -3995,48 +2976,16 @@ isentropic_lvl ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -4.0 -0 -0 -0 -? -? -? -333 -VGRD_ON_ISENTROPIC_LVL -? -1 -tmpl4_0 -VGRD -? -? -isentropic_lvl -0 -? -1 -320. -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -4049,56 +2998,19 @@ isentropic_lvl ? ? ? -334 -TMP_ON_ISENTROPIC_LVL +108 +POT_ON_TROPOPAUSE ? 1 tmpl4_0 -TMP -? -? -isentropic_lvl -0 -? -1 -320. -? -0 -? -0 -? -? +POT ? -0 -0.0 -0 -0.0 ? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 +tropopause 0 ? -? -? -335 -PVORT_ON_ISENTROPIC_LVL -? -1 -tmpl4_0 -PVORT -? -? -isentropic_lvl 0 ? -1 -320. ? 0 ? @@ -4106,122 +3018,58 @@ isentropic_lvl ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -4.0 -0 -0 -0 -? -? -? -353 -MNTSF_ON_ISENTROPIC_LVL -? -1 -tmpl4_0 -MNTSF -? -? -isentropic_lvl -0 -? -1 -320. -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +5.0 0 0 0 ? ? ? -336 -UGRD_ON_POT_VORT_SFC +56 +UGRD_ON_TROPOPAUSE ? 1 tmpl4_0 UGRD ? ? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. -? +tropopause 0 ? 0 ? ? -? -0 -0.0 0 -0.0 ? 0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -337 -VGRD_ON_POT_VORT_SFC ? -1 -tmpl4_0 -VGRD ? ? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. ? 0 -? +0.0 0 -? -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -4234,19 +3082,19 @@ pot_vort_sfc ? ? ? -338 -TMP_ON_POT_VORT_SFC +57 +VGRD_ON_TROPOPAUSE ? 1 tmpl4_0 -TMP +VGRD +? +? +tropopause +0 ? +0 ? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. ? 0 ? @@ -4254,6 +3102,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -4263,6 +3112,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4271,19 +3124,19 @@ pot_vort_sfc ? ? ? -339 -HGT_ON_POT_VORT_SFC +58 +VWSH_ON_TROPOPAUSE ? 1 tmpl4_0 -HGT +VWSH +NCEP ? +tropopause +0 +? +0 ? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. ? 0 ? @@ -4291,6 +3144,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -4300,27 +3154,31 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -340 -PRES_ON_POT_VORT_SFC +168 +TMP_ON_CLOUD_TOP ? 1 tmpl4_0 -PRES +TMP +? +? +cloud_top +0 ? +0 ? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. ? 0 ? @@ -4328,6 +3186,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -4337,27 +3196,31 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -341 -VWSH_ON_POT_VORT_SFC +252 +REFC_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -VWSH +REFC NCEP ? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +entire_atmos_single_lyr +0 +? +0 +? ? 0 ? @@ -4365,6 +3228,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -4374,27 +3238,31 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -345 -MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +221 +HPBL_ON_SURFACE ? 1 -tmpl4_8 -TMAX +tmpl4_0 +HPBL +NCEP +? +surface +0 ? -MAX -spec_hgt_lvl_above_grnd 0 ? -1 -2. ? 0 ? @@ -4402,6 +3270,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -4411,27 +3280,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -346 -MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +200 +TCOLW_ON_ENTIRE_ATMOS ? 1 -tmpl4_8 -TMIN +tmpl4_0 +TCOLW +NCEP +? +entire_atmos_single_lyr +0 ? -MIN -spec_hgt_lvl_above_grnd 0 ? -1 -2. ? 0 ? @@ -4439,6 +3312,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -4448,23 +3322,27 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -398 -ICAHT_ON_MAX_WIND +201 +TCOLI_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -ICAHT -? +TCOLI +NCEP ? -max_wind +entire_atmos_single_lyr 0 ? 0 @@ -4476,6 +3354,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -4485,23 +3364,27 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +5.0 0 0 0 ? ? ? -399 -ICAHT_ON_TROPOPAUSE +202 +TCOLR_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -ICAHT -? +TCOLR +NCEP ? -tropopause +entire_atmos_single_lyr 0 ? 0 @@ -4513,6 +3396,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -4522,23 +3406,27 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +5.0 0 0 0 ? ? ? -396 -SUNSD_ON_SURFACE +203 +TCOLS_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -SUNSD +TCOLS NCEP ? -surface +entire_atmos_single_lyr 0 ? 0 @@ -4550,6 +3438,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4559,6 +3448,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -4567,15 +3460,15 @@ surface ? ? ? -389 -UGRD_ON_PLANETARY_BOUND_LYR +204 +TCOLC_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -UGRD -? +TCOLC +NCEP ? -planetary_bound_lyr +entire_atmos_single_lyr 0 ? 0 @@ -4587,6 +3480,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -4596,27 +3490,31 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -390 -VGRD_ON_PLANETARY_BOUND_LYR -? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground 1 -tmpl4_0 -VGRD -? -? -planetary_bound_lyr -0 +tmpl4_8 +WIND ? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -4624,6 +3522,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -4633,23 +3532,27 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-4.0 0 0 0 ? ? ? -454 -VRATE_ON_PLANETARY_BOUND_LYR -Ventilation Rate on planetary boundary layer +245 +GUST_ON_SURFACE +? 1 tmpl4_0 -VRATE -NCEP +GUST +? ? -planetary_bound_lyr +surface 0 ? 0 @@ -4661,6 +3564,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -4670,6 +3574,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4678,23 +3586,24 @@ planetary_bound_lyr ? ? ? -455 -HINDEX_ON_SURFACE -Haines Index on surface +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa 1 -tmpl4_0 -HINDEX -? -? -surface -0 -? +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc 0 ? -? +1 +10000. +isobaric_sfc 0 ? -0 +1 +100000. ? ? ? @@ -4707,31 +3616,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +-4.0 0 0 0 ? ? ? -172 -CPOFP_ON_SURFACE -? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa 1 -tmpl4_0 -CPOFP -? -? -surface -0 -? +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc 0 ? -? +1 +10000. +isobaric_sfc 0 ? -0 +1 +100000. ? ? ? @@ -4744,31 +3658,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -808 -APTMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km ? 1 -tmpl4_0 -APTMP -? -? +tmpl4_8 +MXUPHL +NCEP +MAX spec_hgt_lvl_above_grnd 0 ? 1 -2. -? +3000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +0000. ? ? ? @@ -4781,31 +3700,36 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-3.0 0 0 0 ? ? ? -167 -INST_PRATE_ON_SURFACE -? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground 1 -tmpl4_0 -PRATE -? -? -surface -0 -? +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd 0 ? -? +1 +5000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +2000. ? ? ? @@ -4818,20 +3742,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +-3.0 0 0 0 ? ? ? -249 -CPRAT_ON_SURFACE +118 +CNWAT_ON_SURFACE ? 1 tmpl4_0 -CPRAT +CNWAT ? ? surface @@ -4846,6 +3774,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4855,27 +3784,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +1.0 0 0 0 ? ? ? -182 -SNMR_ON_HYBRID_LVL +119 +WEASD_ON_SURFACE ? 1 tmpl4_0 -SNMR +WEASD ? ? -hybrid_lvl +surface +0 +? 0 ? -1 -1. ? 0 ? @@ -4883,6 +3816,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4892,27 +3826,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -181 -RWMR_ON_HYBRID_LVL +120 +SNOWC_ON_SURFACE ? 1 tmpl4_0 -RWMR +SNOWC ? ? -hybrid_lvl +surface +0 +? 0 ? -1 -1. ? 0 ? @@ -4920,6 +3858,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4929,27 +3868,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -124 -CLMR_ON_HYBRID_LVL +170 +VEG_ON_SURFACE ? 1 tmpl4_0 -CLMR +VEG ? ? -hybrid_lvl +surface +0 +? 0 ? -1 -1. ? 0 ? @@ -4957,6 +3900,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4966,27 +3910,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -125 -ICMR_ON_HYBRID_LVL +1004 +ACM_SNOWFALL_ON_SURFACE ? 1 -tmpl4_0 -ICMR +tmpl4_8 +TSNOWP ? +ACM +surface +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -4994,6 +3942,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -5003,6 +3952,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5011,19 +3964,19 @@ hybrid_lvl ? ? ? -415 -GRLE_ON_HYBRID_LVL -Graupel mixing ration on hybrid level +121 +ACM_SNOM_ON_SURFACE +? 1 -tmpl4_0 -GRLE +tmpl4_8 +SNOM ? +ACM +surface +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -5031,6 +3984,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -5040,27 +3994,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -588 -ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +122 +ACM_SSRUN_ON_SURFACE ? 1 -tmpl4_0 -ICEG +tmpl4_8 +SSRUN ? +ACM +surface +0 ? -spec_alt_above_mean_sea_lvl 0 ? -1 -10. ? 0 ? @@ -5068,6 +4026,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -5077,22 +4036,26 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -219 -SOTYP_ON_SURFACE +123 +ACM_BGRUN_ON_SURFACE ? 1 -tmpl4_0 -SOTYP -? +tmpl4_8 +BGRUN ? +ACM surface 0 ? @@ -5105,6 +4068,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5114,22 +4078,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -170 -VEG_ON_SURFACE +343 +ACM_WATR_ON_SURFACE ? 1 -tmpl4_0 -VEG -? +tmpl4_8 +WATR ? +ACM surface 0 ? @@ -5142,6 +4110,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5151,22 +4120,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -968 -ICETMP_ON_SURFACE +317 +AVE_CRAIN_ON_SURFACE ? 1 -tmpl4_0 -ICETMP -? -? +tmpl4_8 +CRAIN +NCEP +AVE surface 0 ? @@ -5179,6 +4152,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5188,23 +4162,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +1.0 0 0 0 ? ? ? -260 -HGT_ON_CLOUD_CEILING -? +555 +AVE_CSNOW_ON_SURFACE +average Categorical snow on surface 1 -tmpl4_0 -HGT -? -? -cloud_ceilng +tmpl4_8 +CSNOW +NCEP +AVE +surface 0 ? 0 @@ -5216,6 +4194,7 @@ cloud_ceilng ? ? ? +? 0 0.0 0 @@ -5225,23 +4204,27 @@ cloud_ceilng 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +1.0 0 0 0 ? ? ? -161 -INST_TCDC_ON_ENTIRE_ATMOS -? +556 +AVE_CICEP_ON_SURFACE +average Categorical ice pellets on surface 1 -tmpl4_0 -TCDC -? -? -entire_atmos_single_lyr +tmpl4_8 +CICEP +NCEP +AVE +surface 0 ? 0 @@ -5253,6 +4236,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -5262,23 +4246,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +1.0 0 0 0 ? ? ? -37 -LCDC_ON_LOW_CLOUD_LYR -? +557 +AVE_CFRZR_ON_SURFACE +average Categorical freezing rain on surface 1 -tmpl4_0 -LCDC -? -? -low_cloud_lyr +tmpl4_8 +CFRZR +NCEP +AVE +surface 0 ? 0 @@ -5290,6 +4278,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5299,27 +4288,31 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +1.0 0 0 0 ? ? ? -38 -MCDC_ON_MID_CLOUD_LYR -? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level 1 tmpl4_0 -MCDC -? +NCONCD ? -mid_cloud_lyr -0 ? +hybrid_lvl 0 ? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -5327,6 +4320,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5336,27 +4330,31 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -39 -HCDC_ON_HIGH_CLOUD_LYR -? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level 1 tmpl4_0 -HCDC -? +NCCICE ? -high_cloud_lyr -0 ? +hybrid_lvl 0 ? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -5364,6 +4362,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5373,27 +4372,31 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -253 -REFD_ON_SPEC_HGT_LVL_ABOVE_GRND +754 +NCRAIN_ON_HYBRID_LVL ? 1 tmpl4_0 -REFD -NCEP +SPNCR ? -spec_hgt_lvl_above_grnd +? +hybrid_lvl 0 ? -2 -4000. 1000. +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -5401,6 +4404,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -5410,27 +4414,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -250 -REFD_ON_HYBRID_LVL -? +1018 +NCCD_ON_ISOBARIC_SFC +Number concentration for cloud water drops on isobaric surfaces 1 tmpl4_0 -REFD -NCEP +NCONCD ? -hybrid_lvl +? +isobaric_sfc 0 ? -2 -1. 2. +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -5438,6 +4446,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -5447,32 +4456,37 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -582 -MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND -? +1019 +NCIP_ON_ISOBARIC_SFC +Number concentration for ice particles on isobaric surfaces 1 tmpl4_0 -CAPE +NCCICE ? ? -spec_pres_above_grnd +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? 0 ? -1 -9000. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -5484,32 +4498,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -583 -MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND -? +1020 +NCRAIN_ON_ISOBARIC_SFC +Number concentration for rain on isobaric surfaces 1 tmpl4_0 -CIN +SPNCR ? ? -spec_pres_above_grnd +isobaric_sfc 0 ? -1 -9000. -spec_pres_above_grnd +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? 0 ? -1 -0. +0 +? +? ? ? 0 @@ -5521,8 +4540,12 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 diff --git a/parm/postxconfig-NT-GFS-FLUX.txt b/parm/hafs/postxconfig-NT-hafs_nosat.txt similarity index 53% rename from parm/postxconfig-NT-GFS-FLUX.txt rename to parm/hafs/postxconfig-NT-hafs_nosat.txt index 6847ad0dc9..2144eaa228 100644 --- a/parm/postxconfig-NT-GFS-FLUX.txt +++ b/parm/hafs/postxconfig-NT-hafs_nosat.txt @@ -1,7 +1,7 @@ 1 -104 -GFSPRS -0 +85 +HURPRS +32769 ncep_nco v2003 local_tab_yes1 @@ -11,24 +11,24 @@ fcst fcst hour nws_ncep -gfs_avn +hafs complex_packing_spatial_diff 2nd_ord_sptdiff fltng_pnt lossless -106 -TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +12 +HGT_ON_ISOBARIC_SFC ? 1 tmpl4_0 -TMP +HGT ? ? -spec_hgt_lvl_above_grnd +isobaric_sfc 0 ? -1 -2. +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -36,6 +36,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -45,27 +46,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -112 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +13 +TMP_ON_ISOBARIC_SFC ? 1 tmpl4_0 -SPFH +TMP ? ? -spec_hgt_lvl_above_grnd +isobaric_sfc 0 ? -1 -2. +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -73,6 +78,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -82,27 +88,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -7.0 +4.0 0 0 0 ? ? ? -64 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +15 +DPT_ON_ISOBARIC_SFC ? 1 tmpl4_0 -UGRD +DPT ? ? -spec_hgt_lvl_above_grnd +isobaric_sfc 0 ? -1 -10. +6 +10000. 20000. 30000. 50000. 70000. 85000. ? 0 ? @@ -110,6 +120,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -119,27 +130,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -65 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +16 +SPFH_ON_ISOBARIC_SFC ? 1 tmpl4_0 -VGRD +SPFH ? ? -spec_hgt_lvl_above_grnd +isobaric_sfc 0 ? -1 -10. +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -147,6 +162,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -156,27 +172,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +7.0 0 0 0 ? ? ? -24 -PRES_ON_SURFACE +17 +RH_ON_ISOBARIC_SFC ? 1 tmpl4_0 -PRES +RH ? ? -surface -0 -? +isobaric_sfc 0 ? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -184,6 +204,7 @@ surface ? ? ? +? 0 0.0 0 @@ -193,27 +214,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -25 -HGT_ON_SURFACE +18 +UGRD_ON_ISOBARIC_SFC ? 1 tmpl4_0 -HGT -? +UGRD ? -surface -0 ? +isobaric_sfc 0 ? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -221,6 +246,7 @@ surface ? ? ? +? 0 0.0 0 @@ -230,27 +256,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -26 -TMP_ON_SURFACE +19 +VGRD_ON_ISOBARIC_SFC ? 1 tmpl4_0 -TMP -? +VGRD ? -surface -0 ? +isobaric_sfc 0 ? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -258,6 +288,7 @@ surface ? ? ? +? 0 0.0 0 @@ -267,6 +298,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -275,61 +310,25 @@ surface ? ? ? -116 -TSOIL_ON_DEPTH_BEL_LAND_SFC +284 +DZDT_ON_ISOBARIC_SFC ? 1 tmpl4_0 -TSOIL +DZDT ? ? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. +isobaric_sfc +0 ? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 -0.0 -0 -0.0 ? 0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? ? -117 -SOILW_ON_DEPTH_BEL_LAND_SFC -? -1 -tmpl4_0 -SOILW -NCEP ? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. ? ? 0 @@ -341,32 +340,37 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -225 -SOILL_ON_DEPTH_BEL_LAND_SFC +20 +VVEL_ON_ISOBARIC_SFC ? 1 tmpl4_0 -SOILL -NCEP +VVEL +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? ? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. ? ? 0 @@ -378,27 +382,31 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -118 -CNWAT_ON_SURFACE +21 +ABSV_ON_ISOBARIC_SFC ? 1 tmpl4_0 -CNWAT -NCEP +ABSV ? -surface -0 ? +isobaric_sfc 0 ? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -406,6 +414,7 @@ surface ? ? ? +? 0 0.0 0 @@ -415,27 +424,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -119 -WEASD_ON_SURFACE +153 +CLMR_ON_ISOBARIC_SFC ? 1 tmpl4_0 -WEASD +CLMR ? ? -surface -0 -? +isobaric_sfc 0 ? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -443,6 +456,7 @@ surface ? ? ? +? 0 0.0 0 @@ -452,6 +466,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -460,19 +478,19 @@ surface ? ? ? -517 -AVE_PEVPR_ON_SURFACE +166 +ICMR_ON_ISOBARIC_SFC ? 1 -tmpl4_8 -PEVPR -NCEP -AVE -surface -0 +tmpl4_0 +ICMR +? ? +isobaric_sfc 0 ? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -480,6 +498,7 @@ surface ? ? ? +? 0 0.0 0 @@ -489,6 +508,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -497,19 +520,19 @@ surface ? ? ? -242 -PEVPR_ON_SURFACE +183 +RWMR_ON_ISOBARIC_SFC ? 1 tmpl4_0 -PEVPR -NCEP +RWMR ? -surface -0 ? +isobaric_sfc 0 ? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -517,6 +540,7 @@ surface ? ? ? +? 0 0.0 0 @@ -526,6 +550,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -534,19 +562,19 @@ surface ? ? ? -349 -ICETK_ON_SURFACE +184 +SNMR_ON_ISOBARIC_SFC ? 1 tmpl4_0 -ICETK -? +SNMR ? -surface -0 ? +isobaric_sfc 0 ? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -554,6 +582,7 @@ surface ? ? ? +? 0 0.0 0 @@ -563,27 +592,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -224 -SNOD_ON_SURFACE -? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface 1 tmpl4_0 -SNOD -? +GRLE ? -surface -0 ? +isobaric_sfc 0 ? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -591,6 +624,7 @@ surface ? ? ? +? 0 0.0 0 @@ -600,6 +634,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -607,20 +645,20 @@ surface 0 ? ? -yes -236 -WILT_ON_SURFACE +? +251 +REFD_ON_ISOBARIC_SFC ? 1 tmpl4_0 -WILT -NCEP +REFD ? -surface -0 ? +isobaric_sfc 0 ? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -628,6 +666,7 @@ surface ? ? ? +? 0 0.0 0 @@ -637,6 +676,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -644,16 +687,16 @@ surface 0 ? ? -yes -397 -FLDCP_ON_SURFACE +? +23 +MSLET_ON_MEAN_SEA_LVL ? 1 tmpl4_0 -FLDCP +MSLET NCEP ? -surface +mean_sea_lvl 0 ? 0 @@ -665,6 +708,7 @@ surface ? ? ? +? 0 0.0 0 @@ -674,23 +718,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? -yes -80 -PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +105 +PRES_ON_MEAN_SEA_LVL ? 1 tmpl4_0 -PWAT +PRMSL ? ? -entire_atmos_single_lyr +mean_sea_lvl 0 ? 0 @@ -702,6 +750,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -711,6 +760,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -719,19 +772,19 @@ entire_atmos_single_lyr ? ? ? -271 -AVE_PRATE_ON_SURFACE +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_8 -PRATE +tmpl4_0 +TMP ? -AVE -surface -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -739,6 +792,7 @@ surface ? ? ? +? 0 0.0 0 @@ -748,27 +802,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -272 -AVE_CPRAT_ON_SURFACE +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_8 -CPRAT -NCEP -AVE -surface -0 +tmpl4_0 +SPFH ? +? +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -776,6 +834,7 @@ surface ? ? ? +? 0 0.0 0 @@ -785,27 +844,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +7.0 0 0 0 ? ? ? -300 -AVE_TCDC_ON_LOW_CLOUD_LYR +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_8 -LCDC +tmpl4_0 +DPT ? -AVE -low_cloud_lyr -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -813,6 +876,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -822,6 +886,10 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -830,19 +898,19 @@ low_cloud_lyr ? ? ? -301 -AVE_TCDC_ON_MID_CLOUD_LYR +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_8 -MCDC +tmpl4_0 +RH ? -AVE -mid_cloud_lyr -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -850,6 +918,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -859,27 +928,31 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -302 -AVE_TCDC_ON_HIGH_CLOUD_LYR +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m ? 1 -tmpl4_8 -HCDC +tmpl4_0 +UGRD ? -AVE -high_cloud_lyr -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -887,6 +960,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -896,6 +970,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -904,19 +982,19 @@ high_cloud_lyr ? ? ? -144 -AVE_TCDC_ON_ENTIRE_ATMOS +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m ? 1 -tmpl4_8 -TCDC +tmpl4_0 +VGRD ? -AVE -entire_atmos_single_lyr -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -924,67 +1002,35 @@ entire_atmos_single_lyr ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -4.0 -0 -0 -0 -? -? -? -126 -AVE_DSWRF_ON_SURFACE -? -1 -tmpl4_8 -DSWRF -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -6.0 +4.0 0 0 0 ? ? ? -156 -INST_DSWRF_ON_SURFACE +24 +PRES_ON_SURFACE ? 1 tmpl4_0 -DSWRF -NCEP +PRES +? ? surface 0 @@ -998,48 +1044,16 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -6.0 -0 -0 -0 -? -? -? -388 -AVE_DSWRF_ON_TOP_OF_ATMOS -? -1 -tmpl4_8 -DSWRF -NCEP -AVE -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -1052,14 +1066,14 @@ top_of_atmos ? ? ? -297 -AVE_CDUVB_ON_SURFACE +25 +HGT_ON_SURFACE ? 1 -tmpl4_8 -CDUVB -NCEP -AVE +tmpl4_0 +HGT +? +? surface 0 ? @@ -1072,48 +1086,16 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -6.0 -0 -0 -0 -? -? -? -298 -AVE_DUVB_ON_SURFACE -? -1 -tmpl4_8 -DUVB -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -1126,14 +1108,14 @@ surface ? ? ? -127 -AVE_DLWRF_ON_SURFACE +26 +TMP_ON_SURFACE ? 1 -tmpl4_8 -DLWRF -NCEP -AVE +tmpl4_0 +TMP +? +? surface 0 ? @@ -1146,6 +1128,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1155,6 +1138,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1163,12 +1150,12 @@ surface ? ? ? -157 -INST_DLWRF_ON_SURFACE +169 +SFEXC_ON_SURFACE ? 1 tmpl4_0 -DLWRF +SFEXC NCEP ? surface @@ -1183,586 +1170,36 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -4.0 -0 -0 -0 -? -? -? -128 -AVE_USWRF_ON_SURFACE -? -1 -tmpl4_8 -USWRF -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -6.0 +4.0 0 0 0 ? ? ? -141 -INST_USWRF_ON_SURFACE +32 +CAPE_ON_SURFACE ? 1 -tmpl4_0 -USWRF -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -129 -AVE_ULWRF_ON_SURFACE -? -1 -tmpl4_8 -ULWRF -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -142 -INST_ULWRF_ON_SURFACE -? -1 -tmpl4_0 -ULWRF -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -130 -AVE_USWRF_ON_TOP_OF_ATMOS -? -1 -tmpl4_8 -USWRF -NCEP -AVE -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -131 -AVE_ULWRF_ON_TOP_OF_ATMOS -? -1 -tmpl4_8 -ULWRF -NCEP -AVE -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -401 -AVE_VBDSF_ON_SURFACE -averaged surface visible beam downward solar flux -1 -tmpl4_8 -VBDSF -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -402 -AVE_VDDSF_ON_SURFACE -averaged surface visible diffuse downward solar flux -1 -tmpl4_8 -VDDSF -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -403 -AVE_NBDSF_ON_SURFACE -averaged surface near IR beam downward solar flux -1 -tmpl4_8 -NBDSF -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -404 -AVE_NDDSF_ON_SURFACE -averaged surface near IR beam downward solar flux -1 -tmpl4_8 -NDDSF -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -385 -AVE_CSULF_ON_TOP_OF_ATMOS -? -1 -tmpl4_8 -CSULF -NCEP -AVE -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -387 -AVE_CSUSF_ON_TOP_OF_ATMOS -? -1 -tmpl4_8 -CSUSF -NCEP -AVE -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -382 -AVE_CSDLF_ON_SURFACE -? -1 -tmpl4_8 -CSDLF -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -386 -AVE_CSUSF_ON_SURFACE -? -1 -tmpl4_8 -CSUSF -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -383 -AVE_CSDSF_ON_SURFACE -? -1 -tmpl4_8 -CSDSF -NCEP -AVE -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? +tmpl4_0 +CAPE ? -384 -AVE_CSULF_ON_SURFACE ? -1 -tmpl4_8 -CSULF -NCEP -AVE surface 0 ? @@ -1775,6 +1212,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1784,6 +1222,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1792,12 +1234,12 @@ surface ? ? ? -44 -SFCR_ON_SURFACE +107 +CIN_ON_SURFACE ? 1 tmpl4_0 -SFCR +CIN ? ? surface @@ -1812,6 +1254,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1821,23 +1264,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -170 -VEG_ON_SURFACE +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 tmpl4_0 -VEG +PWAT ? ? -surface +entire_atmos_single_lyr 0 ? 0 @@ -1849,6 +1296,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1858,34 +1306,39 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -218 -VGTYP_ON_SURFACE +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 tmpl4_0 -VGTYP -NCEP +HLCY ? -surface -0 ? +spec_hgt_lvl_above_grnd 0 ? -? +1 +3000. +spec_hgt_lvl_above_grnd 0 ? 0 ? ? ? +? 0 0.0 0 @@ -1895,22 +1348,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -219 -SOTYP_ON_SURFACE +87 +ACM_APCP_ON_SURFACE ? 1 -tmpl4_0 -SOTYP -? +tmpl4_8 +APCP ? +ACM surface 0 ? @@ -1923,6 +1380,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1932,22 +1390,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-4.0 0 0 0 ? ? ? -223 -SLTYP_ON_SURFACE +33 +ACM_ACPCP_ON_SURFACE ? 1 -tmpl4_0 -SLTYP -NCEP +tmpl4_8 +ACPCP ? +ACM surface 0 ? @@ -1960,6 +1422,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1969,22 +1432,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-4.0 0 0 0 ? ? ? -45 -FRICV_ON_SURFACE +34 +ACM_NCPCP_ON_SURFACE ? 1 -tmpl4_0 -FRICV -NCEP +tmpl4_8 +NCPCP ? +ACM surface 0 ? @@ -1997,6 +1464,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2006,22 +1474,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -169 -SFEXC_ON_SURFACE +417 +CACM_APCP_ON_SURFACE ? 1 -tmpl4_0 -SFEXC -NCEP +tmpl4_8 +APCP ? +ACM surface 0 ? @@ -2034,6 +1506,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2043,22 +1516,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -512 -ACOND_ON_SURFACE +418 +CACM_ACPCP_ON_SURFACE ? 1 -tmpl4_0 -ACOND -NCEP +tmpl4_8 +ACPCP ? +ACM surface 0 ? @@ -2071,6 +1548,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2080,22 +1558,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -43 -AVE_SHTFL_ON_SURFACE +419 +CACM_NCPCP_ON_SURFACE ? 1 tmpl4_8 -SHTFL +NCPCP ? -AVE +ACM surface 0 ? @@ -2108,6 +1590,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2117,22 +1600,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -154 -INST_SHTFL_ON_SURFACE +271 +AVE_PRATE_ON_SURFACE ? 1 -tmpl4_0 -SHTFL -? +tmpl4_8 +PRATE ? +AVE surface 0 ? @@ -2145,6 +1632,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2154,6 +1642,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2162,13 +1654,13 @@ surface ? ? ? -135 -AVE_GFLUX_ON_SURFACE +272 +AVE_CPRAT_ON_SURFACE ? 1 tmpl4_8 -GFLUX -NCEP +CPRAT +? AVE surface 0 @@ -2182,6 +1674,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2191,6 +1684,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2199,15 +1696,15 @@ surface ? ? ? -152 -INST_GFLUX_ON_SURFACE +161 +INST_TCDC_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -GFLUX -NCEP +TCDC ? -surface +? +entire_atmos_single_lyr 0 ? 0 @@ -2219,6 +1716,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2228,6 +1726,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2236,15 +1738,15 @@ surface ? ? ? -122 -ACM_SSRUN_ON_SURFACE +144 +AVE_TCDC_ON_ENTIRE_ATMOS ? 1 tmpl4_8 -SSRUN -NCEP -ACM -surface +TCDC +? +AVE +entire_atmos_single_lyr 0 ? 0 @@ -2256,6 +1758,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2265,22 +1768,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -42 -AVE_LHTFL_ON_SURFACE +141 +INST_USWRF_ON_SURFACE ? 1 -tmpl4_8 -LHTFL +tmpl4_0 +USWRF +NCEP ? -AVE surface 0 ? @@ -2293,6 +1800,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2302,21 +1810,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -155 -INST_LHTFL_ON_SURFACE +142 +INST_ULWRF_ON_SURFACE ? 1 tmpl4_0 -LHTFL -? +ULWRF +NCEP ? surface 0 @@ -2330,6 +1842,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2339,21 +1852,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -269 -AVE_UFLX_ON_SURFACE +126 +AVE_DSWRF_ON_SURFACE ? 1 tmpl4_8 -UFLX -? +DSWRF +NCEP AVE surface 0 @@ -2367,6 +1884,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2376,21 +1894,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -270 -AVE_VFLX_ON_SURFACE +127 +AVE_DLWRF_ON_SURFACE ? 1 tmpl4_8 -VFLX -? +DLWRF +NCEP AVE surface 0 @@ -2404,6 +1926,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2413,6 +1936,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2421,14 +1948,14 @@ surface ? ? ? -50 -LAND_ON_SURFACE +128 +AVE_USWRF_ON_SURFACE ? 1 -tmpl4_0 -LAND -? -? +tmpl4_8 +USWRF +NCEP +AVE surface 0 ? @@ -2441,6 +1968,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2450,22 +1978,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +6.0 0 0 0 ? ? ? -51 -ICEC_ON_SURFACE +129 +AVE_ULWRF_ON_SURFACE ? 1 -tmpl4_0 -ICEC -? -? +tmpl4_8 +ULWRF +NCEP +AVE surface 0 ? @@ -2478,6 +2010,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2487,6 +2020,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2495,15 +2032,15 @@ surface ? ? ? -266 -AVE_ALBDO_ON_SURFACE +130 +AVE_USWRF_ON_TOP_OF_ATMOS ? 1 tmpl4_8 -ALBDO -? +USWRF +NCEP AVE -surface +top_of_atmos 0 ? 0 @@ -2515,6 +2052,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2524,23 +2062,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -221 -HPBL_ON_SURFACE +131 +AVE_ULWRF_ON_TOP_OF_ATMOS ? 1 -tmpl4_0 -HPBL +tmpl4_8 +ULWRF NCEP -? -surface +AVE +top_of_atmos 0 ? 0 @@ -2552,6 +2094,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2561,23 +2104,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -188 -PRES_ON_CONVECTIVE_CLOUD_BOT_LVL +274 +INST_ULWRF_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -PRES -? +ULWRF +NCEP ? -convective_cloud_bot_lvl +top_of_atmos 0 ? 0 @@ -2589,6 +2136,7 @@ convective_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -2598,23 +2146,27 @@ convective_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -189 -PRES_ON_CONVECTIVE_CLOUD_TOP_LVL +156 +INST_DSWRF_ON_SURFACE ? 1 tmpl4_0 -PRES -? +DSWRF +NCEP ? -convective_cloud_top_lvl +surface 0 ? 0 @@ -2626,6 +2178,7 @@ convective_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -2635,6 +2188,10 @@ convective_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2643,15 +2200,15 @@ convective_cloud_top_lvl ? ? ? -303 -AVE_PRES_ON_LOW_CLOUD_BOT_LVL +157 +INST_DLWRF_ON_SURFACE ? 1 -tmpl4_8 -PRES +tmpl4_0 +DLWRF +NCEP ? -AVE -low_cloud_bot_lvl +surface 0 ? 0 @@ -2663,6 +2220,7 @@ low_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -2672,23 +2230,27 @@ low_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -306 -AVE_PRES_ON_MID_CLOUD_BOT_LVL +44 +SFCR_ON_SURFACE ? 1 -tmpl4_8 -PRES +tmpl4_0 +SFCR ? -AVE -mid_cloud_bot_lvl +? +surface 0 ? 0 @@ -2700,6 +2262,7 @@ mid_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -2709,6 +2272,10 @@ mid_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2717,15 +2284,15 @@ mid_cloud_bot_lvl ? ? ? -309 -AVE_PRES_ON_HIGH_CLOUD_BOT_LVL +45 +FRICV_ON_SURFACE ? 1 -tmpl4_8 -PRES +tmpl4_0 +FRICV +NCEP ? -AVE -high_cloud_bot_lvl +surface 0 ? 0 @@ -2737,6 +2304,7 @@ high_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -2746,23 +2314,27 @@ high_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -304 -AVE_PRES_ON_LOW_CLOUD_TOP_LVL +133 +UFLX_ON_SURFACE ? 1 -tmpl4_8 -PRES +tmpl4_0 +UFLX ? -AVE -low_cloud_top_lvl +? +surface 0 ? 0 @@ -2774,6 +2346,7 @@ low_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -2783,23 +2356,27 @@ low_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -307 -AVE_PRES_ON_MID_CLOUD_TOP_LVL +134 +VFLX_ON_SURFACE ? 1 -tmpl4_8 -PRES +tmpl4_0 +VFLX ? -AVE -mid_cloud_top_lvl +? +surface 0 ? 0 @@ -2811,6 +2388,7 @@ mid_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -2820,23 +2398,27 @@ mid_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -310 -AVE_PRES_ON_HIGH_CLOUD_TOP_LVL +154 +INST_SHTFL_ON_SURFACE ? 1 -tmpl4_8 -PRES +tmpl4_0 +SHTFL ? -AVE -high_cloud_top_lvl +? +surface 0 ? 0 @@ -2848,6 +2430,7 @@ high_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -2857,23 +2440,27 @@ high_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -305 -AVE_TMP_ON_LOW_CLOUD_TOP_LVL +155 +INST_LHTFL_ON_SURFACE ? 1 -tmpl4_8 -TMP +tmpl4_0 +LHTFL ? -AVE -low_cloud_top_lvl +? +surface 0 ? 0 @@ -2885,6 +2472,7 @@ low_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -2894,6 +2482,10 @@ low_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2902,15 +2494,15 @@ low_cloud_top_lvl ? ? ? -308 -AVE_TMP_ON_MID_CLOUD_TOP_LVL +48 +NLAT_ON_SURFACE ? 1 -tmpl4_8 -TMP +tmpl4_0 +NLAT +NCEP ? -AVE -mid_cloud_top_lvl +surface 0 ? 0 @@ -2922,6 +2514,7 @@ mid_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -2931,6 +2524,10 @@ mid_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2939,15 +2536,15 @@ mid_cloud_top_lvl ? ? ? -311 -AVE_TMP_ON_HIGH_CLOUD_TOP_LVL +49 +ELON_ON_SURFACE ? 1 -tmpl4_8 -TMP +tmpl4_0 +ELON +NCEP ? -AVE -high_cloud_top_lvl +surface 0 ? 0 @@ -2959,6 +2556,7 @@ high_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -2968,6 +2566,10 @@ high_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2976,15 +2578,15 @@ high_cloud_top_lvl ? ? ? -570 -GFS_TCDC_ON_CONVECTIVE_CLOUD_LYR +50 +LAND_ON_SURFACE ? 1 tmpl4_0 -TCDC +LAND ? ? -convective_cloud_lyr +surface 0 ? 0 @@ -2996,6 +2598,7 @@ convective_cloud_lyr ? ? ? +? 0 0.0 0 @@ -3005,23 +2608,27 @@ convective_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +1.0 0 0 0 ? ? ? -342 -AVE_TCDC_ON_BOUND_LYR_CLOUD_LYR +151 +WTMP_ON_SURFACE ? 1 -tmpl4_8 -TCDC +tmpl4_0 +WTMP ? -AVE -bound_lyr_cloud_lyr +? +surface 0 ? 0 @@ -3033,6 +2640,7 @@ bound_lyr_cloud_lyr ? ? ? +? 0 0.0 0 @@ -3042,6 +2650,10 @@ bound_lyr_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3050,15 +2662,15 @@ bound_lyr_cloud_lyr ? ? ? -313 -AVE_CWORK_ON_ENTIRE_ATMOS_SINGLE_LYR +54 +PRES_ON_TROPOPAUSE ? 1 -tmpl4_8 -CWORK -NCEP -AVE -entire_atmos_single_lyr +tmpl4_0 +PRES +? +? +tropopause 0 ? 0 @@ -3070,6 +2682,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -3079,23 +2692,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -315 -AVE_U-GWD_ON_SURFACE +177 +HGT_ON_TROPOPAUSE ? 1 -tmpl4_8 -U-GWD -NCEP -AVE -surface +tmpl4_0 +HGT +? +? +tropopause 0 ? 0 @@ -3107,6 +2724,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3116,23 +2734,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +6.0 0 0 0 ? ? ? -316 -AVE_V-GWD_ON_SURFACE +55 +TMP_ON_TROPOPAUSE ? 1 -tmpl4_8 -V-GWD -NCEP -AVE -surface +tmpl4_0 +TMP +? +? +tropopause 0 ? 0 @@ -3144,6 +2766,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3153,23 +2776,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -343 -ACM_WATR_ON_SURFACE +108 +POT_ON_TROPOPAUSE ? 1 -tmpl4_8 -WATR +tmpl4_0 +POT ? -ACM -surface +? +tropopause 0 ? 0 @@ -3181,6 +2808,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3190,27 +2818,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +5.0 0 0 0 ? ? ? -345 -MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +56 +UGRD_ON_TROPOPAUSE ? 1 -tmpl4_8 -TMAX +tmpl4_0 +UGRD +? +? +tropopause +0 ? -MAX -spec_hgt_lvl_above_grnd 0 ? -1 -2. ? 0 ? @@ -3218,6 +2850,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3227,6 +2860,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3235,19 +2872,19 @@ spec_hgt_lvl_above_grnd ? ? ? -346 -MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +57 +VGRD_ON_TROPOPAUSE ? 1 -tmpl4_8 -TMIN +tmpl4_0 +VGRD +? +? +tropopause +0 ? -MIN -spec_hgt_lvl_above_grnd 0 ? -1 -2. ? 0 ? @@ -3255,6 +2892,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3264,6 +2902,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3272,19 +2914,19 @@ spec_hgt_lvl_above_grnd ? ? ? -510 -MAX_QMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +58 +VWSH_ON_TROPOPAUSE ? 1 -tmpl4_8 -QMAX +tmpl4_0 +VWSH NCEP -MAX -spec_hgt_lvl_above_grnd +? +tropopause +0 +? 0 ? -1 -2. ? 0 ? @@ -3292,6 +2934,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3301,27 +2944,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -511 -MIN_QMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +168 +TMP_ON_CLOUD_TOP ? 1 -tmpl4_8 -QMIN -NCEP -MIN -spec_hgt_lvl_above_grnd +tmpl4_0 +TMP +? +? +cloud_top +0 +? 0 ? -1 -2. ? 0 ? @@ -3329,6 +2976,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3338,6 +2986,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3346,15 +2998,15 @@ spec_hgt_lvl_above_grnd ? ? ? -396 -SUNSD_ON_SURFACE +252 +REFC_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -SUNSD +REFC NCEP ? -surface +entire_atmos_single_lyr 0 ? 0 @@ -3366,6 +3018,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3375,21 +3028,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -172 -CPOFP_ON_SURFACE +221 +HPBL_ON_SURFACE ? 1 tmpl4_0 -CPOFP -? +HPBL +NCEP ? surface 0 @@ -3403,6 +3060,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3412,27 +3070,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -2 -TMP_ON_HYBRID_LVL +200 +TCOLW_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -TMP +TCOLW +NCEP ? +entire_atmos_single_lyr +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -3440,6 +3102,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -3449,27 +3112,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -5 -SPFH_ON_HYBRID_LVL +201 +TCOLI_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -SPFH +TCOLI +NCEP ? +entire_atmos_single_lyr +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -3477,6 +3144,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -3486,27 +3154,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -7.0 +5.0 0 0 0 ? ? ? -7 -UGRD_ON_HYBRID_LVL +202 +TCOLR_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -UGRD +TCOLR +NCEP ? +entire_atmos_single_lyr +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -3514,6 +3186,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -3523,27 +3196,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -8 -VGRD_ON_HYBRID_LVL +203 +TCOLS_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -VGRD +TCOLS +NCEP ? +entire_atmos_single_lyr +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -3551,6 +3228,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -3560,27 +3238,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -77 -HGT_ON_HYBRID_LVL +204 +TCOLC_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -HGT +TCOLC +NCEP ? +entire_atmos_single_lyr +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -3588,6 +3270,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -3597,27 +3280,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -514 -AVE_EVBS_ON_SURFACE -? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground 1 tmpl4_8 -EVBS -NCEP -AVE -surface -0 +WIND ? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -3625,6 +3312,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3634,22 +3322,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +-4.0 0 0 0 ? ? ? -513 -AVE_EVCW_ON_SURFACE +245 +GUST_ON_SURFACE ? 1 -tmpl4_8 -EVCW -NCEP -AVE +tmpl4_0 +GUST +? +? surface 0 ? @@ -3662,6 +3354,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3671,27 +3364,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -515 -AVE_TRANS_ON_SURFACE +1026 +HAFS_GUST_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 -tmpl4_8 -TRANS -NCEP -AVE -surface -0 +tmpl4_0 +GUST ? +? +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -3699,6 +3396,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3708,31 +3406,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -516 -AVE_SBSNO_ON_SURFACE -? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa 1 tmpl4_8 -SBSNO +MAXUVV NCEP -AVE -surface -0 -? +MAX +isobaric_sfc 0 ? -? +1 +10000. +isobaric_sfc 0 ? -0 +1 +100000. ? ? ? @@ -3745,31 +3448,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +-4.0 0 0 0 ? ? ? -500 -AVE_SNOWC_ON_SURFACE -? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa 1 tmpl4_8 -SNOWC -? -AVE -surface -0 -? +MAXDVV +NCEP +MAX +isobaric_sfc 0 ? -? +1 +10000. +isobaric_sfc 0 ? -0 +1 +100000. ? ? ? @@ -3782,32 +3490,37 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-4.0 0 0 0 ? ? ? -36 -SOILM_ON_DEPTH_BEL_LAND_SFC +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km ? 1 -tmpl4_0 -SOILM -? +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 ? -depth_bel_land_sfc -1 -2 -1 -0. -depth_bel_land_sfc 1 -2 +3000. +spec_hgt_lvl_above_grnd +0 +? 1 -200. +0000. +? ? ? 0 @@ -3819,31 +3532,36 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-3.0 0 0 0 ? ? ? -136 -AVE_SNOHF_ON_SURFACE -? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground 1 tmpl4_8 -SNOHF -? -AVE -surface -0 -? +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd 0 ? -? +1 +5000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +2000. ? ? ? @@ -3856,8 +3574,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-3.0 0 0 0 diff --git a/parm/hafs/postxconfig-NT-hafs_sat.txt b/parm/hafs/postxconfig-NT-hafs_sat.txt new file mode 100644 index 0000000000..7ddb465797 --- /dev/null +++ b/parm/hafs/postxconfig-NT-hafs_sat.txt @@ -0,0 +1,354 @@ +1 +8 +HURSAT +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hafs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +959 +SBTAGR8_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTAGR8 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +960 +SBTAGR9_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTAGR9 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +961 +SBTAGR10_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTAGR10 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +964 +SBTAGR13_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTAGR13 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +825 +SSMS1715_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SSMS1715 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +826 +SSMS1716_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SSMS1716 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +827 +SSMS1717_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SSMS1717 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +828 +SSMS1718_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SSMS1718 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/hrrr_postcntrl.xml b/parm/hrrr_postcntrl.xml index d01d39a809..bc82d3279d 100755 --- a/parm/hrrr_postcntrl.xml +++ b/parm/hrrr_postcntrl.xml @@ -341,12 +341,12 @@ - GSD_HGT_ON_CLOUD_BASE + HGT_ON_CLOUD_BASE -3.0 - GSD_HGT_ON_CLOUD_TOP + HGT_ON_CLOUD_TOP -3.0 @@ -584,11 +584,6 @@ 6.0 - - GSD_RADARVIL_ON_ENTIRE_ATMOS - 6.0 - - HGT_ON_EQUIL_LVL -1.0 @@ -622,7 +617,7 @@ - GSD_PRES_ON_CLOUD_BASE + PRES_ON_CLOUD_BASE 3.0 @@ -1099,7 +1094,7 @@ - GSD_NCCD_ON_HYBRID_LVL + NCCD_ON_HYBRID_LVL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. @@ -1107,7 +1102,7 @@ - GSD_NCIP_ON_HYBRID_LVL + NCIP_ON_HYBRID_LVL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. @@ -1115,7 +1110,7 @@ - GSD_NCRAIN_ON_HYBRID_LVL + NCRAIN_ON_HYBRID_LVL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. diff --git a/parm/ifi_postcntrl.xml b/parm/ifi_postcntrl.xml new file mode 100644 index 0000000000..b6a6fd95cb --- /dev/null +++ b/parm/ifi_postcntrl.xml @@ -0,0 +1,48 @@ + + + + IFIFIP + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + + + ICE_PROB_IFI_FLIGHT_LEVEL + 4.0 + + 1 + 5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. + + + + SLD_IFI_FLIGHT_LEVEL + 4.0 + + 1 + 5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. + + + + WMO_ICE_SEV_CAT_IFI_FLIGHT_LEVEL + 4.0 + + 1 + 5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. + + + + diff --git a/parm/makefile b/parm/makefile index d06ab47ea8..fa7f3f5621 100644 --- a/parm/makefile +++ b/parm/makefile @@ -1,147 +1,124 @@ -SHELL=/bin/sh - # This makefile is to create Post flat file from available and control XML file # Currently support GFS, GFS GOES, GFS ANL, NMM, and NGAC # See documentation EMC POST Performance Improvement Upgrade for information # 2015/04 Lin Gan : First version # 2015/10 Lin Gan : Add HRRR and RAP # 2016/03 Lin Gan : Add GEFS and new control section tag using GEFS ctrl and GFS avail file +# 2023/09 Sam Trahan : Rewritten with simpler syntax and better readability +# 2025/05 Jaymes Kenyon : Adding files for MPAS applications +# 2025/05 Ben Blake : Updating files for RRFSv1 +# 2025/07 Wen Meng : Add GCAFS -# Target flat file -GFSFLATFILENAME = postxconfig-NT-GFS.txt -GFSGOESFLATFILENAME = postxconfig-NT-GFS-GOES.txt -GFSANLFLATFILENAME = postxconfig-NT-GFS-ANL.txt -GFSF00FLATFILENAME = postxconfig-NT-GFS-F00.txt -GFSFLUXFLATFILENAME = postxconfig-NT-GFS-FLUX.txt -GFSFLUXF00FLATFILENAME = postxconfig-NT-GFS-FLUX-F00.txt -NMMFLATFILENAME = postxconfig-NT-NMM.txt -NGACFLATFILENAME = postxconfig-NT-NGAC.txt -GEFSFLATFILENAME = postxconfig-NT-GEFS.txt -GEFSANLFLATFILENAME = postxconfig-NT-GEFS-ANL.txt -GEFSF00FLATFILENAME = postxconfig-NT-GEFS-F00.txt -FV3LAMFLATFILENAME = postxconfig-NT-fv3lam.txt -HAFSFLATFILENAME = postxconfig-NT-hafs.txt -GFSTWOFLATFILENAME = postxconfig-NT-GFS-TWO.txt -GFSTWOF00FLATFILENAME = postxconfig-NT-GFS-F00-TWO.txt -HRRRFLATFILENAME = postxconfig-NT-hrrr.txt -RAPFLATFILENAME = postxconfig-NT-rap.txt -RTMA3DFLATFILENAME = postxconfig-NT-3drtma.txt - -# Source Post XML file -GFSAVAILXMLFILENAME = post_avblflds.xml -GFSCTRLFILENAME = postcntrl_gfs.xml -GFSGOESCTRLFILENAME = postcntrl_gfs_goes.xml -GFSANLCTRLFILENAME = postcntrl_gfs_anl.xml -GFSCTRLF00FILENAME = postcntrl_gfs_f00.xml -GFSCTRLFLUXFILENAME = postcntrl_gfs_flux.xml -GFSCTRLFLUXF00FILENAME = postcntrl_gfs_flux_f00.xml -NMMAVAILXMLFILENAME = nam_post_avblflds.xml -NMMCTRLFILENAME = nam_cntrl_cmaq.xml -NGACAVAILXMLFILENAME = ngac_post_avblflds.xml -NGACCTRLFILENAME = ngac_postcntrl.xml -GEFSAVAILXMLFILENAME = post_avblflds.xml -GEFSCTRLFILENAME = postcntrl_gefs.xml -GEFSANLCTRLFILENAME = postcntrl_gefs_anl.xml -GEFSCTRLF00FILENAME = postcntrl_gefs_f00.xml -FV3LAMAVAILXMLFILENAME = post_avblflds.xml -FV3LAMCTRLFILENAME = fv3lam.xml -HAFSCTRLFILENAME = postcntrl_hafs.xml -GFSTWOCTRLFILENAME = postcntrl_gfs_two.xml -GFSTWOF00CTRLFILENAME = postcntrl_gfs_f00_two.xml -HRRRAVAILXMLFILENAME = post_avblflds_raphrrr.xml -RAPAVAILXMLFILENAME = post_avblflds_raphrrr.xml -HRRRCTRLFILENAME = hrrr_postcntrl.xml -RAPCTRLFILENAME = rap_postcntrl.xml -RTMA3DCTRLFILENAME = 3drtma_postcntrl.xml -RTMA3DAVAILXMLFILENAME = post_avblflds.xml - -# Post flat file generator -PERLXML = PostXMLPreprocessor.pl +SHELL=/bin/sh +PERL=/usr/bin/perl +PERLXML=PostXMLPreprocessor.pl +RM=rm -f -# CMD with param -PERLXMLGFS = /usr/bin/perl $(PERLXML) $(GFSCTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GFSFLATFILENAME) -PERLXMLGFSGOES = /usr/bin/perl $(PERLXML) $(GFSGOESCTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GFSGOESFLATFILENAME) -PERLXMLGFSANL = /usr/bin/perl $(PERLXML) $(GFSANLCTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GFSANLFLATFILENAME) -PERLXMLGFSF00 = /usr/bin/perl $(PERLXML) $(GFSCTRLF00FILENAME) $(GFSAVAILXMLFILENAME) $(GFSF00FLATFILENAME) -PERLXMLGFSFLUX = /usr/bin/perl $(PERLXML) $(GFSCTRLFLUXFILENAME) $(GFSAVAILXMLFILENAME) $(GFSFLUXFLATFILENAME) -PERLXMLGFSFLUXF00 = /usr/bin/perl $(PERLXML) $(GFSCTRLFLUXF00FILENAME) $(GFSAVAILXMLFILENAME) $(GFSFLUXF00FLATFILENAME) -PERLXMLNMM = /usr/bin/perl $(PERLXML) $(NMMCTRLFILENAME) $(NMMAVAILXMLFILENAME) $(NMMFLATFILENAME) -PERLXMLNGAC = /usr/bin/perl $(PERLXML) $(NGACCTRLFILENAME) $(NGACAVAILXMLFILENAME) $(NGACFLATFILENAME) -#PERLXMLHRRR = /usr/bin/perl $(PERLXML) $(HRRRCTRLFILENAME) $(HRRRAVAILXMLFILENAME) $(HRRRFLATFILENAME) -PERLXMLGEFS = /usr/bin/perl $(PERLXML) $(GEFSCTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GEFSFLATFILENAME) -PERLXMLGEFSANL = /usr/bin/perl $(PERLXML) $(GEFSANLCTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GEFSANLFLATFILENAME) -PERLXMLGEFSF00 = /usr/bin/perl $(PERLXML) $(GEFSCTRLF00FILENAME) $(GFSAVAILXMLFILENAME) $(GEFSF00FLATFILENAME) -PERLXMLFV3LAM = /usr/bin/perl $(PERLXML) $(FV3LAMCTRLFILENAME) $(FV3LAMAVAILXMLFILENAME) $(FV3LAMFLATFILENAME) -PERLXMLHAFS = /usr/bin/perl $(PERLXML) $(HAFSCTRLFILENAME) $(FV3LAMAVAILXMLFILENAME) $(HAFSFLATFILENAME) -PERLXMLGFSTWO = /usr/bin/perl $(PERLXML) $(GFSTWOCTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GFSTWOFLATFILENAME) -PERLXMLGFSTWOF00 = /usr/bin/perl $(PERLXML) $(GFSTWOF00CTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GFSTWOF00FLATFILENAME) -PERLXMLHRRR = /usr/bin/perl $(PERLXML) $(HRRRCTRLFILENAME) $(HRRRAVAILXMLFILENAME) $(HRRRFLATFILENAME) -PERLXMLRAP = /usr/bin/perl $(PERLXML) $(RAPCTRLFILENAME) $(RAPAVAILXMLFILENAME) $(RAPFLATFILENAME) -PERLXML3DRTMA = /usr/bin/perl $(PERLXML) $(RTMA3DCTRLFILENAME) $(RTMA3DAVAILXMLFILENAME) $(RTMA3DFLATFILENAME) +# Rule Syntax: +# target.txt: control.xml avblflds.xml +# Will call: +# perl PostXMLPreprocessor.pl control.xml avblflds.xml target.txt +# Make sure all of the .txt files are in the ALL_TXT variable. -# File to look for change -GFSXMLS = $(GFSAVAILXMLFILENAME) $(GFSCTRLFILENAME) -GFSGOESXMLS = $(GFSAVAILXMLFILENAME) $(GFSGOESCTRLFILENAME) -GFSANLXMLS = $(GFSAVAILXMLFILENAME) $(GFSANLCTRLFILENAME) -GFSF00XMLS = $(GFSAVAILXMLFILENAME) $(GFSCTRLF00FILENAME) -GFSFLUXXMLS = $(GFSAVAILXMLFILENAME) $(GFSCTRLFLUXFILENAME) -GFSFLUXF00XMLS = $(GFSAVAILXMLFILENAME) $(GFSCTRLFLUXF00FILENAME) -NMMXMLS = $(NMMAVAILXMLFILENAME) $(NMMCTRLFILENAME) -NGACXMLS = $(NGACAVAILXMLFILENAME) $(NGACCTRLFILENAME) -#HRRRXMLS = $(HRRRAVAILXMLFILENAME) $(HRRRCTRLFILENAME) -GEFSXMLS = $(GFSAVAILXMLFILENAME) $(GEFSCTRLFILENAME) -GEFSANLXMLS = $(GFSAVAILXMLFILENAME) $(GEFSANLCTRLFILENAME) -GEFSF00XMLS = $(GFSAVAILXMLFILENAME) $(GEFSCTRLF00FILENAME) -FV3LAMXMLS = $(FV3LAMAVAILXMLFILENAME) $(FV3LAMCTRLFILENAME) -HAFSXMLS = $(FV3LAMAVAILXMLFILENAME) $(HAFSCTRLFILENAME) -GFSTWOXMLS = $(GFSAVAILXMLFILENAME) $(GFSTWOCTRLFILENAME) -GFSTWOF00XMLS = $(GFSAVAILXMLFILENAME) $(GFSTWOF00CTRLFILENAME) -HRRRXMLS = $(HRRRAVAILXMLFILENAME) $(HRRRCTRLFILENAME) -RAPXMLS = $(RAPAVAILXMLFILENAME) $(RAPCTRLFILENAME) -RTMA3DXMLS = $(RTMA3DAVAILXMLFILENAME) $(RTMA3DCTRLFILENAME) +ALL_TXT= \ + ./gfs/postxconfig-NT-gfs-goes.txt \ + ./gfs/postxconfig-NT-gfs-anl.txt \ + ./gfs/postxconfig-NT-gfs-two.txt \ + ./gfs/postxconfig-NT-gfs-f00-two.txt \ + ./gefs/postxconfig-NT-gefs.txt \ + ./gefs/postxconfig-NT-gefs-f00.txt \ + ./gefs/postxconfig-NT-gefs-aerosol.txt \ + ./gefs/postxconfig-NT-gefs-f00-aerosol.txt \ + ./wafs/postxconfig-NT-gfs-wafs-anl.txt \ + ./wafs/postxconfig-NT-gfs-wafs-ext.txt \ + ./wafs/postxconfig-NT-gfs-wafs.txt \ + ./wafs/postxconfig-NT-gefs-wafs.txt \ + ./sfs/postxconfig-NT-sfs.txt \ + postxconfig-NT-NMM.txt \ + postxconfig-NT-NGAC.txt \ + ./hafs/postxconfig-NT-hafs_ar_nosat.txt \ + ./hafs/postxconfig-NT-hafs_ar_nosat_l65.txt \ + ./hafs/postxconfig-NT-hafs_sat.txt \ + ./hafs/postxconfig-NT-hafs_nosat.txt \ + ./hafs/postxconfig-NT-hafs.txt \ + postxconfig-NT-hrrr.txt \ + postxconfig-NT-ifi.txt \ + postxconfig-NT-rap.txt \ + ./rrfs/postxconfig-NT-rrfs.txt \ + ./rrfs/postxconfig-NT-rrfs_subh.txt \ + ./rrfs/postxconfig-NT-rrfs_f00.txt \ + ./rrfs/postxconfig-NT-rrfs_f01.txt \ + ./rrfs/postxconfig-NT-refs.txt \ + ./rrfs/postxconfig-NT-refs_f00.txt \ + ./rrfs/postxconfig-NT-refs_f01.txt \ + ./rrfs/postxconfig-NT-rrfs_firewx.txt \ + ./rrfs/postxconfig-NT-rrfs_firewx_f00.txt \ + ./rrfs/postxconfig-NT-rrfs_firewx_f01.txt \ + ./mpas/postxconfig-NT-rrfs_mpas.txt \ + ./mpas/postxconfig-NT-hfip_mpas.txt \ + ./mpas/postxconfig-NT-global_mpas.txt \ + ./mpas/postxconfig-NT-global_mpas_noah.txt \ + postxconfig-NT-UFS-aerosol.txt \ + postxconfig-NT-UFS-aerosol-F00.txt \ + ./aqm/postxconfig-NT-AQM.txt \ + ./dafs/postxconfig-NT-hrrr_dafs.txt \ + postxconfig-NT-wps.txt \ + ./gcafs/postxconfig-NT-gcafs.txt \ + ./gcafs/postxconfig-NT-gcafs-f00.txt \ + ./3drtma/postxconfig-NT-3drtma.txt \ + ./arafs/postxconfig-NT-arafs.txt -# If action is triggered; run the following -all: $(GFSFLATFILENAME) $(GFSGOESFLATFILENAME) $(GFSANLFLATFILENAME) $(GFSF00FLATFILENAME) $(GFSFLUXFLATFILENAME) $(GFSFLUXF00FLATFILENAME) $(NMMFLATFILENAME) $(NGACFLATFILENAME) $(GEFSFLATFILENAME) $(GEFSANLFLATFILENAME) $(GEFSF00FLATFILENAME) $(FV3LAMFLATFILENAME) $(HAFSFLATFILENAME) $(GFSTWOFLATFILENAME) $(GFSTWOF00FLATFILENAME) $(HRRRFLATFILENAME) $(RAPFLATFILENAME) $(RTMA3DFLATFILENAME) -$(GFSFLATFILENAME): $(GFSXMLS) - $(PERLXMLGFS) -$(GFSGOESFLATFILENAME): $(GFSGOESXMLS) - $(PERLXMLGFSGOES) -$(GFSANLFLATFILENAME): $(GFSANLXMLS) - $(PERLXMLGFSANL) -$(GFSF00FLATFILENAME): $(GFSF00XMLS) - $(PERLXMLGFSF00) -$(GFSFLUXFLATFILENAME): $(GFSFLUXXMLS) - $(PERLXMLGFSFLUX) -$(GFSFLUXF00FLATFILENAME): $(GFSFLUXF00XMLS) - $(PERLXMLGFSFLUXF00) -$(NMMFLATFILENAME): $(NMMXMLS) - $(PERLXMLNMM) -$(NGACFLATFILENAME): $(NGACXMLS) - $(PERLXMLNGAC) -$(GEFSFLATFILENAME): $(GEFSXMLS) - $(PERLXMLGEFS) -$(GEFSANLFLATFILENAME): $(GEFSANLXMLS) - $(PERLXMLGEFSANL) -$(GEFSF00FLATFILENAME): $(GEFSF00XMLS) - $(PERLXMLGEFSF00) -$(FV3LAMFLATFILENAME): $(FV3LAMXMLS) - $(PERLXMLFV3LAM) -$(HAFSFLATFILENAME): $(HAFSXMLS) - $(PERLXMLHAFS) -$(GFSTWOFLATFILENAME): $(GFSTWOXMLS) - $(PERLXMLGFSTWO) -$(GFSTWOF00FLATFILENAME): $(GFSTWOF00XMLS) - $(PERLXMLGFSTWOF00) -$(HRRRFLATFILENAME): $(HRRRXMLS) - $(PERLXMLHRRR) -$(RAPFLATFILENAME): $(RAPXMLS) - $(PERLXMLRAP) -$(RTMA3DFLATFILENAME): $(RTMA3DXMLS) - $(PERLXML3DRTMA) +.PHONY: all clean +all: $(ALL_TXT) +clean: + $(RM) $(ALL_TXT) -# Make clean +./gfs/postxconfig-NT-gfs-goes.txt: ./gfs/postcntrl_gfs_goes.xml post_avblflds.xml +./gfs/postxconfig-NT-gfs-anl.txt: ./gfs/postcntrl_gfs_anl.xml post_avblflds.xml +./gfs/postxconfig-NT-gfs-two.txt: ./gfs/postcntrl_gfs_two.xml post_avblflds.xml +./gfs/postxconfig-NT-gfs-f00-two.txt: ./gfs/postcntrl_gfs_f00_two.xml post_avblflds.xml +./gefs/postxconfig-NT-gefs.txt: ./gefs/postcntrl_gefs.xml post_avblflds.xml +./gefs/postxconfig-NT-gefs-f00.txt: ./gefs/postcntrl_gefs_f00.xml post_avblflds.xml +./gefs/postxconfig-NT-gefs-aerosol.txt: ./gefs/postcntrl_gefs_aerosol.xml post_avblflds.xml +./gefs/postxconfig-NT-gefs-f00-aerosol.txt: ./gefs/postcntrl_gefs_aerosol_f00.xml post_avblflds.xml +./wafs/postxconfig-NT-gfs-wafs-anl.txt: ./wafs/postcntrl_gfs_wafs_anl.xml post_avblflds.xml +./wafs/postxconfig-NT-gfs-wafs-ext.txt: ./wafs/postcntrl_gfs_wafs_ext.xml post_avblflds.xml +./wafs/postxconfig-NT-gfs-wafs.txt: ./wafs/postcntrl_gfs_wafs.xml post_avblflds.xml +./wafs/postxconfig-NT-gefs-wafs.txt: ./wafs/postcntrl_gefs_wafs.xml post_avblflds.xml +./sfs/postxconfig-NT-sfs.txt: ./sfs/postcntrl_sfs.xml post_avblflds.xml +postxconfig-NT-NMM.txt: nam_cntrl_cmaq.xml nam_post_avblflds.xml +postxconfig-NT-NGAC.txt: ngac_postcntrl.xml ngac_post_avblflds.xml +./hafs/postxconfig-NT-hafs_sat.txt: ./hafs/postcntrl_hafs_sat.xml post_avblflds.xml +./hafs/postxconfig-NT-hafs_nosat.txt: ./hafs/postcntrl_hafs_nosat.xml post_avblflds.xml +./hafs/postxconfig-NT-hafs_ar_nosat.txt: ./hafs/postcntrl_hafs_ar_nosat.xml post_avblflds.xml +./hafs/postxconfig-NT-hafs_ar_nosat_l65.txt: ./hafs/postcntrl_hafs_ar_nosat_l65.xml post_avblflds.xml +./hafs/postxconfig-NT-hafs.txt: ./hafs/postcntrl_hafs.xml post_avblflds.xml +postxconfig-NT-hrrr.txt: hrrr_postcntrl.xml post_avblflds_raphrrr.xml +postxconfig-NT-ifi.txt: ifi_postcntrl.xml post_avblflds.xml +postxconfig-NT-rap.txt: rap_postcntrl.xml post_avblflds_raphrrr.xml +./rrfs/postxconfig-NT-rrfs.txt: ./rrfs/rrfs_postcntrl.xml post_avblflds.xml +./rrfs/postxconfig-NT-rrfs_subh.txt: ./rrfs/rrfs_postcntrl_subh.xml post_avblflds.xml +./rrfs/postxconfig-NT-rrfs_f00.txt: ./rrfs/rrfs_postcntrl_f00.xml post_avblflds.xml +./rrfs/postxconfig-NT-rrfs_f01.txt: ./rrfs/rrfs_postcntrl_f01.xml post_avblflds.xml +./rrfs/postxconfig-NT-refs.txt: ./rrfs/refs_postcntrl.xml post_avblflds.xml +./rrfs/postxconfig-NT-refs_f00.txt: ./rrfs/refs_postcntrl_f00.xml post_avblflds.xml +./rrfs/postxconfig-NT-refs_f01.txt: ./rrfs/refs_postcntrl_f01.xml post_avblflds.xml +./rrfs/postxconfig-NT-rrfs_firewx.txt: ./rrfs/rrfs_postcntrl_firewx.xml post_avblflds.xml +./rrfs/postxconfig-NT-rrfs_firewx_f00.txt: ./rrfs/rrfs_postcntrl_firewx_f00.xml post_avblflds.xml +./rrfs/postxconfig-NT-rrfs_firewx_f01.txt: ./rrfs/rrfs_postcntrl_firewx_f01.xml post_avblflds.xml +./mpas/postxconfig-NT-rrfs_mpas.txt: ./mpas/rrfs_mpas_postcntrl.xml post_avblflds.xml +./mpas/postxconfig-NT-hfip_mpas.txt: ./mpas/hfip_mpas_postcntrl.xml post_avblflds.xml +./mpas/postxconfig-NT-global_mpas.txt: ./mpas/global_mpas_postcntrl.xml post_avblflds.xml +./mpas/postxconfig-NT-global_mpas_noah.txt: ./mpas/global_mpas_postcntrl_noah.xml post_avblflds.xml +postxconfig-NT-UFS-aerosol.txt: postcntrl_ufs_aerosol.xml post_avblflds.xml +postxconfig-NT-UFS-aerosol-F00.txt: postcntrl_ufs_aerosol_f00.xml post_avblflds.xml +./aqm/postxconfig-NT-AQM.txt: ./aqm/aqm.xml post_avblflds.xml +./dafs/postxconfig-NT-hrrr_dafs.txt: ./dafs/hrrr_postcntrl_dafs.xml post_avblflds.xml +postxconfig-NT-wps.txt: postcntrl_wps.xml post_avblflds.xml +./gcafs/postxconfig-NT-gcafs.txt: ./gcafs/postcntrl_gcafs.xml post_avblflds.xml +./gcafs/postxconfig-NT-gcafs-f00.txt: ./gcafs/postcntrl_gcafs_f00.xml post_avblflds.xml +./3drtma/postxconfig-NT-3drtma.txt: ./3drtma/3drtma_postcntrl.xml post_avblflds.xml +./arafs/postxconfig-NT-arafs.txt: ./arafs/postcntrl_arafs.xml post_avblflds.xml -clean: - @echo - @echo '==== CLEAN ===================================================' - /bin/rm -f $(GFSFLATFILENAME) $(GFSGOESFLATFILENAME) $(GFSANLFLATFILENAME) $(GFSF00FLATFILENAME) $(NMMFLATFILENAME) $(NGACFLATFILENAME) $(GEFSFLATFILENAME) $(GEFSANLFLATFILENAME) $(GEFSF00FLATFILENAME) $(FV3LAMFLATFILENAME) $(HAFSFLATFILENAME) $(GFSTWOFLATFILENAME) $(GFSTWOF00FLATFILENAME) $(HRRRFLATFILENAME) $(RAPFLATFILENAME) $(RTMA3DFLATFILENAME) +%.txt: + $(PERL) $(PERLXML) $^ $@ diff --git a/parm/mpas/global_mpas_postcntrl.xml b/parm/mpas/global_mpas_postcntrl.xml new file mode 100644 index 0000000000..a5ef33ac76 --- /dev/null +++ b/parm/mpas/global_mpas_postcntrl.xml @@ -0,0 +1,1308 @@ + + + + POSTTWO + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + TMP_ON_ISOBARIC_SFC + 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + DPT_ON_ISOBARIC_SFC + 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + HGT_ON_ISOBARIC_SFC + 50000. 70000. 85000. 100000. + -5.0 + + + + UGRD_ON_ISOBARIC_SFC + 25000. 30000. 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + VGRD_ON_ISOBARIC_SFC + 25000. 30000. 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + VEG_ON_SURFACE + 3.0 + + + + VEG_MIN_ON_SURFACE + 3.0 + + + + VEG_MAX_ON_SURFACE + 3.0 + + + + LAI_ON_SURFACE + -3.0 + + + + MAPS_PRMSL_ON_MEAN_SEA_LVL + -0.1 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 3.0 + + + + GSD_POT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 + + + + SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + PRES_ON_SURFACE + 4.0 + + + + WEASD_ON_SURFACE + -5.0 + + + + SNOWC_ON_SURFACE + 3.0 + + + + SNOD_ON_SURFACE + 5.0 + + + + GSD_ACM_SNOD_ON_SURFACE + 5.0 + + + + VGTYP_ON_SURFACE + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + 50000. + 100000. + 3.0 + + + + ICEC_ON_SURFACE + 1.0 + + + + CAPE_ON_SURFACE + 3.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + 9000. + 0. + 3.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + 25500. + 0. + 3.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + 3.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + 9000. + 0. + 3.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + 25500. + 0. + 3.0 + + + + HGT_ON_LFC + 6.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + NCEP + 25500. + 0. + 3.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + -3.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + DENDRITIC_LAYER_DEPTH + NCEP + 261. + 256. + 4.0 + + + + ENHANCED_STRETCHING_POTENTIAL + NCEP + 0. + 3000. + 4.0 + + + + CRITICAL_ANGLE + NCEP + 0. + 500. + 4.0 + + + + ACM_APCP_ON_SURFACE + 5.0 + + + + ACM_WEASD_ON_SURFACE + 5.0 + + + + ACM_GRAUPEL_ON_SURFACE + 6.0 + + + + ACM_FRAIN_ON_SURFACE + 6.0 + + + + BUCKET_WEASD_ON_SURFACE + 5.0 + + + + BUCKET_APCP_ON_SURFACE + 5.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + GSD_CSNOW_ON_SURFACE + 1.0 + + + + GSD_CICEP_ON_SURFACE + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + GSD_INST_CRAIN_ON_SURFACE + 1.0 + + + + INST_PRATE_ON_SURFACE + 3.0 + + + + GSD_HGT_ON_CLOUD_CEILING + -3.0 + + + + GSD_EXP_CEILING + -3.0 + + + + GSD_EXP_CEILING_2 + -3.0 + + + + HGT_ON_CLOUD_BASE + -3.0 + + + + HGT_ON_CLOUD_TOP + -3.0 + + + + HPBL_ON_SURFACE + -4.0 + + + + REFC_ON_ENTIRE_ATMOS + NCEP + -4.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + NCEP + spec_hgt_lvl_above_grnd + 1000. + -4.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + NCEP + -4.0 + + + + REFD_ON_ISOTHERMAL + NCEP + isothermal + 263. + -4.0 + + + + GSD_VIS_ON_SURFACE + 2.7 + + + + TMP_ON_SURFACE + -4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + NCEP + -4.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + NCEP + -4.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + NCEP + 3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + NCEP + 3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + NCEP + 3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN + 3.0 + + + + MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL + 3.0 + + + + GSD_HAILCAST_HAIL_DIAMETER + 4.0 + + + + AVE_DZDT_ON_SIGMA_LVL_0.5-0.8 + -4.0 + + + + MAXVIG_ON_ENTIRE_ATMOS_SINGLE_LYR + 3.0 + + + + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + -3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + 0. + 6000. + -4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + 0. + 6000. + -4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 0. + 1000. + -4.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 0. + 1000. + -4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + 0. + 6000. + -4.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + 0. + 6000. + -4.0 + + + + GUST_ON_SURFACE + -4.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + 3.0 + + + + LCDC_ON_LOW_CLOUD_LYR + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + 3.0 + + + + TCDC_ON_BOUND_LYR + 3.0 + + + + LAND_ON_SURFACE + 1.0 + + + + GSD_ECHOTOP_ON_CLOUD_TOP + 6.0 + + + + VIL_ON_ENTIRE_ATMOS + 6.0 + + + + TCOLP_ON_ENTIRE_ATMOS + 4.0 + + + + HGT_ON_EQUIL_LVL + -1.0 + + + + GSD_MAX_LTG_THREAT1_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + NCEP + -4.0 + + + + GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_4km + NCEP + -4.0 + + + + PRES_ON_CLOUD_BASE + 3.0 + + + + PRES_ON_CLOUD_TOP + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND + 80. + -4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND + 80. + -4.0 + + + + HGT_ON_0C_ISOTHERM + 6.0 + + + + RH_ON_0C_ISOTHERM + -0.1 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + -0.1 + + + + HGT_ON_HGHST_TROP_-10C_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_-20C_LVL + 3.0 + + + + CPOFP_ON_SURFACE + -4.0 + + + + INST_DSWRF_ON_SURFACE + 4.0 + + + + INST_DLWRF_ON_SURFACE + 4.0 + + + + INST_USWRF_ON_SURFACE + -3.0 + + + + INST_ULWRF_ON_SURFACE + -3.0 + + + + INST_SWDDNI_ON_SURFACE + 4.0 + + + + INST_SWDDIF_ON_SURFACE + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + 4.0 + + + + INST_USWRF_ON_TOP_OF_ATMOS + 4.0 + + + + INST_GFLUX_ON_SURFACE + 3.0 + + + + INST_SHTFL_ON_SURFACE + 3.0 + + + + INST_LHTFL_ON_SURFACE + 3.0 + + + + ACM_SSRUN_ON_SURFACE + -3.0 + + + + ACM_BGRUN_ON_SURFACE + -3.0 + + + + CNWAT_ON_SURFACE + 1.0 + + + + SFCR_ON_SURFACE + 4.0 + + + + FRICV_ON_SURFACE + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + NCEP + 3.0 + + + + MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + HGT_ON_SURFACE + -5.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 70000. + -5.0 + + + + + + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + MEAN_FIRE_RDIATV_PWR + 4.0 + + + + TCOLW_ON_ENTIRE_ATMOS + 5.0 + + + + TCOLI_ON_ENTIRE_ATMOS + 6.0 + + + + + + POSTPRS + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 101320. + -5.0 + + + + TMP_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + RH_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -3.0 + + + + DPT_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + SPFH_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 4.0 + + + + VVEL_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -5.0 + + + + UGRD_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + VGRD_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + ABSV_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + CLMR_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + ICMR_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + RWMR_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + GRLE_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + + + POSTNAT + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 6.0 + + + + HGT_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + -5.0 + + + + TMP_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + -4.0 + + + + SPFH_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 4.0 + + + + UGRD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + -4.0 + + + + VGRD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + -4.0 + + + + VVEL_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + -5.0 + + + + CLMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + ICMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + RWMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 5.0 + + + + SNMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + GRLE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + NCCD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + NCIP_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 5.0 + + + + NCWFA_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + NCIFA_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + TKE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + -2.0 + + + + FRACCC_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + SMOKE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 6.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + + diff --git a/parm/mpas/global_mpas_postcntrl_noah.xml b/parm/mpas/global_mpas_postcntrl_noah.xml new file mode 100644 index 0000000000..cc3a5cf9dc --- /dev/null +++ b/parm/mpas/global_mpas_postcntrl_noah.xml @@ -0,0 +1,1308 @@ + + + + POSTTWO + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + TMP_ON_ISOBARIC_SFC + 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + DPT_ON_ISOBARIC_SFC + 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + HGT_ON_ISOBARIC_SFC + 50000. 70000. 85000. 100000. + -5.0 + + + + UGRD_ON_ISOBARIC_SFC + 25000. 30000. 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + VGRD_ON_ISOBARIC_SFC + 25000. 30000. 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + VEG_ON_SURFACE + 3.0 + + + + VEG_MIN_ON_SURFACE + 3.0 + + + + VEG_MAX_ON_SURFACE + 3.0 + + + + LAI_ON_SURFACE + -3.0 + + + + MAPS_PRMSL_ON_MEAN_SEA_LVL + -0.1 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 3.0 + + + + GSD_POT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 + + + + SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + PRES_ON_SURFACE + 4.0 + + + + WEASD_ON_SURFACE + -5.0 + + + + SNOWC_ON_SURFACE + 3.0 + + + + SNOD_ON_SURFACE + 5.0 + + + + GSD_ACM_SNOD_ON_SURFACE + 5.0 + + + + VGTYP_ON_SURFACE + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + 50000. + 100000. + 3.0 + + + + ICEC_ON_SURFACE + 1.0 + + + + CAPE_ON_SURFACE + 3.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + 9000. + 0. + 3.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + 25500. + 0. + 3.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + 3.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + 9000. + 0. + 3.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + 25500. + 0. + 3.0 + + + + HGT_ON_LFC + 6.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + NCEP + 25500. + 0. + 3.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + -3.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + DENDRITIC_LAYER_DEPTH + NCEP + 261. + 256. + 4.0 + + + + ENHANCED_STRETCHING_POTENTIAL + NCEP + 0. + 3000. + 4.0 + + + + CRITICAL_ANGLE + NCEP + 0. + 500. + 4.0 + + + + ACM_APCP_ON_SURFACE + 5.0 + + + + ACM_WEASD_ON_SURFACE + 5.0 + + + + ACM_GRAUPEL_ON_SURFACE + 6.0 + + + + ACM_FRAIN_ON_SURFACE + 6.0 + + + + BUCKET_WEASD_ON_SURFACE + 5.0 + + + + BUCKET_APCP_ON_SURFACE + 5.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + GSD_CSNOW_ON_SURFACE + 1.0 + + + + GSD_CICEP_ON_SURFACE + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + GSD_INST_CRAIN_ON_SURFACE + 1.0 + + + + INST_PRATE_ON_SURFACE + 3.0 + + + + GSD_HGT_ON_CLOUD_CEILING + -3.0 + + + + GSD_EXP_CEILING + -3.0 + + + + GSD_EXP_CEILING_2 + -3.0 + + + + HGT_ON_CLOUD_BASE + -3.0 + + + + HGT_ON_CLOUD_TOP + -3.0 + + + + HPBL_ON_SURFACE + -4.0 + + + + REFC_ON_ENTIRE_ATMOS + NCEP + -4.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + NCEP + spec_hgt_lvl_above_grnd + 1000. + -4.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + NCEP + -4.0 + + + + REFD_ON_ISOTHERMAL + NCEP + isothermal + 263. + -4.0 + + + + GSD_VIS_ON_SURFACE + 2.7 + + + + TMP_ON_SURFACE + -4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + NCEP + -4.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + NCEP + -4.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + NCEP + 3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + NCEP + 3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + NCEP + 3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN + 3.0 + + + + MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL + 3.0 + + + + GSD_HAILCAST_HAIL_DIAMETER + 4.0 + + + + AVE_DZDT_ON_SIGMA_LVL_0.5-0.8 + -4.0 + + + + MAXVIG_ON_ENTIRE_ATMOS_SINGLE_LYR + 3.0 + + + + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + -3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + 0. + 6000. + -4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + 0. + 6000. + -4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 0. + 1000. + -4.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 0. + 1000. + -4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + 0. + 6000. + -4.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + 0. + 6000. + -4.0 + + + + GUST_ON_SURFACE + -4.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + 3.0 + + + + LCDC_ON_LOW_CLOUD_LYR + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + 3.0 + + + + TCDC_ON_BOUND_LYR + 3.0 + + + + LAND_ON_SURFACE + 1.0 + + + + GSD_ECHOTOP_ON_CLOUD_TOP + 6.0 + + + + VIL_ON_ENTIRE_ATMOS + 6.0 + + + + TCOLP_ON_ENTIRE_ATMOS + 4.0 + + + + HGT_ON_EQUIL_LVL + -1.0 + + + + GSD_MAX_LTG_THREAT1_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + NCEP + -4.0 + + + + GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_4km + NCEP + -4.0 + + + + PRES_ON_CLOUD_BASE + 3.0 + + + + PRES_ON_CLOUD_TOP + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND + 80. + -4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND + 80. + -4.0 + + + + HGT_ON_0C_ISOTHERM + 6.0 + + + + RH_ON_0C_ISOTHERM + -0.1 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + -0.1 + + + + HGT_ON_HGHST_TROP_-10C_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_-20C_LVL + 3.0 + + + + CPOFP_ON_SURFACE + -4.0 + + + + INST_DSWRF_ON_SURFACE + 4.0 + + + + INST_DLWRF_ON_SURFACE + 4.0 + + + + INST_USWRF_ON_SURFACE + -3.0 + + + + INST_ULWRF_ON_SURFACE + -3.0 + + + + INST_SWDDNI_ON_SURFACE + 4.0 + + + + INST_SWDDIF_ON_SURFACE + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + 4.0 + + + + INST_USWRF_ON_TOP_OF_ATMOS + 4.0 + + + + INST_GFLUX_ON_SURFACE + 3.0 + + + + INST_SHTFL_ON_SURFACE + 3.0 + + + + INST_LHTFL_ON_SURFACE + 3.0 + + + + ACM_SSRUN_ON_SURFACE + -3.0 + + + + ACM_BGRUN_ON_SURFACE + -3.0 + + + + CNWAT_ON_SURFACE + 1.0 + + + + SFCR_ON_SURFACE + 4.0 + + + + FRICV_ON_SURFACE + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + NCEP + 3.0 + + + + MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + HGT_ON_SURFACE + -5.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 70000. + -5.0 + + + + + + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + MEAN_FIRE_RDIATV_PWR + 4.0 + + + + TCOLW_ON_ENTIRE_ATMOS + 5.0 + + + + TCOLI_ON_ENTIRE_ATMOS + 6.0 + + + + + + POSTPRS + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 101320. + -5.0 + + + + TMP_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + RH_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -3.0 + + + + DPT_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + SPFH_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 4.0 + + + + VVEL_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -5.0 + + + + UGRD_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + VGRD_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + ABSV_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + CLMR_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + ICMR_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + RWMR_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + GRLE_ON_ISOBARIC_SFC + 2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 10. 40. 100. + 2 + 10. 40. 100. 200. + 4.0 + + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 10. 40. 100. + 2 + 10. 40. 100. 200. + 3.0 + + + + + + POSTNAT + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 6.0 + + + + HGT_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + -5.0 + + + + TMP_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + -4.0 + + + + SPFH_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 4.0 + + + + UGRD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + -4.0 + + + + VGRD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + -4.0 + + + + VVEL_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + -5.0 + + + + CLMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + ICMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + RWMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 5.0 + + + + SNMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + GRLE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + NCCD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + NCIP_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 5.0 + + + + NCWFA_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + NCIFA_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + TKE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + -2.0 + + + + FRACCC_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 3.0 + + + + SMOKE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. + 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. + 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. + 6.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 10. 40. 100. + 2 + 10. 40. 100. 200. + 4.0 + + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 10. 40. 100. + 2 + 10. 40. 100. 200. + 3.0 + + + + + diff --git a/parm/mpas/hfip_mpas_postcntrl.xml b/parm/mpas/hfip_mpas_postcntrl.xml new file mode 100755 index 0000000000..bc716f2f97 --- /dev/null +++ b/parm/mpas/hfip_mpas_postcntrl.xml @@ -0,0 +1,1189 @@ + + + + 2DFLD + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + + VEG_ON_SURFACE + 3.0 + + + + VEG_MIN_ON_SURFACE + 3.0 + + + + VEG_MAX_ON_SURFACE + 3.0 + + + + LAI_ON_SURFACE + -3.0 + + + + MAPS_PRMSL_ON_MEAN_SEA_LVL + -0.1 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 3.0 + + + + GSD_POT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 + + + + SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + PRES_ON_SURFACE + 4.0 + + + + WEASD_ON_SURFACE + -5.0 + + + + SNOWC_ON_SURFACE + 3.0 + + + + SNOD_ON_SURFACE + 5.0 + + + + GSD_ACM_SNOD_ON_SURFACE + 5.0 + + + + VGTYP_ON_SURFACE + NCEP + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + 50000. + 100000. + 3.0 + + + + ICEC_ON_SURFACE + 1.0 + + + + CAPE_ON_SURFACE + 3.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + 9000. + 0. + 3.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + 25500. + 0. + 3.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + 3.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + 9000. + 0. + 3.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + 25500. + 0. + 3.0 + + + + HGT_ON_LFC + 6.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + NCEP + 25500. + 0. + 3.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + -3.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + DENDRITIC_LAYER_DEPTH + NCEP + 261. + 256. + 4.0 + + + + ENHANCED_STRETCHING_POTENTIAL + NCEP + 0. + 3000. + 4.0 + + + + CRITICAL_ANGLE + NCEP + 0. + 500. + 4.0 + + + + ACM_APCP_ON_SURFACE + 5.0 + + + + ACM_WEASD_ON_SURFACE + 5.0 + + + + ACM_GRAUPEL_ON_SURFACE + 6.0 + + + + ACM_FRAIN_ON_SURFACE + 6.0 + + + + BUCKET_WEASD_ON_SURFACE + 5.0 + + + + BUCKET_APCP_ON_SURFACE + 5.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + GSD_CSNOW_ON_SURFACE + 1.0 + + + + GSD_CICEP_ON_SURFACE + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + GSD_INST_CRAIN_ON_SURFACE + 1.0 + + + + INST_PRATE_ON_SURFACE + 3.0 + + + + GSD_HGT_ON_CLOUD_CEILING + -3.0 + + + + HGT_ON_CLOUD_BASE + -3.0 + + + + HGT_ON_CLOUD_TOP + -3.0 + + + + HPBL_ON_SURFACE + -4.0 + + + + REFC_ON_ENTIRE_ATMOS + NCEP + -4.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + NCEP + spec_hgt_lvl_above_grnd + 1000. + -4.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + NCEP + -4.0 + + + + REFD_ON_ISOTHERMAL + NCEP + isothermal + 263. + -4.0 + + + + GSD_VIS_ON_SURFACE + 2.7 + + + + TMP_ON_SURFACE + -4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + NCEP + -4.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + NCEP + 3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + NCEP + 3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + NCEP + 3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN + 3.0 + + + + MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL + 3.0 + + + + AVE_DZDT_ON_SIGMA_LVL_0.5-0.8 + -4.0 + + + + MAXVIG_ON_ENTIRE_ATMOS_SINGLE_LYR + 3.0 + + + + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + -3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + 0. + 6000. + -4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + 0. + 6000. + -4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 0. + 1000. + -4.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 0. + 1000. + -4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + 0. + 6000. + -4.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + 0. + 6000. + -4.0 + + + + GUST_ON_SURFACE + -4.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + 3.0 + + + + LCDC_ON_LOW_CLOUD_LYR + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + 3.0 + + + + TCDC_ON_BOUND_LYR + 3.0 + + + + LAND_ON_SURFACE + 1.0 + + + + GSD_ECHOTOP_ON_CLOUD_TOP + 6.0 + + + + VIL_ON_ENTIRE_ATMOS + 6.0 + + + + HGT_ON_EQUIL_LVL + -1.0 + + + + GSD_MAX_LTG_THREAT1_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + NCEP + -4.0 + + + + GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_4km + NCEP + -4.0 + + + + PRES_ON_CLOUD_BASE + 3.0 + + + + PRES_ON_CLOUD_TOP + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND + 80. + -4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND + 80. + -4.0 + + + + HGT_ON_0C_ISOTHERM + 6.0 + + + + RH_ON_0C_ISOTHERM + -0.1 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + -0.1 + + + + HGT_ON_HGHST_TROP_-10C_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_-20C_LVL + 3.0 + + + + CPOFP_ON_SURFACE + -4.0 + + + + INST_DSWRF_ON_SURFACE + 4.0 + + + + INST_DLWRF_ON_SURFACE + 4.0 + + + + INST_USWRF_ON_SURFACE + -3.0 + + + + INST_ULWRF_ON_SURFACE + -3.0 + + + + INST_SWDDNI_ON_SURFACE + 4.0 + + + + INST_SWDDIF_ON_SURFACE + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + 4.0 + + + + INST_USWRF_ON_TOP_OF_ATMOS + 4.0 + + + + INST_GFLUX_ON_SURFACE + 3.0 + + + + INST_SHTFL_ON_SURFACE + 3.0 + + + + INST_LHTFL_ON_SURFACE + 3.0 + + + + ACM_SSRUN_ON_SURFACE + -3.0 + + + + ACM_BGRUN_ON_SURFACE + -3.0 + + + + CNWAT_ON_SURFACE + 1.0 + + + + SFCR_ON_SURFACE + 4.0 + + + + FRICV_ON_SURFACE + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + NCEP + 3.0 + + + + MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + HGT_ON_SURFACE + -5.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 70000. + -5.0 + + + + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + MEAN_FIRE_RDIATV_PWR + 4.0 + + + + TCOLW_ON_ENTIRE_ATMOS + 5.0 + + + + TCOLI_ON_ENTIRE_ATMOS + 6.0 + + + + + + PRSLEV + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 101320. + -5.0 + + + + TMP_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + RH_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -3.0 + + + + DPT_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + SPFH_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 4.0 + + + + VVEL_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -5.0 + + + + UGRD_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + VGRD_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + ABSV_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + CLMR_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + CICE_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + RWMR_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + GRMR_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + + + NATLEV + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 6.0 + + + + HGT_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + -5.0 + + + + TMP_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + -4.0 + + + + SPFH_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 4.0 + + + + UGRD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + -4.0 + + + + VGRD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + -4.0 + + + + VVEL_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + -5.0 + + + + CLMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 3.0 + + + + CICE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 3.0 + + + + RWMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 5.0 + + + + SNMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 3.0 + + + + GRMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 3.0 + + + + NCCD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 3.0 + + + + NCIP_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 5.0 + + + + NCWFA_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 3.0 + + + + NCIFA_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 3.0 + + + + TKE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + -2.0 + + + + FRACCC_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 3.0 + + + + SMOKE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. + 6.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. + 2 + 0. 1. + 3.0 + + + + + diff --git a/parm/mpas/postxconfig-NT-global_mpas.txt b/parm/mpas/postxconfig-NT-global_mpas.txt new file mode 100644 index 0000000000..9d28c6e195 --- /dev/null +++ b/parm/mpas/postxconfig-NT-global_mpas.txt @@ -0,0 +1,7738 @@ +3 +22 +16 +145 +POSTTWO +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +5 +50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +5 +50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +4 +50000. 70000. 85000. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +7 +25000. 30000. 50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +7 +25000. 30000. 50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +726 +VEG_MIN_ON_SURFACE +? +1 +tmpl4_0 +VEGMIN +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +729 +VEG_MAX_ON_SURFACE +? +1 +tmpl4_0 +VEGMAX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +445 +MAPS_PRMSL_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLMA +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +546 +GSD_POT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +POT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +739 +SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +725 +GSD_ACM_SNOD_ON_SURFACE +? +1 +tmpl4_8 +ASNOW +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +952 +HGT_ON_LFC +? +1 +tmpl4_0 +HGT +? +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +955 +DENDRITIC_LAYER_DEPTH +? +1 +tmpl4_0 +LAYTH +NCEP +? +isothermal +0 +? +1 +261. +isothermal +0 +? +1 +256. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +956 +ENHANCED_STRETCHING_POTENTIAL +? +1 +tmpl4_0 +ESP +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +35 +ACM_WEASD_ON_SURFACE +? +1 +tmpl4_8 +WEASD +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +746 +ACM_GRAUPEL_ON_SURFACE +? +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +782 +ACM_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +437 +BUCKET_WEASD_ON_SURFACE +bucket snow precipitation on surface +1 +tmpl4_8 +WEASD +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +434 +BUCKET_APCP_ON_SURFACE +bucket Total precipitation on surface +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +487 +GSD_EXP_CEILING +? +1 +tmpl4_0 +CEIL +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +711 +GSD_EXP_CEILING_2 +? +1 +tmpl4_0 +CEIL +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +REFD +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +NCEP +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +783 +MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum u wind on 10 meter Above Ground +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +784 +MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum v wind on 10 meter Above Ground +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +788 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +789 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +794 +MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN +? +1 +tmpl4_8 +HAIL +? +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +795 +MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL +? +1 +tmpl4_8 +HAIL +? +MAX +sigma_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +728 +GSD_HAILCAST_HAIL_DIAMETER +? +1 +tmpl4_8 +HAIL +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +425 +AVE_DZDT_ON_SIGMA_LVL_0.5-0.8 +average Vertical velocity between sigma lvl 0.5 and 0.8 +1 +tmpl4_8 +DZDT +? +AVE +sigma_lvl +1 +2 +1 +50. +sigma_lvl +1 +2 +1 +80. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +429 +MAXVIG_ON_ENTIRE_ATMOS_SINGLE_LYR +Hourly Maximum of Column Vertical Integrated Graupel on entire atmosphere +1 +tmpl4_8 +MAXVIG +? +MAX +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +HGT +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +768 +GSD_ECHOTOP_ON_CLOUD_TOP +Echo top height (Highest height in meters of the 18-dBZ reflectivity on a model level) +1 +tmpl4_0 +RETOP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +769 +TCOLP_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLP +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-1.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +748 +GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +? +1 +tmpl4_0 +REFD +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +757 +GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_4km +? +1 +tmpl4_0 +REFD +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +4000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +412 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND +U-Component of Wind on Specified Height Level Above Ground +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +413 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND +V-Component of Wind on Specified Height Level Above Ground +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +776 +HGT_ON_HGHST_TROP_-10C_LVL +height on highest tropospheric -10C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +719 +INST_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +USWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +123 +ACM_BGRUN_ON_SURFACE +? +1 +tmpl4_8 +BGRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +1 +70000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +736 +SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +740 +MEAN_FIRE_RDIATV_PWR +? +1 +tmpl4_0 +CFNSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +200 +TCOLW_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLW +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +201 +TCOLI_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLI +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +POSTPRS +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +57 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +20 +VVEL_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VVEL +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +POSTNAT +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +9 +VVEL_ON_HYBRID_LVL +? +1 +tmpl4_0 +VVEL +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +124 +CLMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +CLMR +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +125 +ICMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +ICMR +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +181 +RWMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +RWMR +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +182 +SNMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +SNMR +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +415 +GRLE_ON_HYBRID_LVL +Graupel mixing ration on hybrid level +1 +tmpl4_0 +GRLE +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +766 +NCWFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTF +NCEP +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +767 +NCIFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTC +NCEP +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +11 +TKE_ON_HYBRID_LVL +? +1 +tmpl4_0 +TKE +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +774 +FRACCC_ON_HYBRID_LVL +? +1 +tmpl4_0 +FRACCC +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +737 +SMOKE_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? diff --git a/parm/mpas/postxconfig-NT-global_mpas_noah.txt b/parm/mpas/postxconfig-NT-global_mpas_noah.txt new file mode 100644 index 0000000000..e7a7460b3e --- /dev/null +++ b/parm/mpas/postxconfig-NT-global_mpas_noah.txt @@ -0,0 +1,7738 @@ +3 +22 +16 +145 +POSTTWO +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +5 +50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +5 +50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +4 +50000. 70000. 85000. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +7 +25000. 30000. 50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +7 +25000. 30000. 50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +726 +VEG_MIN_ON_SURFACE +? +1 +tmpl4_0 +VEGMIN +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +729 +VEG_MAX_ON_SURFACE +? +1 +tmpl4_0 +VEGMAX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +445 +MAPS_PRMSL_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLMA +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +546 +GSD_POT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +POT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +739 +SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +725 +GSD_ACM_SNOD_ON_SURFACE +? +1 +tmpl4_8 +ASNOW +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +952 +HGT_ON_LFC +? +1 +tmpl4_0 +HGT +? +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +955 +DENDRITIC_LAYER_DEPTH +? +1 +tmpl4_0 +LAYTH +NCEP +? +isothermal +0 +? +1 +261. +isothermal +0 +? +1 +256. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +956 +ENHANCED_STRETCHING_POTENTIAL +? +1 +tmpl4_0 +ESP +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +35 +ACM_WEASD_ON_SURFACE +? +1 +tmpl4_8 +WEASD +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +746 +ACM_GRAUPEL_ON_SURFACE +? +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +782 +ACM_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +437 +BUCKET_WEASD_ON_SURFACE +bucket snow precipitation on surface +1 +tmpl4_8 +WEASD +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +434 +BUCKET_APCP_ON_SURFACE +bucket Total precipitation on surface +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +487 +GSD_EXP_CEILING +? +1 +tmpl4_0 +CEIL +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +711 +GSD_EXP_CEILING_2 +? +1 +tmpl4_0 +CEIL +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +REFD +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +NCEP +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +783 +MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum u wind on 10 meter Above Ground +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +784 +MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum v wind on 10 meter Above Ground +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +788 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +789 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +794 +MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN +? +1 +tmpl4_8 +HAIL +? +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +795 +MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL +? +1 +tmpl4_8 +HAIL +? +MAX +sigma_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +728 +GSD_HAILCAST_HAIL_DIAMETER +? +1 +tmpl4_8 +HAIL +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +425 +AVE_DZDT_ON_SIGMA_LVL_0.5-0.8 +average Vertical velocity between sigma lvl 0.5 and 0.8 +1 +tmpl4_8 +DZDT +? +AVE +sigma_lvl +1 +2 +1 +50. +sigma_lvl +1 +2 +1 +80. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +429 +MAXVIG_ON_ENTIRE_ATMOS_SINGLE_LYR +Hourly Maximum of Column Vertical Integrated Graupel on entire atmosphere +1 +tmpl4_8 +MAXVIG +? +MAX +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +HGT +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +768 +GSD_ECHOTOP_ON_CLOUD_TOP +Echo top height (Highest height in meters of the 18-dBZ reflectivity on a model level) +1 +tmpl4_0 +RETOP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +769 +TCOLP_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLP +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-1.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +748 +GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +? +1 +tmpl4_0 +REFD +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +757 +GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_4km +? +1 +tmpl4_0 +REFD +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +4000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +412 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND +U-Component of Wind on Specified Height Level Above Ground +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +413 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND +V-Component of Wind on Specified Height Level Above Ground +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +776 +HGT_ON_HGHST_TROP_-10C_LVL +height on highest tropospheric -10C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +719 +INST_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +USWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +123 +ACM_BGRUN_ON_SURFACE +? +1 +tmpl4_8 +BGRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +1 +70000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +736 +SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +740 +MEAN_FIRE_RDIATV_PWR +? +1 +tmpl4_0 +CFNSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +200 +TCOLW_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLW +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +201 +TCOLI_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLI +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +POSTPRS +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +57 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +20 +VVEL_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VVEL +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +58 +2. 3. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +1 +2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +1 +2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +POSTNAT +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +9 +VVEL_ON_HYBRID_LVL +? +1 +tmpl4_0 +VVEL +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +124 +CLMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +CLMR +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +125 +ICMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +ICMR +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +181 +RWMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +RWMR +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +182 +SNMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +SNMR +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +415 +GRLE_ON_HYBRID_LVL +Graupel mixing ration on hybrid level +1 +tmpl4_0 +GRLE +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +766 +NCWFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTF +NCEP +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +767 +NCIFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTC +NCEP +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +11 +TKE_ON_HYBRID_LVL +? +1 +tmpl4_0 +TKE +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +774 +FRACCC_ON_HYBRID_LVL +? +1 +tmpl4_0 +FRACCC +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +737 +SMOKE_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +125 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +1 +2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +1 +2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? diff --git a/parm/mpas/postxconfig-NT-hfip_mpas.txt b/parm/mpas/postxconfig-NT-hfip_mpas.txt new file mode 100644 index 0000000000..1c2a9a2210 --- /dev/null +++ b/parm/mpas/postxconfig-NT-hfip_mpas.txt @@ -0,0 +1,7066 @@ +3 +19 +14 +134 +2DFLD +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +726 +VEG_MIN_ON_SURFACE +? +1 +tmpl4_0 +VEGMIN +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +729 +VEG_MAX_ON_SURFACE +? +1 +tmpl4_0 +VEGMAX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +445 +MAPS_PRMSL_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLMA +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +546 +GSD_POT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +POT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +739 +SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +725 +GSD_ACM_SNOD_ON_SURFACE +? +1 +tmpl4_8 +ASNOW +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +952 +HGT_ON_LFC +? +1 +tmpl4_0 +HGT +? +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +955 +DENDRITIC_LAYER_DEPTH +? +1 +tmpl4_0 +LAYTH +NCEP +? +isothermal +0 +? +1 +261. +isothermal +0 +? +1 +256. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +956 +ENHANCED_STRETCHING_POTENTIAL +? +1 +tmpl4_0 +ESP +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +35 +ACM_WEASD_ON_SURFACE +? +1 +tmpl4_8 +WEASD +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +746 +ACM_GRAUPEL_ON_SURFACE +? +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +782 +ACM_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +437 +BUCKET_WEASD_ON_SURFACE +bucket snow precipitation on surface +1 +tmpl4_8 +WEASD +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +434 +BUCKET_APCP_ON_SURFACE +bucket Total precipitation on surface +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +REFD +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +NCEP +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +783 +MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum u wind on 10 meter Above Ground +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +784 +MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum v wind on 10 meter Above Ground +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +788 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +789 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +794 +MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN +? +1 +tmpl4_8 +HAIL +? +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +795 +MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL +? +1 +tmpl4_8 +HAIL +? +MAX +sigma_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +425 +AVE_DZDT_ON_SIGMA_LVL_0.5-0.8 +average Vertical velocity between sigma lvl 0.5 and 0.8 +1 +tmpl4_8 +DZDT +? +AVE +sigma_lvl +1 +2 +1 +50. +sigma_lvl +1 +2 +1 +80. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +429 +MAXVIG_ON_ENTIRE_ATMOS_SINGLE_LYR +Hourly Maximum of Column Vertical Integrated Graupel on entire atmosphere +1 +tmpl4_8 +MAXVIG +? +MAX +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +HGT +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +768 +GSD_ECHOTOP_ON_CLOUD_TOP +Echo top height (Highest height in meters of the 18-dBZ reflectivity on a model level) +1 +tmpl4_0 +RETOP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-1.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +748 +GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +? +1 +tmpl4_0 +REFD +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +757 +GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_4km +? +1 +tmpl4_0 +REFD +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +4000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +412 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND +U-Component of Wind on Specified Height Level Above Ground +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +413 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND +V-Component of Wind on Specified Height Level Above Ground +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +776 +HGT_ON_HGHST_TROP_-10C_LVL +height on highest tropospheric -10C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +719 +INST_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +USWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +123 +ACM_BGRUN_ON_SURFACE +? +1 +tmpl4_8 +BGRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +1 +70000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +736 +SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +740 +MEAN_FIRE_RDIATV_PWR +? +1 +tmpl4_0 +CFNSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +200 +TCOLW_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLW +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +201 +TCOLI_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLI +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +PRSLEV +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +39 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +20 +VVEL_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VVEL +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +NATLEV +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +9 +VVEL_ON_HYBRID_LVL +? +1 +tmpl4_0 +VVEL +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +124 +CLMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +CLMR +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +181 +RWMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +RWMR +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +182 +SNMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +SNMR +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +766 +NCWFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTF +NCEP +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +767 +NCIFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTC +NCEP +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +11 +TKE_ON_HYBRID_LVL +? +1 +tmpl4_0 +TKE +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +774 +FRACCC_ON_HYBRID_LVL +? +1 +tmpl4_0 +FRACCC +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +737 +SMOKE_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +79 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +2 +0. 1. +depth_bel_land_sfc +1 +2 +2 +0. 1. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? diff --git a/parm/mpas/postxconfig-NT-rrfs_mpas.txt b/parm/mpas/postxconfig-NT-rrfs_mpas.txt new file mode 100644 index 0000000000..6ac6ccc598 --- /dev/null +++ b/parm/mpas/postxconfig-NT-rrfs_mpas.txt @@ -0,0 +1,8200 @@ +3 +23 +16 +155 +POSTTWO +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +5 +50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +5 +50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +4 +50000. 70000. 85000. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +7 +25000. 30000. 50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +7 +25000. 30000. 50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +726 +VEG_MIN_ON_SURFACE +? +1 +tmpl4_0 +VEGMIN +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +729 +VEG_MAX_ON_SURFACE +? +1 +tmpl4_0 +VEGMAX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +445 +MAPS_PRMSL_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLMA +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +546 +GSD_POT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +POT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +739 +SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +725 +GSD_ACM_SNOD_ON_SURFACE +? +1 +tmpl4_8 +ASNOW +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +952 +HGT_ON_LFC +? +1 +tmpl4_0 +HGT +? +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +955 +DENDRITIC_LAYER_DEPTH +? +1 +tmpl4_0 +LAYTH +NCEP +? +isothermal +0 +? +1 +261. +isothermal +0 +? +1 +256. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +956 +ENHANCED_STRETCHING_POTENTIAL +? +1 +tmpl4_0 +ESP +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +35 +ACM_WEASD_ON_SURFACE +? +1 +tmpl4_8 +WEASD +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +746 +ACM_GRAUPEL_ON_SURFACE +? +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +782 +ACM_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +437 +BUCKET_WEASD_ON_SURFACE +bucket snow precipitation on surface +1 +tmpl4_8 +WEASD +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +434 +BUCKET_APCP_ON_SURFACE +bucket Total precipitation on surface +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +508 +MAX_PRATE_ON_SURFACE +Maximum Precipitation Rate on surface +1 +tmpl4_8 +PRATE +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +518 +MAX_PRATE_1MIN_ON_SURFACE +Maximum 1-minute average precipitation rate on surface +1 +tmpl4_8 +PRATE1MIN +NCEP +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +519 +MAX_PRATE_5MIN_ON_SURFACE +Maximum 5-minute average precipitation rate on surface +1 +tmpl4_8 +PRATE5MIN +NCEP +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +520 +MAX_PRATE_10MIN_ON_SURFACE +Maximum 10-minute average precipitation rate on surface +1 +tmpl4_8 +PRATE10MIN +NCEP +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +487 +GSD_EXP_CEILING +? +1 +tmpl4_0 +CEIL +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +711 +GSD_EXP_CEILING_2 +? +1 +tmpl4_0 +CEIL +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +REFD +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +NCEP +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +783 +MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum u wind on 10 meter Above Ground +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +784 +MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum v wind on 10 meter Above Ground +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +788 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +789 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +794 +MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN +? +1 +tmpl4_8 +HAIL +? +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +795 +MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL +? +1 +tmpl4_8 +HAIL +? +MAX +sigma_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +425 +AVE_DZDT_ON_SIGMA_LVL_0.5-0.8 +average Vertical velocity between sigma lvl 0.5 and 0.8 +1 +tmpl4_8 +DZDT +? +AVE +sigma_lvl +1 +2 +1 +50. +sigma_lvl +1 +2 +1 +80. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +429 +MAXVIG_ON_ENTIRE_ATMOS_SINGLE_LYR +Hourly Maximum of Column Vertical Integrated Graupel on entire atmosphere +1 +tmpl4_8 +MAXVIG +? +MAX +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +HGT +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +768 +GSD_ECHOTOP_ON_CLOUD_TOP +Echo top height (Highest height in meters of the 18-dBZ reflectivity on a model level) +1 +tmpl4_0 +RETOP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +769 +TCOLP_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLP +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-1.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +748 +GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +? +1 +tmpl4_0 +REFD +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +757 +GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_4km +? +1 +tmpl4_0 +REFD +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +4000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +412 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND +U-Component of Wind on Specified Height Level Above Ground +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +413 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND +V-Component of Wind on Specified Height Level Above Ground +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +776 +HGT_ON_HGHST_TROP_-10C_LVL +height on highest tropospheric -10C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +719 +INST_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +USWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +123 +ACM_BGRUN_ON_SURFACE +? +1 +tmpl4_8 +BGRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +1 +70000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +457 +NON_NADIR_SBT123_ON_TOP_OF_ATMOS +Simulated Brightness Temperature for GOES12, Channel 3 on top of atmosphere +1 +tmpl4_0 +SBT123 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +458 +NON_NADIR_SBT124_ON_TOP_OF_ATMOS +Simulated Brightness Temperature for GOES12, Channel 4 on top of atmosphere +1 +tmpl4_0 +SBT124 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +461 +SBT113_ON_TOP_OF_ATMOS +Simulated Brightness Temperature for GOES11, Channel 3 on top of atmosphere +1 +tmpl4_0 +SBT113 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +461 +SBT113_ON_TOP_OF_ATMOS +Simulated Brightness Temperature for GOES11, Channel 3 on top of atmosphere +1 +tmpl4_0 +SBT113 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +462 +SBT114_ON_TOP_OF_ATMOS +Simulated Brightness Temperature for GOES11, Channel 4 on top of atmosphere +1 +tmpl4_0 +SBT114 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +462 +SBT114_ON_TOP_OF_ATMOS +Simulated Brightness Temperature for GOES11, Channel 4 on top of atmosphere +1 +tmpl4_0 +SBT114 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +736 +SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +740 +MEAN_FIRE_RDIATV_PWR +? +1 +tmpl4_0 +CFNSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +200 +TCOLW_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLW +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +201 +TCOLI_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLI +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +244 +MAX_REFC_ON_ENTIRE_ATMOS +time-maximum composite reflectivity +1 +tmpl4_8 +MAXREFC +NCEP +MAX +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +POSTPRS +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +39 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +20 +VVEL_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VVEL +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +POSTNAT +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +9 +VVEL_ON_HYBRID_LVL +? +1 +tmpl4_0 +VVEL +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +124 +CLMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +CLMR +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +125 +ICMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +ICMR +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +181 +RWMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +RWMR +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +182 +SNMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +SNMR +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +415 +GRLE_ON_HYBRID_LVL +Graupel mixing ration on hybrid level +1 +tmpl4_0 +GRLE +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +1023 +NCGRAUP_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCG +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +766 +NCWFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTF +NCEP +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +767 +NCIFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTC +NCEP +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +11 +TKE_ON_HYBRID_LVL +? +1 +tmpl4_0 +TKE +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +774 +FRACCC_ON_HYBRID_LVL +? +1 +tmpl4_0 +FRACCC +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +737 +SMOKE_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +59 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? diff --git a/parm/mpas/postxconfig-NT-rrfs_mpas_L65.txt b/parm/mpas/postxconfig-NT-rrfs_mpas_L65.txt new file mode 100644 index 0000000000..c3c0a6ead0 --- /dev/null +++ b/parm/mpas/postxconfig-NT-rrfs_mpas_L65.txt @@ -0,0 +1,8200 @@ +3 +23 +16 +155 +POSTTWO +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +5 +50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +5 +50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +4 +50000. 70000. 85000. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +7 +25000. 30000. 50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +7 +25000. 30000. 50000. 70000. 85000. 92500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +726 +VEG_MIN_ON_SURFACE +? +1 +tmpl4_0 +VEGMIN +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +729 +VEG_MAX_ON_SURFACE +? +1 +tmpl4_0 +VEGMAX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +445 +MAPS_PRMSL_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLMA +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +546 +GSD_POT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +POT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +739 +SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +725 +GSD_ACM_SNOD_ON_SURFACE +? +1 +tmpl4_8 +ASNOW +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +952 +HGT_ON_LFC +? +1 +tmpl4_0 +HGT +? +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +955 +DENDRITIC_LAYER_DEPTH +? +1 +tmpl4_0 +LAYTH +NCEP +? +isothermal +0 +? +1 +261. +isothermal +0 +? +1 +256. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +956 +ENHANCED_STRETCHING_POTENTIAL +? +1 +tmpl4_0 +ESP +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +35 +ACM_WEASD_ON_SURFACE +? +1 +tmpl4_8 +WEASD +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +746 +ACM_GRAUPEL_ON_SURFACE +? +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +782 +ACM_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +437 +BUCKET_WEASD_ON_SURFACE +bucket snow precipitation on surface +1 +tmpl4_8 +WEASD +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +434 +BUCKET_APCP_ON_SURFACE +bucket Total precipitation on surface +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +508 +MAX_PRATE_ON_SURFACE +Maximum Precipitation Rate on surface +1 +tmpl4_8 +PRATE +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +518 +MAX_PRATE_1MIN_ON_SURFACE +Maximum 1-minute average precipitation rate on surface +1 +tmpl4_8 +PRATE1MIN +NCEP +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +519 +MAX_PRATE_5MIN_ON_SURFACE +Maximum 5-minute average precipitation rate on surface +1 +tmpl4_8 +PRATE5MIN +NCEP +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +520 +MAX_PRATE_10MIN_ON_SURFACE +Maximum 10-minute average precipitation rate on surface +1 +tmpl4_8 +PRATE10MIN +NCEP +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +487 +GSD_EXP_CEILING +? +1 +tmpl4_0 +CEIL +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +711 +GSD_EXP_CEILING_2 +? +1 +tmpl4_0 +CEIL +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +NCEP +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +REFD +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +NCEP +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +783 +MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum u wind on 10 meter Above Ground +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +784 +MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum v wind on 10 meter Above Ground +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +788 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +789 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +794 +MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN +? +1 +tmpl4_8 +HAIL +? +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +795 +MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL +? +1 +tmpl4_8 +HAIL +? +MAX +sigma_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +425 +AVE_DZDT_ON_SIGMA_LVL_0.5-0.8 +average Vertical velocity between sigma lvl 0.5 and 0.8 +1 +tmpl4_8 +DZDT +? +AVE +sigma_lvl +1 +2 +1 +50. +sigma_lvl +1 +2 +1 +80. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +429 +MAXVIG_ON_ENTIRE_ATMOS_SINGLE_LYR +Hourly Maximum of Column Vertical Integrated Graupel on entire atmosphere +1 +tmpl4_8 +MAXVIG +? +MAX +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +HGT +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +768 +GSD_ECHOTOP_ON_CLOUD_TOP +Echo top height (Highest height in meters of the 18-dBZ reflectivity on a model level) +1 +tmpl4_0 +RETOP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +769 +TCOLP_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLP +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-1.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +748 +GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +? +1 +tmpl4_0 +REFD +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +757 +GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_4km +? +1 +tmpl4_0 +REFD +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +4000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +412 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND +U-Component of Wind on Specified Height Level Above Ground +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +413 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND +V-Component of Wind on Specified Height Level Above Ground +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +776 +HGT_ON_HGHST_TROP_-10C_LVL +height on highest tropospheric -10C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +719 +INST_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +USWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +123 +ACM_BGRUN_ON_SURFACE +? +1 +tmpl4_8 +BGRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +1 +70000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +457 +NON_NADIR_SBT123_ON_TOP_OF_ATMOS +Simulated Brightness Temperature for GOES12, Channel 3 on top of atmosphere +1 +tmpl4_0 +SBT123 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +458 +NON_NADIR_SBT124_ON_TOP_OF_ATMOS +Simulated Brightness Temperature for GOES12, Channel 4 on top of atmosphere +1 +tmpl4_0 +SBT124 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +461 +SBT113_ON_TOP_OF_ATMOS +Simulated Brightness Temperature for GOES11, Channel 3 on top of atmosphere +1 +tmpl4_0 +SBT113 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +461 +SBT113_ON_TOP_OF_ATMOS +Simulated Brightness Temperature for GOES11, Channel 3 on top of atmosphere +1 +tmpl4_0 +SBT113 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +462 +SBT114_ON_TOP_OF_ATMOS +Simulated Brightness Temperature for GOES11, Channel 4 on top of atmosphere +1 +tmpl4_0 +SBT114 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +462 +SBT114_ON_TOP_OF_ATMOS +Simulated Brightness Temperature for GOES11, Channel 4 on top of atmosphere +1 +tmpl4_0 +SBT114 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +736 +SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +740 +MEAN_FIRE_RDIATV_PWR +? +1 +tmpl4_0 +CFNSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +200 +TCOLW_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLW +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +201 +TCOLI_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCOLI +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +244 +MAX_REFC_ON_ENTIRE_ATMOS +time-maximum composite reflectivity +1 +tmpl4_8 +MAXREFC +NCEP +MAX +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +POSTPRS +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +39 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +20 +VVEL_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VVEL +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +40 +5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +POSTNAT +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hrrr +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +9 +VVEL_ON_HYBRID_LVL +? +1 +tmpl4_0 +VVEL +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +124 +CLMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +CLMR +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +125 +ICMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +ICMR +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +181 +RWMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +RWMR +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +182 +SNMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +SNMR +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +415 +GRLE_ON_HYBRID_LVL +Graupel mixing ration on hybrid level +1 +tmpl4_0 +GRLE +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +1023 +NCGRAUP_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCG +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +766 +NCWFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTF +NCEP +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +767 +NCIFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTC +NCEP +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +11 +TKE_ON_HYBRID_LVL +? +1 +tmpl4_0 +TKE +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +774 +FRACCC_ON_HYBRID_LVL +? +1 +tmpl4_0 +FRACCC +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +737 +SMOKE_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +64 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? diff --git a/parm/mpas/rrfs_mpas_postcntrl.xml b/parm/mpas/rrfs_mpas_postcntrl.xml new file mode 100755 index 0000000000..16a138c078 --- /dev/null +++ b/parm/mpas/rrfs_mpas_postcntrl.xml @@ -0,0 +1,1237 @@ + + + + POSTTWO + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + TMP_ON_ISOBARIC_SFC + 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + DPT_ON_ISOBARIC_SFC + 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + HGT_ON_ISOBARIC_SFC + 50000. 70000. 85000. 100000. + -5.0 + + + + UGRD_ON_ISOBARIC_SFC + 25000. 30000. 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + VGRD_ON_ISOBARIC_SFC + 25000. 30000. 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + VEG_ON_SURFACE + 3.0 + + + + VEG_MIN_ON_SURFACE + 3.0 + + + + VEG_MAX_ON_SURFACE + 3.0 + + + + LAI_ON_SURFACE + -3.0 + + + + SOTYP_ON_SURFACE + 3.0 + + + + MAPS_PRMSL_ON_MEAN_SEA_LVL + -0.1 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 3.0 + + + + GSD_POT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 + + + + SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + PRES_ON_SURFACE + 4.0 + + + + WEASD_ON_SURFACE + -5.0 + + + + SNOWC_ON_SURFACE + 3.0 + + + + SNOD_ON_SURFACE + 5.0 + + + + GSD_ACM_SNOD_ON_SURFACE + 5.0 + + + + SDEN_ON_SURFACE + 6.0 + + + + VGTYP_ON_SURFACE + NCEP + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + 50000. + 100000. + 3.0 + + + + ICEC_ON_SURFACE + 1.0 + + + + CAPE_ON_SURFACE + 3.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + 9000. + 0. + 3.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + 25500. + 0. + 3.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + 3.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + 9000. + 0. + 3.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + 25500. + 0. + 3.0 + + + + HGT_ON_LFC + 6.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + NCEP + 25500. + 0. + 3.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + -3.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + DENDRITIC_LAYER_DEPTH + NCEP + 261. + 256. + 4.0 + + + + ENHANCED_STRETCHING_POTENTIAL + NCEP + 0. + 3000. + 4.0 + + + + CRITICAL_ANGLE + NCEP + 0. + 500. + 4.0 + + + + ACM_APCP_ON_SURFACE + 5.0 + + + + ACM_WEASD_ON_SURFACE + 5.0 + + + + ACM_GRAUPEL_ON_SURFACE + 6.0 + + + + ACM_FRAIN_ON_SURFACE + 6.0 + + + + BUCKET_WEASD_ON_SURFACE + 5.0 + + + + BUCKET_APCP_ON_SURFACE + 5.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + GSD_CSNOW_ON_SURFACE + 1.0 + + + + GSD_CICEP_ON_SURFACE + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + GSD_INST_CRAIN_ON_SURFACE + 1.0 + + + + INST_PRATE_ON_SURFACE + 3.0 + + + + MAX_PRATE_ON_SURFACE + 3.0 + + + + MAX_PRATE_1MIN_ON_SURFACE + 3.0 + + + + MAX_PRATE_5MIN_ON_SURFACE + 3.0 + + + + MAX_PRATE_10MIN_ON_SURFACE + 3.0 + + + + GSD_HGT_ON_CLOUD_CEILING + -3.0 + + + + GSD_EXP_CEILING + -3.0 + + + + GSD_EXP_CEILING_2 + -3.0 + + + + HGT_ON_CLOUD_BASE + -3.0 + + + + HGT_ON_CLOUD_TOP + -3.0 + + + + HPBL_ON_SURFACE + -4.0 + + + + REFC_ON_ENTIRE_ATMOS + NCEP + -4.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + NCEP + spec_hgt_lvl_above_grnd + 1000. + -4.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + NCEP + -4.0 + + + + REFD_ON_ISOTHERMAL + NCEP + isothermal + 263. + -4.0 + + + + GSD_VIS_ON_SURFACE + 2.7 + + + + TMP_ON_SURFACE + -4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + NCEP + -4.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + NCEP + 3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + NCEP + 3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + NCEP + 3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN + 3.0 + + + + MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL + 3.0 + + + + AVE_DZDT_ON_SIGMA_LVL_0.5-0.8 + -4.0 + + + + MAXVIG_ON_ENTIRE_ATMOS_SINGLE_LYR + 3.0 + + + + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + -3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + 0. + 6000. + -4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + 0. + 6000. + -4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 0. + 1000. + -4.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 0. + 1000. + -4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + 0. + 6000. + -4.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + 0. + 6000. + -4.0 + + + + GUST_ON_SURFACE + -4.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + 3.0 + + + + LCDC_ON_LOW_CLOUD_LYR + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + 3.0 + + + + TCDC_ON_BOUND_LYR + 3.0 + + + + LAND_ON_SURFACE + 1.0 + + + + GSD_ECHOTOP_ON_CLOUD_TOP + 6.0 + + + + VIL_ON_ENTIRE_ATMOS + 6.0 + + + + TCOLP_ON_ENTIRE_ATMOS + 6.0 + + + + HGT_ON_EQUIL_LVL + -1.0 + + + + GSD_MAX_LTG_THREAT1_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + NCEP + -4.0 + + + + GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_4km + NCEP + -4.0 + + + + PRES_ON_CLOUD_BASE + 3.0 + + + + PRES_ON_CLOUD_TOP + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND + 80. + -4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND + 80. + -4.0 + + + + HGT_ON_0C_ISOTHERM + 6.0 + + + + RH_ON_0C_ISOTHERM + -0.1 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + -0.1 + + + + HGT_ON_HGHST_TROP_-10C_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_-20C_LVL + 3.0 + + + + CPOFP_ON_SURFACE + -4.0 + + + + INST_DSWRF_ON_SURFACE + 4.0 + + + + INST_DLWRF_ON_SURFACE + 4.0 + + + + INST_USWRF_ON_SURFACE + -3.0 + + + + INST_ULWRF_ON_SURFACE + -3.0 + + + + INST_SWDDNI_ON_SURFACE + 4.0 + + + + INST_SWDDIF_ON_SURFACE + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + 4.0 + + + + INST_USWRF_ON_TOP_OF_ATMOS + 4.0 + + + + INST_GFLUX_ON_SURFACE + 3.0 + + + + INST_SHTFL_ON_SURFACE + 3.0 + + + + INST_LHTFL_ON_SURFACE + 3.0 + + + + ACM_SSRUN_ON_SURFACE + -3.0 + + + + ACM_BGRUN_ON_SURFACE + -3.0 + + + + CNWAT_ON_SURFACE + 1.0 + + + + SFCR_ON_SURFACE + 4.0 + + + + FRICV_ON_SURFACE + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + NCEP + 3.0 + + + + MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + HGT_ON_SURFACE + -5.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 70000. + -5.0 + + + + NON_NADIR_SBT123_ON_TOP_OF_ATMOS + 4.0 + + + + NON_NADIR_SBT124_ON_TOP_OF_ATMOS + 4.0 + + + + SBT113_ON_TOP_OF_ATMOS + 4.0 + + + + SBT114_ON_TOP_OF_ATMOS + 4.0 + + + + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + MEAN_FIRE_RDIATV_PWR + 4.0 + + + + TCOLW_ON_ENTIRE_ATMOS + 5.0 + + + + TCOLI_ON_ENTIRE_ATMOS + 6.0 + + + + MAX_REFC_ON_ENTIRE_ATMOS + -4.0 + + + + + + POSTPRS + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 101320. + -5.0 + + + + TMP_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + RH_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -3.0 + + + + DPT_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + SPFH_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 4.0 + + + + VVEL_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -5.0 + + + + UGRD_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + VGRD_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + ABSV_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + CLMR_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + ICMR_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + RWMR_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + GRLE_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + + + POSTNAT + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 6.0 + + + + HGT_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + -5.0 + + + + TMP_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + -4.0 + + + + SPFH_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 4.0 + + + + UGRD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + -4.0 + + + + VGRD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + -4.0 + + + + VVEL_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + -5.0 + + + + CLMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 3.0 + + + + ICMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 3.0 + + + + RWMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 5.0 + + + + SNMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 3.0 + + + + GRLE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 3.0 + + + + NCCD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 3.0 + + + + NCIP_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 5.0 + + + + NCGRAUP_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 3.0 + + + + NCWFA_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 3.0 + + + + NCIFA_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 3.0 + + + + TKE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + -2.0 + + + + FRACCC_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 3.0 + + + + SMOKE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 6.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + + diff --git a/parm/mpas/rrfs_mpas_postcntrl_L65.xml b/parm/mpas/rrfs_mpas_postcntrl_L65.xml new file mode 100755 index 0000000000..c257ae816d --- /dev/null +++ b/parm/mpas/rrfs_mpas_postcntrl_L65.xml @@ -0,0 +1,1258 @@ + + + + POSTTWO + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + TMP_ON_ISOBARIC_SFC + 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + DPT_ON_ISOBARIC_SFC + 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + HGT_ON_ISOBARIC_SFC + 50000. 70000. 85000. 100000. + -5.0 + + + + UGRD_ON_ISOBARIC_SFC + 25000. 30000. 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + VGRD_ON_ISOBARIC_SFC + 25000. 30000. 50000. 70000. 85000. 92500. 100000. + -4.0 + + + + VEG_ON_SURFACE + 3.0 + + + + VEG_MIN_ON_SURFACE + 3.0 + + + + VEG_MAX_ON_SURFACE + 3.0 + + + + LAI_ON_SURFACE + -3.0 + + + + SOTYP_ON_SURFACE + 3.0 + + + + MAPS_PRMSL_ON_MEAN_SEA_LVL + -0.1 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 3.0 + + + + GSD_POT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 + + + + SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + PRES_ON_SURFACE + 4.0 + + + + WEASD_ON_SURFACE + -5.0 + + + + SNOWC_ON_SURFACE + 3.0 + + + + SNOD_ON_SURFACE + 5.0 + + + + GSD_ACM_SNOD_ON_SURFACE + 5.0 + + + + SDEN_ON_SURFACE + 6.0 + + + + VGTYP_ON_SURFACE + NCEP + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + 50000. + 100000. + 3.0 + + + + ICEC_ON_SURFACE + 1.0 + + + + CAPE_ON_SURFACE + 3.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + 9000. + 0. + 3.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + 25500. + 0. + 3.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + 3.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + 18000. + 0. + 3.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + 9000. + 0. + 3.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + 25500. + 0. + 3.0 + + + + HGT_ON_LFC + 6.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + NCEP + 25500. + 0. + 3.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + -3.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + DENDRITIC_LAYER_DEPTH + NCEP + 261. + 256. + 4.0 + + + + ENHANCED_STRETCHING_POTENTIAL + NCEP + 0. + 3000. + 4.0 + + + + CRITICAL_ANGLE + NCEP + 0. + 500. + 4.0 + + + + ACM_APCP_ON_SURFACE + 5.0 + + + + ACM_WEASD_ON_SURFACE + 5.0 + + + + ACM_GRAUPEL_ON_SURFACE + 6.0 + + + + ACM_FRAIN_ON_SURFACE + 6.0 + + + + BUCKET_WEASD_ON_SURFACE + 5.0 + + + + BUCKET_APCP_ON_SURFACE + 5.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + GSD_CSNOW_ON_SURFACE + 1.0 + + + + GSD_CICEP_ON_SURFACE + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + GSD_INST_CRAIN_ON_SURFACE + 1.0 + + + + INST_PRATE_ON_SURFACE + 3.0 + + + + MAX_PRATE_ON_SURFACE + 3.0 + + + + MAX_PRATE_1MIN_ON_SURFACE + 3.0 + + + + MAX_PRATE_5MIN_ON_SURFACE + 3.0 + + + + MAX_PRATE_10MIN_ON_SURFACE + 3.0 + + + + GSD_HGT_ON_CLOUD_CEILING + -3.0 + + + + GSD_EXP_CEILING + -3.0 + + + + GSD_EXP_CEILING_2 + -3.0 + + + + HGT_ON_CLOUD_BASE + -3.0 + + + + HGT_ON_CLOUD_TOP + -3.0 + + + + HPBL_ON_SURFACE + -4.0 + + + + REFC_ON_ENTIRE_ATMOS + NCEP + -4.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + NCEP + spec_hgt_lvl_above_grnd + 1000. + -4.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + NCEP + -4.0 + + + + REFD_ON_ISOTHERMAL + NCEP + isothermal + 263. + -4.0 + + + + GSD_VIS_ON_SURFACE + 2.7 + + + + TMP_ON_SURFACE + -4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + NCEP + -4.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + NCEP + 3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + NCEP + 3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + NCEP + 3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + NCEP + 3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN + 3.0 + + + + MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL + 3.0 + + + + AVE_DZDT_ON_SIGMA_LVL_0.5-0.8 + -4.0 + + + + MAXVIG_ON_ENTIRE_ATMOS_SINGLE_LYR + 3.0 + + + + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + -3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + 0. + 6000. + -4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + 0. + 6000. + -4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 0. + 1000. + -4.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 0. + 1000. + -4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + 0. + 6000. + -4.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + 0. + 6000. + -4.0 + + + + GUST_ON_SURFACE + -4.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + 3.0 + + + + LCDC_ON_LOW_CLOUD_LYR + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + 3.0 + + + + TCDC_ON_BOUND_LYR + 3.0 + + + + LAND_ON_SURFACE + 1.0 + + + + GSD_ECHOTOP_ON_CLOUD_TOP + 6.0 + + + + VIL_ON_ENTIRE_ATMOS + 6.0 + + + + TCOLP_ON_ENTIRE_ATMOS + 6.0 + + + + HGT_ON_EQUIL_LVL + -1.0 + + + + GSD_MAX_LTG_THREAT1_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + 4.0 + + + + GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + NCEP + -4.0 + + + + GSD_REFL_ON_SPEC_HGT_LVL_ABOVE_GRND_4km + NCEP + -4.0 + + + + PRES_ON_CLOUD_BASE + 3.0 + + + + PRES_ON_CLOUD_TOP + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND + 80. + -4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND + 80. + -4.0 + + + + HGT_ON_0C_ISOTHERM + 6.0 + + + + RH_ON_0C_ISOTHERM + -0.1 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + -0.1 + + + + HGT_ON_HGHST_TROP_-10C_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_-20C_LVL + 3.0 + + + + CPOFP_ON_SURFACE + -4.0 + + + + INST_DSWRF_ON_SURFACE + 4.0 + + + + INST_DLWRF_ON_SURFACE + 4.0 + + + + INST_USWRF_ON_SURFACE + -3.0 + + + + INST_ULWRF_ON_SURFACE + -3.0 + + + + INST_SWDDNI_ON_SURFACE + 4.0 + + + + INST_SWDDIF_ON_SURFACE + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + 4.0 + + + + INST_USWRF_ON_TOP_OF_ATMOS + 4.0 + + + + INST_GFLUX_ON_SURFACE + 3.0 + + + + INST_SHTFL_ON_SURFACE + 3.0 + + + + INST_LHTFL_ON_SURFACE + 3.0 + + + + ACM_SSRUN_ON_SURFACE + -3.0 + + + + ACM_BGRUN_ON_SURFACE + -3.0 + + + + CNWAT_ON_SURFACE + 1.0 + + + + SFCR_ON_SURFACE + 4.0 + + + + FRICV_ON_SURFACE + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + NCEP + 3.0 + + + + MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + HGT_ON_SURFACE + -5.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 70000. + -5.0 + + + + NON_NADIR_SBT123_ON_TOP_OF_ATMOS + 4.0 + + + + NON_NADIR_SBT124_ON_TOP_OF_ATMOS + 4.0 + + + + SBT113_ON_TOP_OF_ATMOS + 4.0 + + + + SBT114_ON_TOP_OF_ATMOS + 4.0 + + + + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + MEAN_FIRE_RDIATV_PWR + 4.0 + + + + TCOLW_ON_ENTIRE_ATMOS + 5.0 + + + + TCOLI_ON_ENTIRE_ATMOS + 6.0 + + + + MAX_REFC_ON_ENTIRE_ATMOS + -4.0 + + + + + + POSTPRS + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 101320. + -5.0 + + + + TMP_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + RH_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -3.0 + + + + DPT_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + SPFH_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 4.0 + + + + VVEL_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -5.0 + + + + UGRD_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + VGRD_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + -4.0 + + + + ABSV_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + CLMR_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + ICMR_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + RWMR_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + GRLE_ON_ISOBARIC_SFC + 5000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. + 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. + 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 101320. + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + + + POSTNAT + 4 + ncep_emc + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hrrr + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 6.0 + + + + HGT_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + -5.0 + + + + TMP_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + -4.0 + + + + SPFH_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 4.0 + + + + UGRD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + -4.0 + + + + VGRD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + -4.0 + + + + VVEL_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + -5.0 + + + + CLMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 3.0 + + + + ICMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 3.0 + + + + RWMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 5.0 + + + + SNMR_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 3.0 + + + + GRLE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 3.0 + + + + NCCD_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 3.0 + + + + NCIP_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 5.0 + + + + NCGRAUP_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 3.0 + + + + NCWFA_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 3.0 + + + + NCIFA_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 3.0 + + + + TKE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + -2.0 + + + + FRACCC_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 3.0 + + + + SMOKE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. + 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. + 60. 61. 62. 63. 64. + 6.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + + diff --git a/parm/nam_cntrl_cmaq.parm b/parm/nam_cntrl_cmaq.parm deleted file mode 100644 index f7ef1a9fd5..0000000000 --- a/parm/nam_cntrl_cmaq.parm +++ /dev/null @@ -1,1304 +0,0 @@ - KGTYPE******I5*******:(00255)********START OF THIS OUTPUT GRID****** - IMDLTY *I5* :(00089) - DATSET *A6* :(BGDAWP) - (PRESS ON MDL SFCS ) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT ON MDL SFCS ) SCAL=(-5.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP ON MDL SFCS ) SCAL=(-4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TEMP ON MDL SFCS) SCAL=(-4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DWPT TEMP ON MDL SFC) SCAL=(-4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPEC HUM ON MDL SFCS) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUM ON MDL SFCS ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MST CNVG ON MDL SFCS) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND ON MDL SFCS ) SCAL=(-4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND ON MDL SFCS ) SCAL=(-4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (OMEGA ON MDL SFCS ) SCAL=(-5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (W WIND ON MDL SFCS ) SCAL=(-5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ABS VORT ON MDL SFCS) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (STRMFUNC ON MDL SFCS) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TRBLNT KE ON MDL SFC) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RCHDSN NO ON MDL SFC) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RAIN ON MDL SFCS ) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW ON MDL SFCS ) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (F_RimeF ON MDL SFCS ) SCAL=( 3.0) - 1=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONDENSATE MDL SFCS ) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADAR REFL MDL SFCS ) SCAL=(-4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MASTER LENGTH SCALE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ASYMPT MSTR LEN SCL ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT OF PRESS SFCS) SCAL=(-5.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (TEMP ON PRESS SFCS ) SCAL=(-4.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (POT TEMP ON P SFCS ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DWPT TEMP ON P SFCS ) SCAL=(-4.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (SPEC HUM ON P SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (REL HUMID ON P SFCS ) SCAL=(-3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (MST CNVG ON P SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00001 00010 00000 00000 00000 00000 00000) - (U WIND ON PRESS SFCS) SCAL=(-4.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (V WIND ON PRESS SFCS) SCAL=(-4.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (OMEGA ON PRESS SFCS ) SCAL=(-5.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (W WIND ON P SFCS ) SCAL=(-5.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (ABS VORT ON P SFCS ) SCAL=( 3.0) - L=(00000 00000 00010 10100 01000 10000 00010 10001 00100 10000 00000 00000 00000 00000) - (STRMFUNC ON P SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 10000 00000 10000 00000 00000 00000 00000 00000 00000 00000 00000) - (TRBLNT KE ON P SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (CLOUD ICE ON P SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (CLOUD WATR ON P SFCS) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (RAIN ON P SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (SNOW ON P SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (F_RimeF ON P SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (RADAR REFL ON P SFCS) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADFLX TMP TNDY ON P) SCAL=( 5.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (MESINGER MEAN SLP ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHUELL MEAN SLP ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER PRESSURE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER TEMPERATURE ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER SPEC HUMID ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER DEWPOINT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER REL HUMID ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT ANEMOM HT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT ANEMOM HT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC WIND GUST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFT PCL LVL PRESS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TEMP AT 10 M ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPEC HUM AT 10 M ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE PRESSURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE HEIGHT ) SCAL=(-2.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE POT TEMP ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE SPEC HUMID ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE DEWPOINT ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE REL HUMID ) SCAL=(-0.1) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC (SKIN) TEMPRATUR) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BOTTOM SOIL TEMP ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL TEMPERATURE ) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOISTURE ) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIQUID SOIL MOISTURE) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL SOIL MOISTURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PLANT CANOPY SFC WTR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW WATER EQUIVALNT) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PERCENT SNOW COVER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC EXCHANGE COEF ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GREEN VEG COVER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (VEGETATION TYPE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL TYPE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SLOPE TYPE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW FREE ALBEDO ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAXIMUM SNOW ALBEDO ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY CONDUCTANCE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND SOLAR ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND TEMP ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND HUMID ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND SOILM ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST REFERENCE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST POROSITY ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NO OF ROOT LAYERS ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MIN STOMATAL RESIST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW DEPTH ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AIR DRY SOIL MOIST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST WILT PT ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOISTURE AVAIL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST GROUND HEAT FLX) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--SURFCE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--BEST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--BNDLYR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CNVCT AVBL POT ENRGY) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CNVCT INHIBITION ) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRECIPITABLE WATER ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (STORM REL HELICITY ) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP STORM MOTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP STORM MOTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM TOTAL PRECIP ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM CONVCTIVE PRECIP) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM GRD SCALE PRECIP) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM SNOWFALL ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM SNOW TOTAL/MELT ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM STORM SFC RNOFF ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM BSFL-GDWR RNOFF ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTANT PRECIP TYPE ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTANT PRECIP RATE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV PRECIP RATE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (FROZEN FRAC CLD SCHM) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD WTR ON MDL SFCS ) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD ICE ON MDL SFCS ) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD FRAC ON MDL SFCS) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LOW CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MID CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HIGH CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL CLD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG TOTAL CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG STRAT CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG CNVCT CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (VISIBILITY ) SCAL=( 2.7) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LCL AGL HEIGHT ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LCL PRESSURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE GRDSCL RN TMPTDY) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE CNVCT RN TMPTDY ) SCAL=( 2.7) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADFLX CNVG TMP TNDY) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SW RAD TEMP TNDY ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LW RAD TEMP TNDY ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE INCMG SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE INCMG SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO TOA SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO TOA LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT TOA LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BRIGHTNESS TEMP ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BRIGHTNESS TEMP NCAR) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN CLR INC SFC SW) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ROUGHNESS LENGTH ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (FRICTION VELOCITY ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC DRAG COEFFICIENT) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC U WIND STRESS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC V WIND STRESS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC SENHEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE GROUND HEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SNO PHSCNG HT FX) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC LATHEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC MOMENTUM FX ) SCAL=(-3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACC SFC EVAPORATION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACC POT EVAPORATION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST SFC SENHEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST SFC LATHEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LATITUDE ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LONGITUDE ) SCAL=( 7.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LAND/SEA MASK ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SEA ICE MASK ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MASS POINT MDL SFC ) SCAL=( 2.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (VEL POINT MDL SFC ) SCAL=( 2.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC MIDDAY ALBEDO ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SEA SFC TEMPERATURE ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESS AT TROPOPAUSE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT AT TROPOPAUSE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP AT TROPOPAUSE ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POTENTL TEMP AT TROP) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT TROPOPAUSE) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT TROPOPAUSE) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHEAR AT TROPOPAUSE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - L=(22221 11111 11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT FD HEIGHTS) SCAL=(-4.0) - L=(22221 11111 11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT FD HEIGHTS) SCAL=(-4.0) - L=(22221 11111 11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPE HUM AT FD HEIGHT) SCAL=( 3.0) - L=(22221 11111 11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESS AT FD HEIGHTS ) SCAL=( 4.0) - L=(22221 11111 11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT OF FRZ LVL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUMID AT FRZ LVL) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HIGHEST FREEZE LVL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LOW WET BULB ZERO HT) SCAL=(-5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESS IN BNDRY LYR ) SCAL=( 3.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP IN BNDRY LYR ) SCAL=(-4.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TMP IN BNDRY LYR) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DWPT IN BNDRY LYR ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPC HUM IN BNDRY LYR) SCAL=( 3.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUM IN BNDRY LYR) SCAL=(-0.1) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MST CNV IN BNDRY LYR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (P WATER IN BNDRY LYR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND IN BNDRY LYR ) SCAL=(-4.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND IN BNDRY LYR ) SCAL=(-4.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (OMEGA IN BNDRY LYR ) SCAL=(-5.0) - L=(10100 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LFM 0.33-1.00 RELHUM) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LFM 0.66-1.00 RELHUM) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LFM 0.33-0.66 RELHUM) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LFM 0.33-1.00 PWAT ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.98230 PRESSURE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.98230 TMPRATUR) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.98230 SPC HUM ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.98230 REL HUM ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.98230 U WIND ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.98230 V WIND ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.89671 TMPRATUR) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.78483 TMPRATUR) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.47-1.00 RELHUM) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.47-0.96 RELHUM) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.18-0.47 RELHUM) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.84-0.98 RELHUM) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.85-1.00 QCONVG) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD BOT PRESSURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP PRESSURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP TEMPS ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD BOTTOM HEIGHT ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP HEIGHT ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP TEMPS ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX WIND PRESS LEVEL) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX WIND HGHT LEVEL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP MAX WIND ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP MAX WIND ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (COMPOSITE RADAR REFL) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (COMPOSITE RAIN REFL ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (COMPOSITE ICE REFL ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (COMPOSITE CONV REFL ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADAR REFL AGL ) SCAL=(-4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RAIN RADAR REFL AGL ) SCAL=(-4.0) - L=(01000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ICE RADAR REFL AGL ) SCAL=(-4.0) - L=(01000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV RADAR REFL AGL ) SCAL=(-4.0) - L=(01000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PBL HEIGHT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD BOT PRESS) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD TOP PRESS) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHAL CU CLD BOT PRES) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHAL CU CLD TOP PRES) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DEEP CU CLD BOT PRES) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DEEP CU CLD TOP PRES) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GRID CLOUD BOT PRESS) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GRID CLOUD TOP PRESS) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CU CLOUD EFFICIENCY ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN CLD WTR) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN CLD ICE) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN RAIN ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN SNOW ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COL CONDENSATE) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLD LIQUID ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL MELTING ICE ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (COLD LIQ BOT HEIGHT ) SCAL=(-5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (COLD LIQ TOP HEIGHT ) SCAL=(-5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CEILING ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM LSM PRECIP ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MODEL TOP PRESSURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOT COL SW T TNDY ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOT COL LW T TNDY ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOT COL GRD T TNDY ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOT COL CNVCT T TNDY) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOT COL MST CNVG ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HPC T ON SIGMA SFCS ) SCAL=(-4.0) - L=(11111 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PBL REGIME ) SCAL=( 2.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOT COL SW T TNDY ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOT COL LW T TNDY ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOT COL GRD T TNDY ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOT COL CNVCT T TNDY) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOT COL MST CNVG ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TRANSPORT U WIND ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TRANSPORT V WIND ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RICH NO PBL HEIGHT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MIXHT HEIGHT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADAR ECHO TOP ) SCAL=(-6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (IN-FLIGHT ICING ) SCAL=( 1.0) - L=(00000 00000 00000 00101 01010 10101 01010 10101 01010 00000 00000 00000 00000 00000) - (CLEAR AIR TURBULENCE) SCAL=( 1.0) - L=(00000 00000 01111 01010 10101 01000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND ON THETA SFCS) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND ON THETA SFCS) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP ON THETA SFCS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PV ON THETA SFCS ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND ON PV SFCS ) SCAL=( 4.0) - L=(11111 11100 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND ON PV SFCS ) SCAL=( 4.0) - L=(11111 11100 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP ON PV SFCS ) SCAL=( 4.0) - L=(11111 11100 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT ON PV SFCS ) SCAL=( 6.0) - L=(11111 11100 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESSURE ON PV SFCS ) SCAL=( 6.0) - L=(11111 11100 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHEAR ON PV SFCS ) SCAL=( 3.0) - L=(11111 11100 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HAINES INDEX ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (VENTILATION RATE ) SCAL=(-2.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) -***DONE WITH THIS GRID*** - KGTYPE******I5*******:(00255)********START OF THIS OUTPUT GRID****** - IMDLTY *I5* :(00089) - DATSET *A6* :(BGRD3D) - (HEIGHT OF PRESS SFCS) SCAL=(-5.0) - L=(00000 00000 00000 10000 00000 10000 00010 00001 00000 00000 00000 00000 00000 00000) - (TEMP ON PRESS SFCS ) SCAL=(-4.0) - L=(00000 00000 00000 10000 00000 10000 00010 00001 00010 00000 00000 00000 00000 00000) - (REL HUMID ON P SFCS ) SCAL=(-0.1) - L=(00000 00000 00000 10000 00000 10000 00010 00001 00000 00000 00000 00000 00000 00000) - (U WIND ON PRESS SFCS) SCAL=(-4.0) - L=(00000 00000 00000 10000 00000 10000 00010 00001 00000 00000 00000 00000 00000 00000) - (V WIND ON PRESS SFCS) SCAL=(-4.0) - L=(00000 00000 00000 10000 00000 10000 00010 00001 00000 00000 00000 00000 00000 00000) - (OMEGA ON PRESS SFCS ) SCAL=(-5.0) - L=(00000 00000 00000 10000 00000 10000 00010 00001 00000 00000 00000 00000 00000 00000) - (SPEC HUM ON P SFCS ) SCAL=( 2.7) - L=(00000 00000 00000 10000 00000 10000 00010 00001 00000 00000 00000 00000 00000 00000) - (ABS VORT ON P SFCS ) SCAL=( 2.7) - L=(00000 00000 00000 10000 00000 10000 00010 00001 00000 00000 00000 00000 00000 00000) - (PRESS ON MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (HEIGHT ON MDL SFCS ) SCAL=(-5.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (TEMP ON MDL SFCS ) SCAL=(-4.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (SPEC HUM ON MDL SFCS) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (U WIND ON MDL SFCS ) SCAL=(-4.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (V WIND ON MDL SFCS ) SCAL=(-4.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (ABS VORT ON MDL SFCS) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (OMEGA ON MDL SFCS ) SCAL=(-5.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (W WIND ON MDL SFCS ) SCAL=(-5.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (TRBLNT KE ON MDL SFC) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (AVE GRDSCL RN TMPTDY) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (AVE CNVCT RN TMPTDY ) SCAL=( 2.7) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (MESINGER MEAN SLP ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHUELL MEAN SLP ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER PRESSURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER TEMPERATURE ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER SPEC HUMID ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER DEWPOINT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER REL HUMID ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT ANEMOM HT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT ANEMOM HT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TEMP AT 10 M ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPEC HUM AT 10 M ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE PRESSURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE HEIGHT ) SCAL=(-2.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE POT TEMP ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE SPEC HUMID ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC (SKIN) TEMPRATUR) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL TEMPERATURE ) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOISTURE ) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL SOIL MOISTURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC EXCHANGE COEF ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GREEN VEG COVER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOISTURE AVAIL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BOTTOM SOIL TEMP ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST GROUND HEAT FLX) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PLANT CANOPY SFC WTR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW WATER EQUIVALNT) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--BEST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CNVCT AVBL POT ENRGY) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRECIPITABLE WATER ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM TOTAL PRECIP ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM CONVCTIVE PRECIP) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM GRD SCALE PRECIP) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM SNOWFALL ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM SNOW TOTAL/MELT ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM STORM SFC RNOFF ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM BSFL-GDWR RNOFF ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTANT PRECIP TYPE ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTANT PRECIP RATE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (FROZEN FRAC CLD SCHM) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD WTR ON MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (CLD ICE ON MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (CLD FRAC ON MDL SFCS) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (RAIN ON MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (SNOW ON MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (F_RimeF ON MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (CONDENSATE MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (F_rain ON MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (F_ice ON MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (LOW CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MID CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HIGH CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL CLD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG TOTAL CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG STRAT CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG CNVCT CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE INCMG SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE INCMG SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO TOA SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO TOA LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN CLR INC SFC SW) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ROUGHNESS LENGTH ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (FRICTION VELOCITY ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC DRAG COEFFICIENT) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC U WIND STRESS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC V WIND STRESS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC SENHEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE GROUND HEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SNO PHSCNG HT FX) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC LATHEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC MOMENTUM FX ) SCAL=(-3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACC SFC EVAPORATION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACC POT EVAPORATION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST SFC SENHEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST SFC LATHEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LATITUDE ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LONGITUDE ) SCAL=( 7.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LAND/SEA MASK ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SEA ICE MASK ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MASS POINT MDL SFC ) SCAL=( 2.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (VEL POINT MDL SFC ) SCAL=( 2.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC MIDDAY ALBEDO ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SEA SFC TEMPERATURE ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESS IN BNDRY LYR ) SCAL=( 3.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP IN BNDRY LYR ) SCAL=(-4.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TMP IN BNDRY LYR) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DWPT IN BNDRY LYR ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPC HUM IN BNDRY LYR) SCAL=( 3.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUM IN BNDRY LYR) SCAL=(-0.1) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MST CNV IN BNDRY LYR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (P WATER IN BNDRY LYR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND IN BNDRY LYR ) SCAL=(-4.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND IN BNDRY LYR ) SCAL=(-4.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.47-1.00 RELHUM) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM LSM PRECIP ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MODEL TOP PRESSURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HYBRID PRESSURE DP ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HYBRID SIGMA DP ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC EXCHANGE COEF ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GREEN VEG COVER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--SURFCE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--BNDLYR) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CNVCT AVBL POT ENRGY) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CNVCT INHIBITION ) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFT PCL LVL PRESS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRECIPITABLE WATER ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (STORM REL HELICITY ) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP STORM MOTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP STORM MOTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV PRECIP RATE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD BOT PRESSURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP PRESSURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LCL AGL HEIGHT ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LCL PRESSURE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP TEMPS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADFLX CNVG TMP TNDY) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SW RAD TEMP TNDY ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LW RAD TEMP TNDY ) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESS AT TROPOPAUSE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT AT TROPOPAUSE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP AT TROPOPAUSE ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POTENTL TEMP AT TROP) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT TROPOPAUSE) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT TROPOPAUSE) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHEAR AT TROPOPAUSE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP AT FD HEIGHTS ) SCAL=(-4.0) - L=(11111 11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT FD HEIGHTS) SCAL=(-4.0) - L=(11111 11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT FD HEIGHTS) SCAL=(-4.0) - L=(11111 11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT OF FRZ LVL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUMID AT FRZ LVL) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HIGHEST FREEZE LVL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESS IN BNDRY LYR ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP IN BNDRY LYR ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TMP IN BNDRY LYR) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DWPT IN BNDRY LYR ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPC HUM IN BNDRY LYR) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUM IN BNDRY LYR) SCAL=(-0.1) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MST CNV IN BNDRY LYR) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (P WATER IN BNDRY LYR) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND IN BNDRY LYR ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND IN BNDRY LYR ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (OMEGA IN BNDRY LYR ) SCAL=(-5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LFM 0.33-1.00 RELHUM) SCAL=(-0.1) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LFM 0.66-1.00 RELHUM) SCAL=(-0.1) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LFM 0.33-0.66 RELHUM) SCAL=(-0.1) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LFM 0.33-1.00 PWAT ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.98230 PRESSURE) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.98230 TMPRATUR) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.98230 SPC HUM ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.98230 REL HUM ) SCAL=(-0.1) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.98230 U WIND ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.98230 V WIND ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.89671 TMPRATUR) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.78483 TMPRATUR) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.47-1.00 RELHUM) SCAL=(-0.1) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.47-0.96 RELHUM) SCAL=(-0.1) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.18-0.47 RELHUM) SCAL=(-0.1) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.84-0.98 RELHUM) SCAL=(-0.1) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NGM 0.85-1.00 QCONVG) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX WIND PRESS LEVEL) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX WIND HGHT LEVEL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP MAX WIND ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP MAX WIND ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD BOTTOM HEIGHT ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP HEIGHT ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (VISIBILITY ) SCAL=( 2.7) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (COMPOSITE RADAR REFL) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD BOT PRESS) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD TOP PRESS) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHAL CU CLD BOT PRES) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHAL CU CLD TOP PRES) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DEEP CU CLD BOT PRES) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DEEP CU CLD TOP PRES) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GRID CLOUD BOT PRESS) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GRID CLOUD TOP PRESS) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CU CLOUD EFFICIENCY ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN CLD WTR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN CLD ICE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN RAIN ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN SNOW ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COL CONDENSATE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (VEGETATION TYPE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL TYPE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY CONDUCTANCE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PBL HEIGHT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SLOPE TYPE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW DEPTH ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIQUID SOIL MOISTURE) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW FREE ALBEDO ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAXIMUM SNOW ALBEDO ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY WATER EVAP ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DIRECT SOIL EVAP ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PLANT TRANSPIRATION ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW SUBLIMATION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AIR DRY SOIL MOIST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST POROSITY ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MIN STOMATAL RESIST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NO OF ROOT LAYERS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST WILT PT ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST REFERENCE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND SOLAR ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND TEMP ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND HUMID ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND SOILM ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POTENTIAL EVAP ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC WIND GUST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LOW WET BULB ZERO HT) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LEAF AREA INDEX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN CLR INC SFC SW) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD FRAC ON SIG SFCS) SCAL=( 3.0) - L=(11111 11111 11111 11111 11000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD FRAC ON MDL SFCS) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (CLD WTR ON MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (CLD ICE ON MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000) - (RICH NO PBL HEIGHT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MIXHT HEIGHT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PERCENT SNOW COVER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) -***DONE WITH THIS GRID*** - KGTYPE******I5*******:(00255)********START OF THIS OUTPUT GRID****** - IMDLTY *I5* :(00089) - DATSET *A6* :(BGRDSF) - (PRESS ON MDL SFCS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT ON MDL SFCS ) SCAL=(-5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP ON MDL SFCS ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TEMP ON MDL SFCS) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPEC HUM ON MDL SFCS) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUM ON MDL SFCS ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND ON MDL SFCS ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND ON MDL SFCS ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TRBLNT KE ON MDL SFC) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (VEGETATION TYPE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL TYPE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SLOPE TYPE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIQUID SOIL MOISTURE) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW FREE ALBEDO ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAXIMUM SNOW ALBEDO ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY CONDUCTANCE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND SOLAR ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND TEMP ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND HUMID ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND SOILM ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST REFERENCE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST POROSITY ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NO OF ROOT LAYERS ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MIN STOMATAL RESIST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PBL HEIGHT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW DEPTH ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PERCENT SNOW COVER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AIR DRY SOIL MOIST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST WILT PT ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MASTER LENGTH SCALE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MESINGER MEAN SLP ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHUELL MEAN SLP ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER PRESSURE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER TEMPERATURE ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER SPEC HUMID ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER DEWPOINT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER REL HUMID ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT ANEMOM HT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT ANEMOM HT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TEMP AT 10 M ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPEC HUM AT 10 M ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE PRESSURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE HEIGHT ) SCAL=(-2.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE POT TEMP ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE SPEC HUMID ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC (SKIN) TEMPRATUR) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL TEMPERATURE ) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOISTURE ) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL SOIL MOISTURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC EXCHANGE COEF ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GREEN VEG COVER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOISTURE AVAIL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BOTTOM SOIL TEMP ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST GROUND HEAT FLX) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PLANT CANOPY SFC WTR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW WATER EQUIVALNT) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--BEST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRECIPITABLE WATER ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM TOTAL PRECIP ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM CONVCTIVE PRECIP) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM SNOWFALL ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM SNOW TOTAL/MELT ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM STORM SFC RNOFF ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM BSFL-GDWR RNOFF ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTANT PRECIP TYPE ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTANT PRECIP RATE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN CLD WTR) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN CLD ICE) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN RAIN ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN SNOW ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COL CONDENSATE) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (FROZEN FRAC CLD SCHM) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LOW CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MID CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HIGH CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL CLD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG TOTAL CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG STRAT CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG CNVCT CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE INCMG SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE INCMG SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO TOA SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO TOA LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN CLR INC SFC SW) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ROUGHNESS LENGTH ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (FRICTION VELOCITY ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC DRAG COEFFICIENT) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC U WIND STRESS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC V WIND STRESS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC SENHEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE GROUND HEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SNO PHSCNG HT FX) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC LATHEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC MOMENTUM FX ) SCAL=(-3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACC SFC EVAPORATION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACC POT EVAPORATION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST SFC SENHEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST SFC LATHEAT FX ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LATITUDE ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LONGITUDE ) SCAL=( 7.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LAND/SEA MASK ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SEA ICE MASK ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC MIDDAY ALBEDO ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SEA SFC TEMPERATURE ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM LSM PRECIP ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (FROZEN FRAC CLD SCHM) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (UPDRAFT HELICITY PRM) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) -***DONE WITH THIS GRID*** - KGTYPE******I5*******:(00255)********START OF THIS OUTPUT GRID****** - IMDLTY *I5* :(00089) - DATSET *A6* :(BGGOES) - (GOES TB - CH 2 ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GOES TB - CH 3 ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GOES TB - CH 4 ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GOES TB - CH 5 ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) -***DONE WITH THIS GRID*** diff --git a/parm/nam_cntrl_cmaq.xml b/parm/nam_cntrl_cmaq.xml index ba4fd3ef35..32ba724a4d 100644 --- a/parm/nam_cntrl_cmaq.xml +++ b/parm/nam_cntrl_cmaq.xml @@ -451,7 +451,7 @@ SOILM_ON_DEPTH_BEL_LAND_SFC - SOILM + SOILMOI 2 0. 2 @@ -2282,7 +2282,7 @@ SOILM_ON_DEPTH_BEL_LAND_SFC - SOILM + SOILMOI 2 0. 2 @@ -3793,7 +3793,7 @@ SOILM_ON_DEPTH_BEL_LAND_SFC - SOILM + SOILMOI 2 0. 2 diff --git a/parm/nam_post_avblflds.xml b/parm/nam_post_avblflds.xml index 9aeabac160..af9035e83d 100644 --- a/parm/nam_post_avblflds.xml +++ b/parm/nam_post_avblflds.xml @@ -297,7 +297,7 @@ 36 SOILM_ON_DEPTH_BEL_LAND_SFC - SOILM + SOILMOI depth_bel_land_sfc 2 depth_bel_land_sfc @@ -5115,7 +5115,7 @@ 752 - GSD_NCIP_ON_HYBRID_LVL + NCIP_ON_HYBRID_LVL Number concentration for ice particles on hybrid level NCIP hybrid_lvl @@ -5124,7 +5124,7 @@ 754 - GSD_NCRAIN_ON_HYBRID_LVL + NCRAIN_ON_HYBRID_LVL NCRAIN hybrid_lvl 3.0 diff --git a/parm/ngac_post_avblflds.xml b/parm/ngac_post_avblflds.xml index 6c1e3e42fe..c170e084c8 100644 --- a/parm/ngac_post_avblflds.xml +++ b/parm/ngac_post_avblflds.xml @@ -299,7 +299,7 @@ 36 SOILM_ON_DEPTH_BEL_LAND_SFC - SOILM + SOILMOI depth_bel_land_sfc 3.0 @@ -5114,7 +5114,7 @@ 752 - GSD_NCIP_ON_HYBRID_LVL + NCIP_ON_HYBRID_LVL Number concentration for ice particles on hybrid level NCIP hybrid_lvl @@ -5123,7 +5123,7 @@ 754 - GSD_NCRAIN_ON_HYBRID_LVL + NCRAIN_ON_HYBRID_LVL NCRAIN hybrid_lvl 3.0 diff --git a/parm/nmb_cntrl.parm b/parm/nmb_cntrl.parm deleted file mode 100644 index e759debc00..0000000000 --- a/parm/nmb_cntrl.parm +++ /dev/null @@ -1,503 +0,0 @@ - KGTYPE******I5*******:(00255)********START OF THIS OUTPUT GRID****** - IMDLTY *I5* :(00125) - DATSET *A6* :(NMBPRS) - (PRESS ON MDL SFCS ) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT ON MDL SFCS ) SCAL=( 6.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP ON MDL SFCS ) SCAL=( 4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TEMP ON MDL SFCS) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DWPT TEMP ON MDL SFC) SCAL=( 5.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPEC HUM ON MDL SFCS) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUM ON MDL SFCS ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MST CNVG ON MDL SFCS) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND ON MDL SFCS ) SCAL=( 4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND ON MDL SFCS ) SCAL=( 4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (OMEGA ON MDL SFCS ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ABS VORT ON MDL SFCS) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (STRMFUNC ON MDL SFCS) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TRBLNT KE ON MDL SFC) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RCHDSN NO ON MDL SFC) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RAIN ON MDL SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW ON MDL SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (F_RimeF ON MDL SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONDENSATE MDL SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADAR REFL MDL SFCS ) SCAL=( 4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD WTR ON MDL SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD ICE ON MDL SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GRAUPEL ON MDL SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD FRAC ON MDL SFCS) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MASTER LENGTH SCALE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ASYMPT MSTR LEN SCL ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT OF PRESS SFCS) SCAL=( 6.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (TEMP ON PRESS SFCS ) SCAL=( 4.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (POT TEMP ON P SFCS ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DWPT TEMP ON P SFCS ) SCAL=( 4.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (SPEC HUM ON P SFCS ) SCAL=( 4.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (REL HUMID ON P SFCS ) SCAL=( 4.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (MST CNVG ON P SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND ON PRESS SFCS) SCAL=( 4.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (V WIND ON PRESS SFCS) SCAL=( 4.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (W WIND ON P SFCS ) SCAL=( 5.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (OMEGA ON PRESS SFCS ) SCAL=( 5.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (ABS VORT ON P SFCS ) SCAL=( 3.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (STRMFUNC ON P SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TRBLNT KE ON P SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD ICE ON P SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD WATR ON P SFCS) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RAIN ON P SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW ON P SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (F_RimeF ON P SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADAR REFL ON P SFCS) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GRAUPEL ON P SFCS ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAPS SLP ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MESINGER MEAN SLP ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHUELL MEAN SLP ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER PRESSURE ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER TEMPERATURE ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER SPEC HUMID ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER DEWPOINT ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER REL HUMID ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER MIX RATIO ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT ANEMOM HT ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT ANEMOM HT ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TEMP AT 10 M ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPEC HUM AT 10 M ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE PRESSURE ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE HEIGHT ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE POT TEMP ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE SPEC HUMID ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE DEWPOINT ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE REL HUMID ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC (SKIN) TEMPRATUR) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BOTTOM SOIL TEMP ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL TEMPERATURE ) SCAL=( 3.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOISTURE ) SCAL=( 3.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIQUID SOIL MOISTURE) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL SOIL MOISTURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PLANT CANOPY SFC WTR) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW WATER EQUIVALNT) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PERCENT SNOW COVER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC EXCHANGE COEF ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GREEN VEG COVER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (VEGETATION TYPE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL TYPE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SLOPE TYPE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW FREE ALBEDO ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAXIMUM SNOW ALBEDO ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY CONDUCTANCE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND SOLAR ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND TEMP ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND HUMID ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND SOILM ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST REFERENCE) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST POROSITY ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NO OF ROOT LAYERS ) SCAL=( 1.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MIN STOMATAL RESIST ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW DEPTH ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AIR DRY SOIL MOIST ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST WILT PT ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOISTURE AVAIL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST GROUND HEAT FLX) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--SURFCE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--BEST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--BNDLYR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CNVCT AVBL POT ENRGY) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CNVCT INHIBITION ) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRECIPITABLE WATER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (STORM REL HELICITY ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM TOTAL PRECIP ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM CONVCTIVE PRECIP) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM GRD SCALE PRECIP) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM GRD SCALE SW ICE) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM SNOWFALL ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BUCKET SNOW PRECIP ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BUCKET TOTAL PRECIP ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BUCKET CONV PRECIP ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BUCKET GRDSCALE PRCP) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM SNOW TOTAL/MELT ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM STORM SFC RNOFF ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM BSFL-GDWR RNOFF ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTANT PRECIP TYPE ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GSD PRECIP TYPE ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTANT PRECIP RATE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV PRECIP RATE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (FROZEN FRAC CLD SCHM) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SEA SFC TEMPERATURE ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LOW CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MID CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HIGH CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG TOTAL CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG STRAT CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG CNVCT CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GSD CLD BOT HEIGHT ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GSD CLD TOP HEIGHT ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD BOT PRESSURE ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP PRESSURE ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP TEMPS ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD BOTTOM HEIGHT ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP HEIGHT ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD BOT PRESS) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD TOP PRESS) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHAL CU CLD BOT PRES) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHAL CU CLD TOP PRES) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DEEP CU CLD BOT PRES) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DEEP CU CLD TOP PRES) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GRID CLOUD BOT PRESS) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GRID CLOUD TOP PRESS) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX WIND PRESS LEVEL) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX WIND HGHT LEVEL ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP MAX WIND ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP MAX WIND ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PBL HEIGHT ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (COMPOSITE RADAR REFL) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADAR REFL AGL ) SCAL=( 4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (VISIBILITY ) SCAL=( 2.7) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GSD VISIBILITY ) SCAL=( 2.7) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LCL AGL HEIGHT ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LCL PRESSURE ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE GRDSCL RN TMPTDY) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE CNVCT RN TMPTDY ) SCAL=( 2.7) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADFLX CNVG TMP TNDY) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SW RAD TEMP TNDY ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LW RAD TEMP TNDY ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT SFC SW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT SFC LW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE INCMG SFC SW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE INCMG SFC LW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO SFC SW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO SFC LW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BRIGHTNESS TEMP ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BRIGHTNESS TEMP NCAR) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC SW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC LW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN CLR INC SFC SW) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ROUGHNESS LENGTH ) SCAL=( 2.7) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (FRICTION VELOCITY ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC DRAG COEFFICIENT) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC U WIND STRESS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC V WIND STRESS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC SENHEAT FX ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE GROUND HEAT FX ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SNO PHSCNG HT FX) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC LATHEAT FX ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC MOMENTUM FX ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACC SFC EVAPORATION ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACC POT EVAPORATION ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST SFC SENHEAT FX ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST GROUND HEAT FLX) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST SFC LATHEAT FX ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LATITUDE ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LONGITUDE ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LAND/SEA MASK ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SEA ICE MASK ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC MIDDAY ALBEDO ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFT PCL LVL PRESS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESS AT TROPOPAUSE ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT AT TROPOPAUSE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP AT TROPOPAUSE ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POTENTL TEMP AT TROP) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT TROPOPAUSE) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT TROPOPAUSE) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHEAR AT TROPOPAUSE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPE HUM AT FD HEIGHT) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP AT FD HEIGHTS ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT FD HEIGHTS) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT FD HEIGHTS) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT OF FRZ LVL ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUMID AT FRZ LVL) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HIGHEST FREEZE LVL ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESS IN BNDRY LYR ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP IN BNDRY LYR ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TMP IN BNDRY LYR) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DWPT IN BNDRY LYR ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPC HUM IN BNDRY LYR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUM IN BNDRY LYR) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MST CNV IN BNDRY LYR) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (P WATER IN BNDRY LYR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND IN BNDRY LYR ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND IN BNDRY LYR ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (OMEGA IN BNDRY LYR ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX 10m WIND SPEED ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX UPDRAFT VERT VEL) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX DNDRAFT VERT VEL) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX 1km REFLECTIVITY) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX UPDRAFT HELICITY) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MEAN VERT VEL ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX VERT INTEG GRAUP) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LCL AGL HEIGHT ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP STORM MOTION ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP STORM MOTION ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP 0-1 KM SHEAR ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP 0-1 KM SHEAR ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP 0-6 KM SHEAR ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP 0-6 KM SHEAR ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC WIND GUST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO TOA SW RAD) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO TOA LW RAD) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT TOA LW RAD) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL CLD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN CLD WTR) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN CLD ICE) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN RAIN ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN SNOW ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COL CONDENSATE) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLD LIQUID ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL MELTING ICE ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CEILING ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (EMISSIVITY ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GOES TB - CH 2 ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GOES TB - CH 3 ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GOES TB - CH 4 ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GOES TB - CH 5 ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PV ON THETA SFCS ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) -***DONE WITH THIS GRID*** - diff --git a/parm/params_grib2_tbl_new b/parm/params_grib2_tbl_new old mode 100755 new mode 100644 index 2f4c34577f..34736a6124 --- a/parm/params_grib2_tbl_new +++ b/parm/params_grib2_tbl_new @@ -5,6 +5,7 @@ 0 3 15 0 5WAVH 0 3 193 1 5WAVH 0 20 106 0 AACOEF + 4 10 4 0 AATRATE 0 2 11 0 ABSD 4 2 5 0 ABSFRQ 0 1 18 0 ABSH @@ -16,16 +17,20 @@ 0 1 224 1 ACPCPN 0 1 10 0 ACPCP 0 18 2 0 ACRADP + 0 18 26 0 ACTEMM 10 4 13 0 ACWSRD 1 2 11 0 ACWSR 0 20 105 0 AECOEF 0 20 3 0 AEMFLX 0 13 0 0 AEROT 0 2 36 0 AFRWE + 1 0 196 1 AHD 0 20 50 0 AIA 0 18 10 0 AIRCON + 10 0 82 0 AIRDENOC 2 0 208 1 AKHS 2 0 209 1 AKMS + 10 2 14 0 ALBDOICE 0 19 1 0 ALBDO 0 20 108 0 ALBGRD 0 20 107 0 ALBSAT @@ -37,6 +42,7 @@ 0 3 11 0 ALTS 10 0 37 0 ALTWH 2 0 219 1 AMIXL + 4 5 0 0 AMPL 3 192 11 0 AMSRE10 3 192 12 0 AMSRE11 3 192 13 0 AMSRE12 @@ -56,6 +62,7 @@ 0 1 8 0 APCP 0 0 21 0 APTMP 0 1 221 1 ARAIN + 1 2 23 0 ARCRF 0 20 8 0 AREMFLX 0 3 24 0 ASGSO 10 3 198 1 ASHFL @@ -65,7 +72,11 @@ 0 190 0 0 ATEXT 3 1 13 0 ATMDIV 0 20 101 0 ATMTK + 4 10 7 0 AURELEC + 20 1 8 0 AVECTNUM + 20 1 7 0 AVHRATIO 2 3 201 1 AVSFT + 10 191 4 0 BARDSF 2 3 200 1 BARET 10 4 7 0 BATHY 10 0 44 0 BENINX @@ -79,6 +90,7 @@ 2 0 197 1 BMIXL 0 7 201 1 BNEGELAY 2 3 4 0 BOTLST + 10 4 29 0 BPEH 0 7 202 1 BPOSELAY 0 15 1 0 BREF 3 1 27 0 BRFLF @@ -87,6 +99,11 @@ 0 15 2 0 BRVEL 0 15 0 0 BSWID 4 3 0 0 BTOT + 2 6 2 0 BUILDCOVER + 2 6 3 0 BUILDHGT + 2 4 21 0 BURNABAREA + 2 4 20 0 BURNAREA + 2 4 17 0 BURNIDX 4 3 1 0 BVEC1 4 3 2 0 BVEC2 4 3 3 0 BVEC3 @@ -94,6 +111,7 @@ 4 8 4 0 CAIIRAD 0 7 206 1 CANGLE 2 1 192 1 CANL + 2 0 63 0 CANTMP 0 7 6 0 CAPE 0 1 88 0 CATCP 0 19 29 0 CATEDR @@ -111,27 +129,50 @@ 0 6 11 0 CDCB 0 6 22 0 CDCC 0 17 3 0 CDCDLTFD + 0 1 162 0 CDCIMF 0 6 23 0 CDCIMR + 0 1 161 0 CDCLWMF 0 6 2 0 CDCON 0 6 12 0 CDCTOP 0 6 8 0 CDCT 0 17 2 0 CDGDLTFD + 0 3 43 0 CDGFLUX + 0 20 80 0 CDIVMF + 0 18 21 0 CDLACTA + 0 18 22 0 CDLACTE 0 6 14 0 CDLYR 0 6 192 1 CDLYR + 0 1 163 0 CDRMF + 0 1 164 0 CDSMF + 0 3 35 0 CDTMF + 0 1 165 0 CDTWMF 0 4 195 1 CDUVB + 0 1 160 0 CDWFMF + 0 3 42 0 CDWGFLUX 10 0 16 0 CDWW 0 2 29 0 CD 0 2 196 1 CD + 0 1 154 0 CECIMF + 0 1 152 0 CECLWMF + 0 1 158 0 CEFMF + 0 3 40 0 CEGFLUX 0 6 13 0 CEIL + 0 20 78 0 CEMF + 0 1 156 0 CERMF + 0 3 36 0 CETMF + 0 1 150 0 CEWVMF 0 5 197 1 CFNLF 0 4 199 1 CFNSF 0 1 34 0 CFRZR 0 1 193 1 CFRZR 0 20 54 0 CGDRC 0 20 53 0 CGPRC + 10 0 76 0 CHNCK + 0 1 147 0 CHPRECIP 10 3 2 0 CH 0 18 17 0 CIAIRC 0 19 206 1 CICEL + 0 1 146 0 CICEPR 0 1 35 0 CICEP 0 1 194 1 CICEP 10 2 12 0 CICES @@ -147,6 +188,7 @@ 2 3 22 0 CISICE 2 3 20 0 CISOILM 2 0 23 0 CISOILW + 0 19 50 0 CITEDR 0 19 207 1 CIVIS 3 2 9 0 CLDALB 3 2 10 0 CLDEMISS @@ -156,12 +198,23 @@ 3 2 6 0 CLDPER 3 2 4 0 CLDPHAS 3 1 16 0 CLDRAD + 3 1 31 0 CLDREF 3 2 3 0 CLDTYPE 0 1 235 1 CLLMR 0 1 22 0 CLMR 3 0 7 0 CLOUDM + 3 1 32 0 CLRREF + 0 3 39 0 CMATMOS + 0 1 155 0 CNCIMF + 0 1 153 0 CNCLWMF + 0 20 81 0 CNETS + 0 3 41 0 CNGFLUX 0 2 216 1 CNGWDU 0 2 217 1 CNGWDV + 0 20 79 0 CNMF + 0 1 157 0 CNRMF + 0 1 159 0 CNSMF + 0 3 37 0 CNTMF 0 3 209 1 CNVDEMF 0 3 208 1 CNVDMF 0 0 196 1 CNVHR @@ -171,8 +224,10 @@ 0 2 213 1 CNVV 2 0 13 0 CNWAT 2 0 196 1 CNWAT + 0 1 151 0 CNWVMF 0 20 56 0 COAIA 0 20 1 0 COLMD + 2 4 24 0 COMBCO 0 20 51 0 CONAIR 0 7 19 0 CONAPES 0 1 216 1 CONDP @@ -209,6 +264,7 @@ 0 1 33 0 CRAIN 0 1 192 1 CRAIN 0 20 71 0 CRERELSP + 2 0 48 0 CROPCOV 0 1 76 0 CRRATE 4 2 9 0 CRTFRQ 1 2 13 0 CSAFC @@ -219,6 +275,8 @@ 3 1 17 0 CSKYRAD 0 1 36 0 CSNOW 0 1 195 1 CSNOW + 20 3 8 0 CSPPCAP + 20 3 9 0 CSPPROD 0 1 58 0 CSRATE 0 1 55 0 CSRWE 0 5 195 1 CSULF @@ -230,29 +288,44 @@ 0 19 21 0 CTP 0 6 16 0 CUEFI 0 6 194 1 CUEFI + 0 19 239 1 CWASP + 0 1 149 0 CWATERMR 0 6 6 0 CWAT 0 7 195 1 CWDI 0 6 15 0 CWORK 0 6 193 1 CWORK 0 1 48 0 CWP 1 1 195 1 CWR + 0 1 166 0 CWVF + 0 19 41 0 DBHEIGHT 10 4 195 1 DBSS 0 7 203 1 DCAPE + 2 4 33 0 DDLMC 0 20 12 0 DDMFLX 0 3 30 0 DDRATE + 2 6 8 0 DDROAD + 2 6 6 0 DDROOF 0 20 15 0 DDVEL - 2 0 30 0 DECF + 2 4 35 0 DDWMC + 2 0 30 0 DECFC + 0 2 61 0 DEC 0 3 14 0 DENALT 0 3 10 0 DEN + 0 18 19 0 DEPACTA + 0 18 20 0 DEPACTE 0 0 7 0 DEPR 1 0 13 0 DEPWSS + 20 1 6 0 DFPRATIO + 0 4 206 1 DFSWRFLXCS 10 2 2 0 DICED + 4 10 3 0 DIDXSG 4 4 2 0 DIFEFLUX 4 4 4 0 DIFIFLUX 4 4 0 0 DIFPFLUX 3 6 5 0 DIFSOLEX 3 6 4 0 DIFSOLIR 0 4 14 0 DIFSWRF + 2 6 7 0 DIOWALL 10 1 0 0 DIRC 2 3 14 0 DIREC 10 0 10 0 DIRPW @@ -263,37 +336,85 @@ 10 0 32 0 DIRWWW 1 0 7 0 DISRS 0 3 6 0 DIST + 0 21 13 0 DIVENTFLUX + 0 21 16 0 DIVKENGFLUX + 0 21 14 0 DIVPOTFLUX + 0 21 17 0 DIVTOTFLUX + 0 21 18 0 DIVWENTFLUX + 0 21 15 0 DIVWPOTFLUX + 2 4 29 0 DLFL 0 5 8 0 DLWRFCS 0 5 3 0 DLWRF 0 5 192 1 DLWRF 0 3 28 0 DMFLX + 0 4 54 0 DNSWRFLX + 0 1 123 0 DPTYPE 0 0 6 0 DPT + 2 0 43 0 DRAINDIR + 2 4 13 0 DRFACT 2 4 8 0 DRTCODE 0 18 12 0 DRYDEP 0 19 237 1 DRYTPROB 4 7 2 0 DSKDAY 4 7 1 0 DSKINT 4 7 3 0 DSKNGT + 10 3 20 0 DSLIBARCOR 10 3 1 0 DSLM 10 191 3 0 DSLOBSO 0 191 3 0 DSLOBS 0 4 52 0 DSWRFCS + 0 4 61 0 DSWRFLXCS 0 4 13 0 DSWRFLX 0 4 7 0 DSWRF 0 4 192 1 DSWRF + 0 2 60 0 DTC 0 4 204 1 DTRF 2 4 7 0 DUFMCODE 0 4 194 1 DUVB + 2 4 30 0 DWFL + 10 3 4 0 DWHFLUX 0 4 12 0 DWUVR 0 2 9 0 DZDT 0 7 207 1 E3KH + 0 21 22 0 EADYGR 3 2 11 0 EAODR + 10 1 5 0 EASTCUR + 0 21 5 0 EASTENTFLUX + 0 21 19 0 EASTHFLUX + 0 21 9 0 EASTKINFLUX + 0 21 7 0 EASTPOTFLUX + 0 21 11 0 EASTTOTFLUX + 0 2 64 0 EASTTSSOD + 0 2 66 0 EASTTSSSR + 0 2 62 0 EASTTSS + 10 3 5 0 EASTWSS + 10 4 23 0 EASTWVEL 3 5 5 0 EBSDSSTS 3 5 4 0 EBSSTSTD + 2 0 61 0 ECORFLUX + 4 10 6 0 EDISSTIX 0 19 30 0 EDPARM + 0 1 138 0 EFARCICE + 0 1 140 0 EFARGRL + 0 1 141 0 EFARHAIL + 0 1 137 0 EFARRAIN + 0 1 142 0 EFARSIC + 0 1 139 0 EFARSNOW + 0 18 23 0 EFFDOSER + 20 0 5 0 EFFTEMP 0 7 204 1 EFHL + 0 1 129 0 EFRCCWAT + 0 1 131 0 EFRCICE + 0 1 133 0 EFRGRL + 0 1 134 0 EFRHAIL + 0 1 130 0 EFRRAIN + 0 1 136 0 EFRSICEC + 0 1 135 0 EFRSLC + 0 1 132 0 EFRSNOW 0 3 222 1 EFSH + 10 0 89 0 EFWS 0 7 9 0 EHLX + 2 0 237 1 EIWATER 4 2 1 0 ELCDEN 4 0 1 0 ELECTMP 10 3 194 1 ELEV @@ -301,9 +422,15 @@ 0 0 205 1 ELMELT 0 191 197 1 ELONN 0 191 193 1 ELON + 0 20 76 0 EMISFLX + 2 0 62 0 EMISS + 10 0 93 0 EMIWAVE 0 1 211 1 EMNP + 2 4 19 0 ENRELCOM + 0 21 3 0 ENTHALPY 0 0 3 0 EPOT 0 19 218 1 EPSR + 4 2 13 0 EQSLABT 10 3 252 1 EROSNP 1 0 3 0 ESCT 0 2 233 1 ESHR @@ -311,6 +438,8 @@ 3 1 0 0 ESTP 3 1 4 0 ESTUGRD 3 1 5 0 ESTVGRD + 10 3 14 0 ESURFWVEL + 10 4 38 0 ESWVP 0 2 32 0 ETACVV 10 3 250 1 ETCWL 4 3 4 0 ETOT @@ -318,6 +447,7 @@ 0 2 38 0 ETSS 4 6 3 0 EUVIRR 4 8 1 0 EUVRAD + 2 0 39 0 EVAPTRAT 2 0 6 0 EVAPT 0 1 79 0 EVARATE 2 3 198 1 EVBS @@ -325,34 +455,52 @@ 4 3 5 0 EVEC1 4 3 6 0 EVEC2 4 3 7 0 EVEC3 - 2 0 29 0 EVERF + 2 0 29 0 EVGFC 0 1 6 0 EVP 2 0 213 1 EWATR + 0 2 50 0 EWINDSTR 0 2 39 0 EWTPARM + 0 3 26 0 EXPRES 4 6 5 0 F107 + 20 1 5 0 FALPRATE 2 4 3 0 FBAREA 2 4 10 0 FBUPINX 0 6 37 0 FCONPC + 10 0 81 0 FCVOCEAN + 2 4 32 0 FDLMC 3 5 3 0 FDNSSTMP 2 4 11 0 FDSRTE + 2 4 34 0 FDWMC 1 0 0 0 FFLDG 1 0 1 0 FFLDRO 2 4 6 0 FFMCODE + 1 0 194 1 FHO 0 1 228 1 FICEAC 0 6 21 0 FICE 0 6 199 1 FICE + 2 4 15 0 FIREDIDX 3 0 9 0 FIREDI 2 4 1 0 FIREODT 2 4 0 0 FIREOLK 2 3 203 1 FLDCP + 1 0 19 0 FLDPATHOW + 1 2 17 0 FLDPDEPTH + 1 2 19 0 FLDPFLAR + 1 2 18 0 FLDPFLFR + 1 0 18 0 FLDPOW 1 0 12 0 FLDPSW 0 19 205 1 FLGHT 0 7 18 0 FLXRN + 20 1 9 0 FMALVRH + 0 6 50 0 FOG 2 4 4 0 FOSINDX 0 1 67 0 FPRATE 0 6 32 0 FRACCC + 2 4 36 0 FRADPOW 0 1 43 0 FRAIN 0 1 202 1 FRAIN + 1 2 22 0 FRCRF + 4 5 2 0 FREQ 10 0 63 0 FREWWW 10 0 17 0 FRICVW 0 2 30 0 FRICV @@ -360,12 +508,20 @@ 0 1 227 1 FROZR 2 3 24 0 FRSTINX 10 0 64 0 FRWWTSW + 10 2 29 0 FRZDATE + 10 2 27 0 FRZMLTPOT 0 1 225 1 FRZR 10 3 204 1 FRZSPR 0 1 121 0 FSNOWC 0 6 36 0 FSTRPC + 2 4 23 0 FUELLOAD + 2 4 25 0 FUELMC + 10 4 31 0 FWFC + 10 4 30 0 FWFSW 2 4 5 0 FWINX 0 1 95 0 FZPRATE + 0 18 25 0 GAMDOSER + 0 3 33 0 GAMSL 0 18 3 0 GDCES 0 18 4 0 GDIOD 0 18 5 0 GDRADP @@ -375,13 +531,20 @@ 0 2 44 0 GEOWS 2 0 10 0 GFLUX 2 0 193 1 GFLUX + 0 3 34 0 GHARGRD + 2 5 0 0 GLACCOV 2 5 1 0 GLACTMP + 0 19 47 0 GLIRRTS + 20 0 3 0 GLOBETMP + 10 0 98 0 GODAPEAK 0 3 9 0 GPA 0 1 75 0 GPRATE 0 3 4 0 GP 0 4 3 0 GRAD + 2 0 49 0 GRASSCOV 0 7 17 0 GRDRN 0 1 32 0 GRLE + 2 0 60 0 GROSSFLUX 3 6 1 0 GSOLEXP 3 6 0 0 GSOLIRR 0 2 22 0 GUST @@ -391,17 +554,21 @@ 1 0 9 0 GWLOWS 2 0 214 1 GWREC 1 0 8 0 GWUPS + 0 1 236 1 HAILAC 0 1 71 0 HAILMXR 0 19 198 1 HAILPROB 0 1 73 0 HAILPR 0 1 31 0 HAIL + 10 3 10 0 HALOCSSH 4 8 2 0 HARAD 0 19 210 1 HAVNI + 20 1 3 0 HBRATEAV 0 6 5 0 HCDC 0 6 26 0 HCONCB 0 6 27 0 HCONCT 0 0 12 0 HEATX 4 8 6 0 HELCOR + 10 3 18 0 HFLUXCOR 2 0 24 0 HFLUX 0 20 62 0 HGTMD 0 3 211 1 HGTN @@ -410,6 +577,7 @@ 0 3 5 0 HGT 0 19 32 0 HIFREL 2 4 2 0 HINDEX + 2 0 54 0 HIVEGCOV 0 7 8 0 HLCY 0 18 16 0 HMXACON 0 3 18 0 HPBL @@ -420,14 +588,23 @@ 0 15 15 0 HSR 0 3 7 0 HSTDV 10 0 3 0 HTSGW + 20 0 4 0 HUMIDX + 0 191 5 0 HURTSV + 0 3 44 0 HWBT 0 3 3 0 ICAHT 1 2 7 0 ICECIL 10 2 0 0 ICEC 10 2 7 0 ICED + 10 2 19 0 ICEFTHCK 10 2 6 0 ICEG + 10 2 21 0 ICEMPD + 10 2 20 0 ICEMPF + 10 2 22 0 ICEMPV 10 2 9 0 ICEPRS + 0 1 127 0 ICEP 0 19 27 0 ICESC 0 19 37 0 ICESEV + 2 3 29 0 ICETEMP 1 2 6 0 ICETIL 10 2 1 0 ICETK 10 2 8 0 ICETMP @@ -440,6 +617,7 @@ 0 19 234 1 ICSEV 1 2 5 0 ICTKIL 2 0 207 1 ICWAT + 2 4 18 0 IGNCOMP 0 1 20 0 ILIQW 10 0 27 0 IMFTSW 10 0 26 0 IMFWW @@ -453,14 +631,22 @@ 4 0 3 0 IONTMP 0 1 68 0 IPRATE 3 1 1 0 IRRATE + 2 0 47 0 IRRCOV 10 191 0 0 IRTSEC 3 5 0 0 ISSTMP 0 19 235 1 JFWPRB 10 3 201 1 KENG + 0 21 1 0 KINENG 0 7 3 0 KOX + 4 10 5 0 KP + 2 4 12 0 KRIDX 10 0 43 0 KSSEDW 0 7 2 0 KX + 2 0 56 0 LAIHI + 2 0 55 0 LAILO 0 7 198 1 LAI + 2 0 234 1 LAKEFRC + 2 0 233 1 LANDFRC 1 2 8 0 LANDIL 2 0 218 1 LANDN 2 0 8 0 LANDU @@ -473,19 +659,26 @@ 0 3 205 1 LAYTH 0 6 3 0 LCDC 10 3 203 1 LCH + 1 2 15 0 LDEPTH 2 0 28 0 LEAINX + 2 4 31 0 LFMC 0 7 10 0 LFTX 0 7 192 1 LFTX + 0 0 30 0 LHFLXE + 0 0 31 0 LHFLXS 0 0 10 0 LHTFL 0 1 229 1 LICEAC 0 13 195 1 LIPMF 2 3 10 0 LIQVSM + 2 4 27 0 LLFL 0 15 4 0 LMAXBR 4 7 0 0 LMBINT 0 3 210 1 LMH 0 2 218 1 LMV + 1 2 14 0 LNDSNOWT 0 2 203 1 LOPP 0 2 199 1 LOUV + 2 0 53 0 LOVEGCOV 0 2 201 1 LOVV 2 3 3 0 LOWLSM 0 13 194 1 LPMTF @@ -504,9 +697,13 @@ 0 17 192 1 LTNG 0 17 1 0 LTPINX 0 5 2 0 LWAVR + 2 4 28 0 LWFL 0 5 194 1 LWHR 0 4 5 0 LWRAD 2 3 23 0 LWSNWP + 20 1 1 0 MACPRATE + 20 1 0 0 MALACASE + 20 1 4 0 MALAIMM 4 8 7 0 MASK 0 6 38 0 MASSDCD 0 6 39 0 MASSDCI @@ -520,8 +717,10 @@ 0 1 28 0 MAXAH 0 2 221 1 MAXDVV 0 2 21 0 MAXGUST + 0 16 199 1 MAXREFC 0 16 198 1 MAXREF 0 1 27 0 MAXRH + 4 2 10 0 MAXUFZ 0 2 220 1 MAXUVV 0 2 222 1 MAXUW 0 1 245 1 MAXVIG @@ -535,16 +734,22 @@ 0 1 112 0 MDLWGVA 0 1 109 0 MDLWHVA 0 1 115 0 MDLWSVA + 10 0 74 0 MDTSWEL + 10 0 75 0 MDWWAVE 3 2 30 0 MEACST + 20 0 1 0 MEANRTMP + 0 19 44 0 MEANVGRTL 0 6 200 1 MFLUX 0 2 26 0 MFLX 0 2 193 1 MFLX 0 0 14 0 MINDPD 0 1 198 1 MINRH + 0 19 45 0 MINVGRTL 0 19 3 0 MIXHT 0 19 204 1 MIXLY 0 1 2 0 MIXR 0 7 212 1 MLFC + 10 2 28 0 MLTDATE 0 191 195 1 MLYNO 0 1 114 0 MMLWGDA 0 1 111 0 MMLWHDA @@ -561,6 +766,7 @@ 0 20 16 0 MSSRDRYA 0 20 17 0 MSSRWETA 10 0 20 0 MSSW + 2 3 204 1 MSTAVTOP 2 0 11 0 MSTAV 2 0 194 1 MSTAV 2 0 7 0 MTERH @@ -595,25 +801,53 @@ 0 6 30 0 NDENCD 2 0 31 0 NDVINX 2 0 217 1 NDVI + 2 0 59 0 NECOFLUX + 10 0 85 0 NEFOCEAN + 10 0 83 0 NEFW + 0 19 46 0 NETRADFLUX + 10 3 13 0 NETUPWFLUX + 0 5 9 0 NIRALBDIF + 0 5 11 0 NIRALBDIRG + 0 5 12 0 NIRALBDIRI + 0 5 13 0 NIRALBDIRV + 0 5 10 0 NIRALBDIR 0 191 196 1 NLATN 0 191 192 1 NLAT 0 3 206 1 NLGSP 0 3 25 0 NLPRES + 0 2 54 0 NLSRLH + 0 2 55 0 NLSRLM 0 5 6 0 NLWRCS 0 5 5 0 NLWRF 0 5 0 0 NLWRS 0 5 1 0 NLWRT + 20 0 6 0 NOREFTMP + 10 3 6 0 NORTHWSS 3 1 6 0 NPIXU + 10 1 6 0 NRTHCUR + 0 21 6 0 NRTHENTFLUX + 0 21 20 0 NRTHHFLUX + 0 21 10 0 NRTHKINFLUX + 0 21 8 0 NRTHPOTFLUX + 0 21 12 0 NRTHTOTFLUX + 0 2 65 0 NRTHTSSOD + 0 2 67 0 NRTHTSSSR + 0 2 63 0 NRTHTSS + 10 4 24 0 NRTHWVEL + 10 0 84 0 NSOCEAN + 10 3 15 0 NSURFWVEL 0 4 11 0 NSWRFCS 0 4 9 0 NSWRF 0 4 0 0 NSWRS 0 4 1 0 NSWRT + 10 4 39 0 NSWVP 4 4 6 0 NTRNFLUX 0 2 37 0 NTSS 0 1 106 0 NUMDG 0 1 107 0 NUMDH 0 1 104 0 NUMDR 0 1 105 0 NUMDS + 0 2 51 0 NWINDSTR 0 2 34 0 NWIND 0 19 214 1 NWSALB 10 0 19 0 NWSTR @@ -642,31 +876,52 @@ 0 14 200 1 OZMAX1 0 14 201 1 OZMAX8 10 3 196 1 P2OMLT + 2 0 235 1 PAHFLX 3 3 2 0 PBINFRC 3 3 1 0 PBLIFRC + 0 1 126 0 PBLIZZ 0 19 12 0 PBLREG 3 3 0 0 PBMVFRC + 0 1 125 0 PBSNOW + 0 19 49 0 PCONTB + 0 19 48 0 PCONTT 0 1 234 1 PCPDUR 0 14 202 1 PDMAX1 0 14 203 1 PDMAX24 + 10 0 72 0 PDTSWELL + 10 0 71 0 PDWWAVE + 4 2 12 0 PEAKDEN + 4 2 11 0 PEAKH + 20 0 8 0 PEQUTMP + 0 1 143 0 PERATE 10 0 11 0 PERPW 1 0 16 0 PERRATE 10 0 13 0 PERSW + 2 0 40 0 PEVAPTRAT 0 1 40 0 PEVAP 0 1 199 1 PEVAP 0 1 41 0 PEVPR 0 1 200 1 PEVPR + 20 1 2 0 PFEIRATE + 4 5 1 0 PHASE + 0 4 60 0 PHOARFCS 0 4 10 0 PHOTAR + 0 1 122 0 PIIDX + 0 21 21 0 PILENERGY 3 0 8 0 PIXST + 2 0 238 1 PLANTTR 0 7 0 0 PLI 0 3 200 1 PLPL 4 2 0 0 PLSMDEN 10 0 23 0 PMAXWH 0 13 192 1 PMTC 0 13 193 1 PMTF + 20 2 0 0 POPDEN 1 1 2 0 POP 2 3 9 0 POROS 2 3 197 1 POROS + 0 20 18 0 POTHPH + 0 21 0 0 POTINTENG 0 0 2 0 POT 0 14 199 1 POZO 0 14 198 1 POZT @@ -676,11 +931,16 @@ 1 1 194 1 PPFFG 0 1 231 1 PPINDX 1 1 1 0 PPOSP + 10 3 3 0 PRACTSAL + 0 1 240 1 PRATE10MIN + 0 1 238 1 PRATE1MIN + 0 1 239 1 PRATE5MIN 0 1 7 0 PRATE 4 0 4 0 PRATMP 0 15 5 0 PREC 0 3 13 0 PRESALT 0 3 8 0 PRESA + 0 3 46 0 PRESDHS 0 3 212 1 PRESN 0 3 0 0 PRES 0 3 1 0 PRMSL @@ -692,6 +952,7 @@ 0 19 216 1 PRSIGSVR 0 19 215 1 PRSVR 10 4 21 0 PRTSAL + 0 1 124 0 PSHOW 0 19 36 0 PSNOWS 0 3 2 0 PTEND 0 1 19 0 PTYPE @@ -700,23 +961,33 @@ 0 1 3 0 PWAT 10 0 46 0 PWAVEDIR 0 1 30 0 PWCAT + 10 0 68 0 PWDFSPAR + 10 0 69 0 PWDSSPAR + 10 0 70 0 PWDTSPAR 10 0 34 0 PWPER + 10 0 65 0 PWPFSPAR + 10 0 66 0 PWPSSPAR + 10 0 67 0 PWPTSPAR 0 1 226 1 PWTHER 0 1 219 1 QMAX 0 1 220 1 QMIN + 1 1 196 1 QPFARI + 1 1 197 1 QPFFFG 2 0 215 1 QREC 0 1 218 1 QZ0 - 0 16 201 1 RADARVIL + 0 15 192 1 RADARVIL 2 3 202 1 RADT + 2 4 14 0 RATESPRD 3 1 8 0 RAZA - 2 0 21 0 RCQ + 2 0 20 0 RCQ 2 0 204 1 RCQ - 2 0 20 0 RCSOL + 2 0 21 0 RCSOL 2 0 205 1 RCSOL 2 0 18 0 RCS 2 0 202 1 RCS 2 0 19 0 RCT 2 0 203 1 RCT + 1 2 16 0 RDEPTH 2 0 206 1 RDRIP 0 15 6 0 RDSP1 0 15 7 0 RDSP2 @@ -734,6 +1005,8 @@ 0 16 192 1 REFZR 0 2 13 0 RELD 0 2 12 0 RELV + 20 3 0 0 RENPCAP + 20 3 1 0 RENPPROD 0 16 3 0 RETOP 0 16 197 1 RETOP 0 0 194 1 REV @@ -741,6 +1014,7 @@ 0 15 10 0 RFCI 0 15 13 0 RFGRPL 0 15 14 0 RFHAIL + 3 1 30 0 RFL04 3 1 9 0 RFL06 3 1 10 0 RFL08 3 1 11 0 RFL16 @@ -758,18 +1032,25 @@ 0 7 194 1 RI 2 3 6 0 RLYRS 2 3 193 1 RLYRS + 2 6 1 0 ROADCOVER + 4 10 2 0 ROTIDX 0 1 65 0 RPRATE 2 0 16 0 RSMIN 2 0 200 1 RSMIN 1 0 2 0 RSSC 0 191 194 1 RTSEC 10 3 206 1 RUNUP + 1 2 21 0 RVERAR + 1 2 20 0 RVERFR + 1 0 17 0 RVEROW 1 0 11 0 RVERSW + 10 0 80 0 RWAVEAFW 0 1 24 0 RWMR 0 18 14 0 SACON 0 20 100 0 SADEN 0 19 19 0 SALBD 3 0 1 0 SALBEDO + 10 3 21 0 SALINITY 10 4 193 1 SALIN 1 2 12 0 SALTIL 10 4 3 0 SALTY @@ -807,6 +1088,16 @@ 3 192 36 0 SBTA177 3 192 37 0 SBTA178 3 192 38 0 SBTA179 + 3 192 79 0 SBTA1810 + 3 192 80 0 SBTA1811 + 3 192 81 0 SBTA1812 + 3 192 82 0 SBTA1813 + 3 192 83 0 SBTA1814 + 3 192 84 0 SBTA1815 + 3 192 85 0 SBTA1816 + 3 192 76 0 SBTA187 + 3 192 77 0 SBTA188 + 3 192 78 0 SBTA189 3 192 55 0 SBTAGR10 3 192 56 0 SBTAGR11 3 192 57 0 SBTAGR12 @@ -817,24 +1108,52 @@ 3 192 52 0 SBTAGR7 3 192 53 0 SBTAGR8 3 192 54 0 SBTAGR9 + 3 192 69 0 SBTAHI10 + 3 192 70 0 SBTAHI11 + 3 192 71 0 SBTAHI12 + 3 192 72 0 SBTAHI13 + 3 192 73 0 SBTAHI14 + 3 192 74 0 SBTAHI15 + 3 192 75 0 SBTAHI16 + 3 192 66 0 SBTAHI7 + 3 192 67 0 SBTAHI8 + 3 192 68 0 SBTAHI9 3 0 2 0 SBTMP 0 7 210 1 SCCP - 4 2 10 0 SCINT + 4 10 1 0 SCIDEXS4 + 4 10 0 0 SCINIDX 0 1 84 0 SCLIWC 0 1 83 0 SCLLWC 3 1 29 0 SCRAD 0 20 112 0 SCTAOTK 3 0 5 0 SCTPRES + 2 6 5 0 SDBUILDHGT 0 20 6 0 SDDMFLX 0 1 61 0 SDEN + 0 3 38 0 SDFSO + 0 22 6 0 SDI 3 1 99 0 SDMPEMRR 0 3 20 0 SDSGSO 0 1 60 0 SDWE + 10 4 48 0 SEACMMT + 10 4 44 0 SEACMVT + 10 4 50 0 SEACPSALT + 10 4 51 0 SEACSALT + 10 4 49 0 SEACZMT + 10 4 45 0 SEACZVT + 10 4 46 0 SEAMMT + 10 4 42 0 SEAMVT + 10 3 12 0 SEASFLUX + 10 4 47 0 SEAZMT + 10 4 43 0 SEAZVT 0 20 11 0 SEDMFLX 1 2 3 0 SEDTK 1 2 4 0 SEDTMP + 0 19 39 0 SEEINDEX 10 3 207 1 SETUP 0 1 62 0 SEVAP + 10 0 86 0 SEVWAVE + 0 20 77 0 SFCEFLX 2 0 216 1 SFCRH 2 0 1 0 SFCR 2 0 34 0 SFCWRO @@ -854,6 +1173,8 @@ 3 192 33 0 SFRA174 3 192 34 0 SFRA175 3 192 35 0 SFRA176 + 0 2 47 0 SFRHEAT + 0 2 48 0 SFRMOIST 10 4 11 0 SFSALP 1 2 9 0 SFSAL 10 4 12 0 SFTMPP @@ -867,17 +1188,24 @@ 0 1 108 0 SHTPRM 0 7 13 0 SHWINX 10 2 3 0 SICED + 10 2 17 0 SICEHC + 10 2 15 0 SICEVOL + 4 8 8 0 SICFL + 10 2 23 0 SIFTP 4 9 1 0 SIGHAL 0 7 209 1 SIGH 4 9 2 0 SIGPAR 4 9 0 0 SIGPED 0 7 211 1 SIGT 0 19 217 1 SIPD + 2 0 50 0 SKINRC 0 0 17 0 SKINT 3 5 1 0 SKSSTMP + 0 19 38 0 SKYIDX 0 1 230 1 SLACC 0 19 23 0 SLDP 3 0 4 0 SLFTI + 0 17 5 0 SLNGPIDX 10 3 202 1 SLTFL 2 3 194 1 SLTYP 0 6 34 0 SLWTC @@ -886,8 +1214,10 @@ 0 1 113 0 SMLWGMA 0 1 110 0 SMLWHMA 0 1 116 0 SMLWSMA + 2 0 41 0 SMRATE 2 3 7 0 SMREF 2 3 195 1 SMREF + 0 22 5 0 SMRI 0 19 18 0 SNFALB 0 19 193 1 SNFALB 0 1 25 0 SNMR @@ -902,18 +1232,25 @@ 0 1 208 1 SNOT 0 1 42 0 SNOWC 0 1 201 1 SNOWC + 0 1 148 0 SNOWERAT 0 1 233 1 SNOWLR + 0 19 40 0 SNOWLVL 0 19 236 1 SNOWLVL + 2 3 28 0 SNOWTMP + 10 2 13 0 SNOWTSI 0 1 222 1 SNOWT + 20 3 6 0 SNPVPCAP + 20 3 7 0 SNPVPPROD + 10 2 18 0 SNSIHC + 10 2 16 0 SNVOLSI 2 3 25 0 SNWDEB 2 3 27 0 SOILDEP 2 3 21 0 SOILICE 2 3 5 0 SOILL 2 3 192 1 SOILL 2 3 19 0 SOILMOI - 2 0 3 0 SOILM - 2 0 22 0 SOILM 2 3 15 0 SOILP + 2 0 239 1 SOILSE 2 3 18 0 SOILTMP 2 0 38 0 SOILVIC 2 0 192 1 SOILW @@ -923,15 +1260,21 @@ 3 1 28 0 SPBRT 10 1 1 0 SPC 4 6 4 0 SPECIRR + 10 0 88 0 SPECWI 4 1 0 0 SPEED + 0 22 1 0 SPEI 0 1 0 0 SPFH 10 0 45 0 SPFTR + 0 22 0 0 SPI 0 1 102 0 SPNCG 0 1 103 0 SPNCH 0 1 100 0 SPNCR 0 1 101 0 SPNCS 0 1 66 0 SPRATE + 2 4 16 0 SPRDCOMP 4 2 7 0 SPRDF + 20 3 4 0 SPVPCAP + 20 3 5 0 SPVPPROD 3 0 3 0 SPWAT 3 0 0 0 SRAD 0 1 85 0 SRAINC @@ -942,16 +1285,24 @@ 3 192 49 0 SRFAGR4 3 192 50 0 SRFAGR5 3 192 51 0 SRFAGR6 + 0 22 3 0 SRSI + 0 1 144 0 SRWATERC 0 1 12 0 SRWEQ 0 20 103 0 SSALBK + 0 22 2 0 SSFI 0 3 22 0 SSGSO + 10 3 19 0 SSHGTPARM 10 3 195 1 SSHG 3 5 2 0 SSKSSTMP + 3 192 86 0 SSMS1712 + 3 192 87 0 SSMS1713 3 192 62 0 SSMS1715 3 192 63 0 SSMS1716 3 192 64 0 SSMS1717 3 192 65 0 SSMS1718 + 0 1 145 0 SSNOWWC 0 1 86 0 SSNOWW + 0 1 168 0 SSPFHW 1 0 6 0 SSRUN 1 0 193 1 SSRUN 10 3 200 1 SSST @@ -959,35 +1310,53 @@ 2 0 211 1 SSTOR 10 3 199 1 SSTT 0 6 35 0 SSWTC + 20 0 7 0 STDEFTMP + 10 3 11 0 STERCSSH + 10 0 96 0 STMCREST + 10 0 97 0 STMWAVE 0 19 200 1 STORPROB 0 7 208 1 STPC 0 2 4 0 STRM 0 1 87 0 STRPRATE + 2 0 52 0 SUBSRATE + 0 6 51 0 SUNFRAC 0 6 33 0 SUNSD 0 6 201 1 SUNSD 0 6 24 0 SUNS + 2 0 51 0 SURFRATE 10 3 192 1 SURGE 0 19 220 1 SVRTS 10 3 208 1 SWASH + 0 3 32 0 SWATERVP 0 4 2 0 SWAVR 10 0 7 0 SWDIR 0 20 7 0 SWDMFLX 0 7 5 0 SWEATX 10 0 8 0 SWELL 1 0 4 0 SWEPON + 2 3 30 0 SWET 10 0 47 0 SWHFSWEL 0 4 197 1 SWHR 10 0 48 0 SWHSSWEL 10 0 49 0 SWHTSWEL 0 19 202 1 SWINDPRO + 0 22 4 0 SWI 10 0 9 0 SWPER 3 1 194 1 SWQI 0 4 6 0 SWRAD 0 19 212 1 SWSALB + 10 4 41 0 SWSTBC + 10 4 35 0 SWSTNR + 10 4 37 0 SWSTP + 10 4 40 0 SWTTBC + 10 4 34 0 SWTTNR + 10 4 36 0 SWTTP 0 6 1 0 TCDC + 0 191 4 0 TCDTRACK 0 0 204 1 TCHP 0 1 81 0 TCICON 0 14 2 0 TCIOZ + 0 1 169 0 TCISSPFHW 0 1 64 0 TCIWV 2 0 35 0 TCLASS 0 1 209 1 TCLSW @@ -999,6 +1368,7 @@ 0 1 70 0 TCOLI 0 6 197 1 TCOLI 0 1 210 1 TCOLM + 0 1 237 1 TCOLP 0 1 45 0 TCOLR 0 1 204 1 TCOLR 0 1 46 0 TCOLS @@ -1010,6 +1380,7 @@ 0 6 17 0 TCONDO 0 1 21 0 TCOND 0 6 195 1 TCOND + 0 1 167 0 TCSLW 10 3 242 1 TCSRG20 10 3 243 1 TCSRG30 10 3 244 1 TCSRG40 @@ -1021,19 +1392,27 @@ 0 1 51 0 TCWAT 0 0 20 0 TDCHT 0 2 31 0 TDCMOM + 10 0 94 0 TDMCREST + 10 0 95 0 TDMWAVE + 0 191 7 0 TDTSV 2 0 36 0 TFRCT + 10 3 9 0 THERCSSH 0 0 197 1 THFLX 0 3 12 0 THICK 0 6 10 0 THUNC + 0 18 24 0 THYDOSER 0 0 203 1 THZ0 0 18 6 0 TIACCP 0 18 7 0 TIACIP 0 18 8 0 TIACRP 10 3 251 1 TIDE + 0 7 20 0 TIIDEX 0 1 206 1 TIPD 0 19 11 0 TKE 0 1 90 0 TKMFLX + 0 19 42 0 TLBHEIGHT 0 17 4 0 TLGTFD + 0 19 43 0 TLTHEIGH 0 6 9 0 TMAXT 0 0 4 0 TMAX 0 0 5 0 TMIN @@ -1048,12 +1427,15 @@ 0 19 197 1 TORPROB 0 7 4 0 TOTALX 0 1 80 0 TOTCON + 0 21 2 0 TOTENG 0 18 13 0 TOTLWD 0 14 0 0 TOZNE 0 14 197 1 TOZ 2 0 37 0 TPERCT 0 19 219 1 TPFI 0 1 52 0 TPRATE + 0 2 231 1 TPWDIR + 0 2 232 1 TPWSPD 0 20 13 0 TRANHH 2 3 12 0 TRANSO 2 0 230 1 TRANS @@ -1062,15 +1444,18 @@ 0 2 225 1 TRWSPD 0 0 200 1 TSD1D 0 191 0 0 TSEC + 0 2 58 0 TSFCSTR 4 6 0 0 TSI 0 3 199 1 TSLSA 0 1 50 0 TSNOWP 0 1 241 1 TSNOW 2 0 2 0 TSOIL + 0 1 128 0 TSPRATE 0 1 57 0 TSRATE 0 1 53 0 TSRWE 0 19 203 1 TSTMC 0 19 2 0 TSTM + 0 191 6 0 TSTSV 0 0 19 0 TTCHT 0 0 198 1 TTDIA 10 4 2 0 TTHDP @@ -1091,8 +1476,11 @@ 10 3 205 1 TWLWAV 0 20 58 0 TYAAL 0 20 57 0 TYABA + 2 0 58 0 TYPHIVEG + 2 0 57 0 TYPLOVEG 0 3 16 0 U-GWD 0 3 194 1 U-GWD + 0 4 57 0 UBALBDIRG 10 1 194 1 UBARO 0 3 31 0 UCLSPRS 0 1 120 0 UCSCIW @@ -1110,8 +1498,10 @@ 0 5 4 0 ULWRF 0 5 193 1 ULWRF 0 3 27 0 UMFLX + 2 4 22 0 UNBURNAREA 0 1 118 0 UNCSH 0 2 45 0 UNDIV + 0 2 56 0 UNWIND 10 1 2 0 UOGRD 1 0 14 0 UPAPCP 1 0 15 0 UPASM @@ -1119,17 +1509,28 @@ 0 7 197 1 UPHL 2 3 2 0 UPLSM 2 3 1 0 UPLST + 2 0 44 0 UPSAREA + 10 4 27 0 UPWWVEL + 2 6 0 0 URBCOVER 3 1 192 1 USCT + 10 0 90 0 USMFO 10 0 21 0 USSD 0 2 27 0 USTM 0 2 194 1 USTM 0 4 53 0 USWRFCS 0 4 8 0 USWRF 0 4 193 1 USWRF + 20 0 0 0 UTHCIDX 0 4 205 1 UTRF + 0 4 15 0 UUVEARTH + 0 4 55 0 UVALBDIF + 0 4 58 0 UVALBDIRI + 0 4 56 0 UVALBDIR + 0 4 59 0 UVBDIRV 0 4 50 0 UVIUCS 0 4 51 0 UVI 0 7 196 1 UVI + 0 2 52 0 UWINDSTR 0 3 17 0 V-GWD 0 3 195 1 V-GWD 0 19 232 1 VAFTD @@ -1142,6 +1543,8 @@ 0 14 195 1 VDFOZ 0 2 208 1 VDFUA 0 2 209 1 VDFVA + 0 2 59 0 VDIV + 10 4 28 0 VEDDYDIF 0 2 204 1 VEDH 2 0 232 1 VEGMAX 2 0 231 1 VEGMIN @@ -1168,6 +1571,7 @@ 0 19 0 0 VIS 0 1 92 0 VKMFLX 0 20 52 0 VMXR + 0 2 57 0 VNWIND 10 1 3 0 VOGRD 3 4 4 0 VOLACDEM 3 4 7 0 VOLACDEN @@ -1186,6 +1590,9 @@ 0 0 15 0 VPTMP 0 2 224 1 VRATE 3 1 193 1 VSCT + 10 4 33 0 VSFC + 10 4 32 0 VSFSW + 10 0 91 0 VSMFO 2 0 25 0 VSOILM 2 3 16 0 VSOSM 10 0 22 0 VSSD @@ -1197,17 +1604,30 @@ 0 2 16 0 VVCSH 0 2 8 0 VVEL 2 0 27 0 VWILTM + 0 2 53 0 VWINDSTR 0 2 25 0 VWSH 0 2 192 1 VWSH + 2 6 4 0 VZAFRAC 10 4 17 0 WATDENA + 0 21 4 0 WATENTHALPY 10 4 16 0 WATERDEN + 2 0 236 1 WATERSA 10 4 20 0 WATPDENA 10 4 19 0 WATPDEN 10 4 18 0 WATPTEMP 2 0 5 0 WATR + 1 0 20 0 WATSURF + 10 0 79 0 WAVEFDIR + 10 0 78 0 WAVEFMAG 10 0 62 0 WAVEFREW + 4 5 3 0 WAVELGTH + 10 0 87 0 WAVEMSLC + 10 0 77 0 WAVESPSK + 10 0 92 0 WAVETEFO + 10 0 73 0 WCAPFRAC 2 0 223 1 WCCONV 0 0 13 0 WCF + 10 4 22 0 WCHEATC 2 0 221 1 WCINC 2 0 226 1 WCUFLX 2 0 227 1 WCVFLX @@ -1221,9 +1641,15 @@ 10 0 58 0 WDWTSWEL 0 1 13 0 WEASD 10 0 42 0 WESP + 20 0 2 0 WETBGTMP + 0 0 32 0 WETBPT 0 0 27 0 WETBT + 2 0 45 0 WETCOV 0 18 11 0 WETDEP + 0 0 206 1 WETGLBT + 2 0 46 0 WETTYPE 0 20 75 0 WFIREFLX + 2 4 26 0 WFIREPOT 1 2 2 0 WFRACT 10 0 59 0 WFWFSWEL 10 0 60 0 WFWSSWEL @@ -1233,13 +1659,18 @@ 2 0 26 0 WILT 2 0 201 1 WILT 0 2 33 0 WINDF + 20 3 2 0 WINDPCAP + 20 3 3 0 WINDPPROD 0 19 199 1 WINDPROB + 0 2 49 0 WINDSTR 3 1 19 0 WINDS 0 2 1 0 WIND 0 19 25 0 WIWW 10 0 193 1 WLENG 0 20 9 0 WLSMFLX 0 2 19 0 WMIXE + 0 3 45 0 WOBT + 2 0 42 0 WRDRATE 2 0 33 0 WROD 10 0 192 1 WSTP 10 0 18 0 WSTR @@ -1259,8 +1690,15 @@ 2 0 224 1 WVUFLX 2 0 225 1 WVVFLX 10 0 14 0 WWSDIR + 10 3 7 0 XCOMPSS + 10 4 25 0 XCOMPWV + 10 2 24 0 XICE 4 6 1 0 XLONG - 0 3 26 0 XPRES 4 8 0 0 XRAYRAD 4 6 2 0 XSHRT + 10 3 16 0 XSURFWVEL + 10 3 8 0 YCOMPSS + 10 4 26 0 YCOMPWV + 10 2 25 0 YICE + 10 3 17 0 YSURFVWEL 10 2 10 0 ZVCICEP diff --git a/parm/params_grib2_tbl_new.text b/parm/params_grib2_tbl_new.text index 1ab29afb14..73c631cd1c 100755 --- a/parm/params_grib2_tbl_new.text +++ b/parm/params_grib2_tbl_new.text @@ -11,6 +11,22 @@ ! new tables 4.2-3-2,3,4,and 6 !2019-07-02 B. VUONG Added more parameters !2021-04-20 B. VUONG Added more parameters +!2023-03-09 A. BENJAMIN Added more parameters +!2023-03-30 A. BENJAMIN Added more parameters +!2023-10-19 A. BENJAMIN Added more parameters and +! new tables 4.2-3-1,4-8,10-0, +! 10-2,10-4 +!2023-11-02 A. BENJAMIN Added new parameters, +! fixed mislabeled params, +! match grib2 doc +!2023-12-07 A. BENJAMIN Added new parameters, and +! new tables: 4.2-2-6 +! 4.2-4-5,10 4.2-20-0,1,2,3 +!2024-07-17 A. BENJAMIN GRIB2 v33.0 update, new parameters +!2025-05-14 B. BLAKE Added new parameters +!2025-06-11 B. BLAKE Added new parameters +!2025-08-04 B. BLAKE Added new parameters +! ! !GRIB2 parameter table for all disciplines and categories !The fields in order are grib2_discipline grib2_category @@ -56,6 +72,10 @@ ! Added more parameters in 7/2/2019 0 0 28 0 UCTMP 0 0 29 0 TMPADV +! Added new parameters 11/2/2023 + 0 0 30 0 LHFLXE + 0 0 31 0 LHFLXS + 0 0 32 0 WETBPT ! NCEP Local use 0 0 192 1 SNOHF 0 0 193 1 TTRAD @@ -72,6 +92,8 @@ 0 0 204 1 TCHP ! Added more parameters on 02/25/2021 0 0 205 1 ELMELT +! Added new parameters 11/2/2023 + 0 0 206 1 WETGLBT ! ! GRIB2 - TABLE 4.2-0-1 PARAMETERS FOR DISCIPLINE 0 CATEGORY 1 ! @@ -97,7 +119,7 @@ 0 1 19 0 PTYPE 0 1 20 0 ILIQW 0 1 21 0 TCOND -! Changed from CLWMR to CLWR +! Changed from CLWMR to CLWR ! (WGRIB2 v2.0.8 updated) in 4/6/2021 0 1 22 0 CLMR 0 1 23 0 ICMR @@ -203,6 +225,56 @@ 0 1 119 0 UCSCLW 0 1 120 0 UCSCIW 0 1 121 0 FSNOWC +! Added more parameters 10/20/2023 + 0 1 122 0 PIIDX + 0 1 123 0 DPTYPE + 0 1 124 0 PSHOW + 0 1 125 0 PBSNOW + 0 1 126 0 PBLIZZ + 0 1 127 0 ICEP + 0 1 128 0 TSPRATE + 0 1 129 0 EFRCCWAT + 0 1 130 0 EFRRAIN + 0 1 131 0 EFRCICE + 0 1 132 0 EFRSNOW + 0 1 133 0 EFRGRL + 0 1 134 0 EFRHAIL + 0 1 135 0 EFRSLC + 0 1 136 0 EFRSICEC + 0 1 137 0 EFARRAIN + 0 1 138 0 EFARCICE + 0 1 139 0 EFARSNOW + 0 1 140 0 EFARGRL + 0 1 141 0 EFARHAIL + 0 1 142 0 EFARSIC + 0 1 143 0 PERATE + 0 1 144 0 SRWATERC + 0 1 145 0 SSNOWWC + 0 1 146 0 CICEPR + 0 1 147 0 CHPRECIP + 0 1 148 0 SNOWERAT + 0 1 149 0 CWATERMR + 0 1 150 0 CEWVMF + 0 1 151 0 CNWVMF + 0 1 152 0 CECLWMF + 0 1 153 0 CNCLWMF + 0 1 154 0 CECIMF + 0 1 155 0 CNCIMF + 0 1 156 0 CERMF + 0 1 157 0 CNRMF + 0 1 158 0 CEFMF + 0 1 159 0 CNSMF + 0 1 160 0 CDWFMF + 0 1 161 0 CDCLWMF + 0 1 162 0 CDCIMF + 0 1 163 0 CDRMF + 0 1 164 0 CDSMF + 0 1 165 0 CDTWMF + 0 1 166 0 CWVF + 0 1 167 0 TCSLW +! Added New Parameters 12/15/2023 + 0 1 168 0 SSPFHW + 0 1 169 0 TCISSPFHW ! NCEP Local use 0 1 192 1 CRAIN 0 1 193 1 CFRZR @@ -251,6 +323,14 @@ 0 1 233 1 SNOWLR 0 1 234 1 PCPDUR 0 1 235 1 CLLMR +! Added new parameters on 5/14/2025 + 0 1 236 1 HAILAC +! Added new parameters on 6/11/2025 + 0 1 237 1 TCOLP +! Added new parameters on 8/4/2025 + 0 1 238 1 PRATE1MIN + 0 1 239 1 PRATE5MIN + 0 1 240 1 PRATE10MIN 0 1 241 1 TSNOW 0 1 242 1 RHPW 0 1 245 1 MAXVIG @@ -307,6 +387,29 @@ ! Added more parameters in 7/2/2019 0 2 45 0 UNDIV 0 2 46 0 VORTADV +! Added parameters 10/20/2023 + 0 2 47 0 SFRHEAT + 0 2 48 0 SFRMOIST + 0 2 49 0 WINDSTR + 0 2 50 0 EWINDSTR + 0 2 51 0 NWINDSTR + 0 2 52 0 UWINDSTR + 0 2 53 0 VWINDSTR + 0 2 54 0 NLSRLH + 0 2 55 0 NLSRLM + 0 2 56 0 UNWIND + 0 2 57 0 VNWIND + 0 2 58 0 TSFCSTR +! Added parameters 12/15/2023 + 0 2 59 0 VDIV + 0 2 60 0 DTC + 0 2 61 0 DEC + 0 2 62 0 EASTTSS + 0 2 63 0 NRTHTSS + 0 2 64 0 EASTTSSOD + 0 2 65 0 NRTHTSSOD + 0 2 66 0 EASTTSSSR + 0 2 67 0 NRTHTSSSR ! NCEP Local use 0 2 192 1 VWSH 0 2 193 1 MFLX @@ -348,6 +451,9 @@ 0 2 228 1 TOA50 0 2 229 1 TOD50 0 2 230 1 TOD90 +! Added new parameters 11/2/2023 + 0 2 231 1 TPWDIR + 0 2 232 1 TPWSPD ! Added more parameters in 2/25/2021 0 2 233 1 ESHR 0 2 234 1 UESH @@ -384,7 +490,8 @@ 0 3 23 0 GWD 0 3 24 0 ASGSO 0 3 25 0 NLPRES - 0 3 26 0 XPRES +! Fixed 26 to match grib2 doc 11/2/2023 + 0 3 26 0 EXPRES ! Added more parameters in 2/28/2017 0 3 27 0 UMFLX 0 3 28 0 DMFLX @@ -392,6 +499,23 @@ 0 3 30 0 DDRATE ! Added more parameters in 7/2/2019 0 3 31 0 UCLSPRS +! Added parameters 10/20/2023 + 0 3 32 0 SWATERVP + 0 3 33 0 GAMSL + 0 3 34 0 GHARGRD + 0 3 35 0 CDTMF + 0 3 36 0 CETMF + 0 3 37 0 CNTMF + 0 3 38 0 SDFSO + 0 3 39 0 CMATMOS + 0 3 40 0 CEGFLUX + 0 3 41 0 CNGFLUX + 0 3 42 0 CDWGFLUX + 0 3 43 0 CDGFLUX + 0 3 44 0 HWBT + 0 3 45 0 WOBT +! Added new parameter 12/15/2023 + 0 3 46 0 PRESDHS ! NCEP Local use 0 3 192 1 MSLET 0 3 193 1 5WAVH @@ -445,12 +569,22 @@ ! Added more parameters in 2/28/2017 0 4 13 0 DSWRFLX 0 4 14 0 DIFSWRF + 0 4 15 0 UUVEARTH ! 0 4 50 0 UVIUCS 0 4 51 0 UVI ! Added more parameters in 2/28/2017 0 4 52 0 DSWRFCS 0 4 53 0 USWRFCS +! Added more parameters 10/20/2023 + 0 4 54 0 DNSWRFLX + 0 4 55 0 UVALBDIF + 0 4 56 0 UVALBDIR + 0 4 57 0 UBALBDIRG + 0 4 58 0 UVALBDIRI + 0 4 59 0 UVBDIRV + 0 4 60 0 PHOARFCS + 0 4 61 0 DSWRFLXCS ! NCEP Local use 0 4 192 1 DSWRF 0 4 193 1 USWRF @@ -466,6 +600,8 @@ 0 4 203 1 NDDSF 0 4 204 1 DTRF 0 4 205 1 UTRF +! Added new parameters on 5/14/2025 + 0 4 206 1 DFSWRFLXCS ! ! GRIB2 - TABLE 4.2-0-5 PARAMETERS FOR DISCIPLINE 0 CATEGORY 5 ! @@ -480,6 +616,12 @@ 0 5 7 0 BRTEMP ! Added more parameters in 2/28/2017 0 5 8 0 DLWRFCS +! Added new parameters 10/20/2023 + 0 5 9 0 NIRALBDIF + 0 5 10 0 NIRALBDIR + 0 5 11 0 NIRALBDIRG + 0 5 12 0 NIRALBDIRI + 0 5 13 0 NIRALBDIRV ! NCEP Local use 0 5 192 1 DLWRF 0 5 193 1 ULWRF @@ -540,6 +682,9 @@ 0 6 47 0 VFRCWD 0 6 48 0 VFRCICE 0 6 49 0 VFRCIW +! Added new parameters 10/20/2023 + 0 6 50 0 FOG + 0 6 51 0 SUNFRAC ! NCEP Local use 0 6 192 1 CDLYR 0 6 193 1 CWORK @@ -575,6 +720,8 @@ 0 7 18 0 FLXRN ! Added more parameters in 7/2/2019 0 7 19 0 CONAPES +! Added new parameter 11/2/2023 + 0 7 20 0 TIIDEX ! NCEP Local use 0 7 192 1 LFTX 0 7 193 1 4LFTX @@ -652,6 +799,8 @@ ! Added more parameters in 8/26/2015 0 15 15 0 HSR 0 15 16 0 HSRHT +! Added new parameters on 6/11/2025 + 0 15 192 1 RADARVIL ! ! GRIB2 - TABLE 4.2-0-16 PARAMETERS FOR DISCIPLINE 0 CATEGORY 16 ! @@ -669,7 +818,8 @@ 0 16 196 1 REFC 0 16 197 1 RETOP 0 16 198 1 MAXREF - 0 16 201 1 RADARVIL +! Added new parameters on 8/4/2025 + 0 16 199 1 MAXREFC ! ! GRIB2 - TABLE 4.2-0-17 PARAMETERS FOR DISCIPLINE 0 CATEGORY 17 ! @@ -680,6 +830,8 @@ 0 17 2 0 CDGDLTFD 0 17 3 0 CDCDLTFD 0 17 4 0 TLGTFD +! Added new parameter 11/2/2023 + 0 17 5 0 SLNGPIDX ! NCEP Local use 0 17 192 1 LTNG ! @@ -705,6 +857,15 @@ ! Added more parameters in 7/2/2019 0 18 17 0 CIAIRC 0 18 18 0 CAACL +! New parameters added 07/17/2024 + 0 18 19 0 DEPACTA + 0 18 20 0 DEPACTE + 0 18 21 0 CDLACTA + 0 18 22 0 CDLACTE + 0 18 23 0 EFFDOSER + 0 18 24 0 THYDOSER + 0 18 25 0 GAMDOSER + 0 18 26 0 ACTEMM ! ! GRIB2 - TABLE 4.2-0-19 PARAMETERS FOR DISCIPLINE 0 CATEGORY 19 ! @@ -751,6 +912,21 @@ 0 19 36 0 PSNOWS ! Added more parameters in 12/03/2019 0 19 37 0 ICESEV +! Added new parameters 10/20/23 + 0 19 38 0 SKYIDX + 0 19 39 0 SEEINDEX + 0 19 40 0 SNOWLVL + 0 19 41 0 DBHEIGHT + 0 19 42 0 TLBHEIGHT + 0 19 43 0 TLTHEIGH + 0 19 44 0 MEANVGRTL + 0 19 45 0 MINVGRTL +! Added new parameters 12/15/2023 + 0 19 46 0 NETRADFLUX + 0 19 47 0 GLIRRTS + 0 19 48 0 PCONTT + 0 19 49 0 PCONTB + 0 19 50 0 CITEDR ! NCEP Local use 0 19 192 1 MXSALB 0 19 193 1 SNFALB @@ -792,6 +968,8 @@ 0 19 236 1 SNOWLVL 0 19 237 1 DRYTPROB 0 19 238 1 ELLINX +! Added new parameter 11/2/2023 + 0 19 239 1 CWASP ! ! GRIB2 - TABLE 4.2-0-20 PARAMETERS FOR DISCIPLINE 0 CATEGORY 20 ! @@ -814,6 +992,8 @@ 0 20 15 0 DDVEL 0 20 16 0 MSSRDRYA 0 20 17 0 MSSRWETA +! Added new parameters 10/20/2023 + 0 20 18 0 POTHPH ! 0 20 50 0 AIA 0 20 51 0 CONAIR @@ -843,6 +1023,13 @@ 0 20 73 0 CBLCSRCP 0 20 74 0 CIRERECP 0 20 75 0 WFIREFLX +! Added new parameters 10/20/2023 + 0 20 76 0 EMISFLX + 0 20 77 0 SFCEFLX + 0 20 78 0 CEMF + 0 20 79 0 CNMF + 0 20 80 0 CDIVMF + 0 20 81 0 CNETS ! 0 20 100 0 SADEN 0 20 101 0 ATMTK @@ -858,6 +1045,45 @@ 0 20 111 0 ANGSTEXP 0 20 112 0 SCTAOTK ! +! GRIB2 - TABLE 4.2-0-21 PARAMETERS FOR DISCIPLINE 0 CATEGORY 21 +! +! Adding new table and parameters 11/2/2023 + 0 21 0 0 POTINTENG + 0 21 1 0 KINENG + 0 21 2 0 TOTENG + 0 21 3 0 ENTHALPY + 0 21 4 0 WATENTHALPY + 0 21 5 0 EASTENTFLUX + 0 21 6 0 NRTHENTFLUX + 0 21 7 0 EASTPOTFLUX + 0 21 8 0 NRTHPOTFLUX + 0 21 9 0 EASTKINFLUX + 0 21 10 0 NRTHKINFLUX + 0 21 11 0 EASTTOTFLUX + 0 21 12 0 NRTHTOTFLUX + 0 21 13 0 DIVENTFLUX + 0 21 14 0 DIVPOTFLUX + 0 21 15 0 DIVWPOTFLUX + 0 21 16 0 DIVKENGFLUX + 0 21 17 0 DIVTOTFLUX + 0 21 18 0 DIVWENTFLUX + 0 21 19 0 EASTHFLUX + 0 21 20 0 NRTHHFLUX + 0 21 21 0 PILENERGY +! Added new parameter 12/15/2023 + 0 21 22 0 EADYGR +! +! GRIB2 - TABLE 4.2-0-22 PARAMETERS FOR DISCIPLINE 0 CATEGORY 22 +! +! New table and parameters added 07/17/2024 + 0 22 0 0 SPI + 0 22 1 0 SPEI + 0 22 2 0 SSFI + 0 22 3 0 SRSI + 0 22 4 0 SWI + 0 22 5 0 SMRI + 0 22 6 0 SDI +! ! GRIB2 - TABLE 4.2-0-190 PARAMETERS FOR DISCIPLINE 0 CATEGORY 190 ! 0 190 0 0 ATEXT @@ -869,6 +1095,12 @@ 0 191 2 0 GEOLON ! Added more parameters in 8/26/2015 0 191 3 0 DSLOBS +! Added new parameter 12/15/2023 + 0 191 4 0 TCDTRACK +! New parameters added 07/17/2024 + 0 191 5 0 HURTSV + 0 191 6 0 TSTSV + 0 191 7 0 TDTSV ! NCEP Local use 0 191 192 1 NLAT 0 191 193 1 ELON @@ -915,9 +1147,17 @@ 1 0 14 0 UPAPCP 1 0 15 0 UPASM 1 0 16 0 PERRATE +! New parameters added 07/17/2024 + 1 0 17 0 RVEROW + 1 0 18 0 FLDPOW + 1 0 19 0 FLDPATHOW + 1 0 20 0 WATSURF ! NCEP Local use 1 0 192 1 BGRUN 1 0 193 1 SSRUN +! New parameters added 02/14/2025 + 1 0 194 1 FHO + 1 0 196 1 AHD ! ! GRIB2 - TABLE 4.2-1-1 PARAMETERS FOR DISCIPLINE 1 CATEGORY 1 ! @@ -929,6 +1169,9 @@ 1 1 193 1 CPOFP 1 1 194 1 PPFFG 1 1 195 1 CWR +! Added more parameters 3/9/2023 + 1 1 196 1 QPFARI + 1 1 197 1 QPFFFG ! ! GRIB2 - TABLE 4.2-1-2 PARAMETERS FOR DISCIPLINE 1 CATEGORY 2 ! @@ -947,13 +1190,27 @@ 1 2 12 0 SALTIL ! Added more parameters in 2/28/2017 1 2 13 0 CSAFC +! Added new paramter 11/2/2023 + 1 2 14 0 LNDSNOWT +! Added new parameters 12/15/2023 + 1 2 15 0 LDEPTH + 1 2 16 0 RDEPTH +! New parameters added 07/17/2024 + 1 2 17 0 FLDPDEPTH + 1 2 18 0 FLDPFLFR + 1 2 19 0 FLDPFLAR + 1 2 20 0 RVERFR + 1 2 21 0 RVERAR + 1 2 22 0 FRCRF + 1 2 23 0 ARCRF ! ! GRIB2 - TABLE 4.2-2-0 PARAMETERS FOR DISCIPLINE 2 CATEGORY 0 ! 2 0 0 0 LAND 2 0 1 0 SFCR 2 0 2 0 TSOIL - 2 0 3 0 SOILM +! Parameter SOILM deprecated 12/03/2021 +! 2 0 3 0 SOILM 2 0 4 0 VEG 2 0 5 0 WATR 2 0 6 0 EVAPT @@ -971,17 +1228,20 @@ ! 2 0 17 0 WILT 2 0 18 0 RCS 2 0 19 0 RCT - 2 0 20 0 RCSOL - 2 0 21 0 RCQ - 2 0 22 0 SOILM +! Swapped RCQ and RCSOL 11/02/2023 + 2 0 20 0 RCQ + 2 0 21 0 RCSOL +! Parameter SOILD deprecated 12/03/2021 +! 2 0 22 0 SOILM 2 0 23 0 CISOILW 2 0 24 0 HFLUX 2 0 25 0 VSOILM 2 0 26 0 WILT 2 0 27 0 VWILTM 2 0 28 0 LEAINX - 2 0 29 0 EVERF - 2 0 30 0 DECF +! Fixed 29-30 to match grib2 doc 11/2/2023 + 2 0 29 0 EVGFC + 2 0 30 0 DECFC 2 0 31 0 NDVINX 2 0 32 0 RDVEG ! Added more parameters in 8/26/2015 @@ -991,6 +1251,33 @@ 2 0 36 0 TFRCT 2 0 37 0 TPERCT 2 0 38 0 SOILVIC +! Added new parameters 10/23/2023 + 2 0 39 0 EVAPTRAT + 2 0 40 0 PEVAPTRAT + 2 0 41 0 SMRATE + 2 0 42 0 WRDRATE + 2 0 43 0 DRAINDIR + 2 0 44 0 UPSAREA + 2 0 45 0 WETCOV + 2 0 46 0 WETTYPE + 2 0 47 0 IRRCOV + 2 0 48 0 CROPCOV + 2 0 49 0 GRASSCOV + 2 0 50 0 SKINRC + 2 0 51 0 SURFRATE + 2 0 52 0 SUBSRATE + 2 0 53 0 LOVEGCOV + 2 0 54 0 HIVEGCOV + 2 0 55 0 LAILO + 2 0 56 0 LAIHI + 2 0 57 0 TYPLOVEG + 2 0 58 0 TYPHIVEG + 2 0 59 0 NECOFLUX + 2 0 60 0 GROSSFLUX + 2 0 61 0 ECORFLUX +! Added new parameters 12/15/2023 + 2 0 62 0 EMISS + 2 0 63 0 CANTMP ! NCEP Local use 2 0 192 1 SOILW 2 0 193 1 GFLUX @@ -1033,6 +1320,14 @@ 2 0 230 1 TRANS 2 0 231 1 VEGMIN 2 0 232 1 VEGMAX +! Added more parameters in 7/14/2021 + 2 0 233 1 LANDFRC + 2 0 234 1 LAKEFRC + 2 0 235 1 PAHFLX + 2 0 236 1 WATERSA + 2 0 237 1 EIWATER + 2 0 238 1 PLANTTR + 2 0 239 1 SOILSE ! ! GRIB2 - TABLE 4.2-2-1 PARAMETERS FOR DISCIPLINE 2 CATEGORY 1 ! @@ -1070,6 +1365,10 @@ 2 3 25 0 SNWDEB 2 3 26 0 SHFLX 2 3 27 0 SOILDEP +! Added new parameters 12/15/2023 + 2 3 28 0 SNOWTMP + 2 3 29 0 ICETEMP + 2 3 30 0 SWET ! NCEP Local use 2 3 192 1 SOILL 2 3 193 1 RLYRS @@ -1083,6 +1382,8 @@ 2 3 201 1 AVSFT 2 3 202 1 RADT 2 3 203 1 FLDCP +! Updated parameter name on 4/9/2025 + 2 3 204 1 MSTAVTOP ! ! GRIB2 - TABLE 4.2-2-4 PARAMETERS FOR DISCIPLINE 2 CATEGORY 4 ! @@ -1100,13 +1401,57 @@ 2 4 9 0 INFSINX 2 4 10 0 FBUPINX 2 4 11 0 FDSRTE +! Added more parameters 3/30/2023 + 2 4 12 0 KRIDX + 2 4 13 0 DRFACT + 2 4 14 0 RATESPRD + 2 4 15 0 FIREDIDX + 2 4 16 0 SPRDCOMP + 2 4 17 0 BURNIDX + 2 4 18 0 IGNCOMP + 2 4 19 0 ENRELCOM +! Added new parameters 10/23/2023 + 2 4 20 0 BURNAREA + 2 4 21 0 BURNABAREA + 2 4 22 0 UNBURNAREA + 2 4 23 0 FUELLOAD + 2 4 24 0 COMBCO + 2 4 25 0 FUELMC +! Added more parameters 3/30/2023 + 2 4 26 0 WFIREPOT +! Added new parameters 12/15/2023 + 2 4 27 0 LLFL + 2 4 28 0 LWFL + 2 4 29 0 DLFL + 2 4 30 0 DWFL + 2 4 31 0 LFMC + 2 4 32 0 FDLMC + 2 4 33 0 DDLMC + 2 4 34 0 FDWMC + 2 4 35 0 DDWMC + 2 4 36 0 FRADPOW ! ! Added new Discipline 2 category 5 in 8/26/2015 ! ! GRIB2 - TABLE 4.2-2-5 PARAMETERS FOR DISCIPLINE 2 CATEGORY 5 +! +! Added new parameter 11/2/2023 + 2 5 0 0 GLACCOV ! 2 5 1 0 GLACTMP ! +! GRIB2 - TABLE 4.2-2-6 PARAMETERS FOR DISCIPLINE 2 CATEGORY 6 +! + 2 6 0 0 URBCOVER + 2 6 1 0 ROADCOVER + 2 6 2 0 BUILDCOVER + 2 6 3 0 BUILDHGT + 2 6 4 0 VZAFRAC + 2 6 5 0 SDBUILDHGT + 2 6 6 0 DDROOF + 2 6 7 0 DIOWALL + 2 6 8 0 DDROAD +! ! GRIB2 - TABLE 4.2-3-0 PARAMETERS FOR DISCIPLINE 3 CATEGORY 0 ! 3 0 0 0 SRAD @@ -1151,6 +1496,11 @@ 3 1 27 0 BRFLF 3 1 28 0 SPBRT 3 1 29 0 SCRAD +! Added more parameters 10/19/2023 + 3 1 30 0 RFL04 +! Added new parameters 12/15/2023 + 3 1 31 0 CLDREF + 3 1 32 0 CLRREF ! Added more parameters in 7/2/2019 3 1 98 0 CCMPEMRR 3 1 99 0 SDMPEMRR @@ -1294,6 +1644,31 @@ 3 192 63 0 SSMS1716 3 192 64 0 SSMS1717 3 192 65 0 SSMS1718 +! Added more parameters in 09/24/2021 + 3 192 66 0 SBTAHI7 + 3 192 67 0 SBTAHI8 + 3 192 68 0 SBTAHI9 + 3 192 69 0 SBTAHI10 + 3 192 70 0 SBTAHI11 + 3 192 71 0 SBTAHI12 + 3 192 72 0 SBTAHI13 + 3 192 73 0 SBTAHI14 + 3 192 74 0 SBTAHI15 + 3 192 75 0 SBTAHI16 +! Added more parameters in 3/28/2022 + 3 192 76 0 SBTA187 + 3 192 77 0 SBTA188 + 3 192 78 0 SBTA189 + 3 192 79 0 SBTA1810 + 3 192 80 0 SBTA1811 + 3 192 81 0 SBTA1812 + 3 192 82 0 SBTA1813 + 3 192 83 0 SBTA1814 + 3 192 84 0 SBTA1815 + 3 192 85 0 SBTA1816 +! New parameters added 03/27/2025 + 3 192 86 0 SSMS1712 + 3 192 87 0 SSMS1713 ! ! GRIB2 - TABLE 4.2-4-0 PARAMETERS FOR DISCIPLINE 4 CATEGORY 0 ! @@ -1323,7 +1698,11 @@ 4 2 7 0 SPRDF 4 2 8 0 HPRIMF 4 2 9 0 CRTFRQ - 4 2 10 0 SCINT +! adding new parameters 11/2/2023 + 4 2 10 0 MAXUFZ + 4 2 11 0 PEAKH + 4 2 12 0 PEAKDEN + 4 2 13 0 EQSLABT ! ! GRIB2 - TABLE 4.2-4-3 PARAMETERS FOR DISCIPLINE 4 CATEGORY 3 ! @@ -1346,6 +1725,13 @@ 4 4 5 0 INTIFLUX 4 4 6 0 NTRNFLUX ! +! GRIB2 - TABLE 4.2-4-5 PARAMETERS FOR DISCIPLINE 4 CATEGORY 5 +! + 4 5 0 0 AMPL + 4 5 1 0 PHASE + 4 5 2 0 FREQ + 4 5 3 0 WAVELGTH +! ! GRIB2 - TABLE 4.2-4-6 PARAMETERS FOR DISCIPLINE 4 CATEGORY 6 ! 4 6 0 0 TSI @@ -1373,6 +1759,8 @@ 4 8 5 0 WHTCOR 4 8 6 0 HELCOR 4 8 7 0 MASK +! Added new parameter 10/19/2023 + 4 8 8 0 SICFL ! ! GRIB2 - TABLE 4.2-4-9 PARAMETERS FOR DISCIPLINE 4 CATEGORY 9 ! @@ -1380,6 +1768,17 @@ 4 9 1 0 SIGHAL 4 9 2 0 SIGPAR ! +! GRIB2 - TABLE 4.2-4-10 PARAMETERS FOR DISCIPLINE 4 CATEGORY 10 +! + 4 10 0 0 SCINIDX + 4 10 1 0 SCIDEXS4 + 4 10 2 0 ROTIDX + 4 10 3 0 DIDXSG + 4 10 4 0 AATRATE + 4 10 5 0 KP + 4 10 6 0 EDISSTIX + 4 10 7 0 AURELEC +! ! GRIB2 - TABLE 4.2-10-0 PARAMETERS FOR DISCIPLINE 10 CATEGORY 0 ! 10 0 0 0 WVSP1 @@ -1449,6 +1848,43 @@ 10 0 62 0 WAVEFREW 10 0 63 0 FREWWW 10 0 64 0 FRWWTSW +! Added parameters 10/19/2023 + 10 0 65 0 PWPFSPAR + 10 0 66 0 PWPSSPAR + 10 0 67 0 PWPTSPAR + 10 0 68 0 PWDFSPAR + 10 0 69 0 PWDSSPAR + 10 0 70 0 PWDTSPAR + 10 0 71 0 PDWWAVE + 10 0 72 0 PDTSWELL + 10 0 73 0 WCAPFRAC + 10 0 74 0 MDTSWEL + 10 0 75 0 MDWWAVE + 10 0 76 0 CHNCK + 10 0 77 0 WAVESPSK + 10 0 78 0 WAVEFMAG + 10 0 79 0 WAVEFDIR + 10 0 80 0 RWAVEAFW + 10 0 81 0 FCVOCEAN + 10 0 82 0 AIRDENOC + 10 0 83 0 NEFW + 10 0 84 0 NSOCEAN + 10 0 85 0 NEFOCEAN + 10 0 86 0 SEVWAVE + 10 0 87 0 WAVEMSLC + 10 0 88 0 SPECWI + 10 0 89 0 EFWS + 10 0 90 0 USMFO + 10 0 91 0 VSMFO + 10 0 92 0 WAVETEFO +! Added new parameters 12/15/2023 + 10 0 93 0 EMIWAVE + 10 0 94 0 TDMCREST + 10 0 95 0 TDMWAVE + 10 0 96 0 STMCREST + 10 0 97 0 STMWAVE +! New parameters added 07/17/2024 + 10 0 98 0 GODAPEAK ! NCEP Local use 10 0 192 1 WSTP ! Added parameter in 8/26/2015 @@ -1462,6 +1898,9 @@ 10 1 3 0 VOGRD ! Added parameter in 7/2/2019 10 1 4 0 RIPCOP +! Added parameters 10/19/2023 + 10 1 5 0 EASTCUR + 10 1 6 0 NRTHCUR ! NCEP Local use 10 1 192 1 OMLU 10 1 193 1 OMLV @@ -1484,6 +1923,25 @@ 10 2 10 0 ZVCICEP 10 2 11 0 MVCICEP 10 2 12 0 CICES +! Added parameters 10/19/2023 + 10 2 13 0 SNOWTSI + 10 2 14 0 ALBDOICE + 10 2 15 0 SICEVOL + 10 2 16 0 SNVOLSI + 10 2 17 0 SICEHC + 10 2 18 0 SNSIHC + 10 2 19 0 ICEFTHCK + 10 2 20 0 ICEMPF + 10 2 21 0 ICEMPD + 10 2 22 0 ICEMPV + 10 2 23 0 SIFTP +! Added new parameters 12/15/2023 + 10 2 24 0 XICE + 10 2 25 0 YICE +! + 10 2 27 0 FRZMLTPOT + 10 2 28 0 MLTDATE + 10 2 29 0 FRZDATE ! ! GRIB2 - TABLE 4.2-10-3 PARAMETERS FOR DISCIPLINE 10 CATEGORY 3 ! @@ -1491,6 +1949,27 @@ 10 3 1 0 DSLM ! Added more parameters in 2/28/2017 10 3 2 0 CH +! Added new parameters in 10/30/2023 + 10 3 3 0 PRACTSAL + 10 3 4 0 DWHFLUX + 10 3 5 0 EASTWSS + 10 3 6 0 NORTHWSS + 10 3 7 0 XCOMPSS + 10 3 8 0 YCOMPSS + 10 3 9 0 THERCSSH + 10 3 10 0 HALOCSSH + 10 3 11 0 STERCSSH + 10 3 12 0 SEASFLUX + 10 3 13 0 NETUPWFLUX + 10 3 14 0 ESURFWVEL + 10 3 15 0 NSURFWVEL + 10 3 16 0 XSURFWVEL + 10 3 17 0 YSURFVWEL + 10 3 18 0 HFLUXCOR + 10 3 19 0 SSHGTPARM + 10 3 20 0 DSLIBARCOR +! Added new parameter 12/15/2023 + 10 3 21 0 SALINITY ! NCEP Local use 10 3 192 1 SURGE 10 3 193 1 ETSRG @@ -1552,6 +2031,38 @@ 10 4 19 0 WATPDEN 10 4 20 0 WATPDENA 10 4 21 0 PRTSAL +! Added parameters 10/19/2023 + 10 4 22 0 WCHEATC + 10 4 23 0 EASTWVEL + 10 4 24 0 NRTHWVEL + 10 4 25 0 XCOMPWV + 10 4 26 0 YCOMPWV + 10 4 27 0 UPWWVEL + 10 4 28 0 VEDDYDIF + 10 4 29 0 BPEH + 10 4 30 0 FWFSW + 10 4 31 0 FWFC + 10 4 32 0 VSFSW + 10 4 33 0 VSFC + 10 4 34 0 SWTTNR + 10 4 35 0 SWSTNR + 10 4 36 0 SWTTP + 10 4 37 0 SWSTP + 10 4 38 0 ESWVP + 10 4 39 0 NSWVP + 10 4 40 0 SWTTBC + 10 4 41 0 SWSTBC +! Added parameters 12/15/2023 + 10 4 42 0 SEAMVT + 10 4 43 0 SEAZVT + 10 4 44 0 SEACMVT + 10 4 45 0 SEACZVT + 10 4 46 0 SEAMMT + 10 4 47 0 SEAZMT + 10 4 48 0 SEACMMT + 10 4 49 0 SEACZMT + 10 4 50 0 SEACPSALT + 10 4 51 0 SEACSALT ! NCEP Local use 10 4 192 1 WTMPC 10 4 193 1 SALIN @@ -1567,3 +2078,47 @@ ! ! Added parameter in 8/26/2015 10 191 3 0 DSLOBSO +! Added new parameters 10/30/2023 + 10 191 4 0 BARDSF +! +! GRIB2 - TABLE 4.2-20-0 PARAMETERS FOR DISCIPLINE 20 CATEGORY 0 +! + 20 0 0 0 UTHCIDX + 20 0 1 0 MEANRTMP + 20 0 2 0 WETBGTMP + 20 0 3 0 GLOBETMP + 20 0 4 0 HUMIDX + 20 0 5 0 EFFTEMP + 20 0 6 0 NOREFTMP + 20 0 7 0 STDEFTMP + 20 0 8 0 PEQUTMP +! +! GRIB2 - TABLE 4.2-20-1 PARAMETERS FOR DISCIPLINE 20 CATEGORY 1 +! + 20 1 0 0 MALACASE + 20 1 1 0 MACPRATE + 20 1 2 0 PFEIRATE + 20 1 3 0 HBRATEAV + 20 1 4 0 MALAIMM + 20 1 5 0 FALPRATE + 20 1 6 0 DFPRATIO + 20 1 7 0 AVHRATIO + 20 1 8 0 AVECTNUM + 20 1 9 0 FMALVRH +! +! GRIB2 - TABLE 4.2-20-2 PARAMETERS FOR DISCIPLINE 20 CATEGORY 2 +! + 20 2 0 0 POPDEN +! +! GRIB2 - TABLE 4.2-20-3 PARAMETERS FOR DISCIPLINE 20 CATEGORY 3 +! + 20 3 0 0 RENPCAP + 20 3 1 0 RENPPROD + 20 3 2 0 WINDPCAP + 20 3 3 0 WINDPPROD + 20 3 4 0 SPVPCAP + 20 3 5 0 SPVPPROD + 20 3 6 0 SNPVPCAP + 20 3 7 0 SNPVPPROD + 20 3 8 0 CSPPCAP + 20 3 9 0 CSPPROD diff --git a/parm/params_grib2_tbl_new_dtc b/parm/params_grib2_tbl_new_dtc deleted file mode 100755 index 6ea5fffd66..0000000000 --- a/parm/params_grib2_tbl_new_dtc +++ /dev/null @@ -1,1254 +0,0 @@ - 0 7 11 0 4LFTX - 0 7 193 1 4LFTX - 0 3 19 0 5WAVA - 0 3 197 1 5WAVA - 0 3 15 0 5WAVH - 0 3 193 1 5WAVH - 0 20 106 0 AACOEF - 0 2 11 0 ABSD - 4 2 5 0 ABSFRQ - 0 1 18 0 ABSH - 4 2 6 0 ABSRB - 0 2 10 0 ABSV - 0 18 0 0 ACCES - 0 18 1 0 ACIOD - 2 0 228 1 ACOND - 0 1 224 1 ACPCPN - 0 1 10 0 ACPCP - 0 18 2 0 ACRADP - 10 4 13 0 ACWSRD - 1 2 11 0 ACWSR - 0 20 105 0 AECOEF - 0 20 3 0 AEMFLX - 0 13 0 0 AEROT - 0 2 36 0 AFRWE - 0 20 50 0 AIA - 0 18 10 0 AIRCON - 2 0 208 1 AKHS - 2 0 209 1 AKMS - 0 19 1 0 ALBDO - 0 20 108 0 ALBGRD - 0 20 107 0 ALBSAT - 10 0 38 0 ALCWH - 0 20 110 0 ALEGRD - 0 20 109 0 ALESAT - 10 0 39 0 ALRRC - 0 3 11 0 ALTS - 10 0 37 0 ALTWH - 2 0 219 1 AMIXL - 3 192 11 0 AMSRE10 - 3 192 12 0 AMSRE11 - 3 192 13 0 AMSRE12 - 3 192 10 0 AMSRE9 - 0 20 59 0 ANCON - 3 1 23 0 ANGCOE - 0 20 111 0 ANGSTEXP - 0 20 5 0 ANPEMFLX - 0 20 4 0 ANPMFLX - 10 3 197 1 AOHFLX - 3 1 20 0 AOT06 - 3 1 21 0 AOT08 - 3 1 22 0 AOT16 - 0 20 102 0 AOTK - 0 1 223 1 APCPN - 0 1 8 0 APCP - 0 0 21 0 APTMP - 0 1 221 1 ARAIN - 0 20 8 0 AREMFLX - 0 3 21 0 ASGSO - 0 3 24 0 ASGSO - 10 3 198 1 ASHFL - 0 20 60 0 ASNCON - 0 1 29 0 ASNOW - 0 20 104 0 ASYSFK - 0 190 0 0 ATEXT - 3 1 13 0 ATMDIV - 0 20 101 0 ATMTK - 2 3 201 1 AVSFT - 2 3 200 1 BARET - 10 4 7 0 BATHY - 10 0 44 0 BENINX - 1 0 5 0 BGRUN - 1 0 192 1 BGRUN - 10 4 194 1 BKENG - 0 7 1 0 BLI - 0 7 16 0 BLKRN - 0 2 20 0 BLYDP - 2 0 14 0 BMIXL - 2 0 197 1 BMIXL - 0 7 201 1 BNEGELAY - 2 3 4 0 BOTLST - 0 7 202 1 BPOSELAY - 0 15 1 0 BREF - 3 1 27 0 BRFLF - 0 5 7 0 BRTEMP - 0 4 4 0 BRTMP - 0 15 2 0 BRVEL - 0 15 0 0 BSWID - 4 3 0 0 BTOT - 4 3 1 0 BVEC1 - 4 3 2 0 BVEC2 - 4 3 3 0 BVEC3 - 0 18 18 0 CAACL - 4 8 4 0 CAIIRAD - 0 7 206 1 CANGLE - 2 1 192 1 CANL - 0 7 6 0 CAPE - 0 1 88 0 CATCP - 0 19 29 0 CATEDR - 0 19 22 0 CAT - 0 20 63 0 CAVEMDL - 0 20 70 0 CBECSLSP - 0 6 25 0 CBHE - 0 20 67 0 CBLCLDSP - 0 20 73 0 CBLCSRCP - 3 1 14 0 CBTMP - 3 1 98 0 CCMPEMRR - 2 0 15 0 CCOND - 2 0 199 1 CCOND - 0 6 7 0 CDCA - 0 6 11 0 CDCB - 0 6 22 0 CDCC - 0 17 3 0 CDCDLTFD - 0 6 23 0 CDCIMR - 0 6 2 0 CDCON - 0 6 12 0 CDCTOP - 0 6 8 0 CDCT - 0 17 2 0 CDGDLTFD - 0 6 14 0 CDLYR - 0 6 192 1 CDLYR - 0 4 195 1 CDUVB - 10 0 16 0 CDWW - 0 2 29 0 CD - 0 2 196 1 CD - 0 6 13 0 CEIL - 0 5 197 1 CFNLF - 0 4 199 1 CFNSF - 0 1 34 0 CFRZR - 0 1 193 1 CFRZR - 0 20 54 0 CGDRC - 0 20 53 0 CGPRC - 10 3 2 0 CH - 0 18 17 0 CIAIRC - 0 19 206 1 CICEL - 0 1 35 0 CICEP - 0 1 194 1 CICEP - 10 2 12 0 CICES - 0 6 0 0 CICE - 0 19 208 1 CIFLT - 0 1 82 0 CIMIXR - 0 20 66 0 CINCLDSP - 0 20 69 0 CINCSLSP - 0 20 72 0 CINCSRCP - 0 7 7 0 CIN - 0 20 68 0 CIRELREP - 0 20 74 0 CIRERECP - 2 3 22 0 CISICE - 2 3 20 0 CISOILM - 2 0 23 0 CISOILW - 0 19 207 1 CIVIS - 3 2 9 0 CLDALB - 3 2 10 0 CLDEMISS - 3 2 8 0 CLDIWP - 3 2 7 0 CLDLWP - 3 2 5 0 CLDODEP - 3 2 6 0 CLDPER - 3 2 4 0 CLDPHAS - 3 1 16 0 CLDRAD - 3 2 3 0 CLDTYPE - 0 1 235 1 CLLMR - 3 0 7 0 CLOUDM - 0 1 22 0 CLWMR - 0 2 216 1 CNGWDU - 0 2 217 1 CNGWDV - 0 3 209 1 CNVDEMF - 0 3 208 1 CNVDMF - 0 0 196 1 CNVHR - 0 1 213 1 CNVMR - 0 3 207 1 CNVUMF - 0 2 212 1 CNVU - 0 2 213 1 CNVV - 2 0 13 0 CNWAT - 2 0 196 1 CNWAT - 0 20 56 0 COAIA - 0 20 1 0 COLMD - 0 20 51 0 CONAIR - 0 7 19 0 CONAPES - 0 1 216 1 CONDP - 0 19 16 0 CONTB - 0 19 14 0 CONTET - 0 19 13 0 CONTI - 0 19 24 0 CONTKE - 0 19 15 0 CONTT - 0 19 26 0 CONVO - 0 19 222 1 CONVP - 0 192 6 0 COVMM - 0 192 1 0 COVMZ - 0 2 205 1 COVMZ - 0 192 11 0 COVPSPS - 0 192 8 0 COVQM - 0 192 12 0 COVQQ - 0 192 10 0 COVQVV - 0 192 7 0 COVQZ - 0 192 3 0 COVTM - 0 2 207 1 COVTM - 0 192 14 0 COVTT - 0 192 9 0 COVTVV - 0 192 4 0 COVTW - 0 192 2 0 COVTZ - 0 2 206 1 COVTZ - 0 192 13 0 COVVVVV - 0 192 5 0 COVZZ - 0 1 39 0 CPOFP - 1 1 193 1 CPOFP - 1 1 192 1 CPOZP - 1 1 0 0 CPPOP - 0 1 37 0 CPRAT - 0 1 196 1 CPRAT - 0 1 33 0 CRAIN - 0 1 192 1 CRAIN - 0 20 71 0 CRERELSP - 0 1 76 0 CRRATE - 4 2 9 0 CRTFRQ - 1 2 13 0 CSAFC - 3 1 15 0 CSBTMP - 0 5 196 1 CSDLF - 0 4 196 1 CSDSF - 3 2 0 0 CSKPROB - 3 1 17 0 CSKYRAD - 0 1 36 0 CSNOW - 0 1 195 1 CSNOW - 0 1 58 0 CSRATE - 0 1 55 0 CSRWE - 0 5 195 1 CSULF - 0 4 198 1 CSUSF - 3 1 3 0 CTOPHQI - 3 1 2 0 CTOPH - 3 2 2 0 CTOPRES - 3 2 1 0 CTOPTMP - 0 19 21 0 CTP - 0 6 16 0 CUEFI - 0 6 194 1 CUEFI - 0 6 6 0 CWAT - 0 7 195 1 CWDI - 0 6 15 0 CWORK - 0 6 193 1 CWORK - 0 1 48 0 CWP - 1 1 195 1 CWR - 10 4 195 1 DBSS - 0 7 203 1 DCAPE - 0 20 12 0 DDMFLX - 0 3 30 0 DDRATE - 0 20 15 0 DDVEL - 2 0 30 0 DECF - 0 3 14 0 DENALT - 0 3 10 0 DEN - 0 0 7 0 DEPR - 1 0 13 0 DEPWSS - 10 2 2 0 DICED - 4 4 2 0 DIFEFLUX - 4 4 4 0 DIFIFLUX - 4 4 0 0 DIFPFLUX - 3 6 5 0 DIFSOLEX - 3 6 4 0 DIFSOLIR - 0 4 14 0 DIFSWRF - 10 1 0 0 DIRC - 2 3 14 0 DIREC - 10 0 10 0 DIRPW - 3 6 3 0 DIRSOLEX - 3 6 2 0 DIRSOLIR - 10 0 12 0 DIRSW - 10 0 33 0 DIRWTS - 10 0 32 0 DIRWWW - 1 0 7 0 DISRS - 0 3 6 0 DIST - 0 5 8 0 DLWRFCS - 0 5 3 0 DLWRF - 0 5 192 1 DLWRF - 0 3 28 0 DMFLX - 0 0 6 0 DPT - 2 4 8 0 DRTCODE - 0 18 12 0 DRYDEP - 0 19 237 1 DRYTPROB - 4 7 2 0 DSKDAY - 4 7 1 0 DSKINT - 4 7 3 0 DSKNGT - 10 3 1 0 DSLM - 10 191 3 0 DSLOBSO - 0 191 3 0 DSLOBS - 0 4 52 0 DSWRFCS - 0 4 13 0 DSWRFLX - 0 4 7 0 DSWRF - 0 4 192 1 DSWRF - 0 4 204 1 DTRF - 2 4 7 0 DUFMCODE - 0 4 194 1 DUVB - 0 4 12 0 DWUVR - 0 2 9 0 DZDT - 3 2 11 0 EAODR - 3 5 5 0 EBSDSSTS - 3 5 4 0 EBSSTSTD - 0 19 30 0 EDPARM - 0 7 204 1 EFHL - 0 7 9 0 EHLX - 4 2 1 0 ELCDEN - 4 0 1 0 ELECTMP - 10 3 194 1 ELEV - 0 19 238 1 ELLINX - 0 191 197 1 ELONN - 0 191 193 1 ELON - 0 1 211 1 EMNP - 0 0 3 0 EPOT - 0 19 218 1 EPSR - 10 3 252 1 EROSNP - 1 0 3 0 ESCT - 0 7 205 1 ESP - 3 1 0 0 ESTP - 3 1 4 0 ESTUGRD - 3 1 5 0 ESTVGRD - 0 2 32 0 ETACVV - 10 3 250 1 ETCWL - 4 3 4 0 ETOT - 10 3 193 1 ETSRG - 0 2 38 0 ETSS - 4 6 3 0 EUVIRR - 4 8 1 0 EUVRAD - 2 0 6 0 EVAPT - 0 1 79 0 EVARATE - 2 3 198 1 EVBS - 2 0 229 1 EVCW - 4 3 5 0 EVEC1 - 4 3 6 0 EVEC2 - 4 3 7 0 EVEC3 - 2 0 29 0 EVERF - 0 1 6 0 EVP - 2 0 213 1 EWATR - 0 2 39 0 EWTPARM - 4 6 5 0 F107 - 2 4 3 0 FBAREA - 2 4 10 0 FBUPINX - 0 6 37 0 FCONPC - 3 5 3 0 FDNSSTMP - 2 4 11 0 FDSRTE - 1 0 0 0 FFLDG - 1 0 1 0 FFLDRO - 2 4 6 0 FFMCODE - 0 1 228 1 FICEAC - 0 6 21 0 FICE - 0 6 199 1 FICE - 3 0 9 0 FIREDI - 2 4 1 0 FIREODT - 2 4 0 0 FIREOLK - 2 3 203 1 FLDCP - 1 0 12 0 FLDPSW - 0 19 205 1 FLGHT - 0 7 18 0 FLXRN - 2 4 4 0 FOSINDX - 0 1 67 0 FPRATE - 0 6 32 0 FRACCC - 0 1 43 0 FRAIN - 0 1 202 1 FRAIN - 10 0 63 0 FREWWW - 0 2 30 0 FRICV - 10 0 17 0 FRICV - 0 2 197 1 FRICV - 0 1 227 1 FROZR - 2 3 24 0 FRSTINX - 10 0 64 0 FRWWTSW - 0 1 225 1 FRZR - 10 3 204 1 FRZSPR - 0 1 121 0 FSNOWC - 0 6 36 0 FSTRPC - 2 4 5 0 FWINX - 0 1 95 0 FZPRATE - 0 18 3 0 GDCES - 0 18 4 0 GDIOD - 0 18 5 0 GDRADP - 0 191 1 0 GEOLAT - 0 191 2 0 GEOLON - 0 2 43 0 GEOWD - 0 2 44 0 GEOWS - 2 0 10 0 GFLUX - 2 0 193 1 GFLUX - 2 5 1 0 GLACTMP - 0 3 9 0 GPA - 0 1 75 0 GPRATE - 0 3 4 0 GP - 0 4 3 0 GRAD - 0 7 17 0 GRDRN - 0 1 32 0 GRLE - 3 6 1 0 GSOLEXP - 3 6 0 0 GSOLIRR - 0 2 22 0 GUST - 0 2 210 1 GWDU - 0 2 211 1 GWDV - 0 3 23 0 GWD - 1 0 9 0 GWLOWS - 2 0 214 1 GWREC - 1 0 8 0 GWUPS - 0 1 71 0 HAILMXR - 0 19 198 1 HAILPROB - 0 1 73 0 HAILPR - 0 1 31 0 HAIL - 4 8 2 0 HARAD - 0 19 210 1 HAVNI - 0 6 5 0 HCDC - 0 6 26 0 HCONCB - 0 6 27 0 HCONCT - 0 0 12 0 HEATX - 4 8 6 0 HELCOR - 2 0 24 0 HFLUX - 0 20 62 0 HGTMD - 0 3 211 1 HGTN - 0 3 203 1 HGTX - 0 3 204 1 HGTY - 0 3 5 0 HGT - 0 19 32 0 HIFREL - 2 4 2 0 HINDEX - 0 7 8 0 HLCY - 0 18 16 0 HMXACON - 0 3 18 0 HPBL - 0 3 196 1 HPBL - 4 2 8 0 HPRIMF - 0 19 196 1 HRCONO - 0 15 16 0 HSRHT - 0 15 15 0 HSR - 0 3 7 0 HSTDV - 10 0 3 0 HTSGW - 0 3 3 0 ICAHT - 1 2 7 0 ICECIL - 10 2 0 0 ICEC - 10 2 7 0 ICED - 10 2 6 0 ICEG - 10 2 9 0 ICEPRS - 0 19 27 0 ICESC - 0 19 37 0 ICESEV - 1 2 6 0 ICETIL - 10 2 1 0 ICETK - 10 2 8 0 ICETMP - 0 19 6 0 ICIB - 0 19 20 0 ICIP - 0 19 5 0 ICIT - 0 19 7 0 ICI - 0 1 23 0 ICMR - 0 19 233 1 ICPRB - 0 19 234 1 ICSEV - 1 2 5 0 ICTKIL - 2 0 207 1 ICWAT - 0 1 20 0 ILIQW - 10 0 27 0 IMFTSW - 10 0 26 0 IMFWW - 10 0 25 0 IMWF - 2 4 9 0 INFSINX - 4 4 3 0 INTEFLUX - 10 4 196 1 INTFD - 4 4 5 0 INTIFLUX - 4 4 1 0 INTPFLUX - 4 2 3 0 IONDEN - 4 0 3 0 IONTMP - 0 1 68 0 IPRATE - 3 1 1 0 IRRATE - 10 191 0 0 IRTSEC - 3 5 0 0 ISSTMP - 0 19 235 1 JFWPRB - 10 3 201 1 KENG - 0 7 3 0 KOX - 10 0 43 0 KSSEDW - 0 7 2 0 KX - 0 7 198 1 LAI - 1 2 8 0 LANDIL - 2 0 218 1 LANDN - 2 0 8 0 LANDU - 2 0 0 0 LAND - 0 2 202 1 LAPP - 0 0 8 0 LAPR - 0 2 198 1 LAUV - 0 19 209 1 LAVNI - 0 2 200 1 LAVV - 0 3 205 1 LAYTH - 0 6 3 0 LCDC - 10 3 203 1 LCH - 2 0 28 0 LEAINX - 0 7 10 0 LFTX - 0 7 192 1 LFTX - 0 0 10 0 LHTFL - 0 1 229 1 LICEAC - 0 13 195 1 LIPMF - 2 3 10 0 LIQVSM - 0 15 4 0 LMAXBR - 4 7 0 0 LMBINT - 0 3 210 1 LMH - 0 2 218 1 LMV - 0 2 203 1 LOPP - 0 2 199 1 LOUV - 0 2 201 1 LOVV - 2 3 3 0 LOWLSM - 0 13 194 1 LPMTF - 0 3 201 1 LPSX - 0 3 202 1 LPSY - 0 0 195 1 LRGHR - 0 1 217 1 LRGMR - 2 0 212 1 LSOIL - 2 3 199 1 LSPA - 0 1 54 0 LSPRATE - 0 1 77 0 LSRRATE - 0 1 59 0 LSSRATE - 0 1 56 0 LSSRWE - 0 1 47 0 LSWP - 0 17 0 0 LTNGSD - 0 17 192 1 LTNG - 0 17 1 0 LTPINX - 0 5 2 0 LWAVR - 0 5 194 1 LWHR - 0 4 5 0 LWRAD - 2 3 23 0 LWSNWP - 4 8 7 0 MASK - 0 6 38 0 MASSDCD - 0 6 39 0 MASSDCI - 0 20 0 0 MASSDEN - 0 1 98 0 MASSDG - 0 1 99 0 MASSDH - 0 1 96 0 MASSDR - 0 1 97 0 MASSDS - 0 20 2 0 MASSMR - 0 18 15 0 MAXACON - 0 1 28 0 MAXAH - 0 2 221 1 MAXDVV - 0 2 21 0 MAXGUST - 0 16 198 1 MAXREF - 0 1 27 0 MAXRH - 0 2 220 1 MAXUVV - 0 2 222 1 MAXUW - 0 2 223 1 MAXVW - 10 0 24 0 MAXWH - 0 6 4 0 MCDC - 0 1 26 0 MCONV - 0 1 197 1 MCONV - 0 6 40 0 MDCCWD - 0 1 38 0 MDIVER - 0 1 112 0 MDLWGVA - 0 1 109 0 MDLWHVA - 0 1 115 0 MDLWSVA - 3 2 30 0 MEACST - 0 6 200 1 MFLUX - 0 2 26 0 MFLX - 0 2 193 1 MFLX - 0 0 14 0 MINDPD - 0 1 198 1 MINRH - 0 19 3 0 MIXHT - 0 19 204 1 MIXLY - 0 1 2 0 MIXR - 0 191 195 1 MLYNO - 0 1 114 0 MMLWGDA - 0 1 111 0 MMLWHDA - 0 1 117 0 MMLWSDA - 0 2 6 0 MNTSF - 0 7 200 1 MNUPHL - 10 0 40 0 MNWSOW - 0 20 64 0 MOLRDRYA - 0 20 65 0 MOLRWETA - 10 191 1 0 MOSF - 0 19 195 1 MRCONO - 0 3 192 1 MSLET - 0 3 198 1 MSLMA - 0 20 16 0 MSSRDRYA - 0 20 17 0 MSSRWETA - 10 0 20 0 MSSW - 2 0 11 0 MSTAV - 2 0 194 1 MSTAV - 2 0 7 0 MTERH - 10 4 1 0 MTHA - 10 4 0 0 MTHD - 10 2 11 0 MVCICEP - 10 0 53 0 MWDFSWEL - 10 0 41 0 MWDIRW - 10 0 54 0 MWDSSWEL - 10 0 55 0 MWDTSWEL - 10 0 50 0 MWPFSWEL - 10 0 51 0 MWPSSWEL - 10 0 52 0 MWPTSWEL - 10 0 15 0 MWSPER - 0 19 28 0 MWTURB - 0 19 31 0 MXEDPRM - 0 20 61 0 MXMASSD - 0 19 17 0 MXSALB - 0 19 192 1 MXSALB - 0 7 199 1 MXUPHL - 10 0 30 0 MZPTSW - 10 0 29 0 MZPWW - 10 0 28 0 MZWPER - 0 4 202 1 NBDSF - 0 19 213 1 NBSALB - 0 6 29 0 NCCICE - 0 1 207 1 NCIP - 0 6 28 0 NCONCD - 0 1 9 0 NCPCP - 0 6 31 0 NDCICE - 0 4 203 1 NDDSF - 0 6 30 0 NDENCD - 2 0 31 0 NDVINX - 2 0 217 1 NDVI - 0 191 196 1 NLATN - 0 191 192 1 NLAT - 0 3 206 1 NLGSP - 0 3 25 0 NLPRES - 0 5 6 0 NLWRCS - 0 5 5 0 NLWRF - 0 5 0 0 NLWRS - 0 5 1 0 NLWRT - 3 1 6 0 NPIXU - 0 4 11 0 NSWRFCS - 0 4 9 0 NSWRF - 0 4 0 0 NSWRS - 0 4 1 0 NSWRT - 4 4 6 0 NTRNFLUX - 0 2 37 0 NTSS - 0 1 106 0 NUMDG - 0 1 107 0 NUMDH - 0 1 104 0 NUMDR - 0 1 105 0 NUMDS - 0 2 34 0 NWIND - 0 19 214 1 NWSALB - 10 0 19 0 NWSTR - 0 2 40 0 NWTPARM - 0 14 1 0 O3MR - 0 14 192 1 O3MR - 10 4 197 1 OHC - 0 2 215 1 OMGALF - 10 1 192 1 OMLU - 10 1 193 1 OMLV - 0 3 217 1 ORASNW - 0 3 216 1 ORASSW - 0 3 215 1 ORASS - 0 3 214 1 ORASW - 0 3 213 1 ORCONV - 0 3 221 1 ORLSNW - 0 3 220 1 ORLSSW - 0 3 219 1 ORLSS - 0 3 218 1 ORLSW - 10 4 4 0 OVHD - 10 4 6 0 OVMD - 10 4 5 0 OVSD - 10 3 253 1 OWASHP - 0 14 194 1 OZCAT - 0 14 193 1 OZCON - 0 14 200 1 OZMAX1 - 0 14 201 1 OZMAX8 - 10 3 196 1 P2OMLT - 3 3 2 0 PBINFRC - 3 3 1 0 PBLIFRC - 0 19 12 0 PBLREG - 3 3 0 0 PBMVFRC - 0 1 234 1 PCPDUR - 0 14 202 1 PDMAX1 - 0 14 203 1 PDMAX24 - 10 0 11 0 PERPW - 1 0 16 0 PERRATE - 10 0 13 0 PERSW - 0 1 40 0 PEVAP - 0 1 199 1 PEVAP - 0 1 41 0 PEVPR - 0 1 200 1 PEVPR - 0 4 10 0 PHOTAR - 3 0 8 0 PIXST - 0 7 0 0 PLI - 0 3 200 1 PLPL - 4 2 0 0 PLSMDEN - 10 0 23 0 PMAXWH - 0 13 192 1 PMTC - 0 13 193 1 PMTF - 1 1 2 0 POP - 2 3 9 0 POROS - 2 3 197 1 POROS - 0 0 2 0 POT - 0 14 199 1 POZO - 0 14 198 1 POZT - 0 14 196 1 POZ - 10 0 36 0 PPERTS - 10 0 35 0 PPERWW - 1 1 194 1 PPFFG - 0 1 231 1 PPINDX - 1 1 1 0 PPOSP - 0 1 7 0 PRATE - 4 0 4 0 PRATMP - 0 15 5 0 PREC - 0 3 13 0 PRESALT - 0 3 8 0 PRESA - 0 3 212 1 PRESN - 0 3 0 0 PRES - 0 3 1 0 PRMSL - 0 1 232 1 PROBCIP - 0 19 221 1 PROCON - 4 2 2 0 PROTDEN - 4 0 2 0 PROTTMP - 4 0 5 0 PRPTMP - 0 19 216 1 PRSIGSVR - 0 19 215 1 PRSVR - 10 4 21 0 PRTSAL - 0 19 36 0 PSNOWS - 0 3 2 0 PTEND - 0 1 19 0 PTYPE - 0 2 219 1 PVMWW - 0 2 14 0 PVORT - 0 1 3 0 PWAT - 10 0 46 0 PWAVEDIR - 0 1 30 0 PWCAT - 10 0 34 0 PWPER - 0 1 226 1 PWTHER - 0 1 219 1 QMAX - 0 1 220 1 QMIN - 2 0 215 1 QREC - 0 1 218 1 QZ0 - 2 3 202 1 RADT - 3 1 8 0 RAZA - 2 0 21 0 RCQ - 2 0 204 1 RCQ - 2 0 20 0 RCSOL - 2 0 205 1 RCSOL - 2 0 18 0 RCS - 2 0 202 1 RCS - 2 0 19 0 RCT - 2 0 203 1 RCT - 2 0 206 1 RDRIP - 0 15 6 0 RDSP1 - 0 15 7 0 RDSP2 - 0 15 8 0 RDSP3 - 2 0 32 0 RDVEG - 0 16 5 0 REFC - 0 16 196 1 REFC - 0 16 4 0 REFD - 0 16 195 1 REFD - 0 16 2 0 REFZC - 0 16 194 1 REFZC - 0 16 1 0 REFZI - 0 16 193 1 REFZI - 0 16 0 0 REFZR - 0 16 192 1 REFZR - 0 2 13 0 RELD - 0 2 12 0 RELV - 0 16 3 0 RETOP - 0 16 197 1 RETOP - 0 0 194 1 REV - 0 15 9 0 RFCD - 0 15 10 0 RFCI - 0 15 13 0 RFGRPL - 0 15 14 0 RFHAIL - 3 1 9 0 RFL06 - 3 1 10 0 RFL08 - 3 1 11 0 RFL16 - 3 1 12 0 RFL39 - 0 15 12 0 RFRAIN - 0 15 11 0 RFSNOW - 0 1 94 0 RHICE - 0 1 242 1 RHPW - 0 1 93 0 RHWATER - 0 1 1 0 RH - 0 1 44 0 RIME - 0 1 203 1 RIME - 10 1 4 0 RIPCOP - 0 7 12 0 RI - 0 7 194 1 RI - 2 3 6 0 RLYRS - 2 3 193 1 RLYRS - 0 1 65 0 RPRATE - 2 0 16 0 RSMIN - 2 0 200 1 RSMIN - 1 0 2 0 RSSC - 0 191 194 1 RTSEC - 10 3 206 1 RUNUP - 1 0 11 0 RVERSW - 0 1 24 0 RWMR - 0 18 14 0 SACON - 0 20 100 0 SADEN - 0 19 19 0 SALBD - 3 0 1 0 SALBEDO - 10 4 193 1 SALIN - 1 2 12 0 SALTIL - 10 4 3 0 SALTY - 0 1 5 0 SATD - 2 3 17 0 SATOSM - 3 192 4 0 SBC123 - 3 192 5 0 SBC124 - 0 19 211 1 SBSALB - 0 1 212 1 SBSNO - 3 192 6 0 SBT112 - 3 192 7 0 SBT113 - 3 192 8 0 SBT114 - 3 192 9 0 SBT115 - 3 192 0 0 SBT122 - 3 192 1 0 SBT123 - 3 192 2 0 SBT124 - 3 192 3 0 SBT126 - 3 192 23 0 SBTA1610 - 3 192 24 0 SBTA1611 - 3 192 25 0 SBTA1612 - 3 192 26 0 SBTA1613 - 3 192 27 0 SBTA1614 - 3 192 28 0 SBTA1615 - 3 192 29 0 SBTA1616 - 3 192 20 0 SBTA167 - 3 192 21 0 SBTA168 - 3 192 22 0 SBTA169 - 3 192 39 0 SBTA1710 - 3 192 40 0 SBTA1711 - 3 192 41 0 SBTA1712 - 3 192 42 0 SBTA1713 - 3 192 43 0 SBTA1714 - 3 192 44 0 SBTA1715 - 3 192 45 0 SBTA1716 - 3 192 36 0 SBTA177 - 3 192 37 0 SBTA178 - 3 192 38 0 SBTA179 - 3 192 55 0 SBTAGR10 - 3 192 56 0 SBTAGR11 - 3 192 57 0 SBTAGR12 - 3 192 58 0 SBTAGR13 - 3 192 59 0 SBTAGR14 - 3 192 60 0 SBTAGR15 - 3 192 61 0 SBTAGR16 - 3 192 52 0 SBTAGR7 - 3 192 53 0 SBTAGR8 - 3 192 54 0 SBTAGR9 - 3 192 65 0 SBTAHI10 - 3 192 66 0 SBTAHI11 - 3 192 67 0 SBTAHI12 - 3 192 68 0 SBTAHI13 - 3 192 69 0 SBTAHI14 - 3 192 70 0 SBTAHI15 - 3 192 71 0 SBTAHI16 - 3 192 62 0 SBTAHI7 - 3 192 63 0 SBTAHI8 - 3 192 64 0 SBTAHI9 - 3 0 2 0 SBTMP - 4 2 10 0 SCINT - 0 1 84 0 SCLIWC - 0 1 83 0 SCLLWC - 3 1 29 0 SCRAD - 0 20 112 0 SCTAOTK - 3 0 5 0 SCTPRES - 0 20 6 0 SDDMFLX - 0 1 61 0 SDEN - 3 1 99 0 SDMPEMRR - 0 3 20 0 SDSGSO - 0 1 60 0 SDWE - 0 20 11 0 SEDMFLX - 1 2 3 0 SEDTK - 1 2 4 0 SEDTMP - 10 3 207 1 SETUP - 0 1 62 0 SEVAP - 2 0 216 1 SFCRH - 2 0 1 0 SFCR - 2 0 34 0 SFCWRO - 2 0 12 0 SFEXC - 2 0 195 1 SFEXC - 1 0 10 0 SFLORC - 0 20 55 0 SFLUX - 3 192 14 0 SFRA161 - 3 192 15 0 SFRA162 - 3 192 16 0 SFRA163 - 3 192 17 0 SFRA164 - 3 192 18 0 SFRA165 - 3 192 19 0 SFRA166 - 3 192 30 0 SFRA171 - 3 192 31 0 SFRA172 - 3 192 32 0 SFRA173 - 3 192 33 0 SFRA174 - 3 192 34 0 SFRA175 - 3 192 35 0 SFRA176 - 10 4 11 0 SFSALP - 1 2 9 0 SFSAL - 10 4 12 0 SFTMPP - 1 2 10 0 SFTMP - 0 2 7 0 SGCVV - 0 0 201 1 SHAHR - 0 19 201 1 SHAILPRO - 0 1 214 1 SHAMR - 2 3 26 0 SHFLX - 0 0 11 0 SHTFL - 0 1 108 0 SHTPRM - 0 7 13 0 SHWINX - 10 2 3 0 SICED - 4 9 1 0 SIGHAL - 4 9 2 0 SIGPAR - 4 9 0 0 SIGPED - 0 19 217 1 SIPD - 0 0 17 0 SKINT - 3 5 1 0 SKSSTMP - 0 1 230 1 SLACC - 0 19 23 0 SLDP - 3 0 4 0 SLFTI - 10 3 202 1 SLTFL - 2 3 194 1 SLTYP - 0 6 34 0 SLWTC - 2 3 8 0 SMDRY - 2 3 196 1 SMDRY - 0 1 113 0 SMLWGMA - 0 1 110 0 SMLWHMA - 0 1 116 0 SMLWSMA - 2 3 7 0 SMREF - 2 3 195 1 SMREF - 0 19 18 0 SNFALB - 0 19 193 1 SNFALB - 0 1 25 0 SNMR - 0 1 17 0 SNOAG - 0 1 14 0 SNOC - 0 1 11 0 SNOD - 0 0 16 0 SNOHF - 0 0 192 1 SNOHF - 0 1 15 0 SNOL - 0 1 16 0 SNOM - 0 0 18 0 SNOT - 0 1 208 1 SNOT - 0 1 42 0 SNOWC - 0 1 201 1 SNOWC - 0 1 233 1 SNOWLR - 0 19 236 1 SNOWLVL - 0 1 222 1 SNOWT - 2 3 25 0 SNWDEB - 2 3 27 0 SOILDEP - 2 3 21 0 SOILICE - 2 3 5 0 SOILL - 2 3 192 1 SOILL - 2 3 19 0 SOILMOI - 2 0 3 0 SOILM - 2 0 22 0 SOILM - 2 3 15 0 SOILP - 2 3 18 0 SOILTMP - 2 0 38 0 SOILVIC - 2 0 192 1 SOILW - 4 6 6 0 SOLRF - 3 1 7 0 SOLZA - 2 3 0 0 SOTYP - 3 1 28 0 SPBRT - 10 1 1 0 SPC - 4 6 4 0 SPECIRR - 4 1 0 0 SPEED - 0 1 0 0 SPFH - 10 0 45 0 SPFTR - 0 1 102 0 SPNCG - 0 1 103 0 SPNCH - 0 1 100 0 SPNCR - 0 1 101 0 SPNCS - 0 1 66 0 SPRATE - 4 2 7 0 SPRDF - 3 0 3 0 SPWAT - 3 0 0 0 SRAD - 0 1 85 0 SRAINC - 0 19 194 1 SRCONO - 3 192 46 0 SRFAGR1 - 3 192 47 0 SRFAGR2 - 3 192 48 0 SRFAGR3 - 3 192 49 0 SRFAGR4 - 3 192 50 0 SRFAGR5 - 3 192 51 0 SRFAGR6 - 0 1 12 0 SRWEQ - 0 20 103 0 SSALBK - 0 3 22 0 SSGSO - 10 3 195 1 SSHG - 3 5 2 0 SSKSSTMP - 0 1 86 0 SSNOWW - 1 0 6 0 SSRUN - 1 0 193 1 SSRUN - 10 3 200 1 SSST - 3 0 6 0 SSTMP - 2 0 211 1 SSTOR - 10 3 199 1 SSTT - 0 6 35 0 SSWTC - 0 19 200 1 STORPROB - 0 2 4 0 STRM - 0 1 87 0 STRPRATE - 0 6 33 0 SUNSD - 0 6 201 1 SUNSD - 0 6 24 0 SUNS - 10 3 192 1 SURGE - 0 19 220 1 SVRTS - 10 3 208 1 SWASH - 0 4 2 0 SWAVR - 10 0 7 0 SWDIR - 0 20 7 0 SWDMFLX - 0 7 5 0 SWEATX - 10 0 8 0 SWELL - 1 0 4 0 SWEPON - 10 0 47 0 SWHFSWEL - 0 4 197 1 SWHR - 10 0 48 0 SWHSSWEL - 10 0 49 0 SWHTSWEL - 0 19 202 1 SWINDPRO - 10 0 9 0 SWPER - 3 1 194 1 SWQI - 0 4 6 0 SWRAD - 0 19 212 1 SWSALB - 0 6 1 0 TCDC - 0 0 204 1 TCHP - 0 1 81 0 TCICON - 0 14 2 0 TCIOZ - 0 1 64 0 TCIWV - 2 0 35 0 TCLASS - 0 1 209 1 TCLSW - 0 6 20 0 TCOLC - 0 6 198 1 TCOLC - 0 1 74 0 TCOLG - 0 1 72 0 TCOLH - 0 6 19 0 TCOLIO - 0 1 70 0 TCOLI - 0 6 197 1 TCOLI - 0 1 210 1 TCOLM - 0 1 45 0 TCOLR - 0 1 204 1 TCOLR - 0 1 46 0 TCOLS - 0 1 205 1 TCOLS - 0 1 78 0 TCOLWA - 0 6 18 0 TCOLWO - 0 1 69 0 TCOLW - 0 6 196 1 TCOLW - 0 6 17 0 TCONDO - 0 1 21 0 TCOND - 0 6 195 1 TCOND - 10 3 242 1 TCSRG20 - 10 3 243 1 TCSRG30 - 10 3 244 1 TCSRG40 - 10 3 245 1 TCSRG50 - 10 3 246 1 TCSRG60 - 10 3 247 1 TCSRG70 - 10 3 248 1 TCSRG80 - 10 3 249 1 TCSRG90 - 0 1 51 0 TCWAT - 0 0 20 0 TDCHT - 0 2 31 0 TDCMOM - 2 0 36 0 TFRCT - 0 0 197 1 THFLX - 0 3 12 0 THICK - 0 6 10 0 THUNC - 0 0 203 1 THZ0 - 0 18 6 0 TIACCP - 0 18 7 0 TIACIP - 0 18 8 0 TIACRP - 10 3 251 1 TIDE - 0 1 206 1 TIPD - 0 19 11 0 TKE - 0 1 90 0 TKMFLX - 0 17 4 0 TLGTFD - 0 6 9 0 TMAXT - 0 0 4 0 TMAX - 0 0 5 0 TMIN - 0 0 29 0 TMPADV - 0 0 9 0 TMPA - 4 0 0 0 TMPSWP - 0 0 0 0 TMP - 0 2 227 1 TOA10 - 0 2 228 1 TOA50 - 0 2 229 1 TOD50 - 0 2 230 1 TOD90 - 0 19 197 1 TORPROB - 0 7 4 0 TOTALX - 0 1 80 0 TOTCON - 0 18 13 0 TOTLWD - 0 14 0 0 TOZNE - 0 14 197 1 TOZ - 2 0 37 0 TPERCT - 0 19 219 1 TPFI - 0 1 52 0 TPRATE - 0 20 13 0 TRANHH - 2 3 12 0 TRANSO - 2 0 230 1 TRANS - 0 20 14 0 TRSDS - 0 2 226 1 TRWDIR - 0 2 225 1 TRWSPD - 0 0 200 1 TSD1D - 0 191 0 0 TSEC - 4 6 0 0 TSI - 0 3 199 1 TSLSA - 0 1 50 0 TSNOWP - 0 1 241 1 TSNOW - 2 0 2 0 TSOIL - 0 1 57 0 TSRATE - 0 1 53 0 TSRWE - 0 19 203 1 TSTMC - 0 19 2 0 TSTM - 0 0 19 0 TTCHT - 0 0 198 1 TTDIA - 10 4 2 0 TTHDP - 0 0 25 0 TTLWRCS - 0 0 23 0 TTLWR - 0 0 26 0 TTPARM - 0 0 199 1 TTPHY - 0 0 193 1 TTRAD - 0 0 24 0 TTSWRCS - 0 0 22 0 TTSWR - 0 19 9 0 TURBB - 0 19 8 0 TURBT - 0 19 10 0 TURB - 0 1 49 0 TWATP - 0 2 35 0 TWIND - 10 3 210 1 TWLDC - 10 3 209 1 TWLDT - 10 3 205 1 TWLWAV - 0 20 58 0 TYAAL - 0 20 57 0 TYABA - 0 3 16 0 U-GWD - 0 3 194 1 U-GWD - 10 1 194 1 UBARO - 0 3 31 0 UCLSPRS - 0 1 120 0 UCSCIW - 0 1 119 0 UCSCLW - 0 0 28 0 UCTMP - 0 3 29 0 UDRATE - 0 2 17 0 UFLX - 0 2 2 0 UGRD - 0 2 23 0 UGUST - 0 2 41 0 UGWIND - 10 2 4 0 UICE - 0 1 91 0 UKMFLX - 0 5 4 0 ULWRF - 0 5 193 1 ULWRF - 0 3 27 0 UMFLX - 0 1 118 0 UNCSH - 0 2 45 0 UNDIV - 10 1 2 0 UOGRD - 1 0 14 0 UPAPCP - 1 0 15 0 UPASM - 0 7 15 0 UPHL - 0 7 197 1 UPHL - 2 3 2 0 UPLSM - 2 3 1 0 UPLST - 3 1 192 1 USCT - 10 0 21 0 USSD - 0 2 27 0 USTM - 0 2 194 1 USTM - 0 4 53 0 USWRFCS - 0 4 8 0 USWRF - 0 4 193 1 USWRF - 0 4 205 1 UTRF - 0 4 50 0 UVIUCS - 0 4 51 0 UVI - 0 7 196 1 UVI - 0 3 17 0 V-GWD - 0 3 195 1 V-GWD - 0 19 232 1 VAFTD - 0 1 4 0 VAPP - 10 1 195 1 VBARO - 0 4 200 1 VBDSF - 0 4 201 1 VDDSF - 0 0 202 1 VDFHR - 0 1 215 1 VDFMR - 0 14 195 1 VDFOZ - 0 2 208 1 VDFUA - 0 2 209 1 VDFVA - 0 2 204 1 VEDH - 2 0 210 1 VEGT - 2 0 4 0 VEG - 4 1 1 0 VEL1 - 4 1 2 0 VEL2 - 4 1 3 0 VEL3 - 0 2 18 0 VFLX - 0 6 48 0 VFRCICE - 0 6 49 0 VFRCIW - 0 6 47 0 VFRCWD - 0 2 3 0 VGRD - 2 0 198 1 VGTYP - 0 2 24 0 VGUST - 0 2 42 0 VGWIND - 10 2 5 0 VICE - 0 15 3 0 VIL - 0 19 35 0 VISBSN - 0 19 34 0 VISIFOG - 0 19 33 0 VISLFOG - 0 19 0 0 VIS - 0 1 92 0 VKMFLX - 0 20 52 0 VMXR - 10 1 3 0 VOGRD - 3 4 4 0 VOLACDEM - 3 4 7 0 VOLACDEN - 3 4 6 0 VOLACDOD - 3 4 3 0 VOLACDTH - 3 4 2 0 VOLACDTP - 3 4 1 0 VOLACDTT - 3 4 5 0 VOLAEADR - 3 4 8 0 VOLAPER - 3 4 0 0 VOLAPROB - 0 19 4 0 VOLASH - 2 3 13 0 VOLDEC - 2 3 11 0 VOLTSO - 0 2 46 0 VORTADV - 0 2 5 0 VPOT - 0 0 15 0 VPTMP - 0 2 224 1 VRATE - 3 1 193 1 VSCT - 2 0 25 0 VSOILM - 2 3 16 0 VSOSM - 10 0 22 0 VSSD - 0 2 28 0 VSTM - 0 2 195 1 VSTM - 4 2 4 0 VTEC - 0 0 1 0 VTMP - 0 2 15 0 VUCSH - 0 2 16 0 VVCSH - 0 2 8 0 VVEL - 2 0 27 0 VWILTM - 0 2 25 0 VWSH - 0 2 192 1 VWSH - 10 4 17 0 WATDENA - 10 4 16 0 WATERDEN - 10 4 20 0 WATPDENA - 10 4 19 0 WATPDEN - 10 4 18 0 WATPTEMP - 2 0 5 0 WATR - 10 0 62 0 WAVEFREW - 2 0 223 1 WCCONV - 0 0 13 0 WCF - 2 0 221 1 WCINC - 2 0 226 1 WCUFLX - 2 0 227 1 WCVFLX - 0 20 10 0 WDCPMFLX - 10 4 14 0 WDEPTH - 10 0 31 0 WDIRW - 0 2 0 0 WDIR - 1 2 0 0 WDPTHIL - 10 0 56 0 WDWFSWEL - 10 0 57 0 WDWSSWEL - 10 0 58 0 WDWTSWEL - 0 1 13 0 WEASD - 10 0 42 0 WESP - 0 0 27 0 WETBT - 0 18 11 0 WETDEP - 0 20 75 0 WFIREFLX - 1 2 2 0 WFRACT - 10 0 59 0 WFWFSWEL - 10 0 60 0 WFWSSWEL - 10 0 61 0 WFWTSWEL - 4 8 5 0 WHTCOR - 4 8 3 0 WHTRAD - 2 0 26 0 WILT - 2 0 201 1 WILT - 0 2 33 0 WINDF - 0 19 199 1 WINDPROB - 3 1 19 0 WINDS - 0 2 1 0 WIND - 0 19 25 0 WIWW - 10 0 193 1 WLENG - 0 20 9 0 WLSMFLX - 0 2 19 0 WMIXE - 2 0 33 0 WROD - 10 0 192 1 WSTP - 10 0 18 0 WSTR - 0 2 214 1 WTEND - 10 4 192 1 WTMPC - 1 2 1 0 WTMPIL - 10 4 15 0 WTMPSS - 10 3 0 0 WTMP - 2 0 222 1 WVCONV - 10 0 4 0 WVDIR - 10 0 5 0 WVHGT - 2 0 220 1 WVINC - 10 0 6 0 WVPER - 10 0 0 0 WVSP1 - 10 0 1 0 WVSP2 - 10 0 2 0 WVSP3 - 2 0 224 1 WVUFLX - 2 0 225 1 WVVFLX - 10 0 14 0 WWSDIR - 4 6 1 0 XLONG - 0 3 26 0 XPRES - 4 8 0 0 XRAYRAD - 4 6 2 0 XSHRT - 10 2 10 0 ZVCICEP diff --git a/parm/post_avblflds.xml b/parm/post_avblflds.xml index e3b8cb98e3..aaef2044d4 100755 --- a/parm/post_avblflds.xml +++ b/parm/post_avblflds.xml @@ -296,8 +296,8 @@ 36 - SOILM_ON_DEPTH_BEL_LAND_SFC - SOILM + GFS_CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM depth_bel_land_sfc depth_bel_land_sfc 3.0 @@ -1508,12 +1508,9 @@ 171 - MSTAV_ON_DEPTH_BEL_LAND_SFC + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC MSTAV depth_bel_land_sfc - 2 - depth_bel_land_sfc - 2 3.0 @@ -2094,6 +2091,18 @@ 4.0 + + 244 + MAX_REFC_ON_ENTIRE_ATMOS + time-maximum composite reflectivity + tmpl4_8 + MAXREFC + NCEP + MAX + entire_atmos_single_lyr + 4.0 + + 245 GUST_ON_SURFACE @@ -2120,6 +2129,16 @@ -5.0 + + 248 + ACM_SNOL_ON_SURFACE + tmpl4_8 + SNOL + ACM + surface + 3.0 + + 249 CPRAT_ON_SURFACE @@ -2344,7 +2363,7 @@ 275 BRTMP_ON_TOP_OF_ATMOS - BRTMP + BRTEMP top_of_atmos 3.0 @@ -3516,15 +3535,6 @@ 3.0 - - 406 - GSD_PRES_ON_CLOUD_TOP - GSD_pressure on cloud top - PRES - cloud_top - 6.0 - - 407 GSD_INST_CRAIN_ON_SURFACE @@ -3543,15 +3553,6 @@ 6.0 - - 409 - GSD_HGT_ON_CLOUD_TOP - GSD_geopotential height on cloud top - HGT - cloud_top - 6.0 - - 410 GSD_VIS_ON_SURFACE @@ -3678,30 +3679,30 @@ 423 - MAX_MAXUVV_ON_SPEC_PRES_LVL_ABOVE_GRND_100-1000hpa + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa hourly maximum Upward Vertical Velocity between 100-1000hpa tmpl4_8 MAXUVV NCEP MAX - spec_pres_above_grnd + isobaric_sfc 10000. - spec_pres_above_grnd + isobaric_sfc 100000. -3.0 424 - MAX_MAXDVV_ON_SPEC_PRES_LVL_ABOVE_GRND_100-1000hpa + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa hourly maximum Downward Vertical Velocity between 100-1000hpa tmpl4_8 MAXDVV - MAX NCEP - spec_pres_above_grnd + MAX + isobaric_sfc 10000. - spec_pres_above_grnd + isobaric_sfc 100000. -3.0 @@ -3857,14 +3858,15 @@ 4.0 + 438 - DUST1_ON_ISOBARIC_LVL + DUST1_ON_ISOBARIC_SFC tmpl4_48 - MASSMR - isobaric_lvl + PMTF + isobaric_sfc dust_dry between_first_second_limit_noincl2ndlmt 7 @@ -3876,10 +3878,10 @@ 439 - DUST2_ON_ISOBARIC_LVL + DUST2_ON_ISOBARIC_SFC tmpl4_48 - MASSMR - isobaric_lvl + PMTF + isobaric_sfc dust_dry between_first_second_limit_noincl2ndlmt 7 @@ -3891,10 +3893,10 @@ 440 - DUST3_ON_ISOBARIC_LVL + DUST3_ON_ISOBARIC_SFC tmpl4_48 - MASSMR - isobaric_lvl + PMTC + isobaric_sfc dust_dry between_first_second_limit_noincl2ndlmt 7 @@ -3906,10 +3908,10 @@ 441 - DUST4_ON_ISOBARIC_LVL + DUST4_ON_ISOBARIC_SFC tmpl4_48 - MASSMR - isobaric_lvl + PMTC + isobaric_sfc dust_dry between_first_second_limit_noincl2ndlmt 7 @@ -3921,10 +3923,10 @@ 442 - DUST5_ON_ISOBARIC_LVL + DUST5_ON_ISOBARIC_SFC tmpl4_48 - MASSMR - isobaric_lvl + PMTC + isobaric_sfc dust_dry between_first_second_limit_noincl2ndlmt 7 @@ -3934,7 +3936,6 @@ 11.0 - 443 @@ -3959,7 +3960,8 @@ 445 MAPS_PRMSL_ON_MEAN_SEA_LVL - PRMSL + MSLMA + NCEP mean_sea_lvl 4.0 @@ -3999,8 +4001,7 @@ 450 - ICIP_ON_ICAO_STD_SFC - Total Icing Potential Diagnostic on standard atmospheric isobaric sfc + ICIP_ON_ISOBARIC_SFC ICIP isobaric_sfc 3.0 @@ -4124,10 +4125,10 @@ 4.0 - + 464 - EDPARM_GTG_ON_ICAO_STD_SFC + EDPARM_ON_ISOBARIC_SFC EDPARM isobaric_sfc 3.0 @@ -4135,7 +4136,7 @@ 465 - CAT_GTG_ON_ICAO_STD_SFC + CAT_ON_ISOBARIC_SFC CATEDR isobaric_sfc 3.0 @@ -4143,13 +4144,13 @@ 466 - MWTURB_GTG_ON_ICAO_STD_SFC + MWTURB_ON_ISOBARIC_SFC MWTURB isobaric_sfc 3.0 - + 467 EDPARM_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL @@ -4224,10 +4225,26 @@ 6.0 + + 476 + MXEDPRM_ON_ENTIRE_ATMOS + MXEDPRM + entire_atmos + 3.0 + + + + + 477 + CIT_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + CITEDR + spec_alt_above_mean_sea_lvl + 3.0 + + 480 - ICESEV_ON_ICAO_STD_SFC - Icing severity on standard atmospheric isobaric levels + ICESEV_ON_ISOBARIC_SFC ICESEV isobaric_sfc 1.0 @@ -4243,159 +4260,15 @@ 3.0 - - - 483 - AMSRE9_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for AMSRE on Aqua, Channel 9 on top of atmosphere - AMSRE9 - top_of_atmos - 4.0 - - - - 484 - AMSRE10_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for AMSRE on Aqua, Channel 10 on top of atmosphere - AMSRE10 - top_of_atmos - 4.0 - - - - 485 - AMSRE11_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for AMSRE on Aqua, Channel 11 on top of atmosphere - AMSRE11 - top_of_atmos - 4.0 - - - - 486 - AMSRE12_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for AMSRE on Aqua, Channel 12 on top of atmosphere - AMSRE12 - top_of_atmos - 4.0 - - + 487 - GSD_PRES_ON_CLOUD_BASE - PRES - cloud_base + GSD_EXP_CEILING + CEIL + cloud_ceilng 3.0 - - 488 - TMITB6_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for TMI TRMM, Channel 6 on top of atmosphere - AMSRE9 - top_of_atmos - 4.0 - - - - 489 - TMITB7_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for TMI TRMM, Channel 7 on top of atmosphere - AMSRE10 - top_of_atmos - 4.0 - - - - 490 - TMITB8_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for TMI TRMM, Channel 8 on top of atmosphere - AMSRE11 - top_of_atmos - 4.0 - - - - 491 - TMITB9_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for TMI TRMM, Channel 9 on top of atmosphere - AMSRE12 - top_of_atmos - 4.0 - - - - 492 - SSMITB4_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMI TB, Channel 4 on top of atmosphere - AMSRE9 - top_of_atmos - 4.0 - - - - 493 - SSMITB5_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMI TB, Channel 5 on top of atmosphere - AMSRE10 - top_of_atmos - 4.0 - - - - 494 - SSMITB6_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMI TB, Channel 6 on top of atmosphere - AMSRE11 - top_of_atmos - 4.0 - - - - 495 - SSMITB7_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMI TB, Channel 7 on top of atmosphere - AMSRE12 - top_of_atmos - 4.0 - - - - 496 - SSMISTB15_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMIS TB, Channel 15 on top of atmosphere - AMSRE9 - top_of_atmos - 4.0 - - - - 497 - SSMISTB16_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMIS TB, Channel 16 on top of atmosphere - AMSRE10 - top_of_atmos - 4.0 - - - - 498 - SSMISTB17_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMIS TB, Channel 17 on top of atmosphere - AMSRE11 - top_of_atmos - 4.0 - - - - 499 - SSMISTB18_ON_TOP_OF_ATMOS - Simulated Brightness Temperature for SSMIS TB, Channel 18 on top of atmosphere - AMSRE12 - top_of_atmos - 4.0 - - 500 AVE_SNOWC_ON_SURFACE @@ -4571,68 +4444,50 @@ 6.0 - 518 - HGT_ON_ICAO_STD_SFC - HGT - isobaric_sfc + MAX_PRATE_1MIN_ON_SURFACE + Maximum 1-minute average precipitation rate on surface + tmpl4_8 + PRATE1MIN + NCEP + MAX + surface 6.0 519 - TMP_ON_ICAO_STD_SFC - TMP - isobaric_sfc - 3.0 + MAX_PRATE_5MIN_ON_SURFACE + Maximum 5-minute average precipitation rate on surface + tmpl4_8 + PRATE5MIN + NCEP + MAX + surface + 6.0 520 - UGRD_ON_ICAO_STD_SFC - UGRD - isobaric_sfc - 4.0 - - - - 521 - VGRD_ON_ICAO_STD_SFC - VGRD - isobaric_sfc - 4.0 - - - - 522 - RH_ON_ICAO_STD_SFC - RH - isobaric_sfc - 2.0 - - - - 523 - VVEL_ON_ICAO_STD_SFC - VVEL - isobaric_sfc - 5.0 - - - - 524 - ABSV_ON_ICAO_STD_SFC - ABSV - isobaric_sfc - 4.0 + MAX_PRATE_10MIN_ON_SURFACE + Maximum 10-minute average precipitation rate on surface + tmpl4_8 + PRATE10MIN + NCEP + MAX + surface + 6.0 525 - CLMR_ON_ICAO_STD_SFC - CLMR - isobaric_sfc + BUCKET1_ASNOW_ON_SURFACE + bucket Var density snowfall on surface + tmpl4_8 + ASNOW + ACM + surface 4.0 @@ -4649,10 +4504,11 @@ 527 - BUCKET1_ACPCP_ON_SURFACE - bucket Convective precipitation on surface + BUCKET1_FRZR_ON_SURFACE + bucket Freezing rain on surface tmpl4_8 - ACPCP + FRZR + NCEP ACM surface 4.0 @@ -4660,10 +4516,10 @@ 528 - BUCKET1_NCPCP_ON_SURFACE - bucket Large scale precipitation on surface + BUCKET1_TSNOWP_ON_SURFACE + bucket snow on surface tmpl4_8 - NCPCP + TSNOWP ACM surface 4.0 @@ -4692,6 +4548,86 @@ 4.0 + + 531 + SBTA187_ON_TOP_OF_ATMOS + SBTA187 + top_of_atmos + 4.0 + + + + 532 + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + top_of_atmos + 4.0 + + + + 533 + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + top_of_atmos + 4.0 + + + + 534 + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + top_of_atmos + 4.0 + + + + 535 + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + top_of_atmos + 4.0 + + + + 536 + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + top_of_atmos + 4.0 + + + + 537 + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + top_of_atmos + 4.0 + + + + 538 + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + top_of_atmos + 4.0 + + + + 539 + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + top_of_atmos + 4.0 + + + + 540 + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + top_of_atmos + 4.0 + + 546 GSD_POT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m @@ -4719,6 +4655,14 @@ 3.0 + + 549 + FDNSSTMP_ON_SURFACE + FDNSSTMP + surface + 4.0 + + 551 CSNOW_ON_SURFACE @@ -4968,14 +4912,18 @@ spec_alt_above_mean_sea_lvl 3.0 - + + 581 VIL_ON_ENTIRE_ATMOS entire atmosphere Vertically Integrated Liquid (kg/m-2) VIL entire_atmos_single_lyr - 4.0 + 6.0 @@ -5046,81 +4994,255 @@ - 601 - DUST1_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL_FDHGT + 589 + SEASALT1_ON_ISOBARIC_SFC tmpl4_48 - MASSMR - spec_alt_above_mean_sea_lvl - dust_dry + PMTF + isobaric_sfc + sea_salt_dry between_first_second_limit_noincl2ndlmt - 7 - 2 - 7 + 8 + 6 + 8 20 11.0 - 602 - DUST2_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL_FDHGT + 590 + SEASALT2_ON_ISOBARIC_SFC tmpl4_48 - MASSMR - spec_alt_above_mean_sea_lvl - dust_dry + PMTF + isobaric_sfc + sea_salt_dry between_first_second_limit_noincl2ndlmt 7 - 20 + 2 7 - 36 + 10 11.0 - 603 - DUST3_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL_FDHGT + 591 + SEASALT3_ON_ISOBARIC_SFC tmpl4_48 - MASSMR - spec_alt_above_mean_sea_lvl - dust_dry + PMTC + isobaric_sfc + sea_salt_dry between_first_second_limit_noincl2ndlmt 7 - 36 + 10 7 - 60 + 30 11.0 - 604 - DUST4_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL_FDHGT + 592 + SEASALT4_ON_ISOBARIC_SFC tmpl4_48 - MASSMR - spec_alt_above_mean_sea_lvl - dust_dry + PMTC + isobaric_sfc + sea_salt_dry between_first_second_limit_noincl2ndlmt 7 - 60 + 30 7 - 120 + 100 11.0 - 605 - DUST5_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL_FDHGT + 593 + SEASALT5_ON_ISOBARIC_SFC tmpl4_48 - MASSMR - spec_alt_above_mean_sea_lvl - dust_dry + PMTC + isobaric_sfc + sea_salt_dry between_first_second_limit_noincl2ndlmt 7 - 120 + 100 7 200 11.0 - + + 594 + SO4_ON_ISOBARIC_SFC + tmpl4_48 + PMTF + isobaric_sfc + sulphate_dry + equall_to_first_limit + 9 + 139 + 11.0 + + + + 595 + OCPHOBIC_ON_ISOBARIC_SFC + tmpl4_48 + PMTF + isobaric_sfc + particulate_org_matter_hydrophobic + equall_to_first_limit + 10 + 424 + 11.0 + + + + 596 + OCPHILIC_ON_ISOBARIC_SFC + tmpl4_48 + PMTF + isobaric_sfc + particulate_org_matter_hydrophilic + equall_to_first_limit + 10 + 424 + 11.0 + + + + 597 + BCPHOBIC_ON_ISOBARIC_SFC + tmpl4_48 + PMTF + isobaric_sfc + black_carbon_hydrophobic + equall_to_first_limit + 10 + 236 + 11.0 + + + + 598 + BCPHILIC_ON_ISOBARIC_SFC + tmpl4_48 + PMTF + isobaric_sfc + black_carbon_hydrophilic + equall_to_first_limit + 10 + 236 + 11.0 + + + + + 600 + AER_OPT_GFS_at550 + tmpl4_48 + AOTK + entire_atmos + total_aerosol + smaller_than_first_limit + 6 + 20 + between_first_second_limit + 9 + 545 + 9 + 555 + 9.0 + + + + 601 + DUST_AER_OPT_GFS_at550 + tmpl4_48 + AOTK + entire_atmos + dust_dry + smaller_than_first_limit + 6 + 20 + between_first_second_limit + 9 + 545 + 9 + 555 + 9.0 + + + + 602 + SEASALT_AER_OPT_GFS_at550 + tmpl4_48 + AOTK + entire_atmos + sea_salt_dry + smaller_than_first_limit + 6 + 20 + between_first_second_limit + 9 + 545 + 9 + 555 + 9.0 + + + + 603 + SULFATE_AER_OPT_GFS_at550 + tmpl4_48 + AOTK + entire_atmos + sulphate_dry + smaller_than_first_limit + 6 + 20 + between_first_second_limit + 9 + 545 + 9 + 555 + 9.0 + + + + 604 + ORGANIC_CARBON_AER_OPT_GFS_at550 + tmpl4_48 + AOTK + entire_atmos + particulate_org_matter_dry + smaller_than_first_limit + 6 + 20 + between_first_second_limit + 9 + 545 + 9 + 555 + 9.0 + + + + 605 + BLACK_CARBON_AER_OPT_GFS_at550 + tmpl4_48 + AOTK + entire_atmos + black_carbon_dry + smaller_than_first_limit + 6 + 20 + between_first_second_limit + 9 + 545 + 9 + 555 + 9.0 + + + 606 AECOEF_ON_HYBRID_LVL @@ -5253,6 +5375,24 @@ 9.0 + + 615 + NITRATE_AER_OPT_DEP_at550 + tmpl4_48 + AOTK + entire_atmos + nitrate_dry + smaller_than_first_limit + 6 + 20 + between_first_second_limit + 9 + 545 + 9 + 565 + 9.0 + + 616 BC_COL_MASS_DEN @@ -5291,6 +5431,7 @@ 25 9.0 + 619 PM10_SFC_MASS_CON @@ -5456,8 +5597,8 @@ DUST1_ON_HYBRID_LVL tmpl4_48 PMTF - dust_dry hybrid_lvl + dust_dry between_first_second_limit_noincl2ndlmt 7 2 @@ -5471,8 +5612,8 @@ DUST2_ON_HYBRID_LVL tmpl4_48 PMTF - dust_dry hybrid_lvl + dust_dry between_first_second_limit_noincl2ndlmt 7 20 @@ -5486,8 +5627,8 @@ DUST3_ON_HYBRID_LVL tmpl4_48 PMTC - dust_dry hybrid_lvl + dust_dry between_first_second_limit_noincl2ndlmt 7 36 @@ -5501,8 +5642,8 @@ DUST4_ON_HYBRID_LVL tmpl4_48 PMTC - dust_dry hybrid_lvl + dust_dry between_first_second_limit_noincl2ndlmt 7 60 @@ -5516,8 +5657,8 @@ DUST5_ON_HYBRID_LVL tmpl4_48 PMTC - dust_dry hybrid_lvl + dust_dry between_first_second_limit_noincl2ndlmt 7 120 @@ -5531,74 +5672,74 @@ SEASALT1_ON_HYBRID_LVL tmpl4_48 PMTF - sea_salt_dry hybrid_lvl + sea_salt_dry between_first_second_limit_noincl2ndlmt 8 6 8 20 - 11.0 + 11.0 635 SEASALT2_ON_HYBRID_LVL tmpl4_48 - PMTF - sea_salt_dry + PMTF hybrid_lvl + sea_salt_dry between_first_second_limit_noincl2ndlmt 7 2 7 10 - 11.0 + 11.0 636 SEASALT3_ON_HYBRID_LVL tmpl4_48 - PMTC - sea_salt_dry + PMTC hybrid_lvl + sea_salt_dry between_first_second_limit_noincl2ndlmt 7 10 7 30 - 11.0 + 11.0 637 SEASALT4_ON_HYBRID_LVL tmpl4_48 - PMTC - sea_salt_dry + PMTC hybrid_lvl + sea_salt_dry between_first_second_limit_noincl2ndlmt 7 30 7 100 - 11.0 + 11.0 638 SEASALT5_ON_HYBRID_LVL tmpl4_48 - PMTC - sea_salt_dry + PMTC hybrid_lvl + sea_salt_dry between_first_second_limit_noincl2ndlmt 7 100 7 200 - 11.0 + 11.0 @@ -5606,12 +5747,12 @@ SO4_ON_HYBRID_LVL tmpl4_48 PMTF - sulphate_dry hybrid_lvl + sulphate_dry equall_to_first_limit 9 139 - 11.0 + 11.0 @@ -5619,12 +5760,12 @@ OCPHOBIC_ON_HYBRID_LVL tmpl4_48 PMTF - particulate_org_matter_hydrophobic hybrid_lvl + particulate_org_matter_hydrophobic equall_to_first_limit 10 424 - 11.0 + 11.0 @@ -5632,12 +5773,12 @@ OCPHILIC_ON_HYBRID_LVL tmpl4_48 PMTF - particulate_org_matter_hydrophilic hybrid_lvl + particulate_org_matter_hydrophilic equall_to_first_limit 10 424 - 11.0 + 11.0 @@ -5645,12 +5786,12 @@ BCPHOBIC_ON_HYBRID_LVL tmpl4_48 PMTF - black_carbon_hydrophobic hybrid_lvl + black_carbon_hydrophobic equall_to_first_limit 10 236 - 11.0 + 11.0 @@ -5658,12 +5799,12 @@ BCPHILIC_ON_HYBRID_LVL tmpl4_48 PMTF - black_carbon_hydrophilic hybrid_lvl + black_carbon_hydrophilic equall_to_first_limit 10 236 - 11.0 + 11.0 @@ -5712,7 +5853,8 @@ 648 SINGLE_SCAT_ALBD_at340 tmpl4_48 - SSALBK + SSALBK + entire_atmos total_aerosol smaller_than_first_limit 6 @@ -5722,15 +5864,15 @@ 338 9 342 - entire_atmos - 9.0 + 9.0 649 AER_ASYM_FACTOR_at340 tmpl4_48 - ASYSFK + ASYSFK + entire_atmos total_aerosol smaller_than_first_limit 6 @@ -5740,15 +5882,15 @@ 338 9 342 - entire_atmos - 9.0 + 9.0 650 AER_SCAT_OPT_DEP_at550 tmpl4_48 - SCTAOTK + SCTAOTK + entire_atmos total_aerosol smaller_than_first_limit 6 @@ -5758,15 +5900,15 @@ 545 9 565 - entire_atmos - 9.0 + 9.0 651 DUST_AER_SCAT_OPT_DEP_at550 tmpl4_48 - SCTAOTK + SCTAOTK + entire_atmos dust_dry smaller_than_first_limit 6 @@ -5776,15 +5918,15 @@ 545 9 565 - entire_atmos - 9.0 + 9.0 652 SEASALT_AER_SCAT_OPT_DEP_at550 tmpl4_48 - SCTAOTK + SCTAOTK + entire_atmos sea_salt_dry smaller_than_first_limit 6 @@ -5794,15 +5936,15 @@ 545 9 565 - entire_atmos - 9.0 + 9.0 653 SULFATE_AER_SCAT_OPT_DEP_at550 tmpl4_48 - SCTAOTK + SCTAOTK + entire_atmos sulphate_dry smaller_than_first_limit 8 @@ -5812,15 +5954,15 @@ 545 9 565 - entire_atmos - 9.0 + 9.0 654 ORGANIC_CARBON_AER_SCAT_OPT_DEP_at550 tmpl4_48 - SCTAOTK + SCTAOTK + entire_atmos particulate_org_matter_dry smaller_than_first_limit 8 @@ -5830,15 +5972,15 @@ 545 9 565 - entire_atmos - 9.0 + 9.0 655 BLACK_CARBON_AER_SCAT_OPT_DEP_at550 tmpl4_48 - SCTAOTK + SCTAOTK + entire_atmos black_carbon_dry smaller_than_first_limit 8 @@ -5848,15 +5990,15 @@ 545 9 565 - entire_atmos - 9.0 + 9.0 656 ANGSTROM_EXP_at440_860 tmpl4_48 - ANGSTEXP + ANGSTEXP + entire_atmos total_aerosol smaller_than_first_limit 6 @@ -5866,8 +6008,33 @@ 430 9 876 + 9.0 + + + + 657 + NO3_COL_MASS_DEN + tmpl4_48 + COLMD entire_atmos - 9.0 + nitrate_dry + smaller_than_first_limit + 7 + 25 + 9.0 + + + + 658 + NH4_COL_MASS_DEN + tmpl4_48 + COLMD + entire_atmos + ammonium_dry + smaller_than_first_limit + 7 + 25 + 9.0 @@ -5875,7 +6042,7 @@ DUST_EMISSION_FLUX tmpl4_48 AEMFLX - entire_atmos + surface dust_dry smaller_than_first_limit 6 @@ -5898,302 +6065,302 @@ 661 - DUST DRY DEPOSITION + DUST_DRY_DEPOSITION tmpl4_48 DDMFLX + entire_atmos dust_dry smaller_than_first_limit 6 20 - entire_atmos - 9.0 + 9.0 662 - DUST WET DEPOSITION + DUST_WET_DEPOSITION tmpl4_48 WLSMFLX + entire_atmos dust_dry smaller_than_first_limit 6 20 - entire_atmos - 9.0 + 9.0 663 SEASALT_EMISSION_FLUX tmpl4_48 - AEMFLX + AEMFLX + surface sea_salt_dry smaller_than_first_limit 6 20 - entire_atmos - 9.0 + 9.0 664 SEASALT_SEDIMENTATION_FLUX tmpl4_48 - SEDMFLX + SEDMFLX + entire_atmos sea_salt_dry smaller_than_first_limit 6 20 - entire_atmos - 9.0 + 9.0 665 SEASALT_DRY_DEPOSITION_FLUX tmpl4_48 - DDMFLX + DDMFLX + entire_atmos sea_salt_dry smaller_than_first_limit 6 20 - entire_atmos - 9.0 + 9.0 666 SEASALT_WET_DEPOSITION_FLUX tmpl4_48 - WLSMFLX + WLSMFLX + entire_atmos sea_salt_dry smaller_than_first_limit 6 20 - entire_atmos - 9.0 + 9.0 667 BLACK_CARBON_EMISSION_FLUX tmpl4_48 - AEMFLX + AEMFLX + surface black_carbon_dry smaller_than_first_limit 10 236 - entire_atmos - 9.0 + 9.0 668 BLACK_CARBON_SEDIMENTATION_FLUX tmpl4_48 - SEDMFLX + SEDMFLX + entire_atmos black_carbon_dry smaller_than_first_limit 8 70 - entire_atmos - 9.0 + 9.0 669 BLACK_CARBON_DRY_DEPOSITION_FLUX tmpl4_48 - DDMFLX + DDMFLX + entire_atmos black_carbon_dry smaller_than_first_limit 8 70 - entire_atmos - 9.0 + 9.0 670 BLACK_CARBON_WET_DEPOSITION_FLUX tmpl4_48 - WLSMFLX + WLSMFLX + entire_atmos black_carbon_dry smaller_than_first_limit 8 70 - entire_atmos - 9.0 + 9.0 671 ORGANIC_CARBON_EMISSION_FLUX tmpl4_48 - AEMFLX + AEMFLX + surface particulate_org_matter_dry smaller_than_first_limit 8 70 - entire_atmos - 9.0 + 9.0 672 ORGANIC_CARBON_SEDIMENTATION_FLUX tmpl4_48 - SEDMFLX + SEDMFLX + entire_atmos particulate_org_matter_dry smaller_than_first_limit 8 70 - entire_atmos - 9.0 + 9.0 673 ORGANIC_CARBON_DRY_DEPOSITION_FLUX tmpl4_48 - DDMFLX + DDMFLX + entire_atmos particulate_org_matter_dry smaller_than_first_limit 8 70 - entire_atmos - 9.0 + 9.0 674 ORGANIC_CARBON_WET_DEPOSITION_FLUX tmpl4_48 - WLSMFLX + WLSMFLX + entire_atmos particulate_org_matter_dry smaller_than_first_limit 8 70 - entire_atmos - 9.0 + 9.0 675 SULFATE_EMISSION_FLUX tmpl4_48 - AEMFLX + AEMFLX + surface sulphate_dry smaller_than_first_limit 8 70 - entire_atmos - 9.0 + 9.0 676 SULFATE_SEDIMENTATION_FLUX tmpl4_48 - SEDMFLX + SEDMFLX + entire_atmos sulphate_dry smaller_than_first_limit 8 70 - entire_atmos - 9.0 + 9.0 677 SULFATE_DRY_DEPOSITION_FLUX tmpl4_48 - DDMFLX + DDMFLX + entire_atmos sulphate_dry smaller_than_first_limit 8 70 - entire_atmos - 9.0 + 9.0 678 SULFATE_WET_DEPOSITION_FLUX tmpl4_48 - WLSMFLX + WLSMFLX + entire_atmos sulphate_dry smaller_than_first_limit 8 70 - entire_atmos - 9.0 + 9.0 679 DUST_SCAVENGING_FLUX tmpl4_48 - WDCPMFLX + WDCPMFLX + entire_atmos dust_dry smaller_than_first_limit 6 20 - entire_atmos - 9.0 + 9.0 680 SEASALT_SCAVENGING_FLUX tmpl4_48 - WDCPMFLX + WDCPMFLX + entire_atmos sea_salt_dry smaller_than_first_limit 6 20 - entire_atmos - 9.0 + 9.0 681 BLACK_CARBON_SCAVENGING_FLUX tmpl4_48 - WDCPMFLX + WDCPMFLX + entire_atmos black_carbon_dry smaller_than_first_limit 8 70 - entire_atmos - 9.0 + 9.0 682 ORGANIC_CARBON_SCAVENGING_FLUX tmpl4_48 - WDCPMFLX + WDCPMFLX + entire_atmos particulate_org_matter_dry smaller_than_first_limit 8 70 - entire_atmos - 9.0 + 9.0 683 SS_CR_AER_SFC_MASS_CON - AVE tmpl4_48 MASSDEN + AVE + surface sea_salt_dry smaller_than_first_limit 6 10 - surface - 9.0 + 9.0 @@ -6211,16 +6378,16 @@ 685 - DU_CR_AER_SFC_MASS_CON - AVE + DUST10_SFC_MASS_CON tmpl4_48 - MASSDEN + PMTC + AVE + surface dust_dry smaller_than_first_limit 6 10 - surface - 9.0 + 9.0 @@ -6238,32 +6405,49 @@ 687 - BC_AER_SFC_MASS_CON - AVE + NITRATE_AER_SCAT_OPT_DEP_at550 tmpl4_48 - MASSDEN - black_carbon_dry + SCTAOTK + entire_atmos + nitrate_dry smaller_than_first_limit - 6 - 10 - surface + 8 + 70 + between_first_second_limit + 9 + 545 + 9 + 565 9.0 688 - OC_AER_SFC_MASS_CON - AVE + NO3_ON_HYBRID_LVL tmpl4_48 - MASSDEN - particulate_org_matter_dry - smaller_than_first_limit - 6 - 10 - surface - 9.0 + PMTF + hybrid_lvl + nitrate_dry + equall_to_first_limit + 9 + 139 + 11.0 + + + + 689 + NH4_ON_HYBRID_LVL + tmpl4_48 + PMTF + hybrid_lvl + ammonium_dry + equall_to_first_limit + 9 + 139 + 11.0 + 690 INST_SU_AER_SFC_MASS_CON tmpl4_48 MASSDEN + surface sulphate_dry smaller_than_first_limit 6 10 - surface - 9.0 + 9.0 @@ -6296,12 +6481,12 @@ INST_OC_AER_SFC_MASS_CON tmpl4_48 MASSDEN + surface particulate_org_matter_dry smaller_than_first_limit 6 10 - surface - 9.0 + 9.0 @@ -6310,11 +6495,11 @@ INST_BC_AER_SFC_MASS_CON tmpl4_48 MASSDEN + surface black_carbon_dry smaller_than_first_limit 6 10 - surface 9.0 @@ -6323,12 +6508,12 @@ INST_DU_CR_AER_SFC_MASS_CON tmpl4_48 MASSDEN + surface dust_dry smaller_than_first_limit 6 10 - surface - 9.0 + 9.0 @@ -6336,12 +6521,12 @@ INST_DU_FN_AER_SFC_MASS_CON tmpl4_48 MASSDEN + surface dust_dry smaller_than_first_limit 7 25 - surface - 9.0 + 9.0 @@ -6349,12 +6534,12 @@ INST_SS_CR_AER_SFC_MASS_CON tmpl4_48 MASSDEN + surface sea_salt_dry smaller_than_first_limit 6 10 - surface - 9.0 + 9.0 @@ -6362,12 +6547,12 @@ INST_SS_FN_AER_SFC_MASS_CON tmpl4_48 MASSDEN + surface sea_salt_dry smaller_than_first_limit 7 25 - surface - 9.0 + 9.0 @@ -6375,12 +6560,12 @@ INST_CR_AER_SFC_MASS_CON tmpl4_48 MASSDEN + surface total_aerosol smaller_than_first_limit 6 10 - surface - 9.0 + 9.0 @@ -6388,22 +6573,40 @@ INST_FN_AER_SFC_MASS_CON tmpl4_48 MASSDEN + surface total_aerosol smaller_than_first_limit 7 25 - surface - 9.0 + 9.0 - 700 - GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_1-6km - tmpl4_8 - MXUPHL - MAX - spec_hgt_lvl_above_grnd - 6000. + 699 + MIE_OPT_DEP_at550 + tmpl4_48 + AOTK + entire_atmos + mercury_dry + smaller_than_first_limit + 6 + 20 + between_first_second_limit + 9 + 545 + 9 + 565 + 9.0 + + + + 700 + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_1-6km + tmpl4_8 + MXUPHL + MAX + spec_hgt_lvl_above_grnd + 6000. spec_hgt_lvl_above_grnd 1000. 3.0 @@ -6423,24 +6626,33 @@ 702 - GSD_MAX_LTG_THREAT1_ON_ENTIRE_ATMOS - LTGTHREAT1 - entire_atmos + GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND + tmpl4_8 + LTNGSD + MAX + spec_hgt_lvl_above_grnd + 1. 3.0 703 - GSD_MAX_LTG_THREAT2_ON_ENTIRE_ATMOS - LTGTHREAT2 - entire_atmos + GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND + tmpl4_8 + LTNGSD + MAX + spec_hgt_lvl_above_grnd + 2. 3.0 704 GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + tmpl4_8 LTNG + NCEP + MAX entire_atmos 3.0 @@ -6502,10 +6714,31 @@ 711 - GSD1_HGT_ON_CLOUD_BASE - HGT + GSD_EXP_CEILING_2 + CEIL cloud_base - 6.0 + 3.0 + + + + 712 + AER_OPT_AQM_at550 + tmpl4_48 + AOTK + entire_atmos_single_lyr + total_aerosol + smaller_than_first_limit + 0 + 0 + 9.0 + + + + 713 + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + depth_bel_land_sfc + 3.0 @@ -6631,49 +6864,132 @@ 736 SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR - tmpl4_0 + tmpl4_48 COLMD entire_atmos_single_lyr + particulate_org_matter_dry + smaller_than_first_limit + 7 + 25 5.0 737 SMOKE_ON_HYBRID_LVL - tmpl4_0 + tmpl4_48 MASSDEN hybrid_lvl + particulate_org_matter_dry + smaller_than_first_limit + 7 + 25 6.0 738 SMOKE_ON_ISOBARIC_SFC - tmpl4_0 + tmpl4_48 MASSDEN isobaric_sfc + particulate_org_matter_dry + smaller_than_first_limit + 7 + 25 6.0 739 SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m - tmpl4_0 + tmpl4_48 MASSDEN spec_hgt_lvl_above_grnd 8. + particulate_org_matter_dry + smaller_than_first_limit + 7 + 25 6.0 740 MEAN_FIRE_RDIATV_PWR + tmpl4_0 CFNSF NCEP surface 4.0 + + 741 + DUST_ON_ENTIRE_ATMOS_SINGLE_LYR + tmpl4_48 + COLMD + entire_atmos_single_lyr + dust_dry + smaller_than_first_limit + 7 + 25 + 5.0 + + + + 742 + DUST_ON_HYBRID_LVL + tmpl4_48 + MASSDEN + hybrid_lvl + dust_dry + smaller_than_first_limit + 7 + 25 + 6.0 + + + + 743 + DUST_ON_ISOBARIC_SFC + tmpl4_48 + MASSDEN + isobaric_sfc + dust_dry + smaller_than_first_limit + 7 + 25 + 6.0 + + + + 744 + DUST_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + tmpl4_48 + MASSDEN + spec_hgt_lvl_above_grnd + 8. + dust_dry + smaller_than_first_limit + 7 + 25 + 6.0 + + + + 745 + BIOMASS_BURNING_EMISSIONS + tmpl4_48 + AEMFLX + entire_atmos_single_lyr + particulate_org_matter_dry + smaller_than_first_limit + 7 + 25 + 5.0 + + 746 ACM_GRAUPEL_ON_SURFACE @@ -6687,7 +7003,7 @@ 747 - GSD_NCCD_ON_HYBRID_LVL + NCCD_ON_HYBRID_LVL Number concentration for cloud water drops on hybrid level NCONCD hybrid_lvl @@ -6707,7 +7023,8 @@ 749 GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER - RH_PWAT + RHPW + NCEP entire_atmos 3.0 @@ -6730,9 +7047,9 @@ 752 - GSD_NCIP_ON_HYBRID_LVL + NCIP_ON_HYBRID_LVL Number concentration for ice particles on hybrid level - NCIP + NCCICE hybrid_lvl 3.0 @@ -6748,12 +7065,23 @@ 754 - GSD_NCRAIN_ON_HYBRID_LVL - NCRAIN + NCRAIN_ON_HYBRID_LVL + SPNCR hybrid_lvl 3.0 + + 755 + HWP_ON_SURFACE + Hourly Wildfire Potential on surface + tmpl4_8 + WFIREPOT + AVE + surface + 5.0 + + 756 GSD_PRES_ON_HGHST_TROP_FRZ_LVL @@ -6780,6 +7108,21 @@ 4.0 + + 759 + AVE_PM25_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + tmpl4_46 + MASSDEN + AVE + spec_hgt_lvl_above_grnd + 8. + total_aerosol + smaller_than_first_limit + 7 + 25 + 6.0 + + 760 GSD_MIXR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m @@ -6813,9 +7156,25 @@ 3.0 + + 764 + CSDLF_ON_SURFACE + CSDLF + surface + 3.0 + + + + 765 + CSULF_ON_SURFACE + CSULF + surface + 3.0 + + 766 - GSD_NCWFA_ON_HYBRID_LVL + NCWFA_ON_HYBRID_LVL PMTF NCEP hybrid_lvl @@ -6824,7 +7183,7 @@ 767 - GSD_NCIFA_ON_HYBRID_LVL + NCIFA_ON_HYBRID_LVL PMTC NCEP hybrid_lvl @@ -6840,20 +7199,32 @@ 3.0 + - 769 - GSD_VIL_ON_ENTIRE_ATMOS - VIL + 769 + TCOLP_ON_ENTIRE_ATMOS + TCOLP + NCEP entire_atmos - 4.0 + 6.0 - 770 - GSD_RADARVIL_ON_ENTIRE_ATMOS - RADARVIL - entire_atmos - 3.0 + 771 + AVE_PM10_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + tmpl4_46 + MASSDEN + AVE + spec_hgt_lvl_above_grnd + 8. + total_aerosol + smaller_than_first_limit + 7 + 100 + 6.0 @@ -7109,7 +7480,7 @@ 794 - GSD_MAX_COLMAX_GRAUPEL_HAIL_DIAMETER + MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN tmpl4_8 HAIL MAX @@ -7119,22 +7490,30 @@ 795 - GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER + MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL tmpl4_8 HAIL MAX sigma_lvl - 1 1. 4.0 - 798 - GSD_PRES1_ON_CLOUD_BASE - PRES - cloud_base - 3.0 + 796 + INST_CLRSKY_SWDDNI_ON_SURFACE + DSWRFLXCS + surface + 4.0 + + + + 797 + INST_CLRSKY_SWDDIF_ON_SURFACE + DFSWRFLXCS + NCEP + surface + 4.0 @@ -7186,6 +7565,22 @@ 4.0 + + 829 + SSMS1712_ON_TOP_OF_ATMOS + SSMS1712 + top_of_atmos + 4.0 + + + + 830 + SSMS1713_ON_TOP_OF_ATMOS + SSMS1713 + top_of_atmos + 4.0 + + 890 GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 @@ -7198,6 +7593,33 @@ 5.0 + + 909 + VTMP_ON_HYBRID_LVL + Virtual temperature on model surfaces + VTMP + hybrid_lvl + 4.0 + + + + 910 + VTMP_ON_ISOBARIC_SFC + Virtual temperature on pressure surfaces + VTMP + isobaric_sfc + 4.0 + + + + 911 + VTMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + Virtual temperature on flight levels + VTMP + spec_alt_above_mean_sea_lvl + 4.0 + + 912 REFD_ON_ISOTHERMAL @@ -7208,51 +7630,191 @@ - 927 - SBTA167_ON_TOP_OF_ATMOS - SBTA167 - top_of_atmos + 913 + 1H_FFG_EXCEEDANCE + tmpl4_9 + QPFFFG + NCEP + ACM + prob_above_lower_limit + surface + 0 + 1.0 4.0 - 928 - SBTA168_ON_TOP_OF_ATMOS - SBTA168 - top_of_atmos + 914 + ACM_FFG_EXCEEDANCE + tmpl4_9 + QPFFFG + NCEP + ACM + prob_above_lower_limit + surface + 0 + 1.0 4.0 - 929 - SBTA169_ON_TOP_OF_ATMOS - SBTA169 - top_of_atmos + 915 + 1H_2YARI_EXCEEDANCE + tmpl4_9 + QPFARI + NCEP + ACM + prob_above_lower_limit + surface + 0 + 2.0 4.0 - 930 - SBTA1610_ON_TOP_OF_ATMOS - SBTA1610 - top_of_atmos + 916 + ACM_2YARI_EXCEEDANCE + tmpl4_9 + QPFARI + NCEP + ACM + prob_above_lower_limit + surface + 0 + 2.0 4.0 - 931 - SBTA1611_ON_TOP_OF_ATMOS - SBTA1611 - top_of_atmos + 917 + 1H_5YARI_EXCEEDANCE + tmpl4_9 + QPFARI + NCEP + ACM + prob_above_lower_limit + surface + 0 + 5.0 4.0 - 932 - SBTA1612_ON_TOP_OF_ATMOS - SBTA1612 - top_of_atmos - 4.0 + 918 + ACM_5YARI_EXCEEDANCE + tmpl4_9 + QPFARI + NCEP + ACM + prob_above_lower_limit + surface + 0 + 5.0 + 4.0 + + + + 919 + 1H_10YARI_EXCEEDANCE + tmpl4_9 + QPFARI + NCEP + ACM + prob_above_lower_limit + surface + 0 + 10.0 + 4.0 + + + + 920 + ACM_10YARI_EXCEEDANCE + tmpl4_9 + QPFARI + NCEP + ACM + prob_above_lower_limit + surface + 0 + 10.0 + 4.0 + + + + 921 + 1H_100YARI_EXCEEDANCE + tmpl4_9 + QPFARI + NCEP + ACM + prob_above_lower_limit + surface + 0 + 100.0 + 4.0 + + + + 922 + ACM_100YARI_EXCEEDANCE + tmpl4_9 + QPFARI + NCEP + ACM + prob_above_lower_limit + surface + 0 + 100.0 + 4.0 + + + + 927 + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + top_of_atmos + 4.0 + + + + 928 + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + top_of_atmos + 4.0 + + + + 929 + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + top_of_atmos + 4.0 + + + + 930 + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + top_of_atmos + 4.0 + + + + 931 + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + top_of_atmos + 4.0 + + + + 932 + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + top_of_atmos + 4.0 @@ -7445,7 +8007,7 @@ 957 CRITICAL_ANGLE - DCAPE + CANGLE NCEP spec_hgt_lvl_above_grnd 0. @@ -7625,7 +8187,7 @@ 979 - EFSH_ON_LFC + EFSH_ON_EFBL EFSH NCEP level_free_convection @@ -7634,7 +8196,7 @@ 980 - EFSH_ON_EQUIL_LVL + EFSH_ON_EFTL EFSH NCEP equil_lvl @@ -7643,7 +8205,7 @@ 982 - ELMELT_ON_EQUIL_LVL + ELMELT_ON_EFTL ELMELT NCEP equil_lvl @@ -7652,7 +8214,7 @@ 983 - UESH_ON_LFC + UESH_ON_EFL UESH NCEP level_free_convection @@ -7661,7 +8223,7 @@ 984 - VESH_ON_LFC + VESH_ON_EFL VESH NCEP level_free_convection @@ -7670,7 +8232,7 @@ 985 - ESHR_ON_LFC + ESHR_ON_EFL ESHR NCEP level_free_convection @@ -7679,81 +8241,433 @@ 986 - UEID_ON_LFC + UEID_ON_EFL UEID + NCEP level_free_convection 6.0 987 - VEID_ON_LFC + VEID_ON_EFL VEID + NCEP level_free_convection 6.0 988 - E3KH_ON_LFC + E3KH_ON_EFL E3KH + NCEP level_free_convection 6.0 989 - STPC_ON_LFC + STPC_ON_EFL STPC + NCEP level_free_convection 6.0 990 - SIGT_ON_LFC + SIGT_ON_EFL SIGT + NCEP level_free_convection 6.0 991 - SCCP_ON_LFC + SCCP_ON_EFL SCCP + NCEP level_free_convection 6.0 992 - MLFC_ON_LFC + MLFC_ON_EFL MLFC + NCEP level_free_convection 6.0 993 - SIGH_ON_LFC + SIGH_ON_EFL SIGH + NCEP level_free_convection 6.0 + 994 - OZCON_ON_HYBRID_LVL + AVE_OZCON_ON_HYBRID_LVL + tmpl4_8 OZCON + AVE hybrid_lvl 7.0 - + 995 - PM25TOT_ON_HYBRID_LVL + AVE_PM25TOT_ON_HYBRID_LVL + tmpl4_8 PMTF + AVE hybrid_lvl 7.0 + + + 996 + LAND_FRAC + LANDFRC + NCEP + surface + 3.0 + + + + 997 + INST_PREC_ADVEC_HEAT + PAHFLX + NCEP + surface + 3.0 + + + + 998 + WATER_AQUIFER + WATERSA + NCEP + surface + 3.0 + + + + 999 + ACM_EIWATER_ON_SURFACE + tmpl4_8 + EIWATER + NCEP + ACM + surface + 3.0 + + + + 1000 + ACM_PLANTTR_ON_SURFACE + tmpl4_8 + PLANTTR + NCEP + ACM + surface + 3.0 + + + + 1001 + ACM_SOILSE_ON_SURFACE + tmpl4_8 + SOILSE + NCEP + ACM + surface + 3.0 + + + + 1002 + AVE_PREC_ADVEC_HEAT + tmpl4_8 + PAHFLX + NCEP + AVE + surface + 3.0 + + + + 1003 + BUCKET_FRAIN_ON_SURFACE + tmpl4_8 + FRZR + NCEP + ACM + surface + 4.0 + + + + 1004 + ACM_SNOWFALL_ON_SURFACE + tmpl4_8 + TSNOWP + ACM + surface + 4.0 + + + + 1005 + BUCKET_SNOWFALL_ON_SURFACE + tmpl4_8 + TSNOWP + ACM + surface + 4.0 + + + + 1006 + SDEN_ON_SURFACE + SDEN + surface + 6.0 + + + + 1007 + ICE_PROB_IFI_FLIGHT_LEVEL + ICPRB + NCEP + spec_alt_above_mean_sea_lvl + + 1 + 5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. + 4.0 + + + + 1008 + SLD_IFI_FLIGHT_LEVEL + SIPD + NCEP + spec_alt_above_mean_sea_lvl + + 1 + 5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. + 4.0 + + + + 1009 + ICE_SEV_CAT_IFI_FLIGHT_LEVEL + ICSEV + NCEP + spec_alt_above_mean_sea_lvl + + 1 + 5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. + 4.0 + + + + 1010 + WMO_ICE_SEV_CAT_IFI_FLIGHT_LEVEL + ICESEV + spec_alt_above_mean_sea_lvl + + 1 + 5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. + 4.0 + + + + 1011 + COARSEPM_ON_ENTIRE_ATMOS_SINGLE_LYR + tmpl4_48 + COLMD + entire_atmos_single_lyr + dust_dry + between_first_second_limit_noincl2ndlmt + 7 + 25 + 7 + 100 + 5.0 + + + + 1012 + COARSEPM_ON_HYBRID_LVL + tmpl4_48 + MASSDEN + hybrid_lvl + dust_dry + between_first_second_limit_noincl2ndlmt + 7 + 25 + 7 + 100 + 6.0 + + + + 1013 + COARSEPM_ON_ISOBARIC_SFC + tmpl4_48 + MASSDEN + isobaric_sfc + dust_dry + between_first_second_limit_noincl2ndlmt + 7 + 25 + 7 + 100 + 6.0 + + + + 1014 + COARSEPM_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + tmpl4_48 + MASSDEN + spec_hgt_lvl_above_grnd + 8. + dust_dry + between_first_second_limit_noincl2ndlmt + 7 + 25 + 7 + 100 + 6.0 + + + + 1015 + EBB_ON_HYBRID_LVL + tmpl4_48 + AEMFLX + hybrid_lvl + particulate_org_matter_dry + smaller_than_first_limit + 7 + 25 + 6.0 + + + + 1016 + EBB_ON_ISOBARIC_SFC + tmpl4_48 + AEMFLX + isobaric_sfc + particulate_org_matter_dry + smaller_than_first_limit + 7 + 25 + 6.0 + + + + 1017 + EBB_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + tmpl4_48 + AEMFLX + spec_hgt_lvl_above_grnd + 8. + particulate_org_matter_dry + smaller_than_first_limit + 7 + 25 + 6.0 + + + + 1018 + NCCD_ON_ISOBARIC_SFC + Number concentration for cloud water drops on isobaric surfaces + NCONCD + isobaric_sfc + 3.0 + + + + 1019 + NCIP_ON_ISOBARIC_SFC + Number concentration for ice particles on isobaric surfaces + NCCICE + isobaric_sfc + 3.0 + + + + 1020 + NCRAIN_ON_ISOBARIC_SFC + Number concentration for rain on isobaric surfaces + SPNCR + isobaric_sfc + 3.0 + + + + 1021 + POISSION_VPOT_ON_ISOBARIC_SFC + VPOT + isobaric_sfc + 3.0 + + + + 1022 + POISSION_STRM_ON_ISOBARIC_SFC + STRM + isobaric_sfc + 3.0 + + + + 1023 + NCGRAUP_ON_HYBRID_LVL + SPNCG + hybrid_lvl + 3.0 + + + + 1024 + NCGRAUP_ON_ISOBARIC_SFC + SPNCG + isobaric_sfc + 3.0 + + + + 1025 + BUCKET_HAIL_ON_SURFACE + bucket hail on surface + tmpl4_8 + HAILAC + NCEP + ACM + surface + 3.0 + + + + 1026 + HAFS_GUST_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + GUST + spec_hgt_lvl_above_grnd + 10. + 3.0 + + diff --git a/parm/post_avblflds_raphrrr.xml b/parm/post_avblflds_raphrrr.xml index c945f89e39..6dc3684e8f 100755 --- a/parm/post_avblflds_raphrrr.xml +++ b/parm/post_avblflds_raphrrr.xml @@ -311,7 +311,7 @@ 36 SOILM_ON_DEPTH_BEL_LAND_SFC - SOILM + SOILMOI depth_bel_land_sfc 3.0 @@ -3534,15 +3534,6 @@ 3.0 - - 406 - GSD_PRES_ON_CLOUD_TOP - GSD_pressure on cloud top - PRES - cloud_top - 6.0 - - 407 GSD_INST_CRAIN_ON_SURFACE @@ -3569,15 +3560,6 @@ 6.0 - - 409 - GSD_HGT_ON_CLOUD_TOP - GSD_geopotential height on cloud top - HGT - cloud_top - 6.0 - - 410 GSD_VIS_ON_SURFACE @@ -4179,6 +4161,23 @@ 3.0 + + 476 + MXEDPRM_ON_ENTIRE_ATMOS + MXEDPRM + entire_atmos + 3.0 + + + + + 477 + CIT_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + CITEDR + spec_alt_above_mean_sea_lvl + 3.0 + + 482 PRES_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL @@ -4226,14 +4225,6 @@ 4.0 - - 798 - GSD_PRES_ON_CLOUD_BASE - PRES - cloud_base - 3.0 - - 488 TMITB6_ON_TOP_OF_ATMOS @@ -5298,7 +5289,7 @@ 747 - GSD_NCCD_ON_HYBRID_LVL + NCCD_ON_HYBRID_LVL Number concentration for cloud water drops on hybrid level NCONCD hybrid_lvl @@ -5324,7 +5315,7 @@ 752 - GSD_NCIP_ON_HYBRID_LVL + NCIP_ON_HYBRID_LVL Number concentration for ice particles on hybrid level NCCICE hybrid_lvl @@ -5333,7 +5324,7 @@ 754 - GSD_NCRAIN_ON_HYBRID_LVL + NCRAIN_ON_HYBRID_LVL SPNCR hybrid_lvl 3.0 @@ -5616,37 +5607,41 @@ 736 SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR - tmpl4_0 + tmpl4_48 COLMD entire_atmos_single_lyr + particulate_org_matter_dry 5.0 737 SMOKE_ON_HYBRID_LVL - tmpl4_0 + tmpl4_48 MASSDEN hybrid_lvl + particulate_org_matter_dry 6.0 738 SMOKE_ON_ISOBARIC_SFC - tmpl4_0 + tmpl4_48 MASSDEN isobaric_sfc + particulate_org_matter_dry 6.0 739 SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m - tmpl4_0 + tmpl4_48 MASSDEN spec_hgt_lvl_above_grnd 8. + particulate_org_matter_dry 6.0 @@ -5737,14 +5732,6 @@ 4.0 - - 770 - GSD_RADARVIL_ON_ENTIRE_ATMOS - VIL - entire_atmos - 3.0 - - 727 GSD_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km diff --git a/parm/post_tag_gfs128 b/parm/post_tag_gfs128 deleted file mode 100644 index 9a9a3bddec..0000000000 --- a/parm/post_tag_gfs128 +++ /dev/null @@ -1,4 +0,0 @@ -&NAMPGB - KPO=57,PO=1000.,975.,950.,925.,900.,875.,850.,825.,800.,775.,750.,725.,700.,675.,650.,625.,600.,575.,550.,525.,500.,475.,450.,425.,400.,375.,350.,325.,300.,275.,250.,225.,200.,175.,150.,125.,100.,70.,50.,40.,30.,20.,15.,10.,7.,5.,3.,2.,1.,0.7,0.4,0.2,0.1,0.07,0.04,0.02,0.01, - / -EOF diff --git a/parm/postcntrl_gefs_chem.xml b/parm/postcntrl_ccpp_chem.xml similarity index 83% rename from parm/postcntrl_gefs_chem.xml rename to parm/postcntrl_ccpp_chem.xml index c4ce522cff..f00a3d4685 100755 --- a/parm/postcntrl_gefs_chem.xml +++ b/parm/postcntrl_ccpp_chem.xml @@ -19,7 +19,6 @@ fltng_pnt lossless - DUST1_ON_HYBRID_LVL NCEP @@ -156,72 +155,38 @@ - AER_SCAT_OPT_DEP_at550 - 9.0 - - - - DUST_AER_SCAT_OPT_DEP_at550 - 9.0 - - - - SEASALT_AER_SCAT_OPT_DEP_at550 - 9.0 - - - - SULFATE_AER_SCAT_OPT_DEP_at550 - 9.0 - - - - ORGANIC_CARBON_AER_SCAT_OPT_DEP_at550 + AER_OPT_GFS_at550 9.0 - BLACK_CARBON_AER_SCAT_OPT_DEP_at550 + DUST_AER_OPT_GFS_at550 9.0 - SINGLE_SCAT_ALBD_at340 + SEASALT_AER_OPT_GFS_at550 9.0 - AER_ASYM_FACTOR_at340 + SULFATE_AER_OPT_GFS_at550 9.0 - AER_OPT_DEP_at340 + ORGANIC_CARBON_AER_OPT_GFS_at550 9.0 - AER_OPT_DEP_at440 + BLACK_CARBON_AER_OPT_GFS_at550 9.0 - AER_OPT_DEP_at660 - 9.0 - - - - AER_OPT_DEP_at860 - 9.0 - - - - AER_OPT_DEP_at1630 - 9.0 - - - - AER_OPT_DEP_at11100 + DUST10_SFC_MASS_CON + NCEP 9.0 @@ -284,6 +249,11 @@ 9.0 + + TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR + 4.0 + + diff --git a/parm/postcntrl_gefs_aerosol.xml b/parm/postcntrl_ccpp_chem_f00.xml similarity index 84% rename from parm/postcntrl_gefs_aerosol.xml rename to parm/postcntrl_ccpp_chem_f00.xml index 61fa7a8fe1..3ce74692a5 100755 --- a/parm/postcntrl_gefs_aerosol.xml +++ b/parm/postcntrl_ccpp_chem_f00.xml @@ -47,13 +47,6 @@ 4.0 - - O3MR_ON_ISOBARIC_SFC - NCEP - 40. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 20000. 25000. 30000. 35000. 40000. 50000. 70000. 85000. 100000. - 5.0 - - REFC_ON_ENTIRE_ATMOS NCEP @@ -214,72 +207,38 @@ - AER_SCAT_OPT_DEP_at550 - 9.0 - - - - DUST_AER_SCAT_OPT_DEP_at550 + AER_OPT_GFS_at550 9.0 - SEASALT_AER_SCAT_OPT_DEP_at550 + DUST_AER_OPT_GFS_at550 9.0 - SULFATE_AER_SCAT_OPT_DEP_at550 + SEASALT_AER_OPT_GFS_at550 9.0 - ORGANIC_CARBON_AER_SCAT_OPT_DEP_at550 + SULFATE_AER_OPT_GFS_at550 9.0 - BLACK_CARBON_AER_SCAT_OPT_DEP_at550 + ORGANIC_CARBON_AER_OPT_GFS_at550 9.0 - SINGLE_SCAT_ALBD_at340 + BLACK_CARBON_AER_OPT_GFS_at550 9.0 - AER_ASYM_FACTOR_at340 - 9.0 - - - - AER_OPT_DEP_at340 - 9.0 - - - - AER_OPT_DEP_at440 - 9.0 - - - - AER_OPT_DEP_at660 - 9.0 - - - - AER_OPT_DEP_at860 - 9.0 - - - - AER_OPT_DEP_at1630 - 9.0 - - - - AER_OPT_DEP_at11100 + DUST10_SFC_MASS_CON + NCEP 9.0 @@ -342,11 +301,6 @@ 9.0 - - TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR - 4.0 - - AVE_PRATE_ON_SURFACE 4.0 diff --git a/parm/postcntrl_gefs_anl.xml b/parm/postcntrl_gefs_anl.xml deleted file mode 100644 index 0100a87395..0000000000 --- a/parm/postcntrl_gefs_anl.xml +++ /dev/null @@ -1,465 +0,0 @@ - - - - - GFSPRS - 0 - ncep_nco - v2003 - local_tab_yes1 - anal - oper - fcst - ens_fcst - hour - nws_ncep - gefs - complex_packing_spatial_diff - 2nd_ord_sptdiff - fltng_pnt - lossless - negatively_pert_fcst - - - HGT_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. - 6.0 - - - - TMP_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - SPFH_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. - 4.0 - - - - RH_ON_ISOBARIC_SFC - 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - UGRD_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. - 4.0 - - - - VGRD_ON_ISOBARIC_SFC - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. - 4.0 - - - - VVEL_ON_ISOBARIC_SFC - 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. - 5.0 - - - - ABSV_ON_ISOBARIC_SFC - 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. - 4.0 - - - - O3MR_ON_ISOBARIC_SFC - NCEP - 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 20000. 25000. 30000. 35000. 40000. - 5.0 - - - - CLMR_ON_ISOBARIC_SFC - 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. - 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 - - - - MSLET_ON_MEAN_SEA_LVL - 6.0 - - - - PRES_ON_MEAN_SEA_LVL - 6.0 - - - - PRES_ON_SURFACE - 6.0 - - - - HGT_ON_SURFACE - 6.0 - - - - PRES_ON_TROPOPAUSE - 6.0 - - - - HGT_ON_TROPOPAUSE - 6.0 - - - - TMP_ON_TROPOPAUSE - 3.0 - - - - UGRD_ON_TROPOPAUSE - 4.0 - - - - VGRD_ON_TROPOPAUSE - 4.0 - - - - VWSH_ON_TROPOPAUSE - NCEP - 3.0 - - - - HGT_ON_0C_ISOTHERM - 6.0 - - - - RH_ON_0C_ISOTHERM - 2.0 - - - - HGT_ON_HGHST_TROP_FRZ_LVL - 6.0 - - - - RH_ON_HGHST_TROP_FRZ_LVL - 2.0 - - - - PRES_ON_MAX_WIND - 6.0 - - - - HGT_ON_MAX_WIND - 6.0 - - - - UGRD_ON_MAX_WIND - 4.0 - - - - VGRD_ON_MAX_WIND - 4.0 - - - - TMP_ON_MAX_WIND - 3.0 - - - - CWAT_ON_ENTIRE_ATMOS_SINGLE_LYR - 3.0 - - - - RH_ON_ENTIRE_ATMOS_SINGLE_LYR - 2.0 - - - - TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR - 4.0 - - - - UGRD_ON_ISENTROPIC_LVL - 320. 450. 550. 650. - 4.0 - - - - VGRD_ON_ISENTROPIC_LVL - 320. 450. 550. 650. - 4.0 - - - - TMP_ON_ISENTROPIC_LVL - 320. 450. 550. 650. - 3.0 - - - - PVORT_ON_ISENTROPIC_LVL - 320. 450. 550. 650. - 4.0 - - - - MNTSF_ON_ISENTROPIC_LVL - 320. - 4.0 - - - - UGRD_ON_POT_VORT_SFC - 9 9 9 9 9 9 9 9 - 500. -500. 1000. -1000. 1500. -1500. 2000. -2000. - 4.0 - - - - VGRD_ON_POT_VORT_SFC - 9 9 9 9 9 9 9 9 - 500. -500. 1000. -1000. 1500. -1500. 2000. -2000. - 4.0 - - - - TMP_ON_POT_VORT_SFC - 9 9 9 9 9 9 9 9 - 500. -500. 1000. -1000. 1500. -1500. 2000. -2000. - 4.0 - - - - HGT_ON_POT_VORT_SFC - 9 9 9 9 9 9 9 9 - 500. -500. 1000. -1000. 1500. -1500. 2000. -2000. - 6.0 - - - - PRES_ON_POT_VORT_SFC - 9 9 9 9 9 9 9 9 - 500. -500. 1000. -1000. 1500. -1500. 2000. -2000. - 6.0 - - - - VWSH_ON_POT_VORT_SFC - NCEP - 9 9 9 9 9 9 9 9 - 500. -500. 1000. -1000. 1500. -1500. 2000. -2000. - 3.0 - - - - TMP_ON_SPEC_PRES_ABOVE_GRND - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 3.0 - - - - SPFH_ON_SPEC_PRES_ABOVE_GRND - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 5.0 - - - - RH_ON_SPEC_PRES_ABOVE_GRND - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 2.0 - - - - UGRD_ON_SPEC_PRES_ABOVE_GRND - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 4.0 - - - - VGRD_ON_SPEC_PRES_ABOVE_GRND - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 4.0 - - - - TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - 80. 100. - 3.0 - - - - TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - 305. 457. 610. 914. 1829. 2743. 3658. 4572. - 3.0 - - - - UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - 80. 100. - 4.0 - - - - UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - 305. 457. 610. 914. 1829. 2743. 3658. 4572. - 4.0 - - - - VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - 80. 100. - 4.0 - - - - VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - 305. 457. 610. 914. 1829. 2743. 3658. 4572. - 4.0 - - - - PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - 80. - 6.0 - - - - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - 80. - 4.0 - - - - PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR - 3.0 - - - - GFS_LFTX_ON_SURFACE - NCEP - 3.0 - - - - CAPE_ON_SURFACE - 4.0 - - - - BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND - 4.0 - - - - UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND - 4.0 - - - - CIN_ON_SURFACE - 0. - 4.0 - - - - BEST_CIN_ON_SPEC_PRES_ABOVE_GRND - 4.0 - - - - UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND - 4.0 - - - - PLPL_ON_SPEC_PRES_ABOVE_GRND - 25500. - 0. - 6.0 - - - - GFS_4LFTX_ON_SURFACE - NCEP - 3.0 - - - - RH_ON_SIGMA_LVL_0.44-1.0 - - - - RH_ON_SIGMA_LVL_0.72-0.94 - - - - RH_ON_SIGMA_LVL_0.44-0.72 - - - - RH_ON_SIGMA_LVL_0.33-1.0 - - - - TMP_ON_SIGMA_LVL_0.9950 - 4.0 - - - - POT_ON_SIGMA_LVL_0.9950 - 4.0 - - - - RH_ON_SIGMA_LVL_0.9950 - 3.0 - - - - UGRD_ON_SIGMA_LVL_0.9950 - 4.0 - - - - VGRD_ON_SIGMA_LVL_0.9950 - 4.0 - - - - VVEL_ON_SIGMA_LVL_0.9950 - 5.0 - - - - ICAHT_ON_MAX_WIND - 6.0 - - - - ICAHT_ON_TROPOPAUSE - 6.0 - - - - - diff --git a/parm/postcntrl_gfs_flux.xml b/parm/postcntrl_gfs_flux.xml deleted file mode 100755 index c5c18210e9..0000000000 --- a/parm/postcntrl_gfs_flux.xml +++ /dev/null @@ -1,618 +0,0 @@ - - - - - GFSPRS - 0 - ncep_nco - v2003 - local_tab_yes1 - fcst - oper - fcst - fcst - hour - nws_ncep - gfs_avn - complex_packing_spatial_diff - 2nd_ord_sptdiff - fltng_pnt - lossless - - - TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - 4.0 - - - - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - 7.0 - - - - UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - 4.0 - - - - VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - 4.0 - - - - PRES_ON_SURFACE - 6.0 - - - - HGT_ON_SURFACE - 6.0 - - - - TMP_ON_SURFACE - 4.0 - - - - TSOIL_ON_DEPTH_BEL_LAND_SFC - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. - 4.0 - - - - SOILW_ON_DEPTH_BEL_LAND_SFC - NCEP - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. - 3.0 - - - - SOILL_ON_DEPTH_BEL_LAND_SFC - NCEP - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. - 3.0 - - - - CNWAT_ON_SURFACE - NCEP - 3.0 - - - - WEASD_ON_SURFACE - 6.0 - - - - AVE_PEVPR_ON_SURFACE - NCEP - 6.0 - - - - PEVPR_ON_SURFACE - NCEP - 6.0 - - - - - ICETK_ON_SURFACE - 3.0 - - - - SNOD_ON_SURFACE - 6.0 - yes - - - - WILT_ON_SURFACE - NCEP - 4.0 - yes - - - - FLDCP_ON_SURFACE - NCEP - 4.0 - yes - - - - PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR - 6.0 - - - - AVE_PRATE_ON_SURFACE - 6.0 - - - - AVE_CPRAT_ON_SURFACE - NCEP - 6.0 - - - - AVE_TCDC_ON_LOW_CLOUD_LYR - 4.0 - - - - AVE_TCDC_ON_MID_CLOUD_LYR - 4.0 - - - - AVE_TCDC_ON_HIGH_CLOUD_LYR - 4.0 - - - - AVE_TCDC_ON_ENTIRE_ATMOS - 4.0 - - - - AVE_DSWRF_ON_SURFACE - NCEP - 6.0 - - - - INST_DSWRF_ON_SURFACE - NCEP - 6.0 - - - - AVE_DSWRF_ON_TOP_OF_ATMOS - NCEP - 6.0 - - - - AVE_CDUVB_ON_SURFACE - NCEP - 6.0 - - - - AVE_DUVB_ON_SURFACE - NCEP - 6.0 - - - - AVE_DLWRF_ON_SURFACE - NCEP - 4.0 - - - - INST_DLWRF_ON_SURFACE - NCEP - 4.0 - - - - AVE_USWRF_ON_SURFACE - NCEP - 6.0 - - - - INST_USWRF_ON_SURFACE - NCEP - 6.0 - - - - AVE_ULWRF_ON_SURFACE - NCEP - 4.0 - - - - INST_ULWRF_ON_SURFACE - NCEP - 4.0 - - - - AVE_USWRF_ON_TOP_OF_ATMOS - NCEP - 6.0 - - - - AVE_ULWRF_ON_TOP_OF_ATMOS - NCEP - 4.0 - - - - AVE_VBDSF_ON_SURFACE - NCEP - 6.0 - - - - AVE_VDDSF_ON_SURFACE - NCEP - 6.0 - - - - AVE_NBDSF_ON_SURFACE - NCEP - 6.0 - - - - AVE_NDDSF_ON_SURFACE - NCEP - 6.0 - - - - AVE_CSULF_ON_TOP_OF_ATMOS - NCEP - 4.0 - - - - AVE_CSUSF_ON_TOP_OF_ATMOS - NCEP - 6.0 - - - - AVE_CSDLF_ON_SURFACE - NCEP - 4.0 - - - - AVE_CSUSF_ON_SURFACE - NCEP - 6.0 - - - - AVE_CSDSF_ON_SURFACE - NCEP - 6.0 - - - - AVE_CSULF_ON_SURFACE - NCEP - 4.0 - - - - SFCR_ON_SURFACE - 6.0 - - - - VEG_ON_SURFACE - 3.0 - - - - VGTYP_ON_SURFACE - NCEP - 3.0 - - - - SOTYP_ON_SURFACE - 3.0 - - - - SLTYP_ON_SURFACE - NCEP - 3.0 - - - - FRICV_ON_SURFACE - NCEP - 4.0 - - - - SFEXC_ON_SURFACE - NCEP - 4.0 - - - - ACOND_ON_SURFACE - NCEP - 4.0 - - - - AVE_SHTFL_ON_SURFACE - 4.0 - - - - INST_SHTFL_ON_SURFACE - 4.0 - - - - AVE_GFLUX_ON_SURFACE - NCEP - 4.0 - - - - INST_GFLUX_ON_SURFACE - NCEP - 4.0 - - - - ACM_SSRUN_ON_SURFACE - NCEP - 6.0 - - - - AVE_LHTFL_ON_SURFACE - 4.0 - - - - INST_LHTFL_ON_SURFACE - 4.0 - - - - AVE_UFLX_ON_SURFACE - 4.0 - - - - AVE_VFLX_ON_SURFACE - 4.0 - - - - LAND_ON_SURFACE - - - - ICEC_ON_SURFACE - 4.0 - - - - AVE_ALBDO_ON_SURFACE - 4.0 - - - - HPBL_ON_SURFACE - NCEP - 6.0 - - - - PRES_ON_CONVECTIVE_CLOUD_BOT_LVL - 6.0 - - - - PRES_ON_CONVECTIVE_CLOUD_TOP_LVL - 6.0 - - - - AVE_PRES_ON_LOW_CLOUD_BOT_LVL - 6.0 - - - - AVE_PRES_ON_MID_CLOUD_BOT_LVL - 6.0 - - - - AVE_PRES_ON_HIGH_CLOUD_BOT_LVL - 6.0 - - - - AVE_PRES_ON_LOW_CLOUD_TOP_LVL - 6.0 - - - - AVE_PRES_ON_MID_CLOUD_TOP_LVL - 6.0 - - - - AVE_PRES_ON_HIGH_CLOUD_TOP_LVL - 6.0 - - - - AVE_TMP_ON_LOW_CLOUD_TOP_LVL - 4.0 - - - - AVE_TMP_ON_MID_CLOUD_TOP_LVL - 4.0 - - - - AVE_TMP_ON_HIGH_CLOUD_TOP_LVL - 4.0 - - - - GFS_TCDC_ON_CONVECTIVE_CLOUD_LYR - 4.0 - - - - AVE_TCDC_ON_BOUND_LYR_CLOUD_LYR - 4.0 - - - - AVE_CWORK_ON_ENTIRE_ATMOS_SINGLE_LYR - NCEP - 4.0 - - - - AVE_U-GWD_ON_SURFACE - NCEP - 5.0 - - - - AVE_V-GWD_ON_SURFACE - NCEP - 5.0 - - - - ACM_WATR_ON_SURFACE - 6.0 - - - - MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - 4.0 - - - - MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - 4.0 - - - - MAX_QMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - NCEP - 4.0 - - - - MIN_QMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - NCEP - 4.0 - - - - SUNSD_ON_SURFACE - NCEP - 5.0 - - - - CPOFP_ON_SURFACE - 4.0 - - - - TMP_ON_HYBRID_LVL - 1. - 4.0 - - - - SPFH_ON_HYBRID_LVL - 1. - 7.0 - - - - UGRD_ON_HYBRID_LVL - 1. - 4.0 - - - - VGRD_ON_HYBRID_LVL - 1. - 4.0 - - - - HGT_ON_HYBRID_LVL - 1. - 4.0 - - - - AVE_EVBS_ON_SURFACE - NCEP - 6.0 - - - - AVE_EVCW_ON_SURFACE - NCEP - 6.0 - - - - AVE_TRANS_ON_SURFACE - NCEP - 6.0 - - - - AVE_SBSNO_ON_SURFACE - NCEP - 6.0 - - - - AVE_SNOWC_ON_SURFACE - 3.0 - - - - SOILM_ON_DEPTH_BEL_LAND_SFC - 2 - 0. - 2 - 200. - 4.0 - - - - AVE_SNOHF_ON_SURFACE - 4.0 - - - - - diff --git a/parm/postcntrl_gfs_flux_f00.xml b/parm/postcntrl_gfs_flux_f00.xml deleted file mode 100755 index 26b5bdc2a8..0000000000 --- a/parm/postcntrl_gfs_flux_f00.xml +++ /dev/null @@ -1,291 +0,0 @@ - - - - - GFSPRS - 0 - ncep_nco - v2003 - local_tab_yes1 - fcst - oper - fcst - fcst - hour - nws_ncep - gfs_avn - complex_packing_spatial_diff - 2nd_ord_sptdiff - fltng_pnt - lossless - - - TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - 4.0 - - - - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - 7.0 - - - - UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - 4.0 - - - - VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - 4.0 - - - - PRES_ON_SURFACE - 6.0 - - - - HGT_ON_SURFACE - 6.0 - - - - TMP_ON_SURFACE - 4.0 - - - - TSOIL_ON_DEPTH_BEL_LAND_SFC - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. - 4.0 - - - - SOILW_ON_DEPTH_BEL_LAND_SFC - NCEP - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. - 3.0 - - - - SOILL_ON_DEPTH_BEL_LAND_SFC - NCEP - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. - 3.0 - - - - CNWAT_ON_SURFACE - NCEP - 3.0 - - - - WEASD_ON_SURFACE - 6.0 - - - - PEVPR_ON_SURFACE - NCEP - 6.0 - - - - - ICETK_ON_SURFACE - 3.0 - - - - SNOD_ON_SURFACE - 6.0 - yes - - - - WILT_ON_SURFACE - NCEP - 4.0 - yes - - - - FLDCP_ON_SURFACE - NCEP - 4.0 - yes - - - - PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR - 6.0 - - - - INST_DSWRF_ON_SURFACE - NCEP - 6.0 - - - - INST_DLWRF_ON_SURFACE - NCEP - 4.0 - - - - INST_USWRF_ON_SURFACE - NCEP - 6.0 - - - - INST_ULWRF_ON_SURFACE - NCEP - 4.0 - - - - SFCR_ON_SURFACE - 6.0 - - - - VEG_ON_SURFACE - 3.0 - - - - VGTYP_ON_SURFACE - NCEP - 3.0 - - - - SOTYP_ON_SURFACE - 3.0 - - - - SLTYP_ON_SURFACE - NCEP - 3.0 - - - - FRICV_ON_SURFACE - NCEP - 4.0 - - - - SFEXC_ON_SURFACE - NCEP - 4.0 - - - - ACOND_ON_SURFACE - NCEP - 4.0 - - - - INST_SHTFL_ON_SURFACE - 4.0 - - - - INST_GFLUX_ON_SURFACE - NCEP - 4.0 - - - - INST_LHTFL_ON_SURFACE - 4.0 - - - - LAND_ON_SURFACE - - - - ICEC_ON_SURFACE - 4.0 - - - - HPBL_ON_SURFACE - NCEP - 6.0 - - - - GFS_TCDC_ON_CONVECTIVE_CLOUD_LYR - 4.0 - - - - SUNSD_ON_SURFACE - NCEP - 5.0 - - - - CPOFP_ON_SURFACE - 4.0 - - - - TMP_ON_HYBRID_LVL - 1. - 4.0 - - - - SPFH_ON_HYBRID_LVL - 1. - 7.0 - - - - UGRD_ON_HYBRID_LVL - 1. - 4.0 - - - - VGRD_ON_HYBRID_LVL - 1. - 4.0 - - - - HGT_ON_HYBRID_LVL - 1. - 4.0 - - - - SOILM_ON_DEPTH_BEL_LAND_SFC - 2 - 0. - 2 - 200. - 4.0 - - - - - diff --git a/parm/postcntrl_gfs_goes.xml-new b/parm/postcntrl_gfs_goes.xml-new deleted file mode 100755 index 056fad1204..0000000000 --- a/parm/postcntrl_gfs_goes.xml-new +++ /dev/null @@ -1,165 +0,0 @@ - - - - - GFSPRS - 0 - ncep_nco - v2003 - local_tab_yes1 - fcst - oper - fcst - fcst - hour - nws_ncep - gfs_avn - complex_packing_spatial_diff - 2nd_ord_sptdiff - fltng_pnt - lossless - - - SBT122_ON_TOP_OF_ATMOS - 4.0 - - - - SBT123_ON_TOP_OF_ATMOS - 4.0 - - - - SBT124_ON_TOP_OF_ATMOS - 4.0 - - - - SBT126_ON_TOP_OF_ATMOS - 4.0 - - - - SBTA167_ON_TOP_OF_ATMOS - SBTA167 - 4.0 - - - - SBTA168_ON_TOP_OF_ATMOS - SBTA168 - 4.0 - - - - SBTA169_ON_TOP_OF_ATMOS - SBTA169 - 4.0 - - - - SBTA1610_ON_TOP_OF_ATMOS - SBTA1610 - 4.0 - - - - SBTA1611_ON_TOP_OF_ATMOS - SBTA1611 - 4.0 - - - - SBTA1612_ON_TOP_OF_ATMOS - SBTA1612 - 4.0 - - - - SBTA1613_ON_TOP_OF_ATMOS - SBTA1613 - 4.0 - - - - SBTA1614_ON_TOP_OF_ATMOS - SBTA1614 - 4.0 - - - - SBTA1615_ON_TOP_OF_ATMOS - SBTA1615 - 4.0 - - - - SBTA1616_ON_TOP_OF_ATMOS - SBTA1616 - 4.0 - - - - SBTA177_ON_TOP_OF_ATMOS - SBTA177 - 4.0 - - - - SBTA178_ON_TOP_OF_ATMOS - SBTA178 - 4.0 - - - - SBTA179_ON_TOP_OF_ATMOS - SBTA179 - 4.0 - - - - SBTA1710_ON_TOP_OF_ATMOS - SBTA1710 - 4.0 - - - - SBTA1711_ON_TOP_OF_ATMOS - SBTA1711 - 4.0 - - - - SBTA1712_ON_TOP_OF_ATMOS - SBTA1712 - 4.0 - - - - SBTA1713_ON_TOP_OF_ATMOS - SBTA1713 - 4.0 - - - - SBTA1714_ON_TOP_OF_ATMOS - SBTA1714 - 4.0 - - - - SBTA1715_ON_TOP_OF_ATMOS - SBTA1715 - 4.0 - - - - SBTA1716_ON_TOP_OF_ATMOS - SBTA1716 - 4.0 - - - - - - diff --git a/parm/postcntrl_gfs_wafs.xml b/parm/postcntrl_gfs_wafs.xml deleted file mode 100755 index 25de26c7fd..0000000000 --- a/parm/postcntrl_gfs_wafs.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - GFSPRS - 0 - ncep_nco - v2003 - local_tab_yes1 - fcst - oper - fcst - fcst - hour - nws_ncep - gfs_avn - complex_packing_spatial_diff - 2nd_ord_sptdiff - fltng_pnt - lossless - - - EDPARM_GTG_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - CAT_GTG_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - MWTURB_GTG_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - ICIP_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - ICESEV_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. - 1.0 - - - - HGT_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - TMP_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - UGRD_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - VGRD_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - RH_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - VVEL_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - ABSV_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - CLMR_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - CBHE_ON_ENTIRE_ATMOS - 3.0 - - - - ICAHT_ON_CB_BASE - 6.0 - - - - ICAHT_ON_CB_TOP - 6.0 - - - - - diff --git a/parm/postcntrl_ufs_aerosol.xml b/parm/postcntrl_ufs_aerosol.xml new file mode 100755 index 0000000000..d50d58b9fd --- /dev/null +++ b/parm/postcntrl_ufs_aerosol.xml @@ -0,0 +1,330 @@ + + + + + GFSPRS + 0 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + gfs_avn + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + UGRD_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + O3MR_ON_ISOBARIC_SFC + NCEP + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + DUST1_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST2_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST5_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT1_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT2_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT5_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SO4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + NO3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + NH4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + PRES_ON_MEAN_SEA_LVL + 6.0 + + + + TMP_ON_SURFACE + 4.0 + + + + AER_OPT_DEP_at550 + 9.0 + + + + DUST_AER_OPT_DEP_at550 + 9.0 + + + + SEASALT_AER_OPT_DEP_at550 + 9.0 + + + + SULFATE_AER_OPT_DEP_at550 + 9.0 + + + + ORGANIC_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + BLACK_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + NITRATE_AER_OPT_DEP_at550 + 9.0 + + + + AER_SCAT_OPT_DEP_at550 + 9.0 + + + + DUST25_SFC_MASS_CON + NCEP + 9.0 + + + + DUST10_SFC_MASS_CON + NCEP + 9.0 + + + + SEAS25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_SFC_MASS_CON + NCEP + 9.0 + + + + PM25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_COL_MASS_DEN + 9.0 + + + + PM25_COL_MASS_DEN + 9.0 + + + + DUST_COL_MASS_DEN + 9.0 + + + + SEAS_COL_MASS_DEN + 9.0 + + + + BC_COL_MASS_DEN + 9.0 + + + + OC_COL_MASS_DEN + 9.0 + + + + SULF_COL_MASS_DEN + 9.0 + + + + NO3_COL_MASS_DEN + 9.0 + + + + NH4_COL_MASS_DEN + 9.0 + + + + TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR + 4.0 + + + + AVE_PRATE_ON_SURFACE + 4.0 + + + + AVE_CPRAT_ON_SURFACE + NCEP + 4.0 + + + + ACM_APCP_ON_SURFACE + -4.0 + + + + ACM_ACPCP_ON_SURFACE + -4.0 + + + + + diff --git a/parm/postcntrl_ufs_aerosol_f00.xml b/parm/postcntrl_ufs_aerosol_f00.xml new file mode 100755 index 0000000000..b0f7d510f7 --- /dev/null +++ b/parm/postcntrl_ufs_aerosol_f00.xml @@ -0,0 +1,306 @@ + + + + + GFSPRS + 0 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + gfs_avn + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + UGRD_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + O3MR_ON_ISOBARIC_SFC + NCEP + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + DUST1_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST2_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + DUST5_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT1_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT2_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT3_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SEASALT5_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + BCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHILIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + OCPHOBIC_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + SO4_ON_HYBRID_LVL + NCEP + 1. + 11.0 + + + + PRES_ON_MEAN_SEA_LVL + 6.0 + + + + TMP_ON_SURFACE + 4.0 + + + + AER_OPT_DEP_at550 + 9.0 + + + + DUST_AER_OPT_DEP_at550 + 9.0 + + + + SEASALT_AER_OPT_DEP_at550 + 9.0 + + + + SULFATE_AER_OPT_DEP_at550 + 9.0 + + + + ORGANIC_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + BLACK_CARBON_AER_OPT_DEP_at550 + 9.0 + + + + NITRATE_AER_OPT_DEP_at550 + 9.0 + + + + AER_SCAT_OPT_DEP_at550 + 9.0 + + + + DUST25_SFC_MASS_CON + NCEP + 9.0 + + + + DUST10_SFC_MASS_CON + NCEP + 9.0 + + + + SEAS25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_SFC_MASS_CON + NCEP + 9.0 + + + + PM25_SFC_MASS_CON + NCEP + 9.0 + + + + PM10_COL_MASS_DEN + 9.0 + + + + PM25_COL_MASS_DEN + 9.0 + + + + DUST_COL_MASS_DEN + 9.0 + + + + SEAS_COL_MASS_DEN + 9.0 + + + + BC_COL_MASS_DEN + 9.0 + + + + OC_COL_MASS_DEN + 9.0 + + + + SULF_COL_MASS_DEN + 9.0 + + + + TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR + 4.0 + + + + AVE_PRATE_ON_SURFACE + 4.0 + + + + AVE_CPRAT_ON_SURFACE + NCEP + 4.0 + + + + ACM_APCP_ON_SURFACE + -4.0 + + + + ACM_ACPCP_ON_SURFACE + -4.0 + + + + + diff --git a/parm/postcntrl_wps.xml b/parm/postcntrl_wps.xml new file mode 100755 index 0000000000..d44d13ee48 --- /dev/null +++ b/parm/postcntrl_wps.xml @@ -0,0 +1,275 @@ + + + + + + HURPRS + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + hafs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 7.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + VVEL_ON_ISOBARIC_SFC + VVEL + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + CLMR_ON_ISOBARIC_SFC + CLMR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + GRLE_ON_ISOBARIC_SFC + GRLE + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. + 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + PRES_ON_MEAN_SEA_LVL + PRMSL + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 7.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + WTMP_ON_SURFACE + WTMP + 4.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + 2 2 2 2 + 0. 10. 40. 100. + 2 2 2 2 + 10. 40. 100. 200. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + NCEP + 2 2 2 2 + 0. 10. 40. 100. + 2 2 2 2 + 10. 40. 100. 200. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + NCEP + 2 2 2 2 + 0. 10. 40. 100. + 2 2 2 2 + 10. 40. 100. 200. + 3.0 + + + + CNWAT_ON_SURFACE + NCEP + 3.0 + + + + WEASD_ON_SURFACE + 6.0 + + + + ICEC_ON_SURFACE + 4.0 + + + + SOTYP_ON_SURFACE + 4.0 + + + + VEG_ON_SURFACE + 3.0 + + + + ICETMP_ON_SURFACE + 5.0 + + + + ICETK_ON_SURFACE + 3.0 + + + + SNOD_ON_SURFACE + 6.0 + yes + + + + + diff --git a/parm/postcntrl_wrf.xml b/parm/postcntrl_wrf.xml deleted file mode 100644 index cc76fca622..0000000000 --- a/parm/postcntrl_wrf.xml +++ /dev/null @@ -1,695 +0,0 @@ - - - - - WRFPRS - 4 - ncep_nco - v2003 - local_tab_yes1 - fcst - oper - fcst - fcst - hour - nws_ncep - wrf_em_ncar_arwrf - complex_packing_spatial_diff - 2nd_ord_sptdiff - fltng_pnt - lossless - - - PRES_ON_HYBRID_LVL - PRES - 1. 2. 3. 4. 5. - 6.0 - - - - HGT_ON_HYBRID_LVL - HGT - 1. 2. 3. 4. 5. - 4.0 - - - - TMP_ON_HYBRID_LVL - TMP - 1. 2. 3. 4. 5. - 4.0 - - - - POT_ON_HYBRID_LVL - POT - 1. 2. 3. 4. 5. - 4.0 - - - - DPT_ON_HYBRID_LVL - DPT - 1. 2. 3. 4. 5. - 5.0 - - - - SPFH_ON_HYBRID_LVL - SPFH - 1. - 7.0 - - - - RH_ON_HYBRID_LVL - RH - 1. - 4.0 - - - - UGRD_ON_HYBRID_LVL - UGRD - 1. 2. 3. 4. 5. - 4.0 - - - - VGRD_ON_HYBRID_LVL - VGRD - 1. 2. 3. 4. 5. - 4.0 - - - - VVEL_ON_HYBRID_LVL - VVEL - 1. - 5.0 - - - - REFD_ON_HYBRID_LVL - REFD - NCEP - 1. 2. - 4.0 - - - - HGT_ON_ISOBARIC_SFC - HGT - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. -47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 - - - - TMP_ON_ISOBARIC_SFC - TMP - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. -47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - - - DPT_ON_ISOBARIC_SFC - DPT - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. -47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 5.0 - - - - RH_ON_ISOBARIC_SFC - RH - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. -47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 2.0 - - - - UGRD_ON_ISOBARIC_SFC - UGRD - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. -47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 - - - - VGRD_ON_ISOBARIC_SFC - VGRD - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. -47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 - - - - VVEL_ON_ISOBARIC_SFC - VVEL - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. -47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 5.0 - - - - CICE_ON_ISOBARIC_SFC - CICE - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. -47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 - - - - MSLET_ON_MEAN_SEA_LVL - MSLET - NCEP - 6.0 - - - - PRES_ON_MEAN_SEA_LVL - PRMSL - 6.0 - - - - TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - TMP - 4.0 - - - - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - SPFH - 4.0 - - - - DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - DPT - 4.0 - - - - RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - RH - 3.0 - - - - UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - UGRD - 10. - 4.0 - - - - VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - VGRD - 10. - 4.0 - - - - PLPL_ON_SPEC_PRES_ABOVE_GRND - PLPL - NCEP - 25500. - 0. - 6.0 - - - - PRES_ON_SURFACE - PRES - 6.0 - - - - HGT_ON_SURFACE - HGT - 6.0 - - - - POT_ON_SURFACE - POT - 5.0 - - - - SPFH_ON_SURFACE - SPFH - 3.0 - - - - TMP_ON_SURFACE - TMP - 4.0 - - - - TSOIL_ON_DEPTH_BEL_LAND_SFC - TSOIL - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. - 4.0 - - - - SOILW_ON_DEPTH_BEL_LAND_SFC - SOILW - NCEP - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. - 3.0 - - - - SOILL_ON_DEPTH_BEL_LAND_SFC - SOILL - NCEP - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. - 3.0 - - - - SOILM_ON_DEPTH_BEL_LAND_SFC - SOILM - 2 - 0. - 2 - 200. - 3.0 - - - - WEASD_ON_SURFACE - WEASD - 4.0 - - - - SNOWC_ON_SURFACE - SNOWC - NCEP - 3.0 - - - - LFTX_ON_ISOBARIC_SFC_500-1000hpa - LFTX - NCEP - 50000. - 100000. - 3.0 - - - - CAPE_ON_SURFACE - CAPE - 4.0 - - - - BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - 18000. - 0. - 4.0 - - - - MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - 9000. - 0. - 4.0 - - - - UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - 25500. - 0. - 4.0 - - - - CIN_ON_SURFACE - CIN - 4.0 - - - - BEST_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - 18000. - 0. - 4.0 - - - - MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - 9000. - 0. - 4.0 - - - - UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - 25500. - 0. - 4.0 - - - - PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR - PWAT - 3.0 - - - - HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND - HLCY - 3000. 1000. - 4.0 - - - - USTM_ON_SPEC_HGT_LVL_ABOVE_GRND - USTM - NCEP - 6000. - 4.0 - - - - VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND - VSTM - NCEP - 6000. - 4.0 - - - - ACM_APCP_ON_SURFACE - APCP - 4.0 - - - - INST_CRAIN_ON_SURFACE - CRAIN - NCEP - 1.0 - - - - CSNOW_ON_SURFACE - CSNOW - NCEP - 1.0 - - - - CICEP_ON_SURFACE - CICEP - NCEP - 1.0 - - - - CFRZR_ON_SURFACE - CFRZR - NCEP - 1.0 - - - - TCDC_ON_HYBRID_LVL - TCDC - 1. 2. - 3.0 - - - - LCDC_ON_LOW_CLOUD_LYR - LCDC - 3.0 - - - - MCDC_ON_MID_CLOUD_LYR - MCDC - 3.0 - - - - HCDC_ON_HIGH_CLOUD_LYR - HCDC - 3.0 - - - - VIS_ON_SURFACE - VIS - 3.0 - - - - GSD_VIS_ON_CLOUD_TOP - VIS - 3.0 - - - - HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC - HGT - 5.0 - - - - PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC - PRES - 6.0 - - - - HGT_ON_TROPOPAUSE - HGT - 6.0 - - - - - PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - PRES - 30. 50. 80. 100. - 3.0 - - - - UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND - 80. - 4.0 - - - - VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND - 80. - 4.0 - - - - UGRD_ON_SPEC_PRES_ABOVE_GRND - UGRD - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 4.0 - - - - VGRD_ON_SPEC_PRES_ABOVE_GRND - VGRD - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 4.0 - - - - VVEL_ON_SPEC_PRES_ABOVE_GRND - VVEL - 3000. 9000. 18000. - 0. 6000. 15000. - 5.0 - - - - HGT_ON_CLOUD_BASE - HGT - 6.0 - - - - HGT_ON_CLOUD_TOP - HGT - 6.0 - - - - TMP_ON_CLOUD_TOP - TMP - 5.0 - - - - REFC_ON_ENTIRE_ATMOS - REFC - NCEP - 4.0 - - - - REFD_ON_SPEC_HGT_LVL_ABOVE_GRND - REFD - NCEP - 4000. 1000. - 4.0 - - - - HGT_ON_CLOUD_CEILING - HGT - 6.0 - - - - MSLET_ON_MEAN_SEA_LVL - MSLET - NCEP - 6.0 - - - - PRES_ON_MEAN_SEA_LVL - PRMSL - 6.0 - - - - PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - PRES - 6.0 - - - - TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - TMP - 4.0 - - - - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - SPFH - 4.0 - - - - DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - DPT - 4.0 - - - - RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - RH - 3.0 - - - - PRES_ON_SURFACE - PRES - 6.0 - - - - VEG_ON_SURFACE - VEG - 3.0 - - - - MSTAV_ON_DEPTH_BEL_LAND_SFC - MSTAV - NCEP - 2 - 0. - 2 - 100. - 3.0 - - - - 4LFTX_ON_SPEC_PRES_ABOVE_GRND - 4LFTX - NCEP - 18000. - 0. - 3.0 - - - - NLAT_ON_SURFACE - NLAT - NCEP - 4.0 - - - - ELON_ON_SURFACE - ELON - NCEP - 4.0 - - - - LAND_ON_SURFACE - LAND - 1.0 - - - NON_NADIR_SBT123_ON_TOP_OF_ATMOS - 4.0 - - - - NON_NADIR_SBT124_ON_TOP_OF_ATMOS - 4.0 - - - - SBT113_ON_TOP_OF_ATMOS - 4.0 - - - - SBT114_ON_TOP_OF_ATMOS - 4.0 - - - - - diff --git a/parm/postxconfig-NT-CCPP-CHEM-F00.txt b/parm/postxconfig-NT-CCPP-CHEM-F00.txt new file mode 100644 index 0000000000..63faaa1d84 --- /dev/null +++ b/parm/postxconfig-NT-CCPP-CHEM-F00.txt @@ -0,0 +1,1498 @@ +1 +40 +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gfs_avn +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +629 +DUST1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +2 +7 +20 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +630 +DUST2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +20 +7 +36 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +631 +DUST3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +36 +7 +60 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +632 +DUST4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +60 +7 +120 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +633 +DUST5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +120 +7 +200 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +634 +SEASALT1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +8 +6 +8 +20 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +635 +SEASALT2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +2 +7 +10 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +636 +SEASALT3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +10 +7 +30 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +637 +SEASALT4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +30 +7 +100 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +638 +SEASALT5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +100 +7 +200 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +643 +BCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophilic +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +642 +BCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophobic +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +641 +OCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophilic +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +640 +OCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophobic +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +639 +SO4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sulphate_dry +equall_to_first_limit +9 +139 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +609 +AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +1 +9.0 +0 +0 +0 +? +? +? +610 +DUST_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +1 +9.0 +0 +0 +0 +? +? +? +611 +SEASALT_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +1 +9.0 +0 +0 +0 +? +? +? +612 +SULFATE_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +1 +9.0 +0 +0 +0 +? +? +? +613 +ORGANIC_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +1 +9.0 +0 +0 +0 +? +? +? +614 +BLACK_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +1 +9.0 +0 +0 +0 +? +? +? +600 +AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +601 +DUST_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +602 +SEASALT_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +603 +SULFATE_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +604 +ORGANIC_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +605 +BLACK_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +685 +DUST10_SFC_MASS_CON +? +1 +tmpl4_48 +PMTC +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +686 +DUST25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +684 +SEAS25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +619 +PM10_SFC_MASS_CON +? +1 +tmpl4_48 +PMTC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +620 +PM25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +621 +PM10_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +622 +PM25_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +646 +DUST_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +647 +SEAS_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +616 +BC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +smaller_than_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +617 +OC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +smaller_than_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +618 +SULF_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +299 +TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +TOZNE +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/postxconfig-NT-CCPP-CHEM.txt b/parm/postxconfig-NT-CCPP-CHEM.txt new file mode 100644 index 0000000000..63faaa1d84 --- /dev/null +++ b/parm/postxconfig-NT-CCPP-CHEM.txt @@ -0,0 +1,1498 @@ +1 +40 +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gfs_avn +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +629 +DUST1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +2 +7 +20 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +630 +DUST2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +20 +7 +36 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +631 +DUST3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +36 +7 +60 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +632 +DUST4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +60 +7 +120 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +633 +DUST5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +between_first_second_limit_noincl2ndlmt +7 +120 +7 +200 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +634 +SEASALT1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +8 +6 +8 +20 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +635 +SEASALT2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +2 +7 +10 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +636 +SEASALT3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +10 +7 +30 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +637 +SEASALT4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +30 +7 +100 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +638 +SEASALT5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +between_first_second_limit_noincl2ndlmt +7 +100 +7 +200 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +643 +BCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophilic +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +642 +BCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophobic +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +641 +OCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophilic +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +640 +OCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophobic +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +639 +SO4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sulphate_dry +equall_to_first_limit +9 +139 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +609 +AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +1 +9.0 +0 +0 +0 +? +? +? +610 +DUST_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +1 +9.0 +0 +0 +0 +? +? +? +611 +SEASALT_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +1 +9.0 +0 +0 +0 +? +? +? +612 +SULFATE_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +1 +9.0 +0 +0 +0 +? +? +? +613 +ORGANIC_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +1 +9.0 +0 +0 +0 +? +? +? +614 +BLACK_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +1 +9.0 +0 +0 +0 +? +? +? +600 +AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +601 +DUST_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +602 +SEASALT_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +603 +SULFATE_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +604 +ORGANIC_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +605 +BLACK_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +685 +DUST10_SFC_MASS_CON +? +1 +tmpl4_48 +PMTC +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +686 +DUST25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +684 +SEAS25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +619 +PM10_SFC_MASS_CON +? +1 +tmpl4_48 +PMTC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +620 +PM25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +621 +PM10_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +622 +PM25_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +646 +DUST_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +647 +SEAS_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +616 +BC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +smaller_than_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +617 +OC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +smaller_than_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +618 +SULF_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +299 +TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +TOZNE +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/postxconfig-NT-GEFS-ANL.txt b/parm/postxconfig-NT-GEFS-ANL.txt deleted file mode 100644 index 85a8bb1ac2..0000000000 --- a/parm/postxconfig-NT-GEFS-ANL.txt +++ /dev/null @@ -1,2905 +0,0 @@ -1 -78 -GFSPRS -0 -ncep_nco -v2003 -local_tab_yes1 -anal -oper -fcst -ens_fcst -hour -nws_ncep -gefs -complex_packing_spatial_diff -2nd_ord_sptdiff -fltng_pnt -lossless -negatively_pert_fcst -12 -HGT_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -HGT -? -? -isobaric_sfc -0 -? -31 -100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -13 -TMP_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -TMP -? -? -isobaric_sfc -0 -? -31 -100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -16 -SPFH_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -SPFH -? -? -isobaric_sfc -0 -? -31 -100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -17 -RH_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -RH -? -? -isobaric_sfc -0 -? -26 -1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -18 -UGRD_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -UGRD -? -? -isobaric_sfc -0 -? -31 -100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -19 -VGRD_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -VGRD -? -? -isobaric_sfc -0 -? -31 -100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -20 -VVEL_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -VVEL -? -? -isobaric_sfc -0 -? -21 -10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -21 -ABSV_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -ABSV -? -? -isobaric_sfc -0 -? -26 -1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -268 -O3MR_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -O3MR -NCEP -? -isobaric_sfc -0 -? -18 -100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 20000. 25000. 30000. 35000. 40000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -153 -CLMR_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -CLMR -? -? -isobaric_sfc -0 -? -37 -10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -23 -MSLET_ON_MEAN_SEA_LVL -? -1 -tmpl4_0 -MSLET -NCEP -? -mean_sea_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -105 -PRES_ON_MEAN_SEA_LVL -? -1 -tmpl4_0 -PRMSL -? -? -mean_sea_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -24 -PRES_ON_SURFACE -? -1 -tmpl4_0 -PRES -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -25 -HGT_ON_SURFACE -? -1 -tmpl4_0 -HGT -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -54 -PRES_ON_TROPOPAUSE -? -1 -tmpl4_0 -PRES -? -? -tropopause -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -177 -HGT_ON_TROPOPAUSE -? -1 -tmpl4_0 -HGT -? -? -tropopause -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -55 -TMP_ON_TROPOPAUSE -? -1 -tmpl4_0 -TMP -? -? -tropopause -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -56 -UGRD_ON_TROPOPAUSE -? -1 -tmpl4_0 -UGRD -? -? -tropopause -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -57 -VGRD_ON_TROPOPAUSE -? -1 -tmpl4_0 -VGRD -? -? -tropopause -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -58 -VWSH_ON_TROPOPAUSE -? -1 -tmpl4_0 -VWSH -NCEP -? -tropopause -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -62 -HGT_ON_0C_ISOTHERM -? -1 -tmpl4_0 -HGT -? -? -0C_isotherm -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -63 -RH_ON_0C_ISOTHERM -? -1 -tmpl4_0 -RH -? -? -0C_isotherm -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -2.0 -0 -0 -0 -? -? -? -165 -HGT_ON_HGHST_TROP_FRZ_LVL -? -1 -tmpl4_0 -HGT -? -? -hghst_trop_frz_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -350 -RH_ON_HGHST_TROP_FRZ_LVL -? -1 -tmpl4_0 -RH -? -? -hghst_trop_frz_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -2.0 -0 -0 -0 -? -? -? -173 -PRES_ON_MAX_WIND -? -1 -tmpl4_0 -PRES -? -? -max_wind -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -174 -HGT_ON_MAX_WIND -? -1 -tmpl4_0 -HGT -? -? -max_wind -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -175 -UGRD_ON_MAX_WIND -? -1 -tmpl4_0 -UGRD -? -? -max_wind -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -176 -VGRD_ON_MAX_WIND -? -1 -tmpl4_0 -VGRD -? -? -max_wind -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -314 -TMP_ON_MAX_WIND -? -1 -tmpl4_0 -TMP -? -? -max_wind -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -575 -CWAT_ON_ENTIRE_ATMOS_SINGLE_LYR -? -1 -tmpl4_0 -CWAT -? -? -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -312 -RH_ON_ENTIRE_ATMOS_SINGLE_LYR -? -1 -tmpl4_0 -RH -? -? -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -2.0 -0 -0 -0 -? -? -? -299 -TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR -? -1 -tmpl4_0 -TOZNE -? -? -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -332 -UGRD_ON_ISENTROPIC_LVL -? -1 -tmpl4_0 -UGRD -? -? -isentropic_lvl -0 -? -4 -320. 450. 550. 650. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -333 -VGRD_ON_ISENTROPIC_LVL -? -1 -tmpl4_0 -VGRD -? -? -isentropic_lvl -0 -? -4 -320. 450. 550. 650. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -334 -TMP_ON_ISENTROPIC_LVL -? -1 -tmpl4_0 -TMP -? -? -isentropic_lvl -0 -? -4 -320. 450. 550. 650. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -335 -PVORT_ON_ISENTROPIC_LVL -? -1 -tmpl4_0 -PVORT -? -? -isentropic_lvl -0 -? -4 -320. 450. 550. 650. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -353 -MNTSF_ON_ISENTROPIC_LVL -? -1 -tmpl4_0 -MNTSF -? -? -isentropic_lvl -0 -? -1 -320. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -336 -UGRD_ON_POT_VORT_SFC -? -1 -tmpl4_0 -UGRD -? -? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -337 -VGRD_ON_POT_VORT_SFC -? -1 -tmpl4_0 -VGRD -? -? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -338 -TMP_ON_POT_VORT_SFC -? -1 -tmpl4_0 -TMP -? -? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -339 -HGT_ON_POT_VORT_SFC -? -1 -tmpl4_0 -HGT -? -? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -340 -PRES_ON_POT_VORT_SFC -? -1 -tmpl4_0 -PRES -? -? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -341 -VWSH_ON_POT_VORT_SFC -? -1 -tmpl4_0 -VWSH -NCEP -? -pot_vort_sfc -8 -9 9 9 9 9 9 9 9 -8 -500. -500. 1000. -1000. 1500. -1500. 2000. -2000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -68 -TMP_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -TMP -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -71 -SPFH_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -SPFH -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -72 -RH_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -RH -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -2.0 -0 -0 -0 -? -? -? -73 -UGRD_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -UGRD -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -74 -VGRD_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -VGRD -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -586 -TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT -? -1 -tmpl4_0 -TMP -? -? -spec_hgt_lvl_above_grnd -0 -? -2 -80. 100. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -59 -TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL -? -1 -tmpl4_0 -TMP -? -? -spec_alt_above_mean_sea_lvl -0 -? -8 -305. 457. 610. 914. 1829. 2743. 3658. 4572. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -576 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT -? -1 -tmpl4_0 -UGRD -? -? -spec_hgt_lvl_above_grnd -0 -? -2 -80. 100. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -60 -UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL -? -1 -tmpl4_0 -UGRD -? -? -spec_alt_above_mean_sea_lvl -0 -? -8 -305. 457. 610. 914. 1829. 2743. 3658. 4572. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -577 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT -? -1 -tmpl4_0 -VGRD -? -? -spec_hgt_lvl_above_grnd -0 -? -2 -80. 100. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -61 -VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL -? -1 -tmpl4_0 -VGRD -? -? -spec_alt_above_mean_sea_lvl -0 -? -8 -305. 457. 610. 914. 1829. 2743. 3658. 4572. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -579 -PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT -? -1 -tmpl4_0 -PRES -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -80. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -578 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT -? -1 -tmpl4_0 -SPFH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -80. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -80 -PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR -? -1 -tmpl4_0 -PWAT -? -? -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -572 -GFS_LFTX_ON_SURFACE -? -1 -tmpl4_0 -LFTX -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -32 -CAPE_ON_SURFACE -? -1 -tmpl4_0 -CAPE -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -566 -BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CAPE -? -? -spec_pres_above_grnd -0 -? -1 -0. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -584 -UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CAPE -? -? -spec_pres_above_grnd -0 -? -1 -0. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -107 -CIN_ON_SURFACE -? -1 -tmpl4_0 -CIN -? -? -surface -0 -? -1 -0. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -567 -BEST_CIN_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CIN -? -? -spec_pres_above_grnd -0 -? -1 -0. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -585 -UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CIN -? -? -spec_pres_above_grnd -0 -? -1 -0. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -246 -PLPL_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -PLPL -NCEP -? -spec_pres_above_grnd -0 -? -1 -25500. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -573 -GFS_4LFTX_ON_SURFACE -? -1 -tmpl4_0 -4LFTX -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -318 -RH_ON_SIGMA_LVL_0.44-1.0 -? -1 -tmpl4_0 -RH -? -? -sigma_lvl -1 -2 -1 -44. -sigma_lvl -1 -2 -1 -100. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -2.0 -0 -0 -0 -? -? -? -319 -RH_ON_SIGMA_LVL_0.72-0.94 -? -1 -tmpl4_0 -RH -? -? -sigma_lvl -1 -2 -1 -72. -sigma_lvl -1 -2 -1 -94. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -2.0 -0 -0 -0 -? -? -? -320 -RH_ON_SIGMA_LVL_0.44-0.72 -? -1 -tmpl4_0 -RH -? -? -sigma_lvl -1 -2 -1 -44. -sigma_lvl -1 -2 -1 -72. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -2.0 -0 -0 -0 -? -? -? -66 -RH_ON_SIGMA_LVL_0.33-1.0 -? -1 -tmpl4_0 -RH -? -? -sigma_lvl -1 -2 -1 -33. -sigma_lvl -1 -2 -1 -100. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -2.0 -0 -0 -0 -? -? -? -321 -TMP_ON_SIGMA_LVL_0.9950 -? -1 -tmpl4_0 -TMP -? -? -sigma_lvl -1 -4 -1 -9950. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -322 -POT_ON_SIGMA_LVL_0.9950 -? -1 -tmpl4_0 -POT -? -? -sigma_lvl -1 -4 -1 -9950. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -323 -RH_ON_SIGMA_LVL_0.9950 -? -1 -tmpl4_0 -RH -? -? -sigma_lvl -1 -4 -1 -9950. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -324 -UGRD_ON_SIGMA_LVL_0.9950 -? -1 -tmpl4_0 -UGRD -? -? -sigma_lvl -1 -4 -1 -9950. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -325 -VGRD_ON_SIGMA_LVL_0.9950 -? -1 -tmpl4_0 -VGRD -? -? -sigma_lvl -1 -4 -1 -9950. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -326 -VVEL_ON_SIGMA_LVL_0.9950 -? -1 -tmpl4_0 -VVEL -? -? -sigma_lvl -1 -4 -1 -9950. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -398 -ICAHT_ON_MAX_WIND -? -1 -tmpl4_0 -ICAHT -? -? -max_wind -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -399 -ICAHT_ON_TROPOPAUSE -? -1 -tmpl4_0 -ICAHT -? -? -tropopause -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? diff --git a/parm/postxconfig-NT-GFS-WAFS-ANL.txt b/parm/postxconfig-NT-GFS-WAFS-ANL.txt deleted file mode 100644 index c1dcde1a12..0000000000 --- a/parm/postxconfig-NT-GFS-WAFS-ANL.txt +++ /dev/null @@ -1,129 +0,0 @@ -1 -3 -GFSPRS -0 -ncep_nco -v2003 -local_tab_yes1 -fcst -oper -fcst -fcst -hour -nws_ncep -gfs_avn -complex_packing_spatial_diff -2nd_ord_sptdiff -fltng_pnt -lossless -519 -TMP_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -TMP -? -? -isobaric_sfc -0 -? -19 -10040. 14750. 19680. 25000. 30090. 34430. 39270. 44650. 50600. 55000. 59520. 65000. 69680. 75260. 81200. 84310. 90000. 95000. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -520 -UGRD_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -UGRD -? -? -isobaric_sfc -0 -? -19 -10040. 14750. 19680. 25000. 30090. 34430. 39270. 44650. 50600. 55000. 59520. 65000. 69680. 75260. 81200. 84310. 90000. 95000. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -521 -VGRD_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -VGRD -? -? -isobaric_sfc -0 -? -19 -10040. 14750. 19680. 25000. 30090. 34430. 39270. 44650. 50600. 55000. 59520. 65000. 69680. 75260. 81200. 84310. 90000. 95000. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? diff --git a/parm/postxconfig-NT-GFS-WAFS.txt b/parm/postxconfig-NT-GFS-WAFS.txt deleted file mode 100644 index c5e0968716..0000000000 --- a/parm/postxconfig-NT-GFS-WAFS.txt +++ /dev/null @@ -1,610 +0,0 @@ -1 -16 -GFSPRS -0 -ncep_nco -v2003 -local_tab_yes1 -fcst -oper -fcst -fcst -hour -nws_ncep -gfs_avn -complex_packing_spatial_diff -2nd_ord_sptdiff -fltng_pnt -lossless -464 -EDPARM_GTG_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -EDPARM -? -? -isobaric_sfc -0 -? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -465 -CAT_GTG_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -CATEDR -? -? -isobaric_sfc -0 -? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -466 -MWTURB_GTG_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -MWTURB -? -? -isobaric_sfc -0 -? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -450 -ICIP_ON_ICAO_STD_SFC -Total Icing Potential Diagnostic on standard atmospheric isobaric sfc -1 -tmpl4_0 -ICIP -? -? -isobaric_sfc -0 -? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -480 -ICESEV_ON_ICAO_STD_SFC -Icing severity on standard atmospheric isobaric levels -1 -tmpl4_0 -ICESEV -? -? -isobaric_sfc -0 -? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? -? -518 -HGT_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -HGT -? -? -isobaric_sfc -0 -? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -519 -TMP_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -TMP -? -? -isobaric_sfc -0 -? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -520 -UGRD_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -UGRD -? -? -isobaric_sfc -0 -? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -521 -VGRD_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -VGRD -? -? -isobaric_sfc -0 -? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -522 -RH_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -RH -? -? -isobaric_sfc -0 -? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -523 -VVEL_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -VVEL -? -? -isobaric_sfc -0 -? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -524 -ABSV_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -ABSV -? -? -isobaric_sfc -0 -? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -525 -CLMR_ON_ICAO_STD_SFC -? -1 -tmpl4_0 -CLMR -? -? -isobaric_sfc -0 -? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -473 -CBHE_ON_ENTIRE_ATMOS -? -1 -tmpl4_0 -CBHE -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -474 -ICAHT_ON_CB_BASE -? -1 -tmpl4_0 -ICAHT -? -? -cb_base -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -475 -ICAHT_ON_CB_TOP -? -1 -tmpl4_0 -ICAHT -? -? -cb_top -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? diff --git a/parm/postxconfig-NT-NGAC.txt b/parm/postxconfig-NT-NGAC.txt index 0fd5590019..05c191f031 100644 --- a/parm/postxconfig-NT-NGAC.txt +++ b/parm/postxconfig-NT-NGAC.txt @@ -43,6 +43,7 @@ entire_atmos 0 ? total_aerosol +? smaller_than_first_limit 6 20 @@ -53,6 +54,10 @@ between_first_second_limit 545 9 565 +0 +0.0 +0 +0.0 1 9.0 0 @@ -80,6 +85,7 @@ surface 0 ? dust_dry +? smaller_than_first_limit 6 10 @@ -90,6 +96,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -117,6 +127,7 @@ surface 0 ? dust_dry +? smaller_than_first_limit 7 25 @@ -127,6 +138,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -154,6 +169,7 @@ entire_atmos 0 ? dust_dry +? smaller_than_first_limit 6 10 @@ -164,6 +180,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -191,6 +211,7 @@ entire_atmos 0 ? dust_dry +? smaller_than_first_limit 7 25 @@ -201,6 +222,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -228,6 +253,7 @@ entire_atmos 0 ? dust_dry +? smaller_than_first_limit 6 20 @@ -238,6 +264,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -265,6 +295,7 @@ entire_atmos 0 ? dust_dry +? smaller_than_first_limit 6 20 @@ -275,6 +306,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -302,6 +337,7 @@ entire_atmos 0 ? dust_dry +? smaller_than_first_limit 6 20 @@ -312,6 +348,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -339,6 +379,7 @@ entire_atmos 0 ? dust_dry +? smaller_than_first_limit 6 20 @@ -349,6 +390,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -376,6 +421,7 @@ entire_atmos 0 ? sea_salt_dry +? smaller_than_first_limit 6 20 @@ -386,6 +432,10 @@ between_first_second_limit 545 9 565 +0 +0.0 +0 +0.0 1 9.0 0 @@ -413,6 +463,7 @@ entire_atmos 0 ? sulphate_dry +? smaller_than_first_limit 6 20 @@ -423,6 +474,10 @@ between_first_second_limit 545 9 565 +0 +0.0 +0 +0.0 1 9.0 0 @@ -450,6 +505,7 @@ entire_atmos 0 ? particulate_org_matter_dry +? smaller_than_first_limit 6 20 @@ -460,6 +516,10 @@ between_first_second_limit 545 9 565 +0 +0.0 +0 +0.0 1 9.0 0 @@ -487,6 +547,7 @@ entire_atmos 0 ? black_carbon_dry +? smaller_than_first_limit 6 20 @@ -497,6 +558,10 @@ between_first_second_limit 545 9 565 +0 +0.0 +0 +0.0 1 9.0 0 @@ -540,6 +605,7 @@ entire_atmos 0 ? total_aerosol +? smaller_than_first_limit 6 20 @@ -550,6 +616,10 @@ between_first_second_limit 545 9 565 +0 +0.0 +0 +0.0 1 9.0 0 @@ -593,6 +663,7 @@ entire_atmos 0 ? total_aerosol +? smaller_than_first_limit 6 20 @@ -603,6 +674,10 @@ between_first_second_limit 338 9 342 +0 +0.0 +0 +0.0 1 9.0 0 @@ -646,6 +721,7 @@ entire_atmos 0 ? total_aerosol +? smaller_than_first_limit 6 20 @@ -656,6 +732,10 @@ between_first_second_limit 430 9 450 +0 +0.0 +0 +0.0 1 9.0 0 @@ -699,6 +779,7 @@ entire_atmos 0 ? total_aerosol +? smaller_than_first_limit 6 20 @@ -709,6 +790,10 @@ between_first_second_limit 620 9 670 +0 +0.0 +0 +0.0 1 9.0 0 @@ -752,6 +837,7 @@ entire_atmos 0 ? total_aerosol +? smaller_than_first_limit 6 20 @@ -762,6 +848,10 @@ between_first_second_limit 841 9 876 +0 +0.0 +0 +0.0 1 9.0 0 @@ -805,6 +895,7 @@ entire_atmos 0 ? total_aerosol +? smaller_than_first_limit 6 20 @@ -815,6 +906,10 @@ between_first_second_limit 1628 9 1652 +0 +0.0 +0 +0.0 1 9.0 0 @@ -858,6 +953,7 @@ entire_atmos 0 ? total_aerosol +? smaller_than_first_limit 6 20 @@ -868,6 +964,10 @@ between_first_second_limit 11000 9 11200 +0 +0.0 +0 +0.0 1 9.0 0 @@ -912,6 +1012,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -921,6 +1022,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -949,6 +1054,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -958,6 +1064,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -986,6 +1096,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -995,6 +1106,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1022,6 +1137,7 @@ hybrid_lvl 0 ? dust_dry +? between_first_second_limit_noincl2ndlmt 7 2 @@ -1032,6 +1148,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -1059,6 +1179,7 @@ hybrid_lvl 0 ? dust_dry +? between_first_second_limit_noincl2ndlmt 7 20 @@ -1069,6 +1190,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -1096,6 +1221,7 @@ hybrid_lvl 0 ? dust_dry +? between_first_second_limit_noincl2ndlmt 7 36 @@ -1106,6 +1232,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -1133,6 +1263,7 @@ hybrid_lvl 0 ? dust_dry +? between_first_second_limit_noincl2ndlmt 7 60 @@ -1143,6 +1274,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -1170,6 +1305,7 @@ hybrid_lvl 0 ? dust_dry +? between_first_second_limit_noincl2ndlmt 7 120 @@ -1180,6 +1316,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 diff --git a/parm/postxconfig-NT-NMM.txt b/parm/postxconfig-NT-NMM.txt index 002bbcae04..1722ebaceb 100644 --- a/parm/postxconfig-NT-NMM.txt +++ b/parm/postxconfig-NT-NMM.txt @@ -38,6 +38,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -47,6 +48,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -75,6 +80,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -84,6 +90,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -112,6 +122,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -121,6 +132,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -149,6 +164,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -158,6 +174,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -186,6 +206,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -195,6 +216,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -223,6 +248,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -232,6 +258,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -260,6 +290,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -269,6 +300,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -297,6 +332,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -306,6 +342,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -334,6 +374,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -343,6 +384,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -371,6 +416,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -380,6 +426,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -408,6 +458,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -417,6 +468,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -445,6 +500,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -454,6 +510,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -482,6 +542,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -491,6 +552,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -519,6 +584,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -528,6 +594,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -556,6 +626,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -565,6 +636,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -593,6 +668,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -602,6 +678,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -630,6 +710,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -639,6 +720,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -667,6 +752,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -676,6 +762,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -704,6 +794,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -713,6 +804,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -741,6 +836,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -750,6 +846,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -778,6 +878,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -787,6 +888,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -815,6 +920,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -824,6 +930,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -852,6 +962,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -861,6 +972,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -889,6 +1004,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -898,6 +1014,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -926,6 +1046,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -935,6 +1056,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -963,6 +1088,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -972,6 +1098,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1000,6 +1130,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1009,6 +1140,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -1037,6 +1172,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1046,6 +1182,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -1074,6 +1214,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1083,6 +1224,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1111,6 +1256,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1120,6 +1266,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1148,6 +1298,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1157,6 +1308,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1185,6 +1340,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1194,6 +1350,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1222,6 +1382,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1231,6 +1392,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1259,6 +1424,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1268,6 +1434,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1296,6 +1466,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1305,6 +1476,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1333,6 +1508,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1342,6 +1518,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1370,6 +1550,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1379,6 +1560,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -1407,6 +1592,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -1416,6 +1602,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1444,6 +1634,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -1453,6 +1644,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1481,6 +1676,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1490,6 +1686,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1518,6 +1718,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1527,6 +1728,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1555,6 +1760,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1564,6 +1770,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1592,6 +1802,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1601,6 +1812,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1629,6 +1844,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1638,6 +1854,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1666,6 +1886,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1675,6 +1896,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1703,6 +1928,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1712,6 +1938,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1740,6 +1970,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1749,6 +1980,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1777,6 +2012,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1786,6 +2022,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -1814,6 +2054,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1823,6 +2064,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1851,6 +2096,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1860,6 +2106,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1888,6 +2138,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1897,6 +2148,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1925,6 +2180,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1934,6 +2190,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -1962,6 +2222,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1971,6 +2232,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1999,6 +2264,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2008,6 +2274,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2036,6 +2306,7 @@ depth_bel_land_sfc ? ? ? +? 0 0.0 0 @@ -2045,6 +2316,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2073,6 +2348,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -2082,6 +2358,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2110,6 +2390,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -2119,6 +2400,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2147,6 +2432,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -2156,6 +2442,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2169,7 +2459,7 @@ SOILM_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -SOILM +SOILMOI ? ? depth_bel_land_sfc @@ -2184,6 +2474,7 @@ depth_bel_land_sfc 200. ? ? +? 0 0.0 0 @@ -2193,6 +2484,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2221,6 +2516,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2230,6 +2526,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -2258,6 +2558,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2267,6 +2568,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2295,6 +2600,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2304,6 +2610,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2332,6 +2642,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2341,6 +2652,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2369,6 +2684,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2378,6 +2694,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2406,6 +2726,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2415,6 +2736,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2443,6 +2768,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2452,6 +2778,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2480,6 +2810,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2489,6 +2820,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2517,6 +2852,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2526,6 +2862,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2554,6 +2894,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2563,6 +2904,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2591,6 +2936,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2600,6 +2946,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2628,6 +2978,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2637,6 +2988,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -2665,6 +3020,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2674,6 +3030,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2702,6 +3062,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2711,6 +3072,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2739,6 +3104,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2748,6 +3114,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2776,6 +3146,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2785,6 +3156,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2813,6 +3188,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2822,6 +3198,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2850,6 +3230,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2859,6 +3240,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2887,6 +3272,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2896,6 +3282,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -2924,6 +3314,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2933,6 +3324,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2961,6 +3356,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2970,6 +3366,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2998,6 +3398,7 @@ depth_bel_land_sfc 100. ? ? +? 0 0.0 0 @@ -3007,6 +3408,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3035,6 +3440,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3044,6 +3450,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3072,6 +3482,7 @@ isobaric_sfc 100000. ? ? +? 0 0.0 0 @@ -3081,6 +3492,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3109,6 +3524,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3118,6 +3534,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3146,6 +3566,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3155,6 +3576,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3183,6 +3608,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3192,6 +3618,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3220,6 +3650,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3229,6 +3660,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3257,6 +3692,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3266,6 +3702,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3294,6 +3734,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3303,6 +3744,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3331,6 +3776,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3340,6 +3786,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3368,6 +3818,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3377,6 +3828,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3405,6 +3860,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3414,6 +3870,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3442,6 +3902,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3451,6 +3912,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3479,6 +3944,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -3488,6 +3954,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3516,6 +3986,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3525,6 +3996,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3553,6 +4028,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3562,6 +4038,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3590,6 +4070,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3599,6 +4080,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3627,6 +4112,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3636,6 +4122,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3664,6 +4154,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3673,6 +4164,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3701,6 +4196,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3710,6 +4206,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3738,6 +4238,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3747,6 +4248,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3775,6 +4280,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3784,6 +4290,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3812,6 +4322,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3821,7 +4332,11 @@ surface 0.0 0 0.0 -1 +0 +0.0 +0 +0.0 +1 4.0 0 0 @@ -3849,6 +4364,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3858,6 +4374,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3886,6 +4406,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3895,6 +4416,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -3923,6 +4448,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3932,6 +4458,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -3960,6 +4490,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3969,6 +4500,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -3997,6 +4532,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4006,6 +4542,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -4034,6 +4574,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4043,6 +4584,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4071,6 +4616,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4080,6 +4626,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4108,6 +4658,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4117,6 +4668,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4145,6 +4700,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4154,6 +4710,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4182,6 +4742,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4191,6 +4752,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4219,6 +4784,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4228,6 +4794,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4256,6 +4826,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -4265,6 +4836,10 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4293,6 +4868,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -4302,6 +4878,10 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4330,6 +4910,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -4339,6 +4920,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4367,6 +4952,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -4376,6 +4962,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4404,6 +4994,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -4413,6 +5004,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4441,6 +5036,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -4450,6 +5046,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4478,6 +5078,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -4487,6 +5088,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4515,6 +5120,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4524,6 +5130,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4552,6 +5162,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -4561,6 +5172,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4589,6 +5204,7 @@ lvl_of_adiab_cond_from_sfc ? ? ? +? 0 0.0 0 @@ -4598,6 +5214,10 @@ lvl_of_adiab_cond_from_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -4626,6 +5246,7 @@ lvl_of_adiab_cond_from_sfc ? ? ? +? 0 0.0 0 @@ -4635,6 +5256,10 @@ lvl_of_adiab_cond_from_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4663,6 +5288,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4672,6 +5298,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4700,6 +5330,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4709,6 +5340,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4737,6 +5372,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4746,6 +5382,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4774,6 +5414,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4783,6 +5424,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4811,6 +5456,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4820,6 +5466,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4848,6 +5498,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4857,6 +5508,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4885,6 +5540,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -4894,6 +5550,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4922,6 +5582,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -4931,6 +5592,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4959,6 +5624,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -4968,6 +5634,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4996,6 +5666,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -5005,6 +5676,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5033,6 +5708,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5042,6 +5718,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5070,6 +5750,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5079,6 +5760,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5107,6 +5792,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5116,6 +5802,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5144,6 +5834,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5153,6 +5844,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.7 0 @@ -5181,6 +5876,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5190,6 +5886,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5218,6 +5918,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5227,6 +5928,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5255,6 +5960,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5264,6 +5970,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5292,6 +6002,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5301,6 +6012,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5329,6 +6044,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5338,6 +6054,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5366,6 +6086,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5375,6 +6096,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5403,6 +6128,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5412,6 +6138,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5440,6 +6170,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5449,6 +6180,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5477,6 +6212,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5486,6 +6222,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5514,6 +6254,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5523,6 +6264,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5551,6 +6296,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5560,6 +6306,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5588,6 +6338,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5597,6 +6348,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5625,6 +6380,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5634,6 +6390,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5662,6 +6422,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5671,6 +6432,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5699,6 +6464,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5708,6 +6474,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -5736,6 +6506,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5745,6 +6516,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5773,6 +6548,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5782,6 +6558,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5810,6 +6590,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5819,6 +6600,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -5847,6 +6632,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -5856,6 +6642,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5884,6 +6674,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -5893,6 +6684,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5921,6 +6716,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -5930,6 +6726,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5958,6 +6758,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -5967,6 +6768,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -5995,6 +6800,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -6004,6 +6810,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6032,6 +6842,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -6041,6 +6852,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6069,6 +6884,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -6078,6 +6894,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6106,6 +6926,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -6115,6 +6936,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6143,6 +6968,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -6152,6 +6978,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6180,6 +7010,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -6189,6 +7020,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6217,6 +7052,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6226,6 +7062,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6254,6 +7094,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -6263,6 +7104,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6291,6 +7136,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6300,6 +7146,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6328,6 +7178,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -6337,6 +7188,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6365,6 +7220,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6374,6 +7230,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6402,6 +7262,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -6411,6 +7272,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6439,6 +7304,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6448,6 +7314,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6476,6 +7346,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6485,6 +7356,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6513,6 +7388,7 @@ HGT ? ? ? +? 0 0.0 0 @@ -6522,6 +7398,10 @@ HGT 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6550,6 +7430,7 @@ RH ? ? ? +? 0 0.0 0 @@ -6559,6 +7440,10 @@ RH 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -6587,6 +7472,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -6596,6 +7482,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6624,6 +7514,7 @@ lwst_lvl_of_wet_bulb_zero ? ? ? +? 0 0.0 0 @@ -6633,6 +7524,10 @@ lwst_lvl_of_wet_bulb_zero 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -6661,6 +7556,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -6670,6 +7566,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6698,6 +7598,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -6707,6 +7608,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6735,6 +7640,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -6744,6 +7650,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6772,6 +7682,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -6781,6 +7692,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6809,6 +7724,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -6818,6 +7734,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6846,6 +7766,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -6855,6 +7776,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -6883,6 +7808,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -6892,6 +7818,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6920,6 +7850,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -6929,6 +7860,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6957,6 +7892,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -6966,6 +7902,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6994,6 +7934,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -7003,6 +7944,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7031,6 +7976,7 @@ spec_pres_above_grnd 0. 6000. 15000. ? ? +? 0 0.0 0 @@ -7040,6 +7986,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -7068,6 +8018,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -7077,6 +8028,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -7105,6 +8060,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -7114,6 +8070,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -7142,6 +8102,7 @@ sigma_lvl 66. ? ? +? 0 0.0 0 @@ -7151,6 +8112,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -7179,6 +8144,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -7188,6 +8154,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -7216,6 +8186,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -7225,6 +8196,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7253,6 +8228,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -7262,6 +8238,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7290,6 +8270,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -7299,6 +8280,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7327,6 +8312,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -7336,6 +8322,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7364,6 +8354,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -7373,6 +8364,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -7401,6 +8396,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -7410,6 +8406,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -7438,6 +8438,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -7447,6 +8448,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7475,6 +8480,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -7484,6 +8490,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7512,6 +8522,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -7521,6 +8532,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -7549,6 +8564,7 @@ sigma_lvl 96. ? ? +? 0 0.0 0 @@ -7558,6 +8574,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -7586,6 +8606,7 @@ sigma_lvl 47. ? ? +? 0 0.0 0 @@ -7595,7 +8616,11 @@ sigma_lvl 0.0 0 0.0 -1 +0 +0.0 +0 +0.0 +1 2.0 0 0 @@ -7623,6 +8648,7 @@ sigma_lvl 98. ? ? +? 0 0.0 0 @@ -7632,6 +8658,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -7660,6 +8690,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -7669,6 +8700,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7697,6 +8732,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -7706,6 +8742,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7734,6 +8774,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -7743,6 +8784,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7771,6 +8816,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -7780,6 +8826,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -7808,6 +8858,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -7817,6 +8868,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7845,6 +8900,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -7854,6 +8910,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7882,6 +8942,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -7891,6 +8952,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -7919,6 +8984,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -7928,6 +8994,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7956,6 +9026,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -7965,6 +9036,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7993,6 +9068,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -8002,6 +9078,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -8030,6 +9110,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -8039,6 +9120,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -8067,6 +9152,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8076,6 +9162,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -8104,6 +9194,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8113,6 +9204,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -8141,6 +9236,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8150,6 +9246,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -8178,6 +9278,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8187,6 +9288,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -8215,6 +9320,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8224,6 +9330,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -8252,6 +9362,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8261,6 +9372,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -8289,6 +9404,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8298,6 +9414,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -8326,6 +9446,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8335,6 +9456,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -8363,6 +9488,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8372,6 +9498,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8400,6 +9530,7 @@ convective_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -8409,6 +9540,10 @@ convective_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8437,6 +9572,7 @@ convective_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -8446,6 +9582,10 @@ convective_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8474,6 +9614,7 @@ shall_convective_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -8483,6 +9624,10 @@ shall_convective_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8511,6 +9656,7 @@ shall_convective_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -8520,6 +9666,10 @@ shall_convective_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8548,6 +9698,7 @@ grid_scale_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -8557,6 +9708,10 @@ grid_scale_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8585,6 +9740,7 @@ grid_scale_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -8594,6 +9750,10 @@ grid_scale_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8622,6 +9782,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8631,6 +9792,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -8659,6 +9824,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8668,6 +9834,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -8696,6 +9866,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8705,6 +9876,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -8733,6 +9908,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8742,6 +9918,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -8770,6 +9950,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8779,6 +9960,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -8807,6 +9992,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8816,6 +10002,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -8844,6 +10034,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8853,6 +10044,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -8881,6 +10076,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8890,6 +10086,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -8918,6 +10118,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8927,6 +10128,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -8955,6 +10160,7 @@ lwst_bot_lvl_of_supercooled_liq_water_lyr ? ? ? +? 0 0.0 0 @@ -8964,6 +10170,10 @@ lwst_bot_lvl_of_supercooled_liq_water_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8992,6 +10202,7 @@ hghst_top_lvl_of_supercooled_liq_water_lyr ? ? ? +? 0 0.0 0 @@ -9001,6 +10212,10 @@ hghst_top_lvl_of_supercooled_liq_water_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9029,6 +10244,7 @@ cloud_ceilng ? ? ? +? 0 0.0 0 @@ -9038,6 +10254,10 @@ cloud_ceilng 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -9066,6 +10286,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9075,6 +10296,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9103,6 +10328,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -9112,6 +10338,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9140,6 +10370,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -9149,6 +10380,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9177,6 +10412,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -9186,6 +10422,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9214,6 +10454,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -9223,6 +10464,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9251,6 +10496,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -9260,6 +10506,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9288,6 +10538,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -9297,6 +10548,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9325,6 +10580,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -9334,6 +10590,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -9362,6 +10622,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9371,6 +10632,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -9399,6 +10664,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -9408,6 +10674,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9436,6 +10706,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -9445,6 +10716,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9473,6 +10748,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -9482,6 +10758,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9510,6 +10790,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -9519,6 +10800,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9547,6 +10832,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -9556,6 +10842,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9584,6 +10874,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -9593,6 +10884,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -9621,6 +10916,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -9630,6 +10926,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -9658,6 +10958,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -9667,6 +10968,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -9695,6 +11000,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9704,6 +11010,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -9732,6 +11042,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -9741,6 +11052,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -9769,6 +11084,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -9778,6 +11094,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -9806,6 +11126,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -9815,6 +11136,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -9843,6 +11168,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -9852,6 +11178,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9880,6 +11210,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -9889,6 +11220,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9917,6 +11252,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -9926,6 +11262,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9954,6 +11294,7 @@ isentropic_lvl ? ? ? +? 0 0.0 0 @@ -9963,6 +11304,10 @@ isentropic_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9991,6 +11336,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -10000,6 +11346,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10028,6 +11378,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -10037,6 +11388,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10065,6 +11420,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -10074,6 +11430,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10102,6 +11462,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -10111,6 +11472,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -10139,6 +11504,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -10148,6 +11514,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -10176,6 +11546,7 @@ pot_vort_sfc ? ? ? +? 0 0.0 0 @@ -10185,6 +11556,10 @@ pot_vort_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -10213,6 +11588,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -10222,6 +11598,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -10250,6 +11630,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10259,6 +11640,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -10287,6 +11672,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -10296,6 +11682,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10324,6 +11714,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -10333,6 +11724,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10361,6 +11756,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -10370,6 +11766,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 0 @@ -10398,6 +11798,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -10407,6 +11808,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 0 @@ -10435,6 +11840,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -10444,6 +11850,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -10472,6 +11882,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -10481,6 +11892,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -10509,6 +11924,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10518,6 +11934,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -10562,6 +11982,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -10571,6 +11992,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -10599,6 +12024,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -10608,6 +12034,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -10636,6 +12066,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -10645,6 +12076,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -10673,6 +12108,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -10682,6 +12118,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10710,6 +12150,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -10719,6 +12160,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10747,6 +12192,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -10756,6 +12202,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -10784,6 +12234,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -10793,6 +12244,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10821,6 +12276,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -10830,6 +12286,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10858,6 +12318,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -10867,6 +12328,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -10895,6 +12360,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -10904,6 +12370,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10932,6 +12402,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -10941,6 +12412,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -10969,6 +12444,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -10978,6 +12454,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -11006,6 +12486,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -11015,6 +12496,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -11043,6 +12528,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -11052,6 +12538,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -11080,6 +12570,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -11089,6 +12580,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -11117,6 +12612,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -11126,6 +12622,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -11154,6 +12654,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -11163,6 +12664,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -11191,6 +12696,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -11200,6 +12706,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -11228,6 +12738,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -11237,6 +12748,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.7 0 @@ -11265,6 +12780,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -11274,6 +12790,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -11302,6 +12822,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -11311,6 +12832,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -11339,6 +12864,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -11348,6 +12874,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -11376,6 +12906,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -11385,7 +12916,11 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 -1 +0 +0.0 +0 +0.0 +1 4.0 0 0 @@ -11413,6 +12948,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -11422,6 +12958,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -11450,6 +12990,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -11459,6 +13000,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -11487,6 +13032,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -11496,6 +13042,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -11524,6 +13074,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -11533,6 +13084,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -11561,6 +13116,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -11570,6 +13126,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -11598,6 +13158,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -11607,6 +13168,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -11635,6 +13200,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -11644,6 +13210,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -11672,6 +13242,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11681,6 +13252,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -11709,6 +13284,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11718,6 +13294,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -11746,6 +13326,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11755,6 +13336,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -11783,6 +13368,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11792,6 +13378,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -11820,6 +13410,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11829,6 +13420,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -11857,6 +13452,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -11866,6 +13462,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -11894,6 +13494,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -11903,6 +13504,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -11916,7 +13521,7 @@ SOILM_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -SOILM +SOILMOI ? ? depth_bel_land_sfc @@ -11931,6 +13536,7 @@ depth_bel_land_sfc 200. ? ? +? 0 0.0 0 @@ -11940,6 +13546,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -11968,6 +13578,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11977,6 +13588,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -12005,6 +13620,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12014,6 +13630,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -12042,6 +13662,7 @@ depth_bel_land_sfc 100. ? ? +? 0 0.0 0 @@ -12051,6 +13672,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -12079,6 +13704,7 @@ depth_bel_land_sfc ? ? ? +? 0 0.0 0 @@ -12088,6 +13714,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -12116,6 +13746,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12125,6 +13756,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -12153,6 +13788,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12162,6 +13798,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -12190,6 +13830,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12199,6 +13840,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12227,6 +13872,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -12236,6 +13882,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -12264,6 +13914,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12273,6 +13924,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12301,6 +13956,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -12310,6 +13966,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12338,6 +13998,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -12347,6 +14008,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12375,6 +14040,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -12384,6 +14050,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12412,6 +14082,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -12421,6 +14092,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -12449,6 +14124,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12458,6 +14134,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12486,6 +14166,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12495,6 +14176,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12523,6 +14208,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12532,6 +14218,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12560,6 +14250,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12569,6 +14260,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12597,6 +14292,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12606,6 +14302,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12634,6 +14334,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12643,6 +14344,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12671,6 +14376,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12680,6 +14386,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12708,6 +14418,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12717,6 +14428,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -12745,6 +14460,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12754,6 +14470,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -12782,6 +14502,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12791,6 +14512,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -12819,6 +14544,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12828,6 +14554,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -12856,6 +14586,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12865,6 +14596,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -12893,6 +14628,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12902,6 +14638,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12930,6 +14670,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -12939,6 +14680,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -12967,6 +14712,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -12976,6 +14722,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13004,6 +14754,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -13013,6 +14764,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13041,6 +14796,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -13050,6 +14806,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13078,6 +14838,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -13087,6 +14848,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13115,6 +14880,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -13124,6 +14890,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13152,6 +14922,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -13161,6 +14932,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13189,6 +14964,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -13198,6 +14974,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13226,6 +15006,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -13235,6 +15016,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13263,6 +15048,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -13272,6 +15058,10 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13300,6 +15090,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -13309,6 +15100,10 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13337,6 +15132,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -13346,6 +15142,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13374,6 +15174,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -13383,6 +15184,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13411,6 +15216,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -13420,6 +15226,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13448,6 +15258,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -13457,6 +15268,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13485,6 +15300,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -13494,6 +15310,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13522,6 +15342,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13531,6 +15352,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -13559,6 +15384,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13568,6 +15394,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -13596,6 +15426,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13605,6 +15436,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13633,6 +15468,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13642,6 +15478,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13670,6 +15510,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13679,6 +15520,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13707,6 +15552,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13716,6 +15562,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13744,6 +15594,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -13753,6 +15604,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13781,6 +15636,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -13790,6 +15646,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13818,6 +15678,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13827,6 +15688,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -13855,6 +15720,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13864,6 +15730,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -13892,6 +15762,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13901,6 +15772,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -13929,6 +15804,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13938,6 +15814,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.7 0 @@ -13966,6 +15846,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13975,6 +15856,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14003,6 +15888,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14012,6 +15898,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -14040,6 +15930,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14049,6 +15940,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -14077,6 +15972,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14086,6 +15982,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -14114,6 +16014,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14123,6 +16024,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14151,6 +16056,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14160,6 +16066,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14188,6 +16098,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14197,6 +16108,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14225,6 +16140,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14234,6 +16150,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14262,6 +16182,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14271,6 +16192,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14299,6 +16224,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14308,6 +16234,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14336,6 +16266,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14345,6 +16276,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14373,6 +16308,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14382,6 +16318,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14410,6 +16350,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14419,6 +16360,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14447,6 +16392,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14456,6 +16402,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14484,6 +16434,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14493,6 +16444,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -14521,6 +16476,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14530,6 +16486,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -14558,6 +16518,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14567,6 +16528,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -14595,6 +16560,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14604,6 +16570,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -14632,6 +16602,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14641,6 +16612,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -14669,6 +16644,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14678,6 +16654,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -14706,6 +16686,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -14715,6 +16696,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -14743,6 +16728,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -14752,6 +16738,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -14780,6 +16770,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -14789,6 +16780,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14817,6 +16812,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -14826,6 +16822,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -14854,6 +16854,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -14863,6 +16864,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -14891,6 +16896,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -14900,6 +16906,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -14928,6 +16938,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -14937,6 +16948,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -14965,6 +16980,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -14974,6 +16990,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -15002,6 +17022,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -15011,6 +17032,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15039,6 +17064,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -15048,6 +17074,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15076,6 +17106,7 @@ sigma_lvl 100. ? ? +? 0 0.0 0 @@ -15085,6 +17116,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -15113,6 +17148,7 @@ surface ? ? ? +? 0 0.0 0 @@ -15122,6 +17158,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -15150,6 +17190,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -15159,7 +17200,11 @@ top_of_atmos 0.0 0 0.0 -1 +0 +0.0 +0 +0.0 +1 3.0 0 0 @@ -15187,6 +17232,7 @@ hybrid_lvl 21. ? ? +? 0 0.0 0 @@ -15196,6 +17242,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -15224,6 +17274,7 @@ hybrid_lvl 61. ? ? +? 0 0.0 0 @@ -15233,6 +17284,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -15261,6 +17316,7 @@ isobaric_sfc 100000. ? ? +? 0 0.0 0 @@ -15270,6 +17326,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -15298,6 +17358,7 @@ surface ? ? ? +? 0 0.0 0 @@ -15307,6 +17368,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15335,6 +17400,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -15344,6 +17410,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15372,6 +17442,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -15381,6 +17452,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15409,6 +17484,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -15418,6 +17494,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15446,6 +17526,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -15455,6 +17536,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -15483,6 +17568,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -15492,6 +17578,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15520,6 +17610,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -15529,6 +17620,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15557,6 +17652,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -15566,6 +17662,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15594,6 +17694,7 @@ surface ? ? ? +? 0 0.0 0 @@ -15603,6 +17704,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15631,6 +17736,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -15640,6 +17746,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -15668,6 +17778,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -15677,6 +17788,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -15705,6 +17820,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -15714,6 +17830,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -15742,6 +17862,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -15751,6 +17872,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -15779,6 +17904,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -15788,6 +17914,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -15816,6 +17946,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -15825,6 +17956,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -15853,6 +17988,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -15862,6 +17998,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -15890,6 +18030,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -15899,6 +18040,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15927,6 +18072,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -15936,6 +18082,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15964,6 +18114,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -15973,6 +18124,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -16001,6 +18156,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -16010,6 +18166,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -16038,6 +18198,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -16047,6 +18208,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -16075,6 +18240,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -16084,6 +18250,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -16112,6 +18282,7 @@ HGT ? ? ? +? 0 0.0 0 @@ -16121,6 +18292,10 @@ HGT 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16149,6 +18324,7 @@ RH ? ? ? +? 0 0.0 0 @@ -16158,6 +18334,10 @@ RH 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -16186,6 +18366,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -16195,6 +18376,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16223,6 +18408,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -16232,6 +18418,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16260,6 +18450,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -16269,6 +18460,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16297,6 +18492,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -16306,6 +18502,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -16334,6 +18534,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -16343,6 +18544,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -16371,6 +18576,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -16380,6 +18586,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16408,6 +18618,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -16417,6 +18628,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16445,6 +18660,7 @@ surface ? ? ? +? 0 0.0 0 @@ -16454,6 +18670,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -16482,6 +18702,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16491,6 +18712,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -16519,6 +18744,7 @@ convective_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -16528,6 +18754,10 @@ convective_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16556,6 +18786,7 @@ convective_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -16565,6 +18796,10 @@ convective_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16593,6 +18828,7 @@ shall_convective_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -16602,6 +18838,10 @@ shall_convective_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16630,6 +18870,7 @@ shall_convective_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -16639,6 +18880,10 @@ shall_convective_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16667,6 +18912,7 @@ grid_scale_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -16676,6 +18922,10 @@ grid_scale_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16704,6 +18954,7 @@ grid_scale_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -16713,6 +18964,10 @@ grid_scale_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16741,6 +18996,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16750,6 +19006,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -16778,6 +19038,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16787,6 +19048,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -16815,6 +19080,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16824,6 +19090,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -16852,6 +19122,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16861,6 +19132,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -16889,6 +19164,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16898,6 +19174,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -16926,6 +19206,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16935,6 +19216,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -16963,6 +19248,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16972,6 +19258,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -17000,6 +19290,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17009,6 +19300,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17037,6 +19332,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17046,6 +19342,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17074,6 +19374,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17083,6 +19384,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17111,6 +19416,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17120,6 +19426,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -17148,6 +19458,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17157,6 +19468,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -17185,6 +19500,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17194,6 +19510,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17222,6 +19542,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17231,6 +19552,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17259,6 +19584,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17268,6 +19594,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17296,6 +19626,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17305,6 +19636,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17333,6 +19668,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17342,6 +19678,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17370,6 +19710,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17379,6 +19720,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17407,6 +19752,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17416,6 +19762,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17444,6 +19794,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17453,6 +19804,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17481,6 +19836,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17490,6 +19846,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -17518,6 +19878,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17527,6 +19888,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17555,6 +19920,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17564,6 +19930,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17592,6 +19962,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17601,6 +19972,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -17629,6 +20004,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17638,6 +20014,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17666,6 +20046,7 @@ lwst_lvl_of_wet_bulb_zero ? ? ? +? 0 0.0 0 @@ -17675,6 +20056,10 @@ lwst_lvl_of_wet_bulb_zero 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -17703,6 +20088,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17712,6 +20098,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -17740,6 +20130,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -17749,6 +20140,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17777,6 +20172,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -17786,6 +20182,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -17814,6 +20214,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17823,6 +20224,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -17851,6 +20256,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17860,6 +20266,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17888,6 +20298,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -17897,6 +20308,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -17925,6 +20340,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17934,6 +20350,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -17962,6 +20382,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17971,6 +20392,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -17999,6 +20424,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -18008,6 +20434,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -18036,6 +20466,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18045,6 +20476,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18073,6 +20508,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18082,6 +20518,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18110,6 +20550,7 @@ cloud_ceilng ? ? ? +? 0 0.0 0 @@ -18119,6 +20560,10 @@ cloud_ceilng 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -18163,6 +20608,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -18172,6 +20618,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -18200,6 +20650,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -18209,6 +20660,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -18237,6 +20692,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -18246,6 +20702,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -18274,6 +20734,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -18283,6 +20744,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -18311,6 +20776,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -18320,6 +20786,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 7.0 0 @@ -18348,6 +20818,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -18357,6 +20828,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -18385,6 +20860,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -18394,6 +20870,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -18422,6 +20902,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -18431,6 +20912,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -18459,6 +20944,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -18468,6 +20954,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18496,6 +20986,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18505,6 +20996,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18533,6 +21028,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18542,6 +21038,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18570,6 +21070,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -18579,6 +21080,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18607,6 +21112,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18616,6 +21122,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18644,6 +21154,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18653,6 +21164,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18681,6 +21196,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18690,6 +21206,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18718,6 +21238,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18727,6 +21248,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18755,6 +21280,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18764,6 +21290,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -18792,6 +21322,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18801,6 +21332,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18829,6 +21364,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18838,6 +21374,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18866,6 +21406,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18875,6 +21416,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18903,6 +21448,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18912,6 +21458,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18940,6 +21490,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18949,6 +21500,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -18977,6 +21532,7 @@ surface ? ? ? +? 0 0.0 0 @@ -18986,6 +21542,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -19014,6 +21574,7 @@ surface ? ? ? +? 0 0.0 0 @@ -19023,6 +21584,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -19051,6 +21616,7 @@ surface ? ? ? +? 0 0.0 0 @@ -19060,6 +21626,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -19088,6 +21658,7 @@ surface ? ? ? +? 0 0.0 0 @@ -19097,6 +21668,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -19125,6 +21700,7 @@ surface ? ? ? +? 0 0.0 0 @@ -19134,6 +21710,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -19162,6 +21742,7 @@ surface ? ? ? +? 0 0.0 0 @@ -19171,6 +21752,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -19199,6 +21784,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -19208,6 +21794,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -19236,6 +21826,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -19245,6 +21836,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -19273,6 +21868,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -19282,6 +21878,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -19310,6 +21910,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -19319,6 +21920,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -19347,6 +21952,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -19356,6 +21962,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -19384,6 +21994,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -19393,6 +22004,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -19421,6 +22036,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -19430,6 +22046,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -19458,6 +22078,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -19467,6 +22088,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -19495,6 +22120,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -19504,6 +22130,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -19532,6 +22162,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -19541,6 +22172,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -19569,6 +22204,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -19578,6 +22214,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -19606,6 +22246,7 @@ surface ? ? ? +? 0 0.0 0 @@ -19615,6 +22256,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -19643,6 +22288,7 @@ surface ? ? ? +? 0 0.0 0 @@ -19652,6 +22298,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -19680,6 +22330,7 @@ surface ? ? ? +? 0 0.0 0 @@ -19689,6 +22340,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -19717,6 +22372,7 @@ surface ? ? ? +? 0 0.0 0 @@ -19726,6 +22382,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -19754,6 +22414,7 @@ surface ? ? ? +? 0 0.0 0 @@ -19763,6 +22424,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -19791,6 +22456,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -19800,6 +22466,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -19828,6 +22498,7 @@ depth_bel_land_sfc 10. 40. 100. 200. ? ? +? 0 0.0 0 @@ -19837,6 +22508,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -19850,7 +22525,7 @@ SOILM_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -SOILM +SOILMOI ? ? depth_bel_land_sfc @@ -19865,6 +22540,7 @@ depth_bel_land_sfc 200. ? ? +? 0 0.0 0 @@ -19874,6 +22550,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -19902,6 +22582,7 @@ surface ? ? ? +? 0 0.0 0 @@ -19911,6 +22592,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -19939,6 +22624,7 @@ surface ? ? ? +? 0 0.0 0 @@ -19948,6 +22634,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -19976,6 +22666,7 @@ depth_bel_land_sfc 100. ? ? +? 0 0.0 0 @@ -19985,6 +22676,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -20013,6 +22708,7 @@ depth_bel_land_sfc ? ? ? +? 0 0.0 0 @@ -20022,6 +22718,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -20050,6 +22750,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20059,6 +22760,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -20087,6 +22792,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20096,6 +22802,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -20124,6 +22834,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20133,6 +22844,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -20161,6 +22876,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -20170,6 +22886,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -20198,6 +22918,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -20207,6 +22928,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -20235,6 +22960,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20244,6 +22970,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -20272,6 +23002,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20281,6 +23012,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -20309,6 +23044,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20318,6 +23054,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -20346,11 +23086,16 @@ surface ? ? ? +? +0 +0.0 +0 +0.0 +? 0 0.0 0 0.0 -? 0 0.0 0 @@ -20383,6 +23128,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20392,6 +23138,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -20420,6 +23170,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20429,6 +23180,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -20457,6 +23212,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20466,6 +23222,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -20494,6 +23254,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20503,6 +23264,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -20531,6 +23296,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20540,6 +23306,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -20568,6 +23338,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20577,6 +23348,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -20605,6 +23380,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20614,6 +23390,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -20642,6 +23422,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -20651,6 +23432,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -20679,6 +23464,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -20688,6 +23474,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -20716,6 +23506,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -20725,6 +23516,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -20753,6 +23548,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -20762,6 +23558,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -20790,6 +23590,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -20799,6 +23600,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -20827,6 +23632,7 @@ surface ? ? ? +? 0 0.0 0 @@ -20836,6 +23642,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -20864,6 +23674,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -20873,6 +23684,10 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -20901,6 +23716,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -20910,6 +23726,10 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -20938,6 +23758,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -20947,6 +23768,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -20975,6 +23800,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -20984,6 +23810,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -21012,6 +23842,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -21021,6 +23852,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -21049,6 +23884,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -21058,6 +23894,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -21086,6 +23926,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -21095,6 +23936,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -21123,6 +23968,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21132,6 +23978,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -21160,6 +24010,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21169,6 +24020,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -21197,6 +24052,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21206,6 +24062,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -21234,6 +24094,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21243,6 +24104,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -21271,6 +24136,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21280,6 +24146,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -21308,6 +24178,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21317,6 +24188,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -21345,6 +24220,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -21354,6 +24230,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -21382,6 +24262,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -21391,6 +24272,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -21419,6 +24304,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21428,6 +24314,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -21456,6 +24346,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21465,6 +24356,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -21493,6 +24388,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21502,6 +24398,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -21530,6 +24430,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21539,6 +24440,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.7 0 @@ -21567,6 +24472,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21576,6 +24482,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -21604,6 +24514,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21613,6 +24524,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -21641,6 +24556,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21650,6 +24566,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -21678,6 +24598,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21687,6 +24608,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -21715,6 +24640,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21724,6 +24650,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -21752,6 +24682,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21761,6 +24692,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -21789,6 +24724,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21798,6 +24734,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -21826,6 +24766,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21835,6 +24776,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -21863,6 +24808,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21872,6 +24818,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -21900,6 +24850,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21909,6 +24860,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -21937,6 +24892,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21946,6 +24902,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -21974,6 +24934,7 @@ surface ? ? ? +? 0 0.0 0 @@ -21983,6 +24944,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -22011,6 +24976,7 @@ surface ? ? ? +? 0 0.0 0 @@ -22020,6 +24986,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -22048,6 +25018,7 @@ surface ? ? ? +? 0 0.0 0 @@ -22057,6 +25028,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -22085,6 +25060,7 @@ surface ? ? ? +? 0 0.0 0 @@ -22094,6 +25070,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -22122,6 +25102,7 @@ surface ? ? ? +? 0 0.0 0 @@ -22131,6 +25112,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -22159,6 +25144,7 @@ surface ? ? ? +? 0 0.0 0 @@ -22168,6 +25154,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -22196,6 +25186,7 @@ surface ? ? ? +? 0 0.0 0 @@ -22205,6 +25196,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -22233,6 +25228,7 @@ surface ? ? ? +? 0 0.0 0 @@ -22242,6 +25238,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 diff --git a/parm/postxconfig-NT-UFS-aerosol-F00.txt b/parm/postxconfig-NT-UFS-aerosol-F00.txt new file mode 100644 index 0000000000..23f7c8f9e1 --- /dev/null +++ b/parm/postxconfig-NT-UFS-aerosol-F00.txt @@ -0,0 +1,1992 @@ +1 +47 +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gfs_avn +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +268 +O3MR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +O3MR +NCEP +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +629 +DUST1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +20 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +630 +DUST2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +20 +7 +36 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +631 +DUST3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +36 +7 +60 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +632 +DUST4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +60 +7 +120 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +633 +DUST5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +120 +7 +200 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +634 +SEASALT1_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +8 +6 +8 +20 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +635 +SEASALT2_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +2 +7 +10 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +636 +SEASALT3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +10 +7 +30 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +637 +SEASALT4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +30 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +638 +SEASALT5_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTC +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sea_salt_dry +? +between_first_second_limit_noincl2ndlmt +7 +100 +7 +200 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +643 +BCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophilic +? +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +642 +BCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +black_carbon_hydrophobic +? +equall_to_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +641 +OCPHILIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophilic +? +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +640 +OCPHOBIC_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +particulate_org_matter_hydrophobic +? +equall_to_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +639 +SO4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +sulphate_dry +? +equall_to_first_limit +9 +139 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +105 +PRES_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +PRMSL +? +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +609 +AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +610 +DUST_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +611 +SEASALT_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +612 +SULFATE_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +613 +ORGANIC_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +614 +BLACK_CARBON_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +615 +NITRATE_AER_OPT_DEP_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +nitrate_dry +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +550 +9 +550 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +650 +AER_SCAT_OPT_DEP_at550 +? +1 +tmpl4_48 +SCTAOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +565 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +686 +DUST25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +685 +DUST10_SFC_MASS_CON +? +1 +tmpl4_48 +PMTC +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +684 +SEAS25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +619 +PM10_SFC_MASS_CON +? +1 +tmpl4_48 +PMTC +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +620 +PM25_SFC_MASS_CON +? +1 +tmpl4_48 +PMTF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +621 +PM10_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +6 +10 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +622 +PM25_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +646 +DUST_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +647 +SEAS_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +616 +BC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +? +smaller_than_first_limit +10 +236 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +617 +OC_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +10 +424 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +618 +SULF_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +299 +TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +TOZNE +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +271 +AVE_PRATE_ON_SURFACE +? +1 +tmpl4_8 +PRATE +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +272 +AVE_CPRAT_ON_SURFACE +? +1 +tmpl4_8 +CPRAT +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +33 +ACM_ACPCP_ON_SURFACE +? +1 +tmpl4_8 +ACPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? diff --git a/parm/postxconfig-NT-gefs-aerosol.txt b/parm/postxconfig-NT-UFS-aerosol.txt similarity index 70% rename from parm/postxconfig-NT-gefs-aerosol.txt rename to parm/postxconfig-NT-UFS-aerosol.txt index e67e103aad..1780744ead 100644 --- a/parm/postxconfig-NT-gefs-aerosol.txt +++ b/parm/postxconfig-NT-UFS-aerosol.txt @@ -1,5 +1,5 @@ 1 -60 +51 GFSPRS 0 ncep_nco @@ -27,8 +27,8 @@ HGT isobaric_sfc 0 ? -50 -40. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -36,6 +36,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -45,6 +46,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -64,8 +69,8 @@ TMP isobaric_sfc 0 ? -50 -40. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -73,6 +78,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -82,8 +88,12 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 @@ -101,8 +111,8 @@ UGRD isobaric_sfc 0 ? -47 -100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -110,6 +120,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -119,6 +130,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -138,8 +153,8 @@ VGRD isobaric_sfc 0 ? -47 -100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -147,73 +162,41 @@ isobaric_sfc ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -4.0 -0 -0 -0 -? -? -? -268 -O3MR_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -O3MR -NCEP -? -isobaric_sfc -0 -? -25 -40. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 20000. 25000. 30000. 35000. 40000. 50000. 70000. 85000. 100000. -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -5.0 +4.0 0 0 0 ? ? ? -252 -REFC_ON_ENTIRE_ATMOS +268 +O3MR_ON_ISOBARIC_SFC ? 1 tmpl4_0 -REFC +O3MR NCEP ? -entire_atmos -0 -? +isobaric_sfc 0 ? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -221,54 +204,22 @@ entire_atmos ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -4.0 -0 -0 -0 -? -? -? -253 -REFD_ON_SPEC_HGT_LVL_ABOVE_GRND -? -1 -tmpl4_0 -REFD -NCEP -? -spec_hgt_lvl_above_grnd -0 -? -1 -1000. -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +5.0 0 0 0 @@ -294,6 +245,7 @@ hybrid_lvl 0 ? dust_dry +? between_first_second_limit_noincl2ndlmt 7 2 @@ -304,6 +256,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -331,6 +287,7 @@ hybrid_lvl 0 ? dust_dry +? between_first_second_limit_noincl2ndlmt 7 20 @@ -341,6 +298,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -368,6 +329,7 @@ hybrid_lvl 0 ? dust_dry +? between_first_second_limit_noincl2ndlmt 7 36 @@ -378,6 +340,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -405,6 +371,7 @@ hybrid_lvl 0 ? dust_dry +? between_first_second_limit_noincl2ndlmt 7 60 @@ -415,6 +382,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -442,6 +413,7 @@ hybrid_lvl 0 ? dust_dry +? between_first_second_limit_noincl2ndlmt 7 120 @@ -452,6 +424,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -479,6 +455,7 @@ hybrid_lvl 0 ? sea_salt_dry +? between_first_second_limit_noincl2ndlmt 8 6 @@ -489,6 +466,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -516,6 +497,7 @@ hybrid_lvl 0 ? sea_salt_dry +? between_first_second_limit_noincl2ndlmt 7 2 @@ -526,6 +508,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -553,6 +539,7 @@ hybrid_lvl 0 ? sea_salt_dry +? between_first_second_limit_noincl2ndlmt 7 10 @@ -563,6 +550,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -590,6 +581,7 @@ hybrid_lvl 0 ? sea_salt_dry +? between_first_second_limit_noincl2ndlmt 7 30 @@ -600,6 +592,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -627,6 +623,7 @@ hybrid_lvl 0 ? sea_salt_dry +? between_first_second_limit_noincl2ndlmt 7 100 @@ -637,6 +634,10 @@ between_first_second_limit_noincl2ndlmt 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -664,6 +665,7 @@ hybrid_lvl 0 ? black_carbon_hydrophilic +? equall_to_first_limit 10 236 @@ -674,6 +676,10 @@ equall_to_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -701,6 +707,7 @@ hybrid_lvl 0 ? black_carbon_hydrophobic +? equall_to_first_limit 10 236 @@ -711,6 +718,10 @@ equall_to_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -738,6 +749,7 @@ hybrid_lvl 0 ? particulate_org_matter_hydrophilic +? equall_to_first_limit 10 424 @@ -748,6 +760,10 @@ equall_to_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -775,6 +791,7 @@ hybrid_lvl 0 ? particulate_org_matter_hydrophobic +? equall_to_first_limit 10 424 @@ -785,6 +802,10 @@ equall_to_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -812,6 +833,91 @@ hybrid_lvl 0 ? sulphate_dry +? +equall_to_first_limit +9 +139 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +688 +NO3_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +nitrate_dry +? +equall_to_first_limit +9 +139 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +11.0 +0 +0 +0 +? +? +? +689 +NH4_ON_HYBRID_LVL +? +1 +tmpl4_48 +PMTF +NCEP +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +ammonium_dry +? equall_to_first_limit 9 139 @@ -822,6 +928,10 @@ equall_to_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 11.0 0 @@ -835,7 +945,7 @@ PRES_ON_MEAN_SEA_LVL ? 1 tmpl4_0 -PRES +PRMSL ? ? mean_sea_lvl @@ -850,6 +960,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -859,6 +970,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -887,6 +1002,7 @@ surface ? ? ? +? 0 0.0 0 @@ -896,6 +1012,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -923,6 +1043,7 @@ entire_atmos 0 ? total_aerosol +? smaller_than_first_limit 6 20 @@ -930,9 +1051,13 @@ smaller_than_first_limit 0.0 between_first_second_limit 9 -545 +550 9 -565 +550 +0 +0.0 +0 +0.0 1 9.0 0 @@ -960,413 +1085,7 @@ entire_atmos 0 ? dust_dry -smaller_than_first_limit -6 -20 -0 -0.0 -between_first_second_limit -9 -545 -9 -565 -1 -9.0 -0 -0 -0 -? -? -? -611 -SEASALT_AER_OPT_DEP_at550 -? -1 -tmpl4_48 -AOTK -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -sea_salt_dry -smaller_than_first_limit -6 -20 -0 -0.0 -between_first_second_limit -9 -545 -9 -565 -1 -9.0 -0 -0 -0 -? -? -? -612 -SULFATE_AER_OPT_DEP_at550 -? -1 -tmpl4_48 -AOTK -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -sulphate_dry -smaller_than_first_limit -6 -20 -0 -0.0 -between_first_second_limit -9 -545 -9 -565 -1 -9.0 -0 -0 -0 -? -? -? -613 -ORGANIC_CARBON_AER_OPT_DEP_at550 -? -1 -tmpl4_48 -AOTK -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -particulate_org_matter_dry -smaller_than_first_limit -6 -20 -0 -0.0 -between_first_second_limit -9 -545 -9 -565 -1 -9.0 -0 -0 -0 -? -? -? -614 -BLACK_CARBON_AER_OPT_DEP_at550 -? -1 -tmpl4_48 -AOTK -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -black_carbon_dry -smaller_than_first_limit -6 -20 -0 -0.0 -between_first_second_limit -9 -545 -9 -565 -1 -9.0 -0 -0 -0 -? -? -? -650 -AER_SCAT_OPT_DEP_at550 -? -1 -tmpl4_48 -SCTAOTK -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -total_aerosol -smaller_than_first_limit -6 -20 -0 -0.0 -between_first_second_limit -9 -545 -9 -565 -1 -9.0 -0 -0 -0 -? -? -? -651 -DUST_AER_SCAT_OPT_DEP_at550 -? -1 -tmpl4_48 -SCTAOTK -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -dust_dry -smaller_than_first_limit -6 -20 -0 -0.0 -between_first_second_limit -9 -545 -9 -565 -1 -9.0 -0 -0 -0 -? -? -? -652 -SEASALT_AER_SCAT_OPT_DEP_at550 -? -1 -tmpl4_48 -SCTAOTK -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -sea_salt_dry -smaller_than_first_limit -6 -20 -0 -0.0 -between_first_second_limit -9 -545 -9 -565 -1 -9.0 -0 -0 -0 -? -? -? -653 -SULFATE_AER_SCAT_OPT_DEP_at550 -? -1 -tmpl4_48 -SCTAOTK -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -sulphate_dry -smaller_than_first_limit -8 -70 -0 -0.0 -between_first_second_limit -9 -545 -9 -565 -1 -9.0 -0 -0 -0 -? -? -? -654 -ORGANIC_CARBON_AER_SCAT_OPT_DEP_at550 -? -1 -tmpl4_48 -SCTAOTK -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -particulate_org_matter_dry -smaller_than_first_limit -8 -70 -0 -0.0 -between_first_second_limit -9 -545 -9 -565 -1 -9.0 -0 -0 -0 -? -? -? -655 -BLACK_CARBON_AER_SCAT_OPT_DEP_at550 -? -1 -tmpl4_48 -SCTAOTK -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -black_carbon_dry -smaller_than_first_limit -8 -70 -0 -0.0 -between_first_second_limit -9 -545 -9 -565 -1 -9.0 -0 -0 -0 -? -? -? -648 -SINGLE_SCAT_ALBD_at340 -? -1 -tmpl4_48 -SSALBK -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 ? -total_aerosol smaller_than_first_limit 6 20 @@ -1374,9 +1093,13 @@ smaller_than_first_limit 0.0 between_first_second_limit 9 -338 +550 9 -342 +550 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1385,12 +1108,12 @@ between_first_second_limit ? ? ? -649 -AER_ASYM_FACTOR_at340 +611 +SEASALT_AER_OPT_DEP_at550 ? 1 tmpl4_48 -ASYSFK +AOTK ? ? entire_atmos @@ -1403,7 +1126,8 @@ entire_atmos ? 0 ? -total_aerosol +sea_salt_dry +? smaller_than_first_limit 6 20 @@ -1411,9 +1135,13 @@ smaller_than_first_limit 0.0 between_first_second_limit 9 -338 +550 9 -342 +550 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1422,8 +1150,8 @@ between_first_second_limit ? ? ? -623 -AER_OPT_DEP_at340 +612 +SULFATE_AER_OPT_DEP_at550 ? 1 tmpl4_48 @@ -1440,7 +1168,8 @@ entire_atmos ? 0 ? -total_aerosol +sulphate_dry +? smaller_than_first_limit 6 20 @@ -1448,9 +1177,13 @@ smaller_than_first_limit 0.0 between_first_second_limit 9 -338 +550 9 -342 +550 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1459,8 +1192,8 @@ between_first_second_limit ? ? ? -624 -AER_OPT_DEP_at440 +613 +ORGANIC_CARBON_AER_OPT_DEP_at550 ? 1 tmpl4_48 @@ -1477,7 +1210,8 @@ entire_atmos ? 0 ? -total_aerosol +particulate_org_matter_dry +? smaller_than_first_limit 6 20 @@ -1485,9 +1219,13 @@ smaller_than_first_limit 0.0 between_first_second_limit 9 -430 +550 9 -450 +550 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1496,8 +1234,8 @@ between_first_second_limit ? ? ? -625 -AER_OPT_DEP_at660 +614 +BLACK_CARBON_AER_OPT_DEP_at550 ? 1 tmpl4_48 @@ -1514,7 +1252,8 @@ entire_atmos ? 0 ? -total_aerosol +black_carbon_dry +? smaller_than_first_limit 6 20 @@ -1522,9 +1261,13 @@ smaller_than_first_limit 0.0 between_first_second_limit 9 -620 +550 9 -670 +550 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1533,8 +1276,8 @@ between_first_second_limit ? ? ? -626 -AER_OPT_DEP_at860 +615 +NITRATE_AER_OPT_DEP_at550 ? 1 tmpl4_48 @@ -1551,7 +1294,8 @@ entire_atmos ? 0 ? -total_aerosol +nitrate_dry +? smaller_than_first_limit 6 20 @@ -1559,9 +1303,13 @@ smaller_than_first_limit 0.0 between_first_second_limit 9 -841 +550 9 -876 +550 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1570,12 +1318,12 @@ between_first_second_limit ? ? ? -627 -AER_OPT_DEP_at1630 +650 +AER_SCAT_OPT_DEP_at550 ? 1 tmpl4_48 -AOTK +SCTAOTK ? ? entire_atmos @@ -1589,6 +1337,7 @@ entire_atmos 0 ? total_aerosol +? smaller_than_first_limit 6 20 @@ -1596,9 +1345,13 @@ smaller_than_first_limit 0.0 between_first_second_limit 9 -1628 +545 9 -1652 +565 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1607,15 +1360,15 @@ between_first_second_limit ? ? ? -628 -AER_OPT_DEP_at11100 +686 +DUST25_SFC_MASS_CON ? 1 tmpl4_48 -AOTK -? +PMTF +NCEP ? -entire_atmos +surface 0 ? 0 @@ -1625,17 +1378,22 @@ entire_atmos ? 0 ? -total_aerosol +dust_dry +? smaller_than_first_limit -6 -20 +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 0 0.0 -between_first_second_limit -9 -11000 -9 -11200 1 9.0 0 @@ -1644,14 +1402,14 @@ between_first_second_limit ? ? ? -686 -DUST25_SFC_MASS_CON +685 +DUST10_SFC_MASS_CON ? 1 tmpl4_48 -PMTF +PMTC NCEP -? +AVE surface 0 ? @@ -1663,9 +1421,10 @@ surface 0 ? dust_dry +? smaller_than_first_limit -7 -25 +6 +10 0 0.0 ? @@ -1673,6 +1432,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1700,6 +1463,7 @@ surface 0 ? sea_salt_dry +? smaller_than_first_limit 7 25 @@ -1710,6 +1474,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1737,6 +1505,7 @@ surface 0 ? total_aerosol +? smaller_than_first_limit 6 10 @@ -1747,6 +1516,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1774,6 +1547,7 @@ surface 0 ? total_aerosol +? smaller_than_first_limit 7 25 @@ -1784,6 +1558,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1811,6 +1589,7 @@ entire_atmos 0 ? total_aerosol +? smaller_than_first_limit 6 10 @@ -1821,6 +1600,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1848,6 +1631,7 @@ entire_atmos 0 ? total_aerosol +? smaller_than_first_limit 7 25 @@ -1858,6 +1642,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1885,6 +1673,7 @@ entire_atmos 0 ? dust_dry +? smaller_than_first_limit 7 25 @@ -1895,6 +1684,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1922,6 +1715,7 @@ entire_atmos 0 ? sea_salt_dry +? smaller_than_first_limit 7 25 @@ -1932,6 +1726,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1959,6 +1757,7 @@ entire_atmos 0 ? black_carbon_dry +? smaller_than_first_limit 10 236 @@ -1969,6 +1768,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -1996,6 +1799,7 @@ entire_atmos 0 ? particulate_org_matter_dry +? smaller_than_first_limit 10 424 @@ -2006,6 +1810,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -2033,6 +1841,91 @@ entire_atmos 0 ? sulphate_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +657 +NO3_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +nitrate_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +658 +NH4_COL_MASS_DEN +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +ammonium_dry +? smaller_than_first_limit 7 25 @@ -2043,6 +1936,10 @@ smaller_than_first_limit 0.0 0 0.0 +0 +0.0 +0 +0.0 1 9.0 0 @@ -2071,6 +1968,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -2080,6 +1978,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2108,6 +2010,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2117,6 +2020,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2145,6 +2052,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2154,6 +2062,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2182,6 +2094,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2191,6 +2104,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2219,6 +2136,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2228,6 +2146,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 diff --git a/parm/postxconfig-NT-WRF.txt b/parm/postxconfig-NT-WRF.txt deleted file mode 100644 index 18130a32d7..0000000000 --- a/parm/postxconfig-NT-WRF.txt +++ /dev/null @@ -1,3644 +0,0 @@ -1 -98 -WRFPRS -4 -ncep_nco -v2003 -local_tab_yes1 -fcst -oper -fcst -fcst -hour -nws_ncep -wrf_em_ncar_arwrf -complex_packing_spatial_diff -2nd_ord_sptdiff -fltng_pnt -lossless -1 -PRES_ON_HYBRID_LVL -? -1 -tmpl4_0 -PRES -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -77 -HGT_ON_HYBRID_LVL -? -1 -tmpl4_0 -HGT -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -2 -TMP_ON_HYBRID_LVL -? -1 -tmpl4_0 -TMP -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -3 -POT_ON_HYBRID_LVL -? -1 -tmpl4_0 -POT -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -4 -DPT_ON_HYBRID_LVL -? -1 -tmpl4_0 -DPT -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -5 -SPFH_ON_HYBRID_LVL -? -1 -tmpl4_0 -SPFH -? -? -hybrid_lvl -0 -? -1 -1. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -7.0 -0 -0 -0 -? -? -? -6 -RH_ON_HYBRID_LVL -? -1 -tmpl4_0 -RH -? -? -hybrid_lvl -0 -? -1 -1. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -7 -UGRD_ON_HYBRID_LVL -? -1 -tmpl4_0 -UGRD -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -8 -VGRD_ON_HYBRID_LVL -? -1 -tmpl4_0 -VGRD -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -9 -VVEL_ON_HYBRID_LVL -? -1 -tmpl4_0 -VVEL -? -? -hybrid_lvl -0 -? -1 -1. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -250 -REFD_ON_HYBRID_LVL -? -1 -tmpl4_0 -REFD -NCEP -? -hybrid_lvl -0 -? -2 -1. 2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -12 -HGT_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -HGT -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -13 -TMP_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -TMP -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -15 -DPT_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -DPT -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -17 -RH_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -RH -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -2.0 -0 -0 -0 -? -? -? -18 -UGRD_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -UGRD -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -19 -VGRD_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -VGRD -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -20 -VVEL_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -VVEL -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -166 -CICE_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -CICE -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -23 -MSLET_ON_MEAN_SEA_LVL -? -1 -tmpl4_0 -MSLET -NCEP -? -mean_sea_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -105 -PRES_ON_MEAN_SEA_LVL -? -1 -tmpl4_0 -PRMSL -? -? -mean_sea_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -106 -TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -TMP -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -112 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -SPFH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -113 -DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -DPT -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -114 -RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -RH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -64 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -? -1 -tmpl4_0 -UGRD -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -10. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -65 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -? -1 -tmpl4_0 -VGRD -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -10. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -246 -PLPL_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -PLPL -NCEP -? -spec_pres_above_grnd -0 -? -1 -25500. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -24 -PRES_ON_SURFACE -? -1 -tmpl4_0 -PRES -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -25 -HGT_ON_SURFACE -? -1 -tmpl4_0 -HGT -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -27 -POT_ON_SURFACE -? -1 -tmpl4_0 -POT -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -28 -SPFH_ON_SURFACE -? -1 -tmpl4_0 -SPFH -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -26 -TMP_ON_SURFACE -? -1 -tmpl4_0 -TMP -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -116 -TSOIL_ON_DEPTH_BEL_LAND_SFC -? -1 -tmpl4_0 -TSOIL -? -? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -117 -SOILW_ON_DEPTH_BEL_LAND_SFC -? -1 -tmpl4_0 -SOILW -NCEP -? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -225 -SOILL_ON_DEPTH_BEL_LAND_SFC -? -1 -tmpl4_0 -SOILL -NCEP -? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -36 -SOILM_ON_DEPTH_BEL_LAND_SFC -? -1 -tmpl4_0 -SOILM -? -? -depth_bel_land_sfc -1 -2 -1 -0. -depth_bel_land_sfc -1 -2 -1 -200. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -119 -WEASD_ON_SURFACE -? -1 -tmpl4_0 -WEASD -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -120 -SNOWC_ON_SURFACE -? -1 -tmpl4_0 -SNOWC -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -30 -LFTX_ON_ISOBARIC_SFC_500-1000hpa -? -1 -tmpl4_0 -LFTX -NCEP -? -isobaric_sfc -0 -? -1 -50000. -isobaric_sfc -0 -? -1 -100000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -32 -CAPE_ON_SURFACE -? -1 -tmpl4_0 -CAPE -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -566 -BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CAPE -? -? -spec_pres_above_grnd -0 -? -1 -18000. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -582 -MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CAPE -? -? -spec_pres_above_grnd -0 -? -1 -9000. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -584 -UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CAPE -? -? -spec_pres_above_grnd -0 -? -1 -25500. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -107 -CIN_ON_SURFACE -? -1 -tmpl4_0 -CIN -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -567 -BEST_CIN_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CIN -? -? -spec_pres_above_grnd -0 -? -1 -18000. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -583 -MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CIN -? -? -spec_pres_above_grnd -0 -? -1 -9000. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -585 -UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CIN -? -? -spec_pres_above_grnd -0 -? -1 -25500. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -80 -PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR -? -1 -tmpl4_0 -PWAT -? -? -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -162 -HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND -? -1 -tmpl4_0 -HLCY -? -? -spec_hgt_lvl_above_grnd -0 -? -2 -3000. 1000. -spec_hgt_lvl_above_grnd -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -163 -USTM_ON_SPEC_HGT_LVL_ABOVE_GRND -? -1 -tmpl4_0 -USTM -NCEP -? -spec_hgt_lvl_above_grnd -0 -? -1 -6000. -spec_hgt_lvl_above_grnd -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -164 -VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND -? -1 -tmpl4_0 -VSTM -NCEP -? -spec_hgt_lvl_above_grnd -0 -? -1 -6000. -spec_hgt_lvl_above_grnd -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -87 -ACM_APCP_ON_SURFACE -? -1 -tmpl4_8 -APCP -? -ACM -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -160 -INST_CRAIN_ON_SURFACE -? -1 -tmpl4_0 -CRAIN -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? -? -551 -CSNOW_ON_SURFACE -Categorical snow on surface -1 -tmpl4_0 -CSNOW -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? -? -552 -CICEP_ON_SURFACE -Categorical ice pellets on surface -1 -tmpl4_0 -CICEP -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? -? -553 -CFRZR_ON_SURFACE -Categorical freezing rain on surface -1 -tmpl4_0 -CFRZR -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? -? -145 -TCDC_ON_HYBRID_LVL -? -1 -tmpl4_0 -TCDC -? -? -hybrid_lvl -0 -? -2 -1. 2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -37 -LCDC_ON_LOW_CLOUD_LYR -? -1 -tmpl4_0 -LCDC -? -? -low_cloud_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -38 -MCDC_ON_MID_CLOUD_LYR -? -1 -tmpl4_0 -MCDC -? -? -mid_cloud_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -39 -HCDC_ON_HIGH_CLOUD_LYR -? -1 -tmpl4_0 -HCDC -? -? -high_cloud_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -180 -VIS_ON_SURFACE -? -1 -tmpl4_0 -VIS -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -410 -GSD_VIS_ON_CLOUD_TOP -GSD_visibility on cloud top -1 -tmpl4_0 -VIS -? -? -cloud_top -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -109 -HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC -? -1 -tmpl4_0 -HGT -? -? -lvl_of_adiab_cond_from_sfc -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -110 -PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC -? -1 -tmpl4_0 -PRES -? -? -lvl_of_adiab_cond_from_sfc -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -177 -HGT_ON_TROPOPAUSE -? -1 -tmpl4_0 -HGT -? -? -tropopause -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -579 -PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT -? -1 -tmpl4_0 -PRES -? -? -spec_hgt_lvl_above_grnd -0 -? -4 -30. 50. 80. 100. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -412 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND -U-Component of Wind on Specified Height Level Above Ground -1 -tmpl4_0 -UGRD -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -80. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -413 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND -V-Component of Wind on Specified Height Level Above Ground -1 -tmpl4_0 -VGRD -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -80. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -73 -UGRD_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -UGRD -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -74 -VGRD_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -VGRD -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -90 -VVEL_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -VVEL -? -? -spec_pres_above_grnd -0 -? -3 -3000. 9000. 18000. -spec_pres_above_grnd -0 -? -3 -0. 6000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -178 -HGT_ON_CLOUD_BASE -? -1 -tmpl4_0 -HGT -? -? -cloud_base -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -179 -HGT_ON_CLOUD_TOP -? -1 -tmpl4_0 -HGT -? -? -cloud_top -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -168 -TMP_ON_CLOUD_TOP -? -1 -tmpl4_0 -TMP -? -? -cloud_top -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -252 -REFC_ON_ENTIRE_ATMOS -? -1 -tmpl4_0 -REFC -NCEP -? -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -253 -REFD_ON_SPEC_HGT_LVL_ABOVE_GRND -? -1 -tmpl4_0 -REFD -NCEP -? -spec_hgt_lvl_above_grnd -0 -? -2 -4000. 1000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -260 -HGT_ON_CLOUD_CEILING -? -1 -tmpl4_0 -HGT -? -? -cloud_ceilng -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -23 -MSLET_ON_MEAN_SEA_LVL -? -1 -tmpl4_0 -MSLET -NCEP -? -mean_sea_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -105 -PRES_ON_MEAN_SEA_LVL -? -1 -tmpl4_0 -PRMSL -? -? -mean_sea_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -138 -PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -PRES -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -106 -TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -TMP -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -112 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -SPFH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -113 -DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -DPT -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -114 -RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -RH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -24 -PRES_ON_SURFACE -? -1 -tmpl4_0 -PRES -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -170 -VEG_ON_SURFACE -? -1 -tmpl4_0 -VEG -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -171 -MSTAV_ON_DEPTH_BEL_LAND_SFC -? -1 -tmpl4_0 -MSTAV -NCEP -? -depth_bel_land_sfc -1 -2 -1 -0. -depth_bel_land_sfc -1 -2 -1 -100. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -31 -4LFTX_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -4LFTX -NCEP -? -spec_pres_above_grnd -0 -? -1 -18000. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -48 -NLAT_ON_SURFACE -? -1 -tmpl4_0 -NLAT -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -49 -ELON_ON_SURFACE -? -1 -tmpl4_0 -ELON -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -50 -LAND_ON_SURFACE -? -1 -tmpl4_0 -LAND -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? -? -457 -NON_NADIR_SBT123_ON_TOP_OF_ATMOS -Simulated Brightness Temperature for GOES12, Channel 3 on top of atmosphere -1 -tmpl4_0 -SBT123 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -458 -NON_NADIR_SBT124_ON_TOP_OF_ATMOS -Simulated Brightness Temperature for GOES12, Channel 4 on top of atmosphere -1 -tmpl4_0 -SBT124 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -461 -SBT113_ON_TOP_OF_ATMOS -Simulated Brightness Temperature for GOES11, Channel 3 on top of atmosphere -1 -tmpl4_0 -SBT113 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -461 -SBT113_ON_TOP_OF_ATMOS -Simulated Brightness Temperature for GOES11, Channel 3 on top of atmosphere -1 -tmpl4_0 -SBT113 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -462 -SBT114_ON_TOP_OF_ATMOS -Simulated Brightness Temperature for GOES11, Channel 4 on top of atmosphere -1 -tmpl4_0 -SBT114 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -462 -SBT114_ON_TOP_OF_ATMOS -Simulated Brightness Temperature for GOES11, Channel 4 on top of atmosphere -1 -tmpl4_0 -SBT114 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? diff --git a/parm/postxconfig-NT-fv3lam_cmaq.txt b/parm/postxconfig-NT-fv3lam_cmaq.txt deleted file mode 100644 index 1eec84111f..0000000000 --- a/parm/postxconfig-NT-fv3lam_cmaq.txt +++ /dev/null @@ -1,129 +0,0 @@ -1 -3 -CMAQ -32769 -ncep_nco -v2003 -local_tab_yes1 -fcst -oper -fcst -fcst -hour -nws_ncep -nmm_8km -complex_packing_spatial_diff -2nd_ord_sptdiff -fltng_pnt -lossless -995 -PM25TOT_ON_HYBRID_LVL -? -1 -tmpl4_0 -PMTF -NCEP -? -hybrid_lvl -0 -? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -7.0 -0 -0 -0 -? -? -? -267 -O3MR_ON_HYBRID_LVL -? -1 -tmpl4_0 -O3MR -NCEP -? -hybrid_lvl -0 -? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -7.0 -0 -0 -0 -? -? -? -994 -OZCON_ON_HYBRID_LVL -? -1 -tmpl4_0 -OZCON -NCEP -? -hybrid_lvl -0 -? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -7.0 -0 -0 -0 -? -? -? diff --git a/parm/postxconfig-NT-fv3lam_goes.txt b/parm/postxconfig-NT-fv3lam_goes.txt deleted file mode 100644 index f62a7075a7..0000000000 --- a/parm/postxconfig-NT-fv3lam_goes.txt +++ /dev/null @@ -1,758 +0,0 @@ -1 -20 -BGGOES -32769 -ncep_nco -v2003 -local_tab_yes1 -fcst -oper -fcst -fcst -hour -nws_ncep -meso_nam12km -complex_packing_spatial_diff -2nd_ord_sptdiff -fltng_pnt -lossless -927 -SBTA167_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA167 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -928 -SBTA168_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA168 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -929 -SBTA169_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA169 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -930 -SBTA1610_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1610 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -931 -SBTA1611_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1611 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -932 -SBTA1612_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1612 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -933 -SBTA1613_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1613 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -934 -SBTA1614_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1614 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -935 -SBTA1615_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1615 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -936 -SBTA1616_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1616 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -937 -SBTA177_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA177 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -938 -SBTA178_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA178 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -939 -SBTA179_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA179 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -940 -SBTA1710_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1710 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -941 -SBTA1711_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1711 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -942 -SBTA1712_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1712 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -943 -SBTA1713_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1713 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -944 -SBTA1714_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1714 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -945 -SBTA1715_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1715 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -946 -SBTA1716_ON_TOP_OF_ATMOS -? -1 -tmpl4_0 -SBTA1716 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? diff --git a/parm/postxconfig-NT-hrrr.txt b/parm/postxconfig-NT-hrrr.txt index eb687ff276..80b9995b37 100644 --- a/parm/postxconfig-NT-hrrr.txt +++ b/parm/postxconfig-NT-hrrr.txt @@ -1,7 +1,7 @@ 3 21 16 -152 +151 WRFTWO 4 ncep_emc @@ -38,6 +38,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -47,6 +48,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -75,6 +80,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -84,6 +90,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -112,6 +122,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -121,6 +132,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -149,6 +164,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -158,6 +174,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -186,6 +206,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -195,6 +216,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -223,6 +248,7 @@ surface ? ? ? +? 0 0.0 0 @@ -232,6 +258,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -260,6 +290,7 @@ surface ? ? ? +? 0 0.0 0 @@ -269,6 +300,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -297,6 +332,7 @@ surface ? ? ? +? 0 0.0 0 @@ -306,6 +342,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -334,6 +374,7 @@ surface ? ? ? +? 0 0.0 0 @@ -343,6 +384,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -371,6 +416,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -380,6 +426,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -408,6 +458,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -417,6 +468,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -445,6 +500,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -454,6 +510,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -482,6 +542,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -491,6 +552,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -519,6 +584,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -528,6 +594,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -556,6 +626,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -565,6 +636,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -577,7 +652,7 @@ spec_hgt_lvl_above_grnd SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m ? 1 -tmpl4_0 +tmpl4_48 MASSDEN ? ? @@ -591,6 +666,7 @@ spec_hgt_lvl_above_grnd ? 0 ? +particulate_org_matter_dry ? ? 0 @@ -602,6 +678,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -630,6 +710,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -639,6 +720,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -667,6 +752,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -676,6 +762,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -704,6 +794,7 @@ surface ? ? ? +? 0 0.0 0 @@ -713,6 +804,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -741,6 +836,7 @@ surface ? ? ? +? 0 0.0 0 @@ -750,6 +846,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -778,6 +878,7 @@ surface ? ? ? +? 0 0.0 0 @@ -787,6 +888,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -815,6 +920,7 @@ surface ? ? ? +? 0 0.0 0 @@ -824,6 +930,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -852,6 +962,7 @@ surface ? ? ? +? 0 0.0 0 @@ -861,6 +972,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -889,6 +1004,7 @@ surface ? ? ? +? 0 0.0 0 @@ -898,6 +1014,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -926,6 +1046,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -935,6 +1056,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -963,6 +1088,7 @@ isobaric_sfc 100000. ? ? +? 0 0.0 0 @@ -972,6 +1098,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1000,6 +1130,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1009,6 +1140,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -1037,6 +1172,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1046,6 +1182,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1074,6 +1214,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1083,6 +1224,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1111,6 +1256,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1120,6 +1266,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1148,6 +1298,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1157,6 +1308,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1185,6 +1340,7 @@ spec_hgt_lvl_above_grnd 3000. ? ? +? 0 0.0 0 @@ -1194,6 +1350,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1222,6 +1382,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1231,6 +1392,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1259,6 +1424,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1268,6 +1434,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1296,6 +1466,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1305,6 +1476,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1333,6 +1508,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1342,6 +1518,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1370,6 +1550,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -1379,6 +1560,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1407,6 +1592,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -1416,6 +1602,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1444,6 +1634,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -1453,6 +1644,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -1481,6 +1676,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1490,6 +1686,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1518,6 +1718,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1527,6 +1728,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1555,6 +1760,7 @@ isothermal 256. ? ? +? 0 0.0 0 @@ -1564,6 +1770,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1592,6 +1802,7 @@ spec_hgt_lvl_above_grnd 3000. ? ? +? 0 0.0 0 @@ -1601,6 +1812,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1629,6 +1844,7 @@ spec_hgt_lvl_above_grnd 500. ? ? +? 0 0.0 0 @@ -1638,6 +1854,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1666,6 +1886,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1675,6 +1896,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -1703,6 +1928,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1712,6 +1938,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -1740,6 +1970,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1749,6 +1980,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1777,6 +2012,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1786,6 +2022,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1814,6 +2054,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1823,6 +2064,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -1851,6 +2096,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1860,6 +2106,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -1888,6 +2138,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1897,6 +2148,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1925,6 +2180,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1934,6 +2190,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -1962,6 +2222,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1971,6 +2232,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -1999,6 +2264,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2008,6 +2274,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -2036,6 +2306,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2045,6 +2316,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -2073,6 +2348,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2082,6 +2358,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2110,6 +2390,7 @@ cloud_ceilng ? ? ? +? 0 0.0 0 @@ -2119,6 +2400,10 @@ cloud_ceilng 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -2127,8 +2412,8 @@ cloud_ceilng ? ? ? -711 -GSD_HGT_ON_CLOUD_BASE +178 +HGT_ON_CLOUD_BASE ? 1 tmpl4_0 @@ -2147,6 +2432,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -2156,6 +2442,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -2164,9 +2454,9 @@ cloud_base ? ? ? -409 -GSD_HGT_ON_CLOUD_TOP -GSD_geopotential height on cloud top +179 +HGT_ON_CLOUD_TOP +? 1 tmpl4_0 HGT @@ -2184,6 +2474,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -2193,6 +2484,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -2221,6 +2516,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2230,6 +2526,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2258,6 +2558,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -2267,6 +2568,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2295,6 +2600,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2304,6 +2610,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2332,6 +2642,7 @@ isothermal ? ? ? +? 0 0.0 0 @@ -2341,6 +2652,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2369,6 +2684,7 @@ isothermal ? ? ? +? 0 0.0 0 @@ -2378,6 +2694,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2406,6 +2726,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2415,6 +2736,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.7 0 @@ -2443,6 +2768,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2452,6 +2778,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2480,6 +2810,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2489,6 +2820,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2517,6 +2852,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2526,6 +2862,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2554,6 +2894,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2563,6 +2904,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2591,6 +2936,7 @@ spec_pres_above_grnd 100000. ? ? +? 0 0.0 0 @@ -2600,6 +2946,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2628,6 +2978,7 @@ spec_pres_above_grnd 100000. ? ? +? 0 0.0 0 @@ -2637,6 +2988,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2665,6 +3020,7 @@ spec_hgt_lvl_above_grnd 2000. ? ? +? 0 0.0 0 @@ -2674,6 +3030,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2702,6 +3062,7 @@ spec_hgt_lvl_above_grnd 2000. ? ? +? 0 0.0 0 @@ -2711,6 +3072,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2739,6 +3104,7 @@ spec_hgt_lvl_above_grnd 0000. ? ? +? 0 0.0 0 @@ -2748,6 +3114,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2776,6 +3146,7 @@ spec_hgt_lvl_above_grnd 0000. ? ? +? 0 0.0 0 @@ -2785,6 +3156,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2813,6 +3188,7 @@ spec_hgt_lvl_above_grnd 0000. ? ? +? 0 0.0 0 @@ -2822,6 +3198,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2850,6 +3230,7 @@ spec_hgt_lvl_above_grnd 0000. ? ? +? 0 0.0 0 @@ -2859,6 +3240,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2887,6 +3272,7 @@ spec_hgt_lvl_above_grnd 0000. ? ? +? 0 0.0 0 @@ -2896,6 +3282,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -2924,6 +3314,7 @@ spec_hgt_lvl_above_grnd 0000. ? ? +? 0 0.0 0 @@ -2933,6 +3324,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -2961,6 +3356,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -2970,6 +3366,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2998,6 +3398,7 @@ sigma_lvl ? ? ? +? 0 0.0 0 @@ -3007,6 +3408,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3035,6 +3440,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3044,6 +3450,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3072,6 +3482,7 @@ sigma_lvl 80. ? ? +? 0 0.0 0 @@ -3081,6 +3492,10 @@ sigma_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3109,6 +3524,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -3118,6 +3534,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3146,6 +3566,7 @@ lvl_of_adiab_cond_from_sfc ? ? ? +? 0 0.0 0 @@ -3155,6 +3576,10 @@ lvl_of_adiab_cond_from_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -3183,6 +3608,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -3192,6 +3618,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3220,6 +3650,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -3229,6 +3660,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3257,6 +3692,7 @@ spec_hgt_lvl_above_grnd 1000. ? ? +? 0 0.0 0 @@ -3266,6 +3702,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3294,6 +3734,7 @@ spec_hgt_lvl_above_grnd 1000. ? ? +? 0 0.0 0 @@ -3303,6 +3744,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3331,6 +3776,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -3340,6 +3786,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3368,6 +3818,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -3377,6 +3828,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3405,6 +3860,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3414,6 +3870,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3442,6 +3902,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -3451,6 +3912,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3479,6 +3944,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -3488,6 +3954,10 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3516,6 +3986,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -3525,6 +3996,10 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3553,6 +4028,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -3562,6 +4038,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3590,6 +4070,7 @@ bound_lyr_cloud_lyr ? ? ? +? 0 0.0 0 @@ -3599,6 +4080,10 @@ bound_lyr_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3627,6 +4112,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3636,6 +4122,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -3664,6 +4154,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -3673,6 +4164,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3701,48 +4196,16 @@ entire_atmos ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -6.0 -0 -0 -0 -? -? -? -770 -GSD_RADARVIL_ON_ENTIRE_ATMOS -? -1 -tmpl4_0 -VIL -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -3775,6 +4238,7 @@ equil_lvl ? ? ? +? 0 0.0 0 @@ -3784,6 +4248,10 @@ equil_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -3812,6 +4280,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3821,6 +4290,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3849,6 +4322,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3858,6 +4332,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3886,6 +4364,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -3895,6 +4374,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3923,6 +4406,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -3932,6 +4416,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3960,6 +4448,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -3969,6 +4458,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3997,6 +4490,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -4006,6 +4500,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -4014,8 +4512,8 @@ spec_hgt_lvl_above_grnd ? ? ? -798 -GSD_PRES_ON_CLOUD_BASE +148 +PRES_ON_CLOUD_BASE ? 1 tmpl4_0 @@ -4034,6 +4532,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -4043,6 +4542,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4071,6 +4574,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -4080,6 +4584,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4108,6 +4616,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -4117,6 +4626,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -4145,6 +4658,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -4154,6 +4668,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -4182,6 +4700,7 @@ HGT ? ? ? +? 0 0.0 0 @@ -4191,6 +4710,10 @@ HGT 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -4219,6 +4742,7 @@ RH ? ? ? +? 0 0.0 0 @@ -4228,6 +4752,10 @@ RH 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -4256,6 +4784,7 @@ PRES ? ? ? +? 0 0.0 0 @@ -4265,6 +4794,10 @@ PRES 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4293,6 +4826,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -4302,6 +4836,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4330,6 +4868,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -4339,6 +4878,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4367,6 +4910,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -4376,6 +4920,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -4404,6 +4952,7 @@ isothermal ? ? ? +? 0 0.0 0 @@ -4413,6 +4962,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4441,6 +4994,7 @@ isothermal ? ? ? +? 0 0.0 0 @@ -4450,6 +5004,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4478,6 +5036,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4487,6 +5046,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -4515,6 +5078,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4524,6 +5088,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4552,6 +5120,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4561,6 +5130,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4589,6 +5162,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4598,6 +5172,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -4626,6 +5204,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4635,6 +5214,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -4663,6 +5246,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4672,6 +5256,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4700,6 +5288,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4709,6 +5298,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4737,6 +5330,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -4746,6 +5340,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4774,6 +5372,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -4783,6 +5382,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4811,6 +5414,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4820,6 +5424,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4848,6 +5456,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4857,6 +5466,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4885,6 +5498,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4894,6 +5508,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4922,6 +5540,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4931,6 +5550,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -4959,6 +5582,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4968,6 +5592,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -4996,6 +5624,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5005,6 +5634,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -5033,6 +5666,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5042,6 +5676,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5070,6 +5708,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5079,6 +5718,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5107,11 +5750,16 @@ entire_atmos ? ? ? +? +0 +0.0 +0 +0.0 +? 0 0.0 0 0.0 -? 0 0.0 0 @@ -5144,6 +5792,7 @@ depth_bel_land_sfc ? ? ? +? 0 0.0 0 @@ -5153,6 +5802,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5181,6 +5834,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5190,6 +5844,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -5218,6 +5876,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5227,6 +5886,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -5255,6 +5918,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -5264,6 +5928,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5292,6 +5960,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -5301,6 +5970,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5329,6 +6002,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -5338,6 +6012,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5366,6 +6044,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -5375,6 +6054,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5403,6 +6086,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -5412,6 +6096,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5440,6 +6128,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -5449,6 +6138,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5477,6 +6170,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -5486,6 +6180,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -5498,7 +6196,7 @@ entire_atmos_single_lyr SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 -tmpl4_0 +tmpl4_48 COLMD ? ? @@ -5512,6 +6210,7 @@ entire_atmos_single_lyr ? 0 ? +particulate_org_matter_dry ? ? 0 @@ -5523,6 +6222,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -5551,6 +6254,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5560,6 +6264,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5588,6 +6296,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -5597,6 +6306,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -5625,6 +6338,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -5634,6 +6348,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5678,6 +6396,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5687,6 +6406,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -5715,6 +6438,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5724,6 +6448,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -5752,6 +6480,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5761,6 +6490,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -5789,6 +6522,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5798,6 +6532,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -5826,6 +6564,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5835,6 +6574,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5863,6 +6606,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5872,6 +6616,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -5900,6 +6648,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5909,6 +6658,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -5937,6 +6690,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5946,6 +6700,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -5974,6 +6732,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5983,6 +6742,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6011,6 +6774,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6020,6 +6784,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6048,6 +6816,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6057,6 +6826,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6085,6 +6858,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6094,6 +6868,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6122,6 +6900,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6131,6 +6910,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6159,6 +6942,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -6168,6 +6952,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6196,6 +6984,7 @@ depth_bel_land_sfc 0. 1. 4. 10. 30. 60. 100. 160. 300. ? ? +? 0 0.0 0 @@ -6205,6 +6994,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6233,6 +7026,7 @@ depth_bel_land_sfc 0. 1. 4. 10. 30. 60. 100. 160. 300. ? ? +? 0 0.0 0 @@ -6242,6 +7036,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6286,6 +7084,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6295,6 +7094,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6323,6 +7126,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6332,6 +7136,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -6360,6 +7168,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6369,6 +7178,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6397,6 +7210,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6406,6 +7220,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6434,6 +7252,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6443,6 +7262,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6471,6 +7294,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6480,6 +7304,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6508,6 +7336,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6517,6 +7346,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -6545,6 +7378,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6554,6 +7388,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6582,6 +7420,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6591,6 +7430,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6619,6 +7462,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6628,6 +7472,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6656,6 +7504,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6665,6 +7514,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6693,6 +7546,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6702,6 +7556,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6711,7 +7569,7 @@ hybrid_lvl ? ? 747 -GSD_NCCD_ON_HYBRID_LVL +NCCD_ON_HYBRID_LVL Number concentration for cloud water drops on hybrid level 1 tmpl4_0 @@ -6730,6 +7588,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6739,6 +7598,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6748,7 +7611,7 @@ hybrid_lvl ? ? 752 -GSD_NCIP_ON_HYBRID_LVL +NCIP_ON_HYBRID_LVL Number concentration for ice particles on hybrid level 1 tmpl4_0 @@ -6767,6 +7630,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6776,6 +7640,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6785,7 +7653,7 @@ hybrid_lvl ? ? 754 -GSD_NCRAIN_ON_HYBRID_LVL +NCRAIN_ON_HYBRID_LVL ? 1 tmpl4_0 @@ -6804,6 +7672,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6813,6 +7682,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6841,6 +7714,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6850,6 +7724,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6878,6 +7756,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6887,6 +7766,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6915,6 +7798,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6924,6 +7808,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 0 @@ -6952,6 +7840,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6961,6 +7850,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6973,7 +7866,7 @@ hybrid_lvl SMOKE_ON_HYBRID_LVL ? 1 -tmpl4_0 +tmpl4_48 MASSDEN ? ? @@ -6987,6 +7880,7 @@ hybrid_lvl ? 0 ? +particulate_org_matter_dry ? ? 0 @@ -6998,6 +7892,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7026,6 +7924,7 @@ depth_bel_land_sfc 0. 1. ? ? +? 0 0.0 0 @@ -7035,6 +7934,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 diff --git a/parm/postxconfig-NT-ifi.txt b/parm/postxconfig-NT-ifi.txt new file mode 100644 index 0000000000..0b742c84b3 --- /dev/null +++ b/parm/postxconfig-NT-ifi.txt @@ -0,0 +1,144 @@ +1 +3 +IFIFIP +4 +ncep_emc +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +1007 +ICE_PROB_IFI_FLIGHT_LEVEL +? +1 +tmpl4_0 +ICPRB +NCEP +? +spec_alt_above_mean_sea_lvl +1 +1 +60 +5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1008 +SLD_IFI_FLIGHT_LEVEL +? +1 +tmpl4_0 +SIPD +NCEP +? +spec_alt_above_mean_sea_lvl +1 +1 +60 +5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1010 +WMO_ICE_SEV_CAT_IFI_FLIGHT_LEVEL +? +1 +tmpl4_0 +ICESEV +? +? +spec_alt_above_mean_sea_lvl +1 +1 +60 +5000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 95000. 100000. 105000. 110000. 115000. 120000. 125000. 130000. 135000. 140000. 145000. 150000. 155000. 160000. 165000. 170000. 175000. 180000. 185000. 190000. 195000. 200000. 205000. 210000. 215000. 220000. 225000. 230000. 235000. 240000. 245000. 250000. 255000. 260000. 265000. 270000. 275000. 280000. 285000. 290000. 295000. 300000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/postxconfig-NT-rap.txt b/parm/postxconfig-NT-rap.txt index 16e98464ef..a7231a8a0f 100644 --- a/parm/postxconfig-NT-rap.txt +++ b/parm/postxconfig-NT-rap.txt @@ -1,6 +1,6 @@ 2 100 -171 +170 WRFPRS 4 ncep_emc @@ -37,6 +37,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -46,6 +47,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -74,6 +79,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -83,6 +89,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -111,6 +121,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -120,6 +131,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -148,6 +163,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -157,6 +173,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -185,6 +205,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -194,6 +215,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -222,6 +247,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -231,6 +257,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -259,6 +289,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -268,6 +299,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -296,6 +331,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -305,6 +341,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -333,6 +373,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -342,6 +383,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -370,6 +415,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -379,6 +425,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -407,6 +457,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -416,6 +467,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -444,6 +499,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -453,6 +509,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -481,6 +541,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -490,6 +551,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -518,6 +583,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -527,6 +593,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -555,6 +625,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -564,6 +635,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -577,7 +652,7 @@ SOILM_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -SOILM +SOILMOI ? ? depth_bel_land_sfc @@ -592,6 +667,7 @@ depth_bel_land_sfc ? ? ? +? 0 0.0 0 @@ -601,6 +677,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -629,6 +709,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -638,6 +719,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -666,6 +751,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -675,6 +761,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -703,6 +793,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -712,6 +803,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -740,6 +835,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -749,6 +845,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -777,6 +877,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -786,6 +887,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -814,6 +919,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -823,6 +929,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -851,6 +961,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -860,6 +971,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -888,6 +1003,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -897,6 +1013,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -925,6 +1045,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -934,6 +1055,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -962,6 +1087,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -971,6 +1097,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -999,6 +1129,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -1008,6 +1139,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1036,6 +1171,7 @@ depth_bel_land_sfc 0. 1. 4. 10. 30. 60. 100. 160. 300. ? ? +? 0 0.0 0 @@ -1045,6 +1181,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1073,6 +1213,7 @@ depth_bel_land_sfc 0. 1. 4. 10. 30. 60. 100. 160. 300. ? ? +? 0 0.0 0 @@ -1082,6 +1223,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1110,6 +1255,7 @@ depth_bel_land_sfc ? ? ? +? 0 0.0 0 @@ -1119,6 +1265,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1147,6 +1297,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1156,6 +1307,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -1184,6 +1339,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1193,6 +1349,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -1221,6 +1381,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1230,6 +1391,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -1258,6 +1423,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1267,6 +1433,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1295,6 +1465,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1304,6 +1475,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1332,6 +1507,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1341,6 +1517,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1369,6 +1549,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1378,6 +1559,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -1406,6 +1591,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -1415,6 +1601,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -1443,6 +1633,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -1452,6 +1643,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -1480,6 +1675,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1489,6 +1685,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -1517,6 +1717,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1526,6 +1727,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1554,6 +1759,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1563,6 +1769,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -1591,6 +1801,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1600,6 +1811,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -1628,6 +1843,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1637,6 +1853,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -1665,6 +1885,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1674,6 +1895,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -1686,7 +1911,7 @@ spec_hgt_lvl_above_grnd SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m ? 1 -tmpl4_0 +tmpl4_48 MASSDEN ? ? @@ -1700,6 +1925,7 @@ spec_hgt_lvl_above_grnd ? 0 ? +particulate_org_matter_dry ? ? 0 @@ -1711,6 +1937,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1739,6 +1969,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1748,6 +1979,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -1776,6 +2011,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1785,6 +2021,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -1813,6 +2053,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1822,6 +2063,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -1850,6 +2095,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1859,6 +2105,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1887,6 +2137,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1896,8 +2147,12 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 -1 -3.0 +0 +0.0 +0 +0.0 +1 +3.0 0 0 0 @@ -1924,6 +2179,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1933,6 +2189,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1961,6 +2221,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1970,6 +2231,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1998,6 +2263,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2007,6 +2273,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2035,6 +2305,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2044,6 +2315,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2072,6 +2347,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2081,6 +2357,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2109,6 +2389,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -2118,6 +2399,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2146,6 +2431,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -2155,6 +2441,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -2183,6 +2473,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -2192,6 +2483,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2220,6 +2515,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -2229,6 +2525,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2257,6 +2557,7 @@ spec_pres_above_grnd 0. 3000. 6000. 9000. 12000. 15000. ? ? +? 0 0.0 0 @@ -2266,6 +2567,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -2294,6 +2599,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2303,6 +2609,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2331,6 +2641,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2340,6 +2651,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2368,6 +2683,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -2377,6 +2693,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2405,6 +2725,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2414,6 +2735,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2442,6 +2767,7 @@ isothermal 256. ? ? +? 0 0.0 0 @@ -2451,6 +2777,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2479,6 +2809,7 @@ spec_hgt_lvl_above_grnd 3000. ? ? +? 0 0.0 0 @@ -2488,6 +2819,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2516,6 +2851,7 @@ spec_hgt_lvl_above_grnd 500. ? ? +? 0 0.0 0 @@ -2525,6 +2861,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2553,6 +2893,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -2562,6 +2903,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2590,6 +2935,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2599,6 +2945,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2627,6 +2977,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2636,6 +2987,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2664,6 +3019,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2673,6 +3029,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2701,6 +3061,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2710,6 +3071,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2738,6 +3103,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -2747,6 +3113,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2775,6 +3145,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -2784,6 +3155,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2812,6 +3187,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2821,6 +3197,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2849,6 +3229,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -2858,6 +3239,10 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2886,6 +3271,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -2895,6 +3281,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2923,6 +3313,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -2932,6 +3323,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2960,6 +3355,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -2969,6 +3365,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -2997,6 +3397,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -3006,6 +3407,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -3034,6 +3439,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3043,6 +3449,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -3071,6 +3481,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3080,6 +3491,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -3108,6 +3523,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3117,6 +3533,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3145,6 +3565,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3154,6 +3575,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3182,6 +3607,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3191,6 +3617,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -3219,6 +3649,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3228,6 +3659,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3256,6 +3691,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3265,6 +3701,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -3293,6 +3733,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3302,6 +3743,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -3330,6 +3775,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3339,6 +3785,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3367,6 +3817,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3376,6 +3827,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -3404,6 +3859,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3413,6 +3869,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3441,6 +3901,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3450,6 +3911,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3478,6 +3943,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -3487,6 +3953,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -3515,6 +3985,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3524,6 +3995,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3552,6 +4027,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3561,6 +4037,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3589,6 +4069,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3598,6 +4079,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3626,6 +4111,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3635,6 +4121,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3663,6 +4153,7 @@ spec_hgt_lvl_above_grnd 3000. ? ? +? 0 0.0 0 @@ -3672,6 +4163,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3700,6 +4195,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3709,6 +4205,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3737,6 +4237,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3746,6 +4247,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3774,6 +4279,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3783,6 +4289,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3811,6 +4321,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3820,6 +4331,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3848,6 +4363,7 @@ level_free_convection ? ? ? +? 0 0.0 0 @@ -3857,6 +4373,10 @@ level_free_convection 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -3885,6 +4405,7 @@ HGT ? ? ? +? 0 0.0 0 @@ -3894,6 +4415,10 @@ HGT 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3922,6 +4447,7 @@ RH ? ? ? +? 0 0.0 0 @@ -3931,6 +4457,10 @@ RH 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -3959,6 +4489,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -3968,6 +4499,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3996,6 +4531,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -4005,6 +4541,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4033,6 +4573,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -4042,6 +4583,10 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -4070,6 +4615,7 @@ PRES ? ? ? +? 0 0.0 0 @@ -4079,6 +4625,10 @@ PRES 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4107,6 +4657,7 @@ isothermal ? ? ? +? 0 0.0 0 @@ -4116,6 +4667,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4144,6 +4699,7 @@ isothermal ? ? ? +? 0 0.0 0 @@ -4153,6 +4709,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4181,6 +4741,7 @@ lwst_lvl_of_wet_bulb_zero ? ? ? +? 0 0.0 0 @@ -4190,6 +4751,10 @@ lwst_lvl_of_wet_bulb_zero 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -4218,6 +4783,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4227,6 +4793,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -4255,6 +4825,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4264,6 +4835,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -4292,6 +4867,7 @@ cloud_ceilng ? ? ? +? 0 0.0 0 @@ -4301,6 +4877,10 @@ cloud_ceilng 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -4309,9 +4889,9 @@ cloud_ceilng ? ? ? -409 -GSD_HGT_ON_CLOUD_TOP -GSD_geopotential height on cloud top +179 +HGT_ON_CLOUD_TOP +? 1 tmpl4_0 HGT @@ -4329,6 +4909,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -4338,6 +4919,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -4366,6 +4951,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4375,6 +4961,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.7 0 @@ -4403,6 +4993,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -4412,6 +5003,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -4424,7 +5019,7 @@ entire_atmos_single_lyr SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 -tmpl4_0 +tmpl4_48 COLMD ? ? @@ -4438,6 +5033,7 @@ entire_atmos_single_lyr ? 0 ? +particulate_org_matter_dry ? ? 0 @@ -4449,6 +5045,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -4477,6 +5077,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4486,6 +5087,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4514,6 +5119,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4523,6 +5129,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -4551,6 +5161,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4560,6 +5171,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -4588,6 +5203,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4597,6 +5213,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -4625,6 +5245,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4634,6 +5255,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -4662,6 +5287,7 @@ isobaric_sfc 100000. ? ? +? 0 0.0 0 @@ -4671,6 +5297,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4699,6 +5329,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -4708,6 +5339,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4736,6 +5371,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4745,6 +5381,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -4773,6 +5413,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4782,6 +5423,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -4810,6 +5455,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4819,6 +5465,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4847,6 +5497,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4856,6 +5507,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4884,6 +5539,7 @@ shall_convective_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -4893,6 +5549,10 @@ shall_convective_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4921,6 +5581,7 @@ shall_convective_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -4930,6 +5591,10 @@ shall_convective_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4958,6 +5623,7 @@ deep_convective_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -4967,6 +5633,10 @@ deep_convective_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4995,6 +5665,7 @@ deep_convective_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5004,6 +5675,10 @@ deep_convective_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5032,6 +5707,7 @@ convective_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -5041,6 +5717,10 @@ convective_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5069,6 +5749,7 @@ convective_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5078,6 +5759,10 @@ convective_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5106,6 +5791,7 @@ convective_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -5115,6 +5801,10 @@ convective_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5143,6 +5833,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -5152,6 +5843,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5180,6 +5875,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -5189,6 +5885,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5217,6 +5917,7 @@ convective_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5226,6 +5927,10 @@ convective_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5254,6 +5959,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -5263,6 +5969,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5291,6 +6001,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5300,6 +6011,10 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5328,6 +6043,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5337,6 +6053,10 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5365,6 +6085,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5374,6 +6095,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5402,6 +6127,7 @@ bound_lyr_cloud_lyr ? ? ? +? 0 0.0 0 @@ -5411,6 +6137,10 @@ bound_lyr_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5439,6 +6169,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -5448,6 +6179,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -5476,6 +6211,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -5485,6 +6221,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -5513,48 +6253,16 @@ entire_atmos ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -6.0 -0 -0 -0 -? -? -? -770 -GSD_RADARVIL_ON_ENTIRE_ATMOS -? -1 -tmpl4_0 -VIL -? -? -entire_atmos -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -5587,6 +6295,7 @@ equil_lvl ? ? ? +? 0 0.0 0 @@ -5596,6 +6305,10 @@ equil_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5624,6 +6337,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5633,6 +6347,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -5661,6 +6379,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -5670,6 +6389,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -5698,6 +6421,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -5707,6 +6431,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -5735,6 +6463,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -5744,6 +6473,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5752,8 +6485,8 @@ spec_pres_above_grnd ? ? ? -798 -GSD_PRES_ON_CLOUD_BASE +148 +PRES_ON_CLOUD_BASE ? 1 tmpl4_0 @@ -5772,6 +6505,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -5781,6 +6515,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5809,6 +6547,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -5818,6 +6557,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5846,6 +6589,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -5855,6 +6599,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -5863,8 +6611,8 @@ cloud_top ? ? ? -711 -GSD_HGT_ON_CLOUD_BASE +178 +HGT_ON_CLOUD_BASE ? 1 tmpl4_0 @@ -5883,6 +6631,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -5892,6 +6641,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -5920,6 +6673,7 @@ spec_hgt_lvl_above_grnd 1000. ? ? +? 0 0.0 0 @@ -5929,6 +6683,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -5957,6 +6715,7 @@ spec_hgt_lvl_above_grnd 1000. ? ? +? 0 0.0 0 @@ -5966,6 +6725,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -5994,6 +6757,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -6003,6 +6767,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6031,6 +6799,7 @@ spec_hgt_lvl_above_grnd 6000. ? ? +? 0 0.0 0 @@ -6040,6 +6809,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6068,6 +6841,7 @@ surface ? ? ? +? 0 0.0 0 @@ -6077,6 +6851,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -6105,6 +6883,7 @@ lvl_of_adiab_cond_from_sfc ? ? ? +? 0 0.0 0 @@ -6114,6 +6893,10 @@ lvl_of_adiab_cond_from_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -6142,6 +6925,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -6151,6 +6935,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -6179,6 +6967,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -6188,6 +6977,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -6216,6 +7009,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -6225,6 +7019,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -6253,6 +7051,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -6262,6 +7061,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -6290,6 +7093,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -6299,6 +7103,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -6327,6 +7135,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -6336,6 +7145,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -6380,6 +7193,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6389,6 +7203,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6417,6 +7235,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6426,6 +7245,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -6454,6 +7277,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6463,6 +7287,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6491,6 +7319,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6500,6 +7329,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6528,6 +7361,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6537,6 +7371,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6565,6 +7403,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6574,6 +7413,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -6602,6 +7445,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6611,6 +7455,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 0 @@ -6639,6 +7487,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6648,6 +7497,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6676,6 +7529,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6685,6 +7539,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6713,6 +7571,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6722,6 +7581,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6750,6 +7613,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6759,6 +7623,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6787,6 +7655,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6796,6 +7665,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6805,7 +7678,7 @@ hybrid_lvl ? ? 747 -GSD_NCCD_ON_HYBRID_LVL +NCCD_ON_HYBRID_LVL Number concentration for cloud water drops on hybrid level 1 tmpl4_0 @@ -6824,6 +7697,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6833,6 +7707,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6842,7 +7720,7 @@ hybrid_lvl ? ? 752 -GSD_NCIP_ON_HYBRID_LVL +NCIP_ON_HYBRID_LVL Number concentration for ice particles on hybrid level 1 tmpl4_0 @@ -6861,6 +7739,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6870,6 +7749,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6879,7 +7762,7 @@ hybrid_lvl ? ? 754 -GSD_NCRAIN_ON_HYBRID_LVL +NCRAIN_ON_HYBRID_LVL ? 1 tmpl4_0 @@ -6898,6 +7781,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6907,6 +7791,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -6935,6 +7823,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6944,6 +7833,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6972,6 +7865,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -6981,6 +7875,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7009,6 +7907,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7018,6 +7917,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -7046,6 +7949,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -7055,6 +7959,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7067,7 +7975,7 @@ hybrid_lvl SMOKE_ON_HYBRID_LVL ? 1 -tmpl4_0 +tmpl4_48 MASSDEN ? ? @@ -7081,6 +7989,7 @@ hybrid_lvl ? 0 ? +particulate_org_matter_dry ? ? 0 @@ -7092,6 +8001,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7120,6 +8033,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7129,6 +8043,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7157,6 +8075,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -7166,6 +8085,10 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -0.1 0 @@ -7194,6 +8117,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7203,6 +8127,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7231,6 +8159,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7240,6 +8169,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -7268,6 +8201,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7277,6 +8211,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -7305,6 +8243,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7314,6 +8253,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.7 0 @@ -7342,6 +8285,7 @@ lwst_lvl_of_wet_bulb_zero ? ? ? +? 0 0.0 0 @@ -7351,6 +8295,10 @@ lwst_lvl_of_wet_bulb_zero 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -7379,6 +8327,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7388,6 +8337,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -7416,6 +8369,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7425,6 +8379,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -7453,6 +8411,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7462,6 +8421,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -7490,6 +8453,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7499,6 +8463,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7527,6 +8495,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7536,6 +8505,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -7564,6 +8537,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7573,6 +8547,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -7601,6 +8579,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7610,6 +8589,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7638,6 +8621,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7647,6 +8631,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -7675,6 +8663,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7684,6 +8673,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -7712,6 +8705,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7721,6 +8715,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -7749,6 +8747,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7758,6 +8757,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -7786,6 +8789,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -7795,6 +8799,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -7823,6 +8831,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -7832,6 +8841,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7860,6 +8873,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -7869,6 +8883,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -7897,6 +8915,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -7906,6 +8925,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -7934,6 +8957,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -7943,6 +8967,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -7971,6 +8999,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -7980,6 +9009,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -8008,6 +9041,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -8017,6 +9051,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -8045,6 +9083,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -8054,6 +9093,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -8082,6 +9125,7 @@ depth_bel_land_sfc 0. 1. 4. 10. 30. 60. 100. 160. 300. ? ? +? 0 0.0 0 @@ -8091,6 +9135,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -8119,6 +9167,7 @@ depth_bel_land_sfc 0. 1. 4. 10. 30. 60. 100. 160. 300. ? ? +? 0 0.0 0 @@ -8128,6 +9177,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -8156,11 +9209,16 @@ surface ? ? ? +? +0 +0.0 +0 +0.0 +? 0 0.0 0 0.0 -? 0 0.0 0 @@ -8193,6 +9251,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8202,6 +9261,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -8230,6 +9293,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8239,6 +9303,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -8267,6 +9335,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -8276,6 +9345,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -8304,6 +9377,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8313,6 +9387,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -8341,6 +9419,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8350,6 +9429,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -8378,6 +9461,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8387,6 +9471,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -8415,6 +9503,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8424,6 +9513,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -8452,6 +9545,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8461,6 +9555,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -8489,6 +9587,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8498,6 +9597,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -8526,6 +9629,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8535,6 +9639,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -8563,6 +9671,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8572,6 +9681,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -8600,6 +9713,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8609,6 +9723,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -8637,6 +9755,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8646,6 +9765,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -8674,6 +9797,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8683,6 +9807,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -8711,6 +9839,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8720,6 +9849,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -8748,6 +9881,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8757,6 +9891,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -8769,7 +9907,7 @@ spec_hgt_lvl_above_grnd SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m ? 1 -tmpl4_0 +tmpl4_48 MASSDEN ? ? @@ -8783,6 +9921,7 @@ spec_hgt_lvl_above_grnd ? 0 ? +particulate_org_matter_dry ? ? 0 @@ -8794,6 +9933,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -8822,6 +9965,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8831,6 +9975,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 0 @@ -8859,6 +10007,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8868,6 +10017,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -8896,6 +10049,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8905,6 +10059,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -8933,6 +10091,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8942,6 +10101,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -8970,6 +10133,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8979,6 +10143,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -9007,6 +10175,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9016,6 +10185,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -9044,6 +10217,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9053,6 +10227,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -9081,6 +10259,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9090,6 +10269,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9118,6 +10301,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9127,6 +10311,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9155,6 +10343,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -9164,6 +10353,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -9192,6 +10385,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -9201,6 +10395,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9229,6 +10427,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9238,6 +10437,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9266,6 +10469,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9275,6 +10479,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9303,6 +10511,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9312,6 +10521,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9340,6 +10553,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -9349,6 +10563,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9361,7 +10579,7 @@ entire_atmos_single_lyr SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 -tmpl4_0 +tmpl4_48 COLMD ? ? @@ -9375,6 +10593,7 @@ entire_atmos_single_lyr ? 0 ? +particulate_org_matter_dry ? ? 0 @@ -9386,6 +10605,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9414,6 +10637,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9423,6 +10647,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9451,6 +10679,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9460,6 +10689,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 1.0 0 @@ -9488,6 +10721,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9497,6 +10731,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.7 0 @@ -9525,6 +10763,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9534,6 +10773,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9562,6 +10805,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -9571,6 +10815,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -9599,6 +10847,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -9608,6 +10857,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -9636,6 +10889,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9645,6 +10899,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9673,6 +10931,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9682,6 +10941,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9710,6 +10973,7 @@ entire_atmos ? ? ? +? 0 0.0 0 @@ -9719,6 +10983,10 @@ entire_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9747,6 +11015,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -9756,6 +11025,10 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9784,6 +11057,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -9793,6 +11067,10 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9821,6 +11099,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -9830,6 +11109,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9838,8 +11121,8 @@ high_cloud_lyr ? ? ? -798 -GSD_PRES_ON_CLOUD_BASE +148 +PRES_ON_CLOUD_BASE ? 1 tmpl4_0 @@ -9858,6 +11141,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -9867,6 +11151,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9895,6 +11183,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -9904,6 +11193,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -9932,6 +11225,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -9941,6 +11235,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -9949,8 +11247,8 @@ cloud_top ? ? ? -711 -GSD_HGT_ON_CLOUD_BASE +178 +HGT_ON_CLOUD_BASE ? 1 tmpl4_0 @@ -9969,6 +11267,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -9978,6 +11277,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 0 @@ -10006,6 +11309,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -10015,6 +11319,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -10043,6 +11351,7 @@ cloud_ceilng ? ? ? +? 0 0.0 0 @@ -10052,6 +11361,10 @@ cloud_ceilng 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 diff --git a/parm/postxconfig-NT-wps.txt b/parm/postxconfig-NT-wps.txt new file mode 100644 index 0000000000..c49adab584 --- /dev/null +++ b/parm/postxconfig-NT-wps.txt @@ -0,0 +1,1530 @@ +1 +36 +HURPRS +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +hafs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +20 +VVEL_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VVEL +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +57 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +105 +PRES_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +PRMSL +? +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +NCEP +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +968 +ICETMP_ON_SURFACE +? +1 +tmpl4_0 +ICETMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +349 +ICETK_ON_SURFACE +? +1 +tmpl4_0 +ICETK +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +yes diff --git a/parm/postxconfig-NT.txt b/parm/postxconfig-NT.txt deleted file mode 100644 index c59bb0e247..0000000000 --- a/parm/postxconfig-NT.txt +++ /dev/null @@ -1,3681 +0,0 @@ -1 -99 -WRFPRS -4 -ncep_nco -v2003 -local_tab_yes1 -fcst -oper -fcst -fcst -hour -nws_ncep -wrf_em_ncar_arwrf -complex_packing_spatial_diff -2nd_ord_sptdiff -fltng_pnt -lossless -1 -PRES_ON_HYBRID_LVL -? -1 -tmpl4_0 -PRES -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -77 -HGT_ON_HYBRID_LVL -? -1 -tmpl4_0 -HGT -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -2 -TMP_ON_HYBRID_LVL -? -1 -tmpl4_0 -TMP -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -3 -POT_ON_HYBRID_LVL -? -1 -tmpl4_0 -POT -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -4 -DPT_ON_HYBRID_LVL -? -1 -tmpl4_0 -DPT -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -5 -SPFH_ON_HYBRID_LVL -? -1 -tmpl4_0 -SPFH -? -? -hybrid_lvl -0 -? -1 -1. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -7.0 -0 -0 -0 -? -? -? -6 -RH_ON_HYBRID_LVL -? -1 -tmpl4_0 -RH -? -? -hybrid_lvl -0 -? -1 -1. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -7 -UGRD_ON_HYBRID_LVL -? -1 -tmpl4_0 -UGRD -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -8 -VGRD_ON_HYBRID_LVL -? -1 -tmpl4_0 -VGRD -? -? -hybrid_lvl -0 -? -5 -1. 2. 3. 4. 5. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -9 -VVEL_ON_HYBRID_LVL -? -1 -tmpl4_0 -VVEL -? -? -hybrid_lvl -0 -? -1 -1. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -250 -REFD_ON_HYBRID_LVL -? -1 -tmpl4_0 -REFD -NCEP -? -hybrid_lvl -0 -? -2 -1. 2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -12 -HGT_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -HGT -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -13 -TMP_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -TMP -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -15 -DPT_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -DPT -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -17 -RH_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -RH -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -2.0 -0 -0 -0 -? -? -? -18 -UGRD_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -UGRD -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -19 -VGRD_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -VGRD -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -20 -VVEL_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -VVEL -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -166 -CICE_ON_ISOBARIC_SFC -? -1 -tmpl4_0 -CICE -? -? -isobaric_sfc -0 -? -46 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -23 -MSLET_ON_MEAN_SEA_LVL -? -1 -tmpl4_0 -MSLET -NCEP -? -mean_sea_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -105 -PRES_ON_MEAN_SEA_LVL -? -1 -tmpl4_0 -PRMSL -? -? -mean_sea_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -106 -TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -TMP -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -112 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -SPFH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -113 -DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -DPT -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -114 -RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -RH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -64 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -? -1 -tmpl4_0 -UGRD -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -10. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -65 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -? -1 -tmpl4_0 -VGRD -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -10. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -246 -PLPL_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -PLPL -NCEP -? -spec_pres_above_grnd -0 -? -1 -25500. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -159 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -? -1 -tmpl4_0 -SPFH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -10. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -24 -PRES_ON_SURFACE -? -1 -tmpl4_0 -PRES -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -25 -HGT_ON_SURFACE -? -1 -tmpl4_0 -HGT -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -27 -POT_ON_SURFACE -? -1 -tmpl4_0 -POT -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -28 -SPFH_ON_SURFACE -? -1 -tmpl4_0 -SPFH -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -26 -TMP_ON_SURFACE -? -1 -tmpl4_0 -TMP -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -116 -TSOIL_ON_DEPTH_BEL_LAND_SFC -? -1 -tmpl4_0 -TSOIL -? -? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -117 -SOILW_ON_DEPTH_BEL_LAND_SFC -? -1 -tmpl4_0 -SOILW -NCEP -? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -225 -SOILL_ON_DEPTH_BEL_LAND_SFC -? -1 -tmpl4_0 -SOILL -NCEP -? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -36 -SOILM_ON_DEPTH_BEL_LAND_SFC -? -1 -tmpl4_0 -SOILM -? -? -depth_bel_land_sfc -1 -2 -1 -0. -depth_bel_land_sfc -1 -2 -1 -200. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -119 -WEASD_ON_SURFACE -? -1 -tmpl4_0 -WEASD -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -120 -SNOWC_ON_SURFACE -? -1 -tmpl4_0 -SNOWC -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -30 -LFTX_ON_ISOBARIC_SFC_500-1000hpa -? -1 -tmpl4_0 -LFTX -NCEP -? -isobaric_sfc -0 -? -1 -50000. -isobaric_sfc -0 -? -1 -100000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -32 -CAPE_ON_SURFACE -? -1 -tmpl4_0 -CAPE -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -566 -BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CAPE -? -? -spec_pres_above_grnd -0 -? -1 -18000. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -582 -MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CAPE -? -? -spec_pres_above_grnd -0 -? -1 -9000. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -584 -UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CAPE -? -? -spec_pres_above_grnd -0 -? -1 -25500. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -107 -CIN_ON_SURFACE -? -1 -tmpl4_0 -CIN -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -567 -BEST_CIN_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CIN -? -? -spec_pres_above_grnd -0 -? -1 -18000. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -583 -MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CIN -? -? -spec_pres_above_grnd -0 -? -1 -9000. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -585 -UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -CIN -? -? -spec_pres_above_grnd -0 -? -1 -25500. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -80 -PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR -? -1 -tmpl4_0 -PWAT -? -? -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -162 -HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND -? -1 -tmpl4_0 -HLCY -? -? -spec_hgt_lvl_above_grnd -0 -? -2 -3000. 1000. -spec_hgt_lvl_above_grnd -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -163 -USTM_ON_SPEC_HGT_LVL_ABOVE_GRND -? -1 -tmpl4_0 -USTM -NCEP -? -spec_hgt_lvl_above_grnd -0 -? -1 -6000. -spec_hgt_lvl_above_grnd -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -164 -VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND -? -1 -tmpl4_0 -VSTM -NCEP -? -spec_hgt_lvl_above_grnd -0 -? -1 -6000. -spec_hgt_lvl_above_grnd -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -87 -ACM_APCP_ON_SURFACE -? -1 -tmpl4_8 -APCP -? -ACM -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -160 -INST_CRAIN_ON_SURFACE -? -1 -tmpl4_0 -CRAIN -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? -? -551 -CSNOW_ON_SURFACE -Categorical snow on surface -1 -tmpl4_0 -CSNOW -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? -? -552 -CICEP_ON_SURFACE -Categorical ice pellets on surface -1 -tmpl4_0 -CICEP -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? -? -553 -CFRZR_ON_SURFACE -Categorical freezing rain on surface -1 -tmpl4_0 -CFRZR -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? -? -145 -TCDC_ON_HYBRID_LVL -? -1 -tmpl4_0 -TCDC -? -? -hybrid_lvl -0 -? -2 -1. 2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -37 -LCDC_ON_LOW_CLOUD_LYR -? -1 -tmpl4_0 -LCDC -? -? -low_cloud_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -38 -MCDC_ON_MID_CLOUD_LYR -? -1 -tmpl4_0 -MCDC -? -? -mid_cloud_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -39 -HCDC_ON_HIGH_CLOUD_LYR -? -1 -tmpl4_0 -HCDC -? -? -high_cloud_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -180 -VIS_ON_SURFACE -? -1 -tmpl4_0 -VIS -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -410 -GSD_VIS_ON_CLOUD_TOP -GSD_visibility on cloud top -1 -tmpl4_0 -VIS -? -? -cloud_top -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -109 -HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC -? -1 -tmpl4_0 -HGT -? -? -lvl_of_adiab_cond_from_sfc -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -110 -PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC -? -1 -tmpl4_0 -PRES -? -? -lvl_of_adiab_cond_from_sfc -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -177 -HGT_ON_TROPOPAUSE -? -1 -tmpl4_0 -HGT -? -? -tropopause -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -579 -PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT -? -1 -tmpl4_0 -PRES -? -? -spec_hgt_lvl_above_grnd -0 -? -4 -30. 50. 80. 100. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -412 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND -U-Component of Wind on Specified Height Level Above Ground -1 -tmpl4_0 -UGRD -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -80. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -413 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND -V-Component of Wind on Specified Height Level Above Ground -1 -tmpl4_0 -VGRD -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -80. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -73 -UGRD_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -UGRD -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -74 -VGRD_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -VGRD -? -? -spec_pres_above_grnd -0 -? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd -0 -? -6 -0. 3000. 6000. 9000. 12000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -90 -VVEL_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -VVEL -? -? -spec_pres_above_grnd -0 -? -3 -3000. 9000. 18000. -spec_pres_above_grnd -0 -? -3 -0. 6000. 15000. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -178 -HGT_ON_CLOUD_BASE -? -1 -tmpl4_0 -HGT -? -? -cloud_base -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -179 -HGT_ON_CLOUD_TOP -? -1 -tmpl4_0 -HGT -? -? -cloud_top -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -168 -TMP_ON_CLOUD_TOP -? -1 -tmpl4_0 -TMP -? -? -cloud_top -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -252 -REFC_ON_ENTIRE_ATMOS -? -1 -tmpl4_0 -REFC -NCEP -? -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -253 -REFD_ON_SPEC_HGT_LVL_ABOVE_GRND -? -1 -tmpl4_0 -REFD -NCEP -? -spec_hgt_lvl_above_grnd -0 -? -2 -4000. 1000. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -260 -HGT_ON_CLOUD_CEILING -? -1 -tmpl4_0 -HGT -? -? -cloud_ceilng -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -23 -MSLET_ON_MEAN_SEA_LVL -? -1 -tmpl4_0 -MSLET -NCEP -? -mean_sea_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -105 -PRES_ON_MEAN_SEA_LVL -? -1 -tmpl4_0 -PRMSL -? -? -mean_sea_lvl -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -138 -PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -PRES -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -106 -TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -TMP -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -112 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -SPFH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -113 -DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -DPT -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -114 -RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -RH -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -24 -PRES_ON_SURFACE -? -1 -tmpl4_0 -PRES -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -6.0 -0 -0 -0 -? -? -? -170 -VEG_ON_SURFACE -? -1 -tmpl4_0 -VEG -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -171 -MSTAV_ON_DEPTH_BEL_LAND_SFC -? -1 -tmpl4_0 -MSTAV -NCEP -? -depth_bel_land_sfc -1 -2 -1 -0. -depth_bel_land_sfc -1 -2 -1 -100. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -31 -4LFTX_ON_SPEC_PRES_ABOVE_GRND -? -1 -tmpl4_0 -4LFTX -NCEP -? -spec_pres_above_grnd -0 -? -1 -18000. -spec_pres_above_grnd -0 -? -1 -0. -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? -? -48 -NLAT_ON_SURFACE -? -1 -tmpl4_0 -NLAT -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -49 -ELON_ON_SURFACE -? -1 -tmpl4_0 -ELON -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -50 -LAND_ON_SURFACE -? -1 -tmpl4_0 -LAND -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -1.0 -0 -0 -0 -? -? -? -457 -NON_NADIR_SBT123_ON_TOP_OF_ATMOS -Simulated Brightness Temperature for GOES12, Channel 3 on top of atmosphere -1 -tmpl4_0 -SBT123 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -458 -NON_NADIR_SBT124_ON_TOP_OF_ATMOS -Simulated Brightness Temperature for GOES12, Channel 4 on top of atmosphere -1 -tmpl4_0 -SBT124 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -461 -SBT113_ON_TOP_OF_ATMOS -Simulated Brightness Temperature for GOES11, Channel 3 on top of atmosphere -1 -tmpl4_0 -SBT113 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -461 -SBT113_ON_TOP_OF_ATMOS -Simulated Brightness Temperature for GOES11, Channel 3 on top of atmosphere -1 -tmpl4_0 -SBT113 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -462 -SBT114_ON_TOP_OF_ATMOS -Simulated Brightness Temperature for GOES11, Channel 4 on top of atmosphere -1 -tmpl4_0 -SBT114 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -462 -SBT114_ON_TOP_OF_ATMOS -Simulated Brightness Temperature for GOES11, Channel 4 on top of atmosphere -1 -tmpl4_0 -SBT114 -? -? -top_of_atmos -0 -? -0 -? -? -0 -? -0 -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? diff --git a/parm/rap_postcntrl.xml b/parm/rap_postcntrl.xml index 1101508dbe..3631118467 100644 --- a/parm/rap_postcntrl.xml +++ b/parm/rap_postcntrl.xml @@ -717,7 +717,7 @@ - GSD_HGT_ON_CLOUD_TOP + HGT_ON_CLOUD_TOP -3.0 @@ -894,11 +894,6 @@ 6.0 - - GSD_RADARVIL_ON_ENTIRE_ATMOS - 6.0 - - HGT_ON_EQUIL_LVL -1.0 @@ -930,7 +925,7 @@ - GSD_PRES_ON_CLOUD_BASE + PRES_ON_CLOUD_BASE 3.0 @@ -945,7 +940,7 @@ - GSD_HGT_ON_CLOUD_BASE + HGT_ON_CLOUD_BASE -1.0 @@ -1124,7 +1119,7 @@ - GSD_NCCD_ON_HYBRID_LVL + NCCD_ON_HYBRID_LVL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. @@ -1132,7 +1127,7 @@ - GSD_NCIP_ON_HYBRID_LVL + NCIP_ON_HYBRID_LVL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. @@ -1140,7 +1135,7 @@ - GSD_NCRAIN_ON_HYBRID_LVL + NCRAIN_ON_HYBRID_LVL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. @@ -1588,7 +1583,7 @@ - GSD_PRES_ON_CLOUD_BASE + PRES_ON_CLOUD_BASE 3.0 @@ -1603,7 +1598,7 @@ - GSD_HGT_ON_CLOUD_BASE + HGT_ON_CLOUD_BASE -1.0 diff --git a/parm/rap_wrf_cntrl.parm b/parm/rap_wrf_cntrl.parm deleted file mode 100644 index 738966b622..0000000000 --- a/parm/rap_wrf_cntrl.parm +++ /dev/null @@ -1,365 +0,0 @@ - KGTYPE******I5*******:(00255)********START OF THIS OUTPUT GRID****** - IMDLTY *I5* :(00125) - DATSET *A6* :(WRFTWO) - (MAPS SLP ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER TEMPERATURE ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER POT TEMP ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER SPEC HUMID ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER DEWPOINT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER DEWP DEPRES ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE EQ POT TEMP ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER REL HUMID ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT ANEMOM HT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT ANEMOM HT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE PRESSURE ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW WATER EQUIVALNT) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PERCENT SNOW COVER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW DEPTH ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESS AT TROPOPAUSE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP AT TROPOPAUSE ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POTENTL TEMP AT TROP) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT TROPOPAUSE) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT TROPOPAUSE) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT OF FRZ LVL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUMID AT FRZ LVL) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HIGHEST FRZ LVL PRES) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HIGHEST FREEZE LVL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HIGHEST FRZ LVL RH ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESSURE OF FRZ LVL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LOW WET BULB ZERO HT) SCAL=(-1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM STORM SFC RNOFF ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM BSFL-GDWR RNOFF ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--BEST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--SURFCE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SEA ICE MASK ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CNVCT AVBL POT ENRGY) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CNVCT INHIBITION ) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRECIPITABLE WATER ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (STORM REL HELICITY ) SCAL=( 4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM TOTAL PRECIP ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM CONVCTIVE PRECIP) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM GRD SCALE PRECIP) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM SNOWFALL ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BUCKET SNOW PRECIP ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BUCKET TOTAL PRECIP ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BUCKET CONV PRECIP ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BUCKET GRDSCALE PRCP) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GSD PRECIP TYPE ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTANT PRECIP RATE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV PRECIP RATE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SEA SFC TEMPERATURE ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GSD CLD BOT HEIGHT ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GSD CLD TOP HEIGHT ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PBL HEIGHT ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX WIND PRESS LEVEL) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP MAX WIND ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP MAX WIND ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (COMPOSITE RADAR REFL) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADAR REFL AGL ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GSD VISIBILITY ) SCAL=( 2.7) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST GROUND HEAT FLX) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST SFC SENHEAT FX ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST SFC LATHEAT FX ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFT PCL LVL PRESS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP IN BNDRY LYR ) SCAL=( 3.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TMP IN BNDRY LYR) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DWPT IN BNDRY LYR ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUM IN BNDRY LYR) SCAL=(-0.1) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND IN BNDRY LYR ) SCAL=( 3.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND IN BNDRY LYR ) SCAL=( 3.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (OMEGA IN BNDRY LYR ) SCAL=(-5.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RH WRT PRECIP WATER ) SCAL=(-0.1) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC (SKIN) TEMPRATUR) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT AT TROPOPAUSE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL TEMPERATURE ) SCAL=( 3.0) - L=(11111 11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOISTURE ) SCAL=( 4.0) - L=(11111 11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX 10m WIND SPEED ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX UPDRAFT VERT VEL) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX DNDRAFT VERT VEL) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX 1km REFLECTIVITY) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX UPDRAFT HELICITY) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MEAN VERT VEL ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX VERT INTEG GRAUP) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LCL AGL HEIGHT ) SCAL=(-3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP STORM MOTION ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP STORM MOTION ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP 0-1 KM SHEAR ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP 0-1 KM SHEAR ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP 0-6 KM SHEAR ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP 0-6 KM SHEAR ) SCAL=(-4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC WIND GUST ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (FRICTION VELOCITY ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC SW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC LW RAD) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT TOA LW RAD) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DIRECT SOIL EVAP ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY WATER EVAP ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PLANT TRANSPIRATION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PLANT CANOPY SFC WTR) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC SW RAD) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL CLD FRACTION ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LOW CLOUD FRACTION ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MID CLOUD FRACTION ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HIGH CLOUD FRACTION ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LAND/SEA MASK ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (VEGETATION TYPE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL TYPE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHAL CU CLD BOT PRES) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHAL CU CLD TOP PRES) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DEEP CU CLD BOT PRES) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DEEP CU CLD TOP PRES) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD BOT PRESS) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD TOP PRESS) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLD TOP HGHT ) SCAL=(-1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CEILING ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLEAR AIR TURBULENCE) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (0-2000FT LLWS ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ECHO TOPS IN KFT ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (EQUIL LEVEL HEIGHT ) SCAL=(-1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIGHTNING ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADAR REFLECT - 1km ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADAR REFLECT - 4km ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD BOT PRESSURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP PRESSURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP TEMPS ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL SOIL MOISTURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BOTTOM SOIL TEMP ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOISTURE AVAIL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE HEIGHT ) SCAL=(-5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADARVIL ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ECHOTOP ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) -***DONE WITH THIS GRID*** - KGTYPE******I5*******:(00255)********START OF THIS OUTPUT GRID****** - IMDLTY *I5* :(00125) - DATSET *A6* :(WRFPRS) - (HEIGHT OF PRESS SFCS) SCAL=(-5.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (TEMP ON PRESS SFCS ) SCAL=(-4.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (DWPT TEMP ON P SFCS ) SCAL=(-4.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (SPEC HUM ON P SFCS ) SCAL=( 3.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (REL HUMID ON P SFCS ) SCAL=(-3.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (U WIND ON PRESS SFCS) SCAL=(-4.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (V WIND ON PRESS SFCS) SCAL=(-4.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (OMEGA ON PRESS SFCS ) SCAL=(-5.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (ABS VORT ON P SFCS ) SCAL=( 3.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (CLOUD ICE ON P SFCS ) SCAL=( 6.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (CLOUD WATR ON P SFCS) SCAL=( 6.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (RAIN ON P SFCS ) SCAL=( 6.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (SNOW ON P SFCS ) SCAL=( 6.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (GRAUPEL ON P SFCS ) SCAL=( 6.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (TRBLNT KE ON P SFCS ) SCAL=( 3.0) - L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 11000 00000 00000 00000 00000) - (PRESS ON MDL SFCS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT ON MDL SFCS ) SCAL=(-3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP ON MDL SFCS ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPEC HUM ON MDL SFCS) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND ON MDL SFCS ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND ON MDL SFCS ) SCAL=(-4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD WTR ON MDL SFCS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD ICE ON MDL SFCS ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHUELL MEAN SLP ) SCAL=(-0.1) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP AT FD HEIGHTS ) SCAL=( 3.0) - L=(00200 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT FD HEIGHTS) SCAL=( 3.0) - L=(00200 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT FD HEIGHTS) SCAL=( 3.0) - L=(00200 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESS AT FD HEIGHTS ) SCAL=( 3.0) - L=(00200 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPE HUM AT FD HEIGHT) SCAL=( 3.0) - L=(00200 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) -***DONE WITH THIS GRID*** - KGTYPE******I5*******:(00255)********START OF THIS OUTPUT GRID****** - IMDLTY *I5* :(00125) - DATSET *A6* :(WRFNAT) - (PRESS ON MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (HEIGHT ON MDL SFCS ) SCAL=(-5.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (TEMP ON MDL SFCS ) SCAL=(-4.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (SPEC HUM ON MDL SFCS) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (U WIND ON MDL SFCS ) SCAL=(-4.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (V WIND ON MDL SFCS ) SCAL=(-4.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (OMEGA ON MDL SFCS ) SCAL=(-4.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (WV MIX R ON MDL SFCS) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (CLD WTR ON MDL SFCS ) SCAL=( 6.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (CLD ICE ON MDL SFCS ) SCAL=( 6.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (RAIN ON MDL SFCS ) SCAL=( 6.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (SNOW ON MDL SFCS ) SCAL=( 6.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (GRAUPEL ON MDL SFCS ) SCAL=( 6.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (TRBLNT KE ON MDL SFC) SCAL=(-2.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (NCICE ON MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (NCRAIN ON MDL SFCS ) SCAL=( 3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) - (CLD FRAC ON MDL SFCS) SCAL=(-3.0) - L=(11111 11111 11111 11111 11111 11111 11111 11111 11111 11111 00000 00000 00000 00000) -***DONE WITH THIS GRID*** - diff --git a/parm/rrfs/postxconfig-NT-refs.txt b/parm/rrfs/postxconfig-NT-refs.txt new file mode 100644 index 0000000000..a384254596 --- /dev/null +++ b/parm/rrfs/postxconfig-NT-refs.txt @@ -0,0 +1,19921 @@ +3 +233 +212 +28 +PRSLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +ens_fcst +hour +nws_ncep +refs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +? +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +86 +STRM_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +STRM +? +? +isobaric_sfc +0 +? +2 +25000. 50000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +85 +MCONV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +MCONV +? +? +isobaric_sfc +0 +? +2 +85000. 95000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +88 +MCONV_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +MCONV +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +75 +PLI_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLI +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +30. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +67 +PRES_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PRES +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +68 +TMP_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +TMP +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +69 +POT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +POT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +70 +DPT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +DPT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +71 +SPFH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +SPFH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +72 +RH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +RH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +89 +PWAT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PWAT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +73 +UGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +UGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +74 +VGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +VGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +NATLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +ens_fcst +hour +nws_ncep +refs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +? +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +3 +POT_ON_HYBRID_LVL +? +1 +tmpl4_0 +POT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +6 +RH_ON_HYBRID_LVL +? +1 +tmpl4_0 +RH +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +4 +DPT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DPT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +264 +DZDT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DZDT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +11 +TKE_ON_HYBRID_LVL +? +1 +tmpl4_0 +TKE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +250 +REFD_ON_HYBRID_LVL +? +1 +tmpl4_0 +REFD +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +199 +TCOND_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCOND +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +890 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 +Hourly max relative vorticity on hybrid level 1 +1 +tmpl4_8 +RELV +? +MAX +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +728 +GSD_HAILCAST_HAIL_DIAMETER +? +1 +tmpl4_8 +HAIL +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +506 +MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +U Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +507 +MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +V Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +MAXREF +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +347 +MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MAXRH +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +348 +MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MINRH +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +417 +CACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +124 +CLMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +CLMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +125 +ICMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +ICMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +415 +GRLE_ON_HYBRID_LVL +Graupel mixing ration on hybrid level +1 +tmpl4_0 +GRLE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +145 +TCDC_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCDC +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +181 +RWMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +RWMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +182 +SNMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +SNMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +137 +ACM_PEVAP_ON_SURFACE +? +1 +tmpl4_8 +PEVAP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +702 +GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +703 +GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +2DFLD +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +ens_fcst +hour +nws_ncep +refs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +253 +REFD_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +REFD +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +1000. 4000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +389 +UGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +UGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +390 +VGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +VGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +454 +VRATE_ON_PLANETARY_BOUND_LYR +Ventilation Rate on planetary boundary layer +1 +tmpl4_0 +VRATE +NCEP +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +MAXREF +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +427 +UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_0 +UPHL +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +890 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 +Hourly max relative vorticity on hybrid level 1 +1 +tmpl4_8 +RELV +? +MAX +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +728 +GSD_HAILCAST_HAIL_DIAMETER +? +1 +tmpl4_8 +HAIL +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +702 +GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +703 +GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +725 +GSD_ACM_SNOD_ON_SURFACE +? +1 +tmpl4_8 +ASNOW +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +508 +MAX_PRATE_ON_SURFACE +Maximum Precipitation Rate on surface +1 +tmpl4_8 +PRATE +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +417 +CACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1005 +BUCKET_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +746 +ACM_GRAUPEL_ON_SURFACE +? +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +782 +ACM_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +1003 +BUCKET_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +913 +1H_FFG_EXCEEDANCE +? +1 +tmpl4_9 +QPFFFG +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +1.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +914 +ACM_FFG_EXCEEDANCE +? +1 +tmpl4_9 +QPFFFG +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +1.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +915 +1H_2YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +2.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +916 +ACM_2YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +2.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +917 +1H_5YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +5.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +918 +ACM_5YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +5.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +919 +1H_10YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +10.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +920 +ACM_10YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +10.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +921 +1H_100YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +100.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +922 +ACM_100YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +100.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +137 +ACM_PEVAP_ON_SURFACE +? +1 +tmpl4_8 +PEVAP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +547 +GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DEPR +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +347 +MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MAXRH +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +348 +MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MINRH +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +755 +HWP_ON_SURFACE +Hourly Wildfire Potential on surface +1 +tmpl4_8 +WFIREPOT +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +506 +MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +U Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +507 +MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +V Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +295 +MCONV_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +MCONV +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +287 +HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +lwst_bot_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +288 +HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +hghst_top_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +487 +GSD_EXP_CEILING +? +1 +tmpl4_0 +CEIL +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +275 +BRTMP_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +BRTEMP +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +108 +POT_ON_TROPOPAUSE +? +1 +tmpl4_0 +POT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +586 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +578 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +579 +PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +PRES +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +577 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +451 +SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +SPFH +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +305. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +HGT +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +110 +PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +PRES +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +982 +ELMELT_ON_EFTL +? +1 +tmpl4_0 +ELMELT +NCEP +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-1.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +955 +DENDRITIC_LAYER_DEPTH +? +1 +tmpl4_0 +LAYTH +NCEP +? +isothermal +0 +? +1 +261. +isothermal +0 +? +1 +256. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +227 +MXSALB_ON_SURFACE +? +1 +tmpl4_0 +MXSALB +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +954 +DOWNWARD_CAPE +? +1 +tmpl4_0 +DCAPE +NCEP +? +spec_pres_above_grnd +0 +? +1 +40000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +983 +UESH_ON_EFL +? +1 +tmpl4_0 +UESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +984 +VESH_ON_EFL +? +1 +tmpl4_0 +VESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +588 +ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +ICEG +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/rrfs/postxconfig-NT-refs_f00.txt b/parm/rrfs/postxconfig-NT-refs_f00.txt new file mode 100644 index 0000000000..1f34451a12 --- /dev/null +++ b/parm/rrfs/postxconfig-NT-refs_f00.txt @@ -0,0 +1,15847 @@ +3 +179 +169 +28 +PRSLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +ens_fcst +hour +nws_ncep +refs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +? +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +86 +STRM_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +STRM +? +? +isobaric_sfc +0 +? +2 +25000. 50000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +85 +MCONV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +MCONV +? +? +isobaric_sfc +0 +? +2 +85000. 95000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +88 +MCONV_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +MCONV +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +75 +PLI_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLI +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +30. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +67 +PRES_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PRES +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +68 +TMP_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +TMP +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +69 +POT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +POT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +70 +DPT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +DPT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +71 +SPFH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +SPFH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +72 +RH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +RH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +89 +PWAT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PWAT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +73 +UGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +UGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +74 +VGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +VGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +NATLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +ens_fcst +hour +nws_ncep +refs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +? +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +3 +POT_ON_HYBRID_LVL +? +1 +tmpl4_0 +POT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +6 +RH_ON_HYBRID_LVL +? +1 +tmpl4_0 +RH +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +4 +DPT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DPT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +264 +DZDT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DZDT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +11 +TKE_ON_HYBRID_LVL +? +1 +tmpl4_0 +TKE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +250 +REFD_ON_HYBRID_LVL +? +1 +tmpl4_0 +REFD +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +199 +TCOND_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCOND +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +124 +CLMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +CLMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +125 +ICMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +ICMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +415 +GRLE_ON_HYBRID_LVL +Graupel mixing ration on hybrid level +1 +tmpl4_0 +GRLE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +145 +TCDC_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCDC +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +181 +RWMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +RWMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +182 +SNMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +SNMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +2DFLD +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +ens_fcst +hour +nws_ncep +refs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +253 +REFD_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +REFD +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +1000. 4000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +389 +UGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +UGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +390 +VGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +VGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +454 +VRATE_ON_PLANETARY_BOUND_LYR +Ventilation Rate on planetary boundary layer +1 +tmpl4_0 +VRATE +NCEP +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +427 +UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_0 +UPHL +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +726 +VEG_MIN_ON_SURFACE +? +1 +tmpl4_0 +VEGMIN +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +729 +VEG_MAX_ON_SURFACE +? +1 +tmpl4_0 +VEGMAX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +547 +GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DEPR +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +755 +HWP_ON_SURFACE +Hourly Wildfire Potential on surface +1 +tmpl4_8 +WFIREPOT +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +295 +MCONV_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +MCONV +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +287 +HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +lwst_bot_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +288 +HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +hghst_top_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +487 +GSD_EXP_CEILING +? +1 +tmpl4_0 +CEIL +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +275 +BRTMP_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +BRTEMP +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +108 +POT_ON_TROPOPAUSE +? +1 +tmpl4_0 +POT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +586 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +578 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +579 +PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +PRES +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +577 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +451 +SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +SPFH +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +305. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +HGT +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +110 +PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +PRES +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +982 +ELMELT_ON_EFTL +? +1 +tmpl4_0 +ELMELT +NCEP +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-1.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +955 +DENDRITIC_LAYER_DEPTH +? +1 +tmpl4_0 +LAYTH +NCEP +? +isothermal +0 +? +1 +261. +isothermal +0 +? +1 +256. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +227 +MXSALB_ON_SURFACE +? +1 +tmpl4_0 +MXSALB +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +954 +DOWNWARD_CAPE +? +1 +tmpl4_0 +DCAPE +NCEP +? +spec_pres_above_grnd +0 +? +1 +40000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +983 +UESH_ON_EFL +? +1 +tmpl4_0 +UESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +984 +VESH_ON_EFL +? +1 +tmpl4_0 +VESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +588 +ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +ICEG +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/rrfs/postxconfig-NT-refs_f01.txt b/parm/rrfs/postxconfig-NT-refs_f01.txt new file mode 100644 index 0000000000..571b164f4a --- /dev/null +++ b/parm/rrfs/postxconfig-NT-refs_f01.txt @@ -0,0 +1,19753 @@ +3 +230 +211 +28 +PRSLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +ens_fcst +hour +nws_ncep +refs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +? +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +86 +STRM_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +STRM +? +? +isobaric_sfc +0 +? +2 +25000. 50000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +85 +MCONV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +MCONV +? +? +isobaric_sfc +0 +? +2 +85000. 95000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +88 +MCONV_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +MCONV +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +75 +PLI_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLI +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +30. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +67 +PRES_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PRES +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +68 +TMP_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +TMP +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +69 +POT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +POT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +70 +DPT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +DPT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +71 +SPFH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +SPFH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +72 +RH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +RH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +89 +PWAT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PWAT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +73 +UGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +UGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +74 +VGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +VGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +NATLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +ens_fcst +hour +nws_ncep +refs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +? +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +3 +POT_ON_HYBRID_LVL +? +1 +tmpl4_0 +POT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +6 +RH_ON_HYBRID_LVL +? +1 +tmpl4_0 +RH +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +4 +DPT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DPT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +264 +DZDT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DZDT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +11 +TKE_ON_HYBRID_LVL +? +1 +tmpl4_0 +TKE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +250 +REFD_ON_HYBRID_LVL +? +1 +tmpl4_0 +REFD +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +199 +TCOND_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCOND +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +890 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 +Hourly max relative vorticity on hybrid level 1 +1 +tmpl4_8 +RELV +? +MAX +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +728 +GSD_HAILCAST_HAIL_DIAMETER +? +1 +tmpl4_8 +HAIL +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +506 +MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +U Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +507 +MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +V Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +MAXREF +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +347 +MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MAXRH +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +348 +MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MINRH +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +124 +CLMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +CLMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +125 +ICMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +ICMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +415 +GRLE_ON_HYBRID_LVL +Graupel mixing ration on hybrid level +1 +tmpl4_0 +GRLE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +145 +TCDC_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCDC +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +181 +RWMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +RWMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +182 +SNMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +SNMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +137 +ACM_PEVAP_ON_SURFACE +? +1 +tmpl4_8 +PEVAP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +702 +GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +703 +GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +2DFLD +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +ens_fcst +hour +nws_ncep +refs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +253 +REFD_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +REFD +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +1000. 4000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +389 +UGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +UGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +390 +VGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +VGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +454 +VRATE_ON_PLANETARY_BOUND_LYR +Ventilation Rate on planetary boundary layer +1 +tmpl4_0 +VRATE +NCEP +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +MAXREF +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +427 +UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_0 +UPHL +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +890 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 +Hourly max relative vorticity on hybrid level 1 +1 +tmpl4_8 +RELV +? +MAX +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +728 +GSD_HAILCAST_HAIL_DIAMETER +? +1 +tmpl4_8 +HAIL +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +702 +GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +703 +GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +725 +GSD_ACM_SNOD_ON_SURFACE +? +1 +tmpl4_8 +ASNOW +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +508 +MAX_PRATE_ON_SURFACE +Maximum Precipitation Rate on surface +1 +tmpl4_8 +PRATE +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1005 +BUCKET_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +1003 +BUCKET_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +913 +1H_FFG_EXCEEDANCE +? +1 +tmpl4_9 +QPFFFG +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +1.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +914 +ACM_FFG_EXCEEDANCE +? +1 +tmpl4_9 +QPFFFG +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +1.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +915 +1H_2YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +2.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +916 +ACM_2YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +2.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +917 +1H_5YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +5.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +918 +ACM_5YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +5.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +919 +1H_10YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +10.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +920 +ACM_10YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +10.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +921 +1H_100YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +100.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +922 +ACM_100YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +100.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +137 +ACM_PEVAP_ON_SURFACE +? +1 +tmpl4_8 +PEVAP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +547 +GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DEPR +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +347 +MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MAXRH +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +348 +MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MINRH +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +755 +HWP_ON_SURFACE +Hourly Wildfire Potential on surface +1 +tmpl4_8 +WFIREPOT +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +506 +MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +U Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +507 +MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +V Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +295 +MCONV_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +MCONV +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +287 +HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +lwst_bot_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +288 +HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +hghst_top_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +487 +GSD_EXP_CEILING +? +1 +tmpl4_0 +CEIL +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +275 +BRTMP_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +BRTEMP +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +108 +POT_ON_TROPOPAUSE +? +1 +tmpl4_0 +POT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +586 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +578 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +579 +PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +PRES +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +577 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +451 +SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +SPFH +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +305. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +HGT +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +110 +PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +PRES +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +982 +ELMELT_ON_EFTL +? +1 +tmpl4_0 +ELMELT +NCEP +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-1.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +955 +DENDRITIC_LAYER_DEPTH +? +1 +tmpl4_0 +LAYTH +NCEP +? +isothermal +0 +? +1 +261. +isothermal +0 +? +1 +256. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +227 +MXSALB_ON_SURFACE +? +1 +tmpl4_0 +MXSALB +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +954 +DOWNWARD_CAPE +? +1 +tmpl4_0 +DCAPE +NCEP +? +spec_pres_above_grnd +0 +? +1 +40000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +983 +UESH_ON_EFL +? +1 +tmpl4_0 +UESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +984 +VESH_ON_EFL +? +1 +tmpl4_0 +VESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +588 +ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +ICEG +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/rrfs/postxconfig-NT-rrfs.txt b/parm/rrfs/postxconfig-NT-rrfs.txt new file mode 100644 index 0000000000..6e950da5b6 --- /dev/null +++ b/parm/rrfs/postxconfig-NT-rrfs.txt @@ -0,0 +1,20506 @@ +3 +242 +217 +28 +PRSLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +86 +STRM_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +STRM +? +? +isobaric_sfc +0 +? +2 +25000. 50000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +85 +MCONV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +MCONV +? +? +isobaric_sfc +0 +? +2 +85000. 95000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +88 +MCONV_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +MCONV +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +75 +PLI_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLI +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +30. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +67 +PRES_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PRES +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +68 +TMP_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +TMP +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +69 +POT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +POT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +70 +DPT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +DPT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +71 +SPFH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +SPFH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +72 +RH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +RH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +89 +PWAT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PWAT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +73 +UGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +UGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +74 +VGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +VGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +NATLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +3 +POT_ON_HYBRID_LVL +? +1 +tmpl4_0 +POT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +6 +RH_ON_HYBRID_LVL +? +1 +tmpl4_0 +RH +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +4 +DPT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DPT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +264 +DZDT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DZDT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +11 +TKE_ON_HYBRID_LVL +? +1 +tmpl4_0 +TKE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +766 +NCWFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTF +NCEP +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +767 +NCIFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTC +NCEP +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +250 +REFD_ON_HYBRID_LVL +? +1 +tmpl4_0 +REFD +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +199 +TCOND_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCOND +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +890 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 +Hourly max relative vorticity on hybrid level 1 +1 +tmpl4_8 +RELV +? +MAX +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +728 +GSD_HAILCAST_HAIL_DIAMETER +? +1 +tmpl4_8 +HAIL +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +506 +MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +U Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +507 +MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +V Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +MAXREF +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +347 +MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MAXRH +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +348 +MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MINRH +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +417 +CACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +124 +CLMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +CLMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +125 +ICMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +ICMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +415 +GRLE_ON_HYBRID_LVL +Graupel mixing ration on hybrid level +1 +tmpl4_0 +GRLE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +145 +TCDC_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCDC +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +181 +RWMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +RWMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +182 +SNMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +SNMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +737 +SMOKE_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +742 +DUST_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +1012 +COARSEPM_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +25 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +137 +ACM_PEVAP_ON_SURFACE +? +1 +tmpl4_8 +PEVAP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +702 +GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +703 +GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +2DFLD +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +253 +REFD_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +REFD +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +1000. 4000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +389 +UGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +UGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +390 +VGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +VGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +454 +VRATE_ON_PLANETARY_BOUND_LYR +Ventilation Rate on planetary boundary layer +1 +tmpl4_0 +VRATE +NCEP +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +MAXREF +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +427 +UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_0 +UPHL +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +890 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 +Hourly max relative vorticity on hybrid level 1 +1 +tmpl4_8 +RELV +? +MAX +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +728 +GSD_HAILCAST_HAIL_DIAMETER +? +1 +tmpl4_8 +HAIL +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +702 +GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +703 +GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +725 +GSD_ACM_SNOD_ON_SURFACE +? +1 +tmpl4_8 +ASNOW +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +508 +MAX_PRATE_ON_SURFACE +Maximum Precipitation Rate on surface +1 +tmpl4_8 +PRATE +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +417 +CACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1005 +BUCKET_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +746 +ACM_GRAUPEL_ON_SURFACE +? +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +782 +ACM_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +1003 +BUCKET_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +913 +1H_FFG_EXCEEDANCE +? +1 +tmpl4_9 +QPFFFG +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +1.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +914 +ACM_FFG_EXCEEDANCE +? +1 +tmpl4_9 +QPFFFG +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +1.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +915 +1H_2YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +2.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +916 +ACM_2YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +2.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +917 +1H_5YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +5.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +918 +ACM_5YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +5.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +919 +1H_10YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +10.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +920 +ACM_10YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +10.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +921 +1H_100YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +100.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +922 +ACM_100YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +100.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +137 +ACM_PEVAP_ON_SURFACE +? +1 +tmpl4_8 +PEVAP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +547 +GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DEPR +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +347 +MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MAXRH +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +348 +MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MINRH +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +745 +BIOMASS_BURNING_EMISSIONS +? +1 +tmpl4_48 +AEMFLX +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +739 +SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +736 +SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +744 +DUST_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +741 +DUST_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +1011 +COARSEPM_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +25 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +1014 +COARSEPM_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +25 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +759 +AVE_PM25_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_46 +MASSDEN +? +AVE +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +771 +AVE_PM10_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_46 +MASSDEN +? +AVE +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +7 +100 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +755 +HWP_ON_SURFACE +Hourly Wildfire Potential on surface +1 +tmpl4_8 +WFIREPOT +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +506 +MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +U Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +507 +MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +V Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +295 +MCONV_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +MCONV +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +287 +HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +lwst_bot_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +288 +HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +hghst_top_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +487 +GSD_EXP_CEILING +? +1 +tmpl4_0 +CEIL +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +275 +BRTMP_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +BRTEMP +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +108 +POT_ON_TROPOPAUSE +? +1 +tmpl4_0 +POT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +586 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +578 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +579 +PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +PRES +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +577 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +451 +SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +SPFH +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +305. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +HGT +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +110 +PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +PRES +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +982 +ELMELT_ON_EFTL +? +1 +tmpl4_0 +ELMELT +NCEP +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-1.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +955 +DENDRITIC_LAYER_DEPTH +? +1 +tmpl4_0 +LAYTH +NCEP +? +isothermal +0 +? +1 +261. +isothermal +0 +? +1 +256. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +227 +MXSALB_ON_SURFACE +? +1 +tmpl4_0 +MXSALB +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +954 +DOWNWARD_CAPE +? +1 +tmpl4_0 +DCAPE +NCEP +? +spec_pres_above_grnd +0 +? +1 +40000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +983 +UESH_ON_EFL +? +1 +tmpl4_0 +UESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +984 +VESH_ON_EFL +? +1 +tmpl4_0 +VESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +588 +ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +ICEG +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/rrfs/postxconfig-NT-rrfs_f00.txt b/parm/rrfs/postxconfig-NT-rrfs_f00.txt new file mode 100644 index 0000000000..a146ddab20 --- /dev/null +++ b/parm/rrfs/postxconfig-NT-rrfs_f00.txt @@ -0,0 +1,16348 @@ +3 +186 +174 +28 +PRSLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +86 +STRM_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +STRM +? +? +isobaric_sfc +0 +? +2 +25000. 50000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +85 +MCONV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +MCONV +? +? +isobaric_sfc +0 +? +2 +85000. 95000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +88 +MCONV_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +MCONV +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +75 +PLI_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLI +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +30. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +67 +PRES_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PRES +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +68 +TMP_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +TMP +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +69 +POT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +POT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +70 +DPT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +DPT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +71 +SPFH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +SPFH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +72 +RH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +RH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +89 +PWAT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PWAT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +73 +UGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +UGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +74 +VGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +VGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +NATLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +3 +POT_ON_HYBRID_LVL +? +1 +tmpl4_0 +POT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +6 +RH_ON_HYBRID_LVL +? +1 +tmpl4_0 +RH +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +4 +DPT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DPT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +264 +DZDT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DZDT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +11 +TKE_ON_HYBRID_LVL +? +1 +tmpl4_0 +TKE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +766 +NCWFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTF +NCEP +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +767 +NCIFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTC +NCEP +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +250 +REFD_ON_HYBRID_LVL +? +1 +tmpl4_0 +REFD +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +199 +TCOND_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCOND +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +124 +CLMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +CLMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +125 +ICMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +ICMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +415 +GRLE_ON_HYBRID_LVL +Graupel mixing ration on hybrid level +1 +tmpl4_0 +GRLE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +145 +TCDC_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCDC +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +181 +RWMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +RWMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +182 +SNMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +SNMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +737 +SMOKE_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +742 +DUST_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +1012 +COARSEPM_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +25 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +2DFLD +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +253 +REFD_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +REFD +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +1000. 4000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +389 +UGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +UGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +390 +VGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +VGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +454 +VRATE_ON_PLANETARY_BOUND_LYR +Ventilation Rate on planetary boundary layer +1 +tmpl4_0 +VRATE +NCEP +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +427 +UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_0 +UPHL +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +726 +VEG_MIN_ON_SURFACE +? +1 +tmpl4_0 +VEGMIN +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +729 +VEG_MAX_ON_SURFACE +? +1 +tmpl4_0 +VEGMAX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +547 +GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DEPR +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +745 +BIOMASS_BURNING_EMISSIONS +? +1 +tmpl4_48 +AEMFLX +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +739 +SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +736 +SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +744 +DUST_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +741 +DUST_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +1011 +COARSEPM_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +25 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +1014 +COARSEPM_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +25 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +755 +HWP_ON_SURFACE +Hourly Wildfire Potential on surface +1 +tmpl4_8 +WFIREPOT +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +295 +MCONV_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +MCONV +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +287 +HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +lwst_bot_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +288 +HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +hghst_top_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +487 +GSD_EXP_CEILING +? +1 +tmpl4_0 +CEIL +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +275 +BRTMP_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +BRTEMP +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +108 +POT_ON_TROPOPAUSE +? +1 +tmpl4_0 +POT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +586 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +578 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +579 +PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +PRES +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +577 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +451 +SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +SPFH +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +305. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +HGT +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +110 +PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +PRES +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +982 +ELMELT_ON_EFTL +? +1 +tmpl4_0 +ELMELT +NCEP +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-1.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +955 +DENDRITIC_LAYER_DEPTH +? +1 +tmpl4_0 +LAYTH +NCEP +? +isothermal +0 +? +1 +261. +isothermal +0 +? +1 +256. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +227 +MXSALB_ON_SURFACE +? +1 +tmpl4_0 +MXSALB +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +954 +DOWNWARD_CAPE +? +1 +tmpl4_0 +DCAPE +NCEP +? +spec_pres_above_grnd +0 +? +1 +40000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +983 +UESH_ON_EFL +? +1 +tmpl4_0 +UESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +984 +VESH_ON_EFL +? +1 +tmpl4_0 +VESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +588 +ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +ICEG +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/rrfs/postxconfig-NT-rrfs_f01.txt b/parm/rrfs/postxconfig-NT-rrfs_f01.txt new file mode 100644 index 0000000000..f99939494a --- /dev/null +++ b/parm/rrfs/postxconfig-NT-rrfs_f01.txt @@ -0,0 +1,20338 @@ +3 +239 +216 +28 +PRSLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +86 +STRM_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +STRM +? +? +isobaric_sfc +0 +? +2 +25000. 50000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +85 +MCONV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +MCONV +? +? +isobaric_sfc +0 +? +2 +85000. 95000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +88 +MCONV_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +MCONV +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +75 +PLI_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLI +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +30. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +67 +PRES_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PRES +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +68 +TMP_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +TMP +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +69 +POT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +POT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +70 +DPT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +DPT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +71 +SPFH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +SPFH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +72 +RH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +RH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +89 +PWAT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PWAT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +73 +UGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +UGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +74 +VGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +VGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +NATLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +3 +POT_ON_HYBRID_LVL +? +1 +tmpl4_0 +POT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +6 +RH_ON_HYBRID_LVL +? +1 +tmpl4_0 +RH +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +4 +DPT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DPT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +264 +DZDT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DZDT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +11 +TKE_ON_HYBRID_LVL +? +1 +tmpl4_0 +TKE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +766 +NCWFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTF +NCEP +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +767 +NCIFA_ON_HYBRID_LVL +? +1 +tmpl4_0 +PMTC +NCEP +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +250 +REFD_ON_HYBRID_LVL +? +1 +tmpl4_0 +REFD +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +199 +TCOND_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCOND +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +890 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 +Hourly max relative vorticity on hybrid level 1 +1 +tmpl4_8 +RELV +? +MAX +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +728 +GSD_HAILCAST_HAIL_DIAMETER +? +1 +tmpl4_8 +HAIL +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +506 +MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +U Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +507 +MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +V Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +MAXREF +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +347 +MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MAXRH +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +348 +MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MINRH +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +124 +CLMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +CLMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +125 +ICMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +ICMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +415 +GRLE_ON_HYBRID_LVL +Graupel mixing ration on hybrid level +1 +tmpl4_0 +GRLE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +145 +TCDC_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCDC +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +181 +RWMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +RWMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +182 +SNMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +SNMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +737 +SMOKE_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +742 +DUST_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +1012 +COARSEPM_ON_HYBRID_LVL +? +1 +tmpl4_48 +MASSDEN +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +25 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +137 +ACM_PEVAP_ON_SURFACE +? +1 +tmpl4_8 +PEVAP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +702 +GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +703 +GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +2DFLD +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +253 +REFD_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +REFD +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +1000. 4000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +389 +UGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +UGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +390 +VGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +VGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +454 +VRATE_ON_PLANETARY_BOUND_LYR +Ventilation Rate on planetary boundary layer +1 +tmpl4_0 +VRATE +NCEP +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +MAXREF +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +427 +UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_0 +UPHL +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +890 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 +Hourly max relative vorticity on hybrid level 1 +1 +tmpl4_8 +RELV +? +MAX +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +728 +GSD_HAILCAST_HAIL_DIAMETER +? +1 +tmpl4_8 +HAIL +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +702 +GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +703 +GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +725 +GSD_ACM_SNOD_ON_SURFACE +? +1 +tmpl4_8 +ASNOW +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +508 +MAX_PRATE_ON_SURFACE +Maximum Precipitation Rate on surface +1 +tmpl4_8 +PRATE +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1005 +BUCKET_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +1003 +BUCKET_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +913 +1H_FFG_EXCEEDANCE +? +1 +tmpl4_9 +QPFFFG +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +1.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +914 +ACM_FFG_EXCEEDANCE +? +1 +tmpl4_9 +QPFFFG +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +1.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +915 +1H_2YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +2.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +916 +ACM_2YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +2.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +917 +1H_5YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +5.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +918 +ACM_5YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +5.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +919 +1H_10YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +10.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +920 +ACM_10YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +10.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +921 +1H_100YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +100.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +922 +ACM_100YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +100.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +137 +ACM_PEVAP_ON_SURFACE +? +1 +tmpl4_8 +PEVAP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +547 +GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DEPR +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +347 +MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MAXRH +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +348 +MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MINRH +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +745 +BIOMASS_BURNING_EMISSIONS +? +1 +tmpl4_48 +AEMFLX +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +739 +SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +736 +SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +744 +DUST_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +741 +DUST_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +1011 +COARSEPM_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_48 +COLMD +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +25 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +1014 +COARSEPM_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_48 +MASSDEN +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +dust_dry +? +between_first_second_limit_noincl2ndlmt +7 +25 +7 +100 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +759 +AVE_PM25_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_46 +MASSDEN +? +AVE +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +7 +25 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +771 +AVE_PM10_ON_SPEC_HGT_LVL_ABOVE_GRND_8m +? +1 +tmpl4_46 +MASSDEN +? +AVE +spec_hgt_lvl_above_grnd +0 +? +1 +8. +? +0 +? +0 +? +total_aerosol +? +smaller_than_first_limit +7 +100 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +755 +HWP_ON_SURFACE +Hourly Wildfire Potential on surface +1 +tmpl4_8 +WFIREPOT +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +506 +MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +U Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +507 +MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +V Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +295 +MCONV_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +MCONV +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +287 +HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +lwst_bot_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +288 +HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +hghst_top_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +487 +GSD_EXP_CEILING +? +1 +tmpl4_0 +CEIL +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +275 +BRTMP_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +BRTEMP +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +108 +POT_ON_TROPOPAUSE +? +1 +tmpl4_0 +POT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +586 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +578 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +579 +PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +PRES +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +577 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +451 +SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +SPFH +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +305. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +HGT +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +110 +PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +PRES +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +982 +ELMELT_ON_EFTL +? +1 +tmpl4_0 +ELMELT +NCEP +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-1.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +955 +DENDRITIC_LAYER_DEPTH +? +1 +tmpl4_0 +LAYTH +NCEP +? +isothermal +0 +? +1 +261. +isothermal +0 +? +1 +256. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +227 +MXSALB_ON_SURFACE +? +1 +tmpl4_0 +MXSALB +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +954 +DOWNWARD_CAPE +? +1 +tmpl4_0 +DCAPE +NCEP +? +spec_pres_above_grnd +0 +? +1 +40000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +983 +UESH_ON_EFL +? +1 +tmpl4_0 +UESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +984 +VESH_ON_EFL +? +1 +tmpl4_0 +VESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +588 +ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +ICEG +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/rrfs/postxconfig-NT-rrfs_firewx.txt b/parm/rrfs/postxconfig-NT-rrfs_firewx.txt new file mode 100644 index 0000000000..bde65763e4 --- /dev/null +++ b/parm/rrfs/postxconfig-NT-rrfs_firewx.txt @@ -0,0 +1,19918 @@ +3 +233 +212 +28 +PRSLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +86 +STRM_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +STRM +? +? +isobaric_sfc +0 +? +2 +25000. 50000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +85 +MCONV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +MCONV +? +? +isobaric_sfc +0 +? +2 +85000. 95000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +88 +MCONV_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +MCONV +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +75 +PLI_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLI +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +30. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +67 +PRES_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PRES +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +68 +TMP_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +TMP +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +69 +POT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +POT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +70 +DPT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +DPT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +71 +SPFH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +SPFH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +72 +RH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +RH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +89 +PWAT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PWAT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +73 +UGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +UGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +74 +VGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +VGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +NATLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +3 +POT_ON_HYBRID_LVL +? +1 +tmpl4_0 +POT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +6 +RH_ON_HYBRID_LVL +? +1 +tmpl4_0 +RH +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +4 +DPT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DPT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +264 +DZDT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DZDT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +11 +TKE_ON_HYBRID_LVL +? +1 +tmpl4_0 +TKE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +250 +REFD_ON_HYBRID_LVL +? +1 +tmpl4_0 +REFD +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +199 +TCOND_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCOND +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +890 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 +Hourly max relative vorticity on hybrid level 1 +1 +tmpl4_8 +RELV +? +MAX +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +728 +GSD_HAILCAST_HAIL_DIAMETER +? +1 +tmpl4_8 +HAIL +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +506 +MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +U Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +507 +MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +V Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +MAXREF +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +347 +MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MAXRH +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +348 +MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MINRH +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +417 +CACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +124 +CLMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +CLMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +125 +ICMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +ICMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +415 +GRLE_ON_HYBRID_LVL +Graupel mixing ration on hybrid level +1 +tmpl4_0 +GRLE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +145 +TCDC_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCDC +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +181 +RWMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +RWMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +182 +SNMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +SNMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +137 +ACM_PEVAP_ON_SURFACE +? +1 +tmpl4_8 +PEVAP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +702 +GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +703 +GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +2DFLD +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +253 +REFD_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +REFD +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +1000. 4000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +389 +UGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +UGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +390 +VGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +VGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +454 +VRATE_ON_PLANETARY_BOUND_LYR +Ventilation Rate on planetary boundary layer +1 +tmpl4_0 +VRATE +NCEP +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXUVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa +1 +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MAXREF +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface +1 +tmpl4_8 +MAXREF +NCEP +MAX +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +427 +UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_0 +UPHL +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +? +1 +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +? +1 +tmpl4_8 +RELV +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +spec_hgt_lvl_above_grnd +0 +? +1 +0000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +890 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 +Hourly max relative vorticity on hybrid level 1 +1 +tmpl4_8 +RELV +? +MAX +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +728 +GSD_HAILCAST_HAIL_DIAMETER +? +1 +tmpl4_8 +HAIL +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +702 +GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +703 +GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_8 +LTNGSD +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +725 +GSD_ACM_SNOD_ON_SURFACE +? +1 +tmpl4_8 +ASNOW +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +9.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +508 +MAX_PRATE_ON_SURFACE +Maximum Precipitation Rate on surface +1 +tmpl4_8 +PRATE +? +MAX +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +417 +CACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1005 +BUCKET_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +746 +ACM_GRAUPEL_ON_SURFACE +? +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface +1 +tmpl4_8 +FROZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +782 +ACM_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +1003 +BUCKET_FRAIN_ON_SURFACE +? +1 +tmpl4_8 +FRZR +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +121 +ACM_SNOM_ON_SURFACE +? +1 +tmpl4_8 +SNOM +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +913 +1H_FFG_EXCEEDANCE +? +1 +tmpl4_9 +QPFFFG +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +1.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +914 +ACM_FFG_EXCEEDANCE +? +1 +tmpl4_9 +QPFFFG +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +1.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +915 +1H_2YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +2.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +916 +ACM_2YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +2.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +917 +1H_5YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +5.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +918 +ACM_5YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +5.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +919 +1H_10YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +10.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +920 +ACM_10YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +10.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +921 +1H_100YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +100.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +922 +ACM_100YARI_EXCEEDANCE +? +1 +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +prob_above_lower_limit +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +100.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +137 +ACM_PEVAP_ON_SURFACE +? +1 +tmpl4_8 +PEVAP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +547 +GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DEPR +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +347 +MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MAXRH +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +348 +MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +MINRH +NCEP +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-2.0 +0 +0 +0 +? +? +? +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +755 +HWP_ON_SURFACE +Hourly Wildfire Potential on surface +1 +tmpl4_8 +WFIREPOT +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +506 +MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +U Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +507 +MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +V Component of Hourly Maximum 10m Wind Speed (m/s) +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +295 +MCONV_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +MCONV +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +287 +HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +lwst_bot_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +288 +HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +hghst_top_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +487 +GSD_EXP_CEILING +? +1 +tmpl4_0 +CEIL +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +275 +BRTMP_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +BRTEMP +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +? +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +108 +POT_ON_TROPOPAUSE +? +1 +tmpl4_0 +POT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +586 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +578 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +579 +PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +PRES +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +577 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +451 +SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +SPFH +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +305. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +HGT +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +110 +PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +PRES +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +982 +ELMELT_ON_EFTL +? +1 +tmpl4_0 +ELMELT +NCEP +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-1.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +955 +DENDRITIC_LAYER_DEPTH +? +1 +tmpl4_0 +LAYTH +NCEP +? +isothermal +0 +? +1 +261. +isothermal +0 +? +1 +256. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +227 +MXSALB_ON_SURFACE +? +1 +tmpl4_0 +MXSALB +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +954 +DOWNWARD_CAPE +? +1 +tmpl4_0 +DCAPE +NCEP +? +spec_pres_above_grnd +0 +? +1 +40000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +983 +UESH_ON_EFL +? +1 +tmpl4_0 +UESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +984 +VESH_ON_EFL +? +1 +tmpl4_0 +VESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +588 +ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +ICEG +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/rrfs/postxconfig-NT-rrfs_firewx_f00.txt b/parm/rrfs/postxconfig-NT-rrfs_firewx_f00.txt new file mode 100644 index 0000000000..c6b7c52832 --- /dev/null +++ b/parm/rrfs/postxconfig-NT-rrfs_firewx_f00.txt @@ -0,0 +1,15844 @@ +3 +179 +169 +28 +PRSLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +15 +DPT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DPT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +86 +STRM_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +STRM +? +? +isobaric_sfc +0 +? +2 +25000. 50000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +166 +ICMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +153 +CLMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CLMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +183 +RWMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RWMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface +1 +tmpl4_0 +GRLE +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +184 +SNMR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SNMR +? +? +isobaric_sfc +0 +? +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +85 +MCONV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +MCONV +? +? +isobaric_sfc +0 +? +2 +85000. 95000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +88 +MCONV_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +MCONV +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +75 +PLI_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLI +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +30. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +67 +PRES_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PRES +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +68 +TMP_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +TMP +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +69 +POT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +POT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +70 +DPT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +DPT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +71 +SPFH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +SPFH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +72 +RH_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +RH +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +89 +PWAT_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PWAT +? +? +spec_pres_above_grnd +0 +? +1 +3000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +73 +UGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +UGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +74 +VGRD_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +VGRD +? +? +spec_pres_above_grnd +0 +? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd +0 +? +6 +0. 3000. 6000. 9000. 12000. 15000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +NATLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +1 +PRES_ON_HYBRID_LVL +? +1 +tmpl4_0 +PRES +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +77 +HGT_ON_HYBRID_LVL +? +1 +tmpl4_0 +HGT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +3 +POT_ON_HYBRID_LVL +? +1 +tmpl4_0 +POT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +6 +RH_ON_HYBRID_LVL +? +1 +tmpl4_0 +RH +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +4 +DPT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DPT +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +5 +SPFH_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPFH +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +7 +UGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +UGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +8 +VGRD_ON_HYBRID_LVL +? +1 +tmpl4_0 +VGRD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +264 +DZDT_ON_HYBRID_LVL +? +1 +tmpl4_0 +DZDT +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +11 +TKE_ON_HYBRID_LVL +? +1 +tmpl4_0 +TKE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +250 +REFD_ON_HYBRID_LVL +? +1 +tmpl4_0 +REFD +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +199 +TCOND_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCOND +? +? +hybrid_lvl +0 +? +2 +1. 2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +124 +CLMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +CLMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level +1 +tmpl4_0 +NCONCD +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +125 +ICMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +ICMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level +1 +tmpl4_0 +NCCICE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +415 +GRLE_ON_HYBRID_LVL +Graupel mixing ration on hybrid level +1 +tmpl4_0 +GRLE +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +145 +TCDC_ON_HYBRID_LVL +? +1 +tmpl4_0 +TCDC +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +181 +RWMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +RWMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +182 +SNMR_ON_HYBRID_LVL +? +1 +tmpl4_0 +SNMR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +754 +NCRAIN_ON_HYBRID_LVL +? +1 +tmpl4_0 +SPNCR +? +? +hybrid_lvl +0 +? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +2DFLD +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +252 +REFC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +253 +REFD_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +REFD +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +1000. 4000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +912 +REFD_ON_ISOTHERMAL +? +1 +tmpl4_0 +REFD +? +? +isothermal +0 +? +1 +263. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) +1 +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +7.0 +0 +0 +0 +? +? +? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +389 +UGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +UGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +390 +VGRD_ON_PLANETARY_BOUND_LYR +? +1 +tmpl4_0 +VGRD +? +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +454 +VRATE_ON_PLANETARY_BOUND_LYR +Ventilation Rate on planetary boundary layer +1 +tmpl4_0 +VRATE +NCEP +? +planetary_bound_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +427 +UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +Updraft Helicity on Specified Height Level Above Ground +1 +tmpl4_0 +UPHL +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +5000. +spec_hgt_lvl_above_grnd +0 +? +1 +2000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +27 +POT_ON_SURFACE +? +1 +tmpl4_0 +POT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +28 +SPFH_ON_SURFACE +? +1 +tmpl4_0 +SPFH +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +? +? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +120 +SNOWC_ON_SURFACE +? +1 +tmpl4_0 +SNOWC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +167 +INST_PRATE_ON_SURFACE +? +1 +tmpl4_0 +PRATE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface +1 +tmpl4_0 +CSNOW +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface +1 +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface +1 +tmpl4_0 +CFRZR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface +1 +tmpl4_0 +CRAIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? +1 +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +231 +SBSNO_ON_SURFACE +? +1 +tmpl4_0 +SBSNO +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +232 +SMDRY_ON_SURFACE +? +1 +tmpl4_0 +SMDRY +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +233 +POROS_ON_SURFACE +? +1 +tmpl4_0 +POROS +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +155 +INST_LHTFL_ON_SURFACE +? +1 +tmpl4_0 +LHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +154 +INST_SHTFL_ON_SURFACE +? +1 +tmpl4_0 +SHTFL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +152 +INST_GFLUX_ON_SURFACE +? +1 +tmpl4_0 +GFLUX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.7 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +132 +CD_ON_SURFACE +? +1 +tmpl4_0 +CD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +169 +SFEXC_ON_SURFACE +? +1 +tmpl4_0 +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +254 +LAI_ON_SURFACE +? +1 +tmpl4_0 +LAI +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 +0 +0 +? +? +? +170 +VEG_ON_SURFACE +? +1 +tmpl4_0 +VEG +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +726 +VEG_MIN_ON_SURFACE +? +1 +tmpl4_0 +VEGMIN +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +729 +VEG_MAX_ON_SURFACE +? +1 +tmpl4_0 +VEGMAX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +218 +VGTYP_ON_SURFACE +? +1 +tmpl4_0 +VGTYP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +219 +SOTYP_ON_SURFACE +? +1 +tmpl4_0 +SOTYP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +234 +RSMIN_ON_SURFACE +? +1 +tmpl4_0 +RSMIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +235 +RLYRS_ON_SURFACE +? +1 +tmpl4_0 +RLYRS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +237 +SMREF_ON_SURFACE +? +1 +tmpl4_0 +SMREF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +547 +GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DEPR +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +AOTK +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +755 +HWP_ON_SURFACE +Hourly Wildfire Potential on surface +1 +tmpl4_8 +WFIREPOT +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +282 +PRES_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +PRES +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa +? +1 +tmpl4_0 +LFTX +? +? +isobaric_sfc +0 +? +1 +50000. +isobaric_sfc +0 +? +1 +100000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +950 +CAPE_ON_0_3KM_ABOVE_GRND +? +1 +tmpl4_0 +CAPE +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +18000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +9000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +CIN +? +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +295 +MCONV_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +MCONV +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +287 +HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +lwst_bot_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +288 +HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +? +1 +tmpl4_0 +HGT +? +? +hghst_top_lvl_of_supercooled_liq_water_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +37 +LCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_0 +LCDC +? +? +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +38 +MCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_0 +MCDC +? +? +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +39 +HCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_0 +HCDC +? +? +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +799 +TCDC_ON_BOUND_LYR +? +1 +tmpl4_0 +TCDC +? +? +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +161 +INST_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +TCDC +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +148 +PRES_ON_CLOUD_BASE +? +1 +tmpl4_0 +PRES +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +178 +HGT_ON_CLOUD_BASE +? +1 +tmpl4_0 +HGT +? +? +cloud_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling +1 +tmpl4_0 +HGT +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +487 +GSD_EXP_CEILING +? +1 +tmpl4_0 +CEIL +? +? +cloud_ceilng +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +149 +PRES_ON_CLOUD_TOP +? +1 +tmpl4_0 +PRES +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +179 +HGT_ON_CLOUD_TOP +? +1 +tmpl4_0 +HGT +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +168 +TMP_ON_CLOUD_TOP +? +1 +tmpl4_0 +TMP +? +? +cloud_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +275 +BRTMP_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +BRTEMP +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +156 +INST_DSWRF_ON_SURFACE +? +1 +tmpl4_0 +DSWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +157 +INST_DLWRF_ON_SURFACE +? +1 +tmpl4_0 +DLWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +141 +INST_USWRF_ON_SURFACE +? +1 +tmpl4_0 +USWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +142 +INST_ULWRF_ON_SURFACE +? +1 +tmpl4_0 +ULWRF +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +274 +INST_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +ULWRF +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +262 +INST_CSDSF_ON_SURFACE +? +1 +tmpl4_0 +CSDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +772 +INST_SWDDNI_ON_SURFACE +? +1 +tmpl4_0 +VBDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +773 +INST_SWDDIF_ON_SURFACE +? +1 +tmpl4_0 +VDDSF +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +3000. 1000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +EFHL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +957 +CRITICAL_ANGLE +? +1 +tmpl4_0 +CANGLE +NCEP +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +500. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +USTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +VSTM +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +spec_hgt_lvl_above_grnd +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +1000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VUCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground +1 +tmpl4_0 +VVCSH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +0. +spec_hgt_lvl_above_grnd +0 +? +1 +6000. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +108 +POT_ON_TROPOPAUSE +? +1 +tmpl4_0 +POT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +586 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +578 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +579 +PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +PRES +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +80. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +577 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +6 +30. 50. 80. 100. 160. 320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +TMP +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +451 +SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +SPFH +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +305. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +UGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +VGRD +? +? +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm +1 +tmpl4_0 +PRES +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level +1 +tmpl4_0 +PRES +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level +1 +tmpl4_0 +HGT +? +? +isothermal +0 +? +1 +253. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +HGT +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +110 +PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC +? +1 +tmpl4_0 +PRES +? +? +lvl_of_adiab_cond_from_sfc +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level +1 +tmpl4_0 +HGT +? +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +982 +ELMELT_ON_EFTL +? +1 +tmpl4_0 +ELMELT +NCEP +? +equil_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-1.0 +0 +0 +0 +? +? +? +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND +? +1 +tmpl4_0 +PLPL +NCEP +? +spec_pres_above_grnd +0 +? +1 +25500. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +955 +DENDRITIC_LAYER_DEPTH +? +1 +tmpl4_0 +LAYTH +NCEP +? +isothermal +0 +? +1 +261. +isothermal +0 +? +1 +256. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER +1 +tmpl4_0 +RHPW +NCEP +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-0.1 +0 +0 +0 +? +? +? +48 +NLAT_ON_SURFACE +? +1 +tmpl4_0 +NLAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +49 +ELON_ON_SURFACE +? +1 +tmpl4_0 +ELON +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +52 +LMH_ON_SURFACE +? +1 +tmpl4_0 +LMH +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +53 +LMV_ON_SURFACE +? +1 +tmpl4_0 +LMV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +150 +ALBDO_ON_SURFACE +? +1 +tmpl4_0 +ALBDO +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +227 +MXSALB_ON_SURFACE +? +1 +tmpl4_0 +MXSALB +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +151 +WTMP_ON_SURFACE +? +1 +tmpl4_0 +WTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +954 +DOWNWARD_CAPE +? +1 +tmpl4_0 +DCAPE +NCEP +? +spec_pres_above_grnd +0 +? +1 +40000. +spec_pres_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +983 +UESH_ON_EFL +? +1 +tmpl4_0 +UESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +984 +VESH_ON_EFL +? +1 +tmpl4_0 +VESH +NCEP +? +level_free_convection +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +588 +ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +? +1 +tmpl4_0 +ICEG +? +? +spec_alt_above_mean_sea_lvl +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1006 +SDEN_ON_SURFACE +? +1 +tmpl4_0 +SDEN +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +927 +SBTA167_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA167 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +928 +SBTA168_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA168 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +929 +SBTA169_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA169 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +930 +SBTA1610_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1610 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +931 +SBTA1611_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1611 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +932 +SBTA1612_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1612 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +933 +SBTA1613_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1613 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +934 +SBTA1614_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1614 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +935 +SBTA1615_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1615 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +936 +SBTA1616_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1616 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +532 +SBTA188_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA188 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +533 +SBTA189_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA189 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +534 +SBTA1810_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1810 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +535 +SBTA1811_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1811 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +536 +SBTA1812_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1812 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +537 +SBTA1813_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1813 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +538 +SBTA1814_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1814 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +539 +SBTA1815_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1815 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +540 +SBTA1816_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/postxconfig-NT-fv3lam.txt b/parm/rrfs/postxconfig-NT-rrfs_firewx_f01.txt similarity index 76% rename from parm/postxconfig-NT-fv3lam.txt rename to parm/rrfs/postxconfig-NT-rrfs_firewx_f01.txt index 0e0401d868..628879a235 100644 --- a/parm/postxconfig-NT-fv3lam.txt +++ b/parm/rrfs/postxconfig-NT-rrfs_firewx_f01.txt @@ -1,6 +1,7 @@ -2 -219 -258 +3 +230 +211 +28 PRSLEV 32769 ncep_nco @@ -17,19 +18,19 @@ complex_packing_spatial_diff 2nd_ord_sptdiff fltng_pnt lossless -1 -PRES_ON_HYBRID_LVL +12 +HGT_ON_ISOBARIC_SFC ? 1 tmpl4_0 -PRES +HGT ? ? -hybrid_lvl +isobaric_sfc 0 ? -2 -1. 2. +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -37,6 +38,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -46,6 +48,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -54,19 +60,19 @@ hybrid_lvl ? ? ? -77 -HGT_ON_HYBRID_LVL +13 +TMP_ON_ISOBARIC_SFC ? 1 tmpl4_0 -HGT +TMP ? ? -hybrid_lvl +isobaric_sfc 0 ? -2 -1. 2. +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -74,6 +80,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -83,27 +90,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -2 -TMP_ON_HYBRID_LVL +15 +DPT_ON_ISOBARIC_SFC ? 1 tmpl4_0 -TMP +DPT ? ? -hybrid_lvl +isobaric_sfc 0 ? -2 -1. 2. +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -111,6 +122,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -120,27 +132,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -3 -POT_ON_HYBRID_LVL +16 +SPFH_ON_ISOBARIC_SFC ? 1 tmpl4_0 -POT +SPFH ? ? -hybrid_lvl +isobaric_sfc 0 ? -2 -1. 2. +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -148,6 +164,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -157,6 +174,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -165,19 +186,19 @@ hybrid_lvl ? ? ? -4 -DPT_ON_HYBRID_LVL +17 +RH_ON_ISOBARIC_SFC ? 1 tmpl4_0 -DPT +RH ? ? -hybrid_lvl +isobaric_sfc 0 ? -2 -1. 2. +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -185,6 +206,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -194,27 +216,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +2.0 0 0 0 ? ? ? -5 -SPFH_ON_HYBRID_LVL +18 +UGRD_ON_ISOBARIC_SFC ? 1 tmpl4_0 -SPFH +UGRD ? ? -hybrid_lvl +isobaric_sfc 0 ? -1 -1. +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -222,6 +248,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -231,27 +258,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -7.0 +4.0 0 0 0 ? ? ? -6 -RH_ON_HYBRID_LVL +19 +VGRD_ON_ISOBARIC_SFC ? 1 tmpl4_0 -RH +VGRD ? ? -hybrid_lvl +isobaric_sfc 0 ? -1 -1. +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -259,6 +290,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -268,6 +300,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -276,19 +312,19 @@ hybrid_lvl ? ? ? -7 -UGRD_ON_HYBRID_LVL +284 +DZDT_ON_ISOBARIC_SFC ? 1 tmpl4_0 -UGRD +DZDT ? ? -hybrid_lvl +isobaric_sfc 0 ? -2 -1. 2. +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -296,6 +332,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -305,27 +342,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-5.0 0 0 0 ? ? ? -8 -VGRD_ON_HYBRID_LVL +21 +ABSV_ON_ISOBARIC_SFC ? 1 tmpl4_0 -VGRD +ABSV ? ? -hybrid_lvl +isobaric_sfc 0 ? -2 -1. 2. +45 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -333,6 +374,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -342,6 +384,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -350,19 +396,19 @@ hybrid_lvl ? ? ? -9 -VVEL_ON_HYBRID_LVL +86 +STRM_ON_ISOBARIC_SFC ? 1 tmpl4_0 -VVEL +STRM ? ? -hybrid_lvl +isobaric_sfc 0 ? -1 -1. +2 +25000. 50000. ? 0 ? @@ -370,6 +416,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -379,27 +426,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +3.0 0 0 0 ? ? ? -264 -DZDT_ON_HYBRID_LVL +166 +ICMR_ON_ISOBARIC_SFC ? 1 tmpl4_0 -DZDT +ICMR ? ? -hybrid_lvl +isobaric_sfc 0 ? -1 -1. +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -407,6 +458,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -416,27 +468,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --5.0 +6.0 0 0 0 ? ? ? -11 -TKE_ON_HYBRID_LVL +153 +CLMR_ON_ISOBARIC_SFC ? 1 tmpl4_0 -TKE +CLMR ? ? -hybrid_lvl +isobaric_sfc 0 ? -2 -1. 2. +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -444,6 +500,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -453,27 +510,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -181 -RWMR_ON_HYBRID_LVL +183 +RWMR_ON_ISOBARIC_SFC ? 1 tmpl4_0 RWMR ? ? -hybrid_lvl +isobaric_sfc 0 ? -2 -1. 2. +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -481,6 +542,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -490,27 +552,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -182 -SNMR_ON_HYBRID_LVL -? +416 +GRLE_ON_ISOBARIC_SFC +Graupel mixing ration on isobaric surface 1 tmpl4_0 -SNMR +GRLE ? ? -hybrid_lvl +isobaric_sfc 0 ? -2 -1. 2. +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -518,6 +584,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -527,27 +594,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -187 -RIME_ON_HYBRID_LVL +184 +SNMR_ON_ISOBARIC_SFC ? 1 tmpl4_0 -RIME -NCEP +SNMR ? -hybrid_lvl +? +isobaric_sfc 0 ? -2 -1. 2. +46 +200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. ? 0 ? @@ -555,6 +626,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -564,6 +636,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -572,19 +648,19 @@ hybrid_lvl ? ? ? -199 -TCOND_ON_HYBRID_LVL +85 +MCONV_ON_ISOBARIC_SFC ? 1 tmpl4_0 -TCOND -NCEP +MCONV ? -hybrid_lvl +? +isobaric_sfc 0 ? 2 -1. 2. +85000. 95000. ? 0 ? @@ -592,6 +668,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -601,6 +678,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -609,24 +690,25 @@ hybrid_lvl ? ? ? -250 -REFD_ON_HYBRID_LVL +88 +MCONV_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -REFD -NCEP -? -hybrid_lvl -0 +MCONV ? -2 -1. 2. ? +spec_pres_above_grnd 0 ? +1 +3000. +spec_pres_above_grnd 0 ? +1 +0. +? ? ? 0 @@ -638,31 +720,36 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -146 -BMIXL_ON_HYBRID_LVL +75 +PLI_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -BMIXL -NCEP +PLI ? -hybrid_lvl +? +spec_pres_above_grnd 0 ? 1 -1. -? +3000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -675,6 +762,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -683,19 +774,19 @@ hybrid_lvl ? ? ? -12 -HGT_ON_ISOBARIC_SFC +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT ? 1 tmpl4_0 -HGT +UGRD ? ? -isobaric_sfc +spec_hgt_lvl_above_grnd 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +1 +30. ? 0 ? @@ -703,6 +794,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -712,31 +804,36 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -13 -TMP_ON_ISOBARIC_SFC +67 +PRES_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -TMP +PRES ? ? -isobaric_sfc +spec_pres_above_grnd 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd 0 ? -0 +6 +0. 3000. 6000. 9000. 12000. 15000. ? ? ? @@ -749,31 +846,36 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -15 -DPT_ON_ISOBARIC_SFC +68 +TMP_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -DPT +TMP ? ? -isobaric_sfc +spec_pres_above_grnd 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd 0 ? -0 +6 +0. 3000. 6000. 9000. 12000. 15000. ? ? ? @@ -786,31 +888,36 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +3.0 0 0 0 ? ? ? -16 -SPFH_ON_ISOBARIC_SFC +69 +POT_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -SPFH +POT ? ? -isobaric_sfc +spec_pres_above_grnd 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? +1 +3000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -823,6 +930,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -831,23 +942,24 @@ isobaric_sfc ? ? ? -17 -RH_ON_ISOBARIC_SFC +70 +DPT_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -RH +DPT ? ? -isobaric_sfc +spec_pres_above_grnd 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? +1 +3000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -860,31 +972,36 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 +3.0 0 0 0 ? ? ? -85 -MCONV_ON_ISOBARIC_SFC +71 +SPFH_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -MCONV +SPFH ? ? -isobaric_sfc +spec_pres_above_grnd 0 ? -2 -85000. 95000. -? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd 0 ? -0 +6 +0. 3000. 6000. 9000. 12000. 15000. ? ? ? @@ -897,31 +1014,36 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -18 -UGRD_ON_ISOBARIC_SFC +72 +RH_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -UGRD +RH ? ? -isobaric_sfc +spec_pres_above_grnd 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd 0 ? -0 +6 +0. 3000. 6000. 9000. 12000. 15000. ? ? ? @@ -934,31 +1056,36 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +2.0 0 0 0 ? ? ? -19 -VGRD_ON_ISOBARIC_SFC +89 +PWAT_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -VGRD +PWAT ? ? -isobaric_sfc +spec_pres_above_grnd 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? +1 +3000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -971,31 +1098,36 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -20 -VVEL_ON_ISOBARIC_SFC +73 +UGRD_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -VVEL +UGRD ? ? -isobaric_sfc +spec_pres_above_grnd 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd 0 ? -0 +6 +0. 3000. 6000. 9000. 12000. 15000. ? ? ? @@ -1008,31 +1140,36 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -284 -DZDT_ON_ISOBARIC_SFC +74 +VGRD_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -DZDT +VGRD ? ? -isobaric_sfc +spec_pres_above_grnd 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -? +6 +3000. 6000. 9000. 12000. 15000. 18000. +spec_pres_above_grnd 0 ? -0 +6 +0. 3000. 6000. 9000. 12000. 15000. ? ? ? @@ -1045,27 +1182,47 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --5.0 +4.0 0 0 0 ? ? ? -21 -ABSV_ON_ISOBARIC_SFC +NATLEV +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +1 +PRES_ON_HYBRID_LVL ? 1 tmpl4_0 -ABSV +PRES ? ? -isobaric_sfc +hybrid_lvl 0 ? -10 -20000. 25000. 30000. 40000. 50000. 70000. 75000. 85000. 92500. 100000. +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -1073,6 +1230,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1082,27 +1240,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -86 -STRM_ON_ISOBARIC_SFC +77 +HGT_ON_HYBRID_LVL ? 1 tmpl4_0 -STRM +HGT ? ? -isobaric_sfc +hybrid_lvl 0 ? -2 -25000. 50000. +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -1110,6 +1272,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1119,27 +1282,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -22 -TKE_ON_ISOBARIC_SFC +2 +TMP_ON_HYBRID_LVL ? 1 tmpl4_0 -TKE +TMP ? ? -isobaric_sfc +hybrid_lvl 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -1147,6 +1314,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1156,27 +1324,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -166 -ICMR_ON_ISOBARIC_SFC +3 +POT_ON_HYBRID_LVL ? 1 tmpl4_0 -ICMR +POT ? ? -isobaric_sfc +hybrid_lvl 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +2 +1. 2. ? 0 ? @@ -1184,6 +1356,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1193,27 +1366,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -153 -CLMR_ON_ISOBARIC_SFC +6 +RH_ON_HYBRID_LVL ? 1 tmpl4_0 -CLMR +RH ? ? -isobaric_sfc +hybrid_lvl 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +1 +1. ? 0 ? @@ -1221,6 +1398,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1230,6 +1408,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1238,19 +1420,19 @@ isobaric_sfc ? ? ? -183 -RWMR_ON_ISOBARIC_SFC +4 +DPT_ON_HYBRID_LVL ? 1 tmpl4_0 -RWMR +DPT ? ? -isobaric_sfc +hybrid_lvl 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +2 +1. 2. ? 0 ? @@ -1258,6 +1440,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1267,27 +1450,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +5.0 0 0 0 ? ? ? -416 -GRLE_ON_ISOBARIC_SFC -Graupel mixing ration on isobaric surface +5 +SPFH_ON_HYBRID_LVL +? 1 tmpl4_0 -GRLE +SPFH ? ? -isobaric_sfc +hybrid_lvl 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -1295,6 +1482,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1304,27 +1492,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +7.0 0 0 0 ? ? ? -184 -SNMR_ON_ISOBARIC_SFC +7 +UGRD_ON_HYBRID_LVL ? 1 tmpl4_0 -SNMR +UGRD ? ? -isobaric_sfc +hybrid_lvl 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -1332,6 +1524,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1341,27 +1534,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -263 -RIME_ON_ISOBARIC_SFC +8 +VGRD_ON_HYBRID_LVL ? 1 tmpl4_0 -RIME -NCEP +VGRD ? -isobaric_sfc +? +hybrid_lvl 0 ? -45 -200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -1369,6 +1566,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -1378,27 +1576,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -23 -MSLET_ON_MEAN_SEA_LVL +264 +DZDT_ON_HYBRID_LVL ? 1 tmpl4_0 -MSLET -NCEP +DZDT ? -mean_sea_lvl -0 ? +hybrid_lvl 0 ? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -1406,6 +1608,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -1415,27 +1618,31 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +-5.0 0 0 0 ? ? ? -105 -PRES_ON_MEAN_SEA_LVL +11 +TKE_ON_HYBRID_LVL ? 1 tmpl4_0 -PRMSL -? +TKE ? -mean_sea_lvl -0 ? +hybrid_lvl 0 ? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -1443,6 +1650,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -1452,27 +1660,31 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -106 -TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +250 +REFD_ON_HYBRID_LVL ? 1 tmpl4_0 -TMP +REFD ? ? -spec_hgt_lvl_above_grnd +hybrid_lvl 0 ? -1 -2. +2 +1. 2. ? 0 ? @@ -1480,6 +1692,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1489,6 +1702,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1497,26 +1714,27 @@ spec_hgt_lvl_above_grnd ? ? ? -112 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +199 +TCOND_ON_HYBRID_LVL ? 1 tmpl4_0 -SPFH +TCOND ? ? -spec_hgt_lvl_above_grnd +hybrid_lvl 0 ? -1 -2. -? +2 +1. 2. +? 0 ? 0 ? ? ? +? 0 0.0 0 @@ -1526,27 +1744,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -113 -DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER 1 tmpl4_0 -DPT +RHPW +NCEP ? +entire_atmos +0 ? -spec_hgt_lvl_above_grnd 0 ? -1 -2. ? 0 ? @@ -1554,6 +1776,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1563,27 +1786,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-0.1 0 0 0 ? ? ? -114 -RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +23 +MSLET_ON_MEAN_SEA_LVL ? 1 tmpl4_0 -RH +MSLET +NCEP ? +mean_sea_lvl +0 ? -spec_hgt_lvl_above_grnd 0 ? -1 -2. ? 0 ? @@ -1591,6 +1818,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1600,27 +1828,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -64 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -UGRD +TMP ? ? spec_hgt_lvl_above_grnd 0 ? 1 -10. +2. ? 0 ? @@ -1628,6 +1860,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1637,6 +1870,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1645,19 +1882,19 @@ spec_hgt_lvl_above_grnd ? ? ? -65 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -VGRD +SPFH ? ? spec_hgt_lvl_above_grnd 0 ? 1 -10. +2. ? 0 ? @@ -1665,6 +1902,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1674,6 +1912,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1682,19 +1924,19 @@ spec_hgt_lvl_above_grnd ? ? ? -245 -GUST_ON_SURFACE +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -GUST -? +DPT ? -surface -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -1702,6 +1944,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1711,32 +1954,37 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -246 -PLPL_ON_SPEC_PRES_ABOVE_GRND +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -PLPL -NCEP +RH ? -spec_pres_above_grnd +? +spec_hgt_lvl_above_grnd 0 ? 1 -25500. -spec_pres_above_grnd +2. +? 0 ? -1 -0. +0 +? +? ? ? 0 @@ -1748,20 +1996,24 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -158 -POT_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m ? 1 tmpl4_0 -POT +UGRD ? ? spec_hgt_lvl_above_grnd @@ -1776,6 +2028,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1785,20 +2038,24 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -159 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m ? 1 tmpl4_0 -SPFH +VGRD ? ? spec_hgt_lvl_above_grnd @@ -1813,6 +2070,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -1822,8 +2080,12 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 @@ -1850,6 +2112,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1859,6 +2122,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1887,6 +2154,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1896,6 +2164,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -1924,6 +2196,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1933,6 +2206,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -1961,6 +2238,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1970,6 +2248,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -1998,6 +2280,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2007,6 +2290,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -2015,19 +2302,19 @@ surface ? ? ? -115 -TSOIL_ON_DEPTH_BEL_LAND_SFC_3m -? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) 1 tmpl4_0 -TSOIL +VIL ? ? -depth_bel_land_sfc +entire_atmos_single_lyr +0 +? 0 ? -1 -3. ? 0 ? @@ -2035,6 +2322,7 @@ depth_bel_land_sfc ? ? ? +? 0 0.0 0 @@ -2044,69 +2332,37 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +7.0 0 0 0 ? ? ? -116 -TSOIL_ON_DEPTH_BEL_LAND_SFC +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 tmpl4_0 -TSOIL -? -? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. +RETOP ? ? +entire_atmos_single_lyr 0 -0.0 -0 -0.0 ? 0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 ? ? +0 ? -117 -SOILW_ON_DEPTH_BEL_LAND_SFC +0 ? -1 -tmpl4_0 -SOILW -NCEP ? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. ? ? 0 @@ -2118,32 +2374,37 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -225 -SOILL_ON_DEPTH_BEL_LAND_SFC -? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa 1 -tmpl4_0 -SOILL +tmpl4_8 +MAXUVV NCEP +MAX +isobaric_sfc +0 +? +1 +10000. +isobaric_sfc +0 +? +1 +100000. ? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. ? ? 0 @@ -2155,32 +2416,37 @@ depth_bel_land_sfc 0.0 0 0.0 -1 -3.0 -0 +0 +0.0 +0 +0.0 +1 +-3.0 +0 0 0 ? ? ? -36 -SOILM_ON_DEPTH_BEL_LAND_SFC -? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa 1 -tmpl4_0 -SOILM -? +tmpl4_8 +MAXDVV +NCEP +MAX +isobaric_sfc +0 ? -depth_bel_land_sfc -1 -2 -1 -0. -depth_bel_land_sfc 1 -2 +10000. +isobaric_sfc +0 +? 1 -200. +100000. +? ? ? 0 @@ -2192,31 +2458,36 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-3.0 0 0 0 ? ? ? -118 -CNWAT_ON_SURFACE +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km ? 1 -tmpl4_0 -CNWAT +tmpl4_8 +MXUPHL NCEP -? -surface -0 -? +MAX +spec_hgt_lvl_above_grnd 0 ? -? +1 +3000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +0000. ? ? ? @@ -2229,31 +2500,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +-3.0 0 0 0 ? ? ? -119 -WEASD_ON_SURFACE -? +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground 1 -tmpl4_0 -WEASD -? -? -surface -0 -? +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd 0 ? -? +1 +5000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +2000. ? ? ? @@ -2266,31 +2542,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-3.0 0 0 0 ? ? ? -120 -SNOWC_ON_SURFACE +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km ? 1 -tmpl4_0 -SNOWC +tmpl4_8 +MNUPHL NCEP -? -surface -0 -? +MIN +spec_hgt_lvl_above_grnd 0 ? -? +1 +5000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +2000. ? ? ? @@ -2303,31 +2584,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-3.0 0 0 0 ? ? ? -169 -SFEXC_ON_SURFACE +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km ? 1 -tmpl4_0 -SFEXC +tmpl4_8 +MNUPHL NCEP -? -surface -0 -? +MIN +spec_hgt_lvl_above_grnd 0 ? -? +1 +3000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +0000. ? ? ? @@ -2340,31 +2626,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-3.0 0 0 0 ? ? ? -170 -VEG_ON_SURFACE +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km ? 1 -tmpl4_0 -VEG -? -? -surface -0 +tmpl4_8 +RELV ? +MAX +spec_hgt_lvl_above_grnd 0 ? -? +1 +1000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +0000. ? ? ? @@ -2377,27 +2668,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -218 -VGTYP_ON_SURFACE -? +890 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 +Hourly max relative vorticity on hybrid level 1 1 -tmpl4_0 -VGTYP -NCEP -? -surface -0 +tmpl4_8 +RELV ? +MAX +hybrid_lvl 0 ? +1 +1. ? 0 ? @@ -2405,6 +2700,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2414,31 +2710,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -219 -SOTYP_ON_SURFACE +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km ? 1 -tmpl4_0 -SOTYP -? -? -surface -0 +tmpl4_8 +RELV ? +MAX +spec_hgt_lvl_above_grnd 0 ? -? +1 +2000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +0000. ? ? ? @@ -2451,22 +2752,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -226 -SNFALB_ON_SURFACE +728 +GSD_HAILCAST_HAIL_DIAMETER ? 1 -tmpl4_0 -SNFALB -NCEP +tmpl4_8 +HAIL ? +MAX surface 0 ? @@ -2479,6 +2784,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2488,6 +2794,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2496,19 +2806,19 @@ surface ? ? ? -227 -MXSALB_ON_SURFACE -? +506 +MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +U Component of Hourly Maximum 10m Wind Speed (m/s) 1 -tmpl4_0 -MXSALB +tmpl4_8 +MAXUW NCEP -? -surface -0 -? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -2516,6 +2826,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2525,27 +2836,31 @@ surface 0.0 0 0.0 -1 -3.0 +0 +0.0 +0 +0.0 +1 +-4.0 0 0 0 ? ? ? -220 -CCOND_ON_SURFACE -? +507 +MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +V Component of Hourly Maximum 10m Wind Speed (m/s) 1 -tmpl4_0 -CCOND +tmpl4_8 +MAXVW NCEP -? -surface -0 -? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -2553,6 +2868,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2562,27 +2878,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-4.0 0 0 0 ? ? ? -238 -RCS_ON_SURFACE -? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground 1 -tmpl4_0 -RCS +tmpl4_8 +MAXREF NCEP -? -surface -0 -? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +1000. ? 0 ? @@ -2590,6 +2910,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2599,27 +2920,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-3.0 0 0 0 ? ? ? -239 -RCT_ON_SURFACE -? +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface 1 -tmpl4_0 -RCT +tmpl4_8 +MAXREF NCEP -? -surface -0 -? +MAX +isothermal 0 ? +1 +263. ? 0 ? @@ -2627,6 +2952,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2636,27 +2962,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +-3.0 0 0 0 ? ? ? -240 -RCQ_ON_SURFACE +912 +REFD_ON_ISOTHERMAL ? 1 tmpl4_0 -RCQ -NCEP +REFD ? -surface -0 ? +isothermal 0 ? +1 +263. ? 0 ? @@ -2664,6 +2994,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2673,27 +3004,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-4.0 0 0 0 ? ? ? -241 -RCSOL_ON_SURFACE +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_0 -RCSOL -NCEP -? -surface -0 +tmpl4_8 +TMAX ? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -2701,6 +3036,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2710,27 +3046,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -237 -SMREF_ON_SURFACE +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_0 -SMREF -NCEP -? -surface -0 +tmpl4_8 +TMIN ? +MIN +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -2738,6 +3078,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2747,27 +3088,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -233 -POROS_ON_SURFACE +347 +MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_0 -POROS -NCEP -? -surface -0 +tmpl4_8 +MAXRH ? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -2775,6 +3120,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2784,27 +3130,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-2.0 0 0 0 ? ? ? -235 -RLYRS_ON_SURFACE +348 +MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_0 -RLYRS +tmpl4_8 +MINRH NCEP -? -surface -0 -? +MIN +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -2812,6 +3162,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2821,23 +3172,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-2.0 0 0 0 ? ? ? -234 -RSMIN_ON_SURFACE +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -RSMIN -NCEP +CISOILM ? -surface +? +depth_bel_land_sfc 0 ? 0 @@ -2849,6 +3204,7 @@ surface ? ? ? +? 0 0.0 0 @@ -2858,6 +3214,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -2866,68 +3226,78 @@ surface ? ? ? -224 -SNOD_ON_SURFACE +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -SNOD +TSOIL ? ? -surface -0 +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. ? -0 ? ? 0 -? +0.0 0 -? -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -6.0 +4.0 0 0 0 ? ? ? -232 -SMDRY_ON_SURFACE +117 +SOILW_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -SMDRY +SOILW NCEP ? -surface -0 +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. ? -0 ? ? 0 -? +0.0 0 -? -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -2940,31 +3310,36 @@ surface ? ? ? -236 -WILT_ON_SURFACE +225 +SOILL_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -WILT -NCEP +SOILL ? -surface -0 ? -0 +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. ? ? -0 ? 0 -? -? +0.0 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -2977,24 +3352,25 @@ surface ? ? ? -171 -MSTAV_ON_DEPTH_BEL_LAND_SFC +169 +SFEXC_ON_SURFACE ? 1 tmpl4_0 -MSTAV -NCEP +SFEXC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? ? -depth_bel_land_sfc -1 -2 -1 -0. -depth_bel_land_sfc -1 -2 -1 -100. ? ? 0 @@ -3006,6 +3382,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3014,13 +3394,13 @@ depth_bel_land_sfc ? ? ? -152 -INST_GFLUX_ON_SURFACE +170 +VEG_ON_SURFACE ? 1 tmpl4_0 -GFLUX -NCEP +VEG +? ? surface 0 @@ -3034,6 +3414,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3043,6 +3424,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3051,24 +3436,25 @@ surface ? ? ? -30 -LFTX_ON_ISOBARIC_SFC_500-1000hpa +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -LFTX -NCEP +MSTAV ? -isobaric_sfc +? +depth_bel_land_sfc 0 ? -1 -50000. -isobaric_sfc 0 ? -1 -100000. +? +0 +? +0 +? +? ? ? 0 @@ -3080,6 +3466,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3088,24 +3478,25 @@ isobaric_sfc ? ? ? -31 -4LFTX_ON_SPEC_PRES_ABOVE_GRND +152 +INST_GFLUX_ON_SURFACE ? 1 tmpl4_0 -4LFTX +GFLUX NCEP ? -spec_pres_above_grnd +surface +0 +? +0 +? +? 0 ? -1 -18000. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -3117,6 +3508,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -3125,24 +3520,25 @@ spec_pres_above_grnd ? ? ? -75 -PLI_ON_SPEC_PRES_ABOVE_GRND +118 +CNWAT_ON_SURFACE ? 1 tmpl4_0 -PLI +CNWAT ? ? -spec_pres_above_grnd +surface 0 ? -1 -3000. -spec_pres_above_grnd 0 ? -1 -0. +? +0 +? +0 +? +? ? ? 0 @@ -3154,20 +3550,24 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +1.0 0 0 0 ? ? ? -32 -CAPE_ON_SURFACE +119 +WEASD_ON_SURFACE ? 1 tmpl4_0 -CAPE +WEASD ? ? surface @@ -3182,6 +3582,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3191,6 +3592,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3199,24 +3604,25 @@ surface ? ? ? -566 -BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +120 +SNOWC_ON_SURFACE ? 1 tmpl4_0 -CAPE +SNOWC ? ? -spec_pres_above_grnd +surface 0 ? -1 -18000. -spec_pres_above_grnd 0 ? -1 -0. +? +0 +? +0 +? +? ? ? 0 @@ -3228,27 +3634,31 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -582 -MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -CAPE +4LFTX ? ? spec_pres_above_grnd 0 ? 1 -9000. +18000. spec_pres_above_grnd 0 ? @@ -3256,6 +3666,7 @@ spec_pres_above_grnd 0. ? ? +? 0 0.0 0 @@ -3265,32 +3676,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -584 -UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 tmpl4_0 -CAPE +PWAT ? ? -spec_pres_above_grnd +entire_atmos_single_lyr 0 ? -1 -25500. -spec_pres_above_grnd 0 ? -1 -0. +? +0 +? +0 +? +? ? ? 0 @@ -3302,22 +3718,26 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -107 -CIN_ON_SURFACE +87 +ACM_APCP_ON_SURFACE ? 1 -tmpl4_0 -CIN -? +tmpl4_8 +APCP ? +ACM surface 0 ? @@ -3330,6 +3750,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3339,32 +3760,37 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -567 -BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +1004 +ACM_SNOWFALL_ON_SURFACE ? 1 -tmpl4_0 -CIN +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 ? ? -spec_pres_above_grnd 0 ? -1 -18000. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -3376,6 +3802,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3384,28 +3814,29 @@ spec_pres_above_grnd ? ? ? -583 -MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND +121 +ACM_SNOM_ON_SURFACE ? 1 -tmpl4_0 -CIN -? +tmpl4_8 +SNOM ? -spec_pres_above_grnd +ACM +surface 0 ? -1 -9000. -spec_pres_above_grnd 0 ? -1 -0. ? +0 ? 0 -0.0 +? +? +? +? +0 +0.0 0 0.0 ? @@ -3413,6 +3844,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -3421,24 +3856,25 @@ spec_pres_above_grnd ? ? ? -585 -UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND +122 +ACM_SSRUN_ON_SURFACE ? 1 -tmpl4_0 -CIN +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 ? ? -spec_pres_above_grnd 0 ? -1 -25500. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -3450,23 +3886,27 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -80 -PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +121 +ACM_SNOM_ON_SURFACE ? 1 -tmpl4_0 -PWAT -? +tmpl4_8 +SNOM ? -entire_atmos_single_lyr +ACM +surface 0 ? 0 @@ -3478,6 +3918,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -3487,34 +3928,39 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -162 -HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND -? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface 1 tmpl4_0 -HLCY +CRAIN ? ? -spec_hgt_lvl_above_grnd +surface 0 ? -2 -3000. 1000. -spec_hgt_lvl_above_grnd +0 +? +? 0 ? 0 ? ? ? +? 0 0.0 0 @@ -3524,34 +3970,39 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +1.0 0 0 0 ? ? ? -163 -USTM_ON_SPEC_HGT_LVL_ABOVE_GRND -? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface 1 tmpl4_0 -USTM -NCEP +CSNOW ? -spec_hgt_lvl_above_grnd +? +surface 0 ? -1 -6000. -spec_hgt_lvl_above_grnd +0 +? +? 0 ? 0 ? ? ? +? 0 0.0 0 @@ -3561,34 +4012,39 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +1.0 0 0 0 ? ? ? -164 -VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND -? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface 1 tmpl4_0 -VSTM -NCEP +CICEP ? -spec_hgt_lvl_above_grnd +? +surface 0 ? -1 -6000. -spec_hgt_lvl_above_grnd +0 +? +? 0 ? 0 ? ? ? +? 0 0.0 0 @@ -3598,22 +4054,26 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +1.0 0 0 0 ? ? ? -87 -ACM_APCP_ON_SURFACE -? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface 1 -tmpl4_8 -APCP +tmpl4_0 +CFRZR +? ? -ACM surface 0 ? @@ -3626,6 +4086,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3635,22 +4096,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +1.0 0 0 0 ? ? ? -34 -ACM_NCPCP_ON_SURFACE +167 +INST_PRATE_ON_SURFACE ? 1 -tmpl4_8 -NCPCP +tmpl4_0 +PRATE +? ? -ACM surface 0 ? @@ -3663,6 +4128,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3672,22 +4138,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +6.0 0 0 0 ? ? ? -417 -CACM_APCP_ON_SURFACE +172 +CPOFP_ON_SURFACE ? 1 -tmpl4_8 -APCP +tmpl4_0 +CPOFP +? ? -ACM surface 0 ? @@ -3700,6 +4170,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3709,27 +4180,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 ? ? ? -419 -CACM_NCPCP_ON_SURFACE +124 +CLMR_ON_HYBRID_LVL ? 1 -tmpl4_8 -NCPCP +tmpl4_0 +CLMR ? -ACM -surface -0 ? +hybrid_lvl 0 ? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -3737,6 +4212,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3746,27 +4222,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +3.0 0 0 0 ? ? ? -121 -ACM_SNOM_ON_SURFACE -? +747 +NCCD_ON_HYBRID_LVL +Number concentration for cloud water drops on hybrid level 1 -tmpl4_8 -SNOM +tmpl4_0 +NCONCD ? -ACM -surface -0 ? +hybrid_lvl 0 ? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -3774,6 +4254,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3783,27 +4264,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -122 -ACM_SSRUN_ON_SURFACE +125 +ICMR_ON_HYBRID_LVL ? 1 -tmpl4_8 -SSRUN -NCEP -ACM -surface -0 +tmpl4_0 +ICMR ? +? +hybrid_lvl 0 ? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -3811,6 +4296,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3820,27 +4306,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -123 -ACM_BGRUN_ON_SURFACE -? +752 +NCIP_ON_HYBRID_LVL +Number concentration for ice particles on hybrid level 1 -tmpl4_8 -BGRUN -NCEP -ACM -surface -0 +tmpl4_0 +NCCICE +? ? +hybrid_lvl 0 ? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -3848,6 +4338,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3857,27 +4348,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -343 -ACM_WATR_ON_SURFACE -? +415 +GRLE_ON_HYBRID_LVL +Graupel mixing ration on hybrid level 1 -tmpl4_8 -WATR +tmpl4_0 +GRLE ? -ACM -surface -0 ? +hybrid_lvl 0 ? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -3885,6 +4380,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3894,27 +4390,31 @@ surface 0.0 0 0.0 -1 -6.0 -0 +0 +0.0 +0 +0.0 +1 +3.0 +0 0 0 ? ? ? -160 -INST_CRAIN_ON_SURFACE +145 +TCDC_ON_HYBRID_LVL ? 1 tmpl4_0 -CRAIN -NCEP +TCDC ? -surface -0 ? +hybrid_lvl 0 ? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -3922,6 +4422,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3931,27 +4432,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +3.0 0 0 0 ? ? ? -551 -CSNOW_ON_SURFACE -Categorical snow on surface +181 +RWMR_ON_HYBRID_LVL +? 1 tmpl4_0 -CSNOW -NCEP +RWMR ? -surface -0 ? +hybrid_lvl 0 ? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -3959,6 +4464,7 @@ surface ? ? ? +? 0 0.0 0 @@ -3968,27 +4474,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +3.0 0 0 0 ? ? ? -552 -CICEP_ON_SURFACE -Categorical ice pellets on surface +182 +SNMR_ON_HYBRID_LVL +? 1 tmpl4_0 -CICEP -NCEP +SNMR ? -surface -0 ? +hybrid_lvl 0 ? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -3996,6 +4506,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4005,27 +4516,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +3.0 0 0 0 ? ? ? -553 -CFRZR_ON_SURFACE -Categorical freezing rain on surface +754 +NCRAIN_ON_HYBRID_LVL +? 1 tmpl4_0 -CFRZR -NCEP +SPNCR ? -surface -0 ? +hybrid_lvl 0 ? +65 +1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ? 0 ? @@ -4033,6 +4548,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4042,23 +4558,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +3.0 0 0 0 ? ? ? -167 -INST_PRATE_ON_SURFACE +37 +LCDC_ON_LOW_CLOUD_LYR ? 1 tmpl4_0 -PRATE +LCDC ? ? -surface +low_cloud_lyr 0 ? 0 @@ -4070,6 +4590,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4079,23 +4600,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -172 -CPOFP_ON_SURFACE +38 +MCDC_ON_MID_CLOUD_LYR ? 1 tmpl4_0 -CPOFP -NCEP +MCDC ? -surface +? +mid_cloud_lyr 0 ? 0 @@ -4107,6 +4632,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4116,27 +4642,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -124 -CLMR_ON_HYBRID_LVL +39 +HCDC_ON_HIGH_CLOUD_LYR ? 1 tmpl4_0 -CLMR +HCDC ? ? -hybrid_lvl +high_cloud_lyr +0 +? 0 ? -2 -1. 2. ? 0 ? @@ -4144,6 +4674,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4153,6 +4684,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4161,19 +4696,19 @@ hybrid_lvl ? ? ? -125 -ICMR_ON_HYBRID_LVL +799 +TCDC_ON_BOUND_LYR ? 1 tmpl4_0 -ICMR +TCDC ? ? -hybrid_lvl +bound_lyr_cloud_lyr +0 +? 0 ? -2 -1. 2. ? 0 ? @@ -4181,6 +4716,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4190,27 +4726,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -415 -GRLE_ON_HYBRID_LVL -Graupel mixing ration on hybrid level +161 +INST_TCDC_ON_ENTIRE_ATMOS +? 1 tmpl4_0 -GRLE +TCDC ? ? -hybrid_lvl +entire_atmos_single_lyr +0 +? 0 ? -2 -1. 2. ? 0 ? @@ -4218,6 +4758,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4227,6 +4768,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4235,19 +4780,19 @@ hybrid_lvl ? ? ? -145 -TCDC_ON_HYBRID_LVL +144 +AVE_TCDC_ON_ENTIRE_ATMOS ? 1 -tmpl4_0 +tmpl4_8 TCDC ? +AVE +entire_atmos_single_lyr +0 ? -hybrid_lvl 0 ? -2 -1. 2. ? 0 ? @@ -4255,6 +4800,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -4264,6 +4810,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4272,15 +4822,15 @@ hybrid_lvl ? ? ? -37 -LCDC_ON_LOW_CLOUD_LYR +141 +INST_USWRF_ON_SURFACE ? 1 tmpl4_0 -LCDC +USWRF ? ? -low_cloud_lyr +surface 0 ? 0 @@ -4292,6 +4842,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -4301,23 +4852,27 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -38 -MCDC_ON_MID_CLOUD_LYR +142 +INST_ULWRF_ON_SURFACE ? 1 tmpl4_0 -MCDC +ULWRF ? ? -mid_cloud_lyr +surface 0 ? 0 @@ -4329,6 +4884,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -4338,23 +4894,27 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -39 -HCDC_ON_HIGH_CLOUD_LYR +126 +AVE_DSWRF_ON_SURFACE ? 1 -tmpl4_0 -HCDC -? +tmpl4_8 +DSWRF ? -high_cloud_lyr +AVE +surface 0 ? 0 @@ -4366,6 +4926,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -4375,6 +4936,10 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4383,15 +4948,15 @@ high_cloud_lyr ? ? ? -161 -INST_TCDC_ON_ENTIRE_ATMOS +127 +AVE_DLWRF_ON_SURFACE ? 1 -tmpl4_0 -TCDC -? +tmpl4_8 +DLWRF ? -entire_atmos_single_lyr +AVE +surface 0 ? 0 @@ -4403,6 +4968,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -4412,6 +4978,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4420,15 +4990,15 @@ entire_atmos_single_lyr ? ? ? -144 -AVE_TCDC_ON_ENTIRE_ATMOS +128 +AVE_USWRF_ON_SURFACE ? 1 tmpl4_8 -TCDC +USWRF ? AVE -entire_atmos_single_lyr +surface 0 ? 0 @@ -4440,6 +5010,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -4449,6 +5020,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4457,15 +5032,15 @@ entire_atmos_single_lyr ? ? ? -139 -AVE_CDLYR_ON_ENTIRE_ATMOS +129 +AVE_ULWRF_ON_SURFACE ? 1 tmpl4_8 -CDLYR -NCEP +ULWRF +? AVE -entire_atmos_single_lyr +surface 0 ? 0 @@ -4477,6 +5052,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -4486,6 +5062,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4494,15 +5074,15 @@ entire_atmos_single_lyr ? ? ? -410 -GSD_VIS_ON_SURFACE -GSD_visibility on surface -1 -tmpl4_0 -VIS +130 +AVE_USWRF_ON_TOP_OF_ATMOS ? +1 +tmpl4_8 +USWRF ? -surface +AVE +top_of_atmos 0 ? 0 @@ -4514,6 +5094,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4523,23 +5104,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -109 -HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC +131 +AVE_ULWRF_ON_TOP_OF_ATMOS ? 1 -tmpl4_0 -HGT -? +tmpl4_8 +ULWRF ? -lvl_of_adiab_cond_from_sfc +AVE +top_of_atmos 0 ? 0 @@ -4551,6 +5136,7 @@ lvl_of_adiab_cond_from_sfc ? ? ? +? 0 0.0 0 @@ -4560,23 +5146,27 @@ lvl_of_adiab_cond_from_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +3.0 0 0 0 ? ? ? -110 -PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC +156 +INST_DSWRF_ON_SURFACE ? 1 tmpl4_0 -PRES +DSWRF ? ? -lvl_of_adiab_cond_from_sfc +surface 0 ? 0 @@ -4588,6 +5178,7 @@ lvl_of_adiab_cond_from_sfc ? ? ? +? 0 0.0 0 @@ -4597,21 +5188,25 @@ lvl_of_adiab_cond_from_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -141 -INST_USWRF_ON_SURFACE +157 +INST_DLWRF_ON_SURFACE ? 1 tmpl4_0 -USWRF -NCEP +DLWRF +? ? surface 0 @@ -4625,6 +5220,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4634,6 +5230,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4642,12 +5242,12 @@ surface ? ? ? -142 -INST_ULWRF_ON_SURFACE +772 +INST_SWDDNI_ON_SURFACE ? 1 tmpl4_0 -ULWRF +VBDSF NCEP ? surface @@ -4662,6 +5262,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4671,6 +5272,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4679,14 +5284,14 @@ surface ? ? ? -126 -AVE_DSWRF_ON_SURFACE +773 +INST_SWDDIF_ON_SURFACE ? 1 -tmpl4_8 -DSWRF +tmpl4_0 +VDDSF NCEP -AVE +? surface 0 ? @@ -4699,6 +5304,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4708,22 +5314,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -127 -AVE_DLWRF_ON_SURFACE +262 +INST_CSDSF_ON_SURFACE ? 1 -tmpl4_8 -DLWRF +tmpl4_0 +CSDSF NCEP -AVE +? surface 0 ? @@ -4736,6 +5346,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4745,22 +5356,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -128 -AVE_USWRF_ON_SURFACE +44 +SFCR_ON_SURFACE ? 1 -tmpl4_8 -USWRF -NCEP -AVE +tmpl4_0 +SFCR +? +? surface 0 ? @@ -4773,6 +5388,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4782,22 +5398,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +2.7 0 0 0 ? ? ? -129 -AVE_ULWRF_ON_SURFACE +45 +FRICV_ON_SURFACE ? 1 -tmpl4_8 -ULWRF -NCEP -AVE +tmpl4_0 +FRICV +? +? surface 0 ? @@ -4810,6 +5430,7 @@ surface ? ? ? +? 0 0.0 0 @@ -4819,23 +5440,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -130 -AVE_USWRF_ON_TOP_OF_ATMOS +132 +CD_ON_SURFACE ? 1 -tmpl4_8 -USWRF -NCEP -AVE -top_of_atmos +tmpl4_0 +CD +? +? +surface 0 ? 0 @@ -4847,6 +5472,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -4856,6 +5482,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -4864,15 +5494,15 @@ top_of_atmos ? ? ? -131 -AVE_ULWRF_ON_TOP_OF_ATMOS +43 +AVE_SHTFL_ON_SURFACE ? 1 tmpl4_8 -ULWRF -NCEP +SHTFL +? AVE -top_of_atmos +surface 0 ? 0 @@ -4884,6 +5514,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -4893,23 +5524,27 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -274 -INST_ULWRF_ON_TOP_OF_ATMOS +135 +AVE_GFLUX_ON_SURFACE ? 1 -tmpl4_0 -ULWRF +tmpl4_8 +GFLUX NCEP -? -top_of_atmos +AVE +surface 0 ? 0 @@ -4921,6 +5556,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -4930,6 +5566,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -4938,15 +5578,15 @@ top_of_atmos ? ? ? -275 -BRTMP_ON_TOP_OF_ATMOS +136 +AVE_SNOHF_ON_SURFACE ? 1 -tmpl4_0 -BRTMP -? +tmpl4_8 +SNOHF ? -top_of_atmos +AVE +surface 0 ? 0 @@ -4958,6 +5598,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -4967,22 +5608,26 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -156 -INST_DSWRF_ON_SURFACE +42 +AVE_LHTFL_ON_SURFACE ? 1 -tmpl4_0 -DSWRF -NCEP +tmpl4_8 +LHTFL ? +AVE surface 0 ? @@ -4995,6 +5640,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5004,6 +5650,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5012,14 +5662,14 @@ surface ? ? ? -157 -INST_DLWRF_ON_SURFACE +137 +ACM_PEVAP_ON_SURFACE ? 1 -tmpl4_0 -DLWRF -NCEP +tmpl4_8 +PEVAP ? +ACM surface 0 ? @@ -5032,6 +5682,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5041,6 +5692,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5049,13 +5704,13 @@ surface ? ? ? -262 -INST_CSDSF_ON_SURFACE +154 +INST_SHTFL_ON_SURFACE ? 1 tmpl4_0 -CSDSF -NCEP +SHTFL +? ? surface 0 @@ -5069,6 +5724,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5078,6 +5734,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5086,12 +5746,12 @@ surface ? ? ? -44 -SFCR_ON_SURFACE +155 +INST_LHTFL_ON_SURFACE ? 1 tmpl4_0 -SFCR +LHTFL ? ? surface @@ -5106,6 +5766,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5115,20 +5776,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.7 +4.0 0 0 0 ? ? ? -45 -FRICV_ON_SURFACE +48 +NLAT_ON_SURFACE ? 1 tmpl4_0 -FRICV +NLAT NCEP ? surface @@ -5143,6 +5808,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5152,6 +5818,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5160,12 +5830,12 @@ surface ? ? ? -132 -CD_ON_SURFACE +49 +ELON_ON_SURFACE ? 1 tmpl4_0 -CD +ELON NCEP ? surface @@ -5180,6 +5850,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5189,20 +5860,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -133 -UFLX_ON_SURFACE +50 +LAND_ON_SURFACE ? 1 tmpl4_0 -UFLX +LAND ? ? surface @@ -5217,6 +5892,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5226,20 +5902,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +1.0 0 0 0 ? ? ? -134 -VFLX_ON_SURFACE +51 +ICEC_ON_SURFACE ? 1 tmpl4_0 -VFLX +ICEC ? ? surface @@ -5254,6 +5934,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5263,6 +5944,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -5271,14 +5956,14 @@ surface ? ? ? -43 -AVE_SHTFL_ON_SURFACE +52 +LMH_ON_SURFACE ? 1 -tmpl4_8 -SHTFL +tmpl4_0 +LMH +NCEP ? -AVE surface 0 ? @@ -5291,6 +5976,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5300,22 +5986,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +2.0 0 0 0 ? ? ? -135 -AVE_GFLUX_ON_SURFACE +53 +LMV_ON_SURFACE ? 1 -tmpl4_8 -GFLUX +tmpl4_0 +LMV NCEP -AVE +? surface 0 ? @@ -5328,6 +6018,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5337,22 +6028,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +2.0 0 0 0 ? ? ? -136 -AVE_SNOHF_ON_SURFACE +150 +ALBDO_ON_SURFACE ? 1 -tmpl4_8 -SNOHF -NCEP -AVE +tmpl4_0 +ALBDO +? +? surface 0 ? @@ -5365,6 +6060,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5374,22 +6070,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -42 -AVE_LHTFL_ON_SURFACE +151 +WTMP_ON_SURFACE ? 1 -tmpl4_8 -LHTFL +tmpl4_0 +WTMP +? ? -AVE surface 0 ? @@ -5402,6 +6102,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5411,23 +6112,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -47 -ACM_EVP_ON_SURFACE +282 +PRES_ON_TOP_OF_ATMOS ? 1 -tmpl4_8 -EVP +tmpl4_0 +PRES ? -ACM -surface +? +top_of_atmos 0 ? 0 @@ -5439,6 +6144,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5448,22 +6154,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -137 -ACM_PEVAP_ON_SURFACE +152 +INST_GFLUX_ON_SURFACE ? 1 -tmpl4_8 -PEVAP +tmpl4_0 +GFLUX NCEP -ACM +? surface 0 ? @@ -5476,6 +6186,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5485,31 +6196,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -154 -INST_SHTFL_ON_SURFACE +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa ? 1 tmpl4_0 -SHTFL -? +LFTX ? -surface -0 ? +isobaric_sfc 0 ? -? +1 +50000. +isobaric_sfc 0 ? -0 +1 +100000. ? ? ? @@ -5522,20 +6238,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -155 -INST_LHTFL_ON_SURFACE +32 +CAPE_ON_SURFACE ? 1 tmpl4_0 -LHTFL +CAPE ? ? surface @@ -5550,6 +6270,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5559,6 +6280,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5567,23 +6292,24 @@ surface ? ? ? -48 -NLAT_ON_SURFACE +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -NLAT -NCEP +CAPE ? -surface -0 ? +spec_pres_above_grnd 0 ? -? +1 +18000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -5596,6 +6322,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5604,23 +6334,24 @@ surface ? ? ? -49 -ELON_ON_SURFACE +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -ELON -NCEP +CAPE ? -surface -0 ? +spec_pres_above_grnd 0 ? -? +1 +9000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -5633,6 +6364,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -5641,23 +6376,24 @@ surface ? ? ? -50 -LAND_ON_SURFACE +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -LAND +CAPE ? ? -surface +spec_pres_above_grnd 0 ? +1 +25500. +spec_pres_above_grnd 0 ? -? -0 -? -0 +1 +0. ? ? ? @@ -5670,31 +6406,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +4.0 0 0 0 ? ? ? -51 -ICEC_ON_SURFACE +950 +CAPE_ON_0_3KM_ABOVE_GRND ? 1 tmpl4_0 -ICEC -? +CAPE ? -surface -0 ? +spec_hgt_lvl_above_grnd 0 ? -? +1 +0. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +3000. ? ? ? @@ -5707,20 +6448,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -150 -ALBDO_ON_SURFACE +107 +CIN_ON_SURFACE ? 1 tmpl4_0 -ALBDO +CIN ? ? surface @@ -5735,6 +6480,7 @@ surface ? ? ? +? 0 0.0 0 @@ -5744,31 +6490,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -151 -WTMP_ON_SURFACE +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -WTMP -? +CIN ? -surface -0 ? +spec_pres_above_grnd 0 ? -? +1 +18000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -5781,31 +6532,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -54 -PRES_ON_TROPOPAUSE +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -PRES -? +CIN ? -tropopause -0 ? +spec_pres_above_grnd 0 ? -? +1 +9000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -5818,31 +6574,36 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -177 -HGT_ON_TROPOPAUSE +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -HGT -? +CIN ? -tropopause -0 ? +spec_pres_above_grnd 0 ? -? +1 +25500. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -5855,31 +6616,36 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -55 -TMP_ON_TROPOPAUSE +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -TMP -? -? -tropopause -0 +PLPL +NCEP ? +spec_pres_above_grnd 0 ? -? +1 +25500. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -5892,31 +6658,36 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -108 -POT_ON_TROPOPAUSE +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 tmpl4_0 -POT +HLCY ? ? -tropopause +spec_hgt_lvl_above_grnd 0 ? +2 +3000. 1000. +spec_hgt_lvl_above_grnd 0 ? -? 0 ? -0 ? ? ? @@ -5929,23 +6700,27 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -56 -UGRD_ON_TROPOPAUSE +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 tmpl4_0 -UGRD -? +EFHL +NCEP ? -tropopause +surface 0 ? 0 @@ -5957,6 +6732,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -5966,31 +6742,36 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -57 -VGRD_ON_TROPOPAUSE +957 +CRITICAL_ANGLE ? 1 tmpl4_0 -VGRD -? -? -tropopause -0 +CANGLE +NCEP ? +spec_hgt_lvl_above_grnd 0 ? -? +1 +0. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +500. ? ? ? @@ -6003,34 +6784,39 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -58 -VWSH_ON_TROPOPAUSE +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 tmpl4_0 -VWSH -NCEP +USTM ? -tropopause -0 ? +spec_hgt_lvl_above_grnd 0 ? -? +1 +6000. +spec_hgt_lvl_above_grnd 0 ? 0 ? ? ? +? 0 0.0 0 @@ -6040,32 +6826,37 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -430 -VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km -Vertical u-component shear between 0 to 1000m Above Ground +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +? 1 tmpl4_0 -VUCSH +VSTM ? ? spec_hgt_lvl_above_grnd 0 ? 1 -0. +6000. spec_hgt_lvl_above_grnd 0 ? -1 -1000. +0 +? +? ? ? 0 @@ -6077,32 +6868,37 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -431 -VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km -Vertical v-component shear between 0 to 1000m Above Ground +37 +LCDC_ON_LOW_CLOUD_LYR +? 1 tmpl4_0 -VVCSH +LCDC +? +? +low_cloud_lyr +0 +? +0 ? ? -spec_hgt_lvl_above_grnd 0 ? -1 -0. -spec_hgt_lvl_above_grnd 0 ? -1 -1000. +? ? ? 0 @@ -6114,32 +6910,37 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 -1 -3.0 +0 +0.0 +0 +0.0 +1 +3.0 0 0 0 ? ? ? -432 -VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km -Vertical u-component shear between 0 to 6000m Above Ground +38 +MCDC_ON_MID_CLOUD_LYR +? 1 tmpl4_0 -VUCSH +MCDC ? ? -spec_hgt_lvl_above_grnd +mid_cloud_lyr 0 ? -1 -0. -spec_hgt_lvl_above_grnd 0 ? -1 -6000. +? +0 +? +0 +? +? ? ? 0 @@ -6151,6 +6952,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6159,24 +6964,25 @@ spec_hgt_lvl_above_grnd ? ? ? -433 -VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km -Vertical v-component shear between 0 to 6000m Above Ground +39 +HCDC_ON_HIGH_CLOUD_LYR +? 1 tmpl4_0 -VVCSH +HCDC +? +? +high_cloud_lyr +0 +? +0 ? ? -spec_hgt_lvl_above_grnd 0 ? -1 -0. -spec_hgt_lvl_above_grnd 0 ? -1 -6000. +? ? ? 0 @@ -6188,6 +6994,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6196,19 +7006,19 @@ spec_hgt_lvl_above_grnd ? ? ? -59 -TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +144 +AVE_TCDC_ON_ENTIRE_ATMOS ? 1 -tmpl4_0 -TMP +tmpl4_8 +TCDC ? +AVE +entire_atmos_single_lyr +0 ? -spec_alt_above_mean_sea_lvl 0 ? -10 -305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. ? 0 ? @@ -6216,6 +7026,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -6225,6 +7036,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6233,19 +7048,19 @@ spec_alt_above_mean_sea_lvl ? ? ? -586 -TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +148 +PRES_ON_CLOUD_BASE ? 1 tmpl4_0 -TMP +PRES ? ? -spec_hgt_lvl_above_grnd +cloud_base +0 +? 0 ? -4 -30. 50. 80. 100. ? 0 ? @@ -6253,6 +7068,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6262,27 +7078,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -60 -UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +149 +PRES_ON_CLOUD_TOP ? 1 tmpl4_0 -UGRD +PRES ? ? -spec_alt_above_mean_sea_lvl +cloud_top +0 +? 0 ? -10 -305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. ? 0 ? @@ -6290,6 +7110,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -6299,27 +7120,31 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -576 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +168 +TMP_ON_CLOUD_TOP ? 1 tmpl4_0 -UGRD +TMP ? ? -spec_hgt_lvl_above_grnd +cloud_top +0 +? 0 ? -4 -30. 50. 80. 100. ? 0 ? @@ -6327,6 +7152,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6336,27 +7162,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -61 -VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +135 +AVE_GFLUX_ON_SURFACE ? 1 -tmpl4_0 -VGRD -? +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 ? -spec_alt_above_mean_sea_lvl 0 ? -10 -305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. ? 0 ? @@ -6364,6 +7194,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -6373,6 +7204,10 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6381,19 +7216,19 @@ spec_alt_above_mean_sea_lvl ? ? ? -577 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +136 +AVE_SNOHF_ON_SURFACE ? 1 -tmpl4_0 -VGRD +tmpl4_8 +SNOHF ? +AVE +surface +0 ? -spec_hgt_lvl_above_grnd 0 ? -4 -30. 50. 80. 100. ? 0 ? @@ -6401,6 +7236,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6410,6 +7246,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6418,19 +7258,19 @@ spec_hgt_lvl_above_grnd ? ? ? -451 -SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +154 +INST_SHTFL_ON_SURFACE ? 1 tmpl4_0 -SPFH +SHTFL ? ? -spec_alt_above_mean_sea_lvl +surface +0 +? 0 ? -1 -305. ? 0 ? @@ -6438,6 +7278,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -6447,27 +7288,31 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -578 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +155 +INST_LHTFL_ON_SURFACE ? 1 tmpl4_0 -SPFH +LHTFL ? ? -spec_hgt_lvl_above_grnd +surface +0 +? 0 ? -4 -30. 50. 80. 100. ? 0 ? @@ -6475,6 +7320,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6484,27 +7330,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -579 -PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT +54 +PRES_ON_TROPOPAUSE ? 1 tmpl4_0 PRES ? ? -spec_hgt_lvl_above_grnd +tropopause +0 +? 0 ? -4 -30. 50. 80. 100. ? 0 ? @@ -6512,6 +7362,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -6521,23 +7372,27 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -62 -HGT_ON_0C_ISOTHERM +177 +HGT_ON_TROPOPAUSE ? 1 tmpl4_0 HGT ? ? -0C_isotherm +tropopause 0 ? 0 @@ -6549,6 +7404,7 @@ HGT ? ? ? +? 0 0.0 0 @@ -6558,6 +7414,10 @@ HGT 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -6566,15 +7426,15 @@ HGT ? ? ? -63 -RH_ON_0C_ISOTHERM +55 +TMP_ON_TROPOPAUSE ? 1 tmpl4_0 -RH +TMP ? ? -0C_isotherm +tropopause 0 ? 0 @@ -6586,6 +7446,7 @@ RH ? ? ? +? 0 0.0 0 @@ -6595,23 +7456,27 @@ RH 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 +3.0 0 0 0 ? ? ? -165 -HGT_ON_HGHST_TROP_FRZ_LVL +56 +UGRD_ON_TROPOPAUSE ? 1 tmpl4_0 -HGT +UGRD ? ? -hghst_trop_frz_lvl +tropopause 0 ? 0 @@ -6623,6 +7488,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -6632,23 +7498,27 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -247 -HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +57 +VGRD_ON_TROPOPAUSE ? 1 tmpl4_0 -HGT +VGRD ? ? -lwst_lvl_of_wet_bulb_zero +tropopause 0 ? 0 @@ -6660,6 +7530,7 @@ lwst_lvl_of_wet_bulb_zero ? ? ? +? 0 0.0 0 @@ -6669,32 +7540,37 @@ lwst_lvl_of_wet_bulb_zero 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --5.0 +4.0 0 0 0 ? ? ? -67 -PRES_ON_SPEC_PRES_ABOVE_GRND +58 +VWSH_ON_TROPOPAUSE ? 1 tmpl4_0 -PRES +VWSH ? ? -spec_pres_above_grnd +tropopause 0 ? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. +? +0 +? +0 +? +? ? ? 0 @@ -6706,32 +7582,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -68 -TMP_ON_SPEC_PRES_ABOVE_GRND +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 tmpl4_0 TMP ? ? -spec_pres_above_grnd +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? 0 ? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. +? ? ? 0 @@ -6743,6 +7624,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -6751,24 +7636,25 @@ spec_pres_above_grnd ? ? ? -69 -POT_ON_SPEC_PRES_ABOVE_GRND +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 tmpl4_0 -POT +UGRD ? ? -spec_pres_above_grnd +spec_alt_above_mean_sea_lvl 0 ? -1 -3000. -spec_pres_above_grnd +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? 0 ? -1 -0. +0 +? +? ? ? 0 @@ -6780,6 +7666,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -6788,24 +7678,25 @@ spec_pres_above_grnd ? ? ? -70 -DPT_ON_SPEC_PRES_ABOVE_GRND +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 tmpl4_0 -DPT +VGRD ? ? -spec_pres_above_grnd +spec_alt_above_mean_sea_lvl +0 +? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. +? 0 ? -1 -3000. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -6817,32 +7708,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -71 -SPFH_ON_SPEC_PRES_ABOVE_GRND +62 +HGT_ON_0C_ISOTHERM ? 1 tmpl4_0 -SPFH +HGT ? ? -spec_pres_above_grnd +0C_isotherm 0 ? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. +? +0 +? +0 +? +? ? ? 0 @@ -6854,32 +7750,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +6.0 0 0 0 ? ? ? -72 -RH_ON_SPEC_PRES_ABOVE_GRND +63 +RH_ON_0C_ISOTHERM ? 1 tmpl4_0 RH ? ? -spec_pres_above_grnd +0C_isotherm +0 +? +0 +? +? 0 ? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. +? ? ? 0 @@ -6891,6 +7792,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 2.0 0 @@ -6899,24 +7804,25 @@ spec_pres_above_grnd ? ? ? -88 -MCONV_ON_SPEC_PRES_ABOVE_GRND +165 +HGT_ON_HGHST_TROP_FRZ_LVL ? 1 tmpl4_0 -MCONV +HGT ? ? -spec_pres_above_grnd +hghst_trop_frz_lvl 0 ? -1 -3000. -spec_pres_above_grnd 0 ? -1 -0. +? +0 +? +0 +? +? ? ? 0 @@ -6928,32 +7834,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -89 -PWAT_ON_SPEC_PRES_ABOVE_GRND +350 +RH_ON_HGHST_TROP_FRZ_LVL ? 1 tmpl4_0 -PWAT +RH +? +? +hghst_trop_frz_lvl +0 +? +0 ? ? -spec_pres_above_grnd 0 ? -1 -3000. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -6965,32 +7876,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-0.1 0 0 0 ? ? ? -73 -UGRD_ON_SPEC_PRES_ABOVE_GRND -? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level 1 tmpl4_0 -UGRD +HGT ? ? -spec_pres_above_grnd +isothermal +0 +? +1 +253. +? 0 ? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. +? ? ? 0 @@ -7002,32 +7918,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -74 -VGRD_ON_SPEC_PRES_ABOVE_GRND -? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level 1 tmpl4_0 -VGRD +HGT ? ? -spec_pres_above_grnd +equil_lvl 0 ? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. +? +0 +? +0 +? +? ? ? 0 @@ -7039,32 +7960,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -90 -VVEL_ON_SPEC_PRES_ABOVE_GRND +173 +PRES_ON_MAX_WIND ? 1 tmpl4_0 -VVEL +PRES ? ? -spec_pres_above_grnd +max_wind 0 ? -3 -3000. 9000. 18000. -spec_pres_above_grnd 0 ? -3 -0. 6000. 15000. +? +0 +? +0 +? +? ? ? 0 @@ -7076,23 +8002,27 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +6.0 0 0 0 ? ? ? -148 -PRES_ON_CLOUD_BASE +174 +HGT_ON_MAX_WIND ? 1 tmpl4_0 -PRES +HGT ? ? -cloud_base +max_wind 0 ? 0 @@ -7104,6 +8034,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -7113,6 +8044,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7121,15 +8056,15 @@ cloud_base ? ? ? -149 -PRES_ON_CLOUD_TOP +175 +UGRD_ON_MAX_WIND ? 1 tmpl4_0 -PRES +UGRD ? ? -cloud_top +max_wind 0 ? 0 @@ -7141,6 +8076,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -7150,23 +8086,27 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -168 -TMP_ON_CLOUD_TOP +176 +VGRD_ON_MAX_WIND ? 1 tmpl4_0 -TMP +VGRD ? ? -cloud_top +max_wind 0 ? 0 @@ -7178,6 +8118,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -7187,27 +8128,31 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -178 -HGT_ON_CLOUD_BASE -? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground 1 -tmpl4_0 -HGT -? -? -cloud_base -0 +tmpl4_8 +WIND ? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -7215,6 +8160,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -7224,23 +8170,27 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +-4.0 0 0 0 ? ? ? -179 -HGT_ON_CLOUD_TOP +178 +HGT_ON_CLOUD_BASE ? 1 tmpl4_0 HGT ? ? -cloud_top +cloud_base 0 ? 0 @@ -7252,6 +8202,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -7261,6 +8212,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7269,12 +8224,12 @@ cloud_top ? ? ? -168 -TMP_ON_CLOUD_TOP +179 +HGT_ON_CLOUD_TOP ? 1 tmpl4_0 -TMP +HGT ? ? cloud_top @@ -7289,6 +8244,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -7298,23 +8254,27 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +6.0 0 0 0 ? ? ? -173 -PRES_ON_MAX_WIND -? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface 1 tmpl4_0 -PRES +VIS ? ? -max_wind +surface 0 ? 0 @@ -7326,6 +8286,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -7335,6 +8296,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -7343,15 +8308,15 @@ max_wind ? ? ? -174 -HGT_ON_MAX_WIND +252 +REFC_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -HGT +REFC ? ? -max_wind +entire_atmos_single_lyr 0 ? 0 @@ -7363,6 +8328,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -7372,23 +8338,27 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -175 -UGRD_ON_MAX_WIND +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL ? 1 tmpl4_0 -UGRD +PRES ? ? -max_wind +grid_scale_cloud_bot_lvl 0 ? 0 @@ -7400,6 +8370,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -7409,23 +8380,27 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -176 -VGRD_ON_MAX_WIND +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL ? 1 tmpl4_0 -VGRD +PRES ? ? -max_wind +grid_scale_cloud_top_lvl 0 ? 0 @@ -7437,6 +8412,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -7446,23 +8422,27 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -252 -REFC_ON_ENTIRE_ATMOS +218 +VGTYP_ON_SURFACE ? 1 tmpl4_0 -REFC +VGTYP NCEP ? -entire_atmos_single_lyr +surface 0 ? 0 @@ -7474,6 +8454,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -7483,23 +8464,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -276 -REFZR_ON_ENTIRE_ATMOS +219 +SOTYP_ON_SURFACE ? 1 tmpl4_0 -REFZR -NCEP +SOTYP ? -entire_atmos_single_lyr +? +surface 0 ? 0 @@ -7511,6 +8496,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -7520,23 +8506,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +3.0 0 0 0 ? ? ? -277 -REFZI_ON_ENTIRE_ATMOS +221 +HPBL_ON_SURFACE ? 1 tmpl4_0 -REFZI -NCEP +HPBL ? -entire_atmos_single_lyr +? +surface 0 ? 0 @@ -7548,6 +8538,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -7557,27 +8548,31 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +6.0 0 0 0 ? ? ? -253 -REFD_ON_SPEC_HGT_LVL_ABOVE_GRND +224 +SNOD_ON_SURFACE ? 1 tmpl4_0 -REFD -NCEP +SNOD +? +? +surface +0 ? -spec_hgt_lvl_above_grnd 0 ? -2 -4000. 1000. ? 0 ? @@ -7585,6 +8580,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -7594,27 +8590,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -279 -REFZR_ON_SPEC_HGT_LVL_ABOVE_GRND +231 +SBSNO_ON_SURFACE ? 1 tmpl4_0 -REFZR +SBSNO NCEP ? -spec_hgt_lvl_above_grnd +surface +0 +? 0 ? -2 -4000. 1000. ? 0 ? @@ -7622,6 +8622,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -7631,27 +8632,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +3.0 0 0 0 ? ? ? -280 -REFZI_ON_SPEC_HGT_LVL_ABOVE_GRND +232 +SMDRY_ON_SURFACE ? 1 tmpl4_0 -REFZI +SMDRY NCEP ? -spec_hgt_lvl_above_grnd +surface +0 +? 0 ? -2 -4000. 1000. ? 0 ? @@ -7659,6 +8664,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -7668,20 +8674,24 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +3.0 0 0 0 ? ? ? -221 -HPBL_ON_SURFACE +233 +POROS_ON_SURFACE ? 1 tmpl4_0 -HPBL +POROS NCEP ? surface @@ -7696,6 +8706,7 @@ surface ? ? ? +? 0 0.0 0 @@ -7705,23 +8716,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -194 -PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +234 +RSMIN_ON_SURFACE ? 1 tmpl4_0 -PRES +RSMIN ? ? -grid_scale_cloud_bot_lvl +surface 0 ? 0 @@ -7733,6 +8748,7 @@ grid_scale_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -7742,23 +8758,27 @@ grid_scale_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -195 -PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +235 +RLYRS_ON_SURFACE ? 1 tmpl4_0 -PRES +RLYRS ? ? -grid_scale_cloud_top_lvl +surface 0 ? 0 @@ -7770,6 +8790,7 @@ grid_scale_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -7779,23 +8800,27 @@ grid_scale_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -200 -TCOLW_ON_ENTIRE_ATMOS +236 +WILT_ON_SURFACE ? 1 tmpl4_0 -TCOLW +WILT NCEP ? -entire_atmos_single_lyr +surface 0 ? 0 @@ -7807,6 +8832,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -7816,23 +8842,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +3.0 0 0 0 ? ? ? -201 -TCOLI_ON_ENTIRE_ATMOS +237 +SMREF_ON_SURFACE ? 1 tmpl4_0 -TCOLI +SMREF NCEP ? -entire_atmos_single_lyr +surface 0 ? 0 @@ -7844,6 +8874,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -7853,23 +8884,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +3.0 0 0 0 ? ? ? -202 -TCOLR_ON_ENTIRE_ATMOS +242 +PEVPR_ON_SURFACE ? 1 tmpl4_0 -TCOLR +PEVPR NCEP ? -entire_atmos_single_lyr +surface 0 ? 0 @@ -7881,6 +8916,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -7890,23 +8926,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +6.0 0 0 0 ? ? ? -203 -TCOLS_ON_ENTIRE_ATMOS +245 +GUST_ON_SURFACE ? 1 tmpl4_0 -TCOLS -NCEP +GUST ? -entire_atmos_single_lyr +? +surface 0 ? 0 @@ -7918,6 +8958,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -7927,23 +8968,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +3.0 0 0 0 ? ? ? -204 -TCOLC_ON_ENTIRE_ATMOS +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO ? 1 tmpl4_0 -TCOLC -NCEP +HGT ? -entire_atmos_single_lyr +? +lwst_lvl_of_wet_bulb_zero 0 ? 0 @@ -7955,6 +9000,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -7964,23 +9010,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +-5.0 0 0 0 ? ? ? -428 -TCOLG_ON_ENTIRE_ATMOS +254 +LAI_ON_SURFACE ? 1 tmpl4_0 -TCOLG -? +LAI +NCEP ? -entire_atmos_single_lyr +surface 0 ? 0 @@ -7992,6 +9042,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8001,23 +9052,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +-3.0 0 0 0 ? ? ? -285 -TCLSW_ON_ENTIRE_ATMOS +262 +INST_CSDSF_ON_SURFACE ? 1 tmpl4_0 -TCLSW +CSDSF NCEP ? -entire_atmos_single_lyr +surface 0 ? 0 @@ -8029,6 +9084,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8038,23 +9094,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -286 -TCOLM_ON_ENTIRE_ATMOS +927 +SBTA167_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -TCOLM -NCEP +SBTA167 ? -entire_atmos_single_lyr +? +top_of_atmos 0 ? 0 @@ -8066,6 +9126,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8075,23 +9136,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -287 -HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +928 +SBTA168_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -HGT +SBTA168 ? ? -lwst_bot_lvl_of_supercooled_liq_water_lyr +top_of_atmos 0 ? 0 @@ -8103,6 +9168,7 @@ lwst_bot_lvl_of_supercooled_liq_water_lyr ? ? ? +? 0 0.0 0 @@ -8112,23 +9178,27 @@ lwst_bot_lvl_of_supercooled_liq_water_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -288 -HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR +929 +SBTA169_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -HGT +SBTA169 ? ? -hghst_top_lvl_of_supercooled_liq_water_lyr +top_of_atmos 0 ? 0 @@ -8140,6 +9210,7 @@ hghst_top_lvl_of_supercooled_liq_water_lyr ? ? ? +? 0 0.0 0 @@ -8149,23 +9220,27 @@ hghst_top_lvl_of_supercooled_liq_water_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -260 -HGT_ON_CLOUD_CEILING +930 +SBTA1610_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -HGT +SBTA1610 ? ? -cloud_ceilng +top_of_atmos 0 ? 0 @@ -8177,6 +9252,7 @@ cloud_ceilng ? ? ? +? 0 0.0 0 @@ -8186,23 +9262,27 @@ cloud_ceilng 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -256 -ACM_LSPA_ON_SURFACE +931 +SBTA1611_ON_TOP_OF_ATMOS ? 1 -tmpl4_8 -LSPA -NCEP -ACM -surface +tmpl4_0 +SBTA1611 +? +? +top_of_atmos 0 ? 0 @@ -8214,6 +9294,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8223,20 +9304,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -282 -PRES_ON_TOP_OF_ATMOS +932 +SBTA1612_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -PRES +SBTA1612 ? ? top_of_atmos @@ -8251,6 +9336,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -8260,23 +9346,27 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -290 -SWHR_ON_ENTIRE_ATMOS +933 +SBTA1613_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -SWHR -NCEP +SBTA1613 ? -entire_atmos_single_lyr +? +top_of_atmos 0 ? 0 @@ -8288,6 +9378,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8297,23 +9388,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -291 -LWHR_ON_ENTIRE_ATMOS +934 +SBTA1614_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -LWHR -NCEP +SBTA1614 ? -entire_atmos_single_lyr +? +top_of_atmos 0 ? 0 @@ -8325,6 +9420,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8334,23 +9430,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -292 -AVE_LRGHR_ON_ENTIRE_ATMOS +935 +SBTA1615_ON_TOP_OF_ATMOS ? 1 -tmpl4_8 -LRGHR -NCEP -AVE -entire_atmos_single_lyr +tmpl4_0 +SBTA1615 +? +? +top_of_atmos 0 ? 0 @@ -8362,6 +9462,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8371,23 +9472,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -295 -MCONV_ON_ENTIRE_ATMOS +936 +SBTA1616_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -MCONV +SBTA1616 ? ? -entire_atmos_single_lyr +top_of_atmos 0 ? 0 @@ -8399,6 +9504,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8408,23 +9514,27 @@ entire_atmos_single_lyr 0.0 0 0.0 -1 -5.0 +0 +0.0 +0 +0.0 +1 +4.0 0 0 0 ? ? ? -344 -PBLREG_ON_SURFACE +532 +SBTA188_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -PBLREG +SBTA188 ? ? -surface +top_of_atmos 0 ? 0 @@ -8436,6 +9546,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8445,23 +9556,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 +4.0 0 0 0 ? ? ? -389 -UGRD_ON_PLANETARY_BOUND_LYR +533 +SBTA189_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -UGRD +SBTA189 ? ? -planetary_bound_lyr +top_of_atmos 0 ? 0 @@ -8473,6 +9588,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -8482,23 +9598,27 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 ? ? ? -390 -VGRD_ON_PLANETARY_BOUND_LYR +534 +SBTA1810_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -VGRD +SBTA1810 ? ? -planetary_bound_lyr +top_of_atmos 0 ? 0 @@ -8510,6 +9630,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -8519,23 +9640,27 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 ? ? ? -289 -HGT_ON_PLANETARY_BOUND_LYR +535 +SBTA1811_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -HGT +SBTA1811 ? ? -planetary_bound_lyr +top_of_atmos 0 ? 0 @@ -8547,6 +9672,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -8556,23 +9682,27 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 ? ? ? -381 -MIXHT_ON_SURFACE +536 +SBTA1812_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -MIXHT +SBTA1812 ? ? -surface +top_of_atmos 0 ? 0 @@ -8584,6 +9714,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8593,23 +9724,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 ? ? ? -400 -RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR +537 +SBTA1813_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -RETOP -NCEP +SBTA1813 ? -entire_atmos_single_lyr +? +top_of_atmos 0 ? 0 @@ -8621,6 +9756,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -8630,23 +9766,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -454 -VRATE_ON_PLANETARY_BOUND_LYR -Ventilation Rate on planetary boundary layer +538 +SBTA1814_ON_TOP_OF_ATMOS +? 1 tmpl4_0 -VRATE -NCEP +SBTA1814 ? -planetary_bound_lyr +? +top_of_atmos 0 ? 0 @@ -8658,6 +9798,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -8667,23 +9808,27 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -455 -HINDEX_ON_SURFACE -Haines Index on surface +539 +SBTA1815_ON_TOP_OF_ATMOS +? 1 tmpl4_0 -HINDEX +SBTA1815 ? ? -surface +top_of_atmos 0 ? 0 @@ -8695,6 +9840,7 @@ surface ? ? ? +? 0 0.0 0 @@ -8704,27 +9850,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -345 -MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +540 +SBTA1816_ON_TOP_OF_ATMOS ? 1 -tmpl4_8 -TMAX +tmpl4_0 +SBTA1816 +? +? +top_of_atmos +0 ? -MAX -spec_hgt_lvl_above_grnd 0 ? -1 -2. ? 0 ? @@ -8732,6 +9882,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8741,6 +9892,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -8749,19 +9904,19 @@ spec_hgt_lvl_above_grnd ? ? ? -346 -MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +702 +GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 tmpl4_8 -TMIN +LTNGSD ? -MIN +MAX spec_hgt_lvl_above_grnd 0 ? 1 -2. +1. ? 0 ? @@ -8769,6 +9924,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8778,6 +9934,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -8786,12 +9946,12 @@ spec_hgt_lvl_above_grnd ? ? ? -347 -MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +703 +GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 tmpl4_8 -MAXRH +LTNGSD ? MAX spec_hgt_lvl_above_grnd @@ -8806,6 +9966,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8815,27 +9976,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --2.0 +4.0 0 0 0 ? ? ? -348 -MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS ? 1 tmpl4_8 -MINRH +LTNG NCEP -MIN -spec_hgt_lvl_above_grnd +MAX +entire_atmos +0 +? 0 ? -1 -2. ? 0 ? @@ -8843,6 +10008,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8852,27 +10018,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --2.0 +4.0 0 0 0 ? ? ? -506 -MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -U Component of Hourly Maximum 10m Wind Speed (m/s) +1006 +SDEN_ON_SURFACE +? 1 -tmpl4_8 -MAXUW -NCEP -MAX -spec_hgt_lvl_above_grnd +tmpl4_0 +SDEN +? +? +surface +0 +? 0 ? -1 -10. ? 0 ? @@ -8880,6 +10050,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8889,27 +10060,47 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +6.0 0 0 0 ? ? ? -507 -MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -V Component of Hourly Maximum 10m Wind Speed (m/s) +2DFLD +32769 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +rrfs +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +23 +MSLET_ON_MEAN_SEA_LVL +? 1 -tmpl4_8 -MAXVW +tmpl4_0 +MSLET NCEP -MAX -spec_hgt_lvl_above_grnd +? +mean_sea_lvl +0 +? 0 ? -1 -10. ? 0 ? @@ -8917,6 +10108,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8926,27 +10118,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +6.0 0 0 0 ? ? ? -422 -MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -maximum wind speed on 10 meter Above Ground +252 +REFC_ON_ENTIRE_ATMOS +? 1 -tmpl4_8 -WIND +tmpl4_0 +REFC +? +? +entire_atmos_single_lyr +0 ? -MAX -spec_hgt_lvl_above_grnd 0 ? -1 -10. ? 0 ? @@ -8954,6 +10150,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -8963,27 +10160,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 ? ? ? -421 -MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km -maximum Updraft Helicity on Specified Height Level Above Ground -1 -tmpl4_8 -MAXREF -NCEP -MAX -spec_hgt_lvl_above_grnd -0 +253 +REFD_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 -1000. +tmpl4_0 +REFD +? +? +spec_hgt_lvl_above_grnd +0 +? +2 +1000. 4000. ? 0 ? @@ -8991,6 +10192,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -9000,32 +10202,37 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --3.0 +4.0 0 0 0 ? ? ? -423 -MAX_MAXUVV_ON_SPEC_PRES_LVL_ABOVE_GRND_100-1000hpa -hourly maximum Upward Vertical Velocity between 100-1000hpa +912 +REFD_ON_ISOTHERMAL +? 1 -tmpl4_8 -MAXUVV -NCEP -MAX -isobaric_sfc +tmpl4_0 +REFD +? +? +isothermal 0 ? 1 -10000. -isobaric_sfc +263. +? 0 ? -1 -100000. +0 +? +? ? ? 0 @@ -9037,32 +10244,37 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --3.0 +-4.0 0 0 0 ? ? ? -424 -MAX_MAXDVV_ON_SPEC_PRES_LVL_ABOVE_GRND_100-1000hpa -hourly maximum Downward Vertical Velocity between 100-1000hpa +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) 1 -tmpl4_8 -MAXDVV -NCEP -MAX -isobaric_sfc +tmpl4_0 +VIL +? +? +entire_atmos_single_lyr 0 ? -1 -10000. -isobaric_sfc 0 ? -1 -100000. +? +0 +? +0 +? +? ? ? 0 @@ -9074,22 +10286,26 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --3.0 +7.0 0 0 0 ? ? ? -508 -MAX_PRATE_ON_SURFACE -Maximum Precipitation Rate on surface +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface 1 -tmpl4_8 -PRATE +tmpl4_0 +VIS +? ? -MAX surface 0 ? @@ -9102,6 +10318,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9111,6 +10328,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -9119,15 +10340,15 @@ surface ? ? ? -444 -LTNG_ON_SURFACE -lightning +389 +UGRD_ON_PLANETARY_BOUND_LYR +? 1 tmpl4_0 -LTNG -NCEP +UGRD ? -surface +? +planetary_bound_lyr 0 ? 0 @@ -9139,6 +10360,7 @@ surface ? ? ? +? 0 0.0 0 @@ -9148,23 +10370,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +-4.0 0 0 0 ? ? ? -581 -VIL_ON_ENTIRE_ATMOS -entire atmosphere Vertically Integrated Liquid (kg/m-2) +390 +VGRD_ON_PLANETARY_BOUND_LYR +? 1 tmpl4_0 -VIL +VGRD ? ? -entire_atmos_single_lyr +planetary_bound_lyr 0 ? 0 @@ -9176,6 +10402,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -9185,32 +10412,37 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -427 -UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km -Updraft Helicity on Specified Height Level Above Ground +454 +VRATE_ON_PLANETARY_BOUND_LYR +Ventilation Rate on planetary boundary layer 1 tmpl4_0 -UPHL +VRATE NCEP ? -spec_hgt_lvl_above_grnd +planetary_bound_lyr +0 +? +0 +? +? 0 ? -1 -5000. -spec_hgt_lvl_above_grnd 0 ? -1 -2000. +? ? ? 0 @@ -9222,32 +10454,37 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --3.0 +3.0 0 0 0 ? ? ? -420 -MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km -maximum Updraft Helicity on Specified Height Level Above Ground +245 +GUST_ON_SURFACE +? 1 -tmpl4_8 -MXUPHL -NCEP -MAX -spec_hgt_lvl_above_grnd +tmpl4_0 +GUST +? +? +surface 0 ? -1 -5000. -spec_hgt_lvl_above_grnd 0 ? -1 -2000. +? +0 +? +0 +? +? ? ? 0 @@ -9259,32 +10496,37 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --3.0 +3.0 0 0 0 ? ? ? -786 -GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 -tmpl4_8 -MNUPHL -NCEP -MIN -spec_hgt_lvl_above_grnd +tmpl4_0 +RETOP +? +? +entire_atmos_single_lyr +0 +? +0 +? +? 0 ? -1 -5000. -spec_hgt_lvl_above_grnd 0 ? -1 -2000. +? ? ? 0 @@ -9296,32 +10538,37 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --3.0 +6.0 0 0 0 ? ? ? -791 -GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km -? +423 +MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Upward Vertical Velocity between 100-1000hpa 1 tmpl4_8 -MNUPHL +MAXUVV NCEP -MIN -spec_hgt_lvl_above_grnd +MAX +isobaric_sfc 0 ? 1 -3000. -spec_hgt_lvl_above_grnd +10000. +isobaric_sfc 0 ? 1 -0000. +100000. +? ? ? 0 @@ -9333,6 +10580,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -9341,24 +10592,25 @@ spec_hgt_lvl_above_grnd ? ? ? -790 -GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km -? +424 +MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa +hourly maximum Downward Vertical Velocity between 100-1000hpa 1 tmpl4_8 -MXUPHL +MAXDVV NCEP MAX -spec_hgt_lvl_above_grnd +isobaric_sfc 0 ? 1 -3000. -spec_hgt_lvl_above_grnd +10000. +isobaric_sfc 0 ? 1 -0000. +100000. +? ? ? 0 @@ -9370,6 +10622,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -9378,24 +10634,25 @@ spec_hgt_lvl_above_grnd ? ? ? -793 -GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km -? +421 +MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km +maximum Updraft Helicity on Specified Height Level Above Ground 1 tmpl4_8 -RELV -? +MAXREF +NCEP MAX spec_hgt_lvl_above_grnd 0 ? 1 1000. -spec_hgt_lvl_above_grnd +? 0 ? -1 -0000. +0 +? +? ? ? 0 @@ -9407,27 +10664,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +-3.0 0 0 0 ? ? ? -890 -GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 -Hourly max relative vorticity on hybrid level 1 +785 +MAX_REF_ON_ISOTHERMAL_-10C +maximum reflectivity on -10C suface 1 tmpl4_8 -RELV -? +MAXREF +NCEP MAX -hybrid_lvl +isothermal 0 ? 1 -1. +263. ? 0 ? @@ -9435,6 +10696,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -9444,32 +10706,37 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +-3.0 0 0 0 ? ? ? -792 -GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km -? +427 +UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +Updraft Helicity on Specified Height Level Above Ground 1 -tmpl4_8 -RELV +tmpl4_0 +UPHL +? ? -MAX spec_hgt_lvl_above_grnd 0 ? 1 -2000. +5000. spec_hgt_lvl_above_grnd 0 ? 1 -0000. +2000. +? ? ? 0 @@ -9481,31 +10748,36 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +-3.0 0 0 0 ? ? ? -785 -MAX_REF_ON_ISOTHERMAL_-10C -maximum reflectivity on -10C suface +420 +MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +maximum Updraft Helicity on Specified Height Level Above Ground 1 tmpl4_8 -MAXREF +MXUPHL NCEP MAX -isothermal +spec_hgt_lvl_above_grnd 0 ? 1 -263. -? +5000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +2000. ? ? ? @@ -9518,6 +10790,10 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 0 @@ -9526,23 +10802,24 @@ isothermal ? ? ? -912 -REFD_ON_ISOTHERMAL +786 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km ? 1 -tmpl4_0 -REFD +tmpl4_8 +MNUPHL NCEP -? -isothermal +MIN +spec_hgt_lvl_above_grnd 0 ? 1 -263. -? +5000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +2000. ? ? ? @@ -9555,47 +10832,36 @@ isothermal 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +-3.0 0 0 0 ? ? ? -NATLEV -32769 -ncep_nco -v2003 -local_tab_yes1 -fcst -oper -fcst -fcst -hour -nws_ncep -rrfs -complex_packing_spatial_diff -2nd_ord_sptdiff -fltng_pnt -lossless -12 -HGT_ON_ISOBARIC_SFC +790 +GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km ? 1 -tmpl4_0 -HGT -? -? -isobaric_sfc +tmpl4_8 +MXUPHL +NCEP +MAX +spec_hgt_lvl_above_grnd 0 ? -4 -25000. 50000. 70000. 85000. -? +1 +3000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +0000. ? ? ? @@ -9608,31 +10874,36 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +-3.0 0 0 0 ? ? ? -13 -TMP_ON_ISOBARIC_SFC +791 +GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km ? 1 -tmpl4_0 -TMP -? -? -isobaric_sfc +tmpl4_8 +MNUPHL +NCEP +MIN +spec_hgt_lvl_above_grnd 0 ? -5 -25000. 50000. 70000. 85000. 95000. -? +1 +3000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +0000. ? ? ? @@ -9645,31 +10916,36 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-3.0 0 0 0 ? ? ? -17 -RH_ON_ISOBARIC_SFC +792 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km ? 1 -tmpl4_0 -RH -? +tmpl4_8 +RELV ? -isobaric_sfc +MAX +spec_hgt_lvl_above_grnd 0 ? -4 -25000. 50000. 70000. 85000. -? +1 +2000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +0000. ? ? ? @@ -9682,31 +10958,36 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 +5.0 0 0 0 ? ? ? -18 -UGRD_ON_ISOBARIC_SFC +793 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km ? 1 -tmpl4_0 -UGRD -? +tmpl4_8 +RELV ? -isobaric_sfc +MAX +spec_hgt_lvl_above_grnd 0 ? -4 -25000. 50000. 70000. 85000. -? +1 +1000. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +0000. ? ? ? @@ -9719,27 +11000,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -19 -VGRD_ON_ISOBARIC_SFC -? +890 +GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 +Hourly max relative vorticity on hybrid level 1 1 -tmpl4_0 -VGRD -? +tmpl4_8 +RELV ? -isobaric_sfc +MAX +hybrid_lvl 0 ? -4 -25000. 50000. 70000. 85000. +1 +1. ? 0 ? @@ -9747,6 +11032,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -9756,27 +11042,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -20 -VVEL_ON_ISOBARIC_SFC +728 +GSD_HAILCAST_HAIL_DIAMETER ? 1 -tmpl4_0 -VVEL +tmpl4_8 +HAIL ? +MAX +surface +0 ? -isobaric_sfc 0 ? -4 -25000. 50000. 70000. 85000. ? 0 ? @@ -9784,6 +11074,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -9793,27 +11084,31 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +3.0 0 0 0 ? ? ? -16 -SPFH_ON_ISOBARIC_SFC +702 +GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 -tmpl4_0 -SPFH -? +tmpl4_8 +LTNGSD ? -isobaric_sfc +MAX +spec_hgt_lvl_above_grnd 0 ? -4 -25000. 50000. 70000. 85000. +1 +1. ? 0 ? @@ -9821,6 +11116,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -9830,6 +11126,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9838,19 +11138,19 @@ isobaric_sfc ? ? ? -21 -ABSV_ON_ISOBARIC_SFC +703 +GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 -tmpl4_0 -ABSV -? +tmpl4_8 +LTNGSD ? -isobaric_sfc +MAX +spec_hgt_lvl_above_grnd 0 ? -4 -25000. 50000. 70000. 85000. +1 +2. ? 0 ? @@ -9858,6 +11158,7 @@ isobaric_sfc ? ? ? +? 0 0.0 0 @@ -9867,6 +11168,10 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -9875,19 +11180,19 @@ isobaric_sfc ? ? ? -1 -PRES_ON_HYBRID_LVL +704 +GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS ? 1 -tmpl4_0 -PRES -? +tmpl4_8 +LTNG +NCEP +MAX +entire_atmos +0 ? -hybrid_lvl 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? 0 ? @@ -9895,6 +11200,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -9904,27 +11210,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -77 -HGT_ON_HYBRID_LVL +24 +PRES_ON_SURFACE ? 1 tmpl4_0 -HGT +PRES ? ? -hybrid_lvl +surface +0 +? 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? 0 ? @@ -9932,6 +11242,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -9941,27 +11252,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -2 -TMP_ON_HYBRID_LVL +25 +HGT_ON_SURFACE ? 1 tmpl4_0 -TMP +HGT ? ? -hybrid_lvl +surface +0 +? 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? 0 ? @@ -9969,6 +11284,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -9978,27 +11294,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -5 -SPFH_ON_HYBRID_LVL +26 +TMP_ON_SURFACE ? 1 tmpl4_0 -SPFH +TMP ? ? -hybrid_lvl +surface +0 +? 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? 0 ? @@ -10006,6 +11326,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -10015,27 +11336,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -7.0 +4.0 0 0 0 ? ? ? -7 -UGRD_ON_HYBRID_LVL +27 +POT_ON_SURFACE ? 1 tmpl4_0 -UGRD +POT ? ? -hybrid_lvl +surface +0 +? 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? 0 ? @@ -10043,6 +11368,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -10052,27 +11378,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -8 -VGRD_ON_HYBRID_LVL +28 +SPFH_ON_SURFACE ? 1 tmpl4_0 -VGRD +SPFH ? ? -hybrid_lvl +surface +0 +? 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? 0 ? @@ -10080,6 +11410,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -10089,113 +11420,132 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -9 -VVEL_ON_HYBRID_LVL +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -VVEL +TSOIL ? ? -hybrid_lvl -0 +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? -0 ? 0 -? -? +0.0 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -5.0 +4.0 0 0 0 ? ? ? -264 -DZDT_ON_HYBRID_LVL +117 +SOILW_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -DZDT +SOILW +NCEP ? +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. ? -hybrid_lvl -0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? 0 -? +0.0 0 -? -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 --5.0 +3.0 0 0 0 ? ? ? -11 -TKE_ON_HYBRID_LVL +225 +SOILL_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -TKE +SOILL ? ? -hybrid_lvl -0 +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. +depth_bel_land_sfc +1 +2 +9 +0. 1. 4. 10. 30. 60. 100. 160. 300. ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? -0 ? 0 -? -? +0.0 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -10208,19 +11558,19 @@ hybrid_lvl ? ? ? -78 -AVE_LRGHR_ON_HYBRID_LVL +171 +RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC ? 1 -tmpl4_8 -LRGHR -NCEP -AVE -hybrid_lvl +tmpl4_0 +MSTAV +? +? +depth_bel_land_sfc +0 +? 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? 0 ? @@ -10228,6 +11578,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -10237,7 +11588,11 @@ hybrid_lvl 0.0 0 0.0 -1 +0 +0.0 +0 +0.0 +1 3.0 0 0 @@ -10245,15 +11600,15 @@ hybrid_lvl ? ? ? -23 -MSLET_ON_MEAN_SEA_LVL +713 +CISOILM_ON_DEPTH_BEL_LAND_SFC ? 1 tmpl4_0 -MSLET -NCEP +CISOILM ? -mean_sea_lvl +? +depth_bel_land_sfc 0 ? 0 @@ -10265,6 +11620,7 @@ mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -10274,23 +11630,27 @@ mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -105 -PRES_ON_MEAN_SEA_LVL +118 +CNWAT_ON_SURFACE ? 1 tmpl4_0 -PRMSL +CNWAT ? ? -mean_sea_lvl +surface 0 ? 0 @@ -10302,122 +11662,58 @@ mean_sea_lvl ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -6.0 -0 -0 -0 -? -? -? -106 -TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -TMP -? -? -spec_hgt_lvl_above_grnd -0 -? -1 -2. -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +1.0 0 0 0 ? ? ? -112 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +119 +WEASD_ON_SURFACE ? 1 tmpl4_0 -SPFH -? -? -spec_hgt_lvl_above_grnd -0 +WEASD ? -1 -2. ? +surface 0 ? 0 ? ? -? 0 -0.0 -0 -0.0 ? 0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -113 -DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m -? -1 -tmpl4_0 -DPT ? ? -spec_hgt_lvl_above_grnd -0 ? -1 -2. ? 0 -? +0.0 0 -? -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -10430,19 +11726,19 @@ spec_hgt_lvl_above_grnd ? ? ? -114 -RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +120 +SNOWC_ON_SURFACE ? 1 tmpl4_0 -RH +SNOWC ? ? -spec_hgt_lvl_above_grnd +surface +0 +? 0 ? -1 -2. ? 0 ? @@ -10450,6 +11746,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -10459,6 +11756,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -10467,93 +11768,61 @@ spec_hgt_lvl_above_grnd ? ? ? -64 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +224 +SNOD_ON_SURFACE ? 1 tmpl4_0 -UGRD -? -? -spec_hgt_lvl_above_grnd -0 +SNOD ? -1 -10. ? +surface 0 ? 0 ? ? -? -0 -0.0 0 -0.0 ? 0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 -? -? -? -65 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -? -1 -tmpl4_0 -VGRD ? ? -spec_hgt_lvl_above_grnd -0 ? -1 -10. ? 0 -? +0.0 0 -? -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +6.0 0 0 0 ? ? ? -158 -POT_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +725 +GSD_ACM_SNOD_ON_SURFACE ? 1 -tmpl4_0 -POT +tmpl4_8 +ASNOW ? +ACM +surface +0 ? -spec_hgt_lvl_above_grnd 0 ? -1 -10. ? 0 ? @@ -10561,6 +11830,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -10570,27 +11840,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +9.0 0 0 0 ? ? ? -159 -SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +172 +CPOFP_ON_SURFACE ? 1 tmpl4_0 -SPFH +CPOFP ? ? -spec_hgt_lvl_above_grnd +surface +0 +? 0 ? -1 -10. ? 0 ? @@ -10598,6 +11872,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -10607,20 +11882,24 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -24 -PRES_ON_SURFACE +167 +INST_PRATE_ON_SURFACE ? 1 tmpl4_0 -PRES +PRATE ? ? surface @@ -10635,6 +11914,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10644,6 +11924,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -10652,14 +11936,14 @@ surface ? ? ? -25 -HGT_ON_SURFACE -? +508 +MAX_PRATE_ON_SURFACE +Maximum Precipitation Rate on surface 1 -tmpl4_0 -HGT -? +tmpl4_8 +PRATE ? +MAX surface 0 ? @@ -10672,6 +11956,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10681,6 +11966,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -10689,14 +11978,14 @@ surface ? ? ? -27 -POT_ON_SURFACE +87 +ACM_APCP_ON_SURFACE ? 1 -tmpl4_0 -POT -? +tmpl4_8 +APCP ? +ACM surface 0 ? @@ -10709,6 +11998,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10718,22 +12008,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +-4.0 0 0 0 ? ? ? -28 -SPFH_ON_SURFACE +1004 +ACM_SNOWFALL_ON_SURFACE ? 1 -tmpl4_0 -SPFH -? +tmpl4_8 +TSNOWP ? +ACM surface 0 ? @@ -10746,6 +12040,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10755,22 +12050,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -26 -TMP_ON_SURFACE +1005 +BUCKET_SNOWFALL_ON_SURFACE ? 1 -tmpl4_0 -TMP -? +tmpl4_8 +TSNOWP ? +ACM surface 0 ? @@ -10783,6 +12082,7 @@ surface ? ? ? +? 0 0.0 0 @@ -10792,254 +12092,163 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -423 -MAX_MAXUVV_ON_SPEC_PRES_LVL_ABOVE_GRND_100-1000hpa -hourly maximum Upward Vertical Velocity between 100-1000hpa +775 +BUCKET_GRAUPEL_ON_SURFACE +bucket graupel precipitation on surface 1 tmpl4_8 -MAXUVV +FROZR NCEP -MAX -isobaric_sfc +ACM +surface 0 ? -1 -10000. -isobaric_sfc 0 ? -1 -100000. -? ? 0 -0.0 -0 -0.0 ? 0 -0.0 -0 -0.0 -1 --3.0 -0 -0 -0 ? ? ? -424 -MAX_MAXDVV_ON_SPEC_PRES_LVL_ABOVE_GRND_100-1000hpa -hourly maximum Downward Vertical Velocity between 100-1000hpa -1 -tmpl4_8 -MAXDVV -NCEP -MAX -isobaric_sfc -0 ? -1 -10000. -isobaric_sfc 0 -? -1 -100000. -? +0.0 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 --3.0 +6.0 0 0 0 ? ? ? -790 -GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km +1003 +BUCKET_FRAIN_ON_SURFACE ? 1 tmpl4_8 -MXUPHL +FRZR NCEP -MAX -spec_hgt_lvl_above_grnd +ACM +surface 0 ? -1 -3000. -spec_hgt_lvl_above_grnd 0 ? -1 -0000. -? ? 0 -0.0 -0 -0.0 ? 0 -0.0 -0 -0.0 -1 --3.0 -0 -0 -0 ? ? ? -420 -MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km -maximum Updraft Helicity on Specified Height Level Above Ground -1 -tmpl4_8 -MXUPHL -NCEP -MAX -spec_hgt_lvl_above_grnd -0 ? -1 -5000. -spec_hgt_lvl_above_grnd 0 -? -1 -2000. -? +0.0 +0 +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 --3.0 +6.0 0 0 0 ? ? ? -786 -GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +121 +ACM_SNOM_ON_SURFACE ? 1 tmpl4_8 -MNUPHL -NCEP -MIN -spec_hgt_lvl_above_grnd -0 +SNOM ? -1 -5000. -spec_hgt_lvl_above_grnd +ACM +surface 0 ? -1 -2000. +0 ? ? 0 -0.0 -0 -0.0 ? 0 -0.0 -0 -0.0 -1 --3.0 -0 -0 -0 ? ? ? -791 -GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km ? -1 -tmpl4_8 -MNUPHL -NCEP -MIN -spec_hgt_lvl_above_grnd 0 -? -1 -3000. -spec_hgt_lvl_above_grnd +0.0 0 -? -1 -0000. -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 --3.0 +4.0 0 0 0 ? ? ? -793 -GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +122 +ACM_SSRUN_ON_SURFACE ? 1 tmpl4_8 -RELV +SSRUN ? -MAX -spec_hgt_lvl_above_grnd +ACM +surface 0 ? -1 -1000. -spec_hgt_lvl_above_grnd 0 ? -1 -0000. +? +0 +? +0 +? +? ? ? 0 @@ -11051,27 +12260,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +6.0 0 0 0 ? ? ? -890 -GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 -Hourly max relative vorticity on hybrid level 1 +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface 1 -tmpl4_8 -RELV +tmpl4_0 +CSNOW +? +? +surface +0 ? -MAX -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -11079,6 +12292,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -11088,32 +12302,37 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +1.0 0 0 0 ? ? ? -792 -GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km -? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface 1 -tmpl4_8 -RELV +tmpl4_0 +CICEP +? +? +surface +0 +? +0 +? ? -MAX -spec_hgt_lvl_above_grnd 0 ? -1 -2000. -spec_hgt_lvl_above_grnd 0 ? -1 -0000. +? ? ? 0 @@ -11125,27 +12344,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +1.0 0 0 0 ? ? ? -506 -MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -U Component of Hourly Maximum 10m Wind Speed (m/s) +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface 1 -tmpl4_8 -MAXUW -NCEP -MAX -spec_hgt_lvl_above_grnd +tmpl4_0 +CFRZR +? +? +surface +0 +? 0 ? -1 -10. ? 0 ? @@ -11153,6 +12376,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -11162,27 +12386,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +1.0 0 0 0 ? ? ? -507 -MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -V Component of Hourly Maximum 10m Wind Speed (m/s) +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface 1 -tmpl4_8 -MAXVW -NCEP -MAX -spec_hgt_lvl_above_grnd +tmpl4_0 +CRAIN +? +? +surface +0 +? 0 ? -1 -10. ? 0 ? @@ -11190,6 +12418,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -11199,27 +12428,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +1.0 0 0 0 ? ? ? -421 -MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km -maximum Updraft Helicity on Specified Height Level Above Ground +247 +HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +? 1 -tmpl4_8 -MAXREF -NCEP -MAX -spec_hgt_lvl_above_grnd +tmpl4_0 +HGT +? +? +lwst_lvl_of_wet_bulb_zero +0 +? 0 ? -1 -1000. ? 0 ? @@ -11227,6 +12460,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -11236,33 +12470,38 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --3.0 +-5.0 0 0 0 ? ? ? -785 -MAX_REF_ON_ISOTHERMAL_-10C -maximum reflectivity on -10C suface +913 +1H_FFG_EXCEEDANCE +? 1 -tmpl4_8 -MAXREF +tmpl4_9 +QPFFFG NCEP -MAX -isothermal +ACM +surface +0 +? 0 ? -1 -263. ? 0 ? 0 ? ? +prob_above_lower_limit ? 0 0.0 @@ -11273,33 +12512,38 @@ isothermal 0.0 0 0.0 +0 +1.0 +0 +0.0 1 --3.0 +5.0 0 0 0 ? ? ? -912 -REFD_ON_ISOTHERMAL +914 +ACM_FFG_EXCEEDANCE ? 1 -tmpl4_0 -REFD +tmpl4_9 +QPFFFG NCEP +ACM +surface +0 ? -isothermal 0 ? -1 -263. ? 0 ? 0 ? ? +prob_above_lower_limit ? 0 0.0 @@ -11310,33 +12554,38 @@ isothermal 0.0 0 0.0 +0 +1.0 +0 +0.0 1 --4.0 +5.0 0 0 0 ? ? ? -345 -MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +915 +1H_2YARI_EXCEEDANCE ? 1 -tmpl4_8 -TMAX +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 ? -MAX -spec_hgt_lvl_above_grnd 0 ? -1 -2. ? 0 ? 0 ? ? +prob_above_lower_limit ? 0 0.0 @@ -11347,33 +12596,38 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +2.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -346 -MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +916 +ACM_2YARI_EXCEEDANCE ? 1 -tmpl4_8 -TMIN +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 ? -MIN -spec_hgt_lvl_above_grnd 0 ? -1 -2. ? 0 ? 0 ? ? +prob_above_lower_limit ? 0 0.0 @@ -11384,33 +12638,38 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +2.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -347 -MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +917 +1H_5YARI_EXCEEDANCE ? 1 -tmpl4_8 -MAXRH +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 ? -MAX -spec_hgt_lvl_above_grnd 0 ? -1 -2. ? 0 ? 0 ? ? +prob_above_lower_limit ? 0 0.0 @@ -11421,33 +12680,38 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +5.0 +0 +0.0 1 --2.0 +5.0 0 0 0 ? ? ? -348 -MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +918 +ACM_5YARI_EXCEEDANCE ? 1 -tmpl4_8 -MINRH +tmpl4_9 +QPFARI NCEP -MIN -spec_hgt_lvl_above_grnd +ACM +surface +0 +? 0 ? -1 -2. ? 0 ? 0 ? ? +prob_above_lower_limit ? 0 0.0 @@ -11458,34 +12722,39 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +5.0 +0 +0.0 1 --2.0 +5.0 0 0 0 ? ? ? -116 -TSOIL_ON_DEPTH_BEL_LAND_SFC +919 +1H_10YARI_EXCEEDANCE ? 1 -tmpl4_0 -TSOIL +tmpl4_9 +QPFARI +NCEP +ACM +surface +0 +? +0 ? ? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. +0 +? +0 ? ? +prob_above_lower_limit +? 0 0.0 0 @@ -11495,70 +12764,38 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +10.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -117 -SOILW_ON_DEPTH_BEL_LAND_SFC +920 +ACM_10YARI_EXCEEDANCE ? 1 -tmpl4_0 -SOILW +tmpl4_9 +QPFARI NCEP -? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. -? -? -0 -0.0 +ACM +surface 0 -0.0 ? 0 -0.0 -0 -0.0 -1 -3.0 -0 -0 -0 -? -? ? -36 -SOILM_ON_DEPTH_BEL_LAND_SFC ? -1 -tmpl4_0 -SOILM +0 ? +0 ? -depth_bel_land_sfc -1 -2 -1 -0. -depth_bel_land_sfc -1 -2 -1 -200. ? +prob_above_lower_limit ? 0 0.0 @@ -11569,22 +12806,26 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +10.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -169 -SFEXC_ON_SURFACE +921 +1H_100YARI_EXCEEDANCE ? 1 -tmpl4_0 -SFEXC +tmpl4_9 +QPFARI NCEP -? +ACM surface 0 ? @@ -11596,6 +12837,7 @@ surface 0 ? ? +prob_above_lower_limit ? 0 0.0 @@ -11606,22 +12848,26 @@ surface 0.0 0 0.0 +0 +100.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -170 -VEG_ON_SURFACE +922 +ACM_100YARI_EXCEEDANCE ? 1 -tmpl4_0 -VEG -? -? +tmpl4_9 +QPFARI +NCEP +ACM surface 0 ? @@ -11633,6 +12879,7 @@ surface 0 ? ? +prob_above_lower_limit ? 0 0.0 @@ -11643,32 +12890,37 @@ surface 0.0 0 0.0 +0 +100.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -171 -MSTAV_ON_DEPTH_BEL_LAND_SFC +242 +PEVPR_ON_SURFACE ? 1 tmpl4_0 -MSTAV +PEVPR NCEP ? -depth_bel_land_sfc -1 -2 -1 -0. -depth_bel_land_sfc -1 -2 -1 -100. +surface +0 +? +0 +? +? +0 +? +0 +? +? ? ? 0 @@ -11680,27 +12932,31 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -115 -TSOIL_ON_DEPTH_BEL_LAND_SFC_3m +231 +SBSNO_ON_SURFACE ? 1 tmpl4_0 -TSOIL +SBSNO +NCEP ? +surface +0 ? -depth_bel_land_sfc 0 ? -1 -3. ? 0 ? @@ -11708,6 +12964,7 @@ depth_bel_land_sfc ? ? ? +? 0 0.0 0 @@ -11717,6 +12974,10 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -11725,12 +12986,12 @@ depth_bel_land_sfc ? ? ? -152 -INST_GFLUX_ON_SURFACE +232 +SMDRY_ON_SURFACE ? 1 tmpl4_0 -GFLUX +SMDRY NCEP ? surface @@ -11745,6 +13006,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11754,6 +13016,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -11762,12 +13028,12 @@ surface ? ? ? -118 -CNWAT_ON_SURFACE +233 +POROS_ON_SURFACE ? 1 tmpl4_0 -CNWAT +POROS NCEP ? surface @@ -11782,6 +13048,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11791,22 +13058,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +3.0 0 0 0 ? ? ? -119 -WEASD_ON_SURFACE +42 +AVE_LHTFL_ON_SURFACE ? 1 -tmpl4_0 -WEASD -? +tmpl4_8 +LHTFL ? +AVE surface 0 ? @@ -11819,6 +13090,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11828,6 +13100,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -11836,24 +13112,25 @@ surface ? ? ? -31 -4LFTX_ON_SPEC_PRES_ABOVE_GRND +43 +AVE_SHTFL_ON_SURFACE ? 1 -tmpl4_0 -4LFTX -NCEP +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? ? -spec_pres_above_grnd 0 ? -1 -18000. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -11865,23 +13142,27 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -80 -PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +135 +AVE_GFLUX_ON_SURFACE ? 1 -tmpl4_0 -PWAT -? -? -entire_atmos_single_lyr +tmpl4_8 +GFLUX +NCEP +AVE +surface 0 ? 0 @@ -11893,6 +13174,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -11902,22 +13184,26 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -87 -ACM_APCP_ON_SURFACE +136 +AVE_SNOHF_ON_SURFACE ? 1 tmpl4_8 -APCP +SNOHF ? -ACM +AVE surface 0 ? @@ -11930,6 +13216,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11939,20 +13226,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 ? ? ? -34 -ACM_NCPCP_ON_SURFACE +137 +ACM_PEVAP_ON_SURFACE ? 1 tmpl4_8 -NCPCP +PEVAP ? ACM surface @@ -11967,6 +13258,7 @@ surface ? ? ? +? 0 0.0 0 @@ -11976,22 +13268,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 ? ? ? -417 -CACM_APCP_ON_SURFACE +155 +INST_LHTFL_ON_SURFACE ? 1 -tmpl4_8 -APCP +tmpl4_0 +LHTFL +? ? -ACM surface 0 ? @@ -12004,6 +13300,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12013,22 +13310,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 ? ? ? -419 -CACM_NCPCP_ON_SURFACE +154 +INST_SHTFL_ON_SURFACE ? 1 -tmpl4_8 -NCPCP +tmpl4_0 +SHTFL +? ? -ACM surface 0 ? @@ -12041,6 +13342,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12050,22 +13352,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 ? ? ? -121 -ACM_SNOM_ON_SURFACE +152 +INST_GFLUX_ON_SURFACE ? 1 -tmpl4_8 -SNOM +tmpl4_0 +GFLUX +NCEP ? -ACM surface 0 ? @@ -12078,6 +13384,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12087,22 +13394,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -122 -ACM_SSRUN_ON_SURFACE +44 +SFCR_ON_SURFACE ? 1 -tmpl4_8 -SSRUN -NCEP -ACM +tmpl4_0 +SFCR +? +? surface 0 ? @@ -12115,6 +13426,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12124,22 +13436,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +2.7 0 0 0 ? ? ? -123 -ACM_BGRUN_ON_SURFACE +45 +FRICV_ON_SURFACE ? 1 -tmpl4_8 -BGRUN -NCEP -ACM +tmpl4_0 +FRICV +? +? surface 0 ? @@ -12152,6 +13468,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12161,6 +13478,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -12169,13 +13490,13 @@ surface ? ? ? -160 -INST_CRAIN_ON_SURFACE +132 +CD_ON_SURFACE ? 1 tmpl4_0 -CRAIN -NCEP +CD +? ? surface 0 @@ -12189,30 +13510,35 @@ surface ? ? ? +? +0 +0.0 +0 +0.0 +? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -1.0 +3.0 0 0 0 ? ? ? -551 -CSNOW_ON_SURFACE -Categorical snow on surface +169 +SFEXC_ON_SURFACE +? 1 tmpl4_0 -CSNOW -NCEP +SFEXC +? ? surface 0 @@ -12226,6 +13552,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12235,20 +13562,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +3.0 0 0 0 ? ? ? -552 -CICEP_ON_SURFACE -Categorical ice pellets on surface +254 +LAI_ON_SURFACE +? 1 tmpl4_0 -CICEP +LAI NCEP ? surface @@ -12263,6 +13594,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12272,21 +13604,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +-3.0 0 0 0 ? ? ? -553 -CFRZR_ON_SURFACE -Categorical freezing rain on surface +170 +VEG_ON_SURFACE +? 1 tmpl4_0 -CFRZR -NCEP +VEG +? ? surface 0 @@ -12300,6 +13636,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12309,21 +13646,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +3.0 0 0 0 ? ? ? -167 -INST_PRATE_ON_SURFACE +218 +VGTYP_ON_SURFACE ? 1 tmpl4_0 -PRATE -? +VGTYP +NCEP ? surface 0 @@ -12337,6 +13678,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12346,21 +13688,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -172 -CPOFP_ON_SURFACE +219 +SOTYP_ON_SURFACE ? 1 tmpl4_0 -CPOFP -NCEP +SOTYP +? ? surface 0 @@ -12374,6 +13720,7 @@ surface ? ? ? +? 0 0.0 0 @@ -12383,27 +13730,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -124 -CLMR_ON_HYBRID_LVL +234 +RSMIN_ON_SURFACE ? 1 tmpl4_0 -CLMR +RSMIN ? ? -hybrid_lvl +surface +0 +? 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? 0 ? @@ -12411,6 +13762,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -12420,6 +13772,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -12428,19 +13784,19 @@ hybrid_lvl ? ? ? -125 -ICMR_ON_HYBRID_LVL +235 +RLYRS_ON_SURFACE ? 1 tmpl4_0 -ICMR +RLYRS ? ? -hybrid_lvl +surface +0 +? 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? 0 ? @@ -12448,6 +13804,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -12457,6 +13814,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -12465,19 +13826,19 @@ hybrid_lvl ? ? ? -415 -GRLE_ON_HYBRID_LVL -Graupel mixing ration on hybrid level +236 +WILT_ON_SURFACE +? 1 tmpl4_0 -GRLE +WILT +NCEP ? +surface +0 ? -hybrid_lvl 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? 0 ? @@ -12485,6 +13846,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -12494,6 +13856,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -12502,19 +13868,19 @@ hybrid_lvl ? ? ? -145 -TCDC_ON_HYBRID_LVL +237 +SMREF_ON_SURFACE ? 1 tmpl4_0 -TCDC +SMREF +NCEP ? +surface +0 ? -hybrid_lvl 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ? 0 ? @@ -12522,6 +13888,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -12531,6 +13898,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -12539,19 +13910,19 @@ hybrid_lvl ? ? ? -181 -RWMR_ON_HYBRID_LVL +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -RWMR +TMP ? ? -hybrid_lvl +spec_hgt_lvl_above_grnd 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +1 +2. ? 0 ? @@ -12559,6 +13930,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -12568,27 +13940,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -182 -SNMR_ON_HYBRID_LVL +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -SNMR +SPFH ? ? -hybrid_lvl +spec_hgt_lvl_above_grnd 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +1 +2. ? 0 ? @@ -12596,6 +13972,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -12605,27 +13982,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -187 -RIME_ON_HYBRID_LVL +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -RIME -NCEP +DPT ? -hybrid_lvl +? +spec_hgt_lvl_above_grnd 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +1 +2. ? 0 ? @@ -12633,6 +14014,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -12642,27 +14024,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -199 -TCOND_ON_HYBRID_LVL +547 +GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -TCOND -NCEP +DEPR ? -hybrid_lvl +? +spec_hgt_lvl_above_grnd 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +1 +2. ? 0 ? @@ -12670,6 +14056,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -12679,27 +14066,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-4.0 0 0 0 ? ? ? -185 -FRAIN_ON_HYBRID_LVL +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -FRAIN -NCEP +RH ? -hybrid_lvl +? +spec_hgt_lvl_above_grnd 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +1 +2. ? 0 ? @@ -12707,6 +14098,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -12716,27 +14108,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -186 -FICE_ON_HYBRID_LVL +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_0 -FICE -NCEP +tmpl4_8 +TMAX ? -hybrid_lvl +MAX +spec_hgt_lvl_above_grnd 0 ? -64 -1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. +1 +2. ? 0 ? @@ -12744,6 +14140,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -12753,27 +14150,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -37 -LCDC_ON_LOW_CLOUD_LYR +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_0 -LCDC -? -? -low_cloud_lyr -0 +tmpl4_8 +TMIN ? +MIN +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -12781,6 +14182,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -12790,27 +14192,31 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -38 -MCDC_ON_MID_CLOUD_LYR +347 +MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_0 -MCDC -? -? -mid_cloud_lyr -0 +tmpl4_8 +MAXRH ? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -12818,6 +14224,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -12827,27 +14234,31 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-2.0 0 0 0 ? ? ? -39 -HCDC_ON_HIGH_CLOUD_LYR +348 +MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 -tmpl4_0 -HCDC -? -? -high_cloud_lyr -0 -? +tmpl4_8 +MINRH +NCEP +MIN +spec_hgt_lvl_above_grnd 0 ? +1 +2. ? 0 ? @@ -12855,6 +14266,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -12864,20 +14276,24 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-2.0 0 0 0 ? ? ? -161 -INST_TCDC_ON_ENTIRE_ATMOS +735 +AOD_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 tmpl4_0 -TCDC +AOTK ? ? entire_atmos_single_lyr @@ -12892,6 +14308,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -12901,23 +14318,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -144 -AVE_TCDC_ON_ENTIRE_ATMOS -? +755 +HWP_ON_SURFACE +Hourly Wildfire Potential on surface 1 tmpl4_8 -TCDC +WFIREPOT ? AVE -entire_atmos_single_lyr +surface 0 ? 0 @@ -12929,6 +14350,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -12938,27 +14360,31 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -139 -AVE_CDLYR_ON_ENTIRE_ATMOS +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m ? 1 -tmpl4_8 -CDLYR -NCEP -AVE -entire_atmos_single_lyr -0 +tmpl4_0 +UGRD ? +? +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -12966,6 +14392,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -12975,27 +14402,31 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -141 -INST_USWRF_ON_SURFACE +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m ? 1 tmpl4_0 -USWRF -NCEP +VGRD ? -surface -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -13003,6 +14434,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13012,6 +14444,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -13020,19 +14456,19 @@ surface ? ? ? -142 -INST_ULWRF_ON_SURFACE -? +506 +MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +U Component of Hourly Maximum 10m Wind Speed (m/s) 1 -tmpl4_0 -ULWRF +tmpl4_8 +MAXUW NCEP -? -surface -0 -? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -13040,6 +14476,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13049,27 +14486,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-4.0 0 0 0 ? ? ? -126 -AVE_DSWRF_ON_SURFACE -? +507 +MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +V Component of Hourly Maximum 10m Wind Speed (m/s) 1 tmpl4_8 -DSWRF +MAXVW NCEP -AVE -surface -0 -? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -13077,6 +14518,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13086,27 +14528,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-4.0 0 0 0 ? ? ? -127 -AVE_DLWRF_ON_SURFACE -? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground 1 tmpl4_8 -DLWRF -NCEP -AVE -surface -0 +WIND ? +MAX +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -13114,6 +14560,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13123,23 +14570,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +-4.0 0 0 0 ? ? ? -128 -AVE_USWRF_ON_SURFACE +282 +PRES_ON_TOP_OF_ATMOS ? 1 -tmpl4_8 -USWRF -NCEP -AVE -surface +tmpl4_0 +PRES +? +? +top_of_atmos 0 ? 0 @@ -13151,6 +14602,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13160,6 +14612,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13168,24 +14624,25 @@ surface ? ? ? -129 -AVE_ULWRF_ON_SURFACE +30 +LFTX_ON_ISOBARIC_SFC_500-1000hpa ? 1 -tmpl4_8 -ULWRF -NCEP -AVE -surface -0 -? -0 +tmpl4_0 +LFTX ? ? +isobaric_sfc 0 ? +1 +50000. +isobaric_sfc 0 ? +1 +100000. +? ? ? 0 @@ -13197,6 +14654,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -13205,31 +14666,36 @@ surface ? ? ? -130 -AVE_USWRF_ON_TOP_OF_ATMOS +31 +4LFTX_ON_SPEC_PRES_ABOVE_GRND ? 1 -tmpl4_8 -USWRF -NCEP -AVE -top_of_atmos +tmpl4_0 +4LFTX +? +? +spec_pres_above_grnd 0 ? +1 +18000. +spec_pres_above_grnd 0 ? +1 +0. +? +? ? 0 -? +0.0 0 -? -? +0.0 ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -13242,15 +14708,15 @@ top_of_atmos ? ? ? -131 -AVE_ULWRF_ON_TOP_OF_ATMOS +32 +CAPE_ON_SURFACE ? 1 -tmpl4_8 -ULWRF -NCEP -AVE -top_of_atmos +tmpl4_0 +CAPE +? +? +surface 0 ? 0 @@ -13262,6 +14728,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -13271,31 +14738,36 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -156 -INST_DSWRF_ON_SURFACE +566 +BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -DSWRF -NCEP +CAPE ? -surface -0 ? +spec_pres_above_grnd 0 ? -? +1 +18000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -13308,6 +14780,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -13316,23 +14792,24 @@ surface ? ? ? -157 -INST_DLWRF_ON_SURFACE +582 +MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -DLWRF -NCEP +CAPE ? -surface -0 ? +spec_pres_above_grnd 0 ? -? +1 +9000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -13345,6 +14822,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -13353,23 +14834,24 @@ surface ? ? ? -262 -INST_CSDSF_ON_SURFACE +584 +UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -CSDSF -NCEP +CAPE ? -surface -0 ? +spec_pres_above_grnd 0 ? -? +1 +25500. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -13382,6 +14864,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -13390,23 +14876,24 @@ surface ? ? ? -44 -SFCR_ON_SURFACE +950 +CAPE_ON_0_3KM_ABOVE_GRND ? 1 tmpl4_0 -SFCR -? +CAPE ? -surface -0 ? +spec_hgt_lvl_above_grnd 0 ? -? +1 +0. +spec_hgt_lvl_above_grnd 0 ? -0 +1 +3000. ? ? ? @@ -13419,21 +14906,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.7 +4.0 0 0 0 ? ? ? -45 -FRICV_ON_SURFACE +107 +CIN_ON_SURFACE ? 1 tmpl4_0 -FRICV -NCEP +CIN +? ? surface 0 @@ -13447,6 +14938,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13456,6 +14948,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -13464,23 +14960,24 @@ surface ? ? ? -132 -CD_ON_SURFACE +567 +BEST_CIN_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -CD -NCEP +CIN ? -surface -0 ? +spec_pres_above_grnd 0 ? -? +1 +18000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -13493,31 +14990,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -133 -UFLX_ON_SURFACE +583 +MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -UFLX -? +CIN ? -surface -0 ? +spec_pres_above_grnd 0 ? -? +1 +9000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -13530,31 +15032,36 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -134 -VFLX_ON_SURFACE +585 +UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -VFLX -? +CIN ? -surface -0 ? +spec_pres_above_grnd 0 ? -? +1 +25500. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -13567,23 +15074,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -43 -AVE_SHTFL_ON_SURFACE +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 -tmpl4_8 -SHTFL +tmpl4_0 +PWAT ? -AVE -surface +? +entire_atmos_single_lyr 0 ? 0 @@ -13595,6 +15106,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13604,23 +15116,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -135 -AVE_GFLUX_ON_SURFACE +295 +MCONV_ON_ENTIRE_ATMOS ? 1 -tmpl4_8 -GFLUX -NCEP -AVE -surface +tmpl4_0 +MCONV +? +? +entire_atmos_single_lyr 0 ? 0 @@ -13632,6 +15148,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13641,23 +15158,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -136 -AVE_SNOHF_ON_SURFACE +287 +HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR ? 1 -tmpl4_8 -SNOHF -NCEP -AVE -surface +tmpl4_0 +HGT +? +? +lwst_bot_lvl_of_supercooled_liq_water_lyr 0 ? 0 @@ -13669,6 +15190,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13678,23 +15200,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -42 -AVE_LHTFL_ON_SURFACE +288 +HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR ? 1 -tmpl4_8 -LHTFL +tmpl4_0 +HGT ? -AVE -surface +? +hghst_top_lvl_of_supercooled_liq_water_lyr 0 ? 0 @@ -13706,6 +15232,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13715,23 +15242,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -47 -ACM_EVP_ON_SURFACE +37 +LCDC_ON_LOW_CLOUD_LYR ? 1 -tmpl4_8 -EVP +tmpl4_0 +LCDC ? -ACM -surface +? +low_cloud_lyr 0 ? 0 @@ -13743,6 +15274,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13752,23 +15284,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -137 -ACM_PEVAP_ON_SURFACE +38 +MCDC_ON_MID_CLOUD_LYR ? 1 -tmpl4_8 -PEVAP -NCEP -ACM -surface +tmpl4_0 +MCDC +? +? +mid_cloud_lyr 0 ? 0 @@ -13780,6 +15316,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13789,23 +15326,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -154 -INST_SHTFL_ON_SURFACE +39 +HCDC_ON_HIGH_CLOUD_LYR ? 1 tmpl4_0 -SHTFL +HCDC ? ? -surface +high_cloud_lyr 0 ? 0 @@ -13817,6 +15358,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13826,23 +15368,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -155 -INST_LHTFL_ON_SURFACE +799 +TCDC_ON_BOUND_LYR ? 1 tmpl4_0 -LHTFL +TCDC ? ? -surface +bound_lyr_cloud_lyr 0 ? 0 @@ -13854,6 +15400,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13863,23 +15410,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -48 -NLAT_ON_SURFACE +161 +INST_TCDC_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -NLAT -NCEP +TCDC ? -surface +? +entire_atmos_single_lyr 0 ? 0 @@ -13891,6 +15442,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13900,23 +15452,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -49 -ELON_ON_SURFACE +144 +AVE_TCDC_ON_ENTIRE_ATMOS ? 1 -tmpl4_0 -ELON -NCEP +tmpl4_8 +TCDC ? -surface +AVE +entire_atmos_single_lyr 0 ? 0 @@ -13928,6 +15484,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13937,23 +15494,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -50 -LAND_ON_SURFACE +148 +PRES_ON_CLOUD_BASE ? 1 tmpl4_0 -LAND +PRES ? ? -surface +cloud_base 0 ? 0 @@ -13965,6 +15526,7 @@ surface ? ? ? +? 0 0.0 0 @@ -13974,23 +15536,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +6.0 0 0 0 ? ? ? -51 -ICEC_ON_SURFACE +178 +HGT_ON_CLOUD_BASE ? 1 tmpl4_0 -ICEC +HGT ? ? -surface +cloud_base 0 ? 0 @@ -14002,6 +15568,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14011,23 +15578,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -52 -LMH_ON_SURFACE -? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling 1 tmpl4_0 -LMH -NCEP +HGT ? -surface +? +cloud_ceilng 0 ? 0 @@ -14039,6 +15610,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14048,23 +15620,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 +5.0 0 0 0 ? ? ? -53 -LMV_ON_SURFACE +487 +GSD_EXP_CEILING ? 1 tmpl4_0 -LMV -NCEP +CEIL ? -surface +? +cloud_ceilng 0 ? 0 @@ -14076,6 +15652,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14085,23 +15662,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 +5.0 0 0 0 ? ? ? -150 -ALBDO_ON_SURFACE +149 +PRES_ON_CLOUD_TOP ? 1 tmpl4_0 -ALBDO +PRES ? ? -surface +cloud_top 0 ? 0 @@ -14113,6 +15694,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14122,23 +15704,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -151 -WTMP_ON_SURFACE +179 +HGT_ON_CLOUD_TOP ? 1 tmpl4_0 -WTMP +HGT ? ? -surface +cloud_top 0 ? 0 @@ -14150,6 +15736,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14159,32 +15746,37 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +6.0 0 0 0 ? ? ? -67 -PRES_ON_SPEC_PRES_ABOVE_GRND +168 +TMP_ON_CLOUD_TOP ? 1 tmpl4_0 -PRES +TMP ? ? -spec_pres_above_grnd +cloud_top 0 ? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. +? +0 +? +0 +? +? ? ? 0 @@ -14196,32 +15788,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +5.0 0 0 0 ? ? ? -68 -TMP_ON_SPEC_PRES_ABOVE_GRND +194 +PRES_ON_GRID_SCALE_CLOUD_BOT_LVL ? 1 tmpl4_0 -TMP +PRES +? +? +grid_scale_cloud_bot_lvl +0 +? +0 ? ? -spec_pres_above_grnd 0 ? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. +? ? ? 0 @@ -14233,32 +15830,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -69 -POT_ON_SPEC_PRES_ABOVE_GRND +195 +PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +? +1 +tmpl4_0 +PRES +? +? +grid_scale_cloud_top_lvl +0 ? -1 -tmpl4_0 -POT +0 ? ? -spec_pres_above_grnd 0 ? -1 -3000. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -14270,32 +15872,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -70 -DPT_ON_SPEC_PRES_ABOVE_GRND +275 +BRTMP_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -DPT +BRTEMP ? ? -spec_pres_above_grnd +top_of_atmos 0 ? -1 -3000. -spec_pres_above_grnd 0 ? -1 -0. +? +0 +? +0 +? +? ? ? 0 @@ -14307,6 +15914,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -14315,24 +15926,25 @@ spec_pres_above_grnd ? ? ? -71 -SPFH_ON_SPEC_PRES_ABOVE_GRND +156 +INST_DSWRF_ON_SURFACE ? 1 tmpl4_0 -SPFH +DSWRF +? +? +surface +0 +? +0 ? ? -spec_pres_above_grnd 0 ? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. +? ? ? 0 @@ -14344,32 +15956,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -72 -RH_ON_SPEC_PRES_ABOVE_GRND +157 +INST_DLWRF_ON_SURFACE ? 1 tmpl4_0 -RH +DLWRF ? ? -spec_pres_above_grnd +surface 0 ? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. +? +0 +? +0 +? +? ? ? 0 @@ -14381,32 +15998,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 +4.0 0 0 0 ? ? ? -88 -MCONV_ON_SPEC_PRES_ABOVE_GRND +141 +INST_USWRF_ON_SURFACE ? 1 tmpl4_0 -MCONV +USWRF +? +? +surface +0 +? +0 ? ? -spec_pres_above_grnd 0 ? -1 -3000. -spec_pres_above_grnd 0 ? -1 -0. +? ? ? 0 @@ -14418,32 +16040,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -89 -PWAT_ON_SPEC_PRES_ABOVE_GRND +142 +INST_ULWRF_ON_SURFACE ? 1 tmpl4_0 -PWAT +ULWRF ? ? -spec_pres_above_grnd +surface 0 ? -1 -3000. -spec_pres_above_grnd 0 ? -1 -0. +? +0 +? +0 +? +? ? ? 0 @@ -14455,32 +16082,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -73 -UGRD_ON_SPEC_PRES_ABOVE_GRND +274 +INST_ULWRF_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -UGRD +ULWRF +? +? +top_of_atmos +0 +? +0 ? ? -spec_pres_above_grnd 0 ? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. +? ? ? 0 @@ -14492,6 +16124,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14500,24 +16136,25 @@ spec_pres_above_grnd ? ? ? -74 -VGRD_ON_SPEC_PRES_ABOVE_GRND +126 +AVE_DSWRF_ON_SURFACE ? 1 -tmpl4_0 -VGRD +tmpl4_8 +DSWRF ? +AVE +surface +0 ? -spec_pres_above_grnd 0 ? -6 -3000. 6000. 9000. 12000. 15000. 18000. -spec_pres_above_grnd +? 0 ? -6 -0. 3000. 6000. 9000. 12000. 15000. +0 +? +? ? ? 0 @@ -14529,22 +16166,26 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -256 -ACM_LSPA_ON_SURFACE +127 +AVE_DLWRF_ON_SURFACE ? 1 tmpl4_8 -LSPA -NCEP -ACM +DLWRF +? +AVE surface 0 ? @@ -14557,6 +16198,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14566,6 +16208,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -14574,15 +16220,15 @@ surface ? ? ? -282 -PRES_ON_TOP_OF_ATMOS +128 +AVE_USWRF_ON_SURFACE ? 1 -tmpl4_0 -PRES -? +tmpl4_8 +USWRF ? -top_of_atmos +AVE +surface 0 ? 0 @@ -14594,6 +16240,7 @@ top_of_atmos ? ? ? +? 0 0.0 0 @@ -14603,6 +16250,10 @@ top_of_atmos 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -14611,24 +16262,25 @@ top_of_atmos ? ? ? -283 -PRES_ON_HYBRID_LVL_1L +129 +AVE_ULWRF_ON_SURFACE ? 1 -tmpl4_0 -PRES +tmpl4_8 +ULWRF +? +AVE +surface +0 +? +0 ? ? -hybrid_lvl 0 ? -1 -1. -hybrid_lvl 0 ? -1 -21. +? ? ? 0 @@ -14640,6 +16292,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -14648,24 +16304,25 @@ hybrid_lvl ? ? ? -273 -PRES_ON_HYBRID_LVL_LLM +130 +AVE_USWRF_ON_TOP_OF_ATMOS ? 1 -tmpl4_0 -PRES +tmpl4_8 +USWRF +? +AVE +top_of_atmos +0 +? +0 ? ? -hybrid_lvl 0 ? -1 -1. -hybrid_lvl 0 ? -1 -61. +? ? ? 0 @@ -14677,6 +16334,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -14685,15 +16346,15 @@ hybrid_lvl ? ? ? -118 -CNWAT_ON_SURFACE +131 +AVE_ULWRF_ON_TOP_OF_ATMOS ? 1 -tmpl4_0 -CNWAT -NCEP +tmpl4_8 +ULWRF ? -surface +AVE +top_of_atmos 0 ? 0 @@ -14705,6 +16366,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14714,20 +16376,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +3.0 0 0 0 ? ? ? -152 -INST_GFLUX_ON_SURFACE +262 +INST_CSDSF_ON_SURFACE ? 1 tmpl4_0 -GFLUX +CSDSF NCEP ? surface @@ -14742,6 +16408,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14751,32 +16418,37 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -30 -LFTX_ON_ISOBARIC_SFC_500-1000hpa +772 +INST_SWDDNI_ON_SURFACE ? 1 tmpl4_0 -LFTX +VBDSF NCEP ? -isobaric_sfc +surface +0 +? +0 +? +? 0 ? -1 -50000. -isobaric_sfc 0 ? -1 -100000. +? ? ? 0 @@ -14788,21 +16460,25 @@ isobaric_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -32 -CAPE_ON_SURFACE +773 +INST_SWDDIF_ON_SURFACE ? 1 tmpl4_0 -CAPE -? +VDDSF +NCEP ? surface 0 @@ -14816,6 +16492,7 @@ surface ? ? ? +? 0 0.0 0 @@ -14825,6 +16502,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14833,24 +16514,25 @@ surface ? ? ? -566 -BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 tmpl4_0 -CAPE +HLCY ? ? -spec_pres_above_grnd +spec_hgt_lvl_above_grnd 0 ? -1 -18000. -spec_pres_above_grnd +2 +3000. 1000. +spec_hgt_lvl_above_grnd 0 ? -1 -0. +0 +? +? ? ? 0 @@ -14862,6 +16544,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14870,24 +16556,25 @@ spec_pres_above_grnd ? ? ? -582 -MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND +953 +EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 tmpl4_0 -CAPE +EFHL +NCEP ? +surface +0 ? -spec_pres_above_grnd 0 ? -1 -9000. -spec_pres_above_grnd +? 0 ? -1 -0. +0 +? +? ? ? 0 @@ -14899,32 +16586,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -584 -UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND +957 +CRITICAL_ANGLE ? 1 tmpl4_0 -CAPE -? +CANGLE +NCEP ? -spec_pres_above_grnd +spec_hgt_lvl_above_grnd 0 ? 1 -25500. -spec_pres_above_grnd +0. +spec_hgt_lvl_above_grnd 0 ? 1 -0. +500. +? ? ? 0 @@ -14936,31 +16628,36 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -107 -CIN_ON_SURFACE +163 +USTM_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 tmpl4_0 -CIN +USTM ? ? -surface +spec_hgt_lvl_above_grnd 0 ? +1 +6000. +spec_hgt_lvl_above_grnd 0 ? -? 0 ? -0 ? ? ? @@ -14973,6 +16670,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -14981,24 +16682,25 @@ surface ? ? ? -567 -BEST_CIN_ON_SPEC_PRES_ABOVE_GRND +164 +VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 tmpl4_0 -CIN +VSTM ? ? -spec_pres_above_grnd +spec_hgt_lvl_above_grnd 0 ? 1 -18000. -spec_pres_above_grnd +6000. +spec_hgt_lvl_above_grnd +0 +? 0 ? -1 -0. +? ? ? 0 @@ -15010,6 +16712,10 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15018,24 +16724,25 @@ spec_pres_above_grnd ? ? ? -583 -MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND -? +430 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical u-component shear between 0 to 1000m Above Ground 1 tmpl4_0 -CIN +VUCSH ? ? -spec_pres_above_grnd +spec_hgt_lvl_above_grnd 0 ? 1 -9000. -spec_pres_above_grnd +0. +spec_hgt_lvl_above_grnd 0 ? 1 -0. +1000. +? ? ? 0 @@ -15047,32 +16754,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -585 -UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND -? +431 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km +Vertical v-component shear between 0 to 1000m Above Ground 1 tmpl4_0 -CIN +VVCSH ? ? -spec_pres_above_grnd +spec_hgt_lvl_above_grnd 0 ? 1 -25500. -spec_pres_above_grnd +0. +spec_hgt_lvl_above_grnd 0 ? 1 -0. +1000. +? ? ? 0 @@ -15084,32 +16796,37 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -246 -PLPL_ON_SPEC_PRES_ABOVE_GRND -? +432 +VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical u-component shear between 0 to 6000m Above Ground 1 tmpl4_0 -PLPL -NCEP +VUCSH ? -spec_pres_above_grnd +? +spec_hgt_lvl_above_grnd 0 ? 1 -25500. -spec_pres_above_grnd +0. +spec_hgt_lvl_above_grnd 0 ? 1 -0. +6000. +? ? ? 0 @@ -15121,31 +16838,36 @@ spec_pres_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -162 -HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND -? +433 +VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km +Vertical v-component shear between 0 to 6000m Above Ground 1 tmpl4_0 -HLCY +VVCSH ? ? spec_hgt_lvl_above_grnd 0 ? -2 -3000. 1000. +1 +0. spec_hgt_lvl_above_grnd 0 ? -0 +1 +6000. ? ? ? @@ -15158,34 +16880,39 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -163 -USTM_ON_SPEC_HGT_LVL_ABOVE_GRND +54 +PRES_ON_TROPOPAUSE ? 1 tmpl4_0 -USTM -NCEP +PRES ? -spec_hgt_lvl_above_grnd +? +tropopause 0 ? -1 -6000. -spec_hgt_lvl_above_grnd +0 +? +? 0 ? 0 ? ? ? +? 0 0.0 0 @@ -15195,34 +16922,39 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -164 -VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND +177 +HGT_ON_TROPOPAUSE ? 1 tmpl4_0 -VSTM -NCEP +HGT ? -spec_hgt_lvl_above_grnd +? +tropopause 0 ? -1 -6000. -spec_hgt_lvl_above_grnd +0 +? +? 0 ? 0 ? ? ? +? 0 0.0 0 @@ -15232,23 +16964,27 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -37 -LCDC_ON_LOW_CLOUD_LYR +55 +TMP_ON_TROPOPAUSE ? 1 tmpl4_0 -LCDC +TMP ? ? -low_cloud_lyr +tropopause 0 ? 0 @@ -15260,6 +16996,7 @@ low_cloud_lyr ? ? ? +? 0 0.0 0 @@ -15269,6 +17006,10 @@ low_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -15277,15 +17018,15 @@ low_cloud_lyr ? ? ? -38 -MCDC_ON_MID_CLOUD_LYR +108 +POT_ON_TROPOPAUSE ? 1 tmpl4_0 -MCDC +POT ? ? -mid_cloud_lyr +tropopause 0 ? 0 @@ -15297,6 +17038,7 @@ mid_cloud_lyr ? ? ? +? 0 0.0 0 @@ -15306,23 +17048,27 @@ mid_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -39 -HCDC_ON_HIGH_CLOUD_LYR +56 +UGRD_ON_TROPOPAUSE ? 1 tmpl4_0 -HCDC +UGRD ? ? -high_cloud_lyr +tropopause 0 ? 0 @@ -15334,6 +17080,7 @@ high_cloud_lyr ? ? ? +? 0 0.0 0 @@ -15343,23 +17090,27 @@ high_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -144 -AVE_TCDC_ON_ENTIRE_ATMOS +57 +VGRD_ON_TROPOPAUSE ? 1 -tmpl4_8 -TCDC +tmpl4_0 +VGRD ? -AVE -entire_atmos_single_lyr +? +tropopause 0 ? 0 @@ -15371,6 +17122,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -15380,23 +17132,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -139 -AVE_CDLYR_ON_ENTIRE_ATMOS +58 +VWSH_ON_TROPOPAUSE ? 1 -tmpl4_8 -CDLYR -NCEP -AVE -entire_atmos_single_lyr +tmpl4_0 +VWSH +? +? +tropopause 0 ? 0 @@ -15408,6 +17164,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -15417,6 +17174,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 3.0 0 @@ -15425,15 +17186,15 @@ entire_atmos_single_lyr ? ? ? -148 -PRES_ON_CLOUD_BASE +173 +PRES_ON_MAX_WIND ? 1 tmpl4_0 PRES ? ? -cloud_base +max_wind 0 ? 0 @@ -15445,6 +17206,7 @@ cloud_base ? ? ? +? 0 0.0 0 @@ -15454,6 +17216,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -15462,15 +17228,15 @@ cloud_base ? ? ? -149 -PRES_ON_CLOUD_TOP +174 +HGT_ON_MAX_WIND ? 1 tmpl4_0 -PRES +HGT ? ? -cloud_top +max_wind 0 ? 0 @@ -15482,6 +17248,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -15491,6 +17258,10 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -15499,15 +17270,15 @@ cloud_top ? ? ? -168 -TMP_ON_CLOUD_TOP +175 +UGRD_ON_MAX_WIND ? 1 tmpl4_0 -TMP +UGRD ? ? -cloud_top +max_wind 0 ? 0 @@ -15519,6 +17290,7 @@ cloud_top ? ? ? +? 0 0.0 0 @@ -15528,23 +17300,27 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -135 -AVE_GFLUX_ON_SURFACE +176 +VGRD_ON_MAX_WIND ? 1 -tmpl4_8 -GFLUX -NCEP -AVE -surface +tmpl4_0 +VGRD +? +? +max_wind 0 ? 0 @@ -15556,6 +17332,7 @@ surface ? ? ? +? 0 0.0 0 @@ -15565,6 +17342,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15573,19 +17354,19 @@ surface ? ? ? -136 -AVE_SNOHF_ON_SURFACE +586 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT ? 1 -tmpl4_8 -SNOHF -NCEP -AVE -surface -0 +tmpl4_0 +TMP +? ? +spec_hgt_lvl_above_grnd 0 ? +6 +30. 50. 80. 100. 160. 320. ? 0 ? @@ -15593,6 +17374,7 @@ surface ? ? ? +? 0 0.0 0 @@ -15602,27 +17384,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -47 -ACM_EVP_ON_SURFACE +578 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT ? 1 -tmpl4_8 -EVP +tmpl4_0 +SPFH ? -ACM -surface -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +80. ? 0 ? @@ -15630,6 +17416,7 @@ surface ? ? ? +? 0 0.0 0 @@ -15639,27 +17426,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -154 -INST_SHTFL_ON_SURFACE +579 +PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT ? 1 tmpl4_0 -SHTFL -? +PRES ? -surface -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +80. ? 0 ? @@ -15667,6 +17458,7 @@ surface ? ? ? +? 0 0.0 0 @@ -15676,27 +17468,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -155 -INST_LHTFL_ON_SURFACE +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT ? 1 tmpl4_0 -LHTFL -? +UGRD ? -surface -0 ? +spec_hgt_lvl_above_grnd 0 ? +6 +30. 50. 80. 100. 160. 320. ? 0 ? @@ -15704,6 +17500,7 @@ surface ? ? ? +? 0 0.0 0 @@ -15713,6 +17510,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15721,19 +17522,19 @@ surface ? ? ? -54 -PRES_ON_TROPOPAUSE +577 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT ? 1 tmpl4_0 -PRES -? +VGRD ? -tropopause -0 ? +spec_hgt_lvl_above_grnd 0 ? +6 +30. 50. 80. 100. 160. 320. ? 0 ? @@ -15741,6 +17542,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -15750,27 +17552,31 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -177 -HGT_ON_TROPOPAUSE +59 +TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 tmpl4_0 -HGT -? +TMP ? -tropopause -0 ? +spec_alt_above_mean_sea_lvl 0 ? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. ? 0 ? @@ -15778,6 +17584,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -15787,27 +17594,31 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -55 -TMP_ON_TROPOPAUSE +451 +SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 tmpl4_0 -TMP -? +SPFH ? -tropopause -0 ? +spec_alt_above_mean_sea_lvl 0 ? +1 +305. ? 0 ? @@ -15815,6 +17626,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -15824,27 +17636,31 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +5.0 0 0 0 ? ? ? -56 -UGRD_ON_TROPOPAUSE +60 +UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 tmpl4_0 UGRD ? ? -tropopause -0 -? +spec_alt_above_mean_sea_lvl 0 ? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. ? 0 ? @@ -15852,6 +17668,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -15861,6 +17678,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15869,19 +17690,19 @@ tropopause ? ? ? -57 -VGRD_ON_TROPOPAUSE +61 +VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 tmpl4_0 VGRD ? ? -tropopause -0 -? +spec_alt_above_mean_sea_lvl 0 ? +10 +305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. ? 0 ? @@ -15889,6 +17710,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -15898,6 +17720,10 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -15906,15 +17732,15 @@ tropopause ? ? ? -58 -VWSH_ON_TROPOPAUSE +62 +HGT_ON_0C_ISOTHERM ? 1 tmpl4_0 -VWSH -NCEP +HGT ? -tropopause +? +0C_isotherm 0 ? 0 @@ -15926,6 +17752,7 @@ tropopause ? ? ? +? 0 0.0 0 @@ -15935,27 +17762,31 @@ tropopause 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -59 -TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +63 +RH_ON_0C_ISOTHERM ? 1 tmpl4_0 -TMP +RH ? ? -spec_alt_above_mean_sea_lvl +0C_isotherm +0 +? 0 ? -10 -305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. ? 0 ? @@ -15963,6 +17794,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -15972,27 +17804,31 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +2.0 0 0 0 ? ? ? -60 -UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL -? +753 +GSD_PRES_ON_0C_ISOTHERM +GSD_pressure on Level of 0 deg (C) isotherm 1 tmpl4_0 -UGRD +PRES ? ? -spec_alt_above_mean_sea_lvl +0C_isotherm +0 +? 0 ? -10 -305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. ? 0 ? @@ -16000,6 +17836,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -16009,27 +17846,31 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -61 -VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL +165 +HGT_ON_HGHST_TROP_FRZ_LVL ? 1 tmpl4_0 -VGRD +HGT ? ? -spec_alt_above_mean_sea_lvl +hghst_trop_frz_lvl +0 +? 0 ? -10 -305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. ? 0 ? @@ -16037,6 +17878,7 @@ spec_alt_above_mean_sea_lvl ? ? ? +? 0 0.0 0 @@ -16046,23 +17888,27 @@ spec_alt_above_mean_sea_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -62 -HGT_ON_0C_ISOTHERM +350 +RH_ON_HGHST_TROP_FRZ_LVL ? 1 tmpl4_0 -HGT +RH ? ? -0C_isotherm +hghst_trop_frz_lvl 0 ? 0 @@ -16074,6 +17920,7 @@ HGT ? ? ? +? 0 0.0 0 @@ -16083,23 +17930,27 @@ HGT 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +-0.1 0 0 0 ? ? ? -63 -RH_ON_0C_ISOTHERM -? +756 +GSD_PRES_ON_HGHST_TROP_FRZ_LVL +GSD_pressure on Highest tropospheric freezing level 1 tmpl4_0 -RH +PRES ? ? -0C_isotherm +hghst_trop_frz_lvl 0 ? 0 @@ -16111,6 +17962,7 @@ RH ? ? ? +? 0 0.0 0 @@ -16120,27 +17972,31 @@ RH 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -2.0 +3.0 0 0 0 ? ? ? -165 -HGT_ON_HGHST_TROP_FRZ_LVL -? +779 +HGT_ON_HGHST_TROP_-20C_LVL +height on highest tropospheric -20C level 1 tmpl4_0 HGT ? ? -hghst_trop_frz_lvl -0 -? +isothermal 0 ? +1 +253. ? 0 ? @@ -16148,6 +18004,7 @@ hghst_trop_frz_lvl ? ? ? +? 0 0.0 0 @@ -16157,23 +18014,27 @@ hghst_trop_frz_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +3.0 0 0 0 ? ? ? -173 -PRES_ON_MAX_WIND +221 +HPBL_ON_SURFACE ? 1 tmpl4_0 -PRES +HPBL ? ? -max_wind +surface 0 ? 0 @@ -16185,6 +18046,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -16194,6 +18056,10 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16202,15 +18068,15 @@ max_wind ? ? ? -174 -HGT_ON_MAX_WIND +109 +HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC ? 1 tmpl4_0 HGT ? ? -max_wind +lvl_of_adiab_cond_from_sfc 0 ? 0 @@ -16222,6 +18088,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -16231,23 +18098,27 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +5.0 0 0 0 ? ? ? -175 -UGRD_ON_MAX_WIND +110 +PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC ? 1 tmpl4_0 -UGRD +PRES ? ? -max_wind +lvl_of_adiab_cond_from_sfc 0 ? 0 @@ -16259,6 +18130,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -16268,23 +18140,27 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -176 -VGRD_ON_MAX_WIND -? +443 +HGT_ON_EQUIL_LVL +geopotential height on Equilibrium level 1 tmpl4_0 -VGRD +HGT ? ? -max_wind +equil_lvl 0 ? 0 @@ -16296,6 +18172,7 @@ max_wind ? ? ? +? 0 0.0 0 @@ -16305,27 +18182,31 @@ max_wind 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +3.0 0 0 0 ? ? ? -422 -MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m -maximum wind speed on 10 meter Above Ground +982 +ELMELT_ON_EFTL +? 1 -tmpl4_8 -WIND +tmpl4_0 +ELMELT +NCEP +? +equil_lvl +0 ? -MAX -spec_hgt_lvl_above_grnd 0 ? -1 -10. ? 0 ? @@ -16333,6 +18214,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -16342,31 +18224,36 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +-1.0 0 0 0 ? ? ? -178 -HGT_ON_CLOUD_BASE +246 +PLPL_ON_SPEC_PRES_ABOVE_GRND ? 1 tmpl4_0 -HGT -? -? -cloud_base -0 +PLPL +NCEP ? +spec_pres_above_grnd 0 ? -? +1 +25500. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -16379,6 +18266,10 @@ cloud_base 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16387,23 +18278,24 @@ cloud_base ? ? ? -179 -HGT_ON_CLOUD_TOP +955 +DENDRITIC_LAYER_DEPTH ? 1 tmpl4_0 -HGT -? -? -cloud_top -0 +LAYTH +NCEP ? +isothermal 0 ? -? +1 +261. +isothermal 0 ? -0 +1 +256. ? ? ? @@ -16416,23 +18308,27 @@ cloud_top 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -410 -GSD_VIS_ON_SURFACE -GSD_visibility on surface +749 +GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS +RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER 1 tmpl4_0 -VIS -? +RHPW +NCEP ? -surface +entire_atmos 0 ? 0 @@ -16444,6 +18340,7 @@ surface ? ? ? +? 0 0.0 0 @@ -16453,23 +18350,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +-0.1 0 0 0 ? ? ? -252 -REFC_ON_ENTIRE_ATMOS +48 +NLAT_ON_SURFACE ? 1 tmpl4_0 -REFC +NLAT NCEP ? -entire_atmos_single_lyr +surface 0 ? 0 @@ -16481,6 +18382,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16490,6 +18392,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -16498,15 +18404,15 @@ entire_atmos_single_lyr ? ? ? -194 -PRES_ON_GRID_SCALE_CLOUD_BOT_LVL +49 +ELON_ON_SURFACE ? 1 tmpl4_0 -PRES -? +ELON +NCEP ? -grid_scale_cloud_bot_lvl +surface 0 ? 0 @@ -16518,6 +18424,7 @@ grid_scale_cloud_bot_lvl ? ? ? +? 0 0.0 0 @@ -16527,23 +18434,27 @@ grid_scale_cloud_bot_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -195 -PRES_ON_GRID_SCALE_CLOUD_TOP_LVL +50 +LAND_ON_SURFACE ? 1 tmpl4_0 -PRES +LAND ? ? -grid_scale_cloud_top_lvl +surface 0 ? 0 @@ -16555,6 +18466,7 @@ grid_scale_cloud_top_lvl ? ? ? +? 0 0.0 0 @@ -16564,23 +18476,27 @@ grid_scale_cloud_top_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +1.0 0 0 0 ? ? ? -200 -TCOLW_ON_ENTIRE_ATMOS +51 +ICEC_ON_SURFACE ? 1 tmpl4_0 -TCOLW -NCEP +ICEC ? -entire_atmos_single_lyr +? +surface 0 ? 0 @@ -16592,6 +18508,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16601,23 +18518,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +3.0 0 0 0 ? ? ? -201 -TCOLI_ON_ENTIRE_ATMOS +52 +LMH_ON_SURFACE ? 1 tmpl4_0 -TCOLI +LMH NCEP ? -entire_atmos_single_lyr +surface 0 ? 0 @@ -16629,6 +18550,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16638,23 +18560,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +2.0 0 0 0 ? ? ? -202 -TCOLR_ON_ENTIRE_ATMOS +53 +LMV_ON_SURFACE ? 1 tmpl4_0 -TCOLR +LMV NCEP ? -entire_atmos_single_lyr +surface 0 ? 0 @@ -16666,6 +18592,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16675,23 +18602,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +2.0 0 0 0 ? ? ? -203 -TCOLS_ON_ENTIRE_ATMOS +150 +ALBDO_ON_SURFACE ? 1 tmpl4_0 -TCOLS -NCEP +ALBDO ? -entire_atmos_single_lyr +? +surface 0 ? 0 @@ -16703,6 +18634,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16712,23 +18644,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +3.0 0 0 0 ? ? ? -204 -TCOLC_ON_ENTIRE_ATMOS +227 +MXSALB_ON_SURFACE ? 1 tmpl4_0 -TCOLC +MXSALB NCEP ? -entire_atmos_single_lyr +surface 0 ? 0 @@ -16740,6 +18676,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16749,23 +18686,27 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +3.0 0 0 0 ? ? ? -428 -TCOLG_ON_ENTIRE_ATMOS +151 +WTMP_ON_SURFACE ? 1 tmpl4_0 -TCOLG +WTMP ? ? -entire_atmos_single_lyr +surface 0 ? 0 @@ -16777,6 +18718,7 @@ entire_atmos_single_lyr ? ? ? +? 0 0.0 0 @@ -16786,6 +18728,10 @@ entire_atmos_single_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 5.0 0 @@ -16794,23 +18740,24 @@ entire_atmos_single_lyr ? ? ? -218 -VGTYP_ON_SURFACE +954 +DOWNWARD_CAPE ? 1 tmpl4_0 -VGTYP +DCAPE NCEP ? -surface -0 -? +spec_pres_above_grnd 0 ? -? +1 +40000. +spec_pres_above_grnd 0 ? -0 +1 +0. ? ? ? @@ -16823,23 +18770,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -219 -SOTYP_ON_SURFACE +983 +UESH_ON_EFL ? 1 tmpl4_0 -SOTYP -? +UESH +NCEP ? -surface +level_free_convection 0 ? 0 @@ -16851,6 +18802,7 @@ surface ? ? ? +? 0 0.0 0 @@ -16860,23 +18812,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -220 -CCOND_ON_SURFACE +984 +VESH_ON_EFL ? 1 tmpl4_0 -CCOND +VESH NCEP ? -surface +level_free_convection 0 ? 0 @@ -16888,6 +18844,7 @@ surface ? ? ? +? 0 0.0 0 @@ -16897,27 +18854,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -221 -HPBL_ON_SURFACE +588 +ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL ? 1 tmpl4_0 -HPBL -NCEP +ICEG ? -surface -0 ? +spec_alt_above_mean_sea_lvl 0 ? +1 +10. ? 0 ? @@ -16925,6 +18886,7 @@ surface ? ? ? +? 0 0.0 0 @@ -16934,20 +18896,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -224 -SNOD_ON_SURFACE +1006 +SDEN_ON_SURFACE ? 1 tmpl4_0 -SNOD +SDEN ? ? surface @@ -16962,6 +18928,7 @@ surface ? ? ? +? 0 0.0 0 @@ -16971,6 +18938,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -16979,15 +18950,15 @@ surface ? ? ? -231 -SBSNO_ON_SURFACE +927 +SBTA167_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -SBSNO -NCEP +SBTA167 ? -surface +? +top_of_atmos 0 ? 0 @@ -16999,6 +18970,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17008,23 +18980,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -232 -SMDRY_ON_SURFACE +928 +SBTA168_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -SMDRY -NCEP +SBTA168 ? -surface +? +top_of_atmos 0 ? 0 @@ -17036,6 +19012,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17045,23 +19022,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -233 -POROS_ON_SURFACE +929 +SBTA169_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -POROS -NCEP +SBTA169 ? -surface +? +top_of_atmos 0 ? 0 @@ -17073,6 +19054,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17082,23 +19064,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -234 -RSMIN_ON_SURFACE +930 +SBTA1610_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -RSMIN -NCEP +SBTA1610 ? -surface +? +top_of_atmos 0 ? 0 @@ -17110,6 +19096,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17119,23 +19106,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -235 -RLYRS_ON_SURFACE +931 +SBTA1611_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -RLYRS -NCEP +SBTA1611 ? -surface +? +top_of_atmos 0 ? 0 @@ -17147,6 +19138,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17156,23 +19148,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -236 -WILT_ON_SURFACE +932 +SBTA1612_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -WILT -NCEP +SBTA1612 ? -surface +? +top_of_atmos 0 ? 0 @@ -17184,6 +19180,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17193,23 +19190,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -237 -SMREF_ON_SURFACE +933 +SBTA1613_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -SMREF -NCEP +SBTA1613 ? -surface +? +top_of_atmos 0 ? 0 @@ -17221,6 +19222,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17230,23 +19232,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -238 -RCS_ON_SURFACE +934 +SBTA1614_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -RCS -NCEP +SBTA1614 ? -surface +? +top_of_atmos 0 ? 0 @@ -17258,6 +19264,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17267,23 +19274,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -239 -RCT_ON_SURFACE +935 +SBTA1615_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -RCT -NCEP +SBTA1615 ? -surface +? +top_of_atmos 0 ? 0 @@ -17295,6 +19306,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17304,23 +19316,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +4.0 0 0 0 ? ? ? -240 -RCQ_ON_SURFACE +936 +SBTA1616_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -RCQ -NCEP +SBTA1616 ? -surface +? +top_of_atmos 0 ? 0 @@ -17332,6 +19348,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17341,23 +19358,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -241 -RCSOL_ON_SURFACE +532 +SBTA188_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -RCSOL -NCEP +SBTA188 ? -surface +? +top_of_atmos 0 ? 0 @@ -17369,6 +19390,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17378,23 +19400,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -242 -PEVPR_ON_SURFACE +533 +SBTA189_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -PEVPR -NCEP +SBTA189 ? -surface +? +top_of_atmos 0 ? 0 @@ -17406,6 +19432,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17415,23 +19442,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -245 -GUST_ON_SURFACE +534 +SBTA1810_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -GUST +SBTA1810 ? ? -surface +top_of_atmos 0 ? 0 @@ -17443,6 +19474,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17452,23 +19484,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -247 -HGT_ON_LWST_LVL_OF_WET_BULB_ZERO +535 +SBTA1811_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -HGT +SBTA1811 ? ? -lwst_lvl_of_wet_bulb_zero +top_of_atmos 0 ? 0 @@ -17480,6 +19516,7 @@ lwst_lvl_of_wet_bulb_zero ? ? ? +? 0 0.0 0 @@ -17489,23 +19526,27 @@ lwst_lvl_of_wet_bulb_zero 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --5.0 +4.0 0 0 0 ? ? ? -254 -LAI_ON_SURFACE +536 +SBTA1812_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -LAI -NCEP +SBTA1812 ? -surface +? +top_of_atmos 0 ? 0 @@ -17517,6 +19558,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17526,23 +19568,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --3.0 +4.0 0 0 0 ? ? ? -262 -INST_CSDSF_ON_SURFACE +537 +SBTA1813_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -CSDSF -NCEP +SBTA1813 ? -surface +? +top_of_atmos 0 ? 0 @@ -17554,6 +19600,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17563,6 +19610,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -17571,15 +19622,15 @@ surface ? ? ? -289 -HGT_ON_PLANETARY_BOUND_LYR +538 +SBTA1814_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -HGT +SBTA1814 ? ? -planetary_bound_lyr +top_of_atmos 0 ? 0 @@ -17591,6 +19642,7 @@ planetary_bound_lyr ? ? ? +? 0 0.0 0 @@ -17600,23 +19652,27 @@ planetary_bound_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 ? ? ? -381 -MIXHT_ON_SURFACE +539 +SBTA1815_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -MIXHT +SBTA1815 ? ? -surface +top_of_atmos 0 ? 0 @@ -17628,6 +19684,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17637,23 +19694,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 --4.0 +4.0 0 0 0 ? ? ? -500 -AVE_SNOWC_ON_SURFACE +540 +SBTA1816_ON_TOP_OF_ATMOS ? 1 -tmpl4_8 -SNOWC -NCEP -AVE -surface +tmpl4_0 +SBTA1816 +? +? +top_of_atmos 0 ? 0 @@ -17665,6 +19726,7 @@ surface ? ? ? +? 0 0.0 0 @@ -17674,8 +19736,12 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 diff --git a/parm/postxconfig-NT-GFS-FLUX-F00.txt b/parm/rrfs/postxconfig-NT-rrfs_subh.txt similarity index 69% rename from parm/postxconfig-NT-GFS-FLUX-F00.txt rename to parm/rrfs/postxconfig-NT-rrfs_subh.txt index b21e832774..7e91ef1a96 100644 --- a/parm/postxconfig-NT-GFS-FLUX-F00.txt +++ b/parm/rrfs/postxconfig-NT-rrfs_subh.txt @@ -1,7 +1,7 @@ 1 -45 -GFSPRS -0 +38 +PRSLEV +32769 ncep_nco v2003 local_tab_yes1 @@ -9,9 +9,9 @@ fcst oper fcst fcst -hour +minute nws_ncep -gfs_avn +rrfs complex_packing_spatial_diff 2nd_ord_sptdiff fltng_pnt @@ -36,6 +36,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -45,6 +46,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -73,6 +78,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -82,27 +88,31 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -7.0 +4.0 0 0 0 ? ? ? -64 -UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m ? 1 tmpl4_0 -UGRD +DPT ? ? spec_hgt_lvl_above_grnd 0 ? 1 -10. +2. ? 0 ? @@ -110,6 +120,7 @@ spec_hgt_lvl_above_grnd ? ? ? +? 0 0.0 0 @@ -119,6 +130,10 @@ spec_hgt_lvl_above_grnd 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -127,12 +142,12 @@ spec_hgt_lvl_above_grnd ? ? ? -65 -VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m ? 1 tmpl4_0 -VGRD +UGRD ? ? spec_hgt_lvl_above_grnd @@ -147,73 +162,41 @@ spec_hgt_lvl_above_grnd ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -4.0 -0 -0 -0 -? -? -? -24 -PRES_ON_SURFACE -? -1 -tmpl4_0 -PRES -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -6.0 +4.0 0 0 0 ? ? ? -25 -HGT_ON_SURFACE +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m ? 1 tmpl4_0 -HGT -? +VGRD ? -surface -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +10. ? 0 ? @@ -221,48 +204,16 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -6.0 -0 -0 -0 -? -? -? -26 -TMP_ON_SURFACE -? -1 -tmpl4_0 -TMP -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -275,61 +226,25 @@ surface ? ? ? -116 -TSOIL_ON_DEPTH_BEL_LAND_SFC +245 +GUST_ON_SURFACE ? 1 tmpl4_0 -TSOIL -? +GUST ? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. ? -? -0 -0.0 +surface 0 -0.0 ? 0 -0.0 -0 -0.0 -1 -4.0 -0 -0 -0 ? ? +0 ? -117 -SOILW_ON_DEPTH_BEL_LAND_SFC +0 ? -1 -tmpl4_0 -SOILW -NCEP ? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. ? ? 0 @@ -341,39 +256,6 @@ depth_bel_land_sfc 0.0 0 0.0 -1 -3.0 -0 -0 -0 -? -? -? -225 -SOILL_ON_DEPTH_BEL_LAND_SFC -? -1 -tmpl4_0 -SOILL -NCEP -? -depth_bel_land_sfc -4 -2 2 2 2 -4 -0. 10. 40. 100. -depth_bel_land_sfc -4 -2 2 2 2 -4 -10. 40. 100. 200. -? -? -0 -0.0 -0 -0.0 -? 0 0.0 0 @@ -386,13 +268,13 @@ depth_bel_land_sfc ? ? ? -118 -CNWAT_ON_SURFACE +24 +PRES_ON_SURFACE ? 1 tmpl4_0 -CNWAT -NCEP +PRES +? ? surface 0 @@ -406,48 +288,16 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -3.0 -0 -0 -0 -? -? -? -119 -WEASD_ON_SURFACE -? -1 -tmpl4_0 -WEASD -? -? -surface -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -460,13 +310,13 @@ surface ? ? ? -242 -PEVPR_ON_SURFACE +25 +HGT_ON_SURFACE ? 1 tmpl4_0 -PEVPR -NCEP +HGT +? ? surface 0 @@ -480,6 +330,7 @@ surface ? ? ? +? 0 0.0 0 @@ -489,6 +340,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -497,14 +352,14 @@ surface ? ? ? -349 -ICETK_ON_SURFACE +725 +GSD_ACM_SNOD_ON_SURFACE ? 1 -tmpl4_0 -ICETK -? +tmpl4_8 +ASNOW ? +ACM surface 0 ? @@ -517,6 +372,7 @@ surface ? ? ? +? 0 0.0 0 @@ -526,22 +382,26 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +9.0 0 0 0 ? ? ? -224 -SNOD_ON_SURFACE +417 +CACM_APCP_ON_SURFACE ? 1 -tmpl4_0 -SNOD -? +tmpl4_8 +APCP ? +ACM surface 0 ? @@ -554,68 +414,36 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -6.0 -0 -0 -0 -? -? -yes -236 -WILT_ON_SURFACE -? -1 -tmpl4_0 -WILT -NCEP -? -surface -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 0.0 1 -4.0 +-4.0 0 0 0 ? ? -yes -397 -FLDCP_ON_SURFACE +? +1004 +ACM_SNOWFALL_ON_SURFACE ? 1 -tmpl4_0 -FLDCP -NCEP +tmpl4_8 +TSNOWP ? +ACM surface 0 ? @@ -628,48 +456,16 @@ surface ? ? ? -0 -0.0 -0 -0.0 ? 0 0.0 0 0.0 -1 -4.0 -0 -0 -0 -? -? -yes -80 -PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR -? -1 -tmpl4_0 -PWAT -? -? -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? ? 0 0.0 0 0.0 -? 0 0.0 0 @@ -682,14 +478,14 @@ entire_atmos_single_lyr ? ? ? -156 -INST_DSWRF_ON_SURFACE +782 +ACM_FRAIN_ON_SURFACE ? 1 -tmpl4_0 -DSWRF +tmpl4_8 +FRZR NCEP -? +ACM surface 0 ? @@ -702,6 +498,7 @@ surface ? ? ? +? 0 0.0 0 @@ -711,6 +508,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 6.0 0 @@ -719,14 +520,14 @@ surface ? ? ? -157 -INST_DLWRF_ON_SURFACE +746 +ACM_GRAUPEL_ON_SURFACE ? 1 -tmpl4_0 -DLWRF +tmpl4_8 +FROZR NCEP -? +ACM surface 0 ? @@ -739,6 +540,7 @@ surface ? ? ? +? 0 0.0 0 @@ -748,21 +550,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -141 -INST_USWRF_ON_SURFACE -? +407 +GSD_INST_CRAIN_ON_SURFACE +GSD_instant precipitation type on surface 1 tmpl4_0 -USWRF -NCEP +CRAIN +? ? surface 0 @@ -776,6 +582,7 @@ surface ? ? ? +? 0 0.0 0 @@ -785,21 +592,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +1.0 0 0 0 ? ? ? -142 -INST_ULWRF_ON_SURFACE -? +559 +GSD_CSNOW_ON_SURFACE +GSD_Categorical snow on surface 1 tmpl4_0 -ULWRF -NCEP +CSNOW +? ? surface 0 @@ -813,6 +624,7 @@ surface ? ? ? +? 0 0.0 0 @@ -822,20 +634,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +1.0 0 0 0 ? ? ? -44 -SFCR_ON_SURFACE -? +560 +GSD_CICEP_ON_SURFACE +GSD_Categorical ice pellets on surface 1 tmpl4_0 -SFCR +CICEP ? ? surface @@ -850,6 +666,7 @@ surface ? ? ? +? 0 0.0 0 @@ -859,20 +676,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +1.0 0 0 0 ? ? ? -170 -VEG_ON_SURFACE -? +561 +GSD_CFRZR_ON_SURFACE +GSD_Categorical freezing rain on surface 1 tmpl4_0 -VEG +CFRZR ? ? surface @@ -887,6 +708,7 @@ surface ? ? ? +? 0 0.0 0 @@ -896,21 +718,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +1.0 0 0 0 ? ? ? -218 -VGTYP_ON_SURFACE +167 +INST_PRATE_ON_SURFACE ? 1 tmpl4_0 -VGTYP -NCEP +PRATE +? ? surface 0 @@ -924,6 +750,7 @@ surface ? ? ? +? 0 0.0 0 @@ -933,20 +760,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -219 -SOTYP_ON_SURFACE +172 +CPOFP_ON_SURFACE ? 1 tmpl4_0 -SOTYP +CPOFP ? ? surface @@ -961,6 +792,7 @@ surface ? ? ? +? 0 0.0 0 @@ -970,21 +802,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +4.0 0 0 0 ? ? ? -223 -SLTYP_ON_SURFACE -? +410 +GSD_VIS_ON_SURFACE +GSD_visibility on surface 1 tmpl4_0 -SLTYP -NCEP +VIS +? ? surface 0 @@ -998,6 +834,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1007,20 +844,24 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -3.0 +6.0 0 0 0 ? ? ? -45 -FRICV_ON_SURFACE +141 +INST_USWRF_ON_SURFACE ? 1 tmpl4_0 -FRICV +USWRF NCEP ? surface @@ -1035,6 +876,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1044,6 +886,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1052,13 +898,13 @@ surface ? ? ? -169 -SFEXC_ON_SURFACE +142 +INST_ULWRF_ON_SURFACE ? 1 tmpl4_0 -SFEXC -NCEP +ULWRF +? ? surface 0 @@ -1072,6 +918,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1081,6 +928,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1089,15 +940,15 @@ surface ? ? ? -512 -ACOND_ON_SURFACE +274 +INST_ULWRF_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -ACOND -NCEP +ULWRF ? -surface +? +top_of_atmos 0 ? 0 @@ -1109,6 +960,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1118,6 +970,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1126,15 +982,15 @@ surface ? ? ? -154 -INST_SHTFL_ON_SURFACE +719 +INST_USWRF_ON_TOP_OF_ATMOS ? 1 tmpl4_0 -SHTFL +USWRF ? ? -surface +top_of_atmos 0 ? 0 @@ -1146,6 +1002,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1155,6 +1012,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1163,12 +1024,12 @@ surface ? ? ? -152 -INST_GFLUX_ON_SURFACE +156 +INST_DSWRF_ON_SURFACE ? 1 tmpl4_0 -GFLUX +DSWRF NCEP ? surface @@ -1183,6 +1044,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1192,6 +1054,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1200,13 +1066,13 @@ surface ? ? ? -155 -INST_LHTFL_ON_SURFACE +157 +INST_DLWRF_ON_SURFACE ? 1 tmpl4_0 -LHTFL -? +DLWRF +NCEP ? surface 0 @@ -1220,6 +1086,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1229,6 +1096,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1237,13 +1108,13 @@ surface ? ? ? -50 -LAND_ON_SURFACE +772 +INST_SWDDNI_ON_SURFACE ? 1 tmpl4_0 -LAND -? +VBDSF +NCEP ? surface 0 @@ -1257,6 +1128,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1266,21 +1138,25 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -1.0 +4.0 0 0 0 ? ? ? -51 -ICEC_ON_SURFACE +773 +INST_SWDDIF_ON_SURFACE ? 1 tmpl4_0 -ICEC -? +VDDSF +NCEP ? surface 0 @@ -1294,6 +1170,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1303,6 +1180,10 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1311,19 +1192,19 @@ surface ? ? ? -221 -HPBL_ON_SURFACE +576 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT ? 1 tmpl4_0 -HPBL -NCEP +UGRD ? -surface -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +80. ? 0 ? @@ -1331,6 +1212,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1340,27 +1222,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -6.0 +4.0 0 0 0 ? ? ? -570 -GFS_TCDC_ON_CONVECTIVE_CLOUD_LYR +577 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT ? 1 tmpl4_0 -TCDC -? +VGRD ? -convective_cloud_lyr -0 ? +spec_hgt_lvl_above_grnd 0 ? +1 +80. ? 0 ? @@ -1368,6 +1254,7 @@ convective_cloud_lyr ? ? ? +? 0 0.0 0 @@ -1377,6 +1264,10 @@ convective_cloud_lyr 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1385,15 +1276,15 @@ convective_cloud_lyr ? ? ? -396 -SUNSD_ON_SURFACE +178 +HGT_ON_CLOUD_BASE ? 1 tmpl4_0 -SUNSD -NCEP +HGT ? -surface +? +cloud_base 0 ? 0 @@ -1405,6 +1296,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1414,23 +1306,27 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -5.0 +6.0 0 0 0 ? ? ? -172 -CPOFP_ON_SURFACE +179 +HGT_ON_CLOUD_TOP ? 1 tmpl4_0 -CPOFP +HGT ? ? -surface +cloud_top 0 ? 0 @@ -1442,6 +1338,7 @@ surface ? ? ? +? 0 0.0 0 @@ -1451,27 +1348,31 @@ surface 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -2 -TMP_ON_HYBRID_LVL +252 +REFC_ON_ENTIRE_ATMOS ? 1 tmpl4_0 -TMP +REFC ? ? -hybrid_lvl +entire_atmos_single_lyr +0 +? 0 ? -1 -1. ? 0 ? @@ -1479,6 +1380,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -1488,6 +1390,10 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 4.0 0 @@ -1496,19 +1402,19 @@ hybrid_lvl ? ? ? -5 -SPFH_ON_HYBRID_LVL +253 +REFD_ON_SPEC_HGT_LVL_ABOVE_GRND ? 1 tmpl4_0 -SPFH +REFD ? ? -hybrid_lvl +spec_hgt_lvl_above_grnd 0 ? -1 -1. +2 +4000. 1000. ? 0 ? @@ -1516,6 +1422,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -1525,27 +1432,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -7.0 +4.0 0 0 0 ? ? ? -7 -UGRD_ON_HYBRID_LVL -? +408 +GSD_HGT_ON_CLOUD_CEILING +GSD_geopotential height on cloud ceiling 1 tmpl4_0 -UGRD +HGT ? ? -hybrid_lvl +cloud_ceilng +0 +? 0 ? -1 -1. ? 0 ? @@ -1553,6 +1464,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -1562,27 +1474,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +5.0 0 0 0 ? ? ? -8 -VGRD_ON_HYBRID_LVL +400 +RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR ? 1 tmpl4_0 -VGRD +RETOP +? ? +entire_atmos_single_lyr +0 ? -hybrid_lvl 0 ? -1 -1. ? 0 ? @@ -1590,6 +1506,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -1599,27 +1516,31 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +6.0 0 0 0 ? ? ? -77 -HGT_ON_HYBRID_LVL -? +581 +VIL_ON_ENTIRE_ATMOS +entire atmosphere Vertically Integrated Liquid (kg/m-2) 1 tmpl4_0 -HGT +VIL ? ? -hybrid_lvl +entire_atmos_single_lyr +0 +? 0 ? -1 -1. ? 0 ? @@ -1627,6 +1548,7 @@ hybrid_lvl ? ? ? +? 0 0.0 0 @@ -1636,32 +1558,37 @@ hybrid_lvl 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +7.0 0 0 0 ? ? ? -36 -SOILM_ON_DEPTH_BEL_LAND_SFC -? +427 +UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km +Updraft Helicity on Specified Height Level Above Ground 1 tmpl4_0 -SOILM +UPHL +NCEP ? +spec_hgt_lvl_above_grnd +0 ? -depth_bel_land_sfc -1 -2 -1 -0. -depth_bel_land_sfc 1 -2 +5000. +spec_hgt_lvl_above_grnd +0 +? 1 -200. +2000. +? ? ? 0 @@ -1673,8 +1600,12 @@ depth_bel_land_sfc 0.0 0 0.0 +0 +0.0 +0 +0.0 1 -4.0 +-3.0 0 0 0 diff --git a/parm/rrfs/refs_postcntrl.xml b/parm/rrfs/refs_postcntrl.xml new file mode 100755 index 0000000000..11cdcd6e90 --- /dev/null +++ b/parm/rrfs/refs_postcntrl.xml @@ -0,0 +1,3154 @@ + + + + + PRSLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + ens_fcst + hour + nws_ncep + refs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + DPT_ON_ISOBARIC_SFC + DPT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RH_ON_ISOBARIC_SFC + RH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 2.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + -5.0 + + + + ABSV_ON_ISOBARIC_SFC + ABSV + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + STRM_ON_ISOBARIC_SFC + STRM + 25000. 50000. + 3.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + CLMR_ON_ISOBARIC_SFC + CLMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + GRLE_ON_ISOBARIC_SFC + GRLE + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + MCONV_ON_ISOBARIC_SFC + MCONV + 85000. 95000. + 3.0 + + + + MCONV_ON_SPEC_PRES_ABOVE_GRND + MCONV + 3000. + 0. + 3.0 + + + + PLI_ON_SPEC_PRES_ABOVE_GRND + PLI + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. + 4.0 + + + + PRES_ON_SPEC_PRES_ABOVE_GRND + PRES + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 6.0 + + + + TMP_ON_SPEC_PRES_ABOVE_GRND + TMP + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 3.0 + + + + POT_ON_SPEC_PRES_ABOVE_GRND + POT + 3000. + 0. + 4.0 + + + + DPT_ON_SPEC_PRES_ABOVE_GRND + DPT + 3000. + 0. + 3.0 + + + + SPFH_ON_SPEC_PRES_ABOVE_GRND + SPFH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 5.0 + + + + RH_ON_SPEC_PRES_ABOVE_GRND + RH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 2.0 + + + + PWAT_ON_SPEC_PRES_ABOVE_GRND + PWAT + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_PRES_ABOVE_GRND + UGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + VGRD_ON_SPEC_PRES_ABOVE_GRND + VGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + + + NATLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + ens_fcst + hour + nws_ncep + refs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + PRES + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + HGT_ON_HYBRID_LVL + HGT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + TMP_ON_HYBRID_LVL + TMP + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + POT_ON_HYBRID_LVL + POT + 1. 2. + 4.0 + + + + RH_ON_HYBRID_LVL + RH + 1. + 4.0 + + + + DPT_ON_HYBRID_LVL + DPT + 1. 2. + 5.0 + + + + SPFH_ON_HYBRID_LVL + SPFH + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 7.0 + + + + UGRD_ON_HYBRID_LVL + UGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + VGRD_ON_HYBRID_LVL + VGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + DZDT_ON_HYBRID_LVL + DZDT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + -5.0 + + + + TKE_ON_HYBRID_LVL + TKE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + REFD_ON_HYBRID_LVL + REFD + 1. 2. + 4.0 + + + + TCOND_ON_HYBRID_LVL + TCOND + 1. 2. + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + NCEP + -3.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + NCEP + -3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MNUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_HAILCAST_HAIL_DIAMETER + 3.0 + + + + MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXUW + NCEP + 10. + -4.0 + + + + MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXVW + NCEP + 10. + -4.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + MAXREF + NCEP + -3.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + MAXREF + NCEP + -3.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMAX + 4.0 + + + + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMIN + 4.0 + + + + MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MAXRH + -2.0 + + + + MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MINRH + NCEP + -2.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + CACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_SNOWFALL_ON_SURFACE + TSNOWP + 4.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + CFRZR + 1.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + CLMR_ON_HYBRID_LVL + CLMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCCD_ON_HYBRID_LVL + NCONCD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + ICMR_ON_HYBRID_LVL + ICMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCIP_ON_HYBRID_LVL + NCCICE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + GRLE_ON_HYBRID_LVL + GRLE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + TCDC_ON_HYBRID_LVL + TCDC + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + RWMR_ON_HYBRID_LVL + RWMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + SNMR_ON_HYBRID_LVL + SNMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + SPNCR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + 3.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + 3.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + 3.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + 3.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + 3.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + AVE_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + AVE_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + ACM_PEVAP_ON_SURFACE + PEVAP + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + LTNG + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + + + 2DFLD + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + ens_fcst + hour + nws_ncep + refs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + REFD_ON_SPEC_HGT_LVL_ABOVE_GRND + REFD + 1000. 4000. + 4.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + UGRD_ON_PLANETARY_BOUND_LYR + UGRD + -4.0 + + + + VGRD_ON_PLANETARY_BOUND_LYR + VGRD + -4.0 + + + + VRATE_ON_PLANETARY_BOUND_LYR + VRATE + NCEP + 3.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + NCEP + -3.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + NCEP + -3.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + MAXREF + NCEP + -3.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + MAXREF + NCEP + -3.0 + + + + UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + UPHL + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 + 5.0 + + + + GSD_HAILCAST_HAIL_DIAMETER + 3.0 + + + + GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + LTNG + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + GSD_ACM_SNOD_ON_SURFACE + ASNOW + 9.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + MAX_PRATE_ON_SURFACE + PRATE + 6.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + CACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_SNOWFALL_ON_SURFACE + TSNOWP + 4.0 + + + + BUCKET_SNOWFALL_ON_SURFACE + 6.0 + + + + ACM_GRAUPEL_ON_SURFACE + 6.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + ACM_FRAIN_ON_SURFACE + 6.0 + + + + BUCKET_FRAIN_ON_SURFACE + 6.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + 1H_FFG_EXCEEDANCE + 5.0 + + + + ACM_FFG_EXCEEDANCE + 5.0 + + + + 1H_2YARI_EXCEEDANCE + 5.0 + + + + ACM_2YARI_EXCEEDANCE + 5.0 + + + + 1H_5YARI_EXCEEDANCE + 5.0 + + + + ACM_5YARI_EXCEEDANCE + 5.0 + + + + 1H_10YARI_EXCEEDANCE + 5.0 + + + + ACM_10YARI_EXCEEDANCE + 5.0 + + + + 1H_100YARI_EXCEEDANCE + 5.0 + + + + ACM_100YARI_EXCEEDANCE + 5.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + AVE_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + AVE_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + ACM_PEVAP_ON_SURFACE + PEVAP + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMAX + 4.0 + + + + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMIN + 4.0 + + + + MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MAXRH + -2.0 + + + + MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MINRH + NCEP + -2.0 + + + + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + HWP_ON_SURFACE + 5.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXUW + NCEP + 10. + -4.0 + + + + MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXVW + NCEP + 10. + -4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + MCONV_ON_ENTIRE_ATMOS + MCONV + 5.0 + + + + HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 6.0 + + + + HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 5.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + GSD_HGT_ON_CLOUD_CEILING + HGT + 5.0 + + + + GSD_EXP_CEILING + CEIL + 5.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + BRTMP_ON_TOP_OF_ATMOS + BRTEMP + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 4.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + 3.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + 3.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + 3.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + 3.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + 3.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 3.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VVCSH + 3.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VVCSH + 3.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + POT_ON_TROPOPAUSE + POT + 5.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + TMP + 30. 50. 80. 100. 160. 320. + 3.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + SPFH + 80. + 5.0 + + + + PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + PRES + 80. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + VGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + SPFH + 305. + 5.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + HGT + 5.0 + + + + PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC + PRES + 6.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + ELMELT_ON_EFTL + -1.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + DENDRITIC_LAYER_DEPTH + LAYTH + NCEP + isothermal + 261. + isothermal + 256. + 4.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + MXSALB_ON_SURFACE + MXSALB + NCEP + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + DOWNWARD_CAPE + DCAPE + NCEP + spec_pres_above_grnd + 40000. + spec_pres_above_grnd + 0. + 4.0 + + + + UESH_ON_EFL + UESH + NCEP + 6.0 + + + + VESH_ON_EFL + VESH + NCEP + 6.0 + + + + ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + ICEG + 10. + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + + diff --git a/parm/rrfs/refs_postcntrl_f00.xml b/parm/rrfs/refs_postcntrl_f00.xml new file mode 100755 index 0000000000..fb2100d587 --- /dev/null +++ b/parm/rrfs/refs_postcntrl_f00.xml @@ -0,0 +1,2568 @@ + + + + + PRSLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + ens_fcst + hour + nws_ncep + refs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + DPT_ON_ISOBARIC_SFC + DPT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RH_ON_ISOBARIC_SFC + RH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 2.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + -5.0 + + + + ABSV_ON_ISOBARIC_SFC + ABSV + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + STRM_ON_ISOBARIC_SFC + STRM + 25000. 50000. + 3.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + CLMR_ON_ISOBARIC_SFC + CLMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + GRLE_ON_ISOBARIC_SFC + GRLE + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + MCONV_ON_ISOBARIC_SFC + MCONV + 85000. 95000. + 3.0 + + + + MCONV_ON_SPEC_PRES_ABOVE_GRND + MCONV + 3000. + 0. + 3.0 + + + + PLI_ON_SPEC_PRES_ABOVE_GRND + PLI + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. + 4.0 + + + + PRES_ON_SPEC_PRES_ABOVE_GRND + PRES + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 6.0 + + + + TMP_ON_SPEC_PRES_ABOVE_GRND + TMP + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 3.0 + + + + POT_ON_SPEC_PRES_ABOVE_GRND + POT + 3000. + 0. + 4.0 + + + + DPT_ON_SPEC_PRES_ABOVE_GRND + DPT + 3000. + 0. + 3.0 + + + + SPFH_ON_SPEC_PRES_ABOVE_GRND + SPFH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 5.0 + + + + RH_ON_SPEC_PRES_ABOVE_GRND + RH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 2.0 + + + + PWAT_ON_SPEC_PRES_ABOVE_GRND + PWAT + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_PRES_ABOVE_GRND + UGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + VGRD_ON_SPEC_PRES_ABOVE_GRND + VGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + + + NATLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + ens_fcst + hour + nws_ncep + refs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + PRES + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + HGT_ON_HYBRID_LVL + HGT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + TMP_ON_HYBRID_LVL + TMP + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + POT_ON_HYBRID_LVL + POT + 1. 2. + 4.0 + + + + RH_ON_HYBRID_LVL + RH + 1. + 4.0 + + + + DPT_ON_HYBRID_LVL + DPT + 1. 2. + 5.0 + + + + SPFH_ON_HYBRID_LVL + SPFH + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 7.0 + + + + UGRD_ON_HYBRID_LVL + UGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + VGRD_ON_HYBRID_LVL + VGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + DZDT_ON_HYBRID_LVL + DZDT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + -5.0 + + + + TKE_ON_HYBRID_LVL + TKE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + REFD_ON_HYBRID_LVL + REFD + 1. 2. + 4.0 + + + + TCOND_ON_HYBRID_LVL + TCOND + 1. 2. + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + CFRZR + 1.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + CLMR_ON_HYBRID_LVL + CLMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCCD_ON_HYBRID_LVL + NCONCD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + ICMR_ON_HYBRID_LVL + ICMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCIP_ON_HYBRID_LVL + NCCICE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + GRLE_ON_HYBRID_LVL + GRLE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + TCDC_ON_HYBRID_LVL + TCDC + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + RWMR_ON_HYBRID_LVL + RWMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + SNMR_ON_HYBRID_LVL + SNMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + SPNCR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + + + 2DFLD + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + ens_fcst + hour + nws_ncep + refs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + REFD_ON_SPEC_HGT_LVL_ABOVE_GRND + REFD + 1000. 4000. + 4.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + UGRD_ON_PLANETARY_BOUND_LYR + UGRD + -4.0 + + + + VGRD_ON_PLANETARY_BOUND_LYR + VGRD + -4.0 + + + + VRATE_ON_PLANETARY_BOUND_LYR + VRATE + NCEP + 3.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + UPHL + -3.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + VEG_MIN_ON_SURFACE + 3.0 + + + + VEG_MAX_ON_SURFACE + 3.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + HWP_ON_SURFACE + 5.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + MCONV_ON_ENTIRE_ATMOS + MCONV + 5.0 + + + + HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 6.0 + + + + HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 5.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + GSD_HGT_ON_CLOUD_CEILING + HGT + 5.0 + + + + GSD_EXP_CEILING + CEIL + 5.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + BRTMP_ON_TOP_OF_ATMOS + BRTEMP + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 4.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VVCSH + 3.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VVCSH + 3.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + POT_ON_TROPOPAUSE + POT + 5.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + TMP + 30. 50. 80. 100. 160. 320. + 3.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + SPFH + 80. + 5.0 + + + + PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + PRES + 80. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + VGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + SPFH + 305. + 5.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + HGT + 5.0 + + + + PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC + PRES + 6.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + ELMELT_ON_EFTL + -1.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + DENDRITIC_LAYER_DEPTH + LAYTH + NCEP + isothermal + 261. + isothermal + 256. + 4.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + MXSALB_ON_SURFACE + MXSALB + NCEP + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + DOWNWARD_CAPE + DCAPE + NCEP + spec_pres_above_grnd + 40000. + spec_pres_above_grnd + 0. + 4.0 + + + + UESH_ON_EFL + UESH + NCEP + 6.0 + + + + VESH_ON_EFL + VESH + NCEP + 6.0 + + + + ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + ICEG + 10. + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + + diff --git a/parm/rrfs/refs_postcntrl_f01.xml b/parm/rrfs/refs_postcntrl_f01.xml new file mode 100755 index 0000000000..4a0bd1bca4 --- /dev/null +++ b/parm/rrfs/refs_postcntrl_f01.xml @@ -0,0 +1,3132 @@ + + + + + PRSLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + ens_fcst + hour + nws_ncep + refs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + DPT_ON_ISOBARIC_SFC + DPT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RH_ON_ISOBARIC_SFC + RH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 2.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + -5.0 + + + + ABSV_ON_ISOBARIC_SFC + ABSV + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + STRM_ON_ISOBARIC_SFC + STRM + 25000. 50000. + 3.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + CLMR_ON_ISOBARIC_SFC + CLMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + GRLE_ON_ISOBARIC_SFC + GRLE + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + MCONV_ON_ISOBARIC_SFC + MCONV + 85000. 95000. + 3.0 + + + + MCONV_ON_SPEC_PRES_ABOVE_GRND + MCONV + 3000. + 0. + 3.0 + + + + PLI_ON_SPEC_PRES_ABOVE_GRND + PLI + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. + 4.0 + + + + PRES_ON_SPEC_PRES_ABOVE_GRND + PRES + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 6.0 + + + + TMP_ON_SPEC_PRES_ABOVE_GRND + TMP + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 3.0 + + + + POT_ON_SPEC_PRES_ABOVE_GRND + POT + 3000. + 0. + 4.0 + + + + DPT_ON_SPEC_PRES_ABOVE_GRND + DPT + 3000. + 0. + 3.0 + + + + SPFH_ON_SPEC_PRES_ABOVE_GRND + SPFH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 5.0 + + + + RH_ON_SPEC_PRES_ABOVE_GRND + RH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 2.0 + + + + PWAT_ON_SPEC_PRES_ABOVE_GRND + PWAT + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_PRES_ABOVE_GRND + UGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + VGRD_ON_SPEC_PRES_ABOVE_GRND + VGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + + + NATLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + ens_fcst + hour + nws_ncep + refs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + PRES + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + HGT_ON_HYBRID_LVL + HGT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + TMP_ON_HYBRID_LVL + TMP + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + POT_ON_HYBRID_LVL + POT + 1. 2. + 4.0 + + + + RH_ON_HYBRID_LVL + RH + 1. + 4.0 + + + + DPT_ON_HYBRID_LVL + DPT + 1. 2. + 5.0 + + + + SPFH_ON_HYBRID_LVL + SPFH + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 7.0 + + + + UGRD_ON_HYBRID_LVL + UGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + VGRD_ON_HYBRID_LVL + VGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + DZDT_ON_HYBRID_LVL + DZDT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + -5.0 + + + + TKE_ON_HYBRID_LVL + TKE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + REFD_ON_HYBRID_LVL + REFD + 1. 2. + 4.0 + + + + TCOND_ON_HYBRID_LVL + TCOND + 1. 2. + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + NCEP + -3.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + NCEP + -3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MNUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_HAILCAST_HAIL_DIAMETER + 3.0 + + + + MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXUW + NCEP + 10. + -4.0 + + + + MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXVW + NCEP + 10. + -4.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + MAXREF + NCEP + -3.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + MAXREF + NCEP + -3.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMAX + 4.0 + + + + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMIN + 4.0 + + + + MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MAXRH + -2.0 + + + + MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MINRH + NCEP + -2.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_SNOWFALL_ON_SURFACE + TSNOWP + 4.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + CFRZR + 1.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + CLMR_ON_HYBRID_LVL + CLMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCCD_ON_HYBRID_LVL + NCONCD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + ICMR_ON_HYBRID_LVL + ICMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCIP_ON_HYBRID_LVL + NCCICE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + GRLE_ON_HYBRID_LVL + GRLE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + TCDC_ON_HYBRID_LVL + TCDC + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + RWMR_ON_HYBRID_LVL + RWMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + SNMR_ON_HYBRID_LVL + SNMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + SPNCR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + 3.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + 3.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + 3.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + 3.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + 3.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + AVE_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + AVE_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + ACM_PEVAP_ON_SURFACE + PEVAP + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + LTNG + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + + + 2DFLD + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + ens_fcst + hour + nws_ncep + refs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + REFD_ON_SPEC_HGT_LVL_ABOVE_GRND + REFD + 1000. 4000. + 4.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + UGRD_ON_PLANETARY_BOUND_LYR + UGRD + -4.0 + + + + VGRD_ON_PLANETARY_BOUND_LYR + VGRD + -4.0 + + + + VRATE_ON_PLANETARY_BOUND_LYR + VRATE + NCEP + 3.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + NCEP + -3.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + NCEP + -3.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + MAXREF + NCEP + -3.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + MAXREF + NCEP + -3.0 + + + + UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + UPHL + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 + 5.0 + + + + GSD_HAILCAST_HAIL_DIAMETER + 3.0 + + + + GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + LTNG + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + GSD_ACM_SNOD_ON_SURFACE + ASNOW + 9.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + MAX_PRATE_ON_SURFACE + PRATE + 6.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_SNOWFALL_ON_SURFACE + TSNOWP + 4.0 + + + + BUCKET_SNOWFALL_ON_SURFACE + 6.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + BUCKET_FRAIN_ON_SURFACE + 6.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + 1H_FFG_EXCEEDANCE + 5.0 + + + + ACM_FFG_EXCEEDANCE + 5.0 + + + + 1H_2YARI_EXCEEDANCE + 5.0 + + + + ACM_2YARI_EXCEEDANCE + 5.0 + + + + 1H_5YARI_EXCEEDANCE + 5.0 + + + + ACM_5YARI_EXCEEDANCE + 5.0 + + + + 1H_10YARI_EXCEEDANCE + 5.0 + + + + ACM_10YARI_EXCEEDANCE + 5.0 + + + + 1H_100YARI_EXCEEDANCE + 5.0 + + + + ACM_100YARI_EXCEEDANCE + 5.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + AVE_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + AVE_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + ACM_PEVAP_ON_SURFACE + PEVAP + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMAX + 4.0 + + + + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMIN + 4.0 + + + + MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MAXRH + -2.0 + + + + MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MINRH + NCEP + -2.0 + + + + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + HWP_ON_SURFACE + 5.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXUW + NCEP + 10. + -4.0 + + + + MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXVW + NCEP + 10. + -4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + MCONV_ON_ENTIRE_ATMOS + MCONV + 5.0 + + + + HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 6.0 + + + + HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 5.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + GSD_HGT_ON_CLOUD_CEILING + HGT + 5.0 + + + + GSD_EXP_CEILING + CEIL + 5.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + BRTMP_ON_TOP_OF_ATMOS + BRTEMP + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 4.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + 3.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + 3.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + 3.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + 3.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + 3.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 3.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VVCSH + 3.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VVCSH + 3.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + POT_ON_TROPOPAUSE + POT + 5.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + TMP + 30. 50. 80. 100. 160. 320. + 3.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + SPFH + 80. + 5.0 + + + + PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + PRES + 80. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + VGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + SPFH + 305. + 5.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + HGT + 5.0 + + + + PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC + PRES + 6.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + ELMELT_ON_EFTL + -1.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + DENDRITIC_LAYER_DEPTH + LAYTH + NCEP + isothermal + 261. + isothermal + 256. + 4.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + MXSALB_ON_SURFACE + MXSALB + NCEP + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + DOWNWARD_CAPE + DCAPE + NCEP + spec_pres_above_grnd + 40000. + spec_pres_above_grnd + 0. + 4.0 + + + + UESH_ON_EFL + UESH + NCEP + 6.0 + + + + VESH_ON_EFL + VESH + NCEP + 6.0 + + + + ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + ICEG + 10. + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + + diff --git a/parm/fv3lam.xml b/parm/rrfs/rrfs_postcntrl.xml similarity index 69% rename from parm/fv3lam.xml rename to parm/rrfs/rrfs_postcntrl.xml index 2e78a58a54..eb03168d6b 100755 --- a/parm/fv3lam.xml +++ b/parm/rrfs/rrfs_postcntrl.xml @@ -19,140 +19,10 @@ fltng_pnt lossless - - PRES_ON_HYBRID_LVL - PRES - 1. 2. - 6.0 - - - - HGT_ON_HYBRID_LVL - HGT - 1. 2. - 4.0 - - - - TMP_ON_HYBRID_LVL - TMP - 1. 2. - 4.0 - - - - POT_ON_HYBRID_LVL - POT - 1. 2. - 4.0 - - - - DPT_ON_HYBRID_LVL - DPT - 1. 2. - 5.0 - - - - SPFH_ON_HYBRID_LVL - SPFH - 1. - 7.0 - - - - RH_ON_HYBRID_LVL - RH - 1. - 4.0 - - - - UGRD_ON_HYBRID_LVL - UGRD - 1. 2. - 4.0 - - - - VGRD_ON_HYBRID_LVL - VGRD - 1. 2. - 4.0 - - - - VVEL_ON_HYBRID_LVL - VVEL - 1. - 5.0 - - - - DZDT_ON_HYBRID_LVL - DZDT - 1. - -5.0 - - - - TKE_ON_HYBRID_LVL - TKE - 1. 2. - 3.0 - - - - RWMR_ON_HYBRID_LVL - RWMR - 1. 2. - 6.0 - - - - SNMR_ON_HYBRID_LVL - SNMR - 1. 2. - 6.0 - - - - RIME_ON_HYBRID_LVL - RIME - NCEP - 1. 2. - 3.0 - - - - TCOND_ON_HYBRID_LVL - TCOND - NCEP - 1. 2. - 3.0 - - - - REFD_ON_HYBRID_LVL - REFD - NCEP - 1. 2. - 4.0 - - - - BMIXL_ON_HYBRID_LVL - BMIXL - NCEP - 1. - 3.0 - - HGT_ON_ISOBARIC_SFC HGT - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 6.0 @@ -160,7 +30,7 @@ TMP_ON_ISOBARIC_SFC TMP - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 3.0 @@ -168,7 +38,7 @@ DPT_ON_ISOBARIC_SFC DPT - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 5.0 @@ -176,7 +46,7 @@ SPFH_ON_ISOBARIC_SFC SPFH - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 4.0 @@ -184,22 +54,15 @@ RH_ON_ISOBARIC_SFC RH - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 2.0 - - MCONV_ON_ISOBARIC_SFC - MCONV - 85000. 95000. - 3.0 - - UGRD_ON_ISOBARIC_SFC UGRD - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 4.0 @@ -207,23 +70,15 @@ VGRD_ON_ISOBARIC_SFC VGRD - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 4.0 - - VVEL_ON_ISOBARIC_SFC - VVEL - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. -47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 5.0 - - DZDT_ON_ISOBARIC_SFC DZDT - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. -5.0 @@ -231,7 +86,8 @@ ABSV_ON_ISOBARIC_SFC ABSV - 20000. 25000. 30000. 40000. 50000. 70000. 75000. 85000. 92500. 100000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 4.0 @@ -242,18 +98,10 @@ 3.0 - - TKE_ON_ISOBARIC_SFC - TKE - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. -47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 - - ICMR_ON_ISOBARIC_SFC ICMR - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 6.0 @@ -261,7 +109,7 @@ CLMR_ON_ISOBARIC_SFC CLMR - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 4.0 @@ -269,15 +117,15 @@ RWMR_ON_ISOBARIC_SFC RWMR - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 + 3.0 GRLE_ON_ISOBARIC_SFC GRLE - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 3.0 @@ -285,183 +133,540 @@ SNMR_ON_ISOBARIC_SFC SNMR - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. -47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 - - - - RIME_ON_ISOBARIC_SFC - RIME - NCEP - 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. 3.0 - MSLET_ON_MEAN_SEA_LVL - MSLET - NCEP - 6.0 + MCONV_ON_ISOBARIC_SFC + MCONV + 85000. 95000. + 3.0 - PRES_ON_MEAN_SEA_LVL - PRMSL - 6.0 + MCONV_ON_SPEC_PRES_ABOVE_GRND + MCONV + 3000. + 0. + 3.0 - TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - TMP - 4.0 + PLI_ON_SPEC_PRES_ABOVE_GRND + PLI + 3000. + 0. + 3.0 - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - SPFH + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. 4.0 - + - DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - DPT - 4.0 + PRES_ON_SPEC_PRES_ABOVE_GRND + PRES + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 6.0 - RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - RH + TMP_ON_SPEC_PRES_ABOVE_GRND + TMP + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. 3.0 - UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - UGRD - 10. - 4.0 - - - - VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - VGRD - 10. + POT_ON_SPEC_PRES_ABOVE_GRND + POT + 3000. + 0. 4.0 - GUST_ON_SURFACE - GUST + DPT_ON_SPEC_PRES_ABOVE_GRND + DPT + 3000. + 0. 3.0 - PLPL_ON_SPEC_PRES_ABOVE_GRND - PLPL - NCEP - 25500. - 0. - 6.0 + SPFH_ON_SPEC_PRES_ABOVE_GRND + SPFH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 5.0 - POT_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - POT - 10. - 5.0 + RH_ON_SPEC_PRES_ABOVE_GRND + RH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 2.0 - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - SPFH - 10. + PWAT_ON_SPEC_PRES_ABOVE_GRND + PWAT + 3000. + 0. 3.0 - PRES_ON_SURFACE - PRES + UGRD_ON_SPEC_PRES_ABOVE_GRND + UGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + VGRD_ON_SPEC_PRES_ABOVE_GRND + VGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + + + NATLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + PRES + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + HGT_ON_HYBRID_LVL + HGT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + TMP_ON_HYBRID_LVL + TMP + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + POT_ON_HYBRID_LVL + POT + 1. 2. + 4.0 + + + + RH_ON_HYBRID_LVL + RH + 1. + 4.0 + + + + DPT_ON_HYBRID_LVL + DPT + 1. 2. + 5.0 + + + + SPFH_ON_HYBRID_LVL + SPFH + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 7.0 + + + + UGRD_ON_HYBRID_LVL + UGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + VGRD_ON_HYBRID_LVL + VGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + DZDT_ON_HYBRID_LVL + DZDT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + -5.0 + + + + TKE_ON_HYBRID_LVL + TKE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCWFA_ON_HYBRID_LVL + PMTF + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCIFA_ON_HYBRID_LVL + PMTC + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + REFD_ON_HYBRID_LVL + REFD + 1. 2. + 4.0 + + + + TCOND_ON_HYBRID_LVL + TCOND + 1. 2. + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT 6.0 - HGT_ON_SURFACE - HGT - 6.0 + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + NCEP + -3.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + NCEP + -3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MNUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_HAILCAST_HAIL_DIAMETER + 3.0 + + + + MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXUW + NCEP + 10. + -4.0 + + + + MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXVW + NCEP + 10. + -4.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + MAXREF + NCEP + -3.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + MAXREF + NCEP + -3.0 - POT_ON_SURFACE - POT - 5.0 + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 - SPFH_ON_SURFACE - SPFH - 3.0 + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMAX + 4.0 - TMP_ON_SURFACE - TMP + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMIN 4.0 - TSOIL_ON_DEPTH_BEL_LAND_SFC_3m - TSOIL - 3. + MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MAXRH + -2.0 + + + + MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MINRH + NCEP + -2.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM 3.0 TSOIL_ON_DEPTH_BEL_LAND_SFC TSOIL - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. 4.0 SOILW_ON_DEPTH_BEL_LAND_SFC SOILW - NCEP - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. 3.0 SOILL_ON_DEPTH_BEL_LAND_SFC SOILL - NCEP - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. 3.0 - SOILM_ON_DEPTH_BEL_LAND_SFC - SOILM - 2 - 0. - 2 - 200. + SFEXC_ON_SURFACE + SFEXC 3.0 - + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + CNWAT_ON_SURFACE CNWAT - NCEP 1.0 @@ -474,661 +679,640 @@ SNOWC_ON_SURFACE SNOWC - NCEP 3.0 - SFEXC_ON_SURFACE - SFEXC - NCEP + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. 3.0 - VEG_ON_SURFACE - VEG + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT 3.0 - VGTYP_ON_SURFACE - VGTYP - NCEP - 3.0 + ACM_APCP_ON_SURFACE + APCP + -4.0 - SOTYP_ON_SURFACE - SOTYP - 3.0 + CACM_APCP_ON_SURFACE + APCP + -4.0 - SNFALB_ON_SURFACE - SNFALB - NCEP - 3.0 + ACM_SNOWFALL_ON_SURFACE + TSNOWP + 4.0 - MXSALB_ON_SURFACE - MXSALB - NCEP - 3.0 + ACM_SNOM_ON_SURFACE + SNOM + 4.0 - CCOND_ON_SURFACE - CCOND - NCEP - 3.0 + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 - RCS_ON_SURFACE - RCS - NCEP - 3.0 + ACM_SNOM_ON_SURFACE + SNOM + 4.0 - RCT_ON_SURFACE - RCT - NCEP - 5.0 + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 - RCQ_ON_SURFACE - RCQ - NCEP - 3.0 + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 - RCSOL_ON_SURFACE - RCSOL - NCEP - 3.0 + GSD_CICEP_ON_SURFACE + CICEP + 1.0 - SMREF_ON_SURFACE - SMREF - NCEP - 3.0 + GSD_CFRZR_ON_SURFACE + CFRZR + 1.0 - POROS_ON_SURFACE - POROS - NCEP - 3.0 + INST_PRATE_ON_SURFACE + PRATE + 6.0 - RLYRS_ON_SURFACE - RLYRS - NCEP - 3.0 + CPOFP_ON_SURFACE + CPOFP + 4.0 - RSMIN_ON_SURFACE - RSMIN - NCEP + CLMR_ON_HYBRID_LVL + CLMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 3.0 - SNOD_ON_SURFACE - SNOD - 6.0 + NCCD_ON_HYBRID_LVL + NCONCD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 - SMDRY_ON_SURFACE - SMDRY - NCEP + ICMR_ON_HYBRID_LVL + ICMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 3.0 - WILT_ON_SURFACE - WILT - NCEP + NCIP_ON_HYBRID_LVL + NCCICE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 3.0 - MSTAV_ON_DEPTH_BEL_LAND_SFC - MSTAV - NCEP - 2 - 0. - 2 - 100. + GRLE_ON_HYBRID_LVL + GRLE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 3.0 - INST_GFLUX_ON_SURFACE - GFLUX - NCEP + TCDC_ON_HYBRID_LVL + TCDC + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 3.0 - LFTX_ON_ISOBARIC_SFC_500-1000hpa - LFTX - NCEP - 50000. - 100000. + RWMR_ON_HYBRID_LVL + RWMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 3.0 - 4LFTX_ON_SPEC_PRES_ABOVE_GRND - 4LFTX - NCEP - 18000. - 0. + SNMR_ON_HYBRID_LVL + SNMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 3.0 - PLI_ON_SPEC_PRES_ABOVE_GRND - PLI - 3000. - 0. + NCRAIN_ON_HYBRID_LVL + SPNCR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 3.0 - CAPE_ON_SURFACE - CAPE - 4.0 + SMOKE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 - - BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - 18000. - 0. - 4.0 - - - - MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - 9000. - 0. - 4.0 - - - - UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - 25500. - 0. - 4.0 - + + DUST_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + - CIN_ON_SURFACE - CIN - 4.0 + COARSEPM_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 - - BEST_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - 18000. - 0. - 4.0 - + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + - - MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - 9000. - 0. - 4.0 - + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + - - UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - 25500. - 0. - 4.0 - + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + - PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR - PWAT + TCDC_ON_BOUND_LYR + TCDC 3.0 - HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND - HLCY - 3000. 1000. - 4.0 + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 - USTM_ON_SPEC_HGT_LVL_ABOVE_GRND - USTM - NCEP - 6000. - 4.0 + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 - VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND - VSTM - NCEP - 6000. + INST_USWRF_ON_SURFACE + USWRF 4.0 - ACM_APCP_ON_SURFACE - APCP - -4.0 + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 - ACM_NCPCP_ON_SURFACE - NCPCP - -4.0 + AVE_DSWRF_ON_SURFACE + DSWRF + 3.0 - CACM_APCP_ON_SURFACE - APCP - -4.0 + AVE_DLWRF_ON_SURFACE + DLWRF + 3.0 - CACM_NCPCP_ON_SURFACE - NCPCP - -4.0 + AVE_USWRF_ON_SURFACE + USWRF + 3.0 - ACM_SNOM_ON_SURFACE - SNOM - 4.0 + AVE_ULWRF_ON_SURFACE + ULWRF + 3.0 - ACM_SSRUN_ON_SURFACE - SSRUN - NCEP - 6.0 + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + 3.0 - ACM_BGRUN_ON_SURFACE - BGRUN - NCEP - 6.0 + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 3.0 - ACM_WATR_ON_SURFACE - WATR - 6.0 + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 - INST_CRAIN_ON_SURFACE - CRAIN - NCEP - 1.0 - + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + - CSNOW_ON_SURFACE - CSNOW + INST_SWDDNI_ON_SURFACE + VBDSF NCEP - 1.0 - + 4.0 + - CICEP_ON_SURFACE - CICEP + INST_SWDDIF_ON_SURFACE + VDDSF NCEP - 1.0 - + 4.0 + - CFRZR_ON_SURFACE - CFRZR + INST_CSDSF_ON_SURFACE + CSDSF NCEP - 1.0 - + 4.0 + - INST_PRATE_ON_SURFACE - PRATE - 6.0 + SFCR_ON_SURFACE + SFCR + 2.7 - CPOFP_ON_SURFACE - CPOFP - NCEP + FRICV_ON_SURFACE + FRICV 4.0 - CLMR_ON_HYBRID_LVL - CLMR - 1. 2. + CD_ON_SURFACE + CD 3.0 - ICMR_ON_HYBRID_LVL - ICMR - 1. 2. - 6.0 + AVE_SHTFL_ON_SURFACE + SHTFL + 4.0 - GRLE_ON_HYBRID_LVL - GRLE - 1. 2. - 3.0 + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 - TCDC_ON_HYBRID_LVL - TCDC - 1. 2. - 3.0 + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 - LCDC_ON_LOW_CLOUD_LYR - LCDC - 3.0 + AVE_LHTFL_ON_SURFACE + LHTFL + 4.0 - MCDC_ON_MID_CLOUD_LYR - MCDC - 3.0 + ACM_PEVAP_ON_SURFACE + PEVAP + 4.0 - HCDC_ON_HIGH_CLOUD_LYR - HCDC - 3.0 + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 - INST_TCDC_ON_ENTIRE_ATMOS - TCDC - 3.0 + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 - AVE_TCDC_ON_ENTIRE_ATMOS - TCDC - 3.0 + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 - AVE_CDLYR_ON_ENTIRE_ATMOS - CDLYR + ELON_ON_SURFACE + ELON NCEP - 3.0 + 4.0 - GSD_VIS_ON_SURFACE - VIS - 6.0 + LAND_ON_SURFACE + LAND + 1.0 - HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC - HGT - 5.0 + ICEC_ON_SURFACE + ICEC + 3.0 - PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC - PRES - 6.0 + LMH_ON_SURFACE + LMH + NCEP + 2.0 - INST_USWRF_ON_SURFACE - USWRF + LMV_ON_SURFACE + LMV NCEP - 4.0 + 2.0 - INST_ULWRF_ON_SURFACE - ULWRF - NCEP - 4.0 + ALBDO_ON_SURFACE + ALBDO + 3.0 - AVE_DSWRF_ON_SURFACE - DSWRF - NCEP - 3.0 + WTMP_ON_SURFACE + WTMP + 5.0 - AVE_DLWRF_ON_SURFACE - DLWRF - NCEP + PRES_ON_TOP_OF_ATMOS + PRES 3.0 - AVE_USWRF_ON_SURFACE - USWRF + INST_GFLUX_ON_SURFACE + GFLUX NCEP 3.0 - AVE_ULWRF_ON_SURFACE - ULWRF - NCEP + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. 3.0 - AVE_USWRF_ON_TOP_OF_ATMOS - USWRF - NCEP - 3.0 + CAPE_ON_SURFACE + CAPE + 4.0 - AVE_ULWRF_ON_TOP_OF_ATMOS - ULWRF - NCEP - 3.0 + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 - INST_ULWRF_ON_TOP_OF_ATMOS - ULWRF - NCEP + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. 4.0 - BRTMP_ON_TOP_OF_ATMOS - BRTMP - 3.0 + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 - INST_DSWRF_ON_SURFACE - DSWRF - NCEP + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN 4.0 - INST_DLWRF_ON_SURFACE - DLWRF - NCEP + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. 4.0 - INST_CSDSF_ON_SURFACE - CSDSF - NCEP + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. 4.0 - SFCR_ON_SURFACE - SFCR - 2.7 + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 - FRICV_ON_SURFACE - FRICV + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL NCEP - 4.0 + 25500. + 0. + 6.0 - CD_ON_SURFACE - CD - NCEP - 3.0 + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 - UFLX_ON_SURFACE - UFLX + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface 3.0 - VFLX_ON_SURFACE - VFLX + CRITICAL_ANGLE + CANGLE + 0. + 500. 3.0 - AVE_SHTFL_ON_SURFACE - SHTFL + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. 4.0 - AVE_GFLUX_ON_SURFACE - GFLUX - NCEP + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. 4.0 - AVE_SNOHF_ON_SURFACE - SNOHF - NCEP - 4.0 + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 - AVE_LHTFL_ON_SURFACE - LHTFL - 4.0 + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 - ACM_EVP_ON_SURFACE - EVP - 4.0 + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 - ACM_PEVAP_ON_SURFACE - PEVAP - NCEP - 4.0 + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 - INST_SHTFL_ON_SURFACE - SHTFL - 4.0 + PRES_ON_CLOUD_BASE + PRES + 6.0 - INST_LHTFL_ON_SURFACE - LHTFL - 4.0 + PRES_ON_CLOUD_TOP + PRES + 6.0 - NLAT_ON_SURFACE - NLAT - NCEP - 4.0 + TMP_ON_CLOUD_TOP + TMP + 5.0 - ELON_ON_SURFACE - ELON + AVE_GFLUX_ON_SURFACE + GFLUX NCEP 4.0 - LAND_ON_SURFACE - LAND - 1.0 - - - - ICEC_ON_SURFACE - ICEC - 3.0 + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 - ALBDO_ON_SURFACE - ALBDO - 3.0 + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 - WTMP_ON_SURFACE - WTMP - 5.0 + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 PRES_ON_TROPOPAUSE PRES - 6.0 + 6.0 HGT_ON_TROPOPAUSE HGT - 6.0 + 6.0 @@ -1137,12 +1321,6 @@ 3.0 - - POT_ON_TROPOPAUSE - POT - 5.0 - - UGRD_ON_TROPOPAUSE UGRD @@ -1158,31 +1336,6 @@ VWSH_ON_TROPOPAUSE VWSH - NCEP - 3.0 - - - - VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km - VUCSH - 3.0 - - - - VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km - VVCSH - 3.0 - - - - VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km - VUCSH - 3.0 - - - - VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km - VVCSH 3.0 @@ -1193,13 +1346,6 @@ 3.0 - - TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - TMP - 30. 50. 80. 100. - 3.0 - - UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL UGRD @@ -1207,13 +1353,6 @@ 4.0 - - UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - UGRD - 30. 50. 80. 100. - 4.0 - - VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL VGRD @@ -1221,38 +1360,10 @@ 4.0 - - VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - VGRD - 30. 50. 80. 100. - 4.0 - - - - SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - SPFH - 305. - 5.0 - - - - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - SPFH - 30. 50. 80. 100. - 5.0 - - - - PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - PRES - 30. 50. 80. 100. - 3.0 - - HGT_ON_0C_ISOTHERM HGT - 6.0 + 6.0 @@ -1264,491 +1375,456 @@ HGT_ON_HGHST_TROP_FRZ_LVL HGT - 6.0 - - - - HGT_ON_LWST_LVL_OF_WET_BULB_ZERO - HGT - -5.0 + 6.0 - PRES_ON_SPEC_PRES_ABOVE_GRND - PRES - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 6.0 + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 - TMP_ON_SPEC_PRES_ABOVE_GRND - TMP - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. + HGT_ON_HGHST_TROP_-20C_LVL + HGT 3.0 - POT_ON_SPEC_PRES_ABOVE_GRND - POT - 3000. - 0. - 4.0 - - - - DPT_ON_SPEC_PRES_ABOVE_GRND - DPT - 3000. - 0. + HGT_ON_EQUIL_LVL + HGT 3.0 - SPFH_ON_SPEC_PRES_ABOVE_GRND - SPFH - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 5.0 - - - - RH_ON_SPEC_PRES_ABOVE_GRND - RH - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 2.0 - - - - MCONV_ON_SPEC_PRES_ABOVE_GRND - MCONV - 3000. - 0. - 3.0 + PRES_ON_MAX_WIND + PRES + 6.0 - PWAT_ON_SPEC_PRES_ABOVE_GRND - PWAT - 3000. - 0. - 3.0 + HGT_ON_MAX_WIND + HGT + 6.0 - UGRD_ON_SPEC_PRES_ABOVE_GRND + UGRD_ON_MAX_WIND UGRD - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. 4.0 - VGRD_ON_SPEC_PRES_ABOVE_GRND + VGRD_ON_MAX_WIND VGRD - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. 4.0 - VVEL_ON_SPEC_PRES_ABOVE_GRND - VVEL - 3000. 9000. 18000. - 0. 6000. 15000. - 5.0 + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 - PRES_ON_CLOUD_BASE - PRES - 6.0 + HGT_ON_CLOUD_BASE + HGT + 6.0 - PRES_ON_CLOUD_TOP - PRES - 6.0 + HGT_ON_CLOUD_TOP + HGT + 6.0 - TMP_ON_CLOUD_TOP - TMP - 5.0 + GSD_VIS_ON_SURFACE + VIS + 6.0 - HGT_ON_CLOUD_BASE - HGT - 6.0 + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 - HGT_ON_CLOUD_TOP - HGT - 6.0 + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 - TMP_ON_CLOUD_TOP - TMP - 5.0 + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 - PRES_ON_MAX_WIND - PRES - 6.0 + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 - HGT_ON_MAX_WIND - HGT - 6.0 + SOTYP_ON_SURFACE + SOTYP + 3.0 - UGRD_ON_MAX_WIND - UGRD - 4.0 + HPBL_ON_SURFACE + HPBL + 6.0 - VGRD_ON_MAX_WIND - VGRD - 4.0 + SNOD_ON_SURFACE + SNOD + 6.0 - REFC_ON_ENTIRE_ATMOS - REFC + SBSNO_ON_SURFACE + SBSNO NCEP - 4.0 + 3.0 - REFZR_ON_ENTIRE_ATMOS - REFZR + SMDRY_ON_SURFACE + SMDRY NCEP - -4.0 + 3.0 - REFZI_ON_ENTIRE_ATMOS - REFZI + POROS_ON_SURFACE + POROS NCEP - -4.0 + 3.0 - REFD_ON_SPEC_HGT_LVL_ABOVE_GRND - REFD - NCEP - 4000. 1000. - 4.0 + RSMIN_ON_SURFACE + RSMIN + 3.0 - REFZR_ON_SPEC_HGT_LVL_ABOVE_GRND - REFZR + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT NCEP - 4000. 1000. - -4.0 + 3.0 - REFZI_ON_SPEC_HGT_LVL_ABOVE_GRND - REFZI + SMREF_ON_SURFACE + SMREF NCEP - 4000. 1000. - -4.0 + 3.0 - HPBL_ON_SURFACE - HPBL + PEVPR_ON_SURFACE + PEVPR NCEP - 6.0 + 6.0 - PRES_ON_GRID_SCALE_CLOUD_BOT_LVL - PRES - 6.0 + GUST_ON_SURFACE + GUST + 3.0 - PRES_ON_GRID_SCALE_CLOUD_TOP_LVL - PRES - 6.0 + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 - TCOLW_ON_ENTIRE_ATMOS - TCOLW + LAI_ON_SURFACE + LAI NCEP - 5.0 + -3.0 - TCOLI_ON_ENTIRE_ATMOS - TCOLI + INST_CSDSF_ON_SURFACE + CSDSF NCEP - 5.0 + 4.0 - TCOLR_ON_ENTIRE_ATMOS - TCOLR - NCEP - 5.0 + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 - TCOLS_ON_ENTIRE_ATMOS - TCOLS - NCEP - 5.0 + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 - TCOLC_ON_ENTIRE_ATMOS - TCOLC - NCEP - 5.0 + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 - TCOLG_ON_ENTIRE_ATMOS - TCOLG - 5.0 + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 - TCLSW_ON_ENTIRE_ATMOS - TCLSW - NCEP - 5.0 + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 - TCOLM_ON_ENTIRE_ATMOS - TCOLM - NCEP - 5.0 + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 - HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR - HGT - 6.0 + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 - HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR - HGT - 5.0 + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 - HGT_ON_CLOUD_CEILING - HGT - 6.0 + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 - ACM_LSPA_ON_SURFACE - LSPA - NCEP - 3.0 + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 - PRES_ON_TOP_OF_ATMOS - PRES - 3.0 + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 - SWHR_ON_ENTIRE_ATMOS - SWHR - NCEP - 5.0 + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 - LWHR_ON_ENTIRE_ATMOS - LWHR - NCEP - 5.0 + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 - AVE_LRGHR_ON_ENTIRE_ATMOS - LRGHR - NCEP - 5.0 + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 - MCONV_ON_ENTIRE_ATMOS - MCONV - 5.0 + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 - PBLREG_ON_SURFACE - PBLREG - 2.0 + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 - UGRD_ON_PLANETARY_BOUND_LYR - UGRD - -4.0 + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 - VGRD_ON_PLANETARY_BOUND_LYR - VGRD - -4.0 + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 - HGT_ON_PLANETARY_BOUND_LYR - HGT - -4.0 + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 - MIXHT_ON_SURFACE - MIXHT - -4.0 + GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 - RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR - RETOP - NCEP - 6.0 + GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 - VRATE_ON_PLANETARY_BOUND_LYR - VRATE - NCEP - 3.0 + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + LTNG + 4.0 - HINDEX_ON_SURFACE - HINDEX - 3.0 + SDEN_ON_SURFACE + SDEN + 6.0 + + + + 2DFLD + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + - MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - TMAX + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC 4.0 - MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - TMIN + REFD_ON_SPEC_HGT_LVL_ABOVE_GRND + REFD + 1000. 4000. 4.0 - MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - MAXRH - -2.0 + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 - MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - MINRH - NCEP - -2.0 + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + UGRD_ON_PLANETARY_BOUND_LYR + UGRD + -4.0 - + - MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - MAXUW - NCEP - 10. + VGRD_ON_PLANETARY_BOUND_LYR + VGRD -4.0 - MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - MAXVW + VRATE_ON_PLANETARY_BOUND_LYR + VRATE NCEP - 10. - -4.0 + 3.0 - MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - WIND - -4.0 + GUST_ON_SURFACE + GUST + 3.0 - MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km - MAXREF - NCEP - -3.0 + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 - MAX_MAXUVV_ON_SPEC_PRES_LVL_ABOVE_GRND_100-1000hpa + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa MAXUVV NCEP - isobaric_sfc - isobaric_sfc -3.0 - + - MAX_MAXDVV_ON_SPEC_PRES_LVL_ABOVE_GRND_100-1000hpa + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa MAXDVV NCEP - isobaric_sfc - isobaric_sfc -3.0 - MAX_PRATE_ON_SURFACE - PRATE - 6.0 - - - - MAX_SRWEQ_ON_SURFACE - SRWEQ - 4.0 - - - - LTNG_ON_SURFACE - LTNG + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + MAXREF NCEP - 1.0 + -3.0 - VIL_ON_ENTIRE_ATMOS - VIL - 4.0 + MAX_REF_ON_ISOTHERMAL_-10C + MAXREF + NCEP + -3.0 UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km UPHL - NCEP -3.0 @@ -1758,7 +1834,7 @@ NCEP -3.0 - + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km MNUPHL @@ -1767,1161 +1843,901 @@ - GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km - MNUPHL + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL NCEP -3.0 - GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km - MXUPHL + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MNUPHL NCEP -3.0 - GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km 5.0 - GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km 5.0 - GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 5.0 - MAX_REF_ON_ISOTHERMAL_-10C - MAXREF - NCEP - -3.0 - - - - REFD_ON_ISOTHERMAL - REFD - NCEP - isothermal - 263. - -4.0 - - - - - - NATLEV - 32769 - ncep_nco - v2003 - local_tab_yes1 - fcst - oper - fcst - fcst - hour - nws_ncep - rrfs - complex_packing_spatial_diff - 2nd_ord_sptdiff - fltng_pnt - lossless - - - HGT_ON_ISOBARIC_SFC - HGT - 25000. 50000. 70000. 85000. - 6.0 - - - - TMP_ON_ISOBARIC_SFC - TMP - 25000. 50000. 70000. 85000. 95000. + GSD_HAILCAST_HAIL_DIAMETER 3.0 - RH_ON_ISOBARIC_SFC - RH - 25000. 50000. 70000. 85000. - 2.0 - - - - UGRD_ON_ISOBARIC_SFC - UGRD - 25000. 50000. 70000. 85000. - 4.0 - - - - VGRD_ON_ISOBARIC_SFC - VGRD - 25000. 50000. 70000. 85000. + GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND 4.0 - - - VVEL_ON_ISOBARIC_SFC - VVEL - 25000. 50000. 70000. 85000. - 5.0 - - + - SPFH_ON_ISOBARIC_SFC - SPFH - 25000. 50000. 70000. 85000. + GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND 4.0 - ABSV_ON_ISOBARIC_SFC - ABSV - 25000. 50000. 70000. 85000. + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + LTNG 4.0 - PRES_ON_HYBRID_LVL + PRES_ON_SURFACE PRES - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 6.0 + 6.0 - + - HGT_ON_HYBRID_LVL + HGT_ON_SURFACE HGT - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 4.0 + 6.0 - TMP_ON_HYBRID_LVL + TMP_ON_SURFACE TMP - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 4.0 - SPFH_ON_HYBRID_LVL - SPFH - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 7.0 + POT_ON_SURFACE + POT + 5.0 - UGRD_ON_HYBRID_LVL - UGRD - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 4.0 + SPFH_ON_SURFACE + SPFH + 3.0 - VGRD_ON_HYBRID_LVL - VGRD - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. 4.0 - - - VVEL_ON_HYBRID_LVL - VVEL - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 5.0 - - + - DZDT_ON_HYBRID_LVL - DZDT - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - -5.0 + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 - TKE_ON_HYBRID_LVL - TKE - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. 3.0 - AVE_LRGHR_ON_HYBRID_LVL - LRGHR - NCEP - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC 3.0 - MSLET_ON_MEAN_SEA_LVL - MSLET - NCEP - 6.0 + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 - PRES_ON_MEAN_SEA_LVL - PRMSL - 6.0 + CNWAT_ON_SURFACE + CNWAT + 1.0 - TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - TMP + WEASD_ON_SURFACE + WEASD 4.0 - + - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - SPFH - 4.0 + SNOWC_ON_SURFACE + SNOWC + 3.0 - DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - DPT - 4.0 + SNOD_ON_SURFACE + SNOD + 6.0 - RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - RH - 3.0 + GSD_ACM_SNOD_ON_SURFACE + ASNOW + 9.0 - UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - UGRD - 10. + CPOFP_ON_SURFACE + CPOFP 4.0 - VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - VGRD - 10. - 4.0 + INST_PRATE_ON_SURFACE + PRATE + 6.0 - POT_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - POT - 10. - 5.0 + MAX_PRATE_ON_SURFACE + PRATE + 6.0 - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - SPFH - 10. - 3.0 + ACM_APCP_ON_SURFACE + APCP + -4.0 - PRES_ON_SURFACE - PRES - 6.0 + CACM_APCP_ON_SURFACE + APCP + -4.0 - HGT_ON_SURFACE - HGT - 6.0 + ACM_SNOWFALL_ON_SURFACE + TSNOWP + 4.0 - POT_ON_SURFACE - POT - 5.0 + BUCKET_SNOWFALL_ON_SURFACE + 6.0 - SPFH_ON_SURFACE - SPFH - 3.0 + ACM_GRAUPEL_ON_SURFACE + 6.0 - TMP_ON_SURFACE - TMP - 4.0 + BUCKET_GRAUPEL_ON_SURFACE + 6.0 - + - MAX_MAXUVV_ON_SPEC_PRES_LVL_ABOVE_GRND_100-1000hpa - MAXUVV - NCEP - isobaric_sfc - isobaric_sfc - -3.0 + ACM_FRAIN_ON_SURFACE + 6.0 - + - MAX_MAXDVV_ON_SPEC_PRES_LVL_ABOVE_GRND_100-1000hpa - MAXDVV - NCEP - isobaric_sfc - isobaric_sfc - -3.0 + BUCKET_FRAIN_ON_SURFACE + 6.0 - GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km - MXUPHL - NCEP - -3.0 + ACM_SNOM_ON_SURFACE + SNOM + 4.0 - MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km - MXUPHL - NCEP - -3.0 + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 - GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km - MNUPHL - NCEP - -3.0 + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 - GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km - MNUPHL - NCEP - -3.0 + GSD_CICEP_ON_SURFACE + CICEP + 1.0 - GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km - 5.0 + GSD_CFRZR_ON_SURFACE + 1.0 - GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 - 5.0 + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 - GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km - 5.0 + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 - MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - MAXUW - NCEP - 10. - -4.0 + 1H_FFG_EXCEEDANCE + 5.0 - + - MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - MAXVW - NCEP - 10. - -4.0 + ACM_FFG_EXCEEDANCE + 5.0 - + - MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km - MAXREF - NCEP - -3.0 + 1H_2YARI_EXCEEDANCE + 5.0 - + - MAX_REF_ON_ISOTHERMAL_-10C - MAXREF - NCEP - -3.0 + ACM_2YARI_EXCEEDANCE + 5.0 - REFD_ON_ISOTHERMAL - REFD - NCEP - isothermal - 263. - -4.0 + 1H_5YARI_EXCEEDANCE + 5.0 - MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - TMAX - 4.0 + ACM_5YARI_EXCEEDANCE + 5.0 - MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - TMIN - 4.0 + 1H_10YARI_EXCEEDANCE + 5.0 - MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - MAXRH - -2.0 + ACM_10YARI_EXCEEDANCE + 5.0 - MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - MINRH - NCEP - -2.0 + 1H_100YARI_EXCEEDANCE + 5.0 - TSOIL_ON_DEPTH_BEL_LAND_SFC - TSOIL - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. - 4.0 + ACM_100YARI_EXCEEDANCE + 5.0 - SOILW_ON_DEPTH_BEL_LAND_SFC - SOILW + PEVPR_ON_SURFACE + PEVPR NCEP - 2 2 2 2 - 0. 10. 40. 100. - 2 2 2 2 - 10. 40. 100. 200. - 3.0 + 6.0 - SOILM_ON_DEPTH_BEL_LAND_SFC - SOILM - 2 - 0. - 2 - 200. - 3.0 - - - - SFEXC_ON_SURFACE - SFEXC + SBSNO_ON_SURFACE + SBSNO NCEP 3.0 - VEG_ON_SURFACE - VEG + SMDRY_ON_SURFACE + SMDRY + NCEP 3.0 - + - MSTAV_ON_DEPTH_BEL_LAND_SFC - MSTAV + POROS_ON_SURFACE + POROS NCEP - 2 - 0. - 2 - 100. 3.0 - TSOIL_ON_DEPTH_BEL_LAND_SFC_3m - TSOIL - 3. - 3.0 + AVE_LHTFL_ON_SURFACE + LHTFL + 4.0 - INST_GFLUX_ON_SURFACE - GFLUX - NCEP - 3.0 + AVE_SHTFL_ON_SURFACE + SHTFL + 4.0 - CNWAT_ON_SURFACE - CNWAT + AVE_GFLUX_ON_SURFACE + GFLUX NCEP - 1.0 + 4.0 - WEASD_ON_SURFACE - WEASD + AVE_SNOHF_ON_SURFACE + SNOHF 4.0 - 4LFTX_ON_SPEC_PRES_ABOVE_GRND - 4LFTX - NCEP - 18000. - 0. - 3.0 + ACM_PEVAP_ON_SURFACE + PEVAP + 4.0 - PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR - PWAT - 3.0 + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 - ACM_APCP_ON_SURFACE - APCP - -4.0 + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 - ACM_NCPCP_ON_SURFACE - NCPCP - -4.0 + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 - CACM_APCP_ON_SURFACE - APCP - -4.0 + SFCR_ON_SURFACE + SFCR + 2.7 - CACM_NCPCP_ON_SURFACE - NCPCP - -4.0 + FRICV_ON_SURFACE + FRICV + 4.0 - ACM_SNOM_ON_SURFACE - SNOM - 4.0 + CD_ON_SURFACE + CD + 3.0 - ACM_SSRUN_ON_SURFACE - SSRUN - NCEP - 4.0 + SFEXC_ON_SURFACE + SFEXC + 3.0 - ACM_BGRUN_ON_SURFACE - BGRUN + LAI_ON_SURFACE + LAI NCEP - 4.0 + -3.0 - INST_CRAIN_ON_SURFACE - CRAIN - NCEP - 1.0 + VEG_ON_SURFACE + VEG + 3.0 - + - CSNOW_ON_SURFACE - CSNOW + VGTYP_ON_SURFACE + VGTYP NCEP - 1.0 - - + 3.0 + + - CICEP_ON_SURFACE - CICEP - NCEP - 1.0 - + SOTYP_ON_SURFACE + SOTYP + 3.0 + - CFRZR_ON_SURFACE - CFRZR - NCEP - 1.0 - + RSMIN_ON_SURFACE + RSMIN + 3.0 + - INST_PRATE_ON_SURFACE - PRATE - 6.0 + RLYRS_ON_SURFACE + RLYRS + 3.0 - CPOFP_ON_SURFACE - CPOFP + WILT_ON_SURFACE + WILT NCEP - 4.0 + 3.0 - CLMR_ON_HYBRID_LVL - CLMR - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + SMREF_ON_SURFACE + SMREF + NCEP 3.0 - ICMR_ON_HYBRID_LVL - ICMR - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 3.0 + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 - GRLE_ON_HYBRID_LVL - GRLE - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 3.0 + GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 - TCDC_ON_HYBRID_LVL - TCDC - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH 3.0 - RWMR_ON_HYBRID_LVL - RWMR - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 6.0 + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMAX + 4.0 - + - SNMR_ON_HYBRID_LVL - SNMR - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 6.0 + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMIN + 4.0 - + + + MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MAXRH + -2.0 + + - RIME_ON_HYBRID_LVL - RIME + MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MINRH NCEP - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 3.0 + -2.0 - TCOND_ON_HYBRID_LVL - TCOND - NCEP - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. - 3.0 + BIOMASS_BURNING_EMISSIONS + 5.0 - FRAIN_ON_HYBRID_LVL - FRAIN - NCEP - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m 6.0 - FICE_ON_HYBRID_LVL - FICE - NCEP - 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. -25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. -49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. + SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + DUST_ON_SPEC_HGT_LVL_ABOVE_GRND_8m 6.0 - LCDC_ON_LOW_CLOUD_LYR - LCDC - 3.0 + DUST_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 - MCDC_ON_MID_CLOUD_LYR - MCDC - 3.0 + COARSEPM_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 - HCDC_ON_HIGH_CLOUD_LYR - HCDC - 3.0 + COARSEPM_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 - INST_TCDC_ON_ENTIRE_ATMOS - TCDC - 3.0 + AVE_PM25_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 - AVE_TCDC_ON_ENTIRE_ATMOS - TCDC - 3.0 + AVE_PM10_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 - AVE_CDLYR_ON_ENTIRE_ATMOS - CDLYR - NCEP - 3.0 + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 - INST_USWRF_ON_SURFACE - USWRF - NCEP - 4.0 + HWP_ON_SURFACE + 5.0 - INST_ULWRF_ON_SURFACE - ULWRF - NCEP + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. 4.0 - AVE_DSWRF_ON_SURFACE - DSWRF - NCEP - 3.0 + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 - AVE_DLWRF_ON_SURFACE - DLWRF + MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXUW NCEP - 3.0 + 10. + -4.0 - + - AVE_USWRF_ON_SURFACE - USWRF + MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXVW NCEP - 3.0 + 10. + -4.0 - AVE_ULWRF_ON_SURFACE - ULWRF - NCEP - 3.0 + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 - AVE_USWRF_ON_TOP_OF_ATMOS - USWRF - NCEP + PRES_ON_TOP_OF_ATMOS + PRES 3.0 - AVE_ULWRF_ON_TOP_OF_ATMOS - ULWRF - NCEP + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. 3.0 - INST_DSWRF_ON_SURFACE - DSWRF - NCEP - 4.0 + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 - INST_DLWRF_ON_SURFACE - DLWRF - NCEP + CAPE_ON_SURFACE + CAPE 4.0 - INST_CSDSF_ON_SURFACE - CSDSF - NCEP + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. 4.0 - SFCR_ON_SURFACE - SFCR - 2.7 + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 - FRICV_ON_SURFACE - FRICV - NCEP + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. 4.0 - CD_ON_SURFACE - CD - NCEP - 3.0 + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 - UFLX_ON_SURFACE - UFLX - 3.0 + CIN_ON_SURFACE + CIN + 4.0 - VFLX_ON_SURFACE - VFLX - 3.0 + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 - AVE_SHTFL_ON_SURFACE - SHTFL + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. 4.0 - AVE_GFLUX_ON_SURFACE - GFLUX - NCEP + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. 4.0 - AVE_SNOHF_ON_SURFACE - SNOHF - NCEP - 4.0 + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 - AVE_LHTFL_ON_SURFACE - LHTFL - 4.0 + MCONV_ON_ENTIRE_ATMOS + MCONV + 5.0 - ACM_EVP_ON_SURFACE - EVP - 4.0 + HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 6.0 - ACM_PEVAP_ON_SURFACE - PEVAP - NCEP - 4.0 + HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 5.0 - INST_SHTFL_ON_SURFACE - SHTFL - 4.0 + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 - + - INST_LHTFL_ON_SURFACE - LHTFL - 4.0 + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 - + - NLAT_ON_SURFACE - NLAT - NCEP - 4.0 + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 - ELON_ON_SURFACE - ELON - NCEP - 4.0 + TCDC_ON_BOUND_LYR + TCDC + 3.0 - LAND_ON_SURFACE - LAND - 1.0 + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 - ICEC_ON_SURFACE - ICEC + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC 3.0 - LMH_ON_SURFACE - LMH - NCEP - 2.0 + PRES_ON_CLOUD_BASE + PRES + 6.0 - LMV_ON_SURFACE - LMV - NCEP - 2.0 + HGT_ON_CLOUD_BASE + HGT + 6.0 - ALBDO_ON_SURFACE - ALBDO - 3.0 + GSD_HGT_ON_CLOUD_CEILING + HGT + 5.0 - + - WTMP_ON_SURFACE - WTMP - 5.0 + GSD_EXP_CEILING + CEIL + 5.0 - PRES_ON_SPEC_PRES_ABOVE_GRND + PRES_ON_CLOUD_TOP PRES - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 6.0 + 6.0 - TMP_ON_SPEC_PRES_ABOVE_GRND - TMP - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 3.0 + HGT_ON_CLOUD_TOP + HGT + 6.0 - POT_ON_SPEC_PRES_ABOVE_GRND - POT - 3000. - 0. - 4.0 + TMP_ON_CLOUD_TOP + TMP + 5.0 - DPT_ON_SPEC_PRES_ABOVE_GRND - DPT - 3000. - 0. - 3.0 + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 - + - SPFH_ON_SPEC_PRES_ABOVE_GRND - SPFH - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 5.0 + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 - RH_ON_SPEC_PRES_ABOVE_GRND - RH - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 2.0 + BRTMP_ON_TOP_OF_ATMOS + BRTEMP + 3.0 - MCONV_ON_SPEC_PRES_ABOVE_GRND - MCONV - 3000. - 0. - 3.0 + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 - PWAT_ON_SPEC_PRES_ABOVE_GRND - PWAT - 3000. - 0. - 3.0 + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 - UGRD_ON_SPEC_PRES_ABOVE_GRND - UGRD - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. + INST_USWRF_ON_SURFACE + USWRF 4.0 - + - VGRD_ON_SPEC_PRES_ABOVE_GRND - VGRD - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. + INST_ULWRF_ON_SURFACE + ULWRF 4.0 - ACM_LSPA_ON_SURFACE - LSPA - NCEP - 3.0 + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 4.0 - PRES_ON_TOP_OF_ATMOS - PRES + AVE_DSWRF_ON_SURFACE + DSWRF 3.0 - PRES_ON_HYBRID_LVL_1L - PRES - 1. - 21. + AVE_DLWRF_ON_SURFACE + DLWRF 3.0 - PRES_ON_HYBRID_LVL_LLM - PRES - 1. - 61. + AVE_USWRF_ON_SURFACE + USWRF 3.0 - CNWAT_ON_SURFACE - CNWAT - NCEP - 1.0 + AVE_ULWRF_ON_SURFACE + ULWRF + 3.0 - INST_GFLUX_ON_SURFACE - GFLUX - NCEP + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF 3.0 - LFTX_ON_ISOBARIC_SFC_500-1000hpa - LFTX - NCEP - 50000. - 100000. + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF 3.0 - CAPE_ON_SURFACE - CAPE + INST_CSDSF_ON_SURFACE + CSDSF + NCEP 4.0 - - BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - 18000. - 0. - 4.0 - - - - MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - 9000. - 0. - 4.0 - - - - UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - 25500. - 0. - 4.0 - - - CIN_ON_SURFACE - CIN + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP 4.0 - - BEST_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - 18000. - 0. - 4.0 - - - - MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - 9000. - 0. - 4.0 - - - - UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - 25500. - 0. - 4.0 - - - PLPL_ON_SPEC_PRES_ABOVE_GRND - PLPL + INST_SWDDIF_ON_SURFACE + VDDSF NCEP - 25500. - 0. - 6.0 + 4.0 @@ -2931,10 +2747,24 @@ 4.0 + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND USTM - NCEP 6000. 4.0 @@ -2942,127 +2772,133 @@ VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND VSTM - NCEP 6000. 4.0 - LCDC_ON_LOW_CLOUD_LYR - LCDC - 3.0 - - - - MCDC_ON_MID_CLOUD_LYR - MCDC + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VUCSH 3.0 - + - HCDC_ON_HIGH_CLOUD_LYR - HCDC + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VVCSH 3.0 - + - AVE_TCDC_ON_ENTIRE_ATMOS - TCDC + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VUCSH 3.0 - + - AVE_CDLYR_ON_ENTIRE_ATMOS - CDLYR - NCEP + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VVCSH 3.0 - PRES_ON_CLOUD_BASE + PRES_ON_TROPOPAUSE PRES - 6.0 + 6.0 - PRES_ON_CLOUD_TOP - PRES - 6.0 + HGT_ON_TROPOPAUSE + HGT + 6.0 - + - TMP_ON_CLOUD_TOP + TMP_ON_TROPOPAUSE TMP - 5.0 - - - - AVE_GFLUX_ON_SURFACE - GFLUX - NCEP - 4.0 + 3.0 - AVE_SNOHF_ON_SURFACE - SNOHF - NCEP - 4.0 + POT_ON_TROPOPAUSE + POT + 5.0 - ACM_EVP_ON_SURFACE - EVP + UGRD_ON_TROPOPAUSE + UGRD 4.0 - INST_SHTFL_ON_SURFACE - SHTFL + VGRD_ON_TROPOPAUSE + VGRD 4.0 - INST_LHTFL_ON_SURFACE - LHTFL - 4.0 + VWSH_ON_TROPOPAUSE + VWSH + 3.0 - PRES_ON_TROPOPAUSE + PRES_ON_MAX_WIND PRES 6.0 - + - HGT_ON_TROPOPAUSE + HGT_ON_MAX_WIND HGT 6.0 + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + - TMP_ON_TROPOPAUSE + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT TMP + 30. 50. 80. 100. 160. 320. 3.0 - UGRD_ON_TROPOPAUSE - UGRD - 4.0 + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + SPFH + 80. + 5.0 + + + + PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + PRES + 80. + 3.0 - VGRD_ON_TROPOPAUSE - VGRD + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. 50. 80. 100. 160. 320. 4.0 - VWSH_ON_TROPOPAUSE - VWSH - NCEP - 3.0 + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + VGRD + 30. 50. 80. 100. 160. 320. + 4.0 @@ -3072,6 +2908,13 @@ 3.0 + + SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + SPFH + 305. + 5.0 + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL UGRD @@ -3089,7 +2932,7 @@ HGT_ON_0C_ISOTHERM HGT - 6.0 + 6.0 @@ -3098,281 +2941,301 @@ 2.0 + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + HGT_ON_HGHST_TROP_FRZ_LVL HGT - 6.0 + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 - PRES_ON_MAX_WIND - PRES - 6.0 + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 - HGT_ON_MAX_WIND + HGT_ON_HGHST_TROP_-20C_LVL HGT - 6.0 + 3.0 - UGRD_ON_MAX_WIND - UGRD - 4.0 + HPBL_ON_SURFACE + HPBL + 6.0 - VGRD_ON_MAX_WIND - VGRD - 4.0 + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + HGT + 5.0 - + - MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m - WIND - -4.0 + PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC + PRES + 6.0 - HGT_ON_CLOUD_BASE + HGT_ON_EQUIL_LVL HGT - 6.0 + 3.0 - HGT_ON_CLOUD_TOP - HGT - 6.0 + ELMELT_ON_EFTL + -1.0 - GSD_VIS_ON_SURFACE - VIS + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. 6.0 - REFC_ON_ENTIRE_ATMOS - REFC + DENDRITIC_LAYER_DEPTH + LAYTH NCEP + isothermal + 261. + isothermal + 256. 4.0 - PRES_ON_GRID_SCALE_CLOUD_BOT_LVL - PRES - 6.0 + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 - PRES_ON_GRID_SCALE_CLOUD_TOP_LVL - PRES - 6.0 + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 - + - TCOLW_ON_ENTIRE_ATMOS - TCOLW + ELON_ON_SURFACE + ELON NCEP - 5.0 + 4.0 - + - TCOLI_ON_ENTIRE_ATMOS - TCOLI - NCEP - 5.0 + LAND_ON_SURFACE + LAND + 1.0 - TCOLR_ON_ENTIRE_ATMOS - TCOLR - NCEP - 5.0 + ICEC_ON_SURFACE + ICEC + 3.0 - TCOLS_ON_ENTIRE_ATMOS - TCOLS + LMH_ON_SURFACE + LMH NCEP - 5.0 + 2.0 - TCOLC_ON_ENTIRE_ATMOS - TCOLC + LMV_ON_SURFACE + LMV NCEP - 5.0 + 2.0 - TCOLG_ON_ENTIRE_ATMOS - TCOLG - 5.0 + ALBDO_ON_SURFACE + ALBDO + 3.0 - VGTYP_ON_SURFACE - VGTYP + MXSALB_ON_SURFACE + MXSALB NCEP 3.0 - SOTYP_ON_SURFACE - SOTYP - 3.0 + WTMP_ON_SURFACE + WTMP + 5.0 - CCOND_ON_SURFACE - CCOND + DOWNWARD_CAPE + DCAPE NCEP - 3.0 + spec_pres_above_grnd + 40000. + spec_pres_above_grnd + 0. + 4.0 - HPBL_ON_SURFACE - HPBL + UESH_ON_EFL + UESH NCEP - 6.0 + 6.0 + + + + VESH_ON_EFL + VESH + NCEP + 6.0 - SNOD_ON_SURFACE - SNOD - 6.0 + ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + ICEG + 10. + 4.0 - SBSNO_ON_SURFACE - SBSNO - NCEP - 3.0 + SDEN_ON_SURFACE + SDEN + 6.0 - SMDRY_ON_SURFACE - SMDRY - NCEP - 3.0 + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 - POROS_ON_SURFACE - POROS - NCEP - 3.0 + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 - RSMIN_ON_SURFACE - RSMIN - NCEP - 3.0 + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 - RLYRS_ON_SURFACE - RLYRS - NCEP - 3.0 + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 - WILT_ON_SURFACE - WILT - NCEP - 3.0 + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 - SMREF_ON_SURFACE - SMREF - NCEP - 3.0 + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 - RCS_ON_SURFACE - RCS - NCEP - 3.0 + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 - RCT_ON_SURFACE - RCT - NCEP - 5.0 + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 - RCQ_ON_SURFACE - RCQ - NCEP - 3.0 + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 - RCSOL_ON_SURFACE - RCSOL - NCEP - 3.0 + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 - PEVPR_ON_SURFACE - PEVPR - NCEP - 6.0 + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 - GUST_ON_SURFACE - GUST - 3.0 + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 - HGT_ON_LWST_LVL_OF_WET_BULB_ZERO - HGT - -5.0 + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 - LAI_ON_SURFACE - LAI - NCEP - -3.0 + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 - INST_CSDSF_ON_SURFACE - CSDSF - NCEP + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 4.0 - HGT_ON_PLANETARY_BOUND_LYR - HGT - -4.0 + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 - MIXHT_ON_SURFACE - MIXHT - -4.0 + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 - AVE_SNOWC_ON_SURFACE - SNOWC - NCEP - 3.0 + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 - + + diff --git a/parm/rrfs/rrfs_postcntrl_f00.xml b/parm/rrfs/rrfs_postcntrl_f00.xml new file mode 100755 index 0000000000..dc8154d273 --- /dev/null +++ b/parm/rrfs/rrfs_postcntrl_f00.xml @@ -0,0 +1,2645 @@ + + + + + PRSLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + DPT_ON_ISOBARIC_SFC + DPT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RH_ON_ISOBARIC_SFC + RH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 2.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + -5.0 + + + + ABSV_ON_ISOBARIC_SFC + ABSV + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + STRM_ON_ISOBARIC_SFC + STRM + 25000. 50000. + 3.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + CLMR_ON_ISOBARIC_SFC + CLMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + GRLE_ON_ISOBARIC_SFC + GRLE + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + MCONV_ON_ISOBARIC_SFC + MCONV + 85000. 95000. + 3.0 + + + + MCONV_ON_SPEC_PRES_ABOVE_GRND + MCONV + 3000. + 0. + 3.0 + + + + PLI_ON_SPEC_PRES_ABOVE_GRND + PLI + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. + 4.0 + + + + PRES_ON_SPEC_PRES_ABOVE_GRND + PRES + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 6.0 + + + + TMP_ON_SPEC_PRES_ABOVE_GRND + TMP + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 3.0 + + + + POT_ON_SPEC_PRES_ABOVE_GRND + POT + 3000. + 0. + 4.0 + + + + DPT_ON_SPEC_PRES_ABOVE_GRND + DPT + 3000. + 0. + 3.0 + + + + SPFH_ON_SPEC_PRES_ABOVE_GRND + SPFH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 5.0 + + + + RH_ON_SPEC_PRES_ABOVE_GRND + RH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 2.0 + + + + PWAT_ON_SPEC_PRES_ABOVE_GRND + PWAT + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_PRES_ABOVE_GRND + UGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + VGRD_ON_SPEC_PRES_ABOVE_GRND + VGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + + + NATLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + PRES + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + HGT_ON_HYBRID_LVL + HGT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + TMP_ON_HYBRID_LVL + TMP + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + POT_ON_HYBRID_LVL + POT + 1. 2. + 4.0 + + + + RH_ON_HYBRID_LVL + RH + 1. + 4.0 + + + + DPT_ON_HYBRID_LVL + DPT + 1. 2. + 5.0 + + + + SPFH_ON_HYBRID_LVL + SPFH + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 7.0 + + + + UGRD_ON_HYBRID_LVL + UGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + VGRD_ON_HYBRID_LVL + VGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + DZDT_ON_HYBRID_LVL + DZDT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + -5.0 + + + + TKE_ON_HYBRID_LVL + TKE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCWFA_ON_HYBRID_LVL + PMTF + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCIFA_ON_HYBRID_LVL + PMTC + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + REFD_ON_HYBRID_LVL + REFD + 1. 2. + 4.0 + + + + TCOND_ON_HYBRID_LVL + TCOND + 1. 2. + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + CFRZR + 1.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + CLMR_ON_HYBRID_LVL + CLMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCCD_ON_HYBRID_LVL + NCONCD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + ICMR_ON_HYBRID_LVL + ICMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCIP_ON_HYBRID_LVL + NCCICE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + GRLE_ON_HYBRID_LVL + GRLE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + TCDC_ON_HYBRID_LVL + TCDC + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + RWMR_ON_HYBRID_LVL + RWMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + SNMR_ON_HYBRID_LVL + SNMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + SPNCR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + SMOKE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + DUST_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + COARSEPM_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + + + 2DFLD + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + REFD_ON_SPEC_HGT_LVL_ABOVE_GRND + REFD + 1000. 4000. + 4.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + UGRD_ON_PLANETARY_BOUND_LYR + UGRD + -4.0 + + + + VGRD_ON_PLANETARY_BOUND_LYR + VGRD + -4.0 + + + + VRATE_ON_PLANETARY_BOUND_LYR + VRATE + NCEP + 3.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + UPHL + -3.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + VEG_MIN_ON_SURFACE + 3.0 + + + + VEG_MAX_ON_SURFACE + 3.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + BIOMASS_BURNING_EMISSIONS + 5.0 + + + + SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 + + + + SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + DUST_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 + + + + DUST_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + COARSEPM_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + COARSEPM_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 + + + + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + HWP_ON_SURFACE + 5.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + MCONV_ON_ENTIRE_ATMOS + MCONV + 5.0 + + + + HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 6.0 + + + + HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 5.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + GSD_HGT_ON_CLOUD_CEILING + HGT + 5.0 + + + + GSD_EXP_CEILING + CEIL + 5.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + BRTMP_ON_TOP_OF_ATMOS + BRTEMP + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 4.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VVCSH + 3.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VVCSH + 3.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + POT_ON_TROPOPAUSE + POT + 5.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + TMP + 30. 50. 80. 100. 160. 320. + 3.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + SPFH + 80. + 5.0 + + + + PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + PRES + 80. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + VGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + SPFH + 305. + 5.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + HGT + 5.0 + + + + PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC + PRES + 6.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + ELMELT_ON_EFTL + -1.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + DENDRITIC_LAYER_DEPTH + LAYTH + NCEP + isothermal + 261. + isothermal + 256. + 4.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + MXSALB_ON_SURFACE + MXSALB + NCEP + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + DOWNWARD_CAPE + DCAPE + NCEP + spec_pres_above_grnd + 40000. + spec_pres_above_grnd + 0. + 4.0 + + + + UESH_ON_EFL + UESH + NCEP + 6.0 + + + + VESH_ON_EFL + VESH + NCEP + 6.0 + + + + ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + ICEG + 10. + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + + diff --git a/parm/rrfs/rrfs_postcntrl_f01.xml b/parm/rrfs/rrfs_postcntrl_f01.xml new file mode 100755 index 0000000000..870a05d521 --- /dev/null +++ b/parm/rrfs/rrfs_postcntrl_f01.xml @@ -0,0 +1,3219 @@ + + + + + PRSLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + DPT_ON_ISOBARIC_SFC + DPT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RH_ON_ISOBARIC_SFC + RH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 2.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + -5.0 + + + + ABSV_ON_ISOBARIC_SFC + ABSV + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + STRM_ON_ISOBARIC_SFC + STRM + 25000. 50000. + 3.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + CLMR_ON_ISOBARIC_SFC + CLMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + GRLE_ON_ISOBARIC_SFC + GRLE + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + MCONV_ON_ISOBARIC_SFC + MCONV + 85000. 95000. + 3.0 + + + + MCONV_ON_SPEC_PRES_ABOVE_GRND + MCONV + 3000. + 0. + 3.0 + + + + PLI_ON_SPEC_PRES_ABOVE_GRND + PLI + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. + 4.0 + + + + PRES_ON_SPEC_PRES_ABOVE_GRND + PRES + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 6.0 + + + + TMP_ON_SPEC_PRES_ABOVE_GRND + TMP + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 3.0 + + + + POT_ON_SPEC_PRES_ABOVE_GRND + POT + 3000. + 0. + 4.0 + + + + DPT_ON_SPEC_PRES_ABOVE_GRND + DPT + 3000. + 0. + 3.0 + + + + SPFH_ON_SPEC_PRES_ABOVE_GRND + SPFH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 5.0 + + + + RH_ON_SPEC_PRES_ABOVE_GRND + RH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 2.0 + + + + PWAT_ON_SPEC_PRES_ABOVE_GRND + PWAT + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_PRES_ABOVE_GRND + UGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + VGRD_ON_SPEC_PRES_ABOVE_GRND + VGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + + + NATLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + PRES + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + HGT_ON_HYBRID_LVL + HGT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + TMP_ON_HYBRID_LVL + TMP + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + POT_ON_HYBRID_LVL + POT + 1. 2. + 4.0 + + + + RH_ON_HYBRID_LVL + RH + 1. + 4.0 + + + + DPT_ON_HYBRID_LVL + DPT + 1. 2. + 5.0 + + + + SPFH_ON_HYBRID_LVL + SPFH + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 7.0 + + + + UGRD_ON_HYBRID_LVL + UGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + VGRD_ON_HYBRID_LVL + VGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + DZDT_ON_HYBRID_LVL + DZDT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + -5.0 + + + + TKE_ON_HYBRID_LVL + TKE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCWFA_ON_HYBRID_LVL + PMTF + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCIFA_ON_HYBRID_LVL + PMTC + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + REFD_ON_HYBRID_LVL + REFD + 1. 2. + 4.0 + + + + TCOND_ON_HYBRID_LVL + TCOND + 1. 2. + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + NCEP + -3.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + NCEP + -3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MNUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_HAILCAST_HAIL_DIAMETER + 3.0 + + + + MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXUW + NCEP + 10. + -4.0 + + + + MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXVW + NCEP + 10. + -4.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + MAXREF + NCEP + -3.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + MAXREF + NCEP + -3.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMAX + 4.0 + + + + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMIN + 4.0 + + + + MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MAXRH + -2.0 + + + + MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MINRH + NCEP + -2.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_SNOWFALL_ON_SURFACE + TSNOWP + 4.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + CFRZR + 1.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + CLMR_ON_HYBRID_LVL + CLMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCCD_ON_HYBRID_LVL + NCONCD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + ICMR_ON_HYBRID_LVL + ICMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCIP_ON_HYBRID_LVL + NCCICE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + GRLE_ON_HYBRID_LVL + GRLE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + TCDC_ON_HYBRID_LVL + TCDC + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + RWMR_ON_HYBRID_LVL + RWMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + SNMR_ON_HYBRID_LVL + SNMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + SPNCR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + SMOKE_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + DUST_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + COARSEPM_ON_HYBRID_LVL + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + 3.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + 3.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + 3.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + 3.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + 3.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + AVE_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + AVE_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + ACM_PEVAP_ON_SURFACE + PEVAP + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + LTNG + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + + + 2DFLD + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + REFD_ON_SPEC_HGT_LVL_ABOVE_GRND + REFD + 1000. 4000. + 4.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + UGRD_ON_PLANETARY_BOUND_LYR + UGRD + -4.0 + + + + VGRD_ON_PLANETARY_BOUND_LYR + VGRD + -4.0 + + + + VRATE_ON_PLANETARY_BOUND_LYR + VRATE + NCEP + 3.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + NCEP + -3.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + NCEP + -3.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + MAXREF + NCEP + -3.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + MAXREF + NCEP + -3.0 + + + + UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + UPHL + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 + 5.0 + + + + GSD_HAILCAST_HAIL_DIAMETER + 3.0 + + + + GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + LTNG + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + GSD_ACM_SNOD_ON_SURFACE + ASNOW + 9.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + MAX_PRATE_ON_SURFACE + PRATE + 6.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_SNOWFALL_ON_SURFACE + TSNOWP + 4.0 + + + + BUCKET_SNOWFALL_ON_SURFACE + 6.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + BUCKET_FRAIN_ON_SURFACE + 6.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + 1H_FFG_EXCEEDANCE + 5.0 + + + + ACM_FFG_EXCEEDANCE + 5.0 + + + + 1H_2YARI_EXCEEDANCE + 5.0 + + + + ACM_2YARI_EXCEEDANCE + 5.0 + + + + 1H_5YARI_EXCEEDANCE + 5.0 + + + + ACM_5YARI_EXCEEDANCE + 5.0 + + + + 1H_10YARI_EXCEEDANCE + 5.0 + + + + ACM_10YARI_EXCEEDANCE + 5.0 + + + + 1H_100YARI_EXCEEDANCE + 5.0 + + + + ACM_100YARI_EXCEEDANCE + 5.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + AVE_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + AVE_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + ACM_PEVAP_ON_SURFACE + PEVAP + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMAX + 4.0 + + + + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMIN + 4.0 + + + + MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MAXRH + -2.0 + + + + MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MINRH + NCEP + -2.0 + + + + BIOMASS_BURNING_EMISSIONS + 5.0 + + + + SMOKE_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 + + + + SMOKE_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + DUST_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 + + + + DUST_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + COARSEPM_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + COARSEPM_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 + + + + AVE_PM25_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 + + + + AVE_PM10_ON_SPEC_HGT_LVL_ABOVE_GRND_8m + 6.0 + + + + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + HWP_ON_SURFACE + 5.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXUW + NCEP + 10. + -4.0 + + + + MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXVW + NCEP + 10. + -4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + MCONV_ON_ENTIRE_ATMOS + MCONV + 5.0 + + + + HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 6.0 + + + + HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 5.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + GSD_HGT_ON_CLOUD_CEILING + HGT + 5.0 + + + + GSD_EXP_CEILING + CEIL + 5.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + BRTMP_ON_TOP_OF_ATMOS + BRTEMP + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 4.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + 3.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + 3.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + 3.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + 3.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + 3.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 3.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VVCSH + 3.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VVCSH + 3.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + POT_ON_TROPOPAUSE + POT + 5.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + TMP + 30. 50. 80. 100. 160. 320. + 3.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + SPFH + 80. + 5.0 + + + + PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + PRES + 80. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + VGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + SPFH + 305. + 5.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + HGT + 5.0 + + + + PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC + PRES + 6.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + ELMELT_ON_EFTL + -1.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + DENDRITIC_LAYER_DEPTH + LAYTH + NCEP + isothermal + 261. + isothermal + 256. + 4.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + MXSALB_ON_SURFACE + MXSALB + NCEP + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + DOWNWARD_CAPE + DCAPE + NCEP + spec_pres_above_grnd + 40000. + spec_pres_above_grnd + 0. + 4.0 + + + + UESH_ON_EFL + UESH + NCEP + 6.0 + + + + VESH_ON_EFL + VESH + NCEP + 6.0 + + + + ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + ICEG + 10. + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + + diff --git a/parm/rrfs/rrfs_postcntrl_firewx.xml b/parm/rrfs/rrfs_postcntrl_firewx.xml new file mode 100755 index 0000000000..4727efa1a1 --- /dev/null +++ b/parm/rrfs/rrfs_postcntrl_firewx.xml @@ -0,0 +1,3154 @@ + + + + + PRSLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + DPT_ON_ISOBARIC_SFC + DPT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RH_ON_ISOBARIC_SFC + RH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 2.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + -5.0 + + + + ABSV_ON_ISOBARIC_SFC + ABSV + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + STRM_ON_ISOBARIC_SFC + STRM + 25000. 50000. + 3.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + CLMR_ON_ISOBARIC_SFC + CLMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + GRLE_ON_ISOBARIC_SFC + GRLE + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + MCONV_ON_ISOBARIC_SFC + MCONV + 85000. 95000. + 3.0 + + + + MCONV_ON_SPEC_PRES_ABOVE_GRND + MCONV + 3000. + 0. + 3.0 + + + + PLI_ON_SPEC_PRES_ABOVE_GRND + PLI + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. + 4.0 + + + + PRES_ON_SPEC_PRES_ABOVE_GRND + PRES + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 6.0 + + + + TMP_ON_SPEC_PRES_ABOVE_GRND + TMP + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 3.0 + + + + POT_ON_SPEC_PRES_ABOVE_GRND + POT + 3000. + 0. + 4.0 + + + + DPT_ON_SPEC_PRES_ABOVE_GRND + DPT + 3000. + 0. + 3.0 + + + + SPFH_ON_SPEC_PRES_ABOVE_GRND + SPFH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 5.0 + + + + RH_ON_SPEC_PRES_ABOVE_GRND + RH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 2.0 + + + + PWAT_ON_SPEC_PRES_ABOVE_GRND + PWAT + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_PRES_ABOVE_GRND + UGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + VGRD_ON_SPEC_PRES_ABOVE_GRND + VGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + + + NATLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + PRES + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + HGT_ON_HYBRID_LVL + HGT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + TMP_ON_HYBRID_LVL + TMP + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + POT_ON_HYBRID_LVL + POT + 1. 2. + 4.0 + + + + RH_ON_HYBRID_LVL + RH + 1. + 4.0 + + + + DPT_ON_HYBRID_LVL + DPT + 1. 2. + 5.0 + + + + SPFH_ON_HYBRID_LVL + SPFH + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 7.0 + + + + UGRD_ON_HYBRID_LVL + UGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + VGRD_ON_HYBRID_LVL + VGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + DZDT_ON_HYBRID_LVL + DZDT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + -5.0 + + + + TKE_ON_HYBRID_LVL + TKE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + REFD_ON_HYBRID_LVL + REFD + 1. 2. + 4.0 + + + + TCOND_ON_HYBRID_LVL + TCOND + 1. 2. + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + NCEP + -3.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + NCEP + -3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MNUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_HAILCAST_HAIL_DIAMETER + 3.0 + + + + MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXUW + NCEP + 10. + -4.0 + + + + MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXVW + NCEP + 10. + -4.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + MAXREF + NCEP + -3.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + MAXREF + NCEP + -3.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMAX + 4.0 + + + + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMIN + 4.0 + + + + MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MAXRH + -2.0 + + + + MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MINRH + NCEP + -2.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + CACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_SNOWFALL_ON_SURFACE + TSNOWP + 4.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + CFRZR + 1.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + CLMR_ON_HYBRID_LVL + CLMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCCD_ON_HYBRID_LVL + NCONCD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + ICMR_ON_HYBRID_LVL + ICMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCIP_ON_HYBRID_LVL + NCCICE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + GRLE_ON_HYBRID_LVL + GRLE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + TCDC_ON_HYBRID_LVL + TCDC + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + RWMR_ON_HYBRID_LVL + RWMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + SNMR_ON_HYBRID_LVL + SNMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + SPNCR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + 3.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + 3.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + 3.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + 3.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + 3.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + AVE_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + AVE_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + ACM_PEVAP_ON_SURFACE + PEVAP + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + LTNG + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + + + 2DFLD + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + REFD_ON_SPEC_HGT_LVL_ABOVE_GRND + REFD + 1000. 4000. + 4.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + UGRD_ON_PLANETARY_BOUND_LYR + UGRD + -4.0 + + + + VGRD_ON_PLANETARY_BOUND_LYR + VGRD + -4.0 + + + + VRATE_ON_PLANETARY_BOUND_LYR + VRATE + NCEP + 3.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + NCEP + -3.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + NCEP + -3.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + MAXREF + NCEP + -3.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + MAXREF + NCEP + -3.0 + + + + UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + UPHL + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 + 5.0 + + + + GSD_HAILCAST_HAIL_DIAMETER + 3.0 + + + + GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + LTNG + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + GSD_ACM_SNOD_ON_SURFACE + ASNOW + 9.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + MAX_PRATE_ON_SURFACE + PRATE + 6.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + CACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_SNOWFALL_ON_SURFACE + TSNOWP + 4.0 + + + + BUCKET_SNOWFALL_ON_SURFACE + 6.0 + + + + ACM_GRAUPEL_ON_SURFACE + 6.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + ACM_FRAIN_ON_SURFACE + 6.0 + + + + BUCKET_FRAIN_ON_SURFACE + 6.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + 1H_FFG_EXCEEDANCE + 5.0 + + + + ACM_FFG_EXCEEDANCE + 5.0 + + + + 1H_2YARI_EXCEEDANCE + 5.0 + + + + ACM_2YARI_EXCEEDANCE + 5.0 + + + + 1H_5YARI_EXCEEDANCE + 5.0 + + + + ACM_5YARI_EXCEEDANCE + 5.0 + + + + 1H_10YARI_EXCEEDANCE + 5.0 + + + + ACM_10YARI_EXCEEDANCE + 5.0 + + + + 1H_100YARI_EXCEEDANCE + 5.0 + + + + ACM_100YARI_EXCEEDANCE + 5.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + AVE_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + AVE_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + ACM_PEVAP_ON_SURFACE + PEVAP + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMAX + 4.0 + + + + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMIN + 4.0 + + + + MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MAXRH + -2.0 + + + + MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MINRH + NCEP + -2.0 + + + + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + HWP_ON_SURFACE + 5.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXUW + NCEP + 10. + -4.0 + + + + MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXVW + NCEP + 10. + -4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + MCONV_ON_ENTIRE_ATMOS + MCONV + 5.0 + + + + HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 6.0 + + + + HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 5.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + GSD_HGT_ON_CLOUD_CEILING + HGT + 5.0 + + + + GSD_EXP_CEILING + CEIL + 5.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + BRTMP_ON_TOP_OF_ATMOS + BRTEMP + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 4.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + 3.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + 3.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + 3.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + 3.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + 3.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 3.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VVCSH + 3.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VVCSH + 3.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + POT_ON_TROPOPAUSE + POT + 5.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + TMP + 30. 50. 80. 100. 160. 320. + 3.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + SPFH + 80. + 5.0 + + + + PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + PRES + 80. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + VGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + SPFH + 305. + 5.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + HGT + 5.0 + + + + PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC + PRES + 6.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + ELMELT_ON_EFTL + -1.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + DENDRITIC_LAYER_DEPTH + LAYTH + NCEP + isothermal + 261. + isothermal + 256. + 4.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + MXSALB_ON_SURFACE + MXSALB + NCEP + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + DOWNWARD_CAPE + DCAPE + NCEP + spec_pres_above_grnd + 40000. + spec_pres_above_grnd + 0. + 4.0 + + + + UESH_ON_EFL + UESH + NCEP + 6.0 + + + + VESH_ON_EFL + VESH + NCEP + 6.0 + + + + ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + ICEG + 10. + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + + diff --git a/parm/rrfs/rrfs_postcntrl_firewx_f00.xml b/parm/rrfs/rrfs_postcntrl_firewx_f00.xml new file mode 100755 index 0000000000..83bb67997e --- /dev/null +++ b/parm/rrfs/rrfs_postcntrl_firewx_f00.xml @@ -0,0 +1,2568 @@ + + + + + PRSLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + DPT_ON_ISOBARIC_SFC + DPT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RH_ON_ISOBARIC_SFC + RH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 2.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + -5.0 + + + + ABSV_ON_ISOBARIC_SFC + ABSV + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + STRM_ON_ISOBARIC_SFC + STRM + 25000. 50000. + 3.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + CLMR_ON_ISOBARIC_SFC + CLMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + GRLE_ON_ISOBARIC_SFC + GRLE + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + MCONV_ON_ISOBARIC_SFC + MCONV + 85000. 95000. + 3.0 + + + + MCONV_ON_SPEC_PRES_ABOVE_GRND + MCONV + 3000. + 0. + 3.0 + + + + PLI_ON_SPEC_PRES_ABOVE_GRND + PLI + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. + 4.0 + + + + PRES_ON_SPEC_PRES_ABOVE_GRND + PRES + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 6.0 + + + + TMP_ON_SPEC_PRES_ABOVE_GRND + TMP + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 3.0 + + + + POT_ON_SPEC_PRES_ABOVE_GRND + POT + 3000. + 0. + 4.0 + + + + DPT_ON_SPEC_PRES_ABOVE_GRND + DPT + 3000. + 0. + 3.0 + + + + SPFH_ON_SPEC_PRES_ABOVE_GRND + SPFH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 5.0 + + + + RH_ON_SPEC_PRES_ABOVE_GRND + RH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 2.0 + + + + PWAT_ON_SPEC_PRES_ABOVE_GRND + PWAT + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_PRES_ABOVE_GRND + UGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + VGRD_ON_SPEC_PRES_ABOVE_GRND + VGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + + + NATLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + PRES + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + HGT_ON_HYBRID_LVL + HGT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + TMP_ON_HYBRID_LVL + TMP + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + POT_ON_HYBRID_LVL + POT + 1. 2. + 4.0 + + + + RH_ON_HYBRID_LVL + RH + 1. + 4.0 + + + + DPT_ON_HYBRID_LVL + DPT + 1. 2. + 5.0 + + + + SPFH_ON_HYBRID_LVL + SPFH + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 7.0 + + + + UGRD_ON_HYBRID_LVL + UGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + VGRD_ON_HYBRID_LVL + VGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + DZDT_ON_HYBRID_LVL + DZDT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + -5.0 + + + + TKE_ON_HYBRID_LVL + TKE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + REFD_ON_HYBRID_LVL + REFD + 1. 2. + 4.0 + + + + TCOND_ON_HYBRID_LVL + TCOND + 1. 2. + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + CFRZR + 1.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + CLMR_ON_HYBRID_LVL + CLMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCCD_ON_HYBRID_LVL + NCONCD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + ICMR_ON_HYBRID_LVL + ICMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCIP_ON_HYBRID_LVL + NCCICE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + GRLE_ON_HYBRID_LVL + GRLE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + TCDC_ON_HYBRID_LVL + TCDC + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + RWMR_ON_HYBRID_LVL + RWMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + SNMR_ON_HYBRID_LVL + SNMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + SPNCR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + + + 2DFLD + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + REFD_ON_SPEC_HGT_LVL_ABOVE_GRND + REFD + 1000. 4000. + 4.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + UGRD_ON_PLANETARY_BOUND_LYR + UGRD + -4.0 + + + + VGRD_ON_PLANETARY_BOUND_LYR + VGRD + -4.0 + + + + VRATE_ON_PLANETARY_BOUND_LYR + VRATE + NCEP + 3.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + UPHL + -3.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + VEG_MIN_ON_SURFACE + 3.0 + + + + VEG_MAX_ON_SURFACE + 3.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + HWP_ON_SURFACE + 5.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + MCONV_ON_ENTIRE_ATMOS + MCONV + 5.0 + + + + HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 6.0 + + + + HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 5.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + GSD_HGT_ON_CLOUD_CEILING + HGT + 5.0 + + + + GSD_EXP_CEILING + CEIL + 5.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + BRTMP_ON_TOP_OF_ATMOS + BRTEMP + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 4.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VVCSH + 3.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VVCSH + 3.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + POT_ON_TROPOPAUSE + POT + 5.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + TMP + 30. 50. 80. 100. 160. 320. + 3.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + SPFH + 80. + 5.0 + + + + PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + PRES + 80. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + VGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + SPFH + 305. + 5.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + HGT + 5.0 + + + + PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC + PRES + 6.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + ELMELT_ON_EFTL + -1.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + DENDRITIC_LAYER_DEPTH + LAYTH + NCEP + isothermal + 261. + isothermal + 256. + 4.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + MXSALB_ON_SURFACE + MXSALB + NCEP + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + DOWNWARD_CAPE + DCAPE + NCEP + spec_pres_above_grnd + 40000. + spec_pres_above_grnd + 0. + 4.0 + + + + UESH_ON_EFL + UESH + NCEP + 6.0 + + + + VESH_ON_EFL + VESH + NCEP + 6.0 + + + + ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + ICEG + 10. + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + + diff --git a/parm/rrfs/rrfs_postcntrl_firewx_f01.xml b/parm/rrfs/rrfs_postcntrl_firewx_f01.xml new file mode 100755 index 0000000000..0b24840c84 --- /dev/null +++ b/parm/rrfs/rrfs_postcntrl_firewx_f01.xml @@ -0,0 +1,3132 @@ + + + + + PRSLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + HGT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + TMP + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + DPT_ON_ISOBARIC_SFC + DPT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 5.0 + + + + SPFH_ON_ISOBARIC_SFC + SPFH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RH_ON_ISOBARIC_SFC + RH + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 2.0 + + + + UGRD_ON_ISOBARIC_SFC + UGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + VGRD + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + DZDT_ON_ISOBARIC_SFC + DZDT + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + -5.0 + + + + ABSV_ON_ISOBARIC_SFC + ABSV + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + STRM_ON_ISOBARIC_SFC + STRM + 25000. 50000. + 3.0 + + + + ICMR_ON_ISOBARIC_SFC + ICMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 6.0 + + + + CLMR_ON_ISOBARIC_SFC + CLMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 4.0 + + + + RWMR_ON_ISOBARIC_SFC + RWMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + GRLE_ON_ISOBARIC_SFC + GRLE + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + SNMR_ON_ISOBARIC_SFC + SNMR + 200. 500. 700. 1000. 2000. 3000. 5000. 7000. 7500. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. 45000. +47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 3.0 + + + + MCONV_ON_ISOBARIC_SFC + MCONV + 85000. 95000. + 3.0 + + + + MCONV_ON_SPEC_PRES_ABOVE_GRND + MCONV + 3000. + 0. + 3.0 + + + + PLI_ON_SPEC_PRES_ABOVE_GRND + PLI + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. + 4.0 + + + + PRES_ON_SPEC_PRES_ABOVE_GRND + PRES + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 6.0 + + + + TMP_ON_SPEC_PRES_ABOVE_GRND + TMP + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 3.0 + + + + POT_ON_SPEC_PRES_ABOVE_GRND + POT + 3000. + 0. + 4.0 + + + + DPT_ON_SPEC_PRES_ABOVE_GRND + DPT + 3000. + 0. + 3.0 + + + + SPFH_ON_SPEC_PRES_ABOVE_GRND + SPFH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 5.0 + + + + RH_ON_SPEC_PRES_ABOVE_GRND + RH + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 2.0 + + + + PWAT_ON_SPEC_PRES_ABOVE_GRND + PWAT + 3000. + 0. + 3.0 + + + + UGRD_ON_SPEC_PRES_ABOVE_GRND + UGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + VGRD_ON_SPEC_PRES_ABOVE_GRND + VGRD + 3000. 6000. 9000. 12000. 15000. 18000. + 0. 3000. 6000. 9000. 12000. 15000. + 4.0 + + + + + + NATLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + PRES_ON_HYBRID_LVL + PRES + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 6.0 + + + + HGT_ON_HYBRID_LVL + HGT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + TMP_ON_HYBRID_LVL + TMP + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + POT_ON_HYBRID_LVL + POT + 1. 2. + 4.0 + + + + RH_ON_HYBRID_LVL + RH + 1. + 4.0 + + + + DPT_ON_HYBRID_LVL + DPT + 1. 2. + 5.0 + + + + SPFH_ON_HYBRID_LVL + SPFH + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 7.0 + + + + UGRD_ON_HYBRID_LVL + UGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + VGRD_ON_HYBRID_LVL + VGRD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 4.0 + + + + DZDT_ON_HYBRID_LVL + DZDT + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + -5.0 + + + + TKE_ON_HYBRID_LVL + TKE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + REFD_ON_HYBRID_LVL + REFD + 1. 2. + 4.0 + + + + TCOND_ON_HYBRID_LVL + TCOND + 1. 2. + 3.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + NCEP + -3.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + NCEP + -3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MNUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_HAILCAST_HAIL_DIAMETER + 3.0 + + + + MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXUW + NCEP + 10. + -4.0 + + + + MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXVW + NCEP + 10. + -4.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + MAXREF + NCEP + -3.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + MAXREF + NCEP + -3.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMAX + 4.0 + + + + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMIN + 4.0 + + + + MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MAXRH + -2.0 + + + + MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MINRH + NCEP + -2.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_SNOWFALL_ON_SURFACE + TSNOWP + 4.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + CFRZR + 1.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + CLMR_ON_HYBRID_LVL + CLMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCCD_ON_HYBRID_LVL + NCONCD + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + ICMR_ON_HYBRID_LVL + ICMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCIP_ON_HYBRID_LVL + NCCICE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + GRLE_ON_HYBRID_LVL + GRLE + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + TCDC_ON_HYBRID_LVL + TCDC + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + RWMR_ON_HYBRID_LVL + RWMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + SNMR_ON_HYBRID_LVL + SNMR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + NCRAIN_ON_HYBRID_LVL + SPNCR + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. +25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. +49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. + 3.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + 3.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + 3.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + 3.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + 3.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + 3.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + AVE_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + AVE_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + ACM_PEVAP_ON_SURFACE + PEVAP + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + LTNG + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + + + 2DFLD + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + MSLET_ON_MEAN_SEA_LVL + MSLET + NCEP + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + REFD_ON_SPEC_HGT_LVL_ABOVE_GRND + REFD + 1000. 4000. + 4.0 + + + + REFD_ON_ISOTHERMAL + REFD + isothermal + 263. + -4.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + UGRD_ON_PLANETARY_BOUND_LYR + UGRD + -4.0 + + + + VGRD_ON_PLANETARY_BOUND_LYR + VGRD + -4.0 + + + + VRATE_ON_PLANETARY_BOUND_LYR + VRATE + NCEP + 3.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + MAX_MAXUVV_ON_ISOBARIC_SFC_100-1000hpa + MAXUVV + NCEP + -3.0 + + + + MAX_MAXDVV_ON_ISOBARIC_SFC_100-1000hpa + MAXDVV + NCEP + -3.0 + + + + MAX_REF_ON_SPEC_HGT_LVL_ABOVE_GRND_1km + MAXREF + NCEP + -3.0 + + + + MAX_REF_ON_ISOTHERMAL_-10C + MAXREF + NCEP + -3.0 + + + + UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + UPHL + -3.0 + + + + MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MXUPHL + NCEP + -3.0 + + + + GSD_MIN_UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_0-3km + MNUPHL + NCEP + -3.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-2km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + 5.0 + + + + GSD_MAX_REL_VORT_ON_SPEC_HGT_LVL_HYBRID1 + 5.0 + + + + GSD_HAILCAST_HAIL_DIAMETER + 3.0 + + + + GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND + 4.0 + + + + GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS + LTNG + 4.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + TMP_ON_SURFACE + TMP + 4.0 + + + + POT_ON_SURFACE + POT + 5.0 + + + + SPFH_ON_SURFACE + SPFH + 3.0 + + + + TSOIL_ON_DEPTH_BEL_LAND_SFC + TSOIL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 4.0 + + + + SOILW_ON_DEPTH_BEL_LAND_SFC + SOILW + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + SOILL_ON_DEPTH_BEL_LAND_SFC + SOILL + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 2 + 0. 1. 4. 10. 30. 60. 100. 160. 300. + 3.0 + + + + RUC_MSTAV_ON_DEPTH_BEL_LAND_SFC + 3.0 + + + + CISOILM_ON_DEPTH_BEL_LAND_SFC + CISOILM + 3.0 + + + + CNWAT_ON_SURFACE + CNWAT + 1.0 + + + + WEASD_ON_SURFACE + WEASD + 4.0 + + + + SNOWC_ON_SURFACE + SNOWC + 3.0 + + + + SNOD_ON_SURFACE + SNOD + 6.0 + + + + GSD_ACM_SNOD_ON_SURFACE + ASNOW + 9.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + MAX_PRATE_ON_SURFACE + PRATE + 6.0 + + + + ACM_APCP_ON_SURFACE + APCP + -4.0 + + + + ACM_SNOWFALL_ON_SURFACE + TSNOWP + 4.0 + + + + BUCKET_SNOWFALL_ON_SURFACE + 6.0 + + + + BUCKET_GRAUPEL_ON_SURFACE + 6.0 + + + + BUCKET_FRAIN_ON_SURFACE + 6.0 + + + + ACM_SNOM_ON_SURFACE + SNOM + 4.0 + + + + ACM_SSRUN_ON_SURFACE + SSRUN + 6.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + HGT_ON_LWST_LVL_OF_WET_BULB_ZERO + HGT + -5.0 + + + + 1H_FFG_EXCEEDANCE + 5.0 + + + + ACM_FFG_EXCEEDANCE + 5.0 + + + + 1H_2YARI_EXCEEDANCE + 5.0 + + + + ACM_2YARI_EXCEEDANCE + 5.0 + + + + 1H_5YARI_EXCEEDANCE + 5.0 + + + + ACM_5YARI_EXCEEDANCE + 5.0 + + + + 1H_10YARI_EXCEEDANCE + 5.0 + + + + ACM_10YARI_EXCEEDANCE + 5.0 + + + + 1H_100YARI_EXCEEDANCE + 5.0 + + + + ACM_100YARI_EXCEEDANCE + 5.0 + + + + PEVPR_ON_SURFACE + PEVPR + NCEP + 6.0 + + + + SBSNO_ON_SURFACE + SBSNO + NCEP + 3.0 + + + + SMDRY_ON_SURFACE + SMDRY + NCEP + 3.0 + + + + POROS_ON_SURFACE + POROS + NCEP + 3.0 + + + + AVE_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + AVE_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + AVE_GFLUX_ON_SURFACE + GFLUX + NCEP + 4.0 + + + + AVE_SNOHF_ON_SURFACE + SNOHF + 4.0 + + + + ACM_PEVAP_ON_SURFACE + PEVAP + 4.0 + + + + INST_LHTFL_ON_SURFACE + LHTFL + 4.0 + + + + INST_SHTFL_ON_SURFACE + SHTFL + 4.0 + + + + INST_GFLUX_ON_SURFACE + GFLUX + NCEP + 3.0 + + + + SFCR_ON_SURFACE + SFCR + 2.7 + + + + FRICV_ON_SURFACE + FRICV + 4.0 + + + + CD_ON_SURFACE + CD + 3.0 + + + + SFEXC_ON_SURFACE + SFEXC + 3.0 + + + + LAI_ON_SURFACE + LAI + NCEP + -3.0 + + + + VEG_ON_SURFACE + VEG + 3.0 + + + + VGTYP_ON_SURFACE + VGTYP + NCEP + 3.0 + + + + SOTYP_ON_SURFACE + SOTYP + 3.0 + + + + RSMIN_ON_SURFACE + RSMIN + 3.0 + + + + RLYRS_ON_SURFACE + RLYRS + 3.0 + + + + WILT_ON_SURFACE + WILT + NCEP + 3.0 + + + + SMREF_ON_SURFACE + SMREF + NCEP + 3.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + GSD_DEPR_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + -4.0 + + + + RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + RH + 3.0 + + + + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMAX + 4.0 + + + + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMIN + 4.0 + + + + MAX_MAXRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MAXRH + -2.0 + + + + MIN_MINRH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + MINRH + NCEP + -2.0 + + + + AOD_ON_ENTIRE_ATMOS_SINGLE_LYR + 5.0 + + + + HWP_ON_SURFACE + 5.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + MAX_MAXUW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXUW + NCEP + 10. + -4.0 + + + + MAX_MAXVW_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + MAXVW + NCEP + 10. + -4.0 + + + + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + WIND + -4.0 + + + + PRES_ON_TOP_OF_ATMOS + PRES + 3.0 + + + + LFTX_ON_ISOBARIC_SFC_500-1000hpa + LFTX + 50000. + 100000. + 3.0 + + + + 4LFTX_ON_SPEC_PRES_ABOVE_GRND + 4LFTX + 18000. + 0. + 3.0 + + + + CAPE_ON_SURFACE + CAPE + 4.0 + + + + BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 9000. + 0. + 4.0 + + + + UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND + CAPE + 25500. + 0. + 4.0 + + + + CAPE_ON_0_3KM_ABOVE_GRND + 0. + 3000. + 4.0 + + + + CIN_ON_SURFACE + CIN + 4.0 + + + + BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 18000. + 0. + 4.0 + + + + MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 9000. + 0. + 4.0 + + + + UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + CIN + 25500. + 0. + 4.0 + + + + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + PWAT + 3.0 + + + + MCONV_ON_ENTIRE_ATMOS + MCONV + 5.0 + + + + HGT_ON_LWST_BOT_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 6.0 + + + + HGT_ON_HGHST_TOP_LVL_OF_SUPERCOOLED_LIQ_WATER_LYR + HGT + 5.0 + + + + LCDC_ON_LOW_CLOUD_LYR + LCDC + 3.0 + + + + MCDC_ON_MID_CLOUD_LYR + MCDC + 3.0 + + + + HCDC_ON_HIGH_CLOUD_LYR + HCDC + 3.0 + + + + TCDC_ON_BOUND_LYR + TCDC + 3.0 + + + + INST_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + AVE_TCDC_ON_ENTIRE_ATMOS + TCDC + 3.0 + + + + PRES_ON_CLOUD_BASE + PRES + 6.0 + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + GSD_HGT_ON_CLOUD_CEILING + HGT + 5.0 + + + + GSD_EXP_CEILING + CEIL + 5.0 + + + + PRES_ON_CLOUD_TOP + PRES + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + TMP_ON_CLOUD_TOP + TMP + 5.0 + + + + PRES_ON_GRID_SCALE_CLOUD_BOT_LVL + PRES + 6.0 + + + + PRES_ON_GRID_SCALE_CLOUD_TOP_LVL + PRES + 6.0 + + + + BRTMP_ON_TOP_OF_ATMOS + BRTEMP + 3.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + 4.0 + + + + INST_USWRF_ON_SURFACE + USWRF + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 4.0 + + + + AVE_DSWRF_ON_SURFACE + DSWRF + 3.0 + + + + AVE_DLWRF_ON_SURFACE + DLWRF + 3.0 + + + + AVE_USWRF_ON_SURFACE + USWRF + 3.0 + + + + AVE_ULWRF_ON_SURFACE + ULWRF + 3.0 + + + + AVE_USWRF_ON_TOP_OF_ATMOS + USWRF + 3.0 + + + + AVE_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 3.0 + + + + INST_CSDSF_ON_SURFACE + CSDSF + NCEP + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + HLCY + 3000. 1000. + 4.0 + + + + EFF_HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + EFHL + surface + 3.0 + + + + CRITICAL_ANGLE + CANGLE + 0. + 500. + 3.0 + + + + USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + USTM + 6000. + 4.0 + + + + VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND + VSTM + 6000. + 4.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-1km + VVCSH + 3.0 + + + + VUCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VUCSH + 3.0 + + + + VVCSH_ON_SPEC_HGT_LVL_ABOVE_GRND_0-6km + VVCSH + 3.0 + + + + PRES_ON_TROPOPAUSE + PRES + 6.0 + + + + HGT_ON_TROPOPAUSE + HGT + 6.0 + + + + TMP_ON_TROPOPAUSE + TMP + 3.0 + + + + POT_ON_TROPOPAUSE + POT + 5.0 + + + + UGRD_ON_TROPOPAUSE + UGRD + 4.0 + + + + VGRD_ON_TROPOPAUSE + VGRD + 4.0 + + + + VWSH_ON_TROPOPAUSE + VWSH + 3.0 + + + + PRES_ON_MAX_WIND + PRES + 6.0 + + + + HGT_ON_MAX_WIND + HGT + 6.0 + + + + UGRD_ON_MAX_WIND + UGRD + 4.0 + + + + VGRD_ON_MAX_WIND + VGRD + 4.0 + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + TMP + 30. 50. 80. 100. 160. 320. + 3.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + SPFH + 80. + 5.0 + + + + PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + PRES + 80. + 3.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + VGRD + 30. 50. 80. 100. 160. 320. + 4.0 + + + + TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + TMP + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 3.0 + + + + SPFH_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + SPFH + 305. + 5.0 + + + + UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + UGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + VGRD + 305. 457. 610. 914. 1524. 1829. 2134. 2743. 3658. 4572. + 4.0 + + + + HGT_ON_0C_ISOTHERM + HGT + 6.0 + + + + RH_ON_0C_ISOTHERM + RH + 2.0 + + + + GSD_PRES_ON_0C_ISOTHERM + 3.0 + + + + HGT_ON_HGHST_TROP_FRZ_LVL + HGT + 6.0 + + + + RH_ON_HGHST_TROP_FRZ_LVL + RH + -0.1 + + + + GSD_PRES_ON_HGHST_TROP_FRZ_LVL + 3.0 + + + + HGT_ON_HGHST_TROP_-20C_LVL + HGT + 3.0 + + + + HPBL_ON_SURFACE + HPBL + 6.0 + + + + HGT_ON_LVL_OF_ADIAB_COND_FROM_SFC + HGT + 5.0 + + + + PRES_ON_LVL_OF_ADIAB_COND_FROM_SFC + PRES + 6.0 + + + + HGT_ON_EQUIL_LVL + HGT + 3.0 + + + + ELMELT_ON_EFTL + -1.0 + + + + PLPL_ON_SPEC_PRES_ABOVE_GRND + PLPL + NCEP + 25500. + 0. + 6.0 + + + + DENDRITIC_LAYER_DEPTH + LAYTH + NCEP + isothermal + 261. + isothermal + 256. + 4.0 + + + + GSD_RH_WRT_PRECIP_WATER_ON_ENTIRE_ATMOS + RHPW + NCEP + -0.1 + + + + NLAT_ON_SURFACE + NLAT + NCEP + 4.0 + + + + ELON_ON_SURFACE + ELON + NCEP + 4.0 + + + + LAND_ON_SURFACE + LAND + 1.0 + + + + ICEC_ON_SURFACE + ICEC + 3.0 + + + + LMH_ON_SURFACE + LMH + NCEP + 2.0 + + + + LMV_ON_SURFACE + LMV + NCEP + 2.0 + + + + ALBDO_ON_SURFACE + ALBDO + 3.0 + + + + MXSALB_ON_SURFACE + MXSALB + NCEP + 3.0 + + + + WTMP_ON_SURFACE + WTMP + 5.0 + + + + DOWNWARD_CAPE + DCAPE + NCEP + spec_pres_above_grnd + 40000. + spec_pres_above_grnd + 0. + 4.0 + + + + UESH_ON_EFL + UESH + NCEP + 6.0 + + + + VESH_ON_EFL + VESH + NCEP + 6.0 + + + + ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL + ICEG + 10. + 4.0 + + + + SDEN_ON_SURFACE + SDEN + 6.0 + + + + SBTA167_ON_TOP_OF_ATMOS + SBTA167 + 4.0 + + + + SBTA168_ON_TOP_OF_ATMOS + SBTA168 + 4.0 + + + + SBTA169_ON_TOP_OF_ATMOS + SBTA169 + 4.0 + + + + SBTA1610_ON_TOP_OF_ATMOS + SBTA1610 + 4.0 + + + + SBTA1611_ON_TOP_OF_ATMOS + SBTA1611 + 4.0 + + + + SBTA1612_ON_TOP_OF_ATMOS + SBTA1612 + 4.0 + + + + SBTA1613_ON_TOP_OF_ATMOS + SBTA1613 + 4.0 + + + + SBTA1614_ON_TOP_OF_ATMOS + SBTA1614 + 4.0 + + + + SBTA1615_ON_TOP_OF_ATMOS + SBTA1615 + 4.0 + + + + SBTA1616_ON_TOP_OF_ATMOS + SBTA1616 + 4.0 + + + + SBTA188_ON_TOP_OF_ATMOS + SBTA188 + 4.0 + + + + SBTA189_ON_TOP_OF_ATMOS + SBTA189 + 4.0 + + + + SBTA1810_ON_TOP_OF_ATMOS + SBTA1810 + 4.0 + + + + SBTA1811_ON_TOP_OF_ATMOS + SBTA1811 + 4.0 + + + + SBTA1812_ON_TOP_OF_ATMOS + SBTA1812 + 4.0 + + + + SBTA1813_ON_TOP_OF_ATMOS + SBTA1813 + 4.0 + + + + SBTA1814_ON_TOP_OF_ATMOS + SBTA1814 + 4.0 + + + + SBTA1815_ON_TOP_OF_ATMOS + SBTA1815 + 4.0 + + + + SBTA1816_ON_TOP_OF_ATMOS + SBTA1816 + 4.0 + + + + + diff --git a/parm/rrfs/rrfs_postcntrl_subh.xml b/parm/rrfs/rrfs_postcntrl_subh.xml new file mode 100755 index 0000000000..7477bf8e32 --- /dev/null +++ b/parm/rrfs/rrfs_postcntrl_subh.xml @@ -0,0 +1,261 @@ + + + + + PRSLEV + 32769 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + minute + nws_ncep + rrfs + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + + TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + TMP + 4.0 + + + + SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + SPFH + 4.0 + + + + DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + DPT + 4.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + UGRD + 10. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + VGRD + 10. + 4.0 + + + + GUST_ON_SURFACE + GUST + 3.0 + + + + PRES_ON_SURFACE + PRES + 6.0 + + + + HGT_ON_SURFACE + HGT + 6.0 + + + + GSD_ACM_SNOD_ON_SURFACE + 9.0 + + + + CACM_APCP_ON_SURFACE + -4.0 + + + + ACM_SNOWFALL_ON_SURFACE + 6.0 + + + + ACM_FRAIN_ON_SURFACE + 6.0 + + + + ACM_GRAUPEL_ON_SURFACE + 6.0 + + + + GSD_INST_CRAIN_ON_SURFACE + CRAIN + 1.0 + + + + GSD_CSNOW_ON_SURFACE + CSNOW + 1.0 + + + + GSD_CICEP_ON_SURFACE + CICEP + 1.0 + + + + GSD_CFRZR_ON_SURFACE + 1.0 + + + + INST_PRATE_ON_SURFACE + PRATE + 6.0 + + + + CPOFP_ON_SURFACE + CPOFP + 4.0 + + + + + GSD_VIS_ON_SURFACE + VIS + 6.0 + + + + INST_USWRF_ON_SURFACE + USWRF + NCEP + 4.0 + + + + INST_ULWRF_ON_SURFACE + ULWRF + 4.0 + + + + INST_ULWRF_ON_TOP_OF_ATMOS + ULWRF + 4.0 + + + + INST_USWRF_ON_TOP_OF_ATMOS + USWRF + 4.0 + + + + INST_DSWRF_ON_SURFACE + DSWRF + NCEP + 4.0 + + + + INST_DLWRF_ON_SURFACE + DLWRF + NCEP + 4.0 + + + + INST_SWDDNI_ON_SURFACE + VBDSF + NCEP + 4.0 + + + + INST_SWDDIF_ON_SURFACE + VDDSF + NCEP + 4.0 + + + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + UGRD + 80. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT + VGRD + 80. + 4.0 + + + + + HGT_ON_CLOUD_BASE + HGT + 6.0 + + + + HGT_ON_CLOUD_TOP + HGT + 6.0 + + + + REFC_ON_ENTIRE_ATMOS + REFC + 4.0 + + + + + REFD_ON_SPEC_HGT_LVL_ABOVE_GRND + REFD + 4000. 1000. + 4.0 + + + + GSD_HGT_ON_CLOUD_CEILING + HGT + 5.0 + + + + RETOP_ON_ENTIRE_ATMOS_SINGLE_LYR + RETOP + 6.0 + + + + VIL_ON_ENTIRE_ATMOS + VIL + 7.0 + + + + UPHL_ON_SPEC_HGT_LVL_ABOVE_GRND_2-5km + UPHL + NCEP + -3.0 + + + + + diff --git a/parm/postcntrl_gfs_f00.xml b/parm/sfs/postcntrl_sfs.xml old mode 100755 new mode 100644 similarity index 52% rename from parm/postcntrl_gfs_f00.xml rename to parm/sfs/postcntrl_sfs.xml index 6792f1a4e5..672a3ffea8 --- a/parm/postcntrl_gfs_f00.xml +++ b/parm/sfs/postcntrl_sfs.xml @@ -1,6 +1,6 @@ - + GFSPRS 0 @@ -13,7 +13,7 @@ fcst hour nws_ncep - anal_gfs + gfs_avn complex_packing_spatial_diff 2nd_ord_sptdiff fltng_pnt @@ -21,114 +21,76 @@ HGT_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. 6.0 TMP_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 3.0 SPFH_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 7.0 + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 RH_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 3.0 + 1. 2. 4. 7. 10. 20. 40. 70. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 3.0 UGRD_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 VGRD_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 - - - - DZDT_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 5.0 - - - - VVEL_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 5.0 + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 ABSV_ON_ISOBARIC_SFC - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 + 1. 2. 4. 7. 10. 20. 40. 70. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 4.0 O3MR_ON_ISOBARIC_SFC NCEP - 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 1500. 2000. 3000. 4000. 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 5.0 - - - - CLMR_ON_ISOBARIC_SFC - 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. - 40000. 42500. 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 + 1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 20000. 25000. 30000. 35000. 40000. + 5.0 - ICMR_ON_ISOBARIC_SFC - 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 + VVEL_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + 5.0 - - RWMR_ON_ISOBARIC_SFC - 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 - - SNMR_ON_ISOBARIC_SFC - 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 + DZDT_ON_ISOBARIC_SFC + 1. 2. 4. 7. 10. 20. 40. 70. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. + -5.0 - GRLE_ON_ISOBARIC_SFC - 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 6.0 + POISSION_VPOT_ON_ISOBARIC_SFC + 20000. 85000. + 3.0 - - REFC_ON_ENTIRE_ATMOS - NCEP - 4.0 + + POISSION_STRM_ON_ISOBARIC_SFC + 20000. 85000. + 3.0 @@ -148,7 +110,7 @@ SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - 7.0 + 4.0 @@ -171,6 +133,18 @@ 4.0 + + UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND + 50. + 4.0 + + + + VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND + 50. + 4.0 + + PRES_ON_SURFACE 6.0 @@ -186,6 +160,15 @@ 4.0 + + GFS_CISOILM_ON_DEPTH_BEL_LAND_SFC + 2 + 0. + 2 + 200. + 4.0 + + TSOIL_ON_DEPTH_BEL_LAND_SFC 2 2 2 2 @@ -218,12 +201,12 @@ CNWAT_ON_SURFACE NCEP - 3.0 + 1.0 WEASD_ON_SURFACE - 6.0 + 3.0 @@ -239,7 +222,7 @@ SNOD_ON_SURFACE - 6.0 + 3.0 yes @@ -269,322 +252,267 @@ 3.0 - - PLI_ON_SPEC_PRES_ABOVE_GRND - 3000. - 0. - 3.0 - - CAPE_ON_SURFACE 4.0 - BEST_CAPE_ON_SPEC_PRES_ABOVE_GRND + CIN_ON_SURFACE + 0. 4.0 - UNSTABLE_CAPE_ON_SPEC_PRES_ABOVE_GRND - 4.0 + PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR + 3.0 - CIN_ON_SURFACE - 0. + ACM_APCP_ON_SURFACE 4.0 - BEST_CIN_ON_SPEC_PRES_ABOVE_GRND + ACM_ACPCP_ON_SURFACE 4.0 - UNSTABLE_CIN_ON_SPEC_PRES_ABOVE_GRND + ACM_NCPCP_ON_SURFACE 4.0 - PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR - 6.0 - - - - HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND - 3000. - 0. + AVE_PRATE_ON_SURFACE 4.0 - USTM_ON_SPEC_HGT_LVL_ABOVE_GRND + AVE_CPRAT_ON_SURFACE NCEP - 6000. - 0. 4.0 - VSTM_ON_SPEC_HGT_LVL_ABOVE_GRND - NCEP - 6000. - 0. - 4.0 + AVE_TCDC_ON_ENTIRE_ATMOS + 3.0 - INST_CRAIN_ON_SURFACE - NCEP - 1.0 + AVE_TCDC_ON_LOW_CLOUD_LYR + 3.0 - CSNOW_ON_SURFACE - NCEP - 1.0 + AVE_TCDC_ON_MID_CLOUD_LYR + 3.0 - CICEP_ON_SURFACE - NCEP - 1.0 + AVE_TCDC_ON_HIGH_CLOUD_LYR + 3.0 - CFRZR_ON_SURFACE - NCEP - 1.0 + AVE_TCDC_ON_BOUND_LYR_CLOUD_LYR + 3.0 VIS_ON_SURFACE - 6.0 + 3.0 - BRTMP_ON_TOP_OF_ATMOS - 4.0 + AVE_DSWRF_ON_SURFACE + NCEP + 3.0 - SFCR_ON_SURFACE - 6.0 + AVE_CDUVB_ON_SURFACE + NCEP + 3.0 - FRICV_ON_SURFACE + AVE_DUVB_ON_SURFACE NCEP - 4.0 + 3.0 - LAND_ON_SURFACE + AVE_NDDSF_ON_SURFACE + NCEP + 3.0 - ICEC_ON_SURFACE - 4.0 + AVE_VDDSF_ON_SURFACE + NCEP + 3.0 - PRES_ON_TROPOPAUSE - 6.0 + AVE_CSDLF_ON_SURFACE + NCEP + 3.0 - HGT_ON_TROPOPAUSE - 6.0 + AVE_CSDSF_ON_SURFACE + NCEP + 3.0 - TMP_ON_TROPOPAUSE - 4.0 + AVE_CSUSF_ON_SURFACE + NCEP + 3.0 - UGRD_ON_TROPOPAUSE - 4.0 + AVE_DLWRF_ON_SURFACE + NCEP + 3.0 - VGRD_ON_TROPOPAUSE - 4.0 + AVE_USWRF_ON_SURFACE + NCEP + 3.0 - VWSH_ON_TROPOPAUSE + AVE_ULWRF_ON_SURFACE NCEP 3.0 - TMP_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - 305. 457. 610. 914. 1829. 2743. 3658. 4572. - 4.0 + AVE_DSWRF_ON_TOP_OF_ATMOS + NCEP + 3.0 - + - UGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - 305. 457. 610. 914. 1829. 2743. 3658. 4572. - 4.0 + AVE_USWRF_ON_TOP_OF_ATMOS + NCEP + 3.0 - VGRD_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - 305. 457. 610. 914. 1829. 2743. 3658. 4572. - 4.0 + AVE_ULWRF_ON_TOP_OF_ATMOS + NCEP + 3.0 - TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - 80. 100. - 4.0 + BRTMP_ON_TOP_OF_ATMOS + 3.0 - UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - 20. 30. 40. 50. 80. 100. + SFCR_ON_SURFACE 4.0 - VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - 20. 30. 40. 50. 80. 100. + FRICV_ON_SURFACE + NCEP 4.0 - PRES_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - 80. - 6.0 - - - - SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_FDHGT - 80. - 7.0 - - - - HGT_ON_0C_ISOTHERM - 6.0 - - - - RH_ON_0C_ISOTHERM - 3.0 - - - - HGT_ON_HGHST_TROP_FRZ_LVL - 6.0 - - - - RH_ON_HGHST_TROP_FRZ_LVL - 3.0 + AVE_SHTFL_ON_SURFACE + 4.0 - TMP_ON_SPEC_PRES_ABOVE_GRND - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. + AVE_GFLUX_ON_SURFACE + NCEP 4.0 - DPT_ON_SPEC_PRES_ABOVE_GRND - 3000. - 0. + AVE_LHTFL_ON_SURFACE 4.0 - SPFH_ON_SPEC_PRES_ABOVE_GRND - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 7.0 + AVE_UFLX_ON_SURFACE + 4.0 - RH_ON_SPEC_PRES_ABOVE_GRND - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 3.0 + AVE_VFLX_ON_SURFACE + 4.0 - PWAT_ON_SPEC_PRES_ABOVE_GRND - 3000. - 0. - 6.0 + LAND_ON_SURFACE - UGRD_ON_SPEC_PRES_ABOVE_GRND - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. - 4.0 + ICEC_ON_SURFACE + 1.0 - VGRD_ON_SPEC_PRES_ABOVE_GRND - 3000. 6000. 9000. 12000. 15000. 18000. - 0. 3000. 6000. 9000. 12000. 15000. + AVE_ALBDO_ON_SURFACE 4.0 - RH_ON_SIGMA_LVL_0.33-1.0 - 3.0 + PRES_ON_TROPOPAUSE + 6.0 - RH_ON_SIGMA_LVL_0.44-1.0 - 3.0 + HGT_ON_TROPOPAUSE + 6.0 - RH_ON_SIGMA_LVL_0.72-0.94 + TMP_ON_TROPOPAUSE 3.0 - RH_ON_SIGMA_LVL_0.44-0.72 - 3.0 + UGRD_ON_TROPOPAUSE + 4.0 - TMP_ON_SIGMA_LVL_0.9950 + VGRD_ON_TROPOPAUSE 4.0 - POT_ON_SIGMA_LVL_0.9950 - 4.0 + VWSH_ON_TROPOPAUSE + NCEP + 3.0 - RH_ON_SIGMA_LVL_0.9950 - 3.0 + HGT_ON_0C_ISOTHERM + 6.0 - UGRD_ON_SIGMA_LVL_0.9950 - 4.0 + RH_ON_0C_ISOTHERM + 2.0 - VGRD_ON_SIGMA_LVL_0.9950 - 4.0 + HGT_ON_HGHST_TROP_FRZ_LVL + 6.0 - VVEL_ON_SIGMA_LVL_0.9950 - 5.0 + RH_ON_HGHST_TROP_FRZ_LVL + 2.0 @@ -609,7 +537,7 @@ TMP_ON_MAX_WIND - 4.0 + 3.0 @@ -625,7 +553,7 @@ RH_ON_ENTIRE_ATMOS_SINGLE_LYR - 3.0 + 2.0 @@ -638,41 +566,27 @@ 3.0 - - PLPL_ON_SPEC_PRES_ABOVE_GRND - 25500. - 0. - 6.0 - - - - TCDC_ON_ISOBARIC_SFC - 5000. 7000. 10000. 12500. 15000. 17500. 20000. 22500. 25000. 27500. 30000. 32500. 35000. 37500. 40000. 42500. - 45000. 47500. 50000. 52500. 55000. 57500. 60000. 62500. 65000. 67500. 70000. 72500. 75000. 77500. 80000. 82500. 85000. 87500. 90000. 92500. 95000. 97500. 100000. - 4.0 - - UGRD_ON_ISENTROPIC_LVL - 320. + 320. 450. 550. 650. 4.0 VGRD_ON_ISENTROPIC_LVL - 320. + 320. 450. 550. 650. 4.0 TMP_ON_ISENTROPIC_LVL - 320. - 4.0 + 320. 450. 550. 650. + 3.0 PVORT_ON_ISENTROPIC_LVL - 320. + 310. 320. 350. 450. 550. 650. 4.0 @@ -726,44 +640,42 @@ - MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + AVE_CWORK_ON_ENTIRE_ATMOS_SINGLE_LYR + NCEP 4.0 - MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m - 4.0 + AVE_U-GWD_ON_SURFACE + NCEP + 5.0 - ICAHT_ON_MAX_WIND - 6.0 + AVE_V-GWD_ON_SURFACE + NCEP + 5.0 - ICAHT_ON_TROPOPAUSE + ACM_WATR_ON_SURFACE 6.0 - SUNSD_ON_SURFACE - NCEP - 5.0 - - - - UGRD_ON_PLANETARY_BOUND_LYR - 3.0 + MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 - VGRD_ON_PLANETARY_BOUND_LYR - 3.0 + MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m + 4.0 - VRATE_ON_PLANETARY_BOUND_LYR - 3.0 + SUNSD_ON_SURFACE + NCEP + 5.0 @@ -781,125 +693,91 @@ 4.0 - - INST_PRATE_ON_SURFACE - 6.0 - - - CPRAT_ON_SURFACE - 6.0 - - - - SNMR_ON_HYBRID_LVL + TMP_ON_HYBRID_LVL 1. - 6.0 - - - - RWMR_ON_HYBRID_LVL - 1. - 6.0 - - - - CLMR_ON_HYBRID_LVL - 1. - 6.0 - - - - ICMR_ON_HYBRID_LVL - 1. - 6.0 - - - - GRLE_ON_HYBRID_LVL - 1. - 6.0 - - - - ICEG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL - 10. 4.0 - SOTYP_ON_SURFACE + AVE_SNOHF_ON_SURFACE + SNOHF + AVE 4.0 - VEG_ON_SURFACE + AVE_SNOWC_ON_SURFACE + SNOWC + AVE 3.0 - ICETMP_ON_SURFACE - 5.0 + 549 + FDNSSTMP_ON_SURFACE + FDNSSTMP + surface + 4.0 - + - HGT_ON_CLOUD_CEILING - 6.0 + 1004 + ACM_SNOWFALL_ON_SURFACE + tmpl4_8 + TSNOWP + ACM + surface + 4.0 - + - INST_TCDC_ON_ENTIRE_ATMOS + 1005 + BUCKET_SNOWFALL_ON_SURFACE + tmpl4_8 + TSNOWP + ACM + surface 4.0 - LCDC_ON_LOW_CLOUD_LYR - LCDC + HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND + 3000. + 0. 4.0 - MCDC_ON_MID_CLOUD_LYR - MCDC + ACM_SSRUN_ON_SURFACE 4.0 - HCDC_ON_HIGH_CLOUD_LYR - HCDC - 4.0 + AVE_VBDSF_ON_SURFACE + NCEP + 6.0 - REFD_ON_SPEC_HGT_LVL_ABOVE_GRND - REFD + AVE_NBDSF_ON_SURFACE NCEP - 4000. 1000. - 4.0 + 6.0 - REFD_ON_HYBRID_LVL - REFD - NCEP - 1. 2. - 4.0 + MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 - MIXED_LAYER_CAPE_ON_SPEC_PRES_ABOVE_GRND - CAPE - 9000. - 0. - 4.0 + MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 - MIXED_LAYER_CIN_ON_SPEC_PRES_ABOVE_GRND - CIN - 9000. - 0. - 4.0 + MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m + -4.0 diff --git a/parm/sfs/postxconfig-NT-sfs.txt b/parm/sfs/postxconfig-NT-sfs.txt new file mode 100644 index 0000000000..7af3f1b8f1 --- /dev/null +++ b/parm/sfs/postxconfig-NT-sfs.txt @@ -0,0 +1,5520 @@ +1 +131 +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gfs_avn +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +39 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +39 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +16 +SPFH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +SPFH +? +? +isobaric_sfc +0 +? +39 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +34 +1. 2. 4. 7. 10. 20. 40. 70. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +39 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +39 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +21 +ABSV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ABSV +? +? +isobaric_sfc +0 +? +34 +1. 2. 4. 7. 10. 20. 40. 70. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +268 +O3MR_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +O3MR +NCEP +? +isobaric_sfc +0 +? +26 +1. 2. 4. 7. 10. 20. 40. 70. 100. 200. 300. 500. 700. 1000. 2000. 3000. 5000. 7000. 10000. 12500. 15000. 20000. 25000. 30000. 35000. 40000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +20 +VVEL_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VVEL +? +? +isobaric_sfc +0 +? +34 +1. 2. 4. 7. 10. 20. 40. 70. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +284 +DZDT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +DZDT +? +? +isobaric_sfc +0 +? +34 +1. 2. 4. 7. 10. 20. 40. 70. 1000. 2000. 3000. 5000. 7000. 10000. 15000. 20000. 25000. 30000. 35000. 40000. 45000. 50000. 55000. 60000. 65000. 70000. 75000. 80000. 85000. 90000. 92500. 95000. 97500. 100000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-5.0 +0 +0 +0 +? +? +? +1021 +POISSION_VPOT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VPOT +? +? +isobaric_sfc +0 +? +2 +20000. 85000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +1022 +POISSION_STRM_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +STRM +? +? +isobaric_sfc +0 +? +2 +20000. 85000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +23 +MSLET_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +MSLET +NCEP +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +105 +PRES_ON_MEAN_SEA_LVL +? +1 +tmpl4_0 +PRMSL +? +? +mean_sea_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +106 +TMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +TMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +112 +SPFH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +SPFH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +113 +DPT_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +DPT +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +114 +RH_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +RH +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +64 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +65 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +? +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +412 +UGRD_ON_SPEC_HGT_LVL_ABOVE_GRND +U-Component of Wind on Specified Height Level Above Ground +1 +tmpl4_0 +UGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +50. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +413 +VGRD_ON_SPEC_HGT_LVL_ABOVE_GRND +V-Component of Wind on Specified Height Level Above Ground +1 +tmpl4_0 +VGRD +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +50. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +24 +PRES_ON_SURFACE +? +1 +tmpl4_0 +PRES +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +25 +HGT_ON_SURFACE +? +1 +tmpl4_0 +HGT +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +26 +TMP_ON_SURFACE +? +1 +tmpl4_0 +TMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +36 +GFS_CISOILM_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +CISOILM +? +? +depth_bel_land_sfc +1 +2 +1 +0. +depth_bel_land_sfc +1 +2 +1 +200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +116 +TSOIL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +TSOIL +? +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +117 +SOILW_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILW +NCEP +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +225 +SOILL_ON_DEPTH_BEL_LAND_SFC +? +1 +tmpl4_0 +SOILL +NCEP +? +depth_bel_land_sfc +4 +2 2 2 2 +4 +0. 10. 40. 100. +depth_bel_land_sfc +4 +2 2 2 2 +4 +10. 40. 100. 200. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +118 +CNWAT_ON_SURFACE +? +1 +tmpl4_0 +CNWAT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +119 +WEASD_ON_SURFACE +? +1 +tmpl4_0 +WEASD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +242 +PEVPR_ON_SURFACE +? +1 +tmpl4_0 +PEVPR +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +349 +ICETK_ON_SURFACE +? +1 +tmpl4_0 +ICETK +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +224 +SNOD_ON_SURFACE +? +1 +tmpl4_0 +SNOD +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +yes +236 +WILT_ON_SURFACE +? +1 +tmpl4_0 +WILT +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +yes +397 +FLDCP_ON_SURFACE +? +1 +tmpl4_0 +FLDCP +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +yes +572 +GFS_LFTX_ON_SURFACE +? +1 +tmpl4_0 +LFTX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +573 +GFS_4LFTX_ON_SURFACE +? +1 +tmpl4_0 +4LFTX +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +32 +CAPE_ON_SURFACE +? +1 +tmpl4_0 +CAPE +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +107 +CIN_ON_SURFACE +? +1 +tmpl4_0 +CIN +? +? +surface +0 +? +1 +0. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +80 +PWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +PWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +87 +ACM_APCP_ON_SURFACE +? +1 +tmpl4_8 +APCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +33 +ACM_ACPCP_ON_SURFACE +? +1 +tmpl4_8 +ACPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +34 +ACM_NCPCP_ON_SURFACE +? +1 +tmpl4_8 +NCPCP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +271 +AVE_PRATE_ON_SURFACE +? +1 +tmpl4_8 +PRATE +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +272 +AVE_CPRAT_ON_SURFACE +? +1 +tmpl4_8 +CPRAT +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +144 +AVE_TCDC_ON_ENTIRE_ATMOS +? +1 +tmpl4_8 +TCDC +? +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +300 +AVE_TCDC_ON_LOW_CLOUD_LYR +? +1 +tmpl4_8 +LCDC +? +AVE +low_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +301 +AVE_TCDC_ON_MID_CLOUD_LYR +? +1 +tmpl4_8 +MCDC +? +AVE +mid_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +302 +AVE_TCDC_ON_HIGH_CLOUD_LYR +? +1 +tmpl4_8 +HCDC +? +AVE +high_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +342 +AVE_TCDC_ON_BOUND_LYR_CLOUD_LYR +? +1 +tmpl4_8 +TCDC +? +AVE +bound_lyr_cloud_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +180 +VIS_ON_SURFACE +? +1 +tmpl4_0 +VIS +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +126 +AVE_DSWRF_ON_SURFACE +? +1 +tmpl4_8 +DSWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +297 +AVE_CDUVB_ON_SURFACE +? +1 +tmpl4_8 +CDUVB +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +298 +AVE_DUVB_ON_SURFACE +? +1 +tmpl4_8 +DUVB +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +404 +AVE_NDDSF_ON_SURFACE +averaged surface near IR beam downward solar flux +1 +tmpl4_8 +NDDSF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +402 +AVE_VDDSF_ON_SURFACE +averaged surface visible diffuse downward solar flux +1 +tmpl4_8 +VDDSF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +382 +AVE_CSDLF_ON_SURFACE +? +1 +tmpl4_8 +CSDLF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +383 +AVE_CSDSF_ON_SURFACE +? +1 +tmpl4_8 +CSDSF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +386 +AVE_CSUSF_ON_SURFACE +? +1 +tmpl4_8 +CSUSF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +127 +AVE_DLWRF_ON_SURFACE +? +1 +tmpl4_8 +DLWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +128 +AVE_USWRF_ON_SURFACE +? +1 +tmpl4_8 +USWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +129 +AVE_ULWRF_ON_SURFACE +? +1 +tmpl4_8 +ULWRF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +388 +AVE_DSWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +DSWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +130 +AVE_USWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +USWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +131 +AVE_ULWRF_ON_TOP_OF_ATMOS +? +1 +tmpl4_8 +ULWRF +NCEP +AVE +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +275 +BRTMP_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +BRTEMP +? +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +44 +SFCR_ON_SURFACE +? +1 +tmpl4_0 +SFCR +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +45 +FRICV_ON_SURFACE +? +1 +tmpl4_0 +FRICV +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +43 +AVE_SHTFL_ON_SURFACE +? +1 +tmpl4_8 +SHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +135 +AVE_GFLUX_ON_SURFACE +? +1 +tmpl4_8 +GFLUX +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +42 +AVE_LHTFL_ON_SURFACE +? +1 +tmpl4_8 +LHTFL +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +269 +AVE_UFLX_ON_SURFACE +? +1 +tmpl4_8 +UFLX +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +270 +AVE_VFLX_ON_SURFACE +? +1 +tmpl4_8 +VFLX +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +50 +LAND_ON_SURFACE +? +1 +tmpl4_0 +LAND +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +51 +ICEC_ON_SURFACE +? +1 +tmpl4_0 +ICEC +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +266 +AVE_ALBDO_ON_SURFACE +? +1 +tmpl4_8 +ALBDO +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +54 +PRES_ON_TROPOPAUSE +? +1 +tmpl4_0 +PRES +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +177 +HGT_ON_TROPOPAUSE +? +1 +tmpl4_0 +HGT +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +55 +TMP_ON_TROPOPAUSE +? +1 +tmpl4_0 +TMP +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +56 +UGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +UGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +57 +VGRD_ON_TROPOPAUSE +? +1 +tmpl4_0 +VGRD +? +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +58 +VWSH_ON_TROPOPAUSE +? +1 +tmpl4_0 +VWSH +NCEP +? +tropopause +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +62 +HGT_ON_0C_ISOTHERM +? +1 +tmpl4_0 +HGT +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +63 +RH_ON_0C_ISOTHERM +? +1 +tmpl4_0 +RH +? +? +0C_isotherm +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +165 +HGT_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +HGT +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +350 +RH_ON_HGHST_TROP_FRZ_LVL +? +1 +tmpl4_0 +RH +? +? +hghst_trop_frz_lvl +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +173 +PRES_ON_MAX_WIND +? +1 +tmpl4_0 +PRES +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +174 +HGT_ON_MAX_WIND +? +1 +tmpl4_0 +HGT +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +175 +UGRD_ON_MAX_WIND +? +1 +tmpl4_0 +UGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +176 +VGRD_ON_MAX_WIND +? +1 +tmpl4_0 +VGRD +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +314 +TMP_ON_MAX_WIND +? +1 +tmpl4_0 +TMP +? +? +max_wind +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +221 +HPBL_ON_SURFACE +? +1 +tmpl4_0 +HPBL +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +575 +CWAT_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +CWAT +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +312 +RH_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +RH +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +2.0 +0 +0 +0 +? +? +? +299 +TOZNE_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_0 +TOZNE +? +? +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +245 +GUST_ON_SURFACE +? +1 +tmpl4_0 +GUST +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +332 +UGRD_ON_ISENTROPIC_LVL +? +1 +tmpl4_0 +UGRD +? +? +isentropic_lvl +0 +? +4 +320. 450. 550. 650. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +333 +VGRD_ON_ISENTROPIC_LVL +? +1 +tmpl4_0 +VGRD +? +? +isentropic_lvl +0 +? +4 +320. 450. 550. 650. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +334 +TMP_ON_ISENTROPIC_LVL +? +1 +tmpl4_0 +TMP +? +? +isentropic_lvl +0 +? +4 +320. 450. 550. 650. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +335 +PVORT_ON_ISENTROPIC_LVL +? +1 +tmpl4_0 +PVORT +? +? +isentropic_lvl +0 +? +6 +310. 320. 350. 450. 550. 650. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +353 +MNTSF_ON_ISENTROPIC_LVL +? +1 +tmpl4_0 +MNTSF +? +? +isentropic_lvl +0 +? +1 +320. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +336 +UGRD_ON_POT_VORT_SFC +? +1 +tmpl4_0 +UGRD +? +? +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +337 +VGRD_ON_POT_VORT_SFC +? +1 +tmpl4_0 +VGRD +? +? +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +338 +TMP_ON_POT_VORT_SFC +? +1 +tmpl4_0 +TMP +? +? +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +339 +HGT_ON_POT_VORT_SFC +? +1 +tmpl4_0 +HGT +? +? +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +340 +PRES_ON_POT_VORT_SFC +? +1 +tmpl4_0 +PRES +? +? +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +341 +VWSH_ON_POT_VORT_SFC +? +1 +tmpl4_0 +VWSH +NCEP +? +pot_vort_sfc +8 +9 9 9 9 9 9 9 9 +8 +500. -500. 1000. -1000. 1500. -1500. 2000. -2000. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +313 +AVE_CWORK_ON_ENTIRE_ATMOS_SINGLE_LYR +? +1 +tmpl4_8 +CWORK +NCEP +AVE +entire_atmos_single_lyr +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +315 +AVE_U-GWD_ON_SURFACE +? +1 +tmpl4_8 +U-GWD +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +316 +AVE_V-GWD_ON_SURFACE +? +1 +tmpl4_8 +V-GWD +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +343 +ACM_WATR_ON_SURFACE +? +1 +tmpl4_8 +WATR +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +345 +MAX_TMAX_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMAX +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +346 +MIN_TMIN_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_8 +TMIN +? +MIN +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +396 +SUNSD_ON_SURFACE +? +1 +tmpl4_0 +SUNSD +NCEP +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +5.0 +0 +0 +0 +? +? +? +455 +HINDEX_ON_SURFACE +Haines Index on surface +1 +tmpl4_0 +HINDEX +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +172 +CPOFP_ON_SURFACE +? +1 +tmpl4_0 +CPOFP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +808 +APTMP_ON_SPEC_HGT_LVL_ABOVE_GRND_2m +? +1 +tmpl4_0 +APTMP +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +2. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +2 +TMP_ON_HYBRID_LVL +? +1 +tmpl4_0 +TMP +? +? +hybrid_lvl +0 +? +1 +1. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +136 +AVE_SNOHF_ON_SURFACE +? +1 +tmpl4_8 +SNOHF +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +500 +AVE_SNOWC_ON_SURFACE +? +1 +tmpl4_8 +SNOWC +? +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +549 +FDNSSTMP_ON_SURFACE +? +1 +tmpl4_0 +FDNSSTMP +? +? +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1004 +ACM_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +1005 +BUCKET_SNOWFALL_ON_SURFACE +? +1 +tmpl4_8 +TSNOWP +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +162 +HLCY_ON_SPEC_HGT_LVL_ABOVE_GRND +? +1 +tmpl4_0 +HLCY +? +? +spec_hgt_lvl_above_grnd +0 +? +1 +3000. +spec_hgt_lvl_above_grnd +0 +? +1 +0. +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +122 +ACM_SSRUN_ON_SURFACE +? +1 +tmpl4_8 +SSRUN +? +ACM +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +401 +AVE_VBDSF_ON_SURFACE +averaged surface visible beam downward solar flux +1 +tmpl4_8 +VBDSF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +403 +AVE_NBDSF_ON_SURFACE +averaged surface near IR beam downward solar flux +1 +tmpl4_8 +NBDSF +NCEP +AVE +surface +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +422 +MAX_WIND_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum wind speed on 10 meter Above Ground +1 +tmpl4_8 +WIND +? +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +783 +MAX_UGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum u wind on 10 meter Above Ground +1 +tmpl4_8 +MAXUW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? +784 +MAX_VGD_ON_SPEC_HGT_LVL_ABOVE_GRND_10m +maximum v wind on 10 meter Above Ground +1 +tmpl4_8 +MAXVW +NCEP +MAX +spec_hgt_lvl_above_grnd +0 +? +1 +10. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +-4.0 +0 +0 +0 +? +? +? diff --git a/parm/postcntrl_gfs_wafs_anl.xml b/parm/wafs/postcntrl_gefs_wafs.xml similarity index 55% rename from parm/postcntrl_gfs_wafs_anl.xml rename to parm/wafs/postcntrl_gefs_wafs.xml index 8d99f54fb2..d9fe486711 100755 --- a/parm/postcntrl_gfs_wafs_anl.xml +++ b/parm/wafs/postcntrl_gefs_wafs.xml @@ -1,7 +1,6 @@ - - + GFSPRS 0 ncep_nco @@ -20,24 +19,15 @@ lossless - TMP_ON_ICAO_STD_SFC - 10040. 14750. 19680. 25000. 30090. 34430. 39270. 44650. 50600. 55000. 59520. - 65000. 69680. 75260. 81200. 84310. 90000. 95000. 100000. + EDPARM_ON_ISOBARIC_SFC + 14750. 19680. 25000. 30090. 34430. 39270. 3.0 - UGRD_ON_ICAO_STD_SFC - 10040. 14750. 19680. 25000. 30090. 34430. 39270. 44650. 50600. 55000. 59520. - 65000. 69680. 75260. 81200. 84310. 90000. 95000. 100000. - 3.0 - - - - VGRD_ON_ICAO_STD_SFC - 10040. 14750. 19680. 25000. 30090. 34430. 39270. 44650. 50600. 55000. 59520. - 65000. 69680. 75260. 81200. 84310. 90000. 95000. 100000. - 3.0 + ICESEV_ON_ISOBARIC_SFC + 39270. 50600. 59520. 69680. 84310. + 1.0 diff --git a/parm/wafs/postcntrl_gfs_wafs.xml b/parm/wafs/postcntrl_gfs_wafs.xml new file mode 100755 index 0000000000..871fbba1e4 --- /dev/null +++ b/parm/wafs/postcntrl_gfs_wafs.xml @@ -0,0 +1,94 @@ + + + + GFSPRS + 0 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + gfs_avn + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + EDPARM_ON_ISOBARIC_SFC + 12770. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. + + 3.0 + + + + CAT_ON_ISOBARIC_SFC + 12770. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. + 3.0 + + + + MWTURB_ON_ISOBARIC_SFC + 12770. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. + 3.0 + + + + ICESEV_ON_ISOBARIC_SFC + 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. 87510. 90810. 94210. 97720. + + 1.0 + + + + HGT_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + UGRD_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + RH_ON_ISOBARIC_SFC + 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 3.0 + + + + CBHE_ON_ENTIRE_ATMOS + 3.0 + + + + ICAHT_ON_CB_BASE + 6.0 + + + + ICAHT_ON_CB_TOP + 6.0 + + + + + diff --git a/parm/wafs/postcntrl_gfs_wafs_anl.xml b/parm/wafs/postcntrl_gfs_wafs_anl.xml new file mode 100755 index 0000000000..33b0beba4c --- /dev/null +++ b/parm/wafs/postcntrl_gfs_wafs_anl.xml @@ -0,0 +1,42 @@ + + + + + GFSPRS + 0 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + gfs_avn + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + TMP_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + UGRD_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + + diff --git a/parm/wafs/postcntrl_gfs_wafs_ext.xml b/parm/wafs/postcntrl_gfs_wafs_ext.xml new file mode 100755 index 0000000000..ec7efbcac6 --- /dev/null +++ b/parm/wafs/postcntrl_gfs_wafs_ext.xml @@ -0,0 +1,54 @@ + + + + + GFSPRS + 0 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + gfs_avn + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + UGRD_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + RH_ON_ISOBARIC_SFC + 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 3.0 + + + + + diff --git a/parm/wafs/postxconfig-NT-gefs-wafs.txt b/parm/wafs/postxconfig-NT-gefs-wafs.txt new file mode 100644 index 0000000000..36a3bd35ba --- /dev/null +++ b/parm/wafs/postxconfig-NT-gefs-wafs.txt @@ -0,0 +1,102 @@ +1 +2 +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gfs_avn +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +464 +EDPARM_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +EDPARM +? +? +isobaric_sfc +0 +? +6 +14750. 19680. 25000. 30090. 34430. 39270. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +480 +ICESEV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICESEV +? +? +isobaric_sfc +0 +? +5 +39270. 50600. 59520. 69680. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? diff --git a/parm/wafs/postxconfig-NT-gfs-wafs-anl.txt b/parm/wafs/postxconfig-NT-gfs-wafs-anl.txt new file mode 100644 index 0000000000..59d125511a --- /dev/null +++ b/parm/wafs/postxconfig-NT-gfs-wafs-anl.txt @@ -0,0 +1,144 @@ +1 +3 +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gfs_avn +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/parm/wafs/postxconfig-NT-gfs-wafs-ext.txt b/parm/wafs/postxconfig-NT-gfs-wafs-ext.txt new file mode 100644 index 0000000000..c38c590185 --- /dev/null +++ b/parm/wafs/postxconfig-NT-gfs-wafs-ext.txt @@ -0,0 +1,228 @@ +1 +5 +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gfs_avn +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +14 +50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? diff --git a/parm/wafs/postxconfig-NT-gfs-wafs.txt b/parm/wafs/postxconfig-NT-gfs-wafs.txt new file mode 100644 index 0000000000..b96dc92739 --- /dev/null +++ b/parm/wafs/postxconfig-NT-gfs-wafs.txt @@ -0,0 +1,522 @@ +1 +12 +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gfs_avn +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +464 +EDPARM_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +EDPARM +? +? +isobaric_sfc +0 +? +37 +12770. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +465 +CAT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +CATEDR +? +? +isobaric_sfc +0 +? +37 +12770. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +466 +MWTURB_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +MWTURB +? +? +isobaric_sfc +0 +? +37 +12770. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +480 +ICESEV_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +ICESEV +? +? +isobaric_sfc +0 +? +30 +30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. 87510. 90810. 94210. 97720. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +14 +50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +473 +CBHE_ON_ENTIRE_ATMOS +? +1 +tmpl4_0 +CBHE +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? +474 +ICAHT_ON_CB_BASE +? +1 +tmpl4_0 +ICAHT +? +? +cb_base +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +475 +ICAHT_ON_CB_TOP +? +1 +tmpl4_0 +ICAHT +? +? +cb_top +0 +? +0 +? +? +0 +? +0 +? +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? diff --git a/parm/wrf_cntrl.parm b/parm/wrf_cntrl.parm deleted file mode 100644 index 2a7cac7a71..0000000000 --- a/parm/wrf_cntrl.parm +++ /dev/null @@ -1,499 +0,0 @@ - KGTYPE******I5*******:(00255)********START OF THIS OUTPUT GRID****** - IMDLTY *I5* :(00125) - DATSET *A6* :(WRFPRS) - (PRESS ON MDL SFCS ) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT ON MDL SFCS ) SCAL=( 6.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP ON MDL SFCS ) SCAL=( 4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TEMP ON MDL SFCS) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DWPT TEMP ON MDL SFC) SCAL=( 5.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPEC HUM ON MDL SFCS) SCAL=( 3.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUM ON MDL SFCS ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MST CNVG ON MDL SFCS) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND ON MDL SFCS ) SCAL=( 4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND ON MDL SFCS ) SCAL=( 4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (OMEGA ON MDL SFCS ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ABS VORT ON MDL SFCS) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (STRMFUNC ON MDL SFCS) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TRBLNT KE ON MDL SFC) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RCHDSN NO ON MDL SFC) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RAIN ON MDL SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW ON MDL SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (F_RimeF ON MDL SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONDENSATE MDL SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADAR REFL MDL SFCS ) SCAL=( 4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD WTR ON MDL SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD ICE ON MDL SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GRAUPEL ON MDL SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLD FRAC ON MDL SFCS) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MASTER LENGTH SCALE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ASYMPT MSTR LEN SCL ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT OF PRESS SFCS) SCAL=( 6.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (TEMP ON PRESS SFCS ) SCAL=( 4.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (POT TEMP ON P SFCS ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DWPT TEMP ON P SFCS ) SCAL=( 4.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (SPEC HUM ON P SFCS ) SCAL=( 4.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (REL HUMID ON P SFCS ) SCAL=( 4.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (MST CNVG ON P SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND ON PRESS SFCS) SCAL=( 4.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (V WIND ON PRESS SFCS) SCAL=( 4.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (W WIND ON P SFCS ) SCAL=( 5.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (OMEGA ON PRESS SFCS ) SCAL=( 5.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (ABS VORT ON P SFCS ) SCAL=( 3.0) - L=(00000 01001 01010 10101 01010 10101 01010 11111 11111 10000 00000 00000 00000 00000) - (STRMFUNC ON P SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TRBLNT KE ON P SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD ICE ON P SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD WATR ON P SFCS) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RAIN ON P SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW ON P SFCS ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (F_RimeF ON P SFCS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADAR REFL ON P SFCS) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GRAUPEL ON P SFCS ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAPS SLP ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MESINGER MEAN SLP ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHUELL MEAN SLP ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER PRESSURE ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER TEMPERATURE ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER SPEC HUMID ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER DEWPOINT ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER REL HUMID ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHELTER MIX RATIO ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT ANEMOM HT ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT ANEMOM HT ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE PRESSURE ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE HEIGHT ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE POT TEMP ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE SPEC HUMID ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE DEWPOINT ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SURFACE REL HUMID ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC (SKIN) TEMPRATUR) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BOTTOM SOIL TEMP ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL TEMPERATURE ) SCAL=( 3.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOISTURE ) SCAL=( 3.0) - L=(11111 10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIQUID SOIL MOISTURE) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL SOIL MOISTURE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PLANT CANOPY SFC WTR) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW WATER EQUIVALNT) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PERCENT SNOW COVER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC EXCHANGE COEF ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GREEN VEG COVER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (VEGETATION TYPE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL TYPE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SLOPE TYPE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW FREE ALBEDO ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAXIMUM SNOW ALBEDO ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY CONDUCTANCE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND SOLAR ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND TEMP ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND HUMID ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CANOPY COND SOILM ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST REFERENCE) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST POROSITY ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (NO OF ROOT LAYERS ) SCAL=( 1.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MIN STOMATAL RESIST ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SNOW DEPTH ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AIR DRY SOIL MOIST ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOIST WILT PT ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SOIL MOISTURE AVAIL ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST GROUND HEAT FLX) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--SURFCE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--BEST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFTED INDEX--BNDLYR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CNVCT AVBL POT ENRGY) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CNVCT INHIBITION ) SCAL=( 3.0) - L=(11110 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRECIPITABLE WATER ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (STORM REL HELICITY ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM TOTAL PRECIP ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM CONVCTIVE PRECIP) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM GRD SCALE PRECIP) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM GRD SCALE SW ICE) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM SNOWFALL ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BUCKET SNOW PRECIP ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BUCKET TOTAL PRECIP ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BUCKET CONV PRECIP ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BUCKET GRDSCALE PRCP) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM SNOW TOTAL/MELT ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM STORM SFC RNOFF ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACM BSFL-GDWR RNOFF ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTANT PRECIP TYPE ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GSD PRECIP TYPE ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTANT PRECIP RATE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV PRECIP RATE ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (FROZEN FRAC CLD SCHM) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SEA SFC TEMPERATURE ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LOW CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MID CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HIGH CLOUD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG TOTAL CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG STRAT CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVG CNVCT CLD FRAC ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GSD CLD BOT HEIGHT ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GSD CLD TOP HEIGHT ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD BOT PRESSURE ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP PRESSURE ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP TEMPS ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD BOTTOM HEIGHT ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CLOUD TOP HEIGHT ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD BOT PRESS) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD TOP PRESS) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHAL CU CLD BOT PRES) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHAL CU CLD TOP PRES) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DEEP CU CLD BOT PRES) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DEEP CU CLD TOP PRES) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GRID CLOUD BOT PRESS) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GRID CLOUD TOP PRESS) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CONV CLOUD FRACTION ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX WIND PRESS LEVEL) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX WIND HGHT LEVEL ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP MAX WIND ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP MAX WIND ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PBL HEIGHT ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (COMPOSITE RADAR REFL) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADAR REFL AGL ) SCAL=( 4.0) - L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (VISIBILITY ) SCAL=( 2.7) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GSD VISIBILITY ) SCAL=( 2.7) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LCL AGL HEIGHT ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LCL PRESSURE ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE GRDSCL RN TMPTDY) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE CNVCT RN TMPTDY ) SCAL=( 2.7) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (RADFLX CNVG TMP TNDY) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SW RAD TEMP TNDY ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LW RAD TEMP TNDY ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT SFC SW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT SFC LW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE INCMG SFC SW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE INCMG SFC LW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO SFC SW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO SFC LW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BRIGHTNESS TEMP ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (BRIGHTNESS TEMP NCAR) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC SW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN INC SFC LW RAD) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN CLR INC SFC SW) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ROUGHNESS LENGTH ) SCAL=( 2.7) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (FRICTION VELOCITY ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC DRAG COEFFICIENT) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC U WIND STRESS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC V WIND STRESS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC SENHEAT FX ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE GROUND HEAT FX ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SNO PHSCNG HT FX) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC LATHEAT FX ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE SFC MOMENTUM FX ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACC SFC EVAPORATION ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (ACC POT EVAPORATION ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST SFC SENHEAT FX ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST GROUND HEAT FLX) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INST SFC LATHEAT FX ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LATITUDE ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LONGITUDE ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LAND/SEA MASK ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SEA ICE MASK ) SCAL=( 1.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC MIDDAY ALBEDO ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LIFT PCL LVL PRESS ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESS AT TROPOPAUSE ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT AT TROPOPAUSE) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP AT TROPOPAUSE ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POTENTL TEMP AT TROP) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT TROPOPAUSE) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT TROPOPAUSE) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SHEAR AT TROPOPAUSE ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPE HUM AT FD HEIGHT) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP AT FD HEIGHTS ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND AT FD HEIGHTS) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND AT FD HEIGHTS) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HEIGHT OF FRZ LVL ) SCAL=( 6.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUMID AT FRZ LVL) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (HIGHEST FREEZE LVL ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PRESS IN BNDRY LYR ) SCAL=( 6.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TEMP IN BNDRY LYR ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (POT TMP IN BNDRY LYR) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (DWPT IN BNDRY LYR ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SPC HUM IN BNDRY LYR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (REL HUM IN BNDRY LYR) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MST CNV IN BNDRY LYR) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (P WATER IN BNDRY LYR) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U WIND IN BNDRY LYR ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V WIND IN BNDRY LYR ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (OMEGA IN BNDRY LYR ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX 10m WIND SPEED ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX UPDRAFT VERT VEL) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX DNDRAFT VERT VEL) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX 1km REFLECTIVITY) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX UPDRAFT HELICITY) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MEAN VERT VEL ) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (MAX VERT INTEG GRAUP) SCAL=( 3.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (LCL AGL HEIGHT ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP STORM MOTION ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP STORM MOTION ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP 0-1 KM SHEAR ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP 0-1 KM SHEAR ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (U COMP 0-6 KM SHEAR ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (V COMP 0-6 KM SHEAR ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (SFC WIND GUST ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO TOA SW RAD) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (AVE OUTGO TOA LW RAD) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (INSTN OUT TOA LW RAD) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL CLD FRACTION ) SCAL=( 3.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN CLD WTR) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN CLD ICE) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN RAIN ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLUMN SNOW ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COL CONDENSATE) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL COLD LIQUID ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (TOTAL MELTING ICE ) SCAL=( 5.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (CEILING ) SCAL=( 5.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (EMISSIVITY ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GOES TB - CH 2 ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GOES TB - CH 3 ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GOES TB - CH 4 ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (GOES TB - CH 5 ) SCAL=( 4.0) - L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) - (PV ON THETA SFCS ) SCAL=( 4.0) - L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) -***DONE WITH THIS GRID*** - diff --git a/scripts/exgdas_atmos_nceppost.sh b/scripts/exgdas_atmos_nceppost.sh deleted file mode 100755 index 0faec53c67..0000000000 --- a/scripts/exgdas_atmos_nceppost.sh +++ /dev/null @@ -1,385 +0,0 @@ -##################################################################### -echo "-----------------------------------------------------" -echo " exgdas_nceppost.sh" -echo " Sep 07 - Chuang - Modified script to run unified post" -echo " July 14 - Carlis - Changed to 0.25 deg grib2 master file" -echo " Feb 16 - Lin - Modify to use Vertical Structure" -echo " Aug 17 - Meng - Modify to use 3-digit forecast hour naming" -echo " master and flux files" -echo " Dec 17 - Meng - Link sfc data file to flxfile " -echo " since fv3gfs does not output sfc files any more." -echo " Dec 17 - Meng - Add fv3gfs_downstream_nems.sh for pgb processing " -echo " and remove writing data file to /nwges" -echo " Jan 18 - Meng - For EE2 standard, move IDRT POSTGPVARS setting" -echo " from j-job script." -echo " Feb 18 - Meng - Removed legacy setting for generating grib1 data" -echo " and reading sigio model outputs." -echo " Aug 20 - Meng - Remove .ecf extentsion per EE2 review." -echo " Sep 20 - Meng - Update clean up files per EE2 review." -echo "-----------------------------------------------------" -##################################################################### - -set -x - -cd $DATA - -msg="HAS BEGUN on `hostname`" -postmsg "$jlogfile" "$msg" - -export POSTGPSH=${POSTGPSH:-$USHgfs/gfs_nceppost.sh} -export GFSDOWNSH=${GFSDOWNSH:-$USHgfs/fv3gfs_downstream_nems.sh} -export GFSDWNSH=${GFSDWNSH:-$USHgfs/fv3gfs_dwn_nems.sh} -export TRIMRH=${TRIMRH:-$USHgfs/trim_rh.sh} -export MODICEC=${MODICEC:-$USHgfs/mod_icec.sh} -export INLINE_POST=${INLINE_POST:-".false."} - -############################################################ -# Define Variables: -# ----------------- -# fhr is the current forecast hour. -# SLEEP_TIME is the number of seconds to sleep before exiting with error. -# SLEEP_INT is the number of seconds to sleep between restrt file checks. -# restart_file is the name of the file to key off of to kick off post. -############################################################ - -export IO=${LONB:-1440} -export JO=${LATB:-721} -# specify default model output format: 3 for sigio and 4 -# for nemsio -export OUTTYP=${OUTTYP:-4} -export OUTPUT_FILE=${OUTPUT_FILE:-"nemsio"} -export TCYC=${TCYC:-".t${cyc}z."} -export PREFIX=${PREFIX:-${RUN}${TCYC}} -if [ $OUTTYP -eq 4 ] ; then - if [ $OUTPUT_FILE = "netcdf" ]; then - export SUFFIX=".nc" - else - export SUFFIX=".nemsio" - fi -else - export SUFFIX= -fi -export machine=${machine:-WCOSS_C} - -########################### -# Specify Output layers -########################### -export POSTGPVARS="KPO=57,PO=1000.,975.,950.,925.,900.,875.,850.,825.,800.,775.,750.,725.,700.,675.,650.,625.,600.,575.,550.,525.,500.,475.,450.,425.,400.,375.,350.,325.,300.,275.,250.,225.,200.,175.,150.,125.,100.,70.,50.,40.,30.,20.,15.,10.,7.,5.,3.,2.,1.,0.7,0.4,0.2,0.1,0.07,0.04,0.02,0.01," - -########################################################## -# Specify variable to directly output pgrb2 files for GDAS/GFS -########################################################## -export IDRT=${IDRT:-0} # IDRT=0 is setting for outputting grib files on lat/lon grid - -############################################################ -# Post Analysis Files before starting the Forecast Post -############################################################ -# Chuang: modify to process analysis when post_times is 00 -export stime=`echo $post_times | cut -c1-3` -if [ $OUTTYP -eq 4 ] ; then - export loganl=$COMIN/${PREFIX}atmanl${SUFFIX} -else - export loganl=$COMIN/${PREFIX}sanl -fi - -#---------------------------------- -if [ ${stime} = "anl" ]; then -#---------------------------------- - -if test -f $loganl -then - -# add new environmental variables for running new ncep post -# Validation date - - export VDATE=${PDY}${cyc} - -# set outtyp to 1 because we need to run chgres in the post before model start running chgres -# otherwise set to 0, then chgres will not be executed in global_nceppost.sh - - export OUTTYP=${OUTTYP:-4} - -# specify output file name from chgres which is input file name to nceppost -# if model already runs gfs io, make sure GFSOUT is linked to the gfsio file -# new imported variable for global_nceppost.sh - - export GFSOUT=${RUN}.${cycle}.gfsioanl - -# specify smaller control file for GDAS because GDAS does not -# produce flux file, the default will be /nwprod/parm/gfs_cntrl.parm - - if [ $GRIBVERSION = 'grib2' ]; then - export POSTGRB2TBL=${POSTGRB2TBL:-${g2tmpl_ROOT}/share/params_grib2_tbl_new} - export PostFlatFile=${PostFlatFile:-$PARMpost/postxconfig-NT-GFS-ANL.txt} - export CTLFILE=$PARMpost/postcntrl_gfs_anl.xml - fi - - [[ -f flxfile ]] && rm flxfile ; [[ -f nemsfile ]] && rm nemsfile - if [ $OUTTYP -eq 4 ] ; then - ln -fs $COMIN/${PREFIX}atmanl${SUFFIX} nemsfile - export NEMSINP=nemsfile - ln -fs $COMIN/${PREFIX}sfcanl${SUFFIX} flxfile - export FLXINP=flxfile - fi - export PGBOUT=pgbfile - export PGIOUT=pgifile - export PGBOUT2=pgbfile.grib2 - export PGIOUT2=pgifile.grib2.idx - export IGEN=$IGEN_ANL - export FILTER=0 - - #specify fhr even for analysis because postgp uses it -# export fhr=00 - - $POSTGPSH - export err=$?; err_chk - - - if test $GRIBVERSION = 'grib2' - then - mv $PGBOUT $PGBOUT2 - -#Proces pgb files - export FH=-1 - export downset=${downset:-1} - $GFSDOWNSH - export err=$?; err_chk - - export fhr3=anl - - fi - - if test $SENDCOM = 'YES' - then - export fhr3=anl - if [ $GRIBVERSION = 'grib2' ] - then - MASTERANL=${PREFIX}master.grb2${fhr3} -##########XXW Accord to Boi, fortran index should use *if${fhr}, wgrib index use .idx - #MASTERANLIDX=${RUN}.${cycle}.master.grb2${fhr3}.idx - MASTERANLIDX=${PREFIX}master.grb2i${fhr3} - cp $PGBOUT2 $COMOUT/${MASTERANL} - $GRB2INDEX $PGBOUT2 $COMOUT/${MASTERANLIDX} - fi - - if test $SENDDBN = 'YES' - then - run=`echo $RUN | tr '[a-z]' '[A-Z]'` - if [ $GRIBVERSION = 'grib2' ] - then - $DBNROOT/bin/dbn_alert MODEL ${run}_MSC_sfcanl $job $COMOUT/${PREFIX}sfc${fhr3}${SUFFIX} - $DBNROOT/bin/dbn_alert MODEL ${run}_SA $job $COMIN/${PREFIX}atm${fhr3}${SUFFIX} - $DBNROOT/bin/dbn_alert MODEL GDAS_PGA_GB2 $job $COMOUT/${PREFIX}pgrb2.1p00.${fhr3} - $DBNROOT/bin/dbn_alert MODEL GDAS_PGA_GB2_WIDX $job $COMOUT/${PREFIX}pgrb2.1p00.${fhr3}.idx - fi - fi - - fi - rm pgbfile.grib2 -fi - -#---------------------------------- -else ## not_anl if_stimes -#---------------------------------- - -SLEEP_LOOP_MAX=`expr $SLEEP_TIME / $SLEEP_INT` - -############################################################ -# Loop Through the Post Forecast Files -############################################################ - -for fhr in $post_times -do - ############################### - # Start Looping for the - # existence of the restart files - ############################### - set -x - export pgm="postcheck" - ic=1 - while [ $ic -le $SLEEP_LOOP_MAX ] - do - if test -f ${restart_file}${fhr}.txt - then - break - else - ic=`expr $ic + 1` - sleep $SLEEP_INT - fi - ############################### - # If we reach this point assume - # fcst job never reached restart - # period and error exit - ############################### - if [ $ic -eq $SLEEP_LOOP_MAX ] - then - echo " *** FATAL ERROR: No model output in nemsio for f${fhr} " - export err=9 - err_chk - fi - done - set -x - - msg="Starting post for fhr=$fhr" - postmsg "$jlogfile" "$msg" - - ############################### - # Put restart files into /nwges - # for backup to start Model Fcst - ############################### - [[ -f flxfile ]] && rm flxfile ; [[ -f nemsfile ]] && rm nemsfile - if [ $OUTTYP -eq 4 ] ; then - ln -sf $COMIN/${PREFIX}atmf$fhr${SUFFIX} nemsfile - export NEMSINP=nemsfile - ln -sf $COMIN/${PREFIX}sfcf$fhr${SUFFIX} flxfile - export FLXINP=flxfile - fi - - if test $fhr -gt 0 - then - export IGEN=$IGEN_FCST - else - export IGEN=$IGEN_ANL - fi - -# add new environmental variables for running new ncep post -# Validation date - - export VDATE=`${NDATE} +${fhr} ${PDY}${cyc}` - -# set to 3 to output lat/lon grid - - export OUTTYP=${OUTTYP:-4} - - if [ $GRIBVERSION = 'grib2' ] ; then - export POSTGRB2TBL=${POSTGRB2TBL:-${g2tmpl_ROOT}/share/params_grib2_tbl_new} - export PostFlatFile=$PARMpost/postxconfig-NT-GFS.txt - if [ $RUN = gfs ] ; then - export IGEN=$IGEN_GFS - if [ $fhr -gt 0 ] ; then export IGEN=$IGEN_FCST ; fi - else - export IGEN=$IGEN_GDAS_ANL - if [ $fhr -gt 0 ] ; then export IGEN=$IGEN_FCST ; fi - fi - if [[ $RUN = gfs ]] ; then - if test $fhr -eq 0 - then - export PostFlatFile=$PARMpost/postxconfig-NT-GFS-F00.txt - export CTLFILE=$PARMpost/postcntrl_gfs_f00.xml - else - export CTLFILE=${CTLFILEGFS:-$PARMpost/postcntrl_gfs.xml} - fi - else - if test $fhr -eq 0 - then - export PostFlatFile=$PARMpost/postxconfig-NT-GFS-F00.txt - export CTLFILE=${CTLFILEGFS:-$PARMpost/postcntrl_gfs_f00.xml} - else - export CTLFILE=${CTLFILEGFS:-$PARMpost/postcntrl_gfs.xml} - fi - fi - fi - - export FLXIOUT=flxifile - export PGBOUT=pgbfile - export PGIOUT=pgifile - export PGBOUT2=pgbfile.grib2 - export PGIOUT2=pgifile.grib2.idx - export FILTER=0 - export fhr3=$fhr - if [ $GRIBVERSION = 'grib2' ] - then - MASTERFHR=${PREFIX}master.grb2f${fhr} - MASTERFHRIDX=${PREFIX}master.grb2if${fhr} - fi - - - if [ $INLINE_POST = ".false." ]; then - $POSTGPSH - else - cp $COMOUT/${MASTERFHR} $PGBOUT - fi - export err=$?; err_chk - - - if test $GRIBVERSION = 'grib2' - then - mv $PGBOUT $PGBOUT2 - fi - - #wm Process pgb files - export FH=`expr $fhr + 0` - export downset=${downset:-1} - $GFSDOWNSH - export err=$?; err_chk - - - if [ $SENDDBN = YES ]; then - run=`echo $RUN | tr '[a-z]' '[A-Z]'` - $DBNROOT/bin/dbn_alert MODEL ${run}_PGB2_0P25 $job $COMOUT/${PREFIX}pgrb2.0p25.f${fhr} - $DBNROOT/bin/dbn_alert MODEL ${run}_PGB2_0P25_WIDX $job $COMOUT/${PREFIX}pgrb2.0p25.f${fhr}.idx - $DBNROOT/bin/dbn_alert MODEL ${run}_PGB_GB2 $job $COMOUT/${PREFIX}pgrb2.1p00.f${fhr} - $DBNROOT/bin/dbn_alert MODEL ${run}_PGB_GB2_WIDX $job $COMOUT/${PREFIX}pgrb2.1p00.f${fhr}.idx - fi - - - if test $SENDCOM = 'YES' - then - if [ $GRIBVERSION = 'grib2' ] ; then - if [ $INLINE_POST = ".false." ]; then - cp $PGBOUT2 $COMOUT/${MASTERFHR} - fi - $GRB2INDEX $PGBOUT2 $COMOUT/${MASTERFHRIDX} - fi - -# Model generated flux files will be in nemsio after FY17 upgrade -# use post to generate Grib2 flux files - - if [ $OUTTYP -eq 4 ] ; then - export NEMSINP=$COMIN/${PREFIX}atmf${fhr}${SUFFIX} - export FLXINP=$COMIN/${PREFIX}sfcf${fhr}${SUFFIX} - if test $fhr -eq 0 - then - export PostFlatFile=$PARMpost/postxconfig-NT-GFS-FLUX-F00.txt - export CTLFILE=$PARMpost/postcntrl_gfs_flux_f00.xml - else - export PostFlatFile=$PARMpost/postxconfig-NT-GFS-FLUX.txt - export CTLFILE=$PARMpost/postcntrl_gfs_flux.xml - fi - export PGBOUT=fluxfile - export FILTER=0 - FLUXFL=${PREFIX}sfluxgrbf${fhr}.grib2 - FLUXFLIDX=${PREFIX}sfluxgrbf${fhr}.grib2.idx - - if [ $INLINE_POST = ".false." ]; then - $POSTGPSH - export err=$?; err_chk - mv fluxfile $COMOUT/${FLUXFL} - fi - $WGRIB2 -s $COMOUT/${FLUXFL} > $COMOUT/${FLUXFLIDX} - fi - - if test "$SENDDBN" = 'YES' -a \( "$RUN" = 'gdas' \) -a `expr $fhr % 3` -eq 0 - then - $DBNROOT/bin/dbn_alert MODEL ${run}_SF $job $COMOUT/${PREFIX}atmf${fhr}${SUFFIX} - $DBNROOT/bin/dbn_alert MODEL ${run}_BF $job $COMOUT/${PREFIX}sfcf${fhr}${SUFFIX} - $DBNROOT/bin/dbn_alert MODEL ${run}_SGB_GB2 $job $COMOUT/${PREFIX}sfluxgrbf${fhr}.grib2 - $DBNROOT/bin/dbn_alert MODEL ${run}_SGB_GB2_WIDX $job $COMOUT/${PREFIX}sfluxgrbf${fhr}.grib2.idx - fi - fi - - [[ -f pgbfile.grib2 ]] && rm pgbfile.grib2 ; [[ -f flxfile ]] && rm flxfile - -done - -#---------------------------------- -fi ## end_if_times -#---------------------------------- - -#cat $pgmout -#msg='ENDED NORMALLY.' -#postmsg "$jlogfile" "$msg" - -exit 0 - -################## END OF SCRIPT ####################### diff --git a/scripts/exgfs_atmos_nceppost.sh b/scripts/exgfs_atmos_nceppost.sh deleted file mode 100755 index 199c1dc1ff..0000000000 --- a/scripts/exgfs_atmos_nceppost.sh +++ /dev/null @@ -1,554 +0,0 @@ -##################################################################### -echo "-----------------------------------------------------" -echo " exgfs_nceppost.sh" -echo " Apr 99 - Michaud - Generated to post global forecast" -echo " Mar 03 - Zhu - Add post for 0.5x0.5 degree" -echo " Nov 03 - Gilbert - Modified from exglobal_post.sh.sms" -echo " to run only one master post job." -echo " Jan 07 - Cooke - Add DBNet Alert for Master files" -echo " May 07 - Chuang - Modified scripts to run unified post" -echo " Feb 10 - Carlis - Add 12-hr accum precip bucket at f192" -echo " Jun 12 - Wang - Add option for grb2" -echo " Jul 14 - Carlis - Add 0.25 deg master " -echo " Mar 17 - F Yang - Modified for running fv3gfs" -echo " Aug 17 - Meng - Add flags for turning on/off flx, gtg " -echo " and satellite look like file creation" -echo " and use 3-digit forecast hour naming" -echo " post output files" -echo " Dec 17 - Meng - Link sfc data file to flxfile " -echo " since fv3gfs does not output sfc files any more." -echo " Dec 17 - Meng - Add fv3gfs_downstream_nems.sh for pgb processing " -echo " Jan 18 - Meng - Add flag PGBF for truning on/off pgb processing. " -echo " Jan 18 - Meng - For EE2 standard, move IDRT POSTGPVARS setting" -echo " from j-job script." -echo " Feb 18 - Meng - Removed legacy setting for generating grib1 data" -echo " and reading sigio model outputs." -echo " Aug 20 - Meng - Remove .ecf extentsion per EE2 review." -echo " Sep 20 - Meng - Update clean up files per EE2 review." -echo "-----------------------------------------------------" -##################################################################### - -set -x - -cd $DATA - -# specify model output format type: 4 for nemsio, 3 for sigio -msg="HAS BEGUN on `hostname`" -postmsg "$jlogfile" "$msg" - -export POSTGPSH=${POSTGPSH:-$USHgfs/gfs_nceppost.sh} -export GFSDOWNSH=${GFSDOWNSH:-$USHgfs/fv3gfs_downstream_nems.sh} -export GFSDWNSH=${GFSDWNSH:-$USHgfs/fv3gfs_dwn_nems.sh} -export TRIMRH=${TRIMRH:-$USHgfs/trim_rh.sh} -export MODICEC=${MODICEC:-$USHgfs/mod_icec.sh} -export INLINE_POST=${INLINE_POST:-".false."} - -############################################################ -# Define Variables: -# ----------------- -# FH is the current forecast hour. -# SLEEP_TIME is the number of seconds to sleep before exiting with error. -# SLEEP_INT is the number of seconds to sleep between restrt file checks. -# restart_file is the name of the file to key off of to kick off post. -############################################################ -export IO=${LONB:-1440} -export JO=${LATB:-721} -export OUTTYP=${OUTTYP:-4} -export FLXF=${FLXF:-"YES"} -export GOESF=${GOESF:-"YES"} -export WAFSF=${WAFSF:-"NO"} -export PGBF=${PGBF:-"YES"} -export TCYC=${TCYC:-".t${cyc}z."} -export OUTPUT_FILE=${OUTPUT_FILE:-"nemsio"} -export PREFIX=${PREFIX:-${RUN}${TCYC}} -if [ $OUTTYP -eq 4 ] ; then - if [ $OUTPUT_FILE = "netcdf" ]; then - export SUFFIX=".nc" - else - export SUFFIX=".nemsio" - fi -else - export SUFFIX= -fi -export machine=${machine:-WCOSS_C} - -########################### -# Specify Output layers -########################### -export POSTGPVARS="KPO=57,PO=1000.,975.,950.,925.,900.,875.,850.,825.,800.,775.,750.,725.,700.,675.,650.,625.,600.,575.,550.,525.,500.,475.,450.,425.,400.,375.,350.,325.,300.,275.,250.,225.,200.,175.,150.,125.,100.,70.,50.,40.,30.,20.,15.,10.,7.,5.,3.,2.,1.,0.7,0.4,0.2,0.1,0.07,0.04,0.02,0.01," - -########################################################## -# Specify variable to directly output pgrb2 files for GDAS/GFS -########################################################## -export IDRT=${IDRT:-0} # IDRT=0 is setting for outputting grib files on lat/lon grid - -############################################################ -# Post Analysis Files before starting the Forecast Post -############################################################ -# Process analysis when post_times is 00 - export stime=`echo $post_times | cut -c1-3` -if [ $OUTTYP -eq 4 ] ; then - export loganl=$COMIN/${PREFIX}atmanl${SUFFIX} -else - export loganl=$COMIN/${PREFIX}sanl -fi - -#---------------------------------- -if [ ${stime} = "anl" ]; then -#---------------------------------- - -if test -f $loganl -then - -# add new environmental variables for running new ncep post -# Validation date - export VDATE=${PDY}${cyc} -# specify output file name from chgres which is input file name to nceppost -# if model already runs gfs io, make sure GFSOUT is linked to the gfsio file -# new imported variable for global_nceppost.sh - export GFSOUT=${PREFIX}gfsioanl - -# specify smaller control file for GDAS because GDAS does not -# produce flux file, the default will be /nwprod/parm/gfs_cntrl.parm - if [ $GRIBVERSION = 'grib2' ]; then -# use grib2 nomonic table in product g2tmpl directory as default - export POSTGRB2TBL=${POSTGRB2TBL:-${g2tmpl_ROOT}/share/params_grib2_tbl_new} - export PostFlatFile=${PostFlatFile:-$PARMpost/postxconfig-NT-GFS-ANL.txt} - export CTLFILE=$PARMpost/postcntrl_gfs_anl.xml - fi - - [[ -f flxfile ]] && rm flxfile ; [[ -f nemsfile ]] && rm nemsfile - if [ $OUTTYP -eq 4 ] ; then - ln -fs $COMIN/${PREFIX}atmanl${SUFFIX} nemsfile - export NEMSINP=nemsfile - ln -fs $COMIN/${PREFIX}sfcanl${SUFFIX} flxfile - export FLXINP=flxfile - fi - - export PGBOUT=pgbfile - export PGIOUT=pgifile - export PGBOUT2=pgbfile.grib2 - export PGIOUT2=pgifile.grib2.idx - export IGEN=$IGEN_ANL - export FILTER=0 - - $POSTGPSH - export err=$?; err_chk - - if test $GRIBVERSION = 'grib2' - then - mv $PGBOUT $PGBOUT2 - fi - -# Process pgb files - if test "$PGBF" = 'YES' - then - export FH=-1 - export downset=${downset:-2} - $GFSDOWNSH - export err=$?; err_chk - fi - - if test "$SENDCOM" = 'YES' - then - export fhr3=anl - if [ $GRIBVERSION = 'grib2' ] - then - MASTERANL=${PREFIX}master.grb2${fhr3} - MASTERANLIDX=${PREFIX}master.grb2i${fhr3} - cp $PGBOUT2 $COMOUT/${MASTERANL} - $GRB2INDEX $PGBOUT2 $COMOUT/${MASTERANLIDX} - fi - - if test "$SENDDBN" = 'YES' - then - $DBNROOT/bin/dbn_alert MODEL GFS_MSC_sfcanl $job $COMOUT/${PREFIX}sfcanl${SUFFIX} - $DBNROOT/bin/dbn_alert MODEL GFS_SA $job $COMOUT/${PREFIX}atmanl${SUFFIX} -#alert removed in v15.0 $DBNROOT/bin/dbn_alert MODEL GFS_MASTER $job $COMOUT/${MASTERANL} - if test "$PGBF" = 'YES' - then - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2_0P25 $job $COMOUT/${PREFIX}pgrb2.0p25.anl - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2_0P25_WIDX $job $COMOUT/${PREFIX}pgrb2.0p25.anl.idx - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2B_0P25 $job $COMOUT/${PREFIX}pgrb2b.0p25.anl - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2B_0P25_WIDX $job $COMOUT/${PREFIX}pgrb2b.0p25.anl.idx - - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2_0P5 $job $COMOUT/${PREFIX}pgrb2.0p50.anl - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2_0P5_WIDX $job $COMOUT/${PREFIX}pgrb2.0p50.anl.idx - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2B_0P5 $job $COMOUT/${PREFIX}pgrb2b.0p50.anl - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2B_0P5_WIDX $job $COMOUT/${PREFIX}pgrb2b.0p50.anl.idx - - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2_1P0 $job $COMOUT/${PREFIX}pgrb2.1p00.anl - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2_1P0_WIDX $job $COMOUT/${PREFIX}pgrb2.1p00.anl.idx - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2B_1P0 $job $COMOUT/${PREFIX}pgrb2b.1p00.anl - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2B_1P0_WIDX $job $COMOUT/${PREFIX}pgrb2b.1p00.anl.idx - fi - fi - - fi - [[ -f pgbfile.grib2 ]] && rm pgbfile.grib2 -# ecflow_client --event release_pgrb2_anl - -########################## WAFS U/V/T analysis start ########################## -# U/V/T on ICAO standard atmospheric pressure levels for WAFS verification - if [ $WAFSF = "YES" ] ; then - if [[ $RUN = gfs && $GRIBVERSION = 'grib2' ]] ; then - export OUTTYP=${OUTTYP:-4} - - export PostFlatFile=$PARMpost/postxconfig-NT-GFS-WAFS-ANL.txt - export CTLFILE=$PARMpost/postcntrl_gfs_wafs_anl.xml - - export PGBOUT=wafsfile - export PGIOUT=wafsifile - - $POSTGPSH - export err=$?; err_chk - - # WAFS package doesn't process this part. - # Need to be saved for WAFS U/V/T verification, - # resolution higher than WAFS 1.25 deg for future compatibility - wafsgrid="latlon 0:1440:0.25 90:721:-0.25" - $WGRIB2 $PGBOUT -set_grib_type same -new_grid_winds earth \ - -new_grid_interpolation bilinear -set_bitmap 1 \ - -new_grid $wafsgrid ${PGBOUT}.tmp - - if test $SENDCOM = "YES" - then - cp ${PGBOUT}.tmp $COMOUT/${PREFIX}wafs.0p25.anl - $WGRIB2 -s ${PGBOUT}.tmp > $COMOUT/${PREFIX}wafs.0p25.anl.idx - - if [ $SENDDBN = YES ]; then - $DBNROOT/bin/dbn_alert MODEL GFS_WAFS_GB2 $job $COMOUT/${PREFIX}wafs.0p25.anl - $DBNROOT/bin/dbn_alert MODEL GFS_WAFS_GB2__WIDX $job $COMOUT/${PREFIX}wafs.0p25.anl.idx - fi - fi - rm $PGBOUT ${PGBOUT}.tmp - fi - fi -########################## WAFS U/V/T analysis end ########################## - -fi - -#---------------------------------- -else ## not_anl if_stime -#---------------------------------- - -SLEEP_LOOP_MAX=`expr $SLEEP_TIME / $SLEEP_INT` - -# Chuang: modify to submit one post job at a time -############################################################ -# Loop Through the Post Forecast Files -############################################################ - -for fhr in $post_times -do - echo 'Start processing fhr='$post_times - ############################### - # Start Looping for the - # existence of the restart files - ############################### - set -x - export pgm="postcheck" - ic=1 - while [ $ic -le $SLEEP_LOOP_MAX ] - do - if test -f $restart_file${fhr}.txt - then - break - else - ic=`expr $ic + 1` - sleep $SLEEP_INT - fi - ############################### - # If we reach this point assume - # fcst job never reached restart - # period and error exit - ############################### - if [ $ic -eq $SLEEP_LOOP_MAX ] - then - echo " *** FATAL ERROR: No model output in nemsio for f${fhr} " - export err=9 - err_chk - fi - done - set -x - - msg="Starting post for fhr=$fhr" - postmsg "$jlogfile" "$msg" - - ############################### - # Put restart files into /nwges - # for backup to start Model Fcst - ############################### - [[ -f flxfile ]] && rm flxfile ; [[ -f nemsfile ]] && rm nemsfile - if [ $OUTTYP -eq 4 ] ; then - ln -fs $COMIN/${PREFIX}atmf${fhr}${SUFFIX} nemsfile - export NEMSINP=nemsfile - ln -fs $COMIN/${PREFIX}sfcf${fhr}${SUFFIX} flxfile - export FLXINP=flxfile - fi - - if test $fhr -gt 0 - then - export IGEN=$IGEN_FCST - else - export IGEN=$IGEN_ANL - fi - - export VDATE=`${NDATE} +${fhr} ${PDY}${cyc}` - export OUTTYP=${OUTTYP:-4} - export GFSOUT=${PREFIX}gfsio${fhr} - - if [ $GRIBVERSION = 'grib2' ]; then - export POSTGRB2TBL=${POSTGRB2TBL:-${g2tmpl_ROOT}/share/params_grib2_tbl_new} - export PostFlatFile=${PostFlatFile:-$PARMpost/postxconfig-NT-GFS.txt} - - if [ $RUN = gfs ] ; then - export IGEN=$IGEN_GFS - if [ $fhr -gt 0 ] ; then export IGEN=$IGEN_FCST ; fi - else - export IGEN=$IGEN_GDAS_ANL - if [ $fhr -gt 0 ] ; then export IGEN=$IGEN_FCST ; fi - fi - if [[ $RUN = gfs ]] ; then - if test $fhr -eq 0 - then - export PostFlatFile=$PARMpost/postxconfig-NT-GFS-F00.txt - export CTLFILE=$PARMpost/postcntrl_gfs_f00.xml - else - export CTLFILE=${CTLFILEGFS:-$PARMpost/postcntrl_gfs.xml} - fi - else - if test $fhr -eq 0 - then - export PostFlatFile=$PARMpost/postxconfig-NT-GFS-F00.txt - export CTLFILE=${CTLFILEGFS:-$PARMpost/postcntrl_gfs_f00.xml} - else - export CTLFILE=${CTLFILEGFS:-$PARMpost/postcntrl_gfs.xml} - fi - fi - fi - - export FLXIOUT=flxifile - export PGBOUT=pgbfile - export PGIOUT=pgifile - export PGBOUT2=pgbfile.grib2 - export PGIOUT2=pgifile.grib2.idx - export FILTER=0 - if [ $GRIBVERSION = 'grib2' ]; then - MASTERFL=${PREFIX}master.grb2f${fhr} - MASTERFLIDX=${PREFIX}master.grb2if${fhr} - fi - - if [ $INLINE_POST = ".false." ]; then - $POSTGPSH - else - cp -p $COMOUT/${MASTERFL} $PGBOUT - fi - export err=$?; err_chk - - if test $GRIBVERSION = 'grib2' - then - mv $PGBOUT $PGBOUT2 - fi - -# Process pgb files - if test "$PGBF" = 'YES' - then - export FH=`expr $fhr + 0` - export downset=${downset:-2} - $GFSDOWNSH - export err=$?; err_chk - fi - - if test $SENDCOM = "YES" - then - if [ $GRIBVERSION = 'grib2' ] ; then - if [ $INLINE_POST = ".false." ]; then - cp $PGBOUT2 $COMOUT/${MASTERFL} - fi - $GRB2INDEX $PGBOUT2 $COMOUT/${MASTERFLIDX} - fi - - if test "$SENDDBN" = 'YES' - then - if [ $GRIBVERSION = 'grib2' ] ; then -#alert removed in v15.0 $DBNROOT/bin/dbn_alert MODEL GFS_MASTER $job $COMOUT/${MASTERFL} - if test "$PGBF" = 'YES' - then - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2_0P25 $job $COMOUT/${PREFIX}pgrb2.0p25.f${fhr} - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2_0P25_WIDX $job $COMOUT/${PREFIX}pgrb2.0p25.f${fhr}.idx - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2B_0P25 $job $COMOUT/${PREFIX}pgrb2b.0p25.f${fhr} - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2B_0P25_WIDX $job $COMOUT/${PREFIX}pgrb2b.0p25.f${fhr}.idx - - if [ -s $COMOUT/${PREFIX}pgrb2.0p50.f${fhr} ] ; then - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2_0P5 $job $COMOUT/${PREFIX}pgrb2.0p50.f${fhr} - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2_0P5_WIDX $job $COMOUT/${PREFIX}pgrb2.0p50.f${fhr}.idx - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2B_0P5 $job $COMOUT/${PREFIX}pgrb2b.0p50.f${fhr} - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2B_0P5_WIDX $job $COMOUT/${PREFIX}pgrb2b.0p50.f${fhr}.idx - fi - - if [ -s $COMOUT/${PREFIX}pgrb2.1p00.f${fhr} ] ; then - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2_1P0 $job $COMOUT/${PREFIX}pgrb2.1p00.f${fhr} - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2_1P0_WIDX $job $COMOUT/${PREFIX}pgrb2.1p00.f${fhr}.idx - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2B_1P0 $job $COMOUT/${PREFIX}pgrb2b.1p00.f${fhr} - $DBNROOT/bin/dbn_alert MODEL GFS_PGB2B_1P0_WIDX $job $COMOUT/${PREFIX}pgrb2b.1p00.f${fhr}.idx - fi - fi - - fi - fi - - # x3=`expr $fhr % 3` - # x3=0 ---> Standard 3-hourly or 12-hourly output - # Only master grib files are needed for the hourly files - # if [ $x3 -eq 0 ] ; then - export fhr - $USHgfs/gfs_transfer.sh - # fi - fi - [[ -f pgbfile.grib2 ]] && rm pgbfile.grib2 - -# use post to generate GFS Grib2 Flux file as model generated Flux file -# will be in nemsio format after FY17 upgrade. - if [ $OUTTYP -eq 4 -a $FLXF = "YES" ] ; then - if test $fhr -eq 0 - then - export PostFlatFile=$PARMpost/postxconfig-NT-GFS-FLUX-F00.txt - export CTLFILE=$PARMpost/postcntrl_gfs_flux_f00.xml - else - export PostFlatFile=$PARMpost/postxconfig-NT-GFS-FLUX.txt - export CTLFILE=$PARMpost/postcntrl_gfs_flux.xml - fi - export PGBOUT=fluxfile - export FILTER=0 - FLUXFL=${PREFIX}sfluxgrbf${fhr}.grib2 - FLUXFLIDX=${PREFIX}sfluxgrbf${fhr}.grib2.idx - - if [ $INLINE_POST = ".false." ]; then - $POSTGPSH - export err=$?; err_chk - mv fluxfile $COMOUT/${FLUXFL} - fi - $WGRIB2 -s $COMOUT/${FLUXFL} > $COMOUT/${FLUXFLIDX} - - if test "$SENDDBN" = 'YES' - then - $DBNROOT/bin/dbn_alert MODEL GFS_SGB_GB2 $job $COMOUT/${FLUXFL} - $DBNROOT/bin/dbn_alert MODEL GFS_SGB_GB2_WIDX $job $COMOUT/${FLUXFLIDX} - fi - fi - -# process satellite look alike separately so that master pgb gets out in time -# set outtyp to 2 because master post already generates gfs io files - if [ $GOESF = "YES" ]; then - - export OUTTYP=${OUTTYP:-4} - -# specify output file name from chgres which is input file name to nceppost -# if model already runs gfs io, make sure GFSOUT is linked to the gfsio file -# new imported variable for global_nceppost.sh - - export GFSOUT=${PREFIX}gfsio${fhr} - - # link satellite coefficients files, use hwrf version as ops crtm 2.0.5 - # does not new coefficient files used by post - export FIXCRTM=${FIXCRTM:-${CRTM_FIX}} - $USHgfs/link_crtm_fix.sh $FIXCRTM - - if [ $GRIBVERSION = 'grib2' ] ; then - export PostFlatFile=$PARMpost/postxconfig-NT-GFS-GOES.txt - export CTLFILE=$PARMpost/postcntrl_gfs_goes.xml - fi - export FLXINP=flxfile - export FLXIOUT=flxifile - export PGBOUT=goesfile - export PGIOUT=goesifile - export FILTER=0 - export IO=0 - export JO=0 - export IGEN=0 - - if [ $NET = gfs ]; then - $POSTGPSH - export err=$?; err_chk - fi - - if [ $GRIBVERSION = 'grib2' ]; then - SPECIALFL=${PREFIX}special.grb2 - SPECIALFLIDX=${PREFIX}special.grb2i - fi - fhr3=$fhr - - if test $SENDCOM = "YES" - then - -# echo "$PDY$cyc$pad$fhr" > $COMOUT/${RUN}.t${cyc}z.master.control - - mv goesfile $COMOUT/${SPECIALFL}f$fhr - mv goesifile $COMOUT/${SPECIALFLIDX}f$fhr - - fi - fi -# end of satellite processing - -########################## WAFS start ########################## -# Generate WAFS products on ICAO standard level. -# Do not need to be sent out to public, WAFS package will process the data. - if [[ $WAFSF = "YES" && $fhr -le 120 ]] ; then - if [[ $RUN = gfs && $GRIBVERSION = 'grib2' ]] ; then - export OUTTYP=${OUTTYP:-4} - - # Extend WAFS icing and gtg up to 120 hours - export PostFlatFile=$PARMpost/postxconfig-NT-GFS-WAFS.txt - export CTLFILE=$PARMpost/postcntrl_gfs_wafs.xml - - # gtg has its own configurations - cp $PARMpost/gtg.config.gfs gtg.config - cp $PARMpost/gtg_imprintings.txt gtg_imprintings.txt - - export PGBOUT=wafsfile - export PGIOUT=wafsifile - - # WAFS data is processed: - # hourly if fhr<=24 - # every 3 forecast hour if 24>posthours - if [ $hour -lt 120 ] - then - if [ $hour -eq 99 ] - then - typeset -Z3 hour - fi - let "hour=hour+1" - else - let "hour=hour+3" - fi -done -postjobs=`cat posthours` - -# -# Wait for all fcst hours to finish -# -icnt=1 -while [ $icnt -lt 1000 ] -do - for fhr in $postjobs - do - fhr3=`printf "%03d" $fhr` - if [ -s ${COMIN}/${RUN}.${cycle}.logf${fhr}.txt -o -s ${COMIN}/${RUN}.${cycle}.logf${fhr3}.txt ] - then - if [ $fhr -eq 0 ] - then -#### ecflow_client --event release_${RUN}_postanl - ecflow_client --event release_postanl - fi -#### ecflow_client --event release_${RUN}_post${fhr} - ecflow_client --event release_post${fhr3} - # Remove current fhr from list - postjobs=`echo $postjobs | sed "s/${fhr}//"` - fi - done - - result_check=`echo $postjobs | wc -w` - if [ $result_check -eq 0 ] - then - break - fi - - sleep 10 - icnt=$((icnt + 1)) - if [ $icnt -ge 1001 ] - then - msg="ABORTING after 3 hours of waiting for ${RUN} FCST hours $postjobs." - err_exit $msg - fi - -done - -echo Exiting $0 - -exit diff --git a/scripts/run_upp b/scripts/run_upp deleted file mode 100755 index a9589391fc..0000000000 --- a/scripts/run_upp +++ /dev/null @@ -1,388 +0,0 @@ -#!/bin/ksh -# -set -x -#-------------------------------------------------------- -# Updates: -# -# August 2005: Hui-Ya Chuang, NCEP: This script uses -# NCEP's Unipost to post processes WRF native model -# output, and uses copygb to horizontally interpolate posted -# output from native A-E to a regular projection grid. -# -# July 2006: Meral Demirtas, NCAR/DTC: Added new "copygb" -# options and revised some parts for clarity. -# -# April 2015: Modified to run NMM-B/NEMS, KRF(DTC) -# -# January 2019: Modified to remove NMMB/NMM and add FV3, TH (DTC) -# -# October 2019: Modified for new unified build system; -# ndate.exe and copygb.exe have been removed -# -# October 2020: Modified to remove WRF and grib1; Add FV3LAM -# Updates for cmake build, Change exec name -# -#-------------------------------------------------------- -# -# This script runs the stand-alone community version of UPP -# -#-------------------------------------------------------- - -#---------------------------------------------------------------------------------- -#--- USER EDIT DESCIPTIONS -------------------------------------------------------- -# See UPP User's Guide for more information -# https://upp.readthedocs.io/en/ufs-v2.0.0/ -#---------------------------------------------------------------------------------- -# TOP_DIR : Top level directory for building and running UPP -# DOMAINPATH : Working directory for this run. -# UNIPOST_HOME : Location of the EMC-post directory -# POSTEXEC : Location of the UPP executable -# modelDataPath : Location of the model output data files to be post-processed -# txtCntrlFile : Name and location of the flat text file that lists desired fields for output -# GFS: postxconfig-NT-GFS-F00.txt (0-hour lead) and postxconfig-NT-GFS.txt (all other -# leads) -# LAM (Limited Area Model): postxconfig-NT-fv3lam.txt -# model : What model is used? GFS or LAM (Limited Area Model) -# inFormat : Format of the model data -# GFS - "binarynemsiompiio" or "netcdf" -# LAM - "netcdf" -# outFormat : Format of output from UPP -# grib2 -# startdate : Forecast start date (YYYYMMDDHH) -# fhr : First forecast hour to be post-processed -# lastfhr : Last forecast hour to be post-processed -# incrementhr : Increment (in hours) between forecast files -# * Do not set to 0 or the script will loop continuously * -# RUN_COMMAND : System run command for serial or parallel runs, examples below. -# -#---------------------------------------------------------------------------------- -#--- BEGIN USER EDIT HERE --------------------------------------------------------- -#---------------------------------------------------------------------------------- - -# Set relevant paths and data information -# This script assumes you created a directory $DOMAINPATH/postprd -# as recommended in the users guide where UPP will output. -export TOP_DIR=/home/username -export DOMAINPATH=${TOP_DIR}/test_case -export UNIPOST_HOME=${TOP_DIR}/EMC_post -export POSTEXEC=${UNIPOST_HOME}/bin -export modelDataPath=/path/to/model/data -export txtCntrlFile=${DOMAINPATH}/parm/postxconfig-NT-GFS.txt - -# Specify model ("GFS" or "LAM" in upper case) -export model="GFS" - -# Set input format from model and ouput format from UPP -export inFormat="netcdf" -export outFormat="grib2" - -# Set date/time information -export startdate=2020020400 -export fhr=00 -export lastfhr=06 -export incrementhr=03 - -# Set run command: - -# Single processor command example -#export RUN_COMMAND="${POSTEXEC}/upp.x " - -# Parallel command examples: -export RUN_COMMAND="mpirun -np 1 ${POSTEXEC}/upp.x " -#export RUN_COMMAND="mpirun.lsf ${POSTEXEC}/upp.x " -#export RUN_COMMAND="mpiexec_mpt ${POSTEXEC}/upp.x " - -# DEBUG command example found further below, search "DEBUG" - - -# Shouldn't need to edit these. -# tmmark is an variable used as the file extention of the output -# filename .GrbF is used if this variable is not set -# COMSP is a variable used as the initial string of the output filename -export tmmark=tm00 -export MP_SHARED_MEMORY=yes -export MP_LABELIO=yes - -#---------------------------------------------------------------------- -#--- END USER EDIT ---------------------------------------------------- -#---------------------------------------------------------------------- - -#---------------------------------------------------------------------- -# Shouldn't need to edit below unless something goes wrong or debugging -#---------------------------------------------------------------------- - -#---------------------------------------------------------------------- -# Do some checks for directory/executable existence, user input, etc. -#---------------------------------------------------------------------- -if [ ! -d ${POSTEXEC} ]; then - echo "ERROR: POSTEXEC, '${POSTEXEC}', does not exist" - exit 1 -fi - -if [ ! -x ${POSTEXEC}/upp.x ]; then - echo "ERROR: upp.x, '${POSTEXEC}/upp.x', does not exist or is not executable." - exit 1 -fi - -# Set tag based on user defined model (GFS or LAM) -if [ $model = "GFS" ]; then - export tag=GFS -elif [ $model = "LAM" ]; then - export tag=FV3R -else - echo "${model} is not supported. Edit script to choose 'GFS' or 'LAM' model." - exit -fi - -if [ ${model} == "GFS" ]; then - if [[ ${inFormat} == "binarynemsiompiio" ]]; then - echo "Check: You are using 'model' 'inFormat'!" - elif [[ ${inFormat} == "netcdf" ]]; then - echo "Check: You are using 'model' 'inFormat'!" - else - echo "ERROR: 'inFormat' must be 'binarynemsiompiio' or 'netcdf' for GFS model output. Exiting... " - exit 1 - fi -elif [[ ${model} == "LAM" ]]; then - if [[ ${inFormat} != "netcdf" ]]; then - echo "ERROR: 'inFormat' must be 'netcdf' for LAM model output. Exiting... " - exit 1 - fi -fi - -if [[ ${outFormat} == "grib2" ]]; then - if [ ! -e ${txtCntrlFile} ]; then - echo "ERROR: 'txtCntrlFile' not found in '${txtCntrlFile}'. Exiting... " - exit 1 - fi -else - echo "${outFormat} is not supported. Edit script to choose 'grib2' for 'outFormat'. Exiting... " -fi - -if [ ! -d ${DOMAINPATH}/postprd ]; then - echo "ERROR: DOMAINPATH/postprd, '${DOMAINPATH}/postprd', does not exist. Exiting..." - exit 1 -fi - -if [ ${incrementhr} -eq 0 ]; then - echo "ERROR: increment hour (incrementhr) cannot be zero. Inifinite loop will result. Please modify. Exiting..." - exit 1 -fi - -#---------------------------------------------------------------------- -# End checks of user input -#---------------------------------------------------------------------- - -#---------------------------------------------------------------------- -# Begin work -#---------------------------------------------------------------------- - -# cd to working directory -cd ${DOMAINPATH}/postprd -err1=$? -if test "$err1" -ne 0; then - echo "ERROR: Could not 'cd' to working directory. Did you create directory: '${DOMAINPATH}/postprd'? \ - Does '${DOMAINPATH}' exist? Exiting... " - exit 1 -fi - -# For GRIB2 the code reads a flat text tile to select variables for output. -# The available fields are defined in post_avlbflds.xml -- while we -# set a link to this file for reading during runtime it is not typical -# for one to update this file, therefore the link goes back to the -# program directory - this is true for params_grib2_tbl_new also - a -# file which defines the GRIB2 table values -if [[ ${outFormat} == "grib2" ]]; then - ln -fs ${txtCntrlFile} postxconfig-NT.txt - ln -fs ${UNIPOST_HOME}/parm/post_avblflds.xml post_avblflds.xml - ln -fs ${UNIPOST_HOME}/parm/params_grib2_tbl_new params_grib2_tbl_new -fi - -# Link microphysics tables - code will use based on mp_physics option -# found in data -ln -fs ${UNIPOST_HOME}/parm/nam_micro_lookup.dat . -ln -fs ${UNIPOST_HOME}/parm/hires_micro_lookup.dat . - -# link coefficients for crtm2 (simulated synthetic satellites) -CRTMDIR=${UNIPOST_HOME}/crtm/fix -ln -fs $CRTMDIR/EmisCoeff/IR_Water/Big_Endian/Nalli.IRwater.EmisCoeff.bin ./ -ln -fs $CRTMDIR/EmisCoeff/MW_Water/Big_Endian/FASTEM4.MWwater.EmisCoeff.bin ./ -ln -fs $CRTMDIR/EmisCoeff/MW_Water/Big_Endian/FASTEM5.MWwater.EmisCoeff.bin ./ -ln -fs $CRTMDIR/EmisCoeff/MW_Water/Big_Endian/FASTEM6.MWwater.EmisCoeff.bin ./ -ln -fs $CRTMDIR/EmisCoeff/IR_Land/SEcategory/Big_Endian/NPOESS.IRland.EmisCoeff.bin ./ -ln -fs $CRTMDIR/EmisCoeff/IR_Snow/SEcategory/Big_Endian/NPOESS.IRsnow.EmisCoeff.bin ./ -ln -fs $CRTMDIR/EmisCoeff/IR_Ice/SEcategory/Big_Endian/NPOESS.IRice.EmisCoeff.bin ./ -ln -fs $CRTMDIR/AerosolCoeff/Big_Endian/AerosolCoeff.bin ./ -ln -fs $CRTMDIR/CloudCoeff/Big_Endian/CloudCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/imgr_g11.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/imgr_g11.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/imgr_g12.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/imgr_g12.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/imgr_g13.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/imgr_g13.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/imgr_g15.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/imgr_g15.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/imgr_mt1r.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/imgr_mt1r.TauCoeff.bin -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/imgr_mt2.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/imgr_mt2.TauCoeff.bin -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/imgr_insat3d.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/imgr_insat3d.TauCoeff.bin -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/amsre_aqua.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/amsre_aqua.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/tmi_trmm.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/tmi_trmm.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/ssmi_f13.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/ssmi_f13.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/ssmi_f14.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/ssmi_f14.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/ssmi_f15.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/ssmi_f15.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/ssmis_f16.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/ssmis_f16.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/ssmis_f17.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/ssmis_f17.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/ssmis_f18.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/ssmis_f18.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/ssmis_f19.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/ssmis_f19.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/ssmis_f20.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/ssmis_f20.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/seviri_m10.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/seviri_m10.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/v.seviri_m10.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/abi_gr.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/abi_gr.SpcCoeff.bin ./ -ln -fs $CRTMDIR/TauCoeff/ODPS/Big_Endian/ahi_himawari8.TauCoeff.bin ./ -ln -fs $CRTMDIR/SpcCoeff/Big_Endian/ahi_himawari8.SpcCoeff.bin ./ - -####################################################### -# 1. Run UPP -# -# The UPP is used to read native GFS and LAM model -# output and put out isobaric state fields and derived fields. -####################################################### - -export NEWDATE=$startdate - -YYY=`echo $startdate | cut -c1-4` -MMM=`echo $startdate | cut -c5-6` -DDD=`echo $startdate | cut -c7-8` -HHH=`echo $startdate | cut -c9-10` - -while [ $((10#${fhr})) -le $((10#${lastfhr})) ]; do - -# Formatted fhr for filenames -fhr=`printf "%02i" ${fhr#0}` -fhour=`printf "%03i" ${fhr##0}` - -NEWDATE=`date '+%Y%m%d%H' --date="$YYY$MMM$DDD $HHH $((10#${fhr})) hour"` - -YY=`echo $NEWDATE | cut -c1-4` -MM=`echo $NEWDATE | cut -c5-6` -DD=`echo $NEWDATE | cut -c7-8` -HH=`echo $NEWDATE | cut -c9-10` -iHH=`echo $startdate | cut -c9-10` - -echo 'NEWDATE' $NEWDATE -echo 'YY' $YY - -# Create model file name (inFileName) -if [ ${model} == "GFS" ]; then - if [[ ${inFormat} == "binarynemsiompiio" ]]; then - inFileName=${modelDataPath}/atmf${fhour}.nemsio - flxFileName=${modelDataPath}/sfcf${fhour}.nemsio - elif [ ${inFormat} == "netcdf" ]; then - inFileName=${modelDataPath}/atmf${fhour}.nc - flxFileName=${modelDataPath}/sfcf${fhour}.nc - fi -elif [ ${model} == "LAM" ]; then - if [ ${inFormat} == "netcdf" ]; then - inFileName=${modelDataPath}/dynf${fhour}.nc - flxFileName=${modelDataPath}/dynf${fhour}.nc - fi -fi - -# Check if the files exist -if [[ ! -e ${inFileName} ]]; then - echo "ERROR: Can't find 'inFileName': ${inFileName}. Directory or file does not exist. Exiting..." - echo "ERROR: Check if 'modelDataPath': ${modelDataPath} exists." - exit 1 -fi - -if [[ ! -e ${flxFileName} ]]; then - echo "ERROR: Can't find 'flxFileName': ${flxFileName}. Directory or file does not exist. Exiting..." - echo "ERROR: Check if 'modelDataPath': ${modelDataPath} exists." - exit 1 -fi - -# Create itag based on user provided info. -# Output format now set by user so if-block below uses this -# to generate the correct itag. - -if [[ ${outFormat} == "grib2" ]]; then - if [[ ${model} == "GFS" || ${model} == "LAM" ]]; then -cat > itag < upp.f${fhour}.out 2>&1 -fi - -# The prefixes are given in the postcntrl.xml file datset variable (GRIB2) - -if [[ ${model} == "GFS" ]]; then - mv GFSPRS.GrbF${fhr} GFSPRS.${fhour} -elif [ ${model} == "LAM" ]; then - mv NATLEV${fhr}.tm00 NATLEV.${fhour} - mv PRSLEV${fhr}.tm00 PRSLEV.${fhour} -fi - -# -#---------------------------------------------------------------------- -# End of upp job -#---------------------------------------------------------------------- - -# check to make sure UPP was successful -if [[ ${model} == "GFS" ]]; then - ls -l GFSPRS.${fhour} - err1=$? -elif [ ${model} == "LAM" ]; then - ls -l NATLEV.${fhour} - err1=$? - ls -l PRSLEV.${fhour} - err2=$? -fi - -if [[ ${err1} -ne 0 || ${err2} -ne 0 ]]; then - echo 'UPP FAILED, EXITTING' - exit -fi - -fhr=$((10#${fhr}+$((${incrementhr})))) - -NEWDATE=`date '+%Y%m%d%H' --date="$YYY$MMM$DDD $HHH $((10#${fhr})) hour"` - -done - -date -echo "End of Output Job" -exit diff --git a/sorc/CMakeLists.txt b/sorc/CMakeLists.txt index b454c0fb29..c2ed647c4e 100644 --- a/sorc/CMakeLists.txt +++ b/sorc/CMakeLists.txt @@ -1 +1,5 @@ +if(INTERNAL_IFI) + add_subdirectory(libIFI.fd) +endif() + add_subdirectory(ncep_post.fd) diff --git a/sorc/build_ncep_post.sh b/sorc/build_ncep_post.sh deleted file mode 100755 index 93022e2f40..0000000000 --- a/sorc/build_ncep_post.sh +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/bash -#################################################################################################### -# -# post using module compile standard -# -# 10/15 Lin Gan: Create module load version -# 01/16 Lin Gan: Update to use GFS Vertical Structure -# 07/16 J. Carley: Generalize for other machines using modules -# 07/18 Wen Meng: Set post to v8.0.0 for fv3gfs -# 10/19 M Kavulich: Provide machine name as an input argument -# -##################################################################################################### -##################################################################################################### - -#List of valid machines: -validmachines=(theia jet wcoss_dell_p3 wcoss cray-intel hera orion odin stampede s4) - -function usage { - echo "Usage:" - echo " $0 machinename" - echo "" - echo " Valid values for 'machinename' are: ${validmachines[@]}" - exit 1 -} - -if [ "$#" -eq 0 ]; then - #Check to see if we are building the old way - module purge - set -x - mac=$(hostname | cut -c1-1) - mac2=$(hostname | cut -c1-2) - if [ $mac2 = tf ] ; then # For Theia - machine=theia - elif [ $mac = f ] ; then # For Jet - machine=jet - elif [ $mac = v -o $mac = m ] ; then # For Dell - machine=wcoss_dell_p3 - elif [ $mac = t -o $mac = e -o $mac = g ] ; then # For WCOSS - machine=wcoss - elif [ $mac2 = s4 ] ; then # For S4 - machine=s4 - elif [ $mac = l -o $mac = s ] ; then # wcoss_c (i.e. luna and surge) - export machine=cray-intel - elif [ $mac2 = hf ] ; then # For Hera - machine=hera - elif [ $mac = O ] ; then - machine=orion - elif [ $mac2 = od ] ; then - machine=odin - else - echo "" - echo "ERROR ERROR ERROR" - echo "" - echo "Error: To use this build script without arguments you must be on a valid machine" - echo "Valid machines are:" - echo "${validmachines[@]}" - echo "" - echo "ERROR ERROR ERROR" - fi - -elif [ "$#" -gt 1 ]; then - echo "Error: too many input arguments" - exit 2 -else - machine=$1 -fi - -# Lin Gan Module Load -set -x -case $machine in -theia) # For Theia - module purge - . /etc/profile - . /etc/profile.d/modules.sh - ;; -jet) # For Jet - module purge - . /etc/profile - . /etc/profile.d/modules.sh - ;; -wcoss_dell_p3) # For Dell - module purge - . $MODULESHOME/init/bash - ;; -wcoss) # For WCOSS - module purge - . /usrx/local/Modules/default/init/bash - ;; -cray-intel) # For wcoss_c (i.e. luna and surge) - module purge - ;; -hera) # For Hera - . /etc/profile - . /etc/profile.d/modules.sh - ;; -orion) # For Orion - . /etc/profile - ;; -odin) # For Odin at NSSL - . /etc/profile - . /etc/profile.d/modules.sh - ;; -stampede) - module purge - ;; -s4) # For S4 - . /etc/profile - ;; -*) - set +x - echo "ERROR: Invalid machine name specified" - usage - ;; -esac - -# Lin Gan modifiy to use NCO vertical structure prefix for NCO deployment - 20160131 -moduledir=`dirname $(readlink -f ../modulefiles/post)` -module use ${moduledir} -module load post/v8.0.0-${machine} -module list - -cd ncep_post.fd - -make -f makefile_module clean -make -f makefile_module - -if [ ! -d "../../exec" ] ; then - mkdir -p ../../exec -fi -cp ncep_post ../../exec/ - -exit 0 diff --git a/sorc/libIFI.fd b/sorc/libIFI.fd new file mode 160000 index 0000000000..5afd607642 --- /dev/null +++ b/sorc/libIFI.fd @@ -0,0 +1 @@ +Subproject commit 5afd607642ae0fd6a53b137230336386beb47ce6 diff --git a/sorc/ncep_post.fd/ALLOCATE_ALL.f b/sorc/ncep_post.fd/ALLOCATE_ALL.f index 14ef0c17ff..a3cd6ed07e 100644 --- a/sorc/ncep_post.fd/ALLOCATE_ALL.f +++ b/sorc/ncep_post.fd/ALLOCATE_ALL.f @@ -1,7 +1,6 @@ !> @file -! -!> SET UP MESSGAE PASSING INFO -!! @author TUCCILLO ORG: IBM +!> @brief allocate_all() allocates variables and sets up message passing info +!> @author TUCCILLO @date 2000-01-06 !! !! PROGRAM HISTORY LOG: !! - 00-01-06 TUCCILLO - ORIGINAL @@ -18,7 +17,20 @@ !! - 21-04-06 Wen Meng - Initializing all allocated arrays !! - 21-04-16 Wen Meng - Initializing aextc55 and extc55 as 0. These !! two arrays are involved in GSL visibility computation. -!! +!! - 22-03-22 Wen Meng - Initializing pwat. +!! - 22-09-22 Li(Kate) Zhang - Initializing NASA GOCART tracers of Nitrate, NH4,and their column burden. +!! - 22-11-08 Kai Wang - Replace acfcmaq_on with aqf_on +!! - 23-01-24 Sam Trahan - CAPE, CIN, and IFI_APCP varibles for input to IFI +!! - 23-03-22 WM Lewis - Adding effective radius arrays +!! -2023-04-04 Li(Kate Zhang) Add namelist optoin for CCPP-Chem(UFS-Chem) +! and 2D diag. output (d2d_chem) for GEFS-Aerosols and CCPP-Chem model. +!! - 23-08-16 Yali Mao - Add CIT (Convectively-Induced Turbulence) for GTG4 +!! - 23-08-16 Yali Mao - Make it optional to allocate GTG related fields only when gtg_on +!! - 25-01-13 Jaymes Kenyon - Add graupel number concentration (QQNG) +!! - 25-05-05 Jaymes Kenyon - Add HAIL_BUCKET +!! - 25-07-15 Jeff Duda - Add max_compref, max_prate_1min, max_prate_5min, and max_prate_10min +!! - 26-01-02 Eric James - Correcting range for allocation of u + !! OUTPUT FILES: !! - STDOUT - RUN TIME STANDARD OUT. !! @@ -27,8 +39,17 @@ !! LIBRARY: !! - COMMON - CTLBLK.comm !! + MODULE ALLOCATE_ALL_UPP_MOD + + IMPLICIT NONE + + CONTAINS +! ----------------------------------------------------------- +!> \brief Allocates necessary data structures for run +! ----------------------------------------------------------- SUBROUTINE ALLOCATE_ALL() ! + use upp_ifi_mod, only: set_ifi_dims use vrbls4d use vrbls3d use vrbls2d @@ -46,40 +67,42 @@ SUBROUTINE ALLOCATE_ALL() integer ierr,jsx,jex integer i,j,l,k ! Allocate arrays - allocate(u(im+1,jsta_2l:jend_2u,lm)) - allocate(v(im,jsta_2l:jvend_2u,lm)) - allocate(t(im,jsta_2l:jend_2u,lm)) + allocate(u(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(v(ista_2l:iend_2u,jsta_2l:jvend_2u,lm)) + allocate(t(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) ! CHUANG ADD POTENTIAL TEMP BECAUSE WRF OUTPUT THETA -! allocate(th(im,jsta_2l:jend_2u,lm)) - allocate(q(im,jsta_2l:jend_2u,lm)) -! allocate(w(im,jsta_2l:jend_2u,lp1)) - allocate(uh(im,jsta_2l:jend_2u,lm)) - allocate(vh(im,jsta_2l:jend_2u,lm)) - allocate(wh(im,jsta_2l:jend_2u,lm)) - allocate(pmid(im,jsta_2l:jend_2u,lm)) - allocate(pmidv(im,jsta_2l:jend_2u,lm)) - allocate(pint(im,jsta_2l:jend_2u,lp1)) - allocate(alpint(im,jsta_2l:jend_2u,lp1)) - allocate(zmid(im,jsta_2l:jend_2u,lm)) - allocate(zint(im,jsta_2l:jend_2u,lp1)) -! allocate(rainw(im,jsta_2l:jend_2u,lm)) - allocate(q2(im,jsta_2l:jend_2u,lm)) - allocate(omga(im,jsta_2l:jend_2u,lm)) - allocate(dpres(im,jsta_2l:jend_2u,lm)) - allocate(T_ADJ(im,jsta_2l:jend_2u,lm)) - allocate(ttnd(im,jsta_2l:jend_2u,lm)) - allocate(rswtt(im,jsta_2l:jend_2u,lm)) - allocate(rlwtt(im,jsta_2l:jend_2u,lm)) - allocate(exch_h(im,jsta_2l:jend_2u,lm)) - allocate(train(im,jsta_2l:jend_2u,lm)) - allocate(tcucn(im,jsta_2l:jend_2u,lm)) - allocate(EL_PBL(im,jsta_2l:jend_2u,lm)) +! allocate(th(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(q(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) +! allocate(w(ista_2l:iend_2u,jsta_2l:jend_2u,lp1)) + allocate(uh(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(vh(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(wh(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(pmid(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(pmidv(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(pint(ista_2l:iend_2u,jsta_2l:jend_2u,lp1)) + allocate(alpint(ista_2l:iend_2u,jsta_2l:jend_2u,lp1)) + allocate(zmid(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(zint(ista_2l:iend_2u,jsta_2l:jend_2u,lp1)) +! allocate(rainw(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(q2(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(omga(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(dpres(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(T_ADJ(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(ttnd(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(rswtt(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(rlwtt(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(exch_h(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(train(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(tcucn(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(EL_PBL(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + call set_ifi_dims() ! set ifi_nflight and ifi_flight_levels + !Initialization !$omp parallel do private(i,j,l) do l=1,lm do j=jsta_2l,jend_2u - do i=1,im+1 + do i=ista_2l,iend_2u u(i,j,l)=0. enddo enddo @@ -87,7 +110,7 @@ SUBROUTINE ALLOCATE_ALL() !$omp parallel do private(i,j,l) do l=1,lm do j=jsta_2l,jvend_2u - do i=1,im + do i=ista_2l,iend_2u v(i,j,l)=0. enddo enddo @@ -95,7 +118,7 @@ SUBROUTINE ALLOCATE_ALL() !$omp parallel do private(i,j,l) do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u t(i,j,l)=spval q(i,j,l)=spval uh(i,j,l)=spval @@ -114,14 +137,14 @@ SUBROUTINE ALLOCATE_ALL() exch_h(i,j,l)=spval train(i,j,l)=spval tcucn(i,j,l)=spval - EL_PBL(i,j,l)=spval + EL_PBL(i,j,l)=spval enddo enddo enddo !$omp parallel do private(i,j,l) do l=1,lp1 do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u pint(i,j,l)=spval alpint(i,j,l)=spval zint(i,j,l)=spval @@ -130,38 +153,43 @@ SUBROUTINE ALLOCATE_ALL() enddo ! MP FIELD - allocate(cwm(im,jsta_2l:jend_2u,lm)) - allocate(F_ice(im,jsta_2l:jend_2u,lm)) - allocate(F_rain(im,jsta_2l:jend_2u,lm)) - allocate(F_RimeF(im,jsta_2l:jend_2u,lm)) - allocate(QQW(im,jsta_2l:jend_2u,lm)) - allocate(QRIMEF(im,jsta_2l:jend_2u,lm)) - allocate(QQI(im,jsta_2l:jend_2u,lm)) - allocate(QQR(im,jsta_2l:jend_2u,lm)) - allocate(QQS(im,jsta_2l:jend_2u,lm)) - allocate(QQG(im,jsta_2l:jend_2u,lm)) - allocate(QQNW(im,jsta_2l:jend_2u,lm)) - allocate(QQNI(im,jsta_2l:jend_2u,lm)) - allocate(QQNR(im,jsta_2l:jend_2u,lm)) - allocate(QQNWFA(im,jsta_2l:jend_2u,lm)) - allocate(QQNIFA(im,jsta_2l:jend_2u,lm)) - allocate(TAOD5503D(im,jsta_2l:jend_2u,lm)) - allocate(AEXTC55(im,jsta_2l:jend_2u,lm)) - allocate(EXTCOF55(im,jsta_2l:jend_2u,lm)) - allocate(QC_BL(im,jsta_2l:jend_2u,lm)) - allocate(CFR(im,jsta_2l:jend_2u,lm)) - allocate(CFR_RAW(im,jsta_2l:jend_2u,lm)) - allocate(DBZ(im,jsta_2l:jend_2u,lm)) - allocate(DBZR(im,jsta_2l:jend_2u,lm)) - allocate(DBZI(im,jsta_2l:jend_2u,lm)) - allocate(DBZC(im,jsta_2l:jend_2u,lm)) - allocate(mcvg(im,jsta_2l:jend_2u,lm)) - allocate(NLICE(im,jsta_2l:jend_2u,lm)) + allocate(cwm(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(F_ice(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(F_rain(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(F_RimeF(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QQW(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QRIMEF(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QQI(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QQR(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QQS(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QQG(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QQH(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QQNW(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QQNI(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QQNR(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QQNG(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QQNWFA(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QQNIFA(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(TAOD5503D(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(AEXTC55(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(EXTCOF55(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(QC_BL(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(CFR(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(EFFRI(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(EFFRL(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(EFFRS(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(CFR_RAW(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(DBZ(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(DBZR(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(DBZI(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(DBZC(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(mcvg(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(NLICE(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) !Initialization !$omp parallel do private(i,j,l) do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u cwm(i,j,l)=spval F_ice(i,j,l)=spval F_rain(i,j,l)=spval @@ -172,9 +200,11 @@ SUBROUTINE ALLOCATE_ALL() QQR(i,j,l)=spval QQS(i,j,l)=spval QQG(i,j,l)=spval + QQH(i,j,l)=spval QQNW(i,j,l)=spval QQNI(i,j,l)=spval QQNR(i,j,l)=spval + QQNG(i,j,l)=spval QQNWFA(i,j,l)=spval QQNIFA(i,j,l)=spval TAOD5503D(i,j,l)=spval @@ -182,6 +212,9 @@ SUBROUTINE ALLOCATE_ALL() EXTCOF55(i,j,l)=0. QC_BL(i,j,l)=spval CFR(i,j,l)=spval + EFFRI(i,j,l)=spval + EFFRL(i,j,l)=spval + EFFRS(i,j,l)=spval CFR_RAW(i,j,l)=spval DBZ(i,j,l)=spval DBZR(i,j,l)=spval @@ -193,23 +226,23 @@ SUBROUTINE ALLOCATE_ALL() enddo enddo ! Wm Lewis: added - allocate(NRAIN(im,jsta_2l:jend_2u,lm)) - allocate(radius_cloud(im,jsta_2l:jend_2u,lm)) - allocate(radius_ice(im,jsta_2l:jend_2u,lm)) - allocate(radius_snow(im,jsta_2l:jend_2u,lm)) + allocate(NRAIN(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(radius_cloud(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(radius_ice(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(radius_snow(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) ! KRS: HWRF Addition for thompson reflectivity ! or non-ferrier physics. wrf-derived - allocate(REFL_10CM(im,jsta_2l:jend_2u,lm)) + allocate(REFL_10CM(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) !GFS FIELD - allocate(o3(im,jsta_2l:jend_2u,lm)) - allocate(o(im,jsta_2l:jend_2u,lm)) - allocate(o2(im,jsta_2l:jend_2u,lm)) - allocate(tcucns(im,jsta_2l:jend_2u,lm)) + allocate(o3(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(o(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(o2(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(tcucns(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) !Initialization !$omp parallel do private(i,j,l) do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u NRAIN(i,j,l)=spval radius_cloud(i,j,l)=spval radius_ice(i,j,l)=spval @@ -225,34 +258,34 @@ SUBROUTINE ALLOCATE_ALL() ! Add GFS d3d fields if (me == 0) print *,' d3d_on=',d3d_on if (d3d_on) then - allocate(vdifftt(im,jsta_2l:jend_2u,lm)) -! allocate(tcucns(im,jsta_2l:jend_2u,lm)) - allocate(vdiffmois(im,jsta_2l:jend_2u,lm)) - allocate(dconvmois(im,jsta_2l:jend_2u,lm)) - allocate(sconvmois(im,jsta_2l:jend_2u,lm)) - allocate(nradtt(im,jsta_2l:jend_2u,lm)) - allocate(o3vdiff(im,jsta_2l:jend_2u,lm)) - allocate(o3prod(im,jsta_2l:jend_2u,lm)) - allocate(o3tndy(im,jsta_2l:jend_2u,lm)) - allocate(mwpv(im,jsta_2l:jend_2u,lm)) - allocate(unknown(im,jsta_2l:jend_2u,lm)) - allocate(vdiffzacce(im,jsta_2l:jend_2u,lm)) - allocate(zgdrag(im,jsta_2l:jend_2u,lm)) - allocate(cnvctummixing(im,jsta_2l:jend_2u,lm)) - allocate(vdiffmacce(im,jsta_2l:jend_2u,lm)) - allocate(mgdrag(im,jsta_2l:jend_2u,lm)) - allocate(cnvctvmmixing(im,jsta_2l:jend_2u,lm)) - allocate(ncnvctcfrac(im,jsta_2l:jend_2u,lm)) - allocate(cnvctumflx(im,jsta_2l:jend_2u,lm)) - allocate(cnvctdmflx(im,jsta_2l:jend_2u,lm)) - allocate(cnvctdetmflx(im,jsta_2l:jend_2u,lm)) - allocate(cnvctzgdrag(im,jsta_2l:jend_2u,lm)) - allocate(cnvctmgdrag(im,jsta_2l:jend_2u,lm)) + allocate(vdifftt(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) +! allocate(tcucns(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(vdiffmois(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(dconvmois(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(sconvmois(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(nradtt(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(o3vdiff(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(o3prod(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(o3tndy(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(mwpv(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(unknown(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(vdiffzacce(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(zgdrag(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(cnvctummixing(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(vdiffmacce(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(mgdrag(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(cnvctvmmixing(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(ncnvctcfrac(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(cnvctumflx(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(cnvctdmflx(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(cnvctdetmflx(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(cnvctzgdrag(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(cnvctmgdrag(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) !Initialization !$omp parallel do private(i,j,l) do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u vdifftt(i,j,l)=spval vdiffmois(i,j,l)=spval dconvmois(i,j,l)=spval @@ -280,37 +313,49 @@ SUBROUTINE ALLOCATE_ALL() enddo endif ! - allocate(htm(im,jsta_2l:jend_2u,lm)) - allocate(vtm(im,jsta_2l:jend_2u,lm)) + allocate(htm(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(vtm(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) ! add GFIP ICING - allocate(icing_gfip(im,jsta_2l:jend_2u,lm)) - allocate(icing_gfis(im,jsta_2l:jend_2u,lm)) -! -! add GTG turbulence - allocate(catedr(im,jsta_2l:jend_2u,lm)) - allocate(mwt(im,jsta_2l:jend_2u,lm)) - allocate(gtg(im,jsta_2l:jend_2u,lm)) + allocate(icing_gfip(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(icing_gfis(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) !Initialization !$omp parallel do private(i,j,l) do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u htm(i,j,l)=spval vtm(i,j,l)=spval icing_gfip(i,j,l)=spval icing_gfis(i,j,l)=spval - catedr(i,j,l)=spval - mwt(i,j,l)=spval - gtg(i,j,l)=spval enddo enddo enddo ! +! add GTG turbulence + if (gtg_on) then + allocate(catedr(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(mwt(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(gtg(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(cit(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) +!Initialization +!$omp parallel do private(i,j,l) + do l=1,lm + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + catedr(i,j,l)=spval + mwt(i,j,l)=spval + gtg(i,j,l)=spval + cit(i,j,l)=spval + enddo + enddo + enddo + endif +! ! FROM SOIL ! - allocate(smc(im,jsta_2l:jend_2u,nsoil)) - allocate(stc(im,jsta_2l:jend_2u,nsoil)) - allocate(sh2o(im,jsta_2l:jend_2u,nsoil)) + allocate(smc(ista_2l:iend_2u,jsta_2l:jend_2u,nsoil)) + allocate(stc(ista_2l:iend_2u,jsta_2l:jend_2u,nsoil)) + allocate(sh2o(ista_2l:iend_2u,jsta_2l:jend_2u,nsoil)) allocate(SLDPTH(NSOIL)) allocate(RTDPTH(NSOIL)) allocate(SLLEVEL(NSOIL)) @@ -318,7 +363,7 @@ SUBROUTINE ALLOCATE_ALL() !$omp parallel do private(i,j,l) do l=1,nsoil do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u smc(i,j,l)=spval stc(i,j,l)=spval sh2o(i,j,l)=spval @@ -334,31 +379,43 @@ SUBROUTINE ALLOCATE_ALL() ! ! FROM VRBLS2D ! + allocate(CAPE(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(CIN(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(IFI_APCP(ista_2l:iend_2u,jsta_2l:jend_2u)) ! SRD - allocate(wspd10max(im,jsta_2l:jend_2u)) - allocate(w_up_max(im,jsta_2l:jend_2u)) - allocate(w_dn_max(im,jsta_2l:jend_2u)) - allocate(w_mean(im,jsta_2l:jend_2u)) - allocate(refd_max(im,jsta_2l:jend_2u)) - allocate(prate_max(im,jsta_2l:jend_2u)) - allocate(fprate_max(im,jsta_2l:jend_2u)) - allocate(up_heli_max(im,jsta_2l:jend_2u)) - allocate(up_heli_max16(im,jsta_2l:jend_2u)) - allocate(up_heli_min(im,jsta_2l:jend_2u)) - allocate(up_heli_min16(im,jsta_2l:jend_2u)) - allocate(up_heli_max02(im,jsta_2l:jend_2u)) - allocate(up_heli_min02(im,jsta_2l:jend_2u)) - allocate(up_heli_max03(im,jsta_2l:jend_2u)) - allocate(up_heli_min03(im,jsta_2l:jend_2u)) + allocate(wspd10max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(w_up_max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(w_dn_max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(w_mean(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(refd_max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(prate_max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(max_prate_1min(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(max_prate_5min(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(max_prate_10min(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(fprate_max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(up_heli_max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(up_heli_max16(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(up_heli_min(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(up_heli_min16(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(up_heli_max02(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(up_heli_min02(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(up_heli_max03(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(up_heli_min03(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u + CAPE(i,j)=spval + CIN(i,j)=spval + IFI_APCP(i,j)=spval wspd10max(i,j)=spval w_up_max(i,j)=spval w_dn_max(i,j)=spval w_mean(i,j)=spval refd_max(i,j)=spval + max_prate_1min(i,j)=spval + max_prate_5min(i,j)=spval + max_prate_10min(i,j)=spval prate_max(i,j)=spval fprate_max(i,j)=spval up_heli_max(i,j)=spval @@ -371,31 +428,31 @@ SUBROUTINE ALLOCATE_ALL() up_heli_min03(i,j)=spval enddo enddo - allocate(rel_vort_max(im,jsta_2l:jend_2u)) - allocate(rel_vort_max01(im,jsta_2l:jend_2u)) - allocate(rel_vort_maxhy1(im,jsta_2l:jend_2u)) - allocate(wspd10umax(im,jsta_2l:jend_2u)) - allocate(wspd10vmax(im,jsta_2l:jend_2u)) - allocate(refdm10c_max(im,jsta_2l:jend_2u)) - allocate(hail_max2d(im,jsta_2l:jend_2u)) - allocate(hail_maxk1(im,jsta_2l:jend_2u)) - allocate(hail_maxhailcast(im,jsta_2l:jend_2u)) - allocate(grpl_max(im,jsta_2l:jend_2u)) - allocate(up_heli(im,jsta_2l:jend_2u)) - allocate(up_heli16(im,jsta_2l:jend_2u)) - allocate(ltg1_max(im,jsta_2l:jend_2u)) - allocate(ltg2_max(im,jsta_2l:jend_2u)) - allocate(ltg3_max(im,jsta_2l:jend_2u)) - allocate(nci_ltg(im,jsta_2l:jend_2u)) - allocate(nca_ltg(im,jsta_2l:jend_2u)) - allocate(nci_wq(im,jsta_2l:jend_2u)) - allocate(nca_wq(im,jsta_2l:jend_2u)) - allocate(nci_refd(im,jsta_2l:jend_2u)) - allocate(nca_refd(im,jsta_2l:jend_2u)) + allocate(rel_vort_max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(rel_vort_max01(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(rel_vort_maxhy1(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(wspd10umax(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(wspd10vmax(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(refdm10c_max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(hail_max2d(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(hail_maxk1(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(hail_maxhailcast(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(grpl_max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(up_heli(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(up_heli16(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ltg1_max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ltg2_max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ltg3_max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(nci_ltg(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(nca_ltg(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(nci_wq(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(nca_wq(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(nci_refd(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(nca_refd(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u rel_vort_max(i,j)=spval rel_vort_max01(i,j)=spval rel_vort_maxhy1(i,j)=spval @@ -421,65 +478,68 @@ SUBROUTINE ALLOCATE_ALL() enddo ! SRD ! CRA - allocate(REF_10CM(im,jsta_2l:jend_2u,lm)) + allocate(REF_10CM(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) !Initialization !$omp parallel do private(i,j,l) do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u REF_10CM(i,j,l)=spval enddo enddo enddo - allocate(REFC_10CM(im,jsta_2l:jend_2u)) - allocate(REF1KM_10CM(im,jsta_2l:jend_2u)) - allocate(REF4KM_10CM(im,jsta_2l:jend_2u)) + allocate(MAX_COMPREF(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(REFC_10CM(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(REF1KM_10CM(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(REF4KM_10CM(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u + MAX_COMPREF(i,j)=spval REFC_10CM(i,j)=spval REF1KM_10CM(i,j)=spval REF4KM_10CM(i,j)=spval enddo enddo ! CRA - allocate(u10(im,jsta_2l:jend_2u)) - allocate(v10(im,jsta_2l:jend_2u)) - allocate(tshltr(im,jsta_2l:jend_2u)) - allocate(qshltr(im,jsta_2l:jend_2u)) - allocate(mrshltr(im,jsta_2l:jend_2u)) - allocate(smstav(im,jsta_2l:jend_2u)) - allocate(ssroff(im,jsta_2l:jend_2u)) - allocate(bgroff(im,jsta_2l:jend_2u)) - allocate(vegfrc(im,jsta_2l:jend_2u)) - allocate(shdmin(im,jsta_2l:jend_2u)) - allocate(shdmax(im,jsta_2l:jend_2u)) - allocate(lai(im,jsta_2l:jend_2u)) - allocate(acsnow(im,jsta_2l:jend_2u)) - allocate(acgraup(im,jsta_2l:jend_2u)) - allocate(acfrain(im,jsta_2l:jend_2u)) - allocate(acsnom(im,jsta_2l:jend_2u)) - allocate(cmc(im,jsta_2l:jend_2u)) - allocate(sst(im,jsta_2l:jend_2u)) - allocate(qz0(im,jsta_2l:jend_2u)) - allocate(thz0(im,jsta_2l:jend_2u)) - allocate(uz0(im,jsta_2l:jend_2u)) - allocate(vz0(im,jsta_2l:jend_2u)) - allocate(qs(im,jsta_2l:jend_2u)) - allocate(ths(im,jsta_2l:jend_2u)) - allocate(sno(im,jsta_2l:jend_2u)) - allocate(snonc(im,jsta_2l:jend_2u)) - allocate(ti(im,jsta_2l:jend_2u)) + allocate(f10m(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(u10(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(v10(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(tshltr(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(qshltr(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(smstav(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ssroff(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(bgroff(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(vegfrc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(shdmin(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(shdmax(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(lai(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(xlaixy(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(acsnow(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(acgraup(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(acfrain(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(acsnom(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(cmc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sst(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(qz0(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(thz0(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(uz0(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(vz0(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(qs(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ths(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sno(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(snonc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ti(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u + f10m(i,j)=spval u10(i,j)=spval v10(i,j)=spval tshltr(i,j)=spval qshltr(i,j)=spval - mrshltr(i,j)=spval smstav(i,j)=spval ssroff(i,j)=spval bgroff(i,j)=spval @@ -487,6 +547,7 @@ SUBROUTINE ALLOCATE_ALL() shdmin(i,j)=spval shdmax(i,j)=spval lai(i,j)=spval + xlaixy(i,j)=spval acsnow(i,j)=spval acgraup(i,j)=spval acfrain(i,j)=spval @@ -505,15 +566,15 @@ SUBROUTINE ALLOCATE_ALL() enddo enddo ! Time-averaged fileds - allocate(u10mean(im,jsta_2l:jend_2u)) - allocate(v10mean(im,jsta_2l:jend_2u)) - allocate(spduv10mean(im,jsta_2l:jend_2u)) - allocate(swradmean(im,jsta_2l:jend_2u)) - allocate(swnormmean(im,jsta_2l:jend_2u)) + allocate(u10mean(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(v10mean(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(spduv10mean(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(swradmean(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(swnormmean(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u u10mean(i,j)=spval v10mean(i,j)=spval spduv10mean(i,j)=spval @@ -522,20 +583,20 @@ SUBROUTINE ALLOCATE_ALL() enddo enddo !NAMstart - allocate(snoavg(im,jsta_2l:jend_2u)) - allocate(psfcavg(im,jsta_2l:jend_2u)) - allocate(t10m(im,jsta_2l:jend_2u)) - allocate(t10avg(im,jsta_2l:jend_2u)) - allocate(akmsavg(im,jsta_2l:jend_2u)) - allocate(akhsavg(im,jsta_2l:jend_2u)) - allocate(u10max(im,jsta_2l:jend_2u)) - allocate(v10max(im,jsta_2l:jend_2u)) - allocate(u10h(im,jsta_2l:jend_2u)) - allocate(v10h(im,jsta_2l:jend_2u)) + allocate(snoavg(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(psfcavg(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(t10m(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(t10avg(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(akmsavg(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(akhsavg(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(u10max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(v10max(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(u10h(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(v10h(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u snoavg(i,j)=spval psfcavg(i,j)=spval t10m(i,j)=spval @@ -549,16 +610,16 @@ SUBROUTINE ALLOCATE_ALL() enddo enddo !NAMend - allocate(akms(im,jsta_2l:jend_2u)) - allocate(akhs(im,jsta_2l:jend_2u)) - allocate(cuprec(im,jsta_2l:jend_2u)) - allocate(acprec(im,jsta_2l:jend_2u)) - allocate(ancprc(im,jsta_2l:jend_2u)) - allocate(cuppt(im,jsta_2l:jend_2u)) + allocate(akms(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(akhs(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(cuprec(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(acprec(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ancprc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(cuppt(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u akms(i,j)=spval akhs(i,j)=spval cuprec(i,j)=spval @@ -568,33 +629,39 @@ SUBROUTINE ALLOCATE_ALL() enddo enddo ! GSDstart - allocate(rainc_bucket(im,jsta_2l:jend_2u)) - allocate(rainc_bucket1(im,jsta_2l:jend_2u)) - allocate(rainnc_bucket(im,jsta_2l:jend_2u)) - allocate(rainnc_bucket1(im,jsta_2l:jend_2u)) - allocate(pcp_bucket(im,jsta_2l:jend_2u)) - allocate(pcp_bucket1(im,jsta_2l:jend_2u)) - allocate(snow_bucket(im,jsta_2l:jend_2u)) - allocate(snow_bucket1(im,jsta_2l:jend_2u)) - allocate(graup_bucket(im,jsta_2l:jend_2u)) - allocate(graup_bucket1(im,jsta_2l:jend_2u)) - allocate(qrmax(im,jsta_2l:jend_2u)) - allocate(tmax(im,jsta_2l:jend_2u)) - allocate(snownc(im,jsta_2l:jend_2u)) - allocate(graupelnc(im,jsta_2l:jend_2u)) - allocate(tsnow(im,jsta_2l:jend_2u)) - allocate(qvg(im,jsta_2l:jend_2u)) - allocate(qv2m(im,jsta_2l:jend_2u)) - allocate(qvl1(im,jsta_2l:jend_2u)) - allocate(snfden(im,jsta_2l:jend_2u)) - allocate(sndepac(im,jsta_2l:jend_2u)) - allocate(int_smoke(im,jsta_2l:jend_2u)) - allocate(mean_frp(im,jsta_2l:jend_2u)) - allocate(int_aod(im,jsta_2l:jend_2u)) + allocate(rainc_bucket(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(rainc_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(rainnc_bucket(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(rainnc_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pcp_bucket(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pcp_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(snow_bucket(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(snow_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(graup_bucket(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(graup_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(hail_bucket(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(frzrn_bucket(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(snow_acm(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(snow_bkt(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(qrmax(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(tmax(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(snownc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(graupelnc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(tsnow(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(qvg(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(qv2m(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(qvl1(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(snfden(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sndepac(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(mean_frp(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(hwp(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(smoke_ave(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(dust_ave(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(coarsepm_ave(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u rainc_bucket(i,j)=spval rainc_bucket1(i,j)=spval rainnc_bucket(i,j)=spval @@ -605,6 +672,10 @@ SUBROUTINE ALLOCATE_ALL() snow_bucket1(i,j)=spval graup_bucket(i,j)=spval graup_bucket1(i,j)=spval + hail_bucket(i,j)=spval + frzrn_bucket(i,j)=spval + snow_acm(i,j)=spval + snow_bkt(i,j)=spval qrmax(i,j)=spval tmax(i,j)=spval snownc(i,j)=spval @@ -615,45 +686,53 @@ SUBROUTINE ALLOCATE_ALL() qvl1(i,j)=spval snfden(i,j)=spval sndepac(i,j)=spval - int_smoke(i,j)=spval mean_frp(i,j)=spval - int_aod(i,j)=spval + hwp(i,j)=spval + smoke_ave(i,j)=spval + dust_ave(i,j)=spval + coarsepm_ave(i,j)=spval enddo enddo - allocate(smoke(im,jsta_2l:jend_2u,lm,nbin_sm)) + allocate(smoke(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_sm)) + allocate(fv3dust(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_sm)) + allocate(coarsepm(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_sm)) + allocate(ebb(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_sm)) !$omp parallel do private(i,j,l,k) do k=1,nbin_sm do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u smoke(i,j,l,k)=spval + fv3dust(i,j,l,k)=spval + coarsepm(i,j,l,k)=spval + ebb(i,j,l,k)=spval enddo enddo enddo enddo ! GSDend - allocate(rswin(im,jsta_2l:jend_2u)) - allocate(swddni(im,jsta_2l:jend_2u)) - allocate(swddif(im,jsta_2l:jend_2u)) - allocate(swdnbc(im,jsta_2l:jend_2u)) - allocate(swddnic(im,jsta_2l:jend_2u)) - allocate(swddifc(im,jsta_2l:jend_2u)) - allocate(swupbc(im,jsta_2l:jend_2u)) - allocate(swupt(im,jsta_2l:jend_2u)) - allocate(taod5502d(im,jsta_2l:jend_2u)) - allocate(aerasy2d(im,jsta_2l:jend_2u)) - allocate(aerssa2d(im,jsta_2l:jend_2u)) - allocate(lwp(im,jsta_2l:jend_2u)) - allocate(iwp(im,jsta_2l:jend_2u)) - allocate(rlwin(im,jsta_2l:jend_2u)) - allocate(lwdnbc(im,jsta_2l:jend_2u)) - allocate(lwupbc(im,jsta_2l:jend_2u)) - allocate(rlwtoa(im,jsta_2l:jend_2u)) - allocate(rswtoa(im,jsta_2l:jend_2u)) + allocate(rswin(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(swddni(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(swddif(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(swdnbc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(swddnic(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(swddifc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(swupbc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(swupt(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(taod5502d(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(aerasy2d(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(aerssa2d(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(lwp(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(iwp(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(rlwin(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(lwdnbc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(lwupbc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(rlwtoa(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(rswtoa(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u rswin(i,j)=spval swddni(i,j)=spval swddif(i,j)=spval @@ -674,38 +753,39 @@ SUBROUTINE ALLOCATE_ALL() rswtoa(i,j)=spval enddo enddo - allocate(tg(im,jsta_2l:jend_2u)) - allocate(sfcshx(im,jsta_2l:jend_2u)) - allocate(sfclhx(im,jsta_2l:jend_2u)) - allocate(fis(im,jsta_2l:jend_2u)) - allocate(t500(im,jsta_2l:jend_2u)) - allocate(t700(im,jsta_2l:jend_2u)) - allocate(z500(im,jsta_2l:jend_2u)) - allocate(z700(im,jsta_2l:jend_2u)) - allocate(teql(im,jsta_2l:jend_2u)) - allocate(ieql(im,jsta_2l:jend_2u)) - allocate(cfracl(im,jsta_2l:jend_2u)) - allocate(cfracm(im,jsta_2l:jend_2u)) - allocate(cfrach(im,jsta_2l:jend_2u)) - allocate(acfrst(im,jsta_2l:jend_2u)) - allocate(acfrcv(im,jsta_2l:jend_2u)) - allocate(hbot(im,jsta_2l:jend_2u)) - allocate(htop(im,jsta_2l:jend_2u)) - allocate(aswin(im,jsta_2l:jend_2u)) - allocate(alwin(im,jsta_2l:jend_2u)) - allocate(aswout(im,jsta_2l:jend_2u)) - allocate(alwout(im,jsta_2l:jend_2u)) - allocate(aswtoa(im,jsta_2l:jend_2u)) - allocate(alwtoa(im,jsta_2l:jend_2u)) + allocate(tg(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sfcshx(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sfclhx(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(fis(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(t500(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(t700(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(z500(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(z700(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(teql(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ieql(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(cfracl(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(cfracm(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(cfrach(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(acfrst(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(acfrcv(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(hbot(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(htop(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(aswin(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(alwin(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(aswout(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(alwout(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(aswtoa(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(alwtoa(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u tg(i,j)=spval sfcshx(i,j)=spval sfclhx(i,j)=spval fis(i,j)=spval t500(i,j)=spval + z500(i,j)=spval t700(i,j)=spval z700(i,j)=spval teql(i,j)=spval @@ -725,36 +805,36 @@ SUBROUTINE ALLOCATE_ALL() alwtoa(i,j)=spval enddo enddo - allocate(czen(im,jsta_2l:jend_2u)) - allocate(czmean(im,jsta_2l:jend_2u)) - allocate(sigt4(im,jsta_2l:jend_2u)) - allocate(rswout(im,jsta_2l:jend_2u)) - allocate(radot(im,jsta_2l:jend_2u)) - allocate(ncfrst(im,jsta_2l:jend_2u)) ! real - allocate(ncfrcv(im,jsta_2l:jend_2u)) ! real - allocate(smstot(im,jsta_2l:jend_2u)) - allocate(pctsno(im,jsta_2l:jend_2u)) - allocate(pshltr(im,jsta_2l:jend_2u)) - allocate(th10(im,jsta_2l:jend_2u)) - allocate(q10(im,jsta_2l:jend_2u)) - allocate(sr(im,jsta_2l:jend_2u)) - allocate(prec(im,jsta_2l:jend_2u)) - allocate(subshx(im,jsta_2l:jend_2u)) - allocate(snopcx(im,jsta_2l:jend_2u)) - allocate(sfcuvx(im,jsta_2l:jend_2u)) - allocate(sfcevp(im,jsta_2l:jend_2u)) - allocate(potevp(im,jsta_2l:jend_2u)) - allocate(z0(im,jsta_2l:jend_2u)) - allocate(ustar(im,jsta_2l:jend_2u)) - allocate(pblh(im,jsta_2l:jend_2u)) - allocate(pblhgust(im,jsta_2l:jend_2u)) - allocate(mixht(im,jsta_2l:jend_2u)) - allocate(twbs(im,jsta_2l:jend_2u)) - allocate(qwbs(im,jsta_2l:jend_2u)) + allocate(czen(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(czmean(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sigt4(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(rswout(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(radot(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ncfrst(ista_2l:iend_2u,jsta_2l:jend_2u)) ! real + allocate(ncfrcv(ista_2l:iend_2u,jsta_2l:jend_2u)) ! real + allocate(smstot(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pctsno(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pshltr(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(th10(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(q10(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sr(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(prec(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(subshx(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(snopcx(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sfcuvx(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sfcevp(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(potevp(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(z0(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ustar(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pblh(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pblhgust(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(mixht(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(twbs(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(qwbs(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u czen(i,j)=spval czmean(i,j)=spval sigt4(i,j)=spval @@ -783,37 +863,37 @@ SUBROUTINE ALLOCATE_ALL() qwbs(i,j)=spval enddo enddo - allocate(sfcexc(im,jsta_2l:jend_2u)) - allocate(grnflx(im,jsta_2l:jend_2u)) - allocate(soiltb(im,jsta_2l:jend_2u)) - allocate(z1000(im,jsta_2l:jend_2u)) - allocate(slp(im,jsta_2l:jend_2u)) - allocate(pslp(im,jsta_2l:jend_2u)) - allocate(f(im,jsta_2l:jend_2u)) - allocate(albedo(im,jsta_2l:jend_2u)) - allocate(albase(im,jsta_2l:jend_2u)) - allocate(cldfra(im,jsta_2l:jend_2u)) - allocate(cprate(im,jsta_2l:jend_2u)) - allocate(cnvcfr(im,jsta_2l:jend_2u)) - allocate(ivgtyp(im,jsta_2l:jend_2u)) - allocate(isltyp(im,jsta_2l:jend_2u)) - allocate(hbotd(im,jsta_2l:jend_2u)) - allocate(htopd(im,jsta_2l:jend_2u)) - allocate(hbots(im,jsta_2l:jend_2u)) - allocate(htops(im,jsta_2l:jend_2u)) - allocate(cldefi(im,jsta_2l:jend_2u)) - allocate(islope(im,jsta_2l:jend_2u)) - allocate(si(im,jsta_2l:jend_2u)) - allocate(lspa(im,jsta_2l:jend_2u)) - allocate(rswinc(im,jsta_2l:jend_2u)) - allocate(vis(im,jsta_2l:jend_2u)) - allocate(pd(im,jsta_2l:jend_2u)) - allocate(mxsnal(im,jsta_2l:jend_2u)) - allocate(epsr(im,jsta_2l:jend_2u)) + allocate(sfcexc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(grnflx(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(soiltb(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(z1000(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(slp(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pslp(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(f(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(albedo(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(albase(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(cldfra(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(cprate(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(cnvcfr(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ivgtyp(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(isltyp(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(hbotd(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(htopd(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(hbots(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(htops(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(cldefi(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(islope(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(si(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(lspa(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(rswinc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(vis(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pd(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(mxsnal(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(epsr(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u sfcexc(i,j)=spval grnflx(i,j)=spval soiltb(i,j)=spval @@ -844,47 +924,47 @@ SUBROUTINE ALLOCATE_ALL() enddo enddo ! add GFS fields - allocate(sfcux(im,jsta_2l:jend_2u)) - allocate(sfcvx(im,jsta_2l:jend_2u)) - allocate(sfcuxi(im,jsta_2l:jend_2u)) - allocate(sfcvxi(im,jsta_2l:jend_2u)) - allocate(avgalbedo(im,jsta_2l:jend_2u)) - allocate(avgcprate(im,jsta_2l:jend_2u)) - allocate(avgprec(im,jsta_2l:jend_2u)) - allocate(avgprec_cont(im,jsta_2l:jend_2u)) - allocate(avgcprate_cont(im,jsta_2l:jend_2u)) - allocate(ptop(im,jsta_2l:jend_2u)) - allocate(pbot(im,jsta_2l:jend_2u)) - allocate(avgcfrach(im,jsta_2l:jend_2u)) - allocate(avgcfracm(im,jsta_2l:jend_2u)) - allocate(avgcfracl(im,jsta_2l:jend_2u)) - allocate(avgtcdc(im,jsta_2l:jend_2u)) - allocate(auvbin(im,jsta_2l:jend_2u)) - allocate(auvbinc(im,jsta_2l:jend_2u)) - allocate(ptopl(im,jsta_2l:jend_2u)) - allocate(pbotl(im,jsta_2l:jend_2u)) - allocate(Ttopl(im,jsta_2l:jend_2u)) - allocate(ptopm(im,jsta_2l:jend_2u)) - allocate(pbotm(im,jsta_2l:jend_2u)) - allocate(Ttopm(im,jsta_2l:jend_2u)) - allocate(ptoph(im,jsta_2l:jend_2u)) - allocate(pboth(im,jsta_2l:jend_2u)) - allocate(Ttoph(im,jsta_2l:jend_2u)) - allocate(sfcugs(im,jsta_2l:jend_2u)) - allocate(sfcvgs(im,jsta_2l:jend_2u)) - allocate(pblcfr(im,jsta_2l:jend_2u)) - allocate(cldwork(im,jsta_2l:jend_2u)) - allocate(gtaux(im,jsta_2l:jend_2u)) - allocate(gtauy(im,jsta_2l:jend_2u)) - allocate(cd10(im,jsta_2l:jend_2u)) - allocate(ch10(im,jsta_2l:jend_2u)) - allocate(mdltaux(im,jsta_2l:jend_2u)) - allocate(mdltauy(im,jsta_2l:jend_2u)) - allocate(runoff(im,jsta_2l:jend_2u)) + allocate(sfcux(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sfcvx(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sfcuxi(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sfcvxi(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgalbedo(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgcprate(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgprec(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgprec_cont(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgcprate_cont(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ptop(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pbot(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgcfrach(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgcfracm(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgcfracl(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgtcdc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(auvbin(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(auvbinc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ptopl(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pbotl(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(Ttopl(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ptopm(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pbotm(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(Ttopm(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ptoph(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pboth(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(Ttoph(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sfcugs(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sfcvgs(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pblcfr(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(cldwork(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(gtaux(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(gtauy(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(cd10(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ch10(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(mdltaux(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(mdltauy(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(runoff(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u sfcux(i,j)=spval sfcvx(i,j)=spval sfcuxi(i,j)=spval @@ -924,48 +1004,57 @@ SUBROUTINE ALLOCATE_ALL() runoff(i,j)=spval enddo enddo - allocate(maxtshltr(im,jsta_2l:jend_2u)) - allocate(mintshltr(im,jsta_2l:jend_2u)) - allocate(maxrhshltr(im,jsta_2l:jend_2u)) - allocate(minrhshltr(im,jsta_2l:jend_2u)) - allocate(maxqshltr(im,jsta_2l:jend_2u)) - allocate(minqshltr(im,jsta_2l:jend_2u)) - allocate(dzice(im,jsta_2l:jend_2u)) - allocate(alwinc(im,jsta_2l:jend_2u)) - allocate(alwoutc(im,jsta_2l:jend_2u)) - allocate(alwtoac(im,jsta_2l:jend_2u)) - allocate(aswinc(im,jsta_2l:jend_2u)) - allocate(aswoutc(im,jsta_2l:jend_2u)) - allocate(aswtoac(im,jsta_2l:jend_2u)) - allocate(aswintoa(im,jsta_2l:jend_2u)) - allocate(smcwlt(im,jsta_2l:jend_2u)) - allocate(suntime(im,jsta_2l:jend_2u)) - allocate(fieldcapa(im,jsta_2l:jend_2u)) - allocate(avisbeamswin(im,jsta_2l:jend_2u)) - allocate(avisdiffswin(im,jsta_2l:jend_2u)) - allocate(airbeamswin(im,jsta_2l:jend_2u)) - allocate(airdiffswin(im,jsta_2l:jend_2u)) - allocate(snowfall(im,jsta_2l:jend_2u)) - allocate(acond(im,jsta_2l:jend_2u)) - allocate(edir(im,jsta_2l:jend_2u)) - allocate(ecan(im,jsta_2l:jend_2u)) - allocate(etrans(im,jsta_2l:jend_2u)) - allocate(esnow(im,jsta_2l:jend_2u)) - allocate(avgedir(im,jsta_2l:jend_2u)) - allocate(avgecan(im,jsta_2l:jend_2u)) - allocate(avgetrans(im,jsta_2l:jend_2u)) - allocate(avgesnow(im,jsta_2l:jend_2u)) - allocate(avgpotevp(im,jsta_2l:jend_2u)) - allocate(aod550(im,jsta_2l:jend_2u)) - allocate(du_aod550(im,jsta_2l:jend_2u)) - allocate(ss_aod550(im,jsta_2l:jend_2u)) - allocate(su_aod550(im,jsta_2l:jend_2u)) - allocate(oc_aod550(im,jsta_2l:jend_2u)) - allocate(bc_aod550(im,jsta_2l:jend_2u)) + allocate(maxtshltr(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(mintshltr(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(maxrhshltr(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(minrhshltr(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(maxqshltr(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(minqshltr(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(dzice(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(alwinc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(alwoutc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(alwtoac(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(aswinc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(aswoutc(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(aswtoac(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(aswintoa(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(smcwlt(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(suntime(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(fieldcapa(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avisbeamswin(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avisdiffswin(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(airbeamswin(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(airdiffswin(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(snowfall(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(acond(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(edir(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ecan(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(etrans(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(esnow(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgedir(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgecan(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgetrans(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgesnow(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(avgpotevp(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(aod550(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(du_aod550(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ss_aod550(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(su_aod550(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(oc_aod550(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(bc_aod550(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(landfrac(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(paha(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pahi(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(tecan(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(tetran(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(tedir(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(twa(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(fdnsst(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pwat(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u maxtshltr(i,j)=spval mintshltr(i,j)=spval maxrhshltr(i,j)=spval @@ -1004,24 +1093,33 @@ SUBROUTINE ALLOCATE_ALL() su_aod550(i,j)=spval oc_aod550(i,j)=spval bc_aod550(i,j)=spval + landfrac(i,j)=spval + paha(i,j)=spval + pahi(i,j)=spval + tecan(i,j)=spval + tetran(i,j)=spval + tedir(i,j)=spval + twa(i,j)=spval + fdnsst(i,j)=spval + pwat(i,j)=spval enddo enddo ! ! FROM MASKS ! - allocate(hbm2(im,jsta_2l:jend_2u)) - allocate(sm(im,jsta_2l:jend_2u)) - allocate(sice(im,jsta_2l:jend_2u)) - allocate(lmh(im,jsta_2l:jend_2u)) ! real - allocate(lmv(im,jsta_2l:jend_2u)) ! real - allocate(gdlat(im,jsta_2l:jend_2u)) - allocate(gdlon(im,jsta_2l:jend_2u)) - allocate(dx(im,jsta_2l:jend_2u)) - allocate(dy(im,jsta_2l:jend_2u)) + allocate(hbm2(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sm(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sice(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(lmh(ista_2l:iend_2u,jsta_2l:jend_2u)) ! real + allocate(lmv(ista_2l:iend_2u,jsta_2l:jend_2u)) ! real + allocate(gdlat(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(gdlon(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(dx(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(dy(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u hbm2(i,j)=spval sm(i,j)=spval sice(i,j)=spval @@ -1034,24 +1132,29 @@ SUBROUTINE ALLOCATE_ALL() enddo enddo - if (me == 0) print *,' gocart_on=',gocart_on - if (gocart_on) then + !if (me == 0) print *,' gocart_on=',gocart_on + !if (me == 0) print *,' gccpp_on=',gccpp_on + if (gocart_on .or.gccpp_on .or. nasa_on) then ! ! Add GOCART fields ! vrbls4d - allocate(dust(im,jsta_2l:jend_2u,lm,nbin_du)) - allocate(salt(im,jsta_2l:jend_2u,lm,nbin_ss)) - allocate(soot(im,jsta_2l:jend_2u,lm,nbin_bc)) - allocate(waso(im,jsta_2l:jend_2u,lm,nbin_oc)) - allocate(suso(im,jsta_2l:jend_2u,lm,nbin_su)) - allocate(pp25(im,jsta_2l:jend_2u,lm,nbin_su)) - allocate(pp10(im,jsta_2l:jend_2u,lm,nbin_su)) + allocate(dust(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_du)) + allocate(salt(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_ss)) + allocate(soot(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_bc)) + allocate(waso(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_oc)) + allocate(suso(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_su)) + if (nasa_on) then + allocate(no3(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_no3)) + allocate(nh4(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_nh4)) + endif + allocate(pp25(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_su)) + allocate(pp10(ista_2l:iend_2u,jsta_2l:jend_2u,lm,nbin_su)) !Initialization !$omp parallel do private(i,j,l,k) do k=1,nbin_du do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u dust(i,j,l,k)=spval enddo enddo @@ -1061,7 +1164,7 @@ SUBROUTINE ALLOCATE_ALL() do k=1,nbin_ss do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u salt(i,j,l,k)=spval enddo enddo @@ -1071,7 +1174,7 @@ SUBROUTINE ALLOCATE_ALL() do k=1,nbin_bc do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u soot(i,j,l,k)=spval enddo enddo @@ -1081,17 +1184,41 @@ SUBROUTINE ALLOCATE_ALL() do k=1,nbin_oc do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u waso(i,j,l,k)=spval enddo enddo enddo enddo + if (nasa_on) then +!$omp parallel do private(i,j,l,k) + do k=1,nbin_no3 + do l=1,lm + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + no3(i,j,l,k)=spval + enddo + enddo + enddo + enddo + +!$omp parallel do private(i,j,l,k) + do k=1,nbin_nh4 + do l=1,lm + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + nh4(i,j,l,k)=spval + enddo + enddo + enddo + enddo + endif + !$omp parallel do private(i,j,l,k) do k=1,nbin_su do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u suso(i,j,l,k)=spval pp25(i,j,l,k)=spval pp10(i,j,l,k)=spval @@ -1100,15 +1227,15 @@ SUBROUTINE ALLOCATE_ALL() enddo enddo ! vrbls3d - allocate(ext(im,jsta_2l:jend_2u,lm)) - allocate(asy(im,jsta_2l:jend_2u,lm)) - allocate(ssa(im,jsta_2l:jend_2u,lm)) - allocate(sca(im,jsta_2l:jend_2u,lm)) + allocate(ext(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(asy(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(ssa(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(sca(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) !Initialization !$omp parallel do private(i,j) do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u ext(i,j,l)=spval asy(i,j,l)=spval ssa(i,j,l)=spval @@ -1116,35 +1243,36 @@ SUBROUTINE ALLOCATE_ALL() enddo enddo enddo - allocate(duem(im,jsta_2l:jend_2u,nbin_du)) - allocate(dusd(im,jsta_2l:jend_2u,nbin_du)) - allocate(dudp(im,jsta_2l:jend_2u,nbin_du)) - allocate(duwt(im,jsta_2l:jend_2u,nbin_du)) - allocate(dusv(im,jsta_2l:jend_2u,nbin_du)) - allocate(suem(im,jsta_2l:jend_2u,nbin_su)) - allocate(susd(im,jsta_2l:jend_2u,nbin_su)) - allocate(sudp(im,jsta_2l:jend_2u,nbin_su)) - allocate(suwt(im,jsta_2l:jend_2u,nbin_su)) - allocate(ocem(im,jsta_2l:jend_2u,nbin_oc)) - allocate(ocsd(im,jsta_2l:jend_2u,nbin_oc)) - allocate(ocdp(im,jsta_2l:jend_2u,nbin_oc)) - allocate(ocwt(im,jsta_2l:jend_2u,nbin_oc)) - allocate(ocsv(im,jsta_2l:jend_2u,nbin_oc)) - allocate(bcem(im,jsta_2l:jend_2u,nbin_bc)) - allocate(bcsd(im,jsta_2l:jend_2u,nbin_bc)) - allocate(bcdp(im,jsta_2l:jend_2u,nbin_bc)) - allocate(bcwt(im,jsta_2l:jend_2u,nbin_bc)) - allocate(bcsv(im,jsta_2l:jend_2u,nbin_bc)) - allocate(ssem(im,jsta_2l:jend_2u,nbin_ss)) - allocate(sssd(im,jsta_2l:jend_2u,nbin_ss)) - allocate(ssdp(im,jsta_2l:jend_2u,nbin_ss)) - allocate(sswt(im,jsta_2l:jend_2u,nbin_ss)) - allocate(sssv(im,jsta_2l:jend_2u,nbin_ss)) + if ( d2d_chem ) then + allocate(duem(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_du)) + allocate(dusd(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_du)) + allocate(dudp(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_du)) + allocate(duwt(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_du)) + allocate(dusv(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_du)) + allocate(suem(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_su)) + allocate(susd(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_su)) + allocate(sudp(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_su)) + allocate(suwt(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_su)) + allocate(ocem(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_oc)) + allocate(ocsd(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_oc)) + allocate(ocdp(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_oc)) + allocate(ocwt(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_oc)) + allocate(ocsv(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_oc)) + allocate(bcem(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_bc)) + allocate(bcsd(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_bc)) + allocate(bcdp(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_bc)) + allocate(bcwt(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_bc)) + allocate(bcsv(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_bc)) + allocate(ssem(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_ss)) + allocate(sssd(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_ss)) + allocate(ssdp(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_ss)) + allocate(sswt(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_ss)) + allocate(sssv(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_ss)) !Initialization !$omp parallel do private(i,j,l) do l=1,nbin_du do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u duem(i,j,l)=spval dusd(i,j,l)=spval dudp(i,j,l)=spval @@ -1156,7 +1284,7 @@ SUBROUTINE ALLOCATE_ALL() do l=1,nbin_su do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u suem(i,j,l)=spval susd(i,j,l)=spval sudp(i,j,l)=spval @@ -1167,7 +1295,7 @@ SUBROUTINE ALLOCATE_ALL() do l=1,nbin_oc do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u ocem(i,j,l)=spval ocsd(i,j,l)=spval ocdp(i,j,l)=spval @@ -1179,7 +1307,7 @@ SUBROUTINE ALLOCATE_ALL() do l=1,nbin_bc do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u bcem(i,j,l)=spval bcsd(i,j,l)=spval bcdp(i,j,l)=spval @@ -1191,7 +1319,7 @@ SUBROUTINE ALLOCATE_ALL() do l=1,nbin_ss do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u ssem(i,j,l)=spval sssd(i,j,l)=spval ssdp(i,j,l)=spval @@ -1200,52 +1328,59 @@ SUBROUTINE ALLOCATE_ALL() enddo enddo enddo - allocate(rhomid(im,jsta_2l:jend_2u,lm)) + endif + allocate(rhomid(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) !Initialization !$omp parallel do private(i,j,l) do l=1,lm do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u rhomid(i,j,l)=spval enddo enddo enddo ! vrbls2d - allocate(dusmass(im,jsta_2l:jend_2u)) - allocate(ducmass(im,jsta_2l:jend_2u)) - allocate(dusmass25(im,jsta_2l:jend_2u)) - allocate(ducmass25(im,jsta_2l:jend_2u)) - allocate(susmass(im,jsta_2l:jend_2u)) - allocate(sucmass(im,jsta_2l:jend_2u)) - allocate(susmass25(im,jsta_2l:jend_2u)) - allocate(sucmass25(im,jsta_2l:jend_2u)) - allocate(ocsmass(im,jsta_2l:jend_2u)) - allocate(occmass(im,jsta_2l:jend_2u)) - allocate(ocsmass25(im,jsta_2l:jend_2u)) - allocate(occmass25(im,jsta_2l:jend_2u)) - allocate(bcsmass(im,jsta_2l:jend_2u)) - allocate(bccmass(im,jsta_2l:jend_2u)) - allocate(bcsmass25(im,jsta_2l:jend_2u)) - allocate(bccmass25(im,jsta_2l:jend_2u)) - allocate(sssmass(im,jsta_2l:jend_2u)) - allocate(sscmass(im,jsta_2l:jend_2u)) - allocate(sssmass25(im,jsta_2l:jend_2u)) - allocate(sscmass25(im,jsta_2l:jend_2u)) - allocate(dustcb(im,jsta_2l:jend_2u)) - allocate(occb(im,jsta_2l:jend_2u)) - allocate(bccb(im,jsta_2l:jend_2u)) - allocate(sulfcb(im,jsta_2l:jend_2u)) - allocate(pp25cb(im,jsta_2l:jend_2u)) - allocate(pp10cb(im,jsta_2l:jend_2u)) - allocate(sscb(im,jsta_2l:jend_2u)) - allocate(dustallcb(im,jsta_2l:jend_2u)) - allocate(ssallcb(im,jsta_2l:jend_2u)) - allocate(dustpm(im,jsta_2l:jend_2u)) - allocate(sspm(im,jsta_2l:jend_2u)) + allocate(dusmass(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ducmass(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(dusmass25(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ducmass25(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(susmass(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sucmass(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(susmass25(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sucmass25(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ocsmass(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(occmass(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ocsmass25(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(occmass25(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(bcsmass(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(bccmass(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(bcsmass25(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(bccmass25(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sssmass(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sscmass(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sssmass25(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sscmass25(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(dustcb(ista_2l:iend_2u,jsta_2l:jend_2u)) + if (nasa_on) then + allocate(no3cb(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(nh4cb(ista_2l:iend_2u,jsta_2l:jend_2u)) + endif + allocate(occb(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(bccb(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sulfcb(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pp25cb(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(pp10cb(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sscb(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(dustallcb(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ssallcb(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(dustpm(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(dustpm10(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(sspm(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(maod(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u dusmass(i,j)=spval ducmass(i,j)=spval dusmass25(i,j)=spval @@ -1267,6 +1402,10 @@ SUBROUTINE ALLOCATE_ALL() sssmass25(i,j)=spval sscmass25(i,j)=spval dustcb(i,j)=spval + if (nasa_on) then + no3cb(i,j)=spval + nh4cb(i,j)=spval + endif occb(i,j)=spval bccb(i,j)=spval sulfcb(i,j)=spval @@ -1276,18 +1415,20 @@ SUBROUTINE ALLOCATE_ALL() dustallcb(i,j)=spval ssallcb(i,j)=spval dustpm(i,j)=spval + dustpm10(i,j)=spval sspm(i,j)=spval + maod(i,j)=spval enddo enddo endif ! HWRF RRTMG output - allocate(acswupt(im,jsta_2l:jend_2u)) - allocate(swdnt(im,jsta_2l:jend_2u)) - allocate(acswdnt(im,jsta_2l:jend_2u)) + allocate(acswupt(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(swdnt(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(acswdnt(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u acswupt(i,j)=spval swdnt(i,j)=spval acswdnt(i,j)=spval @@ -1295,13 +1436,13 @@ SUBROUTINE ALLOCATE_ALL() enddo ! UPP_MATH MODULE DIFFERENTIAL EQUATIONS - allocate(ddvdx(im,jsta_2l:jend_2u)) - allocate(ddudy(im,jsta_2l:jend_2u)) - allocate(uuavg(im,jsta_2l:jend_2u)) + allocate(ddvdx(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ddudy(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(uuavg(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j) do j=jsta_2l,jend_2u - do i=1,im + do i=ista_2l,iend_2u ddvdx(i,j)=spval ddudy(i,j)=spval uuavg(i,j)=spval @@ -1309,23 +1450,34 @@ SUBROUTINE ALLOCATE_ALL() enddo ! AQF - if (me == 0) print *,'aqfcmaq_on= ', aqfcmaq_on - if (aqfcmaq_on) then + if (me == 0) print *,'aqf_on= ', aqf_on + if (aqf_on) then - allocate(ozcon(im,jsta_2l:jend_2u,lm)) - allocate(pmtf(im,jsta_2l:jend_2u,lm)) + allocate(avgozcon(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(avgpmtf(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(aqm_aod550(ista_2l:iend_2u,jsta_2l:jend_2u)) !Initialization !$omp parallel do private(i,j,l) do l=1,lm do j=jsta_2l,jend_2u - do i=1,im - ozcon(i,j,l)=0. - pmtf(i,j,l)=0. + do i=ista_2l,iend_2u + avgozcon(i,j,l)=spval + avgpmtf(i,j,l)=spval enddo enddo enddo +!Initialization +!$omp parallel do private(i,j) + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + aqm_aod550(i,j)=spval + enddo + enddo + endif ! end + + END MODULE ALLOCATE_ALL_UPP_MOD diff --git a/sorc/ncep_post.fd/AVIATION.f b/sorc/ncep_post.fd/AVIATION.f index 4de228f929..1ccb507641 100644 --- a/sorc/ncep_post.fd/AVIATION.f +++ b/sorc/ncep_post.fd/AVIATION.f @@ -1,90 +1,73 @@ !> @file +!> @brief Subroutines related to aviation. ! +!> Computes Low Level Wind Shear (0-2000feet) +!> +!> This program computes the low level wind shear(LLWS) over 0-2000 feet +!> (0-609.5m) layer. But because 10m wind represent sfc wind, 10-619.5 m +!> layer is used. (NOAA/NWS Instruction 10-813, 2004) !> -!! . . . -!! SUBPROGRAM: CALLLWS COMPUTES Low Level Wind Shear (0-2000feet) -!! PRGRMMR: Binbin Zhou /NCEP/EMC DATE: 2005-08-16 -!! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT -!! 21-04-01 Jesse Meng - computation on defined points only -!! -!! ABSTRACT: -!! This program computes the low level wind shear(LLWS) over 0-2000 feet (0-609.5m) -!! layer. But because 10m wind represent sfc wind, 10-619.5 m layer -!! is used. (NOAA/NWS Instruction 10-813, 2004) -!! -!! Definition: LLWS(Z1,Z2) is vector difference of wind at z1 and z2 -!! where Z1 = 10m + Surface height -!! Z2 = 619.5 + Surface height -!! -!! Algorithm: since Z2 is not defined in the model, so, -!! first thing is searching Z2 to see which layers -!! it is located(ie between which two pressure levels), -!! then find the wind vector (U2,V2)at Z2 by interpolating with -!! the wind vectors of the at pressure levels above and below -!! then compute the vector difference between Z2 and Z1 (ie U10,V10) -!! -!! -!! -!!
                               
-!!      ----------------------------------------- K2-1 ---------------------
-!!                            ^
-!!                            |
-!!                            |
-!!                            |            
-!!                 ____       |  _____ Z2, U2=interpo[U(K2),U(K2-1)]
-!!                  ^         |            V2=interpo[V(K2),V(K2-1)]
-!!                  |         |                       
-!!      ------------|---------|------------------ K2 ------------------------
-!!                  |         |
-!!                  |         |DH=SUM of all layers between K1-1 & K2-1 
-!!                  |         |                                            .              
-!!                  |609.5m   |                                            .
-!!                  |(2000ft) |                                            .
-!!                  |         v
-!!      ------------|---------------------------------------------------- LSM-2
-!!                  |               ^
-!!                  |               |ZH1   
-!!                  |               |
-!!                 o-o 10m       ___v__ Z1,U10,V10                 
-!!       FIS    ....|.....          ^
-!!        ^   .            .        |
-!!      --|-------------------------|------------ K1 -------------------- LSM-1
-!!        | .                .      |
-!!        |.                  .     |
-!!       .|                    ...  |
-!!      --|-------------------------|------------------------------------- LSM
-!!      . |                         |
-!!     ////////////////////////////////////////////////////////////////// Sea Level
-!!
-!! -!! -!! USAGE: CALL CALLLWS(U,V,H,LLWS) -!! INPUT ARGUMENT LIST: -!! U - U wind profile (m/s) (at pressure level) -!! V - V wind (m/s) (at pressure level) -!! H - Height (m) (at pressure level) -!! -!! OUTPUT ARGUMENT LIST: -!! LLWS - Low level wind shear (Knots/2000ft) -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! LIBRARY: -!! NONE -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90/77 -!! MACHINE : BLUE AT NCEP -!! +!> Definition: LLWS(Z1,Z2) is vector difference of wind at z1 and z2 +!> where: +!> - Z1 = 10m + Surface height +!> - Z2 = 619.5 + Surface height +!> +!> Algorithm: since Z2 is not defined in the model, so, first thing is +!> searching Z2 to see which layers it is located(ie between which two +!> pressure levels), then find the wind vector (U2,V2)at Z2 by +!> interpolating with the wind vectors of the at pressure levels above +!> and below then compute the vector difference between Z2 and Z1 (ie +!> U10,V10) +!> +!>
                               
+!>      ----------------------------------------- K2-1 ---------------------
+!>                            ^
+!>                            |
+!>                            |
+!>                            |            
+!>                 ____       |  _____ Z2, U2=interpo[U(K2),U(K2-1)]
+!>                  ^         |            V2=interpo[V(K2),V(K2-1)]
+!>                  |         |                       
+!>      ------------|---------|------------------ K2 ------------------------
+!>                  |         |
+!>                  |         |DH=SUM of all layers between K1-1 & K2-1 
+!>                  |         |                                            .              
+!>                  |609.5m   |                                            .
+!>                  |(2000ft) |                                            .
+!>                  |         v
+!>      ------------|---------------------------------------------------- LSM-2
+!>                  |               ^
+!>                  |               |ZH1   
+!>                  |               |
+!>                 o-o 10m       ___v__ Z1,U10,V10                 
+!>       FIS    ....|.....          ^
+!>        ^   .            .        |
+!>      --|-------------------------|------------ K1 -------------------- LSM-1
+!>        | .                .      |
+!>        |.                  .     |
+!>       .|                    ...  |
+!>      --|-------------------------|------------------------------------- LSM
+!>      . |                         |
+!>     ////////////////////////////////////////////////////////////////// Sea Level
+!>
+!> +!> +!> @param[in] U U wind profile (m/s) (at pressure level). +!> @param[in] V V wind (m/s) (at pressure level). +!> @param[in] H Height (m) (at pressure level). +!> @param[out] LLWS Low level wind shear (Knots/2000ft). +!> +!> Program History +!> - 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT +!> - 21-04-01 Jesse Meng - computation on defined points only +!> +!> @author Binbin Zhou NCEP/EMC @date 2005-08-16 SUBROUTINE CALLLWS(U,V,H,LLWS) ! USE vrbls2d, only: fis, u10, v10 use params_mod, only: gi - use ctlblk_mod, only: jsta, jend, im, jm, lsm, spval + use ctlblk_mod, only: jsta, jend, im, jm, lsm, spval, ista, iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -101,7 +84,7 @@ SUBROUTINE CALLLWS(U,V,H,LLWS) ! DO 100 J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Z1 = 10.0 + FIS(I,J)*GI !Height of 10m levels geographic height (from sea level) @@ -149,7 +132,31 @@ SUBROUTINE CALLLWS(U,V,H,LLWS) RETURN END - +!> Computes In-Flight Icing. +!> +!> This program computes the in-flight icing condition +!> with the T-RH-OMGA algorithm provided by S. Silberberg of +!> NCEP/AWC (improved new version). +!> +!> According to S. Silberberg, Icing happens in following +!> situation: +!> 1. -22C < T < 0C to +!> 2. RH > 70 % +!> 3. Ascent air, OMGA < 0 +!> 4. Equivalent Potential Vorticity (EPV) < 0 +!> 5. Cloud water if SLD (supercooled large droplet) +!> +!> Current version dosn't consider SLD, so cloud water +!> is not used. EPV computation is not available for current +!> NCEP/EMC models(NAM, WRF, RSM), so EPV is also not +!> used. +!> +!> @param[in] T1 TEMPERATURE (K) +!> @param[in] RH RELATIVE HUMIDITY (DECIMAL FORM) +!> @param[in] OMGA Vertical velocity (Pa/sec) +!> @param[inout] ICING ICING CONDITION (1 or 0) +!> +!> @author Binbin Zhou NCEP/EMC @date 2005-08-16 SUBROUTINE CALICING (T1,RH,OMGA, ICING) !$$$ SUBPROGRAM DOCUMENTATION BLOCK ! . . . @@ -196,20 +203,20 @@ SUBROUTINE CALICING (T1,RH,OMGA, ICING) ! MACHINE : BLUE AT NCEP !$$$ ! - use ctlblk_mod, only: jsta, jend, im, spval + use ctlblk_mod, only: jsta, jend, im, spval, ista, iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! ! DECLARE VARIABLES. ! - REAL, DIMENSION(IM,jsta:jend), INTENT(IN) :: T1,RH,OMGA - REAL, DIMENSION(IM,jsta:jend), INTENT(INOUT) :: ICING + REAL, DIMENSION(ista:iend,jsta:jend), INTENT(IN) :: T1,RH,OMGA + REAL, DIMENSION(ista:iend,jsta:jend), INTENT(INOUT) :: ICING integer I,J !*************************************************************** ! ! DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(OMGA(I,J)= 251.0) & @@ -228,57 +235,38 @@ SUBROUTINE CALICING (T1,RH,OMGA, ICING) RETURN END +!> Computes Clear Air Turbulence Index +!> +!> This program computes the Clear Air Turbulence condition which is +!> expressed as Index with Ellrod Algorithm (Gary P. Ellrod: Wea. and +!> Forecast,1992) and Ri number suggested by S. Silberberg of AWC. But Ri +!> number is still not classified into 3 level CAT, so current version +!> does not use Ri as suggested by S. Silberberg. +!> +!> PROGRAM HISTORY LOG: +!> - 05-09-19 H CHUANG - MODIFIED TO COMPUTE GRADIENTS FOR BOTH A AND E GRIDS +!> +!> According to Ellrod, the CAT is classied into 3 levels (index): +!> - Light: CAT = 1 +!> - Middle: CAT = 2 +!> - Severe: CAT = 3 +!> - No CAT: CAT = 0 +!> +!> @param[in] U U wind profile (m/s) (at pressure level) +!> @param[in] V V wind (m/s) (at pressure level) +!> @param[in] H Height (m) (at pressure level) +!> @param[in] U_OLD U wind profile (m/s) (at pressure level) +!> @param[in] V_OLD V wind (m/s) (at pressure level) +!> @param[in] H_OLD Height (m) (at pressure level) +!> @param[inout] CAT CAT Index +!> +!> @author Binbin Zhou NCEP/EMC @date 2005-08-16 SUBROUTINE CALCAT(U,V,H,U_OLD,V_OLD,H_OLD,CAT) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: CALCAT COMPUTES Clear Air Turbulence Index -! PRGRMMR: Binbin Zhou /NCEP/EMC DATE: 2005-08-16 -! -! ABSTRACT: -! This program computes the Clear Air Turbulence condition -! which is expressed as Index with Ellrod Algorithm -! (Gary P. Ellrod: Wea. and Forecast,1992) and Ri number -! suggested by S. Silberberg of AWC. But Ri number is still -! not classified into 3 level CAT, so current version does -! not use Ri as suggested by S. Silberberg -! -! PROGRAM HISTORY LOG: -! -! 05-09-19 H CHUANG - MODIFIED TO COMPUTE GRADIENTS FOR BOTH A AND E GRIDS -! -! -! According to Ellrod, the CAT is classied into 3 levels (index) -! Light: CAT = 1 -! Middle: CAT = 2 -! Severe: CAT = 3 -! No CAT: CAT = 0 -! -! USAGE: CALL CALCAT(U,V,H,L,CAT) -! INPUT ARGUMENT LIST: -! U - U wind profile (m/s) (at pressure level) -! V - V wind (m/s) (at pressure level) -! H - Height (m) (at pressure level) -! L - # of pressure level -! -! OUTPUT ARGUMENT LIST: -! CAT - CAT Index -! -! OUTPUT FILES: -! NONE -! -! SUBPROGRAMS CALLED: -! UTILITIES: -! LIBRARY: -! NONE -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN 90/77 -! MACHINE : BLUE AT NCEP -!$$$ use masks, only: dx, dy use ctlblk_mod, only: spval, jsta_2l, jend_2u, jsta_m, jend_m, & - im, jm + im, jm, ista_2l, iend_2u, ista_m, iend_m, ista, iend use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch ! !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none @@ -286,10 +274,10 @@ SUBROUTINE CALCAT(U,V,H,U_OLD,V_OLD,H_OLD,CAT) ! ! DECLARE VARIABLES. ! - REAL,DIMENSION(IM,jsta_2l:jend_2u),INTENT(IN) :: U,V,H, & + REAL,DIMENSION(ista_2l:iend_2u,jsta_2l:jend_2u),INTENT(INOUT) :: U,V,H, & U_OLD,V_OLD,H_OLD ! INTEGER,INTENT(IN) :: L - REAL,DIMENSION(IM,jsta_2l:jend_2u),INTENT(INOUT) :: CAT + REAL,DIMENSION(ista_2l:iend_2u,jsta_2l:jend_2u),INTENT(INOUT) :: CAT REAL DSH, DST, DEF, CVG, VWS, TRBINDX INTEGER IHE(JM),IHW(JM) @@ -305,22 +293,22 @@ SUBROUTINE CALCAT(U,V,H,U_OLD,V_OLD,H_OLD,CAT) IF(GRIDTYPE == 'A')THEN IHW(J)=-1 IHE(J)=1 - ISTART=2 - ISTOP=IM-1 + ISTART=ISTA_M + ISTOP=IEND_M JSTART=JSTA_M JSTOP=JEND_M ELSE IF(GRIDTYPE=='E')THEN IHW(J)=-MOD(J,2) IHE(J)=IHW(J)+1 - ISTART=2 - ISTOP=IM-1 + ISTART=ISTA_M + ISTOP=IEND_M JSTART=JSTA_M JSTOP=JEND_M ELSE IF(GRIDTYPE=='B')THEN IHW(J)=-1 IHE(J)=0 - ISTART=2 - ISTOP=IM-1 + ISTART=ISTA_M + ISTOP=IEND_M JSTART=JSTA_M JSTOP=JEND_M ELSE @@ -329,12 +317,12 @@ SUBROUTINE CALCAT(U,V,H,U_OLD,V_OLD,H_OLD,CAT) END IF ENDDO - call exch_f(U) - call exch_f(V) - call exch_f(U_OLD) - call exch_f(V_OLD) - call exch_f(H) - call exch_f(H_OLD) + call exch(U) + call exch(V) + call exch(U_OLD) + call exch(V_OLD) + call exch(H) + call exch(H_OLD) DO 100 J=JSTART,JSTOP DO I=ISTART,ISTOP @@ -494,57 +482,35 @@ SUBROUTINE CALCAT(U,V,H,U_OLD,V_OLD,H_OLD,CAT) RETURN END - +!> Computes ceiling. +!> +!> This program computes the ceiling. Definition: Ceiling is the cloud +!> base height for cloud fraction > 50% The cloud base is from sea level +!> in the model, while ceiling is from surface. If no ceiling, set +!> ceiling height = 20000 m +!> +!> @param[in] CLDZ CLOUD BASE HEIGHT from sea level(M) +!> @param[in] TCLD TOTAL CLOUD FRACTION (%) +!> @param[inout] CEILING CEILING HEIGHT from surface (m) +!> +!> @author Binbin Zhou NCEP/EMC @date 2005-08-18 SUBROUTINE CALCEILING (CLDZ,TCLD,CEILING) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: CALCEILING COMPUTES Ceiling -! PRGRMMR: Binbin Zhou /NCEP/EMC DATE: 2005-08-18 -! -! ABSTRACT: -! This program computes the ceiling -! Definition: Ceiling is the cloud base height for cloud fraction > 50% -! The cloud base is from sea level in the model, while ceiling -! is from surface. If no ceiling, set ceiling height = 20000 m -! -! USAGE: CALL CALCEILING (CLDZ,TCLD,CEILING) -! INPUT ARGUMENT LIST: -! CLDZ - CLOUD BASE HEIGHT from sea level(M) -! TCLD - TOTAL CLOUD FRACTION (%) -! -! OUTPUT ARGUMENT LIST: -! CEILING - CEILING HEIGHT from surface (m) -! -! OUTPUT FILES: -! NONE -! -! SUBPROGRAMS CALLED: -! UTILITIES: -! LIBRARY: -! NONE -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN 90/77 -! MACHINE : BLUE AT NCEP -!$$$ -! - USE vrbls2d, only: fis use params_mod, only: small, gi - use ctlblk_mod, only: jsta, jend, spval, im, modelname + use ctlblk_mod, only: jsta, jend, spval, im, modelname, ista, iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! ! DECLARE VARIABLES. ! - REAL, DIMENSION(IM,jsta:jend), INTENT(IN) :: CLDZ, TCLD - REAL, DIMENSION(IM,jsta:jend), INTENT(INOUT) :: CEILING + REAL, DIMENSION(ista:iend,jsta:jend), INTENT(IN) :: CLDZ, TCLD + REAL, DIMENSION(ista:iend,jsta:jend), INTENT(INOUT) :: CEILING integer I,J !*************************************************************** ! ! DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ABS(TCLD(I,J)-SPVAL) <= SMALL) THEN CEILING(I,J)=SPVAL ELSE IF(TCLD(I,J) >= 50.) THEN @@ -565,54 +531,33 @@ SUBROUTINE CALCEILING (CLDZ,TCLD,CEILING) RETURN END - +!> Computes Ceiling. +!> +!> This program computes the flight condition restriction +!> which is defined as follow (NOAA/NWS/Instruction for TAF, 2004): +!> +!> Ceiling(feet)| Visibility(miles) | FLTCND +!> -------------|-------------------|------- +!> LIFR | < 200 and/or < 1 | 1 +!> IFR | >= 500 to < 1000 and/or >=1 to < 3 | 2 +!> MVFR | >=1000 to <= 3000 and/or >=3 to <= 5| 3 +!> VFR | > 3000 > 5 | 5 +!> +!> @param[in] CEILING - CEILING HEIGHT from surface (m) NOTE: VIS - +!> Visibility is passed through COMMON /VISB/ +!> @param[inout] FLTCND - FLIGHT CONDITION CATERGORY +!> +!> @author Binbin Zhou NCEP/EMC @date 2005-08-18 SUBROUTINE CALFLTCND (CEILING,FLTCND) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: CALFLTCND COMPUTES Ceiling -! PRGRMMR: Binbin Zhou /NCEP/EMC DATE: 2005-08-18 -! -! ABSTRACT: -! This program computes the flight condition restriction -! which is defined as follow (NOAA/NWS/Instruction for TAF, 2004): -! -! Ceiling(feet) Visibility(miles) FLTCND -! LIFR < 200 and/or < 1 1 -! IFR >= 500 to < 1000 and/or >=1 to < 3 2 -! MVFR >=1000 to <= 3000 and/or >=3 to <= 5 3 -! VFR > 3000 > 5 5 -! -! -! USAGE: CALL CALFLTCND(CEILING,FLTCND) -! INPUT ARGUMENT LIST: -! CEILING - CEILING HEIGHT from surface (m) -! NOTE: VIS - Visibility is passed through COMMON /VISB/ -! -! OUTPUT ARGUMENT LIST: -! FLTCND - FLIGHT CONDITION CATERGORY -! -! OUTPUT FILES: -! NONE -! -! SUBPROGRAMS CALLED: -! UTILITIES: -! LIBRARY: -! NONE -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN 90/77 -! MACHINE : BLUE AT NCEP -!$$$ -! use vrbls2d, only: vis - use ctlblk_mod, only: jsta, jend, im, spval + use ctlblk_mod, only: jsta, jend, im, spval, ista, iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! ! DECLARE VARIABLES. ! - REAL, DIMENSION(IM,jsta:jend), INTENT(IN) :: CEILING - REAL, DIMENSION(IM,jsta:jend), INTENT(INOUT) :: FLTCND + REAL, DIMENSION(ista:iend,jsta:jend), INTENT(IN) :: CEILING + REAL, DIMENSION(ista:iend,jsta:jend), INTENT(INOUT) :: FLTCND REAL CEIL,VISI integer I,J ! @@ -620,7 +565,7 @@ SUBROUTINE CALFLTCND (CEILING,FLTCND) ! ! DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(CEILING(I,J) feet diff --git a/sorc/ncep_post.fd/AllGETHERV_GSD.f b/sorc/ncep_post.fd/AllGETHERV_GSD.f index ae7e64021e..63aef1f8da 100644 --- a/sorc/ncep_post.fd/AllGETHERV_GSD.f +++ b/sorc/ncep_post.fd/AllGETHERV_GSD.f @@ -9,8 +9,9 @@ SUBROUTINE AllGETHERV(GRID1) ! ! PROGRAM HISTORY LOG: ! +! 21-09-02 Bo Cui - Decompose UPP in X direction - use ctlblk_mod, only : im,jm,num_procs,me,jsta,jend,mpi_comm_comp + use ctlblk_mod, only : im,jm,num_procs,me,jsta,jend,ista,iend,mpi_comm_comp implicit none @@ -22,11 +23,11 @@ SUBROUTINE AllGETHERV(GRID1) REAL GRID1(IM,JM) REAL ibufrecv(IM*JM) - REAL ibufsend(im*(jend-jsta+1)) + REAL ibufsend((iend-ista+1)*(jend-jsta+1)) integer SENDCOUNT,RECVCOUNTS(num_procs),DISPLS(num_procs) ! ! write(*,*) 'check mpi', im,jm,num_procs,me,jsta,jend - SENDCOUNT=im*(jend-jsta+1) + SENDCOUNT=(iend-ista+1)*(jend-jsta+1) call MPI_ALLGATHER(SENDCOUNT, 1, MPI_INTEGER, RECVCOUNTS,1 , & MPI_INTEGER, mpi_comm_comp, ierr) DISPLS(1)=0 @@ -40,7 +41,7 @@ SUBROUTINE AllGETHERV(GRID1) ij=0 ibufsend=0.0 do j=jsta,jend - do i=1,IM + do i=ista,iend ij=ij+1 ibufsend(ij)=GRID1(i,j) enddo diff --git a/sorc/ncep_post.fd/BNDLYR.f b/sorc/ncep_post.fd/BNDLYR.f index 0ec21e25de..1294a55388 100644 --- a/sorc/ncep_post.fd/BNDLYR.f +++ b/sorc/ncep_post.fd/BNDLYR.f @@ -1,69 +1,57 @@ !> @file -! +!> @brief Subroutine that computes boundary layer fields. +!> +!> Computes constant mass mean fields +!> +!> This routine computes constant mass (boundary layer) +!> fields. The fields are a mean over layers parameter DPBND +!> (pascals) thick. There are NBND constant mass layers, each +!> DPBND thick starting from the surface up. Computed boundary +!> layer fields are pressure, temperature, specific humidity, +!> relative humidity, U and V winds, vertical velocity, +!> and precipitable water. Given these fundamental variables +!> other fields may be computed. +!> +!> @note If you change parameter NBND in this routine +!> don't forget to change it also in the calling +!> subprogram, MISCLN. !> -!! -!! SUBPROGRAM: BNDLYR COMPUTES CONSTANT MASS MEAN FIELDS -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-01-29 -!! -!! ABSTRACT: THIS ROUTINE COMPUTES CONSTANT MASS (BOUNDARY LAYER) -!! FIELDS. THE FIELDS ARE A MEAN OVER LAYERS PARAMETER DPBND -!! (PASCALS) THICK. THERE ARE NBND CONSTANT MASS LAYERS, EACH -!! DPBND THICK STARTING FROM THE SURFACE UP. COMPUTED BOUNDARY -!! LAYER FIELDS ARE PRESSURE, TEMPERATURE, SPECIFIC HUMIDITY, -!! RELATIVE HUMIDITY, U AND V WINDS, VERTICAL VELOCITY, -!! AND PRECIPITABLE WATER. GIVEN THESE FUNDAMENTAL VARIABLES -!! OTHER FIELDS MAY BE COMPUTED. -!! -!! ***WARNING*** IF YOU CHANGE PARAMETER NBND IN THIS ROUTINE -!! DON'T FOREGET TO CHANGE IT ALSO IN THE CALLING -!! SUBPROGRAM, MISCLN. -!! -!! PROGRAM HISTORY LOG: -!! 93-01-29 RUSS TREADON -!! 93-05-07 RUSS TREADON - ADDED DOC BLOCK AND MORE COMMENTS. -!! 93-06-19 RUSS TREADON - ADDED LVLBND TO PARAMETER LIST. -!! 96-03-07 MIKE BALDWIN - CHANGE PWTR CALC TO INCLUDE CLD WTR -!! SPEED UP CODE -!! 98-06-16 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 98-08-18 MIKE BALDWIN - CHANGE QSBND TO RHBND IN CALL, -!! COMPUTE RH OVER ICE -!! 98-12-22 MIKE BALDWIN - BACK OUT RH OVER ICE -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-01-15 MIKE BALDWIN - WRF VERSION -!! 20-11-10 JESSE MENG - USE UPP_PHYSICS MODULE -!! 21-08-20 Wen Meng - Retrict computation fro undefined points. -!! -!! USAGE: CALL BNDLYR(PBND,TBND,QBND,RHBND,UBND,VBND, -!! WBND,OMGBND,PWTBND,QCNVBND) -!! -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! PBND - LAYER MEAN PRESSURE IN NBND BOUNDARY LAYERS (NBL). -!! TBND - LAYER MEAN TEMPERATURE IN NBL. -!! QBND - LAYER MEAN SPECIFIC HUMIDITY IN NBL. -!! RHBND - LAYER MEAN RELATIVE HUM. (QBND/QSBND) IN NBL. -!! UBND - LAYER MEAN U WIND COMPONENT IN NBL. -!! VBND - LAYER MEAN V WIND COMPONENT IN NBL. -!! WBND - LAYER MEAN W WIND COMPONENT IN NBL. -!! OMGBND - LAYER MEAN VERTICAL VELOCITY IN NBL. -!! PWTBND - LAYER PRECIPITABLE WATER IN NBL. -!! LVLBND - ETA LAYER AT MIDPOINT OF NBL. -!! QCNVBND - LAYER MOISTURE CONVERGENCE IN NBL. -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! -!! LIBRARY: -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : CRAY C-90 -!! +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1993-01-29 | RUSS TREADON | Original file +!> 1993-05-07 | RUSS TREADON | ADDED DOC BLOCK AND MORE COMMENTS. +!> 1993-06-19 | RUSS TREADON | ADDED LVLBND TO PARAMETER LIST. +!> 1996-03-07 | MIKE BALDWIN | CHANGE PWTR CALC TO INCLUDE CLD WTR SPEED UP CODE +!> 1998-06-16 | T BLACK | CONVERSION FROM 1-D TO 2-D +!> 1998-08-18 | MIKE BALDWIN | CHANGE QSBND TO RHBND IN CALL, COMPUTE RH OVER ICE +!> 1998-12-22 | MIKE BALDWIN | BACK OUT RH OVER ICE +!> 2000-01-04 | JIM TUCCILLO | MPI VERSION +!> 2002-01-15 | MIKE BALDWIN | WRF VERSION +!> 2020-11-10 | JESSE MENG | USE UPP_PHYSICS MODULE +!> 2021-08-20 | Wen Meng | Retrict computation fro undefined points. +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction. +!> +!> @author Russ Treadon W/NP2 @date 1993-01-29 +! ------------------------------------------------------------------------------------------ +!> @brief Computes boundary layer fields. +!> +!> @param[out] PBND - Layer mean pressure in NBND boundary layers (NBL). +!> @param[out] TBND - Layer mean temperature in NBL. +!> @param[out] QBND - Layer mean specific humidity in NBL. +!> @param[out] RHBND - Layer mean relative hum. (QBND/QSBND) in NBL. +!> @param[out] UBND - Layer mean U wind component in NBL. +!> @param[out] VBND - Layer mean V wind component in NBL. +!> @param[out] WBND - Layer mean W wind component in NBL. +!> @param[out] OMGBND - Layer mean vertical velocity in NBL. +!> @param[out] PWTBND - Layer precipitable water in NBL. +!> @param[out] QCNVBND - Layer moisture convergence in NBL. +!> @param[out] LVLBND - ETA layer at midpoint of NBL. +!> +!> @note If you change parameter NBND in this routine +!> don't forget to change it also in the calling +!> subprogram, MISCLN. + SUBROUTINE BNDLYR(PBND,TBND,QBND,RHBND,UBND,VBND, & WBND,OMGBND,PWTBND,QCNVBND,LVLBND) @@ -73,22 +61,23 @@ SUBROUTINE BNDLYR(PBND,TBND,QBND,RHBND,UBND,VBND, & use masks, only: lmh use params_mod, only: d00, gi, pq0, a2, a3, a4 use ctlblk_mod, only: jsta_2l, jend_2u, lm, jsta, jend, modelname, & - jsta_m, jend_m, im, nbnd, spval + jsta_m, jend_m, im, nbnd, spval, ista_2l, iend_2u, ista_m, iend_m, ista, iend use physcons_post, only: con_rd, con_rv, con_eps, con_epsm1 use gridspec_mod, only: gridtype use upp_physics, only: FPVSNEW + use exch_upp_mod, only: exch ! implicit none ! ! DECLARE VARIABLES. ! real,PARAMETER :: DPBND=30.E2 - integer, dimension(IM,jsta:jend,NBND),intent(inout) :: LVLBND - real, dimension(IM,jsta:jend,NBND),intent(inout) :: PBND,TBND, & + integer, dimension(ista:iend,jsta:jend,NBND),intent(inout) :: LVLBND + real, dimension(ista:iend,jsta:jend,NBND),intent(inout) :: PBND,TBND, & QBND,RHBND,UBND,VBND,WBND,OMGBND,PWTBND,QCNVBND - REAL Q1D(IM,JSTA_2L:JEND_2U),V1D(IM,JSTA_2L:JEND_2U), & - U1D(IM,JSTA_2L:JEND_2U),QCNV1D(IM,JSTA_2L:JEND_2U) + REAL Q1D(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),V1D(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U), & + U1D(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),QCNV1D(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U) ! REAL, ALLOCATABLE :: PBINT(:,:,:),QSBND(:,:,:) REAL, ALLOCATABLE :: PSUM(:,:,:), QCNVG(:,:,:) @@ -101,19 +90,19 @@ SUBROUTINE BNDLYR(PBND,TBND,QBND,RHBND,UBND,VBND, & !***************************************************************************** ! START BNDLYR HERE ! - ALLOCATE (PBINT(IM,JSTA_2L:JEND_2U,NBND+1)) - ALLOCATE (QSBND(IM,JSTA_2L:JEND_2U,NBND)) - ALLOCATE (PSUM(IM,JSTA_2L:JEND_2U,NBND)) - ALLOCATE (QCNVG(IM,JSTA_2L:JEND_2U,LM)) - ALLOCATE (PVSUM(IM,JSTA_2L:JEND_2U,NBND)) - ALLOCATE (NSUM(IM,JSTA_2L:JEND_2U,NBND)) + ALLOCATE (PBINT(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,NBND+1)) + ALLOCATE (QSBND(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,NBND)) + ALLOCATE (PSUM(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,NBND)) + ALLOCATE (QCNVG(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LM)) + ALLOCATE (PVSUM(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,NBND)) + ALLOCATE (NSUM(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,NBND)) ! ! LOOP OVER HORIZONTAL GRID. AT EACH MASS POINT COMPUTE ! PRESSURE AT THE INTERFACE OF EACH BOUNDARY LAYER. ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PBINT(I,J,1) = PINT(I,J,NINT(LMH(I,J))+1) ENDDO ENDDO @@ -121,7 +110,7 @@ SUBROUTINE BNDLYR(PBND,TBND,QBND,RHBND,UBND,VBND, & DO LBND=2,NBND+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PBINT(I,J,LBND) = PBINT(I,J,LBND-1) - DPBND ENDDO ENDDO @@ -131,7 +120,7 @@ SUBROUTINE BNDLYR(PBND,TBND,QBND,RHBND,UBND,VBND, & DO L=1,LM !$omp parallel do private(i,j) DO J=JSTA_2L,JEND_2U - DO I=1,IM + DO I=ISTA_2L,IEND_2U Q1D(I,J) = Q(I,J,L) U1D(I,J) = UH(I,J,L) V1D(I,J) = VH(I,J,L) @@ -140,7 +129,7 @@ SUBROUTINE BNDLYR(PBND,TBND,QBND,RHBND,UBND,VBND, & CALL CALMCVG(Q1D,U1D,V1D,QCNV1D) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND QCNVG(I,J,L)=QCNV1D(I,J) ENDDO ENDDO @@ -156,7 +145,7 @@ SUBROUTINE BNDLYR(PBND,TBND,QBND,RHBND,UBND,VBND, & DO LBND=1,NBND !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PBND(I,J,LBND) = D00 TBND(I,J,LBND) = D00 QBND(I,J,LBND) = D00 @@ -179,7 +168,7 @@ SUBROUTINE BNDLYR(PBND,TBND,QBND,RHBND,UBND,VBND, & DO L=1,LM !$omp parallel do private(i,j,dp,pm,es,qsat) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! PM = PMID(I,J,L) IF(PM @file -! +!> @brief bound() clips data in passed array. +!> +!> @author Russ Treadon W/NP2 @date 1993-01-18 +!> +!> This routine bounds data in the passed array FLD (im x jm elements long) +!> and clips data values such that on exiting the routine +!> @code +!> FMIN <= FLD(I,J) <= FMAX +!> @endcode +!> for all points. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1993-01-18 | Russ Treadon | Initial +!> 1993-05-07 | Russ Treadon | Added DOCBLOC +!> 1998-05-29 | T Black | Conversion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-04-24 | Mike Baldwin | WRF Version +!> 2021-09002 | Bo Cui | Decompose UPP in X direction +!> +!> @author Russ Treadon W/NP2 @date 1993-01-18 +!--------------------------------------------------------------------------------------- +!> @brief Clips data in passed array. +!> +!> @param[in] FMIN Lower (inclusive) bound for data. +!> @param[in] FMAX Upper (inclusive) bound for data. +!> @param[out] FLD Array whose elements are bounded by [FMIN,FMAX]. !> -!! . . . -!! SUBPROGRAM: BOUND CLIPS DATA IN PASSED ARRAY -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-01-18 -!! -!! ABSTRACT: THIS ROUTINE BOUNDS DATA IN THE PASSED ARRAY -!! FLD (IMxJM ELEMENTS LONG) AND CLIPS DATA VALUES SUCH -!! THAT ON EXITING THE ROUTINE -!! FMIN <= FLD(I,J) <= FMAX -!! FOR ALL POINTS. -!! -!! -!! PROGRAM HISTORY LOG: -!! 93-01-18 RUSS TREADON -!! 93-05-07 RUSS TREADON - ADDED DOCBLOC -!! 98-05-29 BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-04-24 MIKE BALDWIN - WRF VERSION -!! -!! USAGE: CALL bound(fld,fmin,fmax) -!! INPUT ARGUMENT LIST: -!! FMIN - LOWER (INCLUSIVE) BOUND FOR DATA. -!! FMAX - UPPER (INCLUSIVE) BOUND FOR DATA. -!! -!! OUTPUT ARGUMENT LIST: -!! FLD - ARRAY WHOSE ELEMENTS ARE BOUNDED BY [FMIN,FMAX]. -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! NONE -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : CRAY C-90 -!! SUBROUTINE BOUND(FLD,FMIN,FMAX) ! - use ctlblk_mod, only: jsta, jend, spval, im, jm + use ctlblk_mod, only: jsta, jend, spval, im, jm, ista, iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -59,7 +47,7 @@ SUBROUTINE BOUND(FLD,FMIN,FMAX) ! BOUND ARRAY. !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(fld(i,j) /= spval) then FLD(I,J) = min(FMAX, MAX(FMIN,FLD(I,J))) end if diff --git a/sorc/ncep_post.fd/CALDRG.f b/sorc/ncep_post.fd/CALDRG.f index 88f0d60386..352d6cf596 100644 --- a/sorc/ncep_post.fd/CALDRG.f +++ b/sorc/ncep_post.fd/CALDRG.f @@ -1,42 +1,23 @@ !> @file -! -!> SUBPROGRAM: CALDRG COMPUTE DRAG COEFFICIENT -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-09-01 -!! -!! ABSTRACT: THIS ROUTINE COMPUTES A SURFACE LAYER DRAG -!! COEFFICIENT USING EQUATION (7.4.1A) IN "AN INTRODUCTION -!! TO BOUNDARY LAYER METEOROLOGY" BY STULL (1988, KLUWER -!! ACADEMIC PUBLISHERS). -!! -!! PROGRAM HISTORY LOG: -!! 93-09-01 RUSS TREADON -!! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-01-15 MIKE BALDWIN - WRF VERSION -!! 05-02-22 H CHUANG - ADD WRF NMM COMPONENTS -!! -!! USAGE: CALL CALDRG(DRAGCO) -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! DRAGCO - SURFACE LAYER DRAG COEFFICIENT -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - LOOPS -!! SRFDSP -!! PVRBLS -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : CRAY C-90 -!! +!> @brief Subroutine that computes drag cofficient. +! +!> This rountine computes a surface layer drag coefficient using +!> equation (7.4.1A) in ["An introduction to boundary layer +!> meteorology" by Stull (1988, Kluwer Academic +!> Publishers)](https://link.springer.com/book/10.1007/978-94-009-3027-8). +!> +!> @param[out] DRAGCO surface layer drag coefficient. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1993-09-01 | Russ Treadon | Initial +!> 1998-06-15 | T Black | Conversion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI version +!> 2002-01-15 | Mike Baldwin | WRF version +!> 2005-02-22 | H Chuang | Add WRF NMM components +!> +!> @author Russ Treadon W/NP2 @date 1993-09-01 SUBROUTINE CALDRG(DRAGCO) ! @@ -46,7 +27,7 @@ SUBROUTINE CALDRG(DRAGCO) use masks, only: lmh use params_mod, only: d00, d50, d25 use ctlblk_mod, only: jsta, jend, jsta_m, jend_m, modelname, spval, im, jm, & - jsta_2l, jend_2u + jsta_2l, jend_2u, ista, iend, ista_m, iend_m, ista_2l, iend_2u use gridspec_mod, only: gridtype !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none @@ -54,7 +35,7 @@ SUBROUTINE CALDRG(DRAGCO) ! INCLUDE/SET PARAMETERS. ! ! DECLARE VARIABLES. - REAL,intent(inout) :: DRAGCO(IM,jsta_2l:jend_2u) + REAL,intent(inout) :: DRAGCO(ista_2l:iend_2u,jsta_2l:jend_2u) INTEGER IHE(JM),IHW(JM) integer I,J,LHMK,IE,IW,LMHK real UBAR,VBAR,WSPDSQ,USTRSQ,SUMU,SUMV,ULMH,VLMH,UZ0H,VZ0H @@ -66,7 +47,7 @@ SUBROUTINE CALDRG(DRAGCO) ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! DRAGCO(I,J) = D00 DRAGCO(I,J) = 0.0 @@ -76,7 +57,7 @@ SUBROUTINE CALDRG(DRAGCO) IF(gridtype=='A')THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! IF (USTAR(I,J) /= SPVAL) THEN @@ -110,7 +91,7 @@ SUBROUTINE CALDRG(DRAGCO) ENDDO DO J=JSTA_M,JEND_M - DO I=2,IM-1 + DO I=ISTA_M,IEND_M ! ! COMPUTE A MEAN MASS POINT WIND IN THE ! FIRST ATMOSPHERIC ETA LAYER. @@ -147,7 +128,7 @@ SUBROUTINE CALDRG(DRAGCO) END DO ELSE IF(gridtype=='B')THEN DO J=JSTA_M,JEND_M - DO I=2,IM-1 + DO I=ISTA_M,IEND_M ! ! COMPUTE A MEAN MASS POINT WIND IN THE ! FIRST ATMOSPHERIC ETA LAYER. @@ -193,7 +174,7 @@ SUBROUTINE CALDRG(DRAGCO) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND DRAGCO(I,J) = SPVAL ENDDO ENDDO diff --git a/sorc/ncep_post.fd/CALDWP.f b/sorc/ncep_post.fd/CALDWP.f index aa2405e05a..35c05bb805 100644 --- a/sorc/ncep_post.fd/CALDWP.f +++ b/sorc/ncep_post.fd/CALDWP.f @@ -1,58 +1,39 @@ !> @file +!> @brief Subroutine that calculates dewpoint temperature. ! -!> SUBPROGRAM: CALDWP COMPUTES -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -!! -!! ABSTRACT: COMPUTES DEWPOINT FROM P, T, AND Q -!! -!! PROGRAM HISTORY LOG: -!! 92-12-22 RUSS TREADON -!! 93-10-04 RUSS TREADON - ADDED CHECK TO BOUND DEWPOINT -!! TEMPERATURE TO NOT EXCEED THE -!! AMBIENT TEMPERATURE. -!! 98-06-08 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 21-07-23 Wen Meng - Retrict computation from undefined points -!! -!! USAGE: CALL CALDWP(P1D,Q1D,TDWP,T1D) -!! INPUT ARGUMENT LIST: -!! P1D - PRESSURE (PA) -!! Q1D - SPECIFIC HUMIDITY (KG/KG) -!! T1D - TEMPERATURE (K) -!! -!! OUTPUT ARGUMENT LIST: -!! TDWP - DEWPOINT TEMPERATURE (K) - -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! DEWPOINT - COMPUTES DEWPOINT GIVEN VAPOR PRESSURE. -!! LIBRARY: -!! NONE -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : CRAY C-90 -!! +!> Computes dewpoint from P, T, and Q. +!> +!> @param[in] P1D Pressure (Pa). +!> @param[in] Q1D Specific humidity (kg/kg). +!> @param[in] T1D Temperature (K). +!> @param[out] TDWP Dewpoint temperature (K). +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-22 | Russ Treadon | Initial +!> 1993-10-04 | Russ Treadon | Added check to bound dewpoint temperature to not exceed the ambient temperature. +!> 1998-06-08 | T Black | Conversion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI version +!> 2021-07-23 | Wen Meng | Retrict computation from undefined points +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 SUBROUTINE CALDWP(P1D,Q1D,TDWP,T1D) ! ! ! SET PARAMETERS. use params_mod, only: eps, oneps, d001, h1m12 - use ctlblk_mod, only: jsta, jend, im, spval + use ctlblk_mod, only: jsta, jend, im, spval, ista, iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! ! DECLARE VARIABLES. ! - REAL,dimension(IM,jsta:jend),intent(in) :: P1D,Q1D,T1D - REAL,dimension(IM,jsta:jend),intent(inout) :: TDWP + REAL,dimension(ista:iend,jsta:jend),intent(in) :: P1D,Q1D,T1D + REAL,dimension(ista:iend,jsta:jend),intent(inout) :: TDWP - REAL EVP(IM,jsta:jend) + REAL EVP(ista:iend,jsta:jend) integer I,J ! !**************************************************************************** @@ -62,7 +43,7 @@ SUBROUTINE CALDWP(P1D,Q1D,TDWP,T1D) ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(P1D(I,j) @file -! . . . -!> SUBPROGRAM: CALGUST COMPUTE MAX WIND LEVEL -!! PRGRMMR: MANIKIN ORG: W/NP2 DATE: 97-03-04 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES SURFACE WIND GUST BY MIXING -!! DOWN MOMENTUM FROM THE LEVEL AT THE HEIGHT OF THE PBL -!! -!! -!! PROGRAM HISTORY LOG: -!! 03-10-15 GEOFF MANIKIN -!! 05-03-09 H CHUANG - WRF VERSION -!! 05-07-07 BINBIN ZHOU - ADD RSM -!! 15-03-11 S Moorthi - set sfcwind to spval if u10 and v10 are spvals -!! for A grid and set gust to just wind -!! (in GSM with nemsio, it appears u10 & v10 have spval) -!! -!! USAGE: CALL CALGUST(GUST) -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! GUST - SPEED OF THE MAXIMUM SFC WIND GUST -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! H2V -!! -!! LIBRARY: -!! COMMON - -!! LOOPS -!! OPTIONS -!! MASKS -!! INDX -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : CRAY C-90 -!! +!> @brief Subroutine that computes max wind level. +! +!> This routine computes surface wind gust by mixing +!> down momentum from the level at the height of the PBL. +!> +!> @param[in] LPBL Model level that is closest to the planetary boundary layer height. +!> @param[in] ZPBL Height of the planetary boundary layer. +!> @param[inout] GUST Speed of the maximum surface wind gust. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2003-10-15 | Geoff Manokin | Initial +!> 2005-03-09 | H Chuang | WRF Version +!> 2005-07-07 | Binbin Zhou | Add RSM +!> 2015-03-11 | S Moorthi | Set sfcwind to spval if u10 and v10 are spvals for A grid and set gust to just wind (in GSM with nemsio, it appears u10 & v10 have spval) +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> 2023-02-24 | Weizhong Zheng| Revised calculation of wind gust for UFS applications +!> 2024-07-02 | Wen Meng | Restrict undefined grids in calculations +!> 2025-06-30 | J Kenyon | Edits to improve code readability (indentations, etc); adding +!> | descriptive comments; no change to functionality +!> +!> @author Geoff Manikin W/NP2 @date 1997-03-04 + SUBROUTINE CALGUST(LPBL,ZPBL,GUST) ! @@ -49,8 +31,9 @@ SUBROUTINE CALGUST(LPBL,ZPBL,GUST) use vrbls2d , only: u10h, v10h, u10,v10, fis use params_mod, only: d25, gi use ctlblk_mod, only: jsta, jend, spval, jsta_m, jend_m, num_procs, mpi_comm_comp, lm,& - modelname, im, jm, jsta_2l, jend_2u + modelname, im, jm, jsta_2l, jend_2u, ista, iend, ista_m, iend_m, ista_2l, iend_2u use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch implicit none @@ -60,9 +43,9 @@ SUBROUTINE CALGUST(LPBL,ZPBL,GUST) ! ! DECLARE VARIABLES. ! - INTEGER,intent(in) :: LPBL(IM,jsta_2l:jend_2u) - REAL,intent(in) :: ZPBL(IM,jsta_2l:jend_2u) - REAL,intent(inout) :: GUST(IM,jsta_2l:jend_2u) + INTEGER,intent(in) :: LPBL(ista_2l:iend_2u,jsta_2l:jend_2u) + REAL,intent(in) :: ZPBL(ista_2l:iend_2u,jsta_2l:jend_2u) + REAL,intent(inout) :: GUST(ista_2l:iend_2u,jsta_2l:jend_2u) integer I,J,IE,IW, L, K, ISTART, ISTOP, JSTART, JSTOP integer LMIN,LXXX,IERR @@ -70,35 +53,36 @@ SUBROUTINE CALGUST(LPBL,ZPBL,GUST) ! ! !***************************************************************************** +!> CALMXW computes max wind level fields. ! START CALMXW HERE. ! ! LOOP OVER THE GRID. ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GUST(I,J) = SPVAL ENDDO ENDDO IF(gridtype == 'A') THEN - ISTART = 1 - ISTOP = IM + ISTART = ISTA + ISTOP = IEND JSTART = JSTA JSTOP = JEND ELSE - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M if ( num_procs > 1 ) then !CALL EXCH(U10(1,jsta_2l)) !CALL EXCH(V10(1,jsta_2l)) - LMIN = max(1, minval(lpbl(1:im,jsta:jend))) + LMIN = max(1, minval(lpbl(ista:iend,jsta:jend))) CALL MPI_ALLREDUCE(LMIN,LXXX,1,MPI_INTEGER,MPI_MIN,MPI_COMM_COMP,IERR) DO L=LXXX,LM - CALL EXCH(UH(1,jsta_2l,L)) - CALL EXCH(VH(1,jsta_2l,L)) + CALL EXCH(UH(ista_2l,jsta_2l,L)) + CALL EXCH(VH(ista_2l,jsta_2l,L)) END DO END IF END IF @@ -109,43 +93,47 @@ SUBROUTINE CALGUST(LPBL,ZPBL,GUST) DO J=JSTART,JSTOP DO I=ISTART,ISTOP L=LPBL(I,J) + IF(gridtype == 'E') THEN + IE = I + MOD(J+1,2) IW = I + MOD(J+1,2)-1 - if(U10H(I,J)= 1.0 km: factor is 0.5 + ! at 0.5 km: factor is 0.75 + ! at 0.0 km: factor is 1.0 + ! (J Kenyon: description added 30 Jun 2025; no change to functionality) + GUST(I,J) = MAX(GUST(I,J),SFCWIND+DELWIND) + else + GUST(I,J) = spval + WIND = spval + endif enddo - else + else ! MODELNAME if(UH(I,J,L) @file +!> @brief Subroutine that computes wind gust from turbulence and convective components +!> for HAFS model. +!> +!> This subroutine is based on the Python code provided by Andrew Hazelton (HRD), +!> which computes a new wind gust factor based on turbulence and convective components. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2026-01-06 | Karina Asmar | Initial +!> +!> @author Karina Asmar NCEP/EMC @date 2026-01-06 +! ------------------------------------------------------------------------------------------ +!> +!> @param[in] SPEED850 Wind speed at 850 mb. +!> @param[in] SPEED950 Wind speed at 950 mb. +!> @param[inout] GUSTCONV Gust factor. +!> + SUBROUTINE CALGUSTCONV(SPEED850,SPEED950,GUSTCONV) +! +! + use vrbls2d , only: u10,v10, ustar + use ctlblk_mod, only: ista, iend, jsta, jend, ista_2l, iend_2u, jsta_2l, jend_2u, spval +! + implicit none +! + INCLUDE "mpif.h" +! +! INCLUDE ETA GRID DIMENSIONS. SET/DERIVE PARAMETERS. +! +! DECLARE VARIABLES. +! + REAL,intent(in) :: SPEED850(ista_2l:iend_2u,jsta_2l:jend_2u) + REAL,intent(in) :: SPEED950(ista_2l:iend_2u,jsta_2l:jend_2u) + REAL,intent(inout) :: GUSTCONV(ista_2l:iend_2u,jsta_2l:jend_2u) +! + REAL, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: WIND10, WSD, GUST1_NEW, GUST2_NEW, WSTT1_NEW, & + WSTT2_NEW, GF1_NEW, GF2_NEW +! +! + integer I,J +! +! +!***************************************************************************** +!> CALGUSTCONV computes new gust wind factor for HAFS based on convective and +!> turbulent components. +! START CALGUSTCONV HERE. +! +! +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GUSTCONV(I,J) = SPVAL + ENDDO + ENDDO + +! CALCULATE GUST FACTORS +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(U10(I,J)= ZERO + + ! CALCULATE NEW GUST FACTOR + GUST1_NEW(I,J) = 3.0 * USTAR(I,J) ! TURBULENT COMPONENT + WSTT1_NEW(I,J) = WIND10(I,J) + GUST1_NEW(I,J) + GF1_NEW(I,J) = WSTT1_NEW(I,J) / WIND10(I,J) + GUST2_NEW(I,J) = 0.3 * WSD(I,J) ! CONVECTIVE MIXING COMPONENT + + GUSTCONV(I,J) = (WSTT1_NEW(I,J) + GUST2_NEW(I,J)) + ENDIF + ENDDO + ENDDO +! +! END OF ROUTINE. +! + RETURN + END diff --git a/sorc/ncep_post.fd/CALHEL.f b/sorc/ncep_post.fd/CALHEL.f index 8520bf5cdb..3fa38b7169 100644 --- a/sorc/ncep_post.fd/CALHEL.f +++ b/sorc/ncep_post.fd/CALHEL.f @@ -1,91 +1,61 @@ !> @file -! . . . -!> SUBPROGRAM: CALHEL COMPUTES STORM RELATIVE HELICITY -!! PRGRMMR: BALDWIN ORG: W/NP2 DATE: 94-08-22 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES ESTIMATED STORM MOTION AND -!! STORM-RELATIVE ENVIRONMENTAL HELICITY. -!! (DAVIES-JONES ET AL 1990) THE ALGORITHM PROCEEDS AS -!! FOLLOWS. -!! -!! THE STORM MOTION COMPUTATION NO LONGER EMPLOYS THE DAVIES AND -!! JOHNS (1993) METHOD WHICH DEFINED STORM MOTION AS 30 DEGREES TO -!! THE RIGHT OF THE 0-6 KM MEAN WIND AT 75% OF THE SPEED FOR MEAN -!! SPEEDS LESS THAN 15 M/S AND 20 DEGREES TO THE RIGHT FOR SPEEDS -!! GREATER THAN 15 M/S. INSTEAD, WE NOW USE THE DYNAMIC METHOD -!! (BUNKERS ET AL. 1998) WHICH HAS BEEN FOUND TO DO BETTER IN -!! CASES WITH 'NON-CLASSIC' HODOGRAPHS (SUCH AS NORTHWEST-FLOW -!! EVENTS) AND DO AS WELL OR BETTER THAN THE OLD METHOD IN MORE -!! CLASSIC SITUATIONS. -!! -!! PROGRAM HISTORY LOG: -!! 94-08-22 MICHAEL BALDWIN -!! 97-03-27 MICHAEL BALDWIN - SPEED UP CODE -!! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 00-01-10 G MANIKIN - CHANGED TO BUNKERS METHOD -!! 02-05-22 G MANIKIN - NOW ALLOW CHOICE OF COMPUTING -!! HELICITY OVER TWO DIFFERENT -!! (0-1 and 0-3 KM) DEPTHS -!! 03-03-25 G MANIKIN - MODIFIED CODE TO COMPUTE MEAN WINDS -!! USING ARITHMETIC AVERAGES INSTEAD OF -!! MASS WEIGHTING; DIFFERENCES ARE MINOR -!! BUT WANT TO BE CONSISTENT WITH THE -!! BUNKERS METHOD -!! 04-04-16 M PYLE - MINIMAL MODIFICATIONS, BUT PUT INTO -!! NMM WRFPOST CODE -!! 05=02-25 H CHUANG - ADD COMPUTATION FOR ARW A GRID -!! 05-07-07 BINBIN ZHOU - ADD RSM FOR A GRID -!! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT -!! -!! USAGE: CALHEL(UST,VST,HELI) -!! INPUT ARGUMENT LIST: -!! DPTH - DEPTH IN METERS OVER WHICH HELICITY SHOULD BE COMPUTED; -!! ALLOWS ONE TO DISTINGUISH 0-3 KM AND 0-1 KM VALUES -!! -!! OUTPUT ARGUMENT LIST: -!! UST - ESTIMATED U COMPONENT (M/S) OF STORM MOTION. -!! VST - ESTIMATED V COMPONENT (M/S) OF STORM MOTION. -!! HELI - STORM-RELATIVE HELICITY (M**2/S**2) -!! CRA -!! USHR1 - U COMPONENT (M/S) OF 0-1 KM SHEAR -!! VSHR1 - V COMPONENT (M/S) OF 0-1 KM SHEAR -!! USHR6 - U COMPONENT (M/S) OF 0-0.5 to 5.5-6.0 KM SHEAR -!! VSHR6 - V COMPONENT (M/S) OF 0-0.5 to 5.5-6.0 KM SHEAR -!! CRA - -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! -!! LIBRARY: -!! COMMON - VRBLS -!! LOOPS -!! PHYS -!! EXTRA -!! MASKS -!! OPTIONS -!! INDX -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : IBM SP -!! +!> @brief Subroutine that computes storm relative helicity and storm motion. +!> +!> This routine computes estimated storm motion and storm-relative +!> environmental helicity. (Davies-Jones et al 1990) the algorithm +!> processd as follows. +!> +!> The storm motion computation no longer employs the Davies and Johns (1993) +!> method which defined storm motion as 30 degress to the right of the 0-6 km +!> mean wind at 75% of the speed for mean speeds less than 15 m/s and 20 degrees +!> to the right for speeds greater than 15 m/s. Instead, we now use the dynamic +!> method (Bunkers et al. 1988) which has been found to do better in cases with +!> 'non-classic' hodographs (such as Northwest-flow events) and do as well or +!> better than the old method in more classic situations. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1994-08-22 | Michael Baldwin | Initial +!> 1997-03-27 | Michael Baldwin | Speed up code +!> 1998-06-15 | T Black | Conversion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2000-01-10 | G Manikin | Changed to Bunkers method +!> 2002-05-22 | G Manikin | Now allow choice of computing helicity over two different (0-1 and 0-3 km) depths +!> 2003-03-25 | G Manikin | Modified code to compute mean winds using arithmetic averages instead of mass weighting; differences are minor but want to be consistent with the Bunkers method +!> 2004-04-16 | M Pyle | Minimal modifications but put into NMM WRFPOST code +!> 2005-02-25 | H Chuang | Add computation for ARW A grid +!> 2005-07-07 | Binbin Zhou | Add RSM for A grid +!> 2019-10-30 | Bo Cui | Remove "goto" statement +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> 2022-10-07 | Tracy Hertneky | Add left mover for storm motion in SH +!> +!> @author Michael Baldwin W/NP2 @date 1994-08-22 +! ----------------------------------------------------------------------------------- +!> @brief Computes storm relative helicity and storm motion. +!> +!> @param[in] DEPTH Depth in meters over whcih helicity should be computed; allows one to distinguish 0-3 km and 0-1 km values. +!> @param[out] UST Estimated U Component (m/s) Of Storm motion. +!> @param[out] VST Estimated V Component (m/s) Of Storm motion. +!> @param[out] HELI Storm-relative heliciry (m**2/s**2). +!> @param[out] USHR1 U Component (m/s) Of 0-1 km shear. +!> @param[out] VSHR1 V Component (m/s) Of 0-1 km shear. +!> @param[out] USHR6 U Component (m/s) Of 0-0.5 to 5.5-6.0 km shear. +!> @param[out] VSHR6 V Component (m/s) Of 0-0.5 to 5.5-6.0 km shear. +!> SUBROUTINE CALHEL(DEPTH,UST,VST,HELI,USHR1,VSHR1,USHR6,VSHR6) ! use vrbls3d, only: zmid, uh, vh, u, v, zint use vrbls2d, only: fis, u10, v10 - use masks, only: lmv + use masks, only: lmv, gdlat use params_mod, only: g use lookup_mod, only: ITB,JTB,ITBQ,JTBQ use ctlblk_mod, only: jsta, jend, jsta_m, jend_m, jsta_2l, jend_2u, & - lm, im, jm, me, spval + lm, im, jm, me, spval, & + ista, iend, ista_m, iend_m, ista_2l, iend_2u use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -102,10 +72,10 @@ SUBROUTINE CALHEL(DEPTH,UST,VST,HELI,USHR1,VSHR1,USHR6,VSHR6) ! DECLARE VARIABLES ! real,intent(in) :: DEPTH(2) - REAL,dimension(IM,jsta_2l:jend_2u), intent(out) :: UST,VST - REAL,dimension(IM,jsta_2l:jend_2u,2),intent(out) :: HELI + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(out) :: UST,VST + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u,2),intent(out) :: HELI ! - real, dimension(im,jsta_2l:jend_2u) :: HTSFC, UST6, VST6, UST5, VST5, & + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: HTSFC, UST6, VST6, UST5, VST5, & UST1, VST1, USHR1, VSHR1, & USHR6, VSHR6, U1, V1, U2, V2, & HGT1, HGT2, UMEAN, VMEAN @@ -120,7 +90,7 @@ SUBROUTINE CALHEL(DEPTH,UST,VST,HELI,USHR1,VSHR1,USHR6,VSHR6) ! REAL HGT1(IM,JM),HGT2(IM,JM),UMEAN(IM,JM),VMEAN(IM,JM) ! CRA - integer, dimension(im,jsta_2l:jend_2u) :: COUNT6, COUNT5, COUNT1, L1, L2 + integer, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: COUNT6, COUNT5, COUNT1, L1, L2 ! INTEGER COUNT6(IM,JM),COUNT5(IM,JM),COUNT1(IM,JM) ! CRA ! INTEGER L1(IM,JM),L2(IM,JM) @@ -140,7 +110,7 @@ SUBROUTINE CALHEL(DEPTH,UST,VST,HELI,USHR1,VSHR1,USHR6,VSHR6) ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND UST(I,J) = 0.0 VST(I,J) = 0.0 HELI(I,J,1) = 0.0 @@ -180,8 +150,8 @@ SUBROUTINE CALHEL(DEPTH,UST,VST,HELI,USHR1,VSHR1,USHR6,VSHR6) IVE(J) = MOD(J,2) IVW(J) = IVE(J)-1 enddo - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M ELSE IF(gridtype == 'B')THEN @@ -191,8 +161,8 @@ SUBROUTINE CALHEL(DEPTH,UST,VST,HELI,USHR1,VSHR1,USHR6,VSHR6) IVE(J)=1 IVW(J)=0 enddo - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M ELSE @@ -202,8 +172,8 @@ SUBROUTINE CALHEL(DEPTH,UST,VST,HELI,USHR1,VSHR1,USHR6,VSHR6) IVE(J) = 0 IVW(J) = 0 enddo - ISTART = 1 - ISTOP = IM + ISTART = ISTA + ISTOP = IEND JSTART = JSTA JSTOP = JEND END IF @@ -218,9 +188,9 @@ SUBROUTINE CALHEL(DEPTH,UST,VST,HELI,USHR1,VSHR1,USHR6,VSHR6) ! END DO ! !!$omp parallel do private(htsfc,ie,iw) - IF(gridtype /= 'A') CALL EXCH(FIS(1:IM,JSTA_2L:JEND_2U)) + IF(gridtype /= 'A') CALL EXCH(FIS(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U)) DO L = 1,LM - IF(gridtype /= 'A') CALL EXCH(ZMID(1:IM,JSTA_2L:JEND_2U,L)) + IF(gridtype /= 'A') CALL EXCH(ZMID(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L)) DO J=JSTART,JSTOP DO I=ISTART,ISTOP IE = I+IVE(J) @@ -343,8 +313,13 @@ SUBROUTINE CALHEL(DEPTH,UST,VST,HELI,USHR1,VSHR1,USHR6,VSHR6) DENOM = USHR6(I,J)*USHR6(I,J)+VSHR6(I,J)*VSHR6(I,J) IF (DENOM /= 0.0) THEN - UST(I,J) = UMEAN6 + (7.5*VSHR6(I,J)/SQRT(DENOM)) - VST(I,J) = VMEAN6 - (7.5*USHR6(I,J)/SQRT(DENOM)) + IF (GDLAT(I,J) >= 0) THEN + UST(I,J) = UMEAN6 + (7.5*VSHR6(I,J)/SQRT(DENOM)) + VST(I,J) = VMEAN6 - (7.5*USHR6(I,J)/SQRT(DENOM)) + ELSE IF (GDLAT(I,J) < 0) THEN + UST(I,J) = UMEAN6 - (7.5*VSHR6(I,J)/SQRT(DENOM)) + VST(I,J) = VMEAN6 + (7.5*USHR6(I,J)/SQRT(DENOM)) + ENDIF ELSE UST(I,J) = 0 VST(I,J) = 0 diff --git a/sorc/ncep_post.fd/CALHEL2.f b/sorc/ncep_post.fd/CALHEL2.f index c7678b1c93..2117a851a5 100644 --- a/sorc/ncep_post.fd/CALHEL2.f +++ b/sorc/ncep_post.fd/CALHEL2.f @@ -1,84 +1,50 @@ !> @file -! . . . -!> SUBPROGRAM: CALHEL COMPUTES STORM RELATIVE HELICITY -!! PRGRMMR: BALDWIN ORG: W/NP2 DATE: 94-08-22 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES ESTIMATED STORM MOTION AND -!! STORM-RELATIVE ENVIRONMENTAL HELICITY. -!! (DAVIES-JONES ET AL 1990) THE ALGORITHM PROCEEDS AS -!! FOLLOWS. -!! -!! THE STORM MOTION COMPUTATION NO LONGER EMPLOYS THE DAVIES AND -!! JOHNS (1993) METHOD WHICH DEFINED STORM MOTION AS 30 DEGREES TO -!! THE RIGHT OF THE 0-6 KM MEAN WIND AT 75% OF THE SPEED FOR MEAN -!! SPEEDS LESS THAN 15 M/S AND 20 DEGREES TO THE RIGHT FOR SPEEDS -!! GREATER THAN 15 M/S. INSTEAD, WE NOW USE THE DYNAMIC METHOD -!! (BUNKERS ET AL. 1998) WHICH HAS BEEN FOUND TO DO BETTER IN -!! CASES WITH 'NON-CLASSIC' HODOGRAPHS (SUCH AS NORTHWEST-FLOW -!! EVENTS) AND DO AS WELL OR BETTER THAN THE OLD METHOD IN MORE -!! CLASSIC SITUATIONS. -!! -!! PROGRAM HISTORY LOG: -!! 94-08-22 MICHAEL BALDWIN -!! 97-03-27 MICHAEL BALDWIN - SPEED UP CODE -!! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 00-01-10 G MANIKIN - CHANGED TO BUNKERS METHOD -!! 02-05-22 G MANIKIN - NOW ALLOW CHOICE OF COMPUTING -!! HELICITY OVER TWO DIFFERENT -!! (0-1 and 0-3 KM) DEPTHS -!! 03-03-25 G MANIKIN - MODIFIED CODE TO COMPUTE MEAN WINDS -!! USING ARITHMETIC AVERAGES INSTEAD OF -!! MASS WEIGHTING; DIFFERENCES ARE MINOR -!! BUT WANT TO BE CONSISTENT WITH THE -!! BUNKERS METHOD -!! 04-04-16 M PYLE - MINIMAL MODIFICATIONS, BUT PUT INTO -!! NMM WRFPOST CODE -!! 05=02-25 H CHUANG - ADD COMPUTATION FOR ARW A GRID -!! 05-07-07 BINBIN ZHOU - ADD RSM FOR A GRID -!! 19-09-03 J MENG - MODIFIED TO COMPUTE EFFECTIVE HELICITY -!! AND CRITICAL ANGLE -!! -!! USAGE: CALHEL(UST,VST,HELI) -!! INPUT ARGUMENT LIST: -!! LLOW - LOWER BOUND CAPE>=100 AND CINS>=-250 -!! LUPP - UPPER BOUND CAPE< 100 OR CINS< -250 -!! DPTH - DEPTH IN METERS OVER WHICH HELICITY SHOULD BE COMPUTED; -!! ALLOWS ONE TO DISTINGUISH 0-3 KM AND 0-1 KM VALUES -!! -!! OUTPUT ARGUMENT LIST: -!! UST - ESTIMATED U COMPONENT (M/S) OF STORM MOTION. -!! VST - ESTIMATED V COMPONENT (M/S) OF STORM MOTION. -!! HELI - STORM-RELATIVE HELICITY (M**2/S**2) -!! CANGLE - CRITICAL ANGLE -!! CRA -!! USHR1 - U COMPONENT (M/S) OF 0-1 KM SHEAR -!! VSHR1 - V COMPONENT (M/S) OF 0-1 KM SHEAR -!! USHR6 - U COMPONENT (M/S) OF 0-0.5 to 5.5-6.0 KM SHEAR -!! VSHR6 - V COMPONENT (M/S) OF 0-0.5 to 5.5-6.0 KM SHEAR -!! CRA - -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! -!! LIBRARY: -!! COMMON - VRBLS -!! LOOPS -!! PHYS -!! EXTRA -!! MASKS -!! OPTIONS -!! INDX -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : IBM SP -!! +!> @brief Subroutine that computes storm relative helicity. +! +!> This routine computes estimated storm motion and storm-relative +!> environmental helicity. (Davies-Jones et al 1990) the algorithm +!> processd as follows. +!> +!> The storm motion computation no longer employs the Davies and Johns (1993) +!> method which defined storm motion as 30 degress to the right of the 0-6 km +!> mean wind at 75% of the speed for mean speeds less than 15 m/s and 20 degrees +!> to the right for speeds greater than 15 m/s. Instead, we now use the dynamic +!> method (Bunkers et al. 1988) which has been found to do better in cases with +!> 'non-classic' hodographs (such as Northwest-flow events) and do as well or +!> better than the old method in more classic situations. +!> +!> @param[in] LLOW Lower bound CAPE>=100 and CINS>=-250. +!> @param[in] LUPP Upper bound CAPE< 100 or CINS< -250; allows one to distinguish 0-3 km and 0-1 km values. +!> @param[in] DEPTH Depth in meters over whcih helicity should be computed; allows one to distinguish 0-3 km and 0-1 km values. +!> @param[out] UST Estimated U Component (m/s) Of Storm motion. +!> @param[out] VST Estimated V Component (m/s) Of Storm motion. +!> @param[out] HELI Storm-relative helicity (m**2/s**2). +!> @param[out] CANGLE Critical angle. +!> +!> @note The following variables are used within the function but are not input/output. +!> @li USHR1 U Component (m/s) Of 0-1 km shear. +!> @li VSHR1 V Component (m/s) Of 0-1 km shear. +!> @li USHR6 U Component (m/s) Of 0-0.5 to 5.5-6.0 km shear. +!> @li VSHR6 V Component (m/s) Of 0-0.5 to 5.5-6.0 km shear. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1994-08-22 | Michael Baldwin | Initial +!> 1997-03-27 | Michael Baldwin | Speed up code +!> 1998-06-15 | T Black | Conversion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2000-01-10 | G Manikin | Changed to Bunkers method +!> 2002-05-22 | G Manikin | Now allow choice of computing helicity over two different (0-1 and 0-3 km) depths +!> 2003-03-25 | G Manikin | Modified code to compute mean winds using arithmetic averages instead of mass weighting; differences are minor but want to be consistent with the Bunkers method +!> 2004-04-16 | M Pyle | Minimal modifications but put into NMM WRFPOST code +!> 2005-02-25 | H Chuang | Add computation for ARW A grid +!> 2005-07-07 | Binbin Zhou | Add RSM for A grid +!> 2019-09-03 | J Meng | Modified to compute effective helicity and critical angle +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> +!> @author Michael Baldwin W/NP2 @date 1994-08-22 +!----------------------------------------------------------------------- SUBROUTINE CALHEL2(LLOW,LUPP,DEPTH,UST,VST,HELI,CANGLE) ! @@ -88,8 +54,10 @@ SUBROUTINE CALHEL2(LLOW,LUPP,DEPTH,UST,VST,HELI,CANGLE) use params_mod, only: g use lookup_mod, only: ITB,JTB,ITBQ,JTBQ use ctlblk_mod, only: jsta, jend, jsta_m, jend_m, jsta_2l, jend_2u, & - lm, im, jm, me, spval + lm, im, jm, me, spval, & + ista, iend, ista_m, iend_m, ista_2l, iend_2u use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -106,17 +74,17 @@ SUBROUTINE CALHEL2(LLOW,LUPP,DEPTH,UST,VST,HELI,CANGLE) ! ! DECLARE VARIABLES ! - integer,dimension(IM,jsta_2l:jend_2u),intent(in) :: LLOW, LUPP + integer,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(in) :: LLOW, LUPP real,intent(in) :: DEPTH(2) - REAL,dimension(IM,jsta_2l:jend_2u), intent(out) :: UST,VST - REAL,dimension(IM,jsta_2l:jend_2u,2),intent(out) :: HELI - REAL,dimension(IM,jsta_2l:jend_2u), intent(out) :: CANGLE + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(out) :: UST,VST + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u,2),intent(out) :: HELI + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(out) :: CANGLE ! - real, dimension(im,jsta_2l:jend_2u) :: HTSFC, UST6, VST6, UST5, VST5, & + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: HTSFC, UST6, VST6, UST5, VST5, & UST1, VST1, USHR1, VSHR1, & USHR6, VSHR6, U1, V1, U2, V2, & HGT1, HGT2, UMEAN, VMEAN - real, dimension(im,jsta_2l:jend_2u) :: USHR05,VSHR05 + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: USHR05,VSHR05 ! REAL HTSFC(IM,JM) ! @@ -129,7 +97,7 @@ SUBROUTINE CALHEL2(LLOW,LUPP,DEPTH,UST,VST,HELI,CANGLE) ! REAL HGT1(IM,JM),HGT2(IM,JM),UMEAN(IM,JM),VMEAN(IM,JM) ! CRA - integer, dimension(im,jsta_2l:jend_2u) :: COUNT6, COUNT5, COUNT1, L1, L2 + integer, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: COUNT6, COUNT5, COUNT1, L1, L2 ! INTEGER COUNT6(IM,JM),COUNT5(IM,JM),COUNT1(IM,JM) ! CRA ! INTEGER L1(IM,JM),L2(IM,JM) @@ -148,7 +116,7 @@ SUBROUTINE CALHEL2(LLOW,LUPP,DEPTH,UST,VST,HELI,CANGLE) ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND UST(I,J) = 0.0 VST(I,J) = 0.0 HELI(I,J,1) = 0.0 @@ -191,8 +159,8 @@ SUBROUTINE CALHEL2(LLOW,LUPP,DEPTH,UST,VST,HELI,CANGLE) IVE(J) = MOD(J,2) IVW(J) = IVE(J)-1 enddo - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M ELSE IF(gridtype == 'B')THEN @@ -202,8 +170,8 @@ SUBROUTINE CALHEL2(LLOW,LUPP,DEPTH,UST,VST,HELI,CANGLE) IVE(J)=1 IVW(J)=0 enddo - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M ELSE @@ -213,8 +181,8 @@ SUBROUTINE CALHEL2(LLOW,LUPP,DEPTH,UST,VST,HELI,CANGLE) IVE(J) = 0 IVW(J) = 0 enddo - ISTART = 1 - ISTOP = IM + ISTART = ISTA + ISTOP = IEND JSTART = JSTA JSTOP = JEND END IF @@ -229,9 +197,9 @@ SUBROUTINE CALHEL2(LLOW,LUPP,DEPTH,UST,VST,HELI,CANGLE) ! END DO ! !!$omp parallel do private(htsfc,ie,iw) - IF(gridtype /= 'A') CALL EXCH(FIS(1:IM,JSTA_2L:JEND_2U)) + IF(gridtype /= 'A') CALL EXCH(FIS(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U)) DO L = 1,LM - IF(gridtype /= 'A') CALL EXCH(ZMID(1:IM,JSTA_2L:JEND_2U,L)) + IF(gridtype /= 'A') CALL EXCH(ZMID(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L)) DO J=JSTART,JSTOP DO I=ISTART,ISTOP IE = I+IVE(J) diff --git a/sorc/ncep_post.fd/CALHEL3.f b/sorc/ncep_post.fd/CALHEL3.f index 976778bfb2..37899ef0f8 100644 --- a/sorc/ncep_post.fd/CALHEL3.f +++ b/sorc/ncep_post.fd/CALHEL3.f @@ -1,82 +1,51 @@ !> @file -! . . . -!> SUBPROGRAM: CALHEL COMPUTES STORM RELATIVE HELICITY -!! PRGRMMR: BALDWIN ORG: W/NP2 DATE: 94-08-22 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES ESTIMATED STORM MOTION AND -!! STORM-RELATIVE ENVIRONMENTAL HELICITY. -!! (DAVIES-JONES ET AL 1990) THE ALGORITHM PROCEEDS AS -!! FOLLOWS. -!! -!! THE STORM MOTION COMPUTATION NO LONGER EMPLOYS THE DAVIES AND -!! JOHNS (1993) METHOD WHICH DEFINED STORM MOTION AS 30 DEGREES TO -!! THE RIGHT OF THE 0-6 KM MEAN WIND AT 75% OF THE SPEED FOR MEAN -!! SPEEDS LESS THAN 15 M/S AND 20 DEGREES TO THE RIGHT FOR SPEEDS -!! GREATER THAN 15 M/S. INSTEAD, WE NOW USE THE DYNAMIC METHOD -!! (BUNKERS ET AL. 1998) WHICH HAS BEEN FOUND TO DO BETTER IN -!! CASES WITH 'NON-CLASSIC' HODOGRAPHS (SUCH AS NORTHWEST-FLOW -!! EVENTS) AND DO AS WELL OR BETTER THAN THE OLD METHOD IN MORE -!! CLASSIC SITUATIONS. -!! -!! PROGRAM HISTORY LOG: -!! 94-08-22 MICHAEL BALDWIN -!! 97-03-27 MICHAEL BALDWIN - SPEED UP CODE -!! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 00-01-10 G MANIKIN - CHANGED TO BUNKERS METHOD -!! 02-05-22 G MANIKIN - NOW ALLOW CHOICE OF COMPUTING -!! HELICITY OVER TWO DIFFERENT -!! (0-1 and 0-3 KM) DEPTHS -!! 03-03-25 G MANIKIN - MODIFIED CODE TO COMPUTE MEAN WINDS -!! USING ARITHMETIC AVERAGES INSTEAD OF -!! MASS WEIGHTING; DIFFERENCES ARE MINOR -!! BUT WANT TO BE CONSISTENT WITH THE -!! BUNKERS METHOD -!! 04-04-16 M PYLE - MINIMAL MODIFICATIONS, BUT PUT INTO -!! NMM WRFPOST CODE -!! 05=02-25 H CHUANG - ADD COMPUTATION FOR ARW A GRID -!! 05-07-07 BINBIN ZHOU - ADD RSM FOR A GRID -!! 19-09-03 J MENG - MODIFIED TO COMPUTE EFFECTIVE HELICITY -!! AND CRITICAL ANGLE -!! 21-03-15 E COLON - CALHEL2 MODIFIED TO COMPUTE EFFECTIVE -!! RATHER THAN FIXED LAYER HELICITY -!! USAGE: CALHEL3(UST,VST,HELI) -!! INPUT ARGUMENT LIST: -!! LLOW - LOWER BOUND CAPE>=100 AND CINS>=-250 -!! LUPP - UPPER BOUND CAPE< 100 OR CINS< -250 -!! -!! OUTPUT ARGUMENT LIST: -!! UST - ESTIMATED U COMPONENT (M/S) OF STORM MOTION. -!! VST - ESTIMATED V COMPONENT (M/S) OF STORM MOTION. -!! HELI - STORM-RELATIVE HELICITY (M**2/S**2) -!! CRA -!! USHR1 - U COMPONENT (M/S) OF 0-1 KM SHEAR -!! VSHR1 - V COMPONENT (M/S) OF 0-1 KM SHEAR -!! USHR6 - U COMPONENT (M/S) OF 0-0.5 to 5.5-6.0 KM SHEAR -!! VSHR6 - V COMPONENT (M/S) OF 0-0.5 to 5.5-6.0 KM SHEAR -!! CRA - -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! -!! LIBRARY: -!! COMMON - VRBLS -!! LOOPS -!! PHYS -!! EXTRA -!! MASKS -!! OPTIONS -!! INDX -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : IBM SP -!! +!> @brief Subroutine that computes storm relative helicity. +! +!> This routine computes estimated storm motion and storm-relative +!> environmental helicity. (Davies-Jones, et al., 1990) the algorithm +!> processd as follows. +!> +!> The storm motion computation no longer employs the Davies and Johns (1993) +!> method which defined storm motion as 30 degress to the right of the 0-6 km +!> mean wind at 75% of the speed for mean speeds less than 15 m/s and 20 degrees +!> to the right for speeds greater than 15 m/s. Instead, we now use the dynamic +!> method (Bunkers et al. 1988) which has been found to do better in cases with +!> 'non-classic' hodographs (such as Northwest-flow events) and do as well or +!> better than the old method in more classic situations. +!> +!> @param[in] LLOW Lower bound CAPE>=100 and CINS>=-250. +!> @param[in] LUPP Upper bound CAPE< 100 or CINS< -250; allows one to distinguish 0-3 km and 0-1 km values. +!> @param[out] UST Estimated U Component (m/s) Of Storm motion. +!> @param[out] VST Estimated V Component (m/s) Of Storm motion. +!> @param[out] HELI Storm-relative heliciry (m**2/s**2). +!> +!> @note +!> @li CANGLE Critical angle. +!> @li USHR1 U Component (m/s) Of 0-1 km shear. +!> @li VSHR1 V Component (m/s) Of 0-1 km shear. +!> @li USHR6 U Component (m/s) Of 0-0.5 to 5.5-6.0 km shear. +!> @li VSHR6 V Component (m/s) Of 0-0.5 to 5.5-6.0 km shear. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1994-08-22 | Michael Baldwin | Initial +!> 1997-03-27 | Michael Baldwin | Speed up code +!> 1998-06-15 | T Black | Conversion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2000-01-10 | G Manikin | Changed to Bunkers method +!> 2002-05-22 | G Manikin | Now allow choice of computing helicity over two different (0-1 and 0-3 km) depths +!> 2003-03-25 | G Manikin | Modified code to compute mean winds using arithmetic averages instead of mass weighting; differences are minor but want to be consistent with the Bunkers method +!> 2004-04-16 | M Pyle | Minimal modifications but put into NMM WRFPOST code +!> 2005-02-25 | H Chuang | Add computation for ARW A grid +!> 2005-07-07 | Binbin Zhou | Add RSM for A grid +!> 2019-09-03 | J Meng | Modified to compute effective helicity and critical angle +!> 2021-03-15 | E Colon | CALHEL2 modified to compute effective rather than fixed layer helicity +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> 2022-05-12 | E Colon | Resolved a bug which looped over the calculation of SRH at two fixed levels, erroneously doubling the magnitude. +!> +!> @author Michael Baldwin W/NP2 @date 1994-08-22 +!----------------------------------------------------------------------- SUBROUTINE CALHEL3(LLOW,LUPP,UST,VST,HELI) ! @@ -86,8 +55,10 @@ SUBROUTINE CALHEL3(LLOW,LUPP,UST,VST,HELI) use params_mod, only: g use lookup_mod, only: ITB,JTB,ITBQ,JTBQ use ctlblk_mod, only: jsta, jend, jsta_m, jend_m, jsta_2l, jend_2u, & - lm, im, jm, me, spval + lm, im, jm, me, spval, & + ista, iend, ista_m, iend_m, ista_2l, iend_2u use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -104,15 +75,15 @@ SUBROUTINE CALHEL3(LLOW,LUPP,UST,VST,HELI) ! ! DECLARE VARIABLES ! - integer,dimension(IM,jsta_2l:jend_2u),intent(in) :: LLOW, LUPP - REAL,dimension(IM,jsta_2l:jend_2u), intent(out) :: UST,VST - REAL,dimension(IM,jsta_2l:jend_2u),intent(out) :: HELI + integer,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(in) :: LLOW, LUPP + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(out) :: UST,VST + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(out) :: HELI ! - real, dimension(im,jsta_2l:jend_2u) :: HTSFC, UST6, VST6, UST5, VST5, & + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: HTSFC, UST6, VST6, UST5, VST5, & UST1, VST1, USHR1, VSHR1, & USHR6, VSHR6, U1, V1, U2, V2, & HGT1, HGT2, UMEAN, VMEAN - real, dimension(im,jsta_2l:jend_2u) :: USHR05,VSHR05,ELT,ELB + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: USHR05,VSHR05,ELT,ELB ! REAL HTSFC(IM,JM) ! @@ -125,7 +96,7 @@ SUBROUTINE CALHEL3(LLOW,LUPP,UST,VST,HELI) ! REAL HGT1(IM,JM),HGT2(IM,JM),UMEAN(IM,JM),VMEAN(IM,JM) ! CRA - integer, dimension(im,jsta_2l:jend_2u) :: COUNT6, COUNT5, COUNT1, L1, L2 + integer, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: COUNT6, COUNT5, COUNT1, L1, L2 ! INTEGER COUNT6(IM,JM),COUNT5(IM,JM),COUNT1(IM,JM) ! CRA ! INTEGER L1(IM,JM),L2(IM,JM) @@ -144,7 +115,7 @@ SUBROUTINE CALHEL3(LLOW,LUPP,UST,VST,HELI) ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND UST(I,J) = 0.0 VST(I,J) = 0.0 HELI(I,J) = 0.0 @@ -185,8 +156,8 @@ SUBROUTINE CALHEL3(LLOW,LUPP,UST,VST,HELI) IVE(J) = MOD(J,2) IVW(J) = IVE(J)-1 enddo - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M ELSE IF(gridtype == 'B')THEN @@ -196,8 +167,8 @@ SUBROUTINE CALHEL3(LLOW,LUPP,UST,VST,HELI) IVE(J)=1 IVW(J)=0 enddo - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M ELSE @@ -207,8 +178,8 @@ SUBROUTINE CALHEL3(LLOW,LUPP,UST,VST,HELI) IVE(J) = 0 IVW(J) = 0 enddo - ISTART = 1 - ISTOP = IM + ISTART = ISTA + ISTOP = IEND JSTART = JSTA JSTOP = JEND END IF @@ -223,9 +194,9 @@ SUBROUTINE CALHEL3(LLOW,LUPP,UST,VST,HELI) ! END DO ! !!$omp parallel do private(htsfc,ie,iw) - IF(gridtype /= 'A') CALL EXCH(FIS(1:IM,JSTA_2L:JEND_2U)) + IF(gridtype /= 'A') CALL EXCH(FIS(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U)) DO L = 1,LM - IF(gridtype /= 'A') CALL EXCH(ZMID(1:IM,JSTA_2L:JEND_2U,L)) + IF(gridtype /= 'A') CALL EXCH(ZMID(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L)) DO J=JSTART,JSTOP DO I=ISTART,ISTOP IE = I+IVE(J) @@ -407,7 +378,6 @@ SUBROUTINE CALHEL3(LLOW,LUPP,UST,VST,HELI) ! COMPUTE STORM-RELATIVE HELICITY ! !!$omp parallel do private(i,j,n,l,du1,du2,dv1,dv2,dz,dz1,dz2,dzabv,ie,iw,jn,js,z1,z2,z3) - DO N=1,2 ! for dfferent helicity depth DO L = 2,LM-1 if(GRIDTYPE /= 'A')then call exch(ZINT(1,jsta_2l,L)) @@ -476,7 +446,6 @@ SUBROUTINE CALHEL3(LLOW,LUPP,UST,VST,HELI) ENDDO ENDDO ENDDO - END DO ! end of different helicity depth ! END OF ROUTINE. ! diff --git a/sorc/ncep_post.fd/CALLCL.f b/sorc/ncep_post.fd/CALLCL.f index 4b029b7580..c0cd037b20 100644 --- a/sorc/ncep_post.fd/CALLCL.f +++ b/sorc/ncep_post.fd/CALLCL.f @@ -1,50 +1,43 @@ !> @file -! -!> SUBPROGRAM: CALLCL COMPUTES LCL HEIGHTS AND PRESSURE -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-03-15 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THE LIFTING CONDENSATION LEVEL -!! PRESSURE AND HEIGHT IN EACH COLUMN AT MASS POINTS. -!! THE HEIGHT IS ABOVE GROUND LEVEL. THE EQUATION USED -!! TO FIND THE LCL PRESSURE IS FROM BOLTAN (1980,MWR) -!! AND IS THE SAME AS THAT USED IN SUBROUTINE CALCAPE. -!! -!! THIS ROUTINE IS A TEST VERSION. STILL TO BE RESOLVED -!! IS THE "BEST" PARCEL TO LIFT. -!! -!! PROGRAM HISTORY LOG: -!! 93-03-15 RUSS TREADON -!! 98-06-16 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-04-24 MIKE BALDWIN - WRF VERSION -!! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT -!! 21-07-28 W Meng - Restriction compuatation from undefined grids -!! -!! USAGE: CALL CALLCL(P1D,T1D,Q1D,PLCL,ZLCL) -!! INPUT ARGUMENT LIST: -!! P1D - ARRAY OF PARCEL PRESSURES (PA) -!! T1D - ARRAY OF PARCEL TEMPERATURES (K) -!! Q1D - ARRAY OF PARCEL SPECIFIC HUMIDITIES (KG/KG) -!! -!! OUTPUT ARGUMENT LIST: -!! PLCL - PARCEL PRESSURE AT LCL (PA) -!! ZLCL - PARCEL AGL HEIGHT AT LCL (M) -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - LOOPS -!! OPTIONS -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : CRAY C-90 -!! +!> @brief Subroutine that computes LCL heights and pressure. +!> +!> This routine computes the lifting condensation level +!> pressure and height in each column at mass points. +!> The height is above ground level. The equation used +!> to find the LCL pressure is from Boltan (1980, MWR) +!> and is the same as that used in subroutine CALCAPE. +!> +!> This is a test version. Still to be resolved +!> is the "best" parcel to lift. +!> +!> @param[in] P1D Array of parcel pressures (Pa). +!> @param[in] T1D Array of parcel temperatures (K). +!> @param[in] Q1D Array of parcel specific humidities (kg/kg). +!> @param[out] PLCL Parcel Pressure at LCL (Pa). +!> @param[out] ZLCL Parcel AGL height at LCL (m). +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1993-03-15 | Russ Treadon | Initial +!> 1998-06-16 | T Black | Convesion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-04-24 | Mike Baldwin | WRF Version +!> 2019-10-30 | Bo Cui | Remove "GOTO" Statement +!> 2021-07-28 | W Meng | Restriction compuatation from undefined grids +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> +!> @author Russ Treadon W/NP2 @date 1993-03-15 +!----------------------------------------------------------------------- +!> @brief Subroutine that computes the lifting condensation level (LCL) +!> height (above ground level) and pressure in each column at mass points. +!> +!> @param[in] P1D Array of parcel pressures (Pa). +!> @param[in] T1D Array of parcel temperatures (K). +!> @param[in] Q1D Array of parcel specific humidities (kg/kg). +!> @param[out] PLCL Parcel Pressure at LCL (Pa). +!> @param[out] ZLCL Parcel AGL height at LCL (m). +!----------------------------------------------------------------------- SUBROUTINE CALLCL(P1D,T1D,Q1D,PLCL,ZLCL) ! @@ -53,7 +46,8 @@ SUBROUTINE CALLCL(P1D,T1D,Q1D,PLCL,ZLCL) use vrbls2d, only: fis use masks, only: lmh use params_mod, only: eps, oneps, d01, h1m12, gi, d00 - use ctlblk_mod, only: jsta, jend, spval, jsta_m, jend_m, im + use ctlblk_mod, only: jsta, jend, spval, jsta_m, jend_m, im, & + ista, iend, ista_m, iend_m !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -62,9 +56,9 @@ SUBROUTINE CALLCL(P1D,T1D,Q1D,PLCL,ZLCL) ! ! DECLARE VARIABLES. ! - REAL,dimension(IM,jsta:jend), intent(in) :: P1D,T1D,Q1D - REAL,dimension(IM,jsta:jend), intent(inout) :: PLCL,ZLCL - REAL TLCL(IM,jsta:jend) + REAL,dimension(ista:iend,jsta:jend), intent(in) :: P1D,T1D,Q1D + REAL,dimension(ista:iend,jsta:jend), intent(inout) :: PLCL,ZLCL + REAL TLCL(ista:iend,jsta:jend) integer I,J,L,LLMH real DLPLCL,ZSFC,DZ,DALP,ALPLCL,RMX,EVP,ARG,RKAPA ! @@ -75,7 +69,7 @@ SUBROUTINE CALLCL(P1D,T1D,Q1D,PLCL,ZLCL) ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PLCL(I,J) = SPVAL TLCL(I,J) = SPVAL ZLCL(I,J) = SPVAL @@ -87,8 +81,7 @@ SUBROUTINE CALLCL(P1D,T1D,Q1D,PLCL,ZLCL) ! Bo Cui 10/30/2019, remove "GOTO" statement DO 30 J=JSTA_M,JEND_M - DO 30 I=2,IM-1 -! DO 30 I=1,IM + DO 30 I=ISTA_M,IEND_M IF(P1D(I,J) @file -! -!> SUBPROGRAM: CALMCVG COMPUTES MOISTURE CONVERGENCE -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-01-22 -!! -!! ABSTRACT: -!! GIVEN SPECIFIC HUMIDITY, Q, AND THE U-V WIND COMPONENTS -!! THIS ROUTINE EVALUATES THE VECTOR OPERATION, -!! DEL DOT (Q*VEC) -!! WHERE, -!! DEL IS THE VECTOR GRADIENT OPERATOR, -!! DOT IS THE STANDARD DOT PRODUCT OPERATOR, AND -!! VEC IS THE VECTOR WIND. -!! MINUS ONE TIMES THE RESULTING SCALAR FIELD IS THE -!! MOISTURE CONVERGENCE WHICH IS RETURNED BY THIS ROUTINE. -!! -!! PROGRAM HISTORY LOG: -!! 93-01-22 RUSS TREADON -!! 98-06-08 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-04-23 MIKE BALDWIN - WRF C-GRID VERSION -!! 05-07-07 BINBIN ZHOU - ADD RSM A GRID -!! 06-04-25 H CHUANG - BUG FIXES TO CORECTLY COMPUTE MC AT BOUNDARIES -!! 21-04-01 J MENG - COMPUTATION ON DEFINED POINTS ONLY -!! -!! USAGE: CALL CALMCVG(Q1D,U1D,V1D,QCNVG) -!! INPUT ARGUMENT LIST: -!! Q1D - SPECIFIC HUMIDITY AT P-POINTS (KG/KG) -!! U1D - U WIND COMPONENT (M/S) AT P-POINTS -!! V1D - V WIND COMPONENT (M/S) AT P-POINTS -!! -!! OUTPUT ARGUMENT LIST: -!! QCNVG - MOISTURE CONVERGENCE (1/S) AT P-POINTS -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - MASKS -!! DYNAM -!! OPTIONS -!! INDX -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : CRAY C-90 -!! +!> @brief Subroutine that computes moisture convergence. +!> +!>
+!> Given specific humidity, Q, and the U-V wind components
+!> This routine evaluates the vector operation, 
+!>                  DEL DOT (Q*VEC)
+!> where,
+!>    DEL is the vector gradient operator,
+!>    DOT is the standard dot product operator, and
+!>    VEC is the vector wind.
+!> Minus one times the resulting scalar field is the 
+!> moisture convergence which is returned by this routine.
+!>
+!> +!> @param[in] Q1D real Specific humidity at P-points (kg/kg). +!> @param[in] U1D real U-wind component (m/s) at P-points. +!> @param[in] V1D real V-wind component (m/s) at P-points. +!> @param[out] QCNVG real Moisture convergence (1/s) at P-points. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1993-01-22 | Russ Treadon | Initial +!> 1998-06-08 | T Black | Conversion From 1-D To 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-04-23 | Mike Baldwin | WRF C-Grid Version +!> 2005-07-07 | Binbin Zhou | Add RSM A Grid +!> 2006-04-25 | H Chuang | Bug fixes to correctly compute MC at boundaries +!> 2021-04-01 | J Meng | Computation on defined points only +!> 2021-09-02 | B CUI | REPLACE EXCH_F to EXCH +!> 2021-09-30 | J MENG | 2D DECOMPOSITION +!> +!> @author Russ Treadon W/NP2 @date 1993-01-22 +!----------------------------------------------------------------------- +!> @brief Subroutine that computes moisture convergence. +!> +!> @param[in] Q1D real Specific humidity at P-points (kg/kg). +!> @param[in] U1D real U-wind component (m/s) at P-points. +!> @param[in] V1D real V-wind component (m/s) at P-points. +!> @param[out] QCNVG real Moisture convergence (1/s) at P-points. +!----------------------------------------------------------------------- SUBROUTINE CALMCVG(Q1D,U1D,V1D,QCNVG) ! @@ -56,20 +48,22 @@ SUBROUTINE CALMCVG(Q1D,U1D,V1D,QCNVG) use masks, only: dx, dy, hbm2 use params_mod, only: d00, d25 use ctlblk_mod, only: jsta_2l, jend_2u, spval, jsta_m, jend_m, & - jsta_m2, jend_m2, im, jm + jsta_m2, jend_m2, im, jm, & + ista_2l, iend_2u, ista_m, iend_m, ista_m2, iend_m2 use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! ! DECLARE VARIABLES. ! - REAL,dimension(IM,jsta_2l:jend_2u),intent(in) :: Q1D, U1D, V1D - REAL,dimension(IM,jsta_2l:jend_2u),intent(inout) :: QCNVG + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(inout) :: Q1D, U1D, V1D + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(inout) :: QCNVG REAL R2DY, R2DX - REAL, dimension(im,jsta_2l:jend_2u) :: UWND, VWND, QV + REAL, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: UWND, VWND, QV INTEGER IHE(JM),IHW(JM),IVE(JM),IVW(JM) - integer I,J,ISTA,IEND + integer I,J,ISTA2,IEND2 real QVDY,QUDX ! !*************************************************************************** @@ -78,9 +72,14 @@ SUBROUTINE CALMCVG(Q1D,U1D,V1D,QCNVG) ! ! INITIALIZE MOISTURE CONVERGENCE ARRAY. LOAD TEMPORARY WIND ARRAYS. ! + CALL EXCH(Q1D) + CALL EXCH(U1D) + CALL EXCH(V1D) + !$omp parallel do private(i,j) DO J=JSTA_2L,JEND_2U - DO I=1,IM +! DO I=1,IM + DO I=ISTA_2L,IEND_2U IF(U1D(I,J) @file -! . . . -!> SUBPROGRAM: CALMIC COMPUTES HYDROMETEORS -!! PRGRMMR: JIN ORG: W/NP2 DATE: 01-08-14 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THE MIXING RATIOS OF CLOUD WATER, -!! CLOUD ICE, RAIN, AND SNOW. THE CODE IS BASED ON SUBROUTINES -!! GSMDRIVE & GSMCOLUMN IN THE NMM MODEL. -!! -!! PROGRAM HISTORY LOG: -!! 01-08-14 YI JIN -!! 02-02-11 Brad Ferrier - Minor changes for consistency w/ NMM model -!! 04-11-10 Brad Ferrier - Removed cloud fraction algorithm -!! 04-11-17 H CHUANG - WRF VERSION -!! 14-03-11 B Ferrier - Created new & old versions of this subroutine -!! to process new & old versions of the microphysics -!! -!! USAGE: CALL CALMICT_new(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL -!! &, QW1,QI1,QR1,QS1,DBZ1,DBZR1,DBZI1,DBZC1) -!! INPUT ARGUMENT LIST: -!! P1D - PRESSURE (PA) -!! T1D - TEMPERATURE (K) -!! Q1D - SPECIFIC HUMIDITY (KG/KG) -!! C1D - TOTAL CONDENSATE (CWM, KG/KG) -!! FI1D - F_ice (fraction of condensate in form of ice) -!! FR1D - F_rain (fraction of liquid water in form of rain) -!! FS1D - F_RimeF ("Rime Factor", ratio of total ice growth -!! to deposition growth) -!! CUREFL - Radar reflectivity contribution from convection (mm**6/m**3) -!! -!! OUTPUT ARGUMENT LIST: -!! QW1 - CLOUD WATER MIXING RATIO (KG/KG) -!! QI1 - CLOUD ICE MIXING RATIO (KG/KG) -!! QR1 - RAIN MIXING RATIO (KG/KG) -!! QS1 - "SNOW" (precipitation ice) MIXING RATIO (KG/KG) -!! DBZ1 - Equivalent radar reflectivity factor in dBZ; i.e., 10*LOG10(Z) -!! DBZR - Equivalent radar reflectivity factor from rain in dBZ -!! DBZI - Equivalent radar reflectivity factor from ice (all forms) in dBZ -!! DBZC - Equivalent radar reflectivity factor from parameterized convection in dBZ -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! FUNCTIONS: -!! FPVS -!! UTILITIES: -!! LIBRARY: -!! NONE -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : IBM SP -!! - SUBROUTINE CALMICT_new(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, & - QW1,QI1,QR1,QS1,DBZ1,DBZR1,DBZI1,DBZC1,NLICE1,NRAIN1) +!> @brief Subroutine that computes hydrometeors. +!> +!> This routine computes the mixing ratios of cloud water, +!> cloud ice, rain, and snow. The code is based on subroutines +!> GSMDRIVE and GSMCOLUMN in the NMM model. +!> +!> @param[in] P1D Pressure (Pa). +!> @param[in] T1D Temperature (K). +!> @param[in] Q1D Specific humidity (kg/kg). +!> @param[in] C1D Total condensate (CWM, kg/kg). +!> @param[in] FI1D F_ice (fraction of condensate in form of ice). +!> @param[in] FR1D F_rain (fraction of liquid water in form of rain). +!> @param[in] FS1D F_RimeF ("Rime Factor", ratio of total ice growth to deposition growth). +!> @param[in] CUREFL Radar reflectivity contribution from convection (mm**6/m**3). +!> @param[out] QW1 Cloud water mixing ratio (kg/kg). +!> @param[out] QI1 Cloud ice mixing ratio (kg/kg). +!> @param[out] QR1 Rain mixing ratio (kg/kg). +!> @param[out] QS1 "Snow" (precipitation ice) mixing ratio (kg/kg). +!> @param[out] DBZ1 Equivalent radar reflectivity factor in dBZ; i.e., 10*LOG10(Z). +!> @param[out] DBZR Equivalent radar reflectivity factor from rain in dBZ. +!> @param[out] DBZI Equivalent radar reflectivity factor from ice (all forms) in dBZ. +!> @param[out] DBZC Equivalent radar reflectivity factor from parameterized convection in dBZ. +!> @param[inout] NLICE1 Time-averaged number concentration of large ice. +!> @param[inout] NRAIN1 Number concentration of rain drops (m). +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2001-08-14 | Yi Jin | Initial +!> 2002-02-11 | Brad Ferrier | Minor changes for consistency w/ NMM model +!> 2004-11-10 | Brad Ferrier | Removed cloud fraction algorithm +!> 2004-11-17 | H Chuang | WRF VERSION +!> 2014-03-11 | Brad Ferrier | Created new & old versions of this subroutine to process new & old versions of the microphysics +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> +!> @author Yi Jin W/NP2 @date 2001-08-14 +!----------------------------------------------------------------------- +!> @brief Subroutine that computes hydrometeors. +!> +!> This routine computes the mixing ratios of cloud water, +!> cloud ice, rain, and snow. The code is based on subroutines +!> GSMDRIVE and GSMCOLUMN in the NMM model. +!> +!> @param[in] P1D Pressure (Pa). +!> @param[in] T1D Temperature (K). +!> @param[in] Q1D Specific humidity (kg/kg). +!> @param[in] C1D Total condensate (CWM, kg/kg). +!> @param[in] FI1D F_ice (fraction of condensate in form of ice). +!> @param[in] FR1D F_rain (fraction of liquid water in form of rain). +!> @param[in] FS1D F_RimeF ("Rime Factor", ratio of total ice growth to deposition growth). +!> @param[in] CUREFL Radar reflectivity contribution from convection (mm**6/m**3). +!> @param[inout] QW1 Cloud water mixing ratio (kg/kg). +!> @param[inout] QI1 Cloud ice mixing ratio (kg/kg). +!> @param[inout] QR1 Rain mixing ratio (kg/kg). +!> @param[inout] QS1 "Snow" (precipitation ice) mixing ratio (kg/kg). +!> @param[inout] DBZ1 Equivalent radar reflectivity factor in dBZ; i.e., 10*LOG10(Z). +!> @param[inout] DBZR1 Equivalent radar reflectivity factor from rain in dBZ. +!> @param[inout] DBZI1 Equivalent radar reflectivity factor from ice (all forms) in dBZ. +!> @param[inout] DBZC1 Equivalent radar reflectivity factor from parameterized convection in dBZ. +!> @param[inout] NLICE1 Time-averaged number concentration of large ice. +!> @param[inout] NRAIN1 Number concentration of rain drops (m). +!> +!----------------------------------------------------------------------- + SUBROUTINE CALMICT_new(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, & + QW1,QI1,QR1,QS1,DBZ1,DBZR1,DBZI1,DBZC1,NLICE1,NRAIN1) ! use params_mod, only: dbzmin, epsq, tfrz, eps, rd, d608 - use ctlblk_mod, only: jsta, jend, jsta_2l,jend_2u,im + use ctlblk_mod, only: jsta, jend, jsta_2l, jend_2u,im, & + ista, iend, ista_2l, iend_2u use cmassi_mod, only: t_ice, rqr_drmin, n0rmin, cn0r_dmrmin, & mdrmin, rqr_drmax, cn0r_dmrmax, mdrmax, n0r0, xmrmin, & xmrmax, massi, cn0r0, mdimin, xmimax, mdimax @@ -70,9 +80,9 @@ SUBROUTINE CALMICT_new(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, & REAL, PARAMETER :: Cice=1.634e13, Cwet=1./.189, Cboth=Cice/.224, & & NLI_min=1.E3, RFmax=45.259, RQmix=0.1E-3,NSI_max=250.E3 !aligo - real,dimension(IM,jsta_2l:jend_2u),intent(in) :: P1D,T1D,Q1D,C1D,FI1D,FR1D, & + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(in) :: P1D,T1D,Q1D,C1D,FI1D,FR1D, & FS1D,CUREFL - real,dimension(IM,jsta_2l:jend_2u),intent(inout) :: QW1,QI1,QR1,QS1,DBZ1,DBZR1,& + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(inout) :: QW1,QI1,QR1,QS1,DBZ1,DBZR1,& DBZI1,DBZC1,NLICE1,NRAIN1 integer I,J @@ -88,7 +98,7 @@ SUBROUTINE CALMICT_new(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, & ! Zmin=10.**(0.1*DBZmin) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND QW1(I,J)=0. QI1(I,J)=0. QR1(I,J)=0. @@ -102,7 +112,7 @@ SUBROUTINE CALMICT_new(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, & ENDDO ENDDO DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Ztot=0. !--- Total radar reflectivity Zrain=0. !--- Radar reflectivity from rain Zice=0. !--- Radar reflectivity from ice @@ -318,70 +328,47 @@ SUBROUTINE CALMICT_new(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, & ! !-- For the old version of the microphysics: ! - SUBROUTINE CALMICT_old(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, & - QW1,QI1,QR1,QS1,DBZ1,DBZR1,DBZI1,DBZC1,NLICE1,NRAIN1) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: CALMICT_old COMPUTES HYDROMETEORS FROM THE OLDER VERSION -! OF THE MICROPHYSICS -! -! PRGRMMR: JIN ORG: W/NP2 DATE: 01-08-14 -! -! ABSTRACT: -! THIS ROUTINE COMPUTES THE MIXING RATIOS OF CLOUD WATER, CLOUD ICE, -! RAIN, AND SNOW. THE CODE IS BASED ON OPTION MP_PHYSICS==95 IN THE -! WRF NAMELIST AND OPTION MICRO='fer' in NMMB CONFIGURE FILES. -! -! PROGRAM HISTORY LOG: -! 01-08-14 YI JIN -! 02-02-11 Brad Ferrier - Minor changes for consistency w/ NMM model -! 04-11-10 Brad Ferrier - Removed cloud fraction algorithm -! 04-11-17 H CHUANG - WRF VERSION -! 14-03-11 B Ferrier - Created new & old versions of this subroutine -! to process new & old versions of the microphysics -! -! USAGE: CALL CALMICT_old(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL -! &, QW1,QI1,QR1,QS1,DBZ1,DBZR1,DBZI1,DBZC1) -! -! INPUT ARGUMENT LIST: -! P1D - PRESSURE (PA) -! T1D - TEMPERATURE (K) -! Q1D - SPECIFIC HUMIDITY (KG/KG) -! C1D - TOTAL CONDENSATE (CWM, KG/KG) -! FI1D - F_ice (fraction of condensate in form of ice) -! FR1D - F_rain (fraction of liquid water in form of rain) -! FS1D - F_RimeF ("Rime Factor", ratio of total ice growth -! to deposition growth) -! CUREFL - Radar reflectivity contribution from convection (mm**6/m**3) -! -! OUTPUT ARGUMENT LIST: -! QW1 - CLOUD WATER MIXING RATIO (KG/KG) -! QI1 - CLOUD ICE MIXING RATIO (KG/KG) -! QR1 - RAIN MIXING RATIO (KG/KG) -! QS1 - "SNOW" (precipitation ice) MIXING RATIO (KG/KG) -! DBZ1 - Equivalent radar reflectivity factor in dBZ; i.e., 10*LOG10(Z) -! DBZR - Equivalent radar reflectivity factor from rain in dBZ -! DBZI - Equivalent radar reflectivity factor from ice (all forms) in dBZ -! DBZC - Equivalent radar reflectivity factor from parameterized convection -! in dBZ -! -! OUTPUT FILES: -! NONE -! -! SUBPROGRAMS CALLED: -! FUNCTIONS: -! FPVS -! UTILITIES: -! LIBRARY: -! NONE -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN -! MACHINE : IBM SP -!$$$ -! + SUBROUTINE CALMICT_old(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, & + QW1,QI1,QR1,QS1,DBZ1,DBZR1,DBZI1,DBZC1,NLICE1,NRAIN1) +!----------------------------------------------------------------------- +!> CALMICT_old computes hydrometeors from the older version of the microphysics. +!> +!> This routine computes the mixing ratios of cloud water, cloud ice, +!> rain, and snow. The code is based on option MP_PHYSICS==95 in the +!> WRF namelist and option MICRO='fer' in NMMB configure files. +!> +!> @param[in] P1D Pressure (Pa). +!> @param[in] T1D Temperature (K). +!> @param[in] Q1D Specific humidity (kg/kg). +!> @param[in] C1D Total condensate (CWM, kg/kg). +!> @param[in] FI1D F_ice (fraction of condensate in form of ice). +!> @param[in] FR1D F_rain (fraction of liquid water in form of rain). +!> @param[in] FS1D F_RimeF ("Rime Factor", ratio of total ice growth to deposition growth). +!> @param[in] CUREFL Radar reflectivity contribution from convection (mm**6/m**3). +!> @param[inout] QW1 Cloud water mixing ratio (kg/kg). +!> @param[inout] QI1 Cloud ice mixing ratio (kg/kg). +!> @param[inout] QR1 Rain mixing ratio (kg/kg). +!> @param[inout] QS1 "Snow" (precipitation ice) mixing ratio (kg/kg). +!> @param[inout] DBZ1 Equivalent radar reflectivity factor in dBZ; i.e., 10*LOG10(Z). +!> @param[inout] DBZR1 Equivalent radar reflectivity factor from rain in dBZ. +!> @param[inout] DBZI1 Equivalent radar reflectivity factor from ice (all forms) in dBZ. +!> @param[inout] DBZC1 Equivalent radar reflectivity factor from parameterized convection in dBZ. +!> @param[inout] NLICE1 Time-averaged number concentration of large ice. +!> @param[inout] NRAIN1 Number concentration of rain drops (m). +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2001-08-14 | Yi Jin | Initial +!> 2002-02-11 | Brad Ferrier | Minor changes for consistency w/ NMM model +!> 2004-11-10 | Brad Ferrier | Removed cloud fraction algorithm +!> 2004-11-17 | H Chuang | WRF VERSION +!> 2014-03-11 | Brad Ferrier | Created new & old versions of this subroutine to process new & old versions of the microphysics +!> +!> @author Yi Jin W/NP2 @date 2001-08-14 use params_mod, only: dbzmin, epsq, tfrz, eps, rd, d608, oneps, nlimin - use ctlblk_mod, only: jsta, jend, jsta_2l, jend_2u, im + use ctlblk_mod, only: jsta, jend, jsta_2l, jend_2u, im, & + ista, iend, ista_2l, iend_2u use rhgrd_mod, only: rhgrd use cmassi_mod, only: t_ice, rqr_drmin, n0rmin, cn0r_dmrmin, mdrmin, & rqr_drmax,cn0r_dmrmax, mdrmax, n0r0, xmrmin, xmrmax,flarge2, & @@ -392,9 +379,9 @@ SUBROUTINE CALMICT_old(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, & INTEGER INDEXS, INDEXR REAL, PARAMETER :: Cice=1.634e13 - real,dimension(IM,jsta_2l:jend_2u),intent(in) :: P1D,T1D,Q1D,C1D,FI1D,FR1D, & + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(in) :: P1D,T1D,Q1D,C1D,FI1D,FR1D, & FS1D,CUREFL - real,dimension(IM,jsta_2l:jend_2u),intent(inout) :: QW1,QI1,QR1,QS1,DBZ1,DBZR1,& + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(inout) :: QW1,QI1,QR1,QS1,DBZ1,DBZR1,& DBZI1,DBZC1,NLICE1,NRAIN1 REAL N0r,Ztot,Zrain,Zice,Zconv,Zmin @@ -409,7 +396,7 @@ SUBROUTINE CALMICT_old(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, & ! Zmin=10.**(0.1*DBZmin) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND QW1(I,J)=0. QI1(I,J)=0. QR1(I,J)=0. @@ -423,7 +410,7 @@ SUBROUTINE CALMICT_old(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, & ENDDO ENDDO DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Zrain=0. !--- Radar reflectivity from rain Zice=0. !--- Radar reflectivity from ice Zconv=CUREFL(I,J) !--- Radar reflectivity from convection diff --git a/sorc/ncep_post.fd/CALPBL.f b/sorc/ncep_post.fd/CALPBL.f index d71f9676ad..1446d1bc85 100644 --- a/sorc/ncep_post.fd/CALPBL.f +++ b/sorc/ncep_post.fd/CALPBL.f @@ -1,89 +1,103 @@ !> @file -! -!> SUBPROGRAM: CALPBL COMPUTES PBL HEIGHT BASED ON BULK RCH NUMBER -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THE BULK RICHARDSON NUMBER -!! AND PBL HEIGHT ABOVE SURFACE -!! -!! PROGRAM HISTORY LOG: -!! 06-05-04 M TSIDULKO -!! -!! USAGE: CALL CALPBL(PBLRI) -!! INPUT ARGUMENT LIST: -!! -!! OUTPUT ARGUMENT LIST: -!! PBLRI - PBL HEIGHT ABOVE GROUND -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - -!! CTLBLK -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : -!! - SUBROUTINE CALPBL(PBLRI) +!> @brief Subroutine that computes PBL height based on bulk Richardson number or virtual potential temperature +!> +!> SUBROUTINE CALPBL +!> +!> This routine computes the PBL height above the surface, based on +!> either bulk Richardson number or virtual potential temperature +!> considerations. +!> +!> --- Note (J Kenyon, 16 Jun 2025) --- +!> In some model applications, the PBL height calculated in this +!> subroutine might only be used internally (within UPP) for use +!> in other diagnostics (e.g., 10-m wind gust). In such +!> applications, the PBL height that is supplied in the GRIB2 +!> output will have been calculated within the model itself and +!> simply passed through UPP. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2006-05-04 | M Tsidulko | Initial (Richardson number method only) +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> 2025-06-16 | J Kenyon | Added option to calculate PBL height based +!> | on virtual potential temperature (THV), as +!> | implemented via "METHOD" logic. The THV-based +!> | formulation is essentially taken from the +!> | formulation of 'PBLHGUST' that exists/existed +!> | in INITPOST* subroutines. The intent is to +!> | combine various UPP diagnostics of PBL height +!> | within this subroutine. +!> +!> @author M Tsidulko @date 2006-05-04 +!----------------------------------------------------------------------- +!> @param[in] METHOD: 'RI' for Richardson number approach; 'THV' for virtual potential temperature approach +!> @param[inout] PBLHGT: PBL height above ground +!----------------------------------------------------------------------- + + SUBROUTINE CALPBL(PBLHGT,METHOD) -! use vrbls3d, only: pmid, q, t, uh, vh, zmid use vrbls2d, only: fis use masks, only: vtm - use params_mod, only: h10e5, capa, d608, h1, g, gi - use ctlblk_mod, only: lm, im, jsta, jend, spval, jsta_m, jsta_2l, jend_2u, jend_m + use params_mod, only: h10e5, capa, d608, h1, g, gi, small + use ctlblk_mod, only: lm, im, jsta, jend, spval, jsta_m, jsta_2l, jend_2u, jend_m, & + ista, iend, ista_m, ista_2l, iend_2u, iend_m use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! ! DECLARE VARIABLES. ! - real,dimension(IM,jsta_2l:jend_2u),intent(inout) :: PBLRI + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(inout) :: PBLHGT + character(*),intent(in) :: METHOD ! ('RI' or 'THV') REAL, ALLOCATABLE :: THV(:,:,:) - INTEGER IFRSTLEV(IM,jsta_2l:jend_2u),ICALPBL(IM,jsta_2l:jend_2u) & - ,LVLP(IM,jsta_2l:jend_2u) - REAL RIF(IM,jsta_2l:jend_2u) & - ,RIBP(IM,jsta_2l:jend_2u),UBOT1(IM,jsta_2l:jend_2u) & - ,VBOT1(IM,jsta_2l:jend_2u),ZBOT1(IM,jsta_2l:jend_2u) & - ,THVBOT1(IM,jsta_2l:jend_2u) + INTEGER IFRSTLEV(ista_2l:iend_2u,jsta_2l:jend_2u),ICALPBL(ista_2l:iend_2u,jsta_2l:jend_2u) & + ,LVLP(ista_2l:iend_2u,jsta_2l:jend_2u) + REAL RIF(ista_2l:iend_2u,jsta_2l:jend_2u) & + ,RIBP(ista_2l:iend_2u,jsta_2l:jend_2u),UBOT1(ista_2l:iend_2u,jsta_2l:jend_2u) & + ,VBOT1(ista_2l:iend_2u,jsta_2l:jend_2u),ZBOT1(ista_2l:iend_2u,jsta_2l:jend_2u) & + ,THVBOT1(ista_2l:iend_2u,jsta_2l:jend_2u) integer I,J,L,IE,IW real APE,BETTA,RICR,USTARR,WMIN,UHKL,ULKL,VHKL,VLKL,WNDSL,WNDSLP, & - UBOT,VBOT,VTOP,UTOP,THVTOP,ZTOP,WDL2,RIB + UBOT,VBOT,VTOP,UTOP,THVTOP,ZTOP,WDL2,RIB,THV_SFC ! !************************************************************************* -! START CALRCHB HERE. ! - ALLOCATE ( THV(IM,JSTA_2L:JEND_2U,LM) ) + ALLOCATE ( THV(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LM) ) ! INITIALIZE ARRAYS. ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM - PBLRI(I,J) = SPVAL + DO I=ISTA,IEND + PBLHGT(I,J) = SPVAL ENDDO ENDDO -! -! COMPUTE VIRTUAL POTENTIAL TEMPERATURE. + +! COMPUTE VIRTUAL POTENTIAL TEMPERATURE (THV; needed for RI- and THV-based methods) ! !$omp parallel do private(i,j,l,ape) DO L=LM,1,-1 DO J=JSTA,JEND - DO I=1,IM - if( PMID(I,J,L)=RICR.AND.ICALPBL(I,J)==0) THEN - PBLRI(I,J) = ZMID(I,J,L)+(ZMID(I,J,L-1)-ZMID(I,J,L))* & + PBLHGT(I,J) = ZMID(I,J,L)+(ZMID(I,J,L-1)-ZMID(I,J,L))* & (RICR-RIBP(I,J))/(RIB-RIBP(I,J)) ICALPBL(I,J) = 1 !-------- Extract surface height ----------------------------------- - PBLRI(I,J) = PBLRI(I,J)-FIS(I,J)*GI + PBLHGT(I,J) = PBLHGT(I,J)-FIS(I,J)*GI ENDIF @@ -218,13 +232,72 @@ SUBROUTINE CALPBL(PBLRI) endif !spval - ENDDO - ENDDO - ENDDO -! + ENDDO ! I loop + ENDDO ! J loop + ENDDO ! L loop + +! -- End of RI-based method + +! ---------------------------------------------------------------------------- +! Begin THV-based method: Calculate PBLHGT using virtual potential temperature +! ---------------------------------------------------------------------------- + +! J. Kenyon (16 Jun 2025): This THV-based formulation of PBLHGT is essentially +! reproduced from the formulation of 'PBLHGUST' that exists/existed in INITPOST* +! subroutines for RAPR and FV3R applications. The 'PBLHGUST' formulation was +! developed at GSL for use with the wind-gust diagnostic. + + ELSE IF (METHOD=='THV') THEN + + DO J=JSTA,JEND + DO I=ISTA,IEND + + IF (THV(I,J,LM) < SPVAL) THEN + + ! First define the surface THV + THV_SFC = THV(I,J,LM) + 0.5 + ! J. Kenyon (16 Jun 2025): The addition of 0.5 K is + ! arbitrary; this value was taken from the value of + ! "delta_theta4gust" in INITPOST* subroutines. It + ! represents a slight "boost" applied to the surface + ! THV. + + ! Check for a surface-based mixed layer + IF (THV(I,J,LM-1) < THV_SFC) THEN + ! Surface-based mixed layer exists; begin vertical loop + DO L=LM,2,-1 + IF (THV(I,J,L-1) > THV_SFC) EXIT + ! Found top of mixed layer (somewhere between L + ! and L-1); exit vertical loop + ENDDO + ! With the last value of L, obtain PBLHGT by interpolation, + ! except when the denominator would be small + IF (ABS(THV(I,J,L-1)-THV(I,J,L)) > SMALL) THEN + PBLHGT(I,J) = ZMID(I,J,L) + & + (ZMID(I,J,L-1)-ZMID(I,J,L)) & + *(THV_SFC-THV(I,J,L)) & + /(THV(I,J,L-1)-THV(I,J,L)) + ELSE + PBLHGT(I,J) = ZMID(I,J,L) + END IF + ! Convert to AGL + PBLHGT(I,J) = PBLHGT(I,J)-FIS(I,J)*GI + ELSE + ! Surface-based mixed layer does not exist + PBLHGT(I,J) = 0. + END IF ! Check for surface-based mixed layer + + END IF ! Check for THV(I,J,LM) @file -! . . . -!> SUBPROGRAM: CALPBL COMPUTES PBL HEIGHT BASED ON BULK RCH NUMBER -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THE BULK RICHARDSON NUMBER BASED ON ALGORITHMS -!! FROM WRF SURFACE LAYER AND THEN DERIVE PBL REGIME AS FOLLOWS: -!! 1. BR >= 0.2; -!! REPRESENTS NIGHTTIME STABLE CONDITIONS (REGIME=1), -!! -!! 2. BR < 0.2 .AND. BR > 0.0; -!! REPRESENTS DAMPED MECHANICAL TURBULENT CONDITIONS -!! (REGIME=2), -!! -!! 3. BR == 0.0 -!! REPRESENTS FORCED CONVECTION CONDITIONS (REGIME=3), -!! -!! 4. BR < 0.0 -!! REPRESENTS FREE CONVECTION CONDITIONS (REGIME=4). -!! . -!! -!! PROGRAM HISTORY LOG: -!! 07-04-27 H CHUANG -!! -!! USAGE: CALL CALPBLREGIME(PBLREGIME) -!! INPUT ARGUMENT LIST: -!! -!! OUTPUT ARGUMENT LIST: -!! PBLRI - PBL HEIGHT ABOVE GROUND -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - -!! CTLBLK -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : -!! +!> @brief Subroutine that determines the PBL regime. +!> +!> This routine computes the bulk Richardson number based on algorithms +!> from WRF surface layer and then derives PBL regime as follows: +!> 1. BR >= 0.2; +!> Represents nighttime stable conditions (Regime=1), +!> +!> 2. BR < 0.2 .AND. BR > 0.0; +!> Represents damped mechanical turbulent conditions +!> (Regime=2), +!> +!> 3. BR == 0.0 +!> Represents forced convection conditions (Regime=3), +!> +!> 4. BR < 0.0 +!> Represnets free convection conditions (Regime=4). +!> +!> @param[out] PBLREGIME PBL regime. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2007-04-27 | H Chuang | Initial +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> +!> @author H Chuang @date 2007-04-27 +!----------------------------------------------------------------------- +!> @brief Subroutine that determines the PBL regime. +!> +!> @param[inout] PBLREGIME PBL regime. +!----------------------------------------------------------------------- SUBROUTINE CALPBLREGIME(PBLREGIME) ! @@ -50,8 +38,9 @@ SUBROUTINE CALPBLREGIME(PBLREGIME) use masks, only: dx use params_mod, only: p1000, capa, d608, h1, g, rd, cp use ctlblk_mod, only: jsta, jend, spval, lm, jsta_m, jend_m, im, & - jsta_2l, jend_2u + jsta_2l, jend_2u, ista, iend, ista_m, iend_m,ista_2l,iend_2u use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -61,7 +50,7 @@ SUBROUTINE CALPBLREGIME(PBLREGIME) ! ! DECLARE VARIABLES. ! - REAL,dimension(IM,jsta_2l:jend_2u),intent(inout) :: PBLREGIME + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(inout) :: PBLREGIME ! integer I,J,IE,IW,ii,jj real APE,THV,THVX,GOVRTH,UMASS,VMASS,WSPD,TSKV,DTHV,RHOX,fluxc,tsfc, & @@ -75,7 +64,7 @@ SUBROUTINE CALPBLREGIME(PBLREGIME) ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PBLREGIME(I,J) = SPVAL ENDDO ENDDO @@ -102,7 +91,7 @@ SUBROUTINE CALPBLREGIME(PBLREGIME) END IF DO J=JSTA_M,JEND_M - DO I=2,IM-1 + DO I=ISTA_M,IEND_M ! IF(PMID(I,J,LM) @file -! -!> SUBPROGRAM: CALPOT COMPUTES POTENTIAL TEMPERATURE -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-24 -!! -!! ABSTRACT: -!! GIVEN PRESSURE AND TEMPERATURE THIS ROUTINE RETURNS -!! THE POTENTIAL TEMPERATURE. -!! -!! PROGRAM HISTORY LOG: -!! 92-12-24 RUSS TREADON -!! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-04-24 MIKE BALDWIN - WRF VERSION -!! -!! USAGE: CALL CALPOT(P1D,T1D,THETA) -!! INPUT ARGUMENT LIST: -!! P1D - PRESSURE (PA) -!! T1D - TEMPERATURE (K) -!! -!! OUTPUT ARGUMENT LIST: -!! THETA - POTENTIAL TEMPERATURE (K) -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! NONE -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : CRAY C-90 -!! +!> @brief Subroutine that computes potential temperature. +!> +!> Given pressure and temperature this routine returns +!> the potential temperature. +!> +!> @param[in] P1D pressures (Pa). +!> @param[in] T1D temperatures (K). +!> @param[out] THETA potential temperatures (K). +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-24 | Russ Treadon | Initial +!> 1998-06-15 | T Black | Convesion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-04-24 | Mike Baldwin | WRF Version +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> +!> @author Russ Treadon W/NP2 @date 1992-12-24 +!----------------------------------------------------------------------- +!> @brief Subroutine that computes potential temperature. +!> +!> @param[in] P1D pressures (Pa). +!> @param[in] T1D temperatures (K). +!> @param[out] THETA potential temperatures (K). +!----------------------------------------------------------------------- SUBROUTINE CALPOT(P1D,T1D,THETA) ! - use ctlblk_mod, only: jsta, jend, spval, im + use ctlblk_mod, only: jsta, jend, spval, im, ista, iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -46,8 +37,8 @@ SUBROUTINE CALPOT(P1D,T1D,THETA) ! ! DECLARE VARIABLES. ! - real,dimension(IM,jsta:jend),intent(in) :: P1D,T1D - real,dimension(IM,jsta:jend),intent(inout) :: THETA + real,dimension(ista:iend,jsta:jend),intent(in) :: P1D,T1D + real,dimension(ista:iend,jsta:jend),intent(inout) :: THETA integer I,J ! @@ -58,7 +49,7 @@ SUBROUTINE CALPOT(P1D,T1D,THETA) ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < SPVAL) THEN ! IF(ABS(P1D(I,J)) > 1.0) THEN IF(P1D(I,J) > 1.0) THEN diff --git a/sorc/ncep_post.fd/CALPW.f b/sorc/ncep_post.fd/CALPW.f index 2944454c01..b5fa827f74 100644 --- a/sorc/ncep_post.fd/CALPW.f +++ b/sorc/ncep_post.fd/CALPW.f @@ -1,71 +1,63 @@ !> @file -! . . . -!> SUBPROGRAM: CALPW COMPUTES -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-24 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES PRECIPITABLE WATER IN A COLUMN -!! EXTENDING FROM THE FIRST ATMOSPHERIC ETA LAYER TO THE -!! MODEL TOP. THE DEFINITION USED IS -!! TOP -!! PRECIPITABLE WATER = SUM (Q+CLDW) DP*HTM/G -!! BOT -!! WHERE, -!! BOT IS THE FIRST ETA LAYER, -!! TOP IS THE MODEL TOP, -!! Q IS THE SPECIFIC HUMIDITY (KG/KG) IN THE LAYER -!! CLDW IS THE CLOUD WATER (KG/KG) IN THE LAYER -!! DP (Pa) IS THE LAYER THICKNESS. -!! HTM IS THE HEIGHT MASK AT THAT LAYER (=0 IF BELOW GROUND) -!! G IS THE GRAVITATIONAL CONSTANT -!! -!! PROGRAM HISTORY LOG: -!! 92-12-24 RUSS TREADON -!! 96-03-04 MIKE BALDWIN - ADD CLOUD WATER AND SPEED UP CODE -!! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-06-19 MIKE BALDWIN - WRF VERSION -!! 04-12-30 H CHUANG - UPDATE TO CALCULATE TOTAL COLUMN FOR OTHER -!! HYDROMETEORS -!! 14-11-12 SARAH LU - UPDATE TO CALCULATE AEROSOL OPTICAL DEPTH -!! 15-07-02 SARAH LU - UPDATE TO CALCULATE SCATTERING AEROSOL -!! OPTICAL DEPTH (18) -!! 15-07-04 SARAH LU - CORRECT PW INTEGRATION FOR AOD (17) -!! 15-07-10 SARAH LU - UPDATE TO CALCULATE ASYMETRY PARAMETER -!! 19-07-25 Li(Kate) Zhang - MERGE SARHA LU's update for FV3-Chem -!! 20-11-10 JESSE MENG - USE UPP_PHYSICS MODULE -!! -!! USAGE: CALL CALPW(PW) -!! INPUT ARGUMENT LIST: -!! PW - ARRAY OF PRECIPITABLE WATER. -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - LOOPS -!! MASKS -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief Subroutine that computes precipitable water. +!> +!>
+!> This routine computes precipitable water in a column
+!> extending from the first atmospheric ETA layer to the
+!> model top. The definition used is
+!>                      TOP
+!> precipitable water = sum (Q+CLDW) DP*HTM/G
+!>                      BOT
+!> where,
+!> BOT is the first ETA layer,
+!> TOP is the model top,
+!> Q is the specific humidity (kg/kg) in the layer
+!> CLDW is the cloud water (kg/kg) in the layer
+!> DP (Pa) is the layer thickness.
+!> HTM is the height mask at that layer (=0 if below ground)
+!> G is the gravitational constant.
+!>
+!> +!> @param[in] PW Array of precipitable water. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-24 | Russ Treadon | Initial +!> 1996-03-04 | Mike Baldwin | Add cloud water and speed up code +!> 1998-06-15 | T Black | Convesion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-06-19 | Mike Baldwin | WRF Version +!> 2004-12-30 | H Chuang | Update to calculate total column for other hydrometeors +!> 2014-11-12 | Sarah Lu | Update tp calculate aerosol optical depth +!> 2015-07-02 | Sarah Lu | Update to calculate scattering aerosal optical depth (18) +!> 2015-07-04 | Sarah Lu | Correct PW integration for AOD (17) +!> 2015-07-10 | Sarah Lu | Update to calculate asymetry parameter +!> 2019-07-25 | Li(Kate) Zhang | Merge Sarah Lu's update for FV3-Chem +!> 2020-11-10 | Jesse Meng | Use UPP_PHYSICS Module +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> 2022-11-16 | Eric James | Adding calculation of vertically integrated dust from RRFS +!> 2023-02-23 | Eric James | Adding vertically integrated coarse PM from RRFS +!> +!> @author Russ Treadon W/NP2 @date 1992-12-24 +!----------------------------------------------------------------------- +!> CALPW() Subroutine that computes precipitable water. +!> +!> @param[in] PW Array of precipitable water. +!> @param[in] IDECID integer ID number specifying input/method in CALPW +!> (e.g. IDECID=1 computes total column precipitable water, +!> IDECID=2 computes Total column cloud water, IDECID=3 total column). +!----------------------------------------------------------------------- SUBROUTINE CALPW(PW,IDECID) ! use vrbls3d, only: q, qqw, qqi, qqr, qqs, cwm, qqg, t, rswtt, & train, tcucn, mcvg, pmid, o3, ext, pint, rlwtt, & taod5503d,sca, asy - use vrbls4d, only: smoke + use vrbls4d, only: smoke, fv3dust, coarsepm use masks, only: htm use params_mod, only: tfrz, gi - use ctlblk_mod, only: lm, jsta, jend, im, spval + use ctlblk_mod, only: lm, jsta, jend, im, spval, ista, iend use upp_physics, only: FPVSNEW !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none @@ -82,10 +74,10 @@ SUBROUTINE CALPW(PW,IDECID) ! DECLARE VARIABLES. ! integer,intent(in) :: IDECID - real,dimension(IM,jsta:jend),intent(inout) :: PW + real,dimension(ista:iend,jsta:jend),intent(inout) :: PW INTEGER LLMH,I,J,L REAL ALPM,DZ,PM,PWSUM,RHOAIR,DP,ES - REAL QDUM(IM,jsta:jend), PWS(IM,jsta:jend),QS(IM,jsta:jend) + REAL QDUM(ista:iend,jsta:jend), PWS(ista:iend,jsta:jend),QS(ista:iend,jsta:jend) ! !*************************************************************** ! START CALPW HERE. @@ -94,7 +86,7 @@ SUBROUTINE CALPW(PW,IDECID) ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PW(i,j) = 0. PWS(i,j) = 0. ENDDO @@ -108,42 +100,42 @@ SUBROUTINE CALPW(PW,IDECID) IF (IDECID <= 1) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = Q(I,J,L) ENDDO ENDDO ELSE IF (IDECID == 2) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = QQW(I,J,L) ENDDO ENDDO ELSE IF (IDECID == 3) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = QQI(I,J,L) ENDDO ENDDO ELSE IF (IDECID == 4) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = QQR(I,J,L) ENDDO ENDDO ELSE IF (IDECID == 5) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = QQS(I,J,L) ENDDO ENDDO ELSE IF (IDECID == 6) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = CWM(I,J,L) ENDDO ENDDO @@ -151,7 +143,7 @@ SUBROUTINE CALPW(PW,IDECID) ELSE IF (IDECID == 16) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = QQG(I,J,L) ENDDO ENDDO @@ -160,7 +152,7 @@ SUBROUTINE CALPW(PW,IDECID) !-- Total supercooled liquid !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (T(I,J,L) >= TFRZ) THEN Qdum(I,J) = 0. ELSE @@ -172,7 +164,7 @@ SUBROUTINE CALPW(PW,IDECID) !-- Total melting ice !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (T(I,J,L) <= TFRZ) THEN Qdum(I,J) = 0. ELSE @@ -184,7 +176,7 @@ SUBROUTINE CALPW(PW,IDECID) ! SHORT WAVE T TENDENCY !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = RSWTT(I,J,L) ENDDO ENDDO @@ -192,7 +184,7 @@ SUBROUTINE CALPW(PW,IDECID) ! LONG WAVE T TENDENCY !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = RLWTT(I,J,L) ENDDO ENDDO @@ -200,7 +192,7 @@ SUBROUTINE CALPW(PW,IDECID) ! LATENT HEATING FROM GRID SCALE RAIN/EVAP !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = TRAIN(I,J,L) ENDDO ENDDO @@ -208,7 +200,7 @@ SUBROUTINE CALPW(PW,IDECID) ! LATENT HEATING FROM CONVECTION !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = TCUCN(I,J,L) ENDDO ENDDO @@ -216,7 +208,7 @@ SUBROUTINE CALPW(PW,IDECID) ! MOISTURE CONVERGENCE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = MCVG(I,J,L) ENDDO ENDDO @@ -224,7 +216,7 @@ SUBROUTINE CALPW(PW,IDECID) ELSE IF (IDECID == 14) THEN !$omp parallel do private(i,j,es) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = Q(I,J,L) ES = min(FPVSNEW(T(I,J,L)),PMID(I,J,L)) QS(I,J) = CON_EPS*ES/(PMID(I,J,L)+CON_EPSM1*ES) @@ -234,7 +226,7 @@ SUBROUTINE CALPW(PW,IDECID) ELSE IF (IDECID == 15) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = O3(I,J,L) ENDDO END DO @@ -243,7 +235,7 @@ SUBROUTINE CALPW(PW,IDECID) ELSE IF (IDECID == 17) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = EXT(I,J,L) ENDDO END DO @@ -253,8 +245,8 @@ SUBROUTINE CALPW(PW,IDECID) ELSE IF (IDECID == 18) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM - Qdum(I,J) = SMOKE(I,J,L,1)/1000000000. + DO I=ISTA,IEND + Qdum(I,J) = SMOKE(I,J,L,1)/(1E9) ENDDO END DO ! @@ -263,7 +255,7 @@ SUBROUTINE CALPW(PW,IDECID) ELSE IF (IDECID == 19) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = TAOD5503D(I,J,L) ENDDO END DO @@ -272,7 +264,7 @@ SUBROUTINE CALPW(PW,IDECID) ELSE IF (IDECID == 20) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = SCA(I,J,L) ENDDO END DO @@ -281,23 +273,41 @@ SUBROUTINE CALPW(PW,IDECID) ELSE IF (IDECID == 21) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Qdum(I,J) = ASY(I,J,L) ENDDO END DO + +! E. James - 14 Sep 2022 +! DUST (from RRFS) + ELSE IF (IDECID == 22) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + Qdum(I,J) = FV3DUST(I,J,L,1)/(1E9) + ENDDO + END DO + +! E. James - 23 Feb 2023 +! COARSEPM (from RRFS) + ELSE IF (IDECID == 23) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + Qdum(I,J) = COARSEPM(I,J,L,1)/(1E9) + ENDDO + END DO ENDIF ! !$omp parallel do private(i,j,dp) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(PINT(I,J,L+1) @file -! -!> THIS ROUTINE COMPUTES MODEL DERIVED BRIGHTNESS TEMPERATURE -!! USING CRTM. IT IS PATTERNED AFTER GSI SETUPRAD WITH TREADON'S HELP -!! -!! PROGRAM HISTORY LOG: -!! - 11-02-06 Jun WANG - addgrib2 option -!! - 14-12-09 WM LEWIS ADDED: -!! FUNCTION EFFR TO COMPUTE EFFECTIVE PARTICLE RADII -!! CHANNEL SELECTION USING LVLS FROM WRF_CNTRL.PARM -!! - 19-04-01 Sharon NEBUDA - Added output option for GOES-16 & GOES-17 ABI IR Channels 7-16 -!! - 20-04-09 Tracy Hertneky - Added Himawari-8 AHI CH7-CH16 -!! - 21-01-10 Web Meng - Added checking points for skiping grids with filling value spval -!! - 21-03-11 Bo Cui - improve local arrays memory -!! - 21-08-31 Lin Zhu - added ssmis-f17 channels 15-18 grib2 output -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! -!! LIBRARY: -!! /nwprod/lib/sorc/crtm2 -!! -!! @author CHUANG @date 07-01-17 -!! +!> @brief Subroutine that computes model derived brightness temperature. +!> +!> This routine computes model derived brightness temperature +!> using CRTM. It is patterned after GSI setuprad with Treadon's help. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2007-01-17 | H Chuang | Initial +!> 2011-02-06 | Jun Wang | add grib2 option +!> 2014-12-09 | WM Lewis | added function EFFR to compute effective particle radii channel selection using LVLS from WRF_CNTRL.PARM +!> 2019-04-01 | Sharon Nebuda | Added output option for GOES-16 & GOES-17 ABI IR Channels 7-16 +!> 2020-04-09 | Tracy Hertneky | Added Himawari-8 AHI CH7-CH16 +!> 2021-01-10 | Wen Meng | Added checking points for skiping grids with filling value spval +!> 2021-03-11 | Bo Cui | improve local arrays memory +!> 2021-08-31 | Lin Zhu | added ssmis-f17 channels 15-18 grib2 output +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> 2022-05-26 | WM Lewis | added support for GOES-18 ABI IR Channels 7-16 +!> 2022-09-12 | Wen Meng | Added cloud fraction changes for crtm/2.4.0 +!> 2023-03-22 | WM Lewis | Added support for using effective radius arrays from RRFS +!> 2023-10-25 | Eric James | Bug fix for invalid land category in CRTM +!> 2025-03-10 | Hua Leighton | Added channel 12 and 13 in ssmis-f17 +!> 2025-09-05 | Gillian Petro | Remove legacy satellite products: amsre (483-86), tim (488-91), and ssmi(s) TB (492-499) +!> +!> @author Chuang @date 2007-01-17 +!--------------------------------------------------------------------------- +!> @brief CALRAD_WCLOUD Subroutine that computes model derived brightness temperature. +!--------------------------------------------------------------------------- SUBROUTINE CALRAD_WCLOUD use vrbls3d, only: o3, pint, pmid, t, q, qqw, qqi, qqr, f_rimef, nlice, nrain, qqs, qqg, & - qqnr, qqni, qqnw + qqnr, qqni, qqnw, cfr, effri, effrl, effrs use vrbls2d, only: czen, ivgtyp, sno, pctsno, ths, vegfrc, si, u10h, v10h, u10,& v10, smstot, hbot, htop, cnvcfr use masks, only: gdlat, gdlon, sm, lmh, sice @@ -58,7 +60,7 @@ SUBROUTINE CALRAD_WCLOUD use params_mod, only: pi, rtd, p1000, capa, h1000, h1, g, rd, d608, qconv, small use rqstfld_mod, only: iget, id, lvls, iavblfld use ctlblk_mod, only: modelname, ivegsrc, novegtype, imp_physics, lm, spval, icu_physics,& - grib, cfld, fld_info, datapd, idat, im, jsta, jend, jm, me + grib, cfld, fld_info, datapd, idat, im, jsta, jend, jm, me, ista, iend ! implicit none @@ -115,14 +117,12 @@ SUBROUTINE CALRAD_WCLOUD ! integer,parameter:: n_clouds = 4 integer,parameter:: n_aerosols = 0 ! Add your sensors here - integer(i_kind),parameter:: n_sensors=22 + integer(i_kind),parameter:: n_sensors=21 character(len=20),parameter,dimension(1:n_sensors):: sensorlist= & (/'imgr_g15 ', & 'imgr_g13 ', & 'imgr_g12 ', & 'imgr_g11 ', & - 'amsre_aqua ', & - 'tmi_trmm ', & 'ssmi_f13 ', & 'ssmi_f14 ', & 'ssmi_f15 ', & @@ -138,14 +138,13 @@ SUBROUTINE CALRAD_WCLOUD 'abi_gr ', & 'abi_g16 ', & 'abi_g17 ', & + 'abi_g18 ', & 'ahi_himawari8 '/) character(len=13),parameter,dimension(1:n_sensors):: obslist= & (/'goes_img ', & 'goes_img ', & 'goes_img ', & 'goes_img ', & - 'amsre ', & - 'tmi ', & 'ssmi ', & 'ssmi ', & 'ssmi ', & @@ -161,6 +160,7 @@ SUBROUTINE CALRAD_WCLOUD 'abi ', & 'abi ', & 'abi ', & + 'abi ', & 'ahi_himawari8'/) character(len=20),dimension(1:n_sensors):: sensorlist_local ! @@ -183,7 +183,7 @@ SUBROUTINE CALRAD_WCLOUD real(r_kind) snodepth,vegcover real snoeqv real snofrac - real(r_kind),dimension(im,jsta:jend):: tb1,tb2,tb3,tb4 + real(r_kind),dimension(ista:iend,jsta:jend):: tb1,tb2,tb3,tb4 real(r_kind),allocatable :: tb(:,:,:) real,dimension(im,jm):: grid1 real sun_zenith,sun_azimuth, dpovg, sun_zenith_rad @@ -203,8 +203,8 @@ SUBROUTINE CALRAD_WCLOUD logical ssmis_las,ssmis_uas,ssmis_env,ssmis_img logical sea,mixed,land,ice,snow,toss logical micrim,microwave - logical post_abig16, post_abig17, post_abigr ! if true, user requested at least one abi channel - logical fix_abig16, fix_abig17 ! if true, abi_g16, abi_g17 fix files are available + logical post_abig16, post_abig17, post_abig18, post_abigr ! if true, user requested at least one abi channel + logical fix_abig16, fix_abig17, fix_abig18 ! if true, abi_g16, abi_g17 fix files are available logical post_ahi8 ! if true, user requested at least on ahi channel (himawari8) logical post_ssmis17 ! if true, user requested at least on ssmis_f17 channel ! logical,dimension(nobs):: luse @@ -226,6 +226,7 @@ SUBROUTINE CALRAD_WCLOUD ! linked CRTM version is updated with fix files abi_g16 & abi_g17 fix_abig16 = .False. fix_abig17 = .False. + fix_abig18 = .False. do n=1, n_sensors sensorlist_local(n) = sensorlist(n) if (sensorlist(n) == 'abi_g16') then ! check if fix file is available @@ -236,6 +237,10 @@ SUBROUTINE CALRAD_WCLOUD inquire(file='abi_g17.SpcCoeff.bin',exist=fix_abig17) if (.not.fix_abig17) sensorlist_local(n) = 'abi_gr ' endif + if (sensorlist(n) == 'abi_g18') then + inquire(file='abi_g18.SpcCoeff.bin',exist=fix_abig18) + if (.not.fix_abig18) sensorlist_local(n) = 'abi_gr ' + endif enddo @@ -246,8 +251,8 @@ SUBROUTINE CALRAD_WCLOUD model_to_crtm=(/PINE_FOREST, BROADLEAF_FOREST, PINE_FOREST, & BROADLEAF_FOREST,BROADLEAF_PINE_FOREST, SCRUB, SCRUB_SOIL, & BROADLEAF_BRUSH,BROADLEAF_BRUSH, SCRUB, BROADLEAF_BRUSH, & - TILLED_SOIL, URBAN_CONCRETE,TILLED_SOIL, INVALID_LAND, & - COMPACTED_SOIL, INVALID_LAND, TUNDRA,TUNDRA, TUNDRA/) + TILLED_SOIL, URBAN_CONCRETE,TILLED_SOIL, URBAN_CONCRETE, & + COMPACTED_SOIL, BROADLEAF_BRUSH, TUNDRA,TUNDRA, TUNDRA/) else if(ivegsrc==0)then ! USGS veg type allocate(model_to_crtm(novegtype) ) model_to_crtm=(/URBAN_CONCRETE, & @@ -280,6 +285,10 @@ SUBROUTINE CALRAD_WCLOUD do n = 937, 937+9 ! 937 set in RQSTFLD.f if (iget(n) > 0) post_abig17=.true. enddo + post_abig18=.false. + do n = 531, 531+9 ! 531 set in RQSTFLD.f + if (iget(n) > 0) post_abig18=.true. + enddo post_abigr=.false. do n = 958, 958+9 ! 958 set in RQSTFLD.f if (iget(n) > 0) post_abigr=.true. @@ -300,12 +309,7 @@ SUBROUTINE CALRAD_WCLOUD .or. iget(448) > 0 .or. iget(449) > 0 .or. iget(456) > 0 & .or. iget(457) > 0 .or. iget(458) > 0 .or. iget(459) > 0 & .or. iget(460) > 0 .or. iget(461) > 0 .or. iget(462) > 0 & - .or. iget(463) > 0 .or. iget(483) > 0 .or. iget(484) > 0 & - .or. iget(485) > 0 .or. iget(486) > 0 .or. iget(488) > 0 & - .or. iget(489) > 0 .or. iget(490) > 0 .or. iget(491) > 0 & - .or. iget(492) > 0 .or. iget(493) > 0 .or. iget(494) > 0 & - .or. iget(495) > 0 .or. iget(496) > 0 .or. iget(497) > 0 & - .or. iget(498) > 0 .or. iget(499) > 0 .or. iget(800) > 0 & + .or. iget(463) > 0 .or. iget(800) > 0 & .or. iget(801) > 0 .or. iget(802) > 0 .or. iget(803) > 0 & .or. iget(804) > 0 .or. iget(805) > 0 .or. iget(806) > 0 & .or. iget(807) > 0 .or. iget(809) > 0 & @@ -333,7 +337,8 @@ SUBROUTINE CALRAD_WCLOUD .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 .or. post_ssmis17 & - .or. post_abig16 .or. post_abig17 .or. post_abigr ) then + .or. post_abig16 .or. post_abig17 .or. post_abig18 & + .or. post_abigr ) then ! specify numbers of cloud species ! Thompson==8, Ferrier==5,95, WSM6==6, Lin==2 @@ -360,7 +365,7 @@ SUBROUTINE CALRAD_WCLOUD ! if (MODELNAME == 'GFS')then jdn=iw3jdn(idat(3),idat(1),idat(2)) do j=jsta,jend - do i=1,im + do i=ista,iend call zensun(jdn,float(idat(4)),gdlat(i,j),gdlon(i,j) & ,pi,sun_zenith,sun_azimuth) sun_zenith_rad=sun_zenith/rtd @@ -424,6 +429,20 @@ SUBROUTINE CALRAD_WCLOUD enddo endif endif + ! GOES-18 + if(post_abig18)then + nchanl=0 + do n = 531, 531+9 ! 531 set in RQSTFLD.f + if (iget(n) > 0) then + nchanl = nchanl+1 + endif + enddo + if (nchanl > 0 .and. nchanl <10) then + do n = 531, 531+9 ! 531 set in RQSTFLD.f + if (iget(n) == 0) channelinfo(21)%Process_Channel(n-531+1)=.False. + enddo + endif + endif ! GOES-R for NADIR output if(post_abigr)then nchanl=0 @@ -511,11 +530,6 @@ SUBROUTINE CALRAD_WCLOUD if(iget(865)>0)then call select_channels_L(channelinfo(18),4,(/ 1,2,3,4 /),lvls(1:4,iget(865)),iget(865)) endif - ! Himiwari-8 AHI infrared - if(iget(969)>0)then - call select_channels_L(channelinfo(19),10,(/1,2,3,4,5,6,7,8,9,10/),lvls(1:10,iget(969)),iget(969)) - endif - ! Loop over data types to process sensordo: do isat=1,n_sensors @@ -532,10 +546,6 @@ SUBROUTINE CALRAD_WCLOUD (isis=='imgr_g11' .and. (iget(446) > 0 .or. iget(447) > 0 & .or. iget(448) > 0 .or. iget(449) > 0 .or. iget(460) > 0 & .or. iget(461) > 0 .or. iget(462) > 0 .or. iget(463) > 0)) .OR. & - (isis=='amsre_aqua' .and. (iget(483) > 0 .or. iget(484) > 0 & - .or. iget(485) > 0 .or. iget(486) > 0)) .OR. & - (isis=='tmi_trmm' .and. (iget(488) > 0 .or. iget(489) > 0 & - .or. iget(490) > 0 .or. iget(491) > 0)) .OR. & (isis=='ssmi_f13' .and. iget(800) > 0 ) .OR. & (isis=='ssmi_f14' .and. iget(806) > 0 ) .OR. & (isis=='ssmi_f15' .and. iget(812) > 0 ) .OR. & @@ -551,6 +561,7 @@ SUBROUTINE CALRAD_WCLOUD (isis=='imgr_g15' .and. iget(872)>0) .OR. & (isis=='abi_g16' .and. post_abig16) .OR. & (isis=='abi_g17' .and. post_abig17) .OR. & + (isis=='abi_g18' .and. post_abig18) .OR. & (isis=='abi_gr' .and. post_abigr) .OR. & (isis=='seviri_m10' .and. iget(876)>0) .OR. & (isis=='ahi_himawari8' .and. post_ahi8) )then @@ -605,6 +616,9 @@ SUBROUTINE CALRAD_WCLOUD if (isis=='abi_g17' .and. .not.fix_abig17) then isis_local='abi_gr ' endif + if (isis=='abi_g18' .and. .not.fix_abig18) then + isis_local='abi_gr ' + endif if (channelinfo(j)%sensor_id == isis_local ) then sensorindex = j exit sensor_search @@ -625,11 +639,14 @@ SUBROUTINE CALRAD_WCLOUD if(isis=='abi_g16')channelinfo(sensorindex)%WMO_Sensor_Id=617 if(isis=='abi_g17')channelinfo(sensorindex)%WMO_Satellite_Id=271 if(isis=='abi_g17')channelinfo(sensorindex)%WMO_Sensor_Id=617 +! assuming sat id for g18 is 272 (continuity w/ g16 and g17) + if(isis=='abi_g18')channelinfo(sensorindex)%WMO_Satellite_Id=272 + if(isis=='abi_g18')channelinfo(sensorindex)%WMO_Sensor_Id=617 if(isis=='abi_gr')channelinfo(sensorindex)%WMO_Satellite_Id=270 if(isis=='abi_gr')channelinfo(sensorindex)%WMO_Sensor_Id=617 allocate(rtsolution (channelinfo(sensorindex)%n_channels,1)) - allocate(tb(im,jsta:jend,channelinfo(sensorindex)%n_channels)) + allocate(tb(ista:iend,jsta:jend,channelinfo(sensorindex)%n_channels)) err1=0; err2=0; err3=0; err4=0 if(lm > max_n_layers)then write(6,*) 'CALRAD: lm > max_n_layers - '// & @@ -705,14 +722,10 @@ SUBROUTINE CALRAD_WCLOUD iget(328)>0 .or. iget(329)>0 .or. iget(330)>0)) .or. & (isis=='imgr_g11' .and. (iget(446)>0 .or. & iget(447)>0 .or. iget(448)>0 .or. iget(449)>0)) .or. & - (isis=='amsre_aqua' .and. (iget(483) > 0 .or. iget(484) > 0 & - .or. iget(485) > 0 .or. iget(486) > 0)) .OR. & - (isis=='tmi_trmm' .and. (iget(488) > 0 .or. iget(489) > 0 & - .or. iget(490) > 0 .or. iget(491) > 0)) .OR. & - (isis=='abi_gr' .and. post_abigr) )then + (isis=='abi_gr' .and. post_abigr) )then do j=jsta,jend - loopi1:do i=1,im + loopi1:do i=ista,iend ! Skiping the grids with filling value spval do k=1,lm @@ -939,6 +952,7 @@ SUBROUTINE CALRAD_WCLOUD ! CRTM counts from top down just as post does if(i==ii.and.j==jj.and.debugprint)print*,'TOA= ',atmosphere(1)%level_pressure(0) do k = 1,lm + atmosphere(1)%cloud_fraction(k) = min(max(cfr(i,j,k),0.),1.) atmosphere(1)%level_pressure(k) = pint(i,j,k+1)/r100 atmosphere(1)%pressure(k) = pmid(i,j,k)/r100 atmosphere(1)%temperature(k) = t(i,j,k) @@ -965,10 +979,10 @@ SUBROUTINE CALRAD_WCLOUD ! & atmosphere(1)%absorber(k,1)>1.) & ! & print*,'bad atmosphere o3' end if - if(i==ii.and.j==jj.and.debugprint)print*,'sample atmosphere in CALRAD=', & - i,j,k,atmosphere(1)%level_pressure(k),atmosphere(1)%pressure(k), & - atmosphere(1)%temperature(k),atmosphere(1)%absorber(k,1), & - atmosphere(1)%absorber(k,2) +! if(i==ii.and.j==jj.and.debugprint)print*,'sample atmosphere in CALRAD=', & +! i,j,k,atmosphere(1)%level_pressure(k),atmosphere(1)%pressure(k), & +! atmosphere(1)%temperature(k),atmosphere(1)%absorber(k,1), & +! atmosphere(1)%absorber(k,2) ! Specify clouds dpovg=(pint(i,j,k+1)-pint(i,j,k))/g !crtm uses column integrated field if(imp_physics==99 .or. imp_physics==98)then @@ -1144,57 +1158,20 @@ SUBROUTINE CALRAD_WCLOUD ! if (error_status /= success) & ! & print*,'ERROR*** crtm_destroy error_status=',error_status - if (isis=='amsre_aqua')then ! writing amsre to grib (37 & 89 GHz) - do ixchan=1,4 - ichan=8+ixchan - igot=iget(482+ixchan) - if(igot>0) then - do j=jsta,jend - do i=1,im - grid1(i,j)=tb(i,j,ichan) - enddo - enddo - if (grib=="grib2") then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) - endif - endif - enddo - end if ! end of outputting amsre - if (isis=='tmi_trmm')then ! writing trmm to grib (37 & 85.5 GHz) - do ixchan=1,4 - ichan=5+ixchan - igot=iget(487+ixchan) - if(igot>0) then - do j=jsta,jend - do i=1,im - grid1(i,j) = tb(i,j,ichan) - enddo - enddo - if (grib=="grib2") then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) - endif - endif - enddo - end if ! end of outputting trmm - if (isis=='imgr_g11')then ! writing goes 11 to grib do ixchan=1,4 ichan=ixchan igot=445+ixchan if(igot>0) then do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j) = tb(i,j,ichan) enddo enddo if (grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif ! IGOT enddo @@ -1206,14 +1183,14 @@ SUBROUTINE CALRAD_WCLOUD igot=iget(326+ixchan) if(igot>0) then do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,ichan) enddo enddo if (grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif enddo @@ -1225,14 +1202,14 @@ SUBROUTINE CALRAD_WCLOUD igot=iget(957+ixchan) if(igot>0)then do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,ichan) enddo enddo if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif enddo ! channel loop @@ -1258,6 +1235,7 @@ SUBROUTINE CALRAD_WCLOUD (isis=='imgr_g15' .and. iget(872)>0) .OR. & (isis=='abi_g16' .and. post_abig16) .OR. & (isis=='abi_g17' .and. post_abig17) .OR. & + (isis=='abi_g18' .and. post_abig18) .OR. & (isis=='seviri_m10' .and. iget(876)>0) .OR. & (isis=='ahi_himawari8' .and. post_ahi8) .OR. & (isis=='imgr_g12' .and. (iget(456)>0 .or. & @@ -1266,7 +1244,7 @@ SUBROUTINE CALRAD_WCLOUD iget(461)>0 .or. iget(462)>0 .or. iget(463)>0)))then do j=jsta,jend - loopi2:do i=1,im + loopi2:do i=ista,iend ! Skiping the grids with filling value spval do k=1,lm @@ -1300,6 +1278,9 @@ SUBROUTINE CALRAD_WCLOUD else if(isis=='abi_g17')then sublat=0.0 sublon=-137.2 + else if(isis=='abi_g18')then + sublat=0.0 + sublon=-137.2 else if(isis=='imgr_g11')then sublat=0.0 sublon=-135.0 @@ -1331,7 +1312,7 @@ SUBROUTINE CALRAD_WCLOUD geometryinfo(1)%sensor_zenith_angle=sat_zenith geometryinfo(1)%sensor_scan_angle=sat_zenith - if(i==ii .and. j==jj) then + if(i==ii .and. j==jj.and.debugprint) then print *,'zenith info: zenith=',sat_zenith,' scan=',sat_zenith, & ' MAX_SENSOR_SCAN_ANGLE=',MAX_SENSOR_SCAN_ANGLE endif @@ -1341,7 +1322,7 @@ SUBROUTINE CALRAD_WCLOUD .and. geometryinfo(1)%sensor_zenith_angle >= 0.0_r_kind)THEN geometryinfo(1)%source_zenith_angle = acos(czen(i,j))*rtd ! solar zenith angle geometryinfo(1)%sensor_scan_angle = 0. ! scan angle, assuming nadir - if(i==ii.and.j==jj)print*,'sample geometry ', & + if(i==ii.and.j==jj.and.debugprint)print*,'sample geometry ', & geometryinfo(1)%sensor_zenith_angle & ,geometryinfo(1)%source_zenith_angle & ,czen(i,j)*rtd @@ -1508,7 +1489,7 @@ SUBROUTINE CALRAD_WCLOUD print*,'bad snow_depth' end if - if(i==ii.and.j==jj)print*,'sample surface in CALRAD=', & + if(i==ii.and.j==jj.and.debugprint)print*,'sample surface in CALRAD=', & i,j,surface(1)%wind_speed,surface(1)%water_coverage, & surface(1)%land_coverage,surface(1)%ice_coverage, & surface(1)%snow_coverage,surface(1)%land_temperature, & @@ -1521,8 +1502,9 @@ SUBROUTINE CALRAD_WCLOUD ! Load atmosphere profiles into RTM model layers ! CRTM counts from top down just as post does - if(i==ii.and.j==jj)print*,'TOA= ',atmosphere(1)%level_pressure(0) + if(i==ii.and.j==jj.and.debugprint)print*,'TOA= ',atmosphere(1)%level_pressure(0) do k = 1,lm + atmosphere(1)%cloud_fraction(k) = min(max(cfr(i,j,k),0.),1.) atmosphere(1)%level_pressure(k) = pint(i,j,k+1)/r100 atmosphere(1)%pressure(k) = pmid(i,j,k)/r100 atmosphere(1)%temperature(k) = t(i,j,k) @@ -1549,10 +1531,10 @@ SUBROUTINE CALRAD_WCLOUD ! & atmosphere(1)%absorber(k,1)>1.) & ! & print*,'bad atmosphere o3' end if - if(i==ii.and.j==jj)print*,'sample atmosphere in CALRAD=', & - i,j,k,atmosphere(1)%level_pressure(k),atmosphere(1)%pressure(k), & - atmosphere(1)%temperature(k),atmosphere(1)%absorber(k,1), & - atmosphere(1)%absorber(k,2) +! if(i==ii.and.j==jj)print*,'sample atmosphere in CALRAD=', & +! i,j,k,atmosphere(1)%level_pressure(k),atmosphere(1)%pressure(k), & +! atmosphere(1)%temperature(k),atmosphere(1)%absorber(k,1), & +! atmosphere(1)%absorber(k,2) ! Specify clouds dpovg=(pint(i,j,k+1)-pint(i,j,k))/g !crtm uses column integrated field if(imp_physics==99 .or. imp_physics==98)then @@ -1627,18 +1609,31 @@ SUBROUTINE CALRAD_WCLOUD atmosphere(1)%cloud(3)%water_content(k)=max(0.,qqr(i,j,k)*dpovg) atmosphere(1)%cloud(4)%water_content(k)=max(0.,qqs(i,j,k)*dpovg) atmosphere(1)%cloud(5)%water_content(k)=max(0.,qqg(i,j,k)*dpovg) - atmosphere(1)%cloud(1)%effective_radius(k)=effr(pmid(i,j,k),t(i,j,k), & - q(i,j,k),qqw(i,j,k),qqi(i,j,k),qqr(i,j,k),f_rimef(i,j,k),nlice(i,j,k), & - nrain(i,j,k),qqs(i,j,k),qqg(i,j,k),qqnr(i,j,k),qqni(i,j,k),qqnw(i,j,k),imp_physics,'C') - atmosphere(1)%cloud(2)%effective_radius(k)=effr(pmid(i,j,k),t(i,j,k), & - q(i,j,k),qqw(i,j,k),qqi(i,j,k),qqr(i,j,k),f_rimef(i,j,k),nlice(i,j,k), & - nrain(i,j,k),qqs(i,j,k),qqg(i,j,k),qqnr(i,j,k),qqni(i,j,k),qqnw(i,j,k),imp_physics,'I') +! use the effective radii output directly by the model where possible + if(effrl(i,j,k)/=spval)then + atmosphere(1)%cloud(1)%effective_radius(k)=min(max(effrl(i,j,k),2.5),50.) + else + atmosphere(1)%cloud(1)%effective_radius(k)=effr(pmid(i,j,k),t(i,j,k), & + q(i,j,k),qqw(i,j,k),qqi(i,j,k),qqr(i,j,k),f_rimef(i,j,k),nlice(i,j,k), & + nrain(i,j,k),qqs(i,j,k),qqg(i,j,k),qqnr(i,j,k),qqni(i,j,k),qqnw(i,j,k),imp_physics,'C') + endif + if(effri(i,j,k)/=spval)then + atmosphere(1)%cloud(2)%effective_radius(k)=min(max(effri(i,j,k),2.5),125.) + else + atmosphere(1)%cloud(2)%effective_radius(k)=effr(pmid(i,j,k),t(i,j,k), & + q(i,j,k),qqw(i,j,k),qqi(i,j,k),qqr(i,j,k),f_rimef(i,j,k),nlice(i,j,k), & + nrain(i,j,k),qqs(i,j,k),qqg(i,j,k),qqnr(i,j,k),qqni(i,j,k),qqnw(i,j,k),imp_physics,'I') + endif + if(effrs(i,j,k)/=spval)then + atmosphere(1)%cloud(4)%effective_radius(k)=min(max(effrs(i,j,k),2.5),1000.) + else + atmosphere(1)%cloud(4)%effective_radius(k)=effr(pmid(i,j,k),t(i,j,k), & + q(i,j,k),qqw(i,j,k),qqi(i,j,k),qqr(i,j,k),f_rimef(i,j,k),nlice(i,j,k), & + nrain(i,j,k),qqs(i,j,k),qqg(i,j,k),qqnr(i,j,k),qqni(i,j,k),qqnw(i,j,k),imp_physics,'S') + endif atmosphere(1)%cloud(3)%effective_radius(k)=effr(pmid(i,j,k),t(i,j,k), & q(i,j,k),qqw(i,j,k),qqi(i,j,k),qqr(i,j,k),f_rimef(i,j,k),nlice(i,j,k), & nrain(i,j,k),qqs(i,j,k),qqg(i,j,k),qqnr(i,j,k),qqni(i,j,k),qqnw(i,j,k),imp_physics,'R') - atmosphere(1)%cloud(4)%effective_radius(k)=effr(pmid(i,j,k),t(i,j,k), & - q(i,j,k),qqw(i,j,k),qqi(i,j,k),qqr(i,j,k),f_rimef(i,j,k),nlice(i,j,k), & - nrain(i,j,k),qqs(i,j,k),qqg(i,j,k),qqnr(i,j,k),qqni(i,j,k),qqnw(i,j,k),imp_physics,'S') atmosphere(1)%cloud(5)%effective_radius(k)=effr(pmid(i,j,k),t(i,j,k), & q(i,j,k),qqw(i,j,k),qqi(i,j,k),qqr(i,j,k),f_rimef(i,j,k),nlice(i,j,k), & nrain(i,j,k),qqs(i,j,k),qqg(i,j,k),qqnr(i,j,k),qqni(i,j,k),qqnw(i,j,k),imp_physics,'G') @@ -1689,10 +1684,10 @@ SUBROUTINE CALRAD_WCLOUD do n=1,channelinfo(sensorindex)%n_channels tb(i,j,n)=rtsolution(n,1)%brightness_temperature end do - if(i==ii.and.j==jj) then + if(i==ii.and.j==jj.and.debugprint) then do n=1,channelinfo(sensorindex)%n_channels 3303 format('Sample rtsolution(',I0,',',I0,') in CALRAD = ',F0.3) - print 3303,n,1,rtsolution(n,1)%brightness_temperature +! print 3303,n,1,rtsolution(n,1)%brightness_temperature enddo do n=1,channelinfo(sensorindex)%n_channels 3304 format('Sample tb(',I0,',',I0,',',I0,') in CALRAD = ',F0.3) @@ -1726,14 +1721,14 @@ SUBROUTINE CALRAD_WCLOUD if(lvls(ixchan,igot)==1)then nc=nc+1 do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,nc) enddo enddo if (grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif endif @@ -1748,14 +1743,14 @@ SUBROUTINE CALRAD_WCLOUD if(lvls(ixchan,igot)==1)then nc=nc+1 do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,nc) enddo enddo if (grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif endif @@ -1770,14 +1765,14 @@ SUBROUTINE CALRAD_WCLOUD if(lvls(ixchan,igot)==1)then nc=nc+1 do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,nc) enddo enddo if (grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif endif @@ -1793,14 +1788,14 @@ SUBROUTINE CALRAD_WCLOUD if(lvls(ixchan,igot)==1)then nc=nc+1 do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,nc) enddo enddo if (grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif endif @@ -1812,17 +1807,34 @@ SUBROUTINE CALRAD_WCLOUD igot=iget(824+ixchan) if(igot>0)then do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,ichan) enddo enddo if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif enddo + do ixchan=1,2 + ichan=11+ixchan + igot=iget(828+ixchan) + if(igot>0)then + do j=jsta,jend + do i=ista,iend + grid1(i,j)=tb(i,j,ichan) + enddo + enddo + if(grib=="grib2" )then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(igot) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) + endif + endif + enddo + endif ! end of outputting ssmis f17 if (isis=='ssmis_f18')then ! writing ssmis to grib (183,19,37 &85GHz) nc=0 @@ -1833,14 +1845,14 @@ SUBROUTINE CALRAD_WCLOUD if(lvls(ixchan,igot)==1)then nc=nc+1 do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,nc) enddo enddo if (grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif endif @@ -1855,14 +1867,14 @@ SUBROUTINE CALRAD_WCLOUD if(lvls(ixchan,igot)==1)then nc=nc+1 do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,nc) enddo enddo if (grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif endif @@ -1877,14 +1889,14 @@ SUBROUTINE CALRAD_WCLOUD if(lvls(ixchan,igot)==1)then nc=nc+1 do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,nc) enddo enddo if (grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif endif @@ -1897,14 +1909,14 @@ SUBROUTINE CALRAD_WCLOUD if(lvls(ichan,igot)==1)then nc=nc+1 do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,nc) enddo enddo if(grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif enddo @@ -1916,14 +1928,14 @@ SUBROUTINE CALRAD_WCLOUD if(lvls(ichan,igot)==1)then nc=nc+1 do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,nc) enddo enddo if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif enddo @@ -1935,14 +1947,14 @@ SUBROUTINE CALRAD_WCLOUD if(lvls(ichan,igot)==1)then nc=nc+1 do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,nc) enddo enddo if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif enddo @@ -1953,14 +1965,14 @@ SUBROUTINE CALRAD_WCLOUD igot=iget(459+ixchan) if(igot>0) then do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,ichan) enddo enddo if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif enddo @@ -1971,14 +1983,14 @@ SUBROUTINE CALRAD_WCLOUD igot=iget(455+ixchan) if(igot>0) then do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,ichan) enddo enddo if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif enddo @@ -1992,14 +2004,14 @@ SUBROUTINE CALRAD_WCLOUD if(lvls(ixchan,igot)==1)then nc=nc+1 do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,nc) enddo enddo if (grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif endif @@ -2014,14 +2026,14 @@ SUBROUTINE CALRAD_WCLOUD if(lvls(ixchan,igot)==1)then nc=nc+1 do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,nc) enddo enddo if (grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif endif @@ -2036,14 +2048,14 @@ SUBROUTINE CALRAD_WCLOUD if(lvls(ixchan,igot)==1)then nc=nc+1 do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,nc) enddo enddo if (grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif endif @@ -2056,29 +2068,53 @@ SUBROUTINE CALRAD_WCLOUD igot=iget(926+ixchan) if(igot>0)then do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,ichan) enddo enddo if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif enddo ! channel loop end if ! end of outputting goes 16 - if (isis=='abi_g17')then ! writing goes 16 to grib + if (isis=='abi_g17')then ! writing goes 17 to grib nc=0 do ixchan=1,10 ichan=ixchan igot=iget(936+ixchan) + if(igot>0)then + do j=jsta,jend + do i=ista,iend + grid1(i,j)=tb(i,j,ichan) + enddo + enddo + if(grib=="grib2" )then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(igot) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) + endif + endif + enddo ! channel loop + end if ! end of outputting goes 17 +! Wm Lewis updated idx for g18 on 3 JUN 2022 + if (isis=='abi_g18')then ! writing goes 18 to grib + nc=0 + do ixchan=1,10 + igot=iget(530+ixchan) + ichan=ixchan if(igot>0)then do j=jsta,jend do i=1,im grid1(i,j)=tb(i,j,ichan) enddo enddo + id(1:25) = 0 + id(02) = 2 + id(08) = 118 + id(09) = 109 if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) @@ -2086,20 +2122,20 @@ SUBROUTINE CALRAD_WCLOUD endif endif enddo ! channel loop - end if ! end of outputting goes 17 + end if ! end of outputting goes 18 if(isis=='ahi_himawari8') then ! writing Himawari-8 AHI to grib do ichan=1,10 igot=iget(968+ichan) if(igot>0)then do j=jsta,jend - do i=1,im + do i=ista,iend grid1(i,j)=tb(i,j,ichan) enddo enddo if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(igot) - datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=grid1(ista:iend,jsta:jend) endif endif enddo @@ -2132,6 +2168,28 @@ SUBROUTINE CALRAD_WCLOUD return end SUBROUTINE CALRAD_WCLOUD +!------------------------------------------------------------------------------- +!> @brief EFFR Computes effective particle radii channel selection using LVLS from WRF_CNTRL.PARM. +!> +!> @param pmid real Mid-layer pressure. +!> @param t real Temperature. +!> @param q real Specific humidity. +!> @param qqw real Cloud water mixing ratio. +!> @param qqi real Ice mixing ratio. +!> @param qqr real Rain mixing ratio. +!> @param f_rimef real "Rime Factor", ratio of total ice growth to deposition growth. +!> @param nlice real Time-averaged number concentration of large ice. +!> @param nrain real Number concentration of rain drops. +!> @param qqs real Snow mixing ratio. +!> @param qqg real Graupel mixing ratio. +!> @param qqnr real Rain number concentration. +!> @param qqni real Ice number concentration. +!> @param qqnw real cloud water number concentration. +!> @param mp_opt integer Microphysics option. +!> @param species character Particle type (e.g., cloud, rain, graupel, snow, ice). +!> @return EFFR Effective particle radii channel selection. +!------------------------------------------------------------------------------- + REAL FUNCTION EFFR(pmid,t,q,qqw,qqi,qqr,f_rimef, nlice, nrain, & qqs,qqg,qqnr,qqni,qqnw,mp_opt,species) @@ -2748,6 +2806,13 @@ REAL FUNCTION EFFR(pmid,t,q,qqw,qqi,qqr,f_rimef, nlice, nrain, & end function EFFR +!------------------------------------------------------------------------------- +!> @brief GAMMLN +!> +!> @param[in] XX +!> @return GAMMLN Returns the value of LN(GAMMA(XX)) FOR XX > 0. +!------------------------------------------------------------------------------- + REAL FUNCTION GAMMLN(XX) ! --- RETURNS THE VALUE LN(GAMMA(XX)) FOR XX > 0. IMPLICIT NONE @@ -2772,6 +2837,13 @@ REAL FUNCTION GAMMLN(XX) GAMMLN=TMP+LOG(STP*SER/X) END FUNCTION GAMMLN +!------------------------------------------------------------------------------- +!> @brief WGAMMA +!> +!> @param[in] y +!> @return WGAMMA +!------------------------------------------------------------------------------- + REAL FUNCTION WGAMMA(y) IMPLICIT NONE diff --git a/sorc/ncep_post.fd/CALRCH.f b/sorc/ncep_post.fd/CALRCH.f index 60b5425b6c..5f812ef058 100644 --- a/sorc/ncep_post.fd/CALRCH.f +++ b/sorc/ncep_post.fd/CALRCH.f @@ -1,43 +1,33 @@ !> @file -! -!> SUBPROGRAM: CALRCH COMPUTES GRD RCH NUMBER -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-10-11 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THE GRADIENT RICHARDSON NUMBER -!! AS CODED IN ETA MODEL SUBROUTINE PROFQ2.F. -!! FIX TO AVOID UNREASONABLY SMALL ANEMOMETER LEVEL WINDS. -!! -!! PROGRAM HISTORY LOG: -!! 93-10-11 RUSS TREADON -!! 98-06-17 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 01-10-22 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -!! 02-01-15 MIKE BALDWIN - WRF VERSION -!! 05-02-25 H CHUANG - ADD COMPUTATION FOR NMM E GRID -!! 05-07-07 BINBIN ZHOU - ADD RSM FOR A GRID -!! -!! USAGE: CALL CALRCH(EL,RICHNO) -!! INPUT ARGUMENT LIST: -!! EL - MIXING LENGTH SCALE. -!! -!! OUTPUT ARGUMENT LIST: -!! RICHNO - GRADIENT RICHARDSON NUMBER. -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - -!! CTLBLK -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief Subroutine that computes GRD RCH number. +!> +!> This routine computes the gradient Richardson number +!> as coded in ETA model subroutine PROFQ2.F. +!> Fix to avoid unreasonably small anemometer level winds. +!> +!> @param[in] EL Mixing length scale. +!> @param[out] RICHNO Gradient Richardson number. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1993-10-11 | Russ Treadon | Initial +!> 1998-06-17 | T Black | Convesion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2001-10-22 | H Chuang | Modified to process hybrid model output +!> 2002-01-15 | Mike Baldwin | WRF Version +!> 2005-02-25 | H Chuang | Add computation for NMM E grid +!> 2005-07-07 | Binbin Zhou | Add RSM for A Grid +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> +!> @author Russ Treadon W/NP2 @date 1993-10-11 +!----------------------------------------------------------------------- +!> @brief Subroutine that computes GRD RCH number. +!> +!> @param[in] EL Mixing length scale. +!> @param[out] RICHNO Gradient Richardson number. +!----------------------------------------------------------------------- + SUBROUTINE CALRCH(EL,RICHNO) ! @@ -45,15 +35,17 @@ SUBROUTINE CALRCH(EL,RICHNO) use masks, only: vtm use params_mod, only: h10e5, capa, d608,h1, epsq2, g, beta use ctlblk_mod, only: jsta, jend, spval, lm1, jsta_m, jend_m, im, & - jsta_2l, jend_2u, lm + jsta_2l, jend_2u, lm, & + ista, iend, ista_m, iend_m, ista_2l, iend_2u use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! ! DECLARE VARIABLES. ! - REAL,intent(in) :: EL(IM,jsta_2l:jend_2u,LM) - REAL,intent(inout) :: RICHNO(IM,jsta_2l:jend_2u,LM) + REAL,intent(in) :: EL(ista_2l:iend_2u,jsta_2l:jend_2u,LM) + REAL,intent(inout) :: RICHNO(ista_2l:iend_2u,jsta_2l:jend_2u,LM) ! REAL, ALLOCATABLE :: THV(:,:,:) integer I,J,L,IW,IE @@ -66,13 +58,13 @@ SUBROUTINE CALRCH(EL,RICHNO) !************************************************************************* ! START CALRCH HERE. ! - ALLOCATE ( THV(IM,JSTA_2L:JEND_2U,LM) ) + ALLOCATE ( THV(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LM) ) ! INITIALIZE ARRAYS. ! !$omp parallel do DO L = 1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND RICHNO(I,J,L)=SPVAL ENDDO ENDDO @@ -83,7 +75,7 @@ SUBROUTINE CALRCH(EL,RICHNO) !$omp parallel do private(i,j,ape) DO L=LM,1,-1 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND APE = (H10E5/PMID(I,J,L))**CAPA THV(I,J,L) = (Q(I,J,L)*D608+H1)*T(I,J,L)*APE ENDDO @@ -108,7 +100,7 @@ SUBROUTINE CALRCH(EL,RICHNO) end if DO J=JSTA_M,JEND_M - DO I=2,IM-1 + DO I=ISTA_M,IEND_M ! IF(GRIDTYPE == 'A')THEN UHKL = UH(I,J,L) diff --git a/sorc/ncep_post.fd/CALSTRM.f b/sorc/ncep_post.fd/CALSTRM.f index c9204ccb69..bf4c510b48 100644 --- a/sorc/ncep_post.fd/CALSTRM.f +++ b/sorc/ncep_post.fd/CALSTRM.f @@ -1,43 +1,33 @@ !> @file -! -!> SUBPROGRAM: CALSTRM COMPUTES GEO STREAMFUNCTION -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THE GEOSTROPHIC STREAMFUNCTION, -!! PSI, FROM THE PASSED GEOPOTENTIAL HEIGHT FIELD, Z. -!! THE FORMULA USED IS PSI = G*Z/F0, WHERE G IS THE -!! GRAVITATIONAL ACCELERATION CONSTANT AND F0 IS A -!! CONSTANT CORIOLIS PARAMETER. F0 IS SET TO BE THE -!! VALUE OF THE CORIOLIS PARAMETER NEAR THE CENTER -!! OF THE MODEL GRID. -!! -!! PROGRAM HISTORY LOG: -!! 92-12-22 RUSS TREADON -!! 98-06-08 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-05 JIM TUCCILLO - MPI VERSION -!! 02-06-13 MIKE BALDWIN - WRF VERSION -!! -!! USAGE: CALL CALSTRM(Z1D,STRM) -!! INPUT ARGUMENT LIST: -!! Z1D - GEOPOTENTIAL HEIGHT (M) -!! -!! OUTPUT ARGUMENT LIST: -!! STRM - GEOSTROPHIC STREAMFUNCTION -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - MAPOT -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief Subroutine that computes geo streamfunction. +!> +!> This routine computes the geostrophic streamfunction, +!> PSI, from the passed geopotential height field, Z. +!> The formule used it PSI = G*Z/F0, where G is the +!> gravitational acceleration constant and F0 is a +!> constant Coriolis parameter. F0 is set to be the +!> valus of the Coriolis parameter near the center +!> of the model grid. +!> +!> @param[in] Z1D Geopotential height (m). +!> @param[out] STRM Geostrophic streamfunction. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-22 | Russ Treadon | Initial +!> 1998-06-08 | T Black | Conversion from 1-D TO 2-D +!> 2000-01-05 | Jim Tuccillo | MPI Version +!> 2002-06-13 | Mike Baldwin | WRF Version +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 +!----------------------------------------------------------------------- +!> @brief Subroutine that computes geo streamfunction. +!> +!> @param[in] Z1D Geopotential height (m). +!> @param[out] STRM Geostrophic streamfunction. +!----------------------------------------------------------------------- SUBROUTINE CALSTRM(Z1D,STRM) ! @@ -48,7 +38,7 @@ SUBROUTINE CALSTRM(Z1D,STRM) ! ! use vrbls2d, only: use params_mod, only: g - use ctlblk_mod, only: jsta, jend, im + use ctlblk_mod, only: jsta, jend, im, ista, iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -57,8 +47,8 @@ SUBROUTINE CALSTRM(Z1D,STRM) ! DECLARE VARIABLES. ! ! LOGICAL FIRST,OLDRD,RESTRT,RUN,SIGMA,STRD - REAL, dimension(im,jsta:jend), intent(in) :: Z1D - REAL, dimension(im,jsta:jend), intent(inout) :: STRM + REAL, dimension(ista:iend,jsta:jend), intent(in) :: Z1D + REAL, dimension(ista:iend,jsta:jend), intent(inout) :: STRM ! LOGICAL OLDRD,STRD integer IMID,I,J @@ -76,7 +66,7 @@ SUBROUTINE CALSTRM(Z1D,STRM) ! COMPUTE GEOSTROPHIC STREAMFUNCTION. !$omp parallel do DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND STRM(I,J) = GOF0*Z1D(I,J) ENDDO ENDDO diff --git a/sorc/ncep_post.fd/CALTAU.f b/sorc/ncep_post.fd/CALTAU.f index 79bae45d3a..140a1d8876 100644 --- a/sorc/ncep_post.fd/CALTAU.f +++ b/sorc/ncep_post.fd/CALTAU.f @@ -1,46 +1,35 @@ !> @file -! -!> SUBPROGRAM: CALTAU COMPUTE U AND V WIND STRESSES -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-09-01 -!! -!! ABSTRACT: THIS ROUTINE COMPUTES SURFACE LAYER U AND V -!! WIND COMPONENT STRESSES USING K THEORY AS PRESENTED -!! IN SECTION 8.4 OF "NUMBERICAL PREDICTION AND DYNAMIC -!! METEOROLOGY" BY HALTINER AND WILLIAMS (1980, JOHN WILEY -!! & SONS). -!! -!! PROGRAM HISTORY LOG: -!! 93-09-01 RUSS TREADON -!! 98-06-11 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID OUTPUT -!! 02-01-15 MIKE BALDWIN - WRF VERSION, OUTPUT IS ON MASS-POINTS -!! 05-02-23 H CHUANG - COMPUTE STRESS FOR NMM ON WIND POINTS -!! 05-07-07 BINBIN ZHOU - ADD RSM STRESS for A GRID -!! 21-07-26 W Meng - Restrict computation from undefined grids -!! USAGE: CALL CALTAU(TAUX,TAUY) -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! TAUX - SUFACE LAYER U COMPONENT WIND STRESS. -!! TAUY - SUFACE LAYER V COMPONENT WIND STRESS. -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! CLMAX -!! MIXLEN -!! -!! LIBRARY: -!! COMMON - -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief Subroutine that computes U and V wind stresses. +!> +!> This routine computes surface layer U and V +!> wind component stresses using K theory as presented +!> in section 8.4 of "Numerical prediction and dynamic +!> meteorology" by Haltiner and Williams (1980, John Wiley +!> & Sons). +!> +!> @param[out] TAUX Suface layer U component wind stress. +!> @param[out] TAUY Suface layer V component wind stress. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1993-09-01 | Russ Treadon | Initial +!> 1998-06-11 | T Black | Convesion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2001-10-25 | H Chuang | Modified to process hybrid output +!> 2002-01-15 | Mike Baldwin | WRF Version, output is on mass-points +!> 2005-02-23 | H Chuang | Compute stress for NMM on wind points +!> 2005-07-07 | Binbin Zhou | Add RSM stress for A Grid +!> 2021-07-26 | W Meng | Restrict computation from undefined grids +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> +!> @author Russ Treadon W/NP2 @date 1993-09-01 +!----------------------------------------------------------------------- +!> @brief Subroutine that computes U and V wind stresses. +!> +!> @param[out] TAUX Suface layer U component wind stress. +!> @param[out] TAUY Suface layer V component wind stress. +!----------------------------------------------------------------------- SUBROUTINE CALTAU(TAUX,TAUY) ! @@ -50,17 +39,18 @@ SUBROUTINE CALTAU(TAUX,TAUY) use masks, only: lmh use params_mod, only: d00, d50, h1, d608, rd, d25 use ctlblk_mod, only: jsta_2l, jend_2u, lm, jsta, jend, spval, jsta_m,& - jm, im, jend_m + jm, im, jend_m, ista, iend, ista_m, iend_m, ista_2l, iend_2u use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch implicit none ! ! DECLARE VARIABLES. INTEGER, dimension(4) :: KK(4) INTEGER, dimension(jm) :: ive, ivw - REAL, dimension(im,jsta:jend), intent(inout) :: TAUX, TAUY + REAL, dimension(ista:iend,jsta:jend), intent(inout) :: TAUX, TAUY REAL, ALLOCATABLE :: EL(:,:,:) - REAL, dimension(im,jsta:jend) :: EGRIDU,EGRIDV,EGRID4,EGRID5, EL0 + REAL, dimension(ista:iend,jsta:jend) :: EGRIDU,EGRIDV,EGRID4,EGRID5, EL0 REAL UZ0V,VZ0V CHARACTER*1 AGRID integer I,J,LMHK,IE,IW,ii,jj @@ -70,7 +60,7 @@ SUBROUTINE CALTAU(TAUX,TAUY) !******************************************************************** ! START CALTAU HERE. ! - ALLOCATE (EL(IM,JSTA_2L:JEND_2U,LM)) + ALLOCATE (EL(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LM)) ! ! COMPUTE MASTER LENGTH SCALE. ! @@ -80,7 +70,7 @@ SUBROUTINE CALTAU(TAUX,TAUY) ! INITIALIZE OUTPUT AND WORK ARRAY TO ZERO. ! DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EGRIDU(I,J) = D00 EGRIDV(I,J) = D00 TAUX(I,J) = SPVAL @@ -97,7 +87,7 @@ SUBROUTINE CALTAU(TAUX,TAUY) CALL MIXLEN(EL0,EL) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! LMHK = NINT(LMH(I,J)) IF(EL(I,J,LMHK-1) @file -! -!> SUBPROGRAM: CALTHTE COMPUTES THETA-E -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-06-18 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THE EQUIVALENT POTENTIAL TEMPERATURE -!! GIVEN PRESSURE, TEMPERATURE, AND SPECIFIC HUMIDITY. THE -!! EQUATIONS OF BOLTON (MWR,1980) ARE USED. -!! -!! PROGRAM HISTORY LOG: -!! 93-06-18 RUSS TREADON -!! 98-06-16 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 21-07-28 W Meng - Restrict computation from undefined grids -!! -!! USAGE: CALL CALTHTE(P1D,T1D,Q1D,THTE) -!! INPUT ARGUMENT LIST: -!! P1D - PRESSURE (PA) -!! T1D - TEMPERATURE (K) -!! Q1D - SPECIFIC HUMIDITY (KG/KG) -!! -!! OUTPUT ARGUMENT LIST: -!! THTE - THETA-E (K) -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! VAPOR - FUNCTION TO CALCULATE VAPOR PRESSURE. -!! LIBRARY: -!! NONE -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief Subroutine that computes Theta-E. +!> +!> This routine computes the equivalent potential temperature +!> given pressure, temperature, and specific humidity. The +!> equations of Bolton (MWR,1980) are used. +!> +!> @param[in] P1D pressure (Pa). +!> @param[in] T1D temperature (K). +!> @param[in] Q1D specific humidity(kg/kg). +!> @param[out] THTE Theta-E (K). +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1993-06-18 | Russ Treadon | Initial +!> 1998-06-16 | T Black | Convesion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2021-07-28 | W Meng | Restrict computation from undefined grids +!> 2021-09-02 | Bo Cui | Decompose UPP in X direction +!> +!> @author Russ Treadon W/NP2 @date 1993-06-18 +!-------------------------------------------------------------------------------------- +!> @brief Subroutine that computes Theta-E. +!> +!> @param[in] P1D pressure (Pa). +!> @param[in] T1D temperature (K). +!> @param[in] Q1D specific humidity(kg/kg). +!> @param[out] THTE Theta-E (K). +!-------------------------------------------------------------------------------------- SUBROUTINE CALTHTE(P1D,T1D,Q1D,THTE) ! ! use params_mod, only: d00, eps, oneps, d01, h1m12, p1000, h1 - use ctlblk_mod, only: jsta, jend, im, spval + use ctlblk_mod, only: jsta, jend, im, spval, ista, iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -53,8 +45,8 @@ SUBROUTINE CALTHTE(P1D,T1D,Q1D,THTE) ! ! DECLARE VARIABLES. ! - REAL,dimension(IM,jsta:jend),intent(in) :: P1D,T1D,Q1D - REAL,dimension(IM,jsta:jend),intent(inout) :: THTE + REAL,dimension(ista:iend,jsta:jend),intent(in) :: P1D,T1D,Q1D + REAL,dimension(ista:iend,jsta:jend),intent(inout) :: THTE integer I,J real P,T,Q,EVP,RMX,CKAPA,RKAPA,ARG,DENOM,TLCL,PLCL,FAC, & @@ -66,7 +58,7 @@ SUBROUTINE CALTHTE(P1D,T1D,Q1D,THTE) ! ZERO THETA-E ARRAY !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND THTE(I,J) = D00 ENDDO ENDDO @@ -74,10 +66,10 @@ SUBROUTINE CALTHTE(P1D,T1D,Q1D,THTE) ! COMPUTE THETA-E. ! ! DO J=JSTA_M,JEND_M -! DO I=2,IM-1 +! DO I=ISTA_M,IEND_M !$omp parallel do private(i,j,p,t,q,evp,rmx,ckapa,rkapa,arg,denom,tlcl,plcl,fac,eterm,thetae) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(P1D(I,J) @file -! -!> SUBPROGRAM: CALUPDHEL COMPUTES UPDRAFT HELICITY -!! PRGRMMR: PYLE ORG: W/NP2 DATE: 07-10-22 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THE UPDRAFT HELICITY -!! -!! PROGRAM HISTORY LOG: -!! 07-10-22 M PYLE - based on SPC Algorithm courtesy of David Bright -!! 11-01-11 M Pyle - converted to F90 for unified post -!! 11-04-05 H Chuang - added B grid option -!! 20-11-06 J Meng - USE UPP_MATH MODULE -!! -!! USAGE: CALL CALUPDHEL(UPDHEL) -!! -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! UPDHEL - UPDRAFT HELICITY (M^2/S^2) -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief Subroutine that computes the updraft helicity. +!> +!> @param[out] UPDHEL Updraft helicity (m^2/s^2). +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2007-10-22 | M Pyle | Initial +!> 2007-10-22 | M Pyle | based on SPC Algorithm courtesy of David Bright +!> 2011-01-11 | M Pyle | converted to F90 for unified post +!> 2011-04-05 | H Chuang | added B grid option +!> 2020-11-06 | J Meng | Use UPP_MATH Module +!> 2021-10-31 | J Meng | 2D DECOMPOSITION +!> 2022-05-12 | E James | Adding a check for extremely large positive or negative UH values +!> 2024-06-27 | W Meng | Restrict undefined grids in calculation +!> +!> @author M Pyle W/NP2 @date 2007-10-22 +!-------------------------------------------------------------------------------------- +!> @brief Subroutine that computes the updraft helicity. +!> +!> @param[out] UPDHEL Updraft helicity (m^2/s^2). +!-------------------------------------------------------------------------------------- SUBROUTINE CALUPDHEL(UPDHEL) ! @@ -42,9 +30,11 @@ SUBROUTINE CALUPDHEL(UPDHEL) use masks, only: lmh, dx, dy use params_mod, only: d00 use ctlblk_mod, only: lm, jsta_2l, jend_2u, jsta_m, jend_m, & - global, spval, im, jm + global, spval, im, jm, & + ista_2l, iend_2u, ista_m, iend_m use gridspec_mod, only: gridtype use upp_math, only: DVDXDUDY, DDVDX, DDUDY + use exch_upp_mod, only: exch implicit none @@ -54,7 +44,7 @@ SUBROUTINE CALUPDHEL(UPDHEL) REAL, PARAMETER:: HLOWER=2000., HUPPER=5000. REAL ZMIDLOC real :: r2dx, r2dy, dz, dcdx, dudy, dvdx - REAL :: HTSFC(IM,jsta_2l:jend_2u),UPDHEL(IM,jsta_2l:jend_2u) + REAL :: HTSFC(ista_2l:iend_2u,jsta_2l:jend_2u),UPDHEL(ista_2l:iend_2u,jsta_2l:jend_2u) integer :: l, j, i INTEGER, dimension(jm) :: IHE,IHW ! INTEGER DXVAL,DYVAL,CENLAT,CENLON,TRUELAT1,TRUELAT2 @@ -67,16 +57,16 @@ SUBROUTINE CALUPDHEL(UPDHEL) ! maxval(WH(:,:,20)) DO L=1,LM - CALL EXCH(UH(1,jsta_2l,L)) + CALL EXCH(UH(ista_2l,jsta_2l,L)) END DO IF (GRIDTYPE == 'B')THEN DO L=1,LM - CALL EXCH(VH(1,jsta_2l,L)) + CALL EXCH(VH(ista_2l,jsta_2l,L)) END DO END IF !$omp parallel do private(i,j) DO J=JSTA_2L,JEND_2U - DO I=1,IM + DO I=ISTA_2L,IEND_2U UPDHEL(I,J) = D00 ENDDO ENDDO @@ -93,13 +83,15 @@ SUBROUTINE CALUPDHEL(UPDHEL) !$omp parallel do private(i,j) DO J=JSTA_M,JEND_M - DO I=1,IM + DO I=ISTA_M,IEND_M HTSFC(I,J) = ZINT(I,J,NINT(LMH(I,J))+1) ENDDO ENDDO DO J=JSTA_M,JEND_M - DO I=2,IM-1 + DO I=ISTA_M,IEND_M + + IF (HTSFC(I,J) < spval) THEN R2DX = 1./(2.*DX(I,J)) R2DY = 1./(2.*DY(I,J)) @@ -129,10 +121,21 @@ SUBROUTINE CALUPDHEL(UPDHEL) DVDX = DDVDX(I,J) DUDY = DDUDY(I,J) - UPDHEL(I,J)=UPDHEL(I,J)+(DVDX-DUDY)*WH(I,J,L)*DZ + IF (DVDX 9E10) THEN + UPDHEL(I,J) = spval + ENDIF ENDIF ENDDO l_loop + + ELSE + UPDHEL(I,J) = spval + ENDIF + ENDDO ENDDO diff --git a/sorc/ncep_post.fd/CALVESSEL.f b/sorc/ncep_post.fd/CALVESSEL.f index 9dae6d6332..eb2496bc76 100644 --- a/sorc/ncep_post.fd/CALVESSEL.f +++ b/sorc/ncep_post.fd/CALVESSEL.f @@ -1,20 +1,27 @@ SUBROUTINE CALVESSEL(ICEG) ! Algorithm for calculating ice growth rate - use vrbls2d, only: sst, u10h, v10h, tshltr +! +! PROGRAM HISTORY LOG: +! 19-10-31 Bhavani Balasubrama - Incorporate ice growth rate calculation in UPP +! 21-10-31 JESSE MENG - 2D DECOMPOSITION +! 25-02-25 Wen Meng - Add changes based on OPC's comments + + use vrbls2d, only: sst, u10h, v10h, tshltr, pshltr use masks, only: sm, sice - use ctlblk_mod, only: jsta, jend, im, spval + use ctlblk_mod, only: jsta, jend, im, spval, ista, iend + use params_mod, only: capa !------------------------------------------- implicit none integer I, J real TSFC_C,TSHLTR_C,SST_C real, parameter :: C2K=273.15 - real, dimension(im,jsta:jend) :: pr, spd10 - real,intent(out) :: ICEG(im,jsta:jend) + real, dimension(ista:iend,jsta:jend) :: pr, spd10 + real,intent(out) :: ICEG(ista:iend,jsta:jend) -! allocate (thsfc(im,jsta:jend),tsfc(im,jsta:jend)) +! allocate (thsfc(ista:iend,jsta:jend),tsfc(ista:iend,jsta:jend)) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! CALCULATE SPEED SPD10(i,j)=SQRT(U10H(I,J)**2+V10H(I,J)**2) if (SPD10(i,j)>50) then @@ -28,11 +35,13 @@ SUBROUTINE CALVESSEL(ICEG) ICEG(i,j)=0. CYCLE endif +! Covert to shelter level T + TSHLTR_C=TSHLTR(I,J)*(PSHLTR(I,J)*1.E-5)**CAPA !!! CHANGE TEMP to FROM K to C !!! TEMPERATURE CHECK SST_C=SST(I,J)-C2K - TSHLTR_C=TSHLTR(I,J)-C2K + TSHLTR_C=TSHLTR_C-C2K if((SST_C<-1.7).OR. & (SST_C>12.0)) then ICEG(I,j)=0. @@ -46,7 +55,7 @@ SUBROUTINE CALVESSEL(ICEG) endif ! CALCULATE ICE GROWTH - PR(i,j)=SPD10(i,j)*(-1.7-TSHLTR_C)/(1.+.4*(SST_C+1.7)) + PR(i,j)=SPD10(i,j)*(-1.7-TSHLTR_C)/(1.+.3*(SST_C+1.7)) ICEG(i,j)=(2.73E-02)*PR(i,j)+(2.91E-04)*PR(i,j)*PR(i,j) & +(1.84E-06)*PR(i,j)**3 diff --git a/sorc/ncep_post.fd/CALVIS.f b/sorc/ncep_post.fd/CALVIS.f index 6bcf0ee25a..a7bf26fe20 100644 --- a/sorc/ncep_post.fd/CALVIS.f +++ b/sorc/ncep_post.fd/CALVIS.f @@ -57,15 +57,17 @@ SUBROUTINE CALVIS(QV,QC,QR,QI,QS,TT,PP,VIS) ! ! 2021-05 Wen Meng -Add checking for undfined points invloved in ! computation. +! 2021-10-31 Jesse Meng - 2D DECOMPOSITION !------------------------------------------------------------------ use params_mod, only: h1, d608, rd - use ctlblk_mod, only: jsta, jend, im, jsta_2l, jend_2u, spval + use ctlblk_mod, only: jsta, jend, im, jsta_2l, jend_2u, spval, & + ista, iend, ista_2l, iend_2u !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! - real,dimension(IM,jsta_2l:jend_2u),intent(in) :: QV,QC,QR,QI,QS,TT,PP - real,dimension(IM,jsta_2l:jend_2u),intent(inout) :: VIS + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(in) :: QV,QC,QR,QI,QS,TT,PP + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(inout) :: VIS CHARACTER METH*1 real CELKEL,TICE,COEFLC,COEFLP,COEFFC,COEFFP,EXPONLC, & @@ -90,7 +92,7 @@ SUBROUTINE CALVIS(QV,QC,QR,QI,QS,TT,PP,VIS) RHOWAT=1000. ! DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND VIS(I,J)=SPVAL ! IF(IICE==0)THEN ! QPRC=QR diff --git a/sorc/ncep_post.fd/CALVIS_GSD.f b/sorc/ncep_post.fd/CALVIS_GSD.f index ecd5d36b47..d5eb9c336b 100644 --- a/sorc/ncep_post.fd/CALVIS_GSD.f +++ b/sorc/ncep_post.fd/CALVIS_GSD.f @@ -90,21 +90,35 @@ SUBROUTINE CALVIS_GSD(CZEN,VIS) ! 2021-05 Wen Meng Unify CONST1 and VISRH. ! 2021-05 Wen Meng - Add checking for undefined points invloved in computation ! 2021-08 Wen Meng - Restrict divided by 0. +! 2021-10 Jesse Meng - 2D DECOMPOSITION +! 2023-11 Tim Corrie, Eric James - addition of attenuation for blowing snow +! 2024-03 Eric James - removal of extcof55 factor in visibility +! calculation (extcof55 is all zeroes) +! 2024-04 Eric James - correcting bug in BLSN effect (missing factor of +! ustar_t) and removing BLSN effect for z0>0.7 (forests) +! 2025-11 Wen Meng Set the upper bound for GFS to 24.135 km ! !------------------------------------------------------------------ ! - use vrbls3d, only: qqw, qqi, qqs, qqr, qqg, t, pmid, q, u, v, extcof55, aextc55 - use params_mod, only: h1, d608, rd - use ctlblk_mod, only: jm, im, jsta_2l, jend_2u, lm, modelname, spval + use vrbls2d, only: sno, si, ustar, z0 + use vrbls3d, only: qqw, qqi, qqs, qqr, qqg, t, pmid, q, u, v, aextc55 + use params_mod, only: h1, d608, rd, g + use ctlblk_mod, only: jm, im, jsta_2l, jend_2u, lm, modelname, spval, method_blsn,& + ista_2l, iend_2u implicit none integer :: j, i, k, ll integer :: method real :: tx, pol, esx, es, e - REAL VIS(IM,jsta_2l:jend_2u) ,RHB(IM,jsta_2l:jend_2u,LM), CZEN(IM,jsta_2l:jend_2u) + REAL VIS(ista_2l:iend_2u,jsta_2l:jend_2u) + REAL RHB(ista_2l:iend_2u,jsta_2l:jend_2u,LM) + REAL CZEN(ista_2l:iend_2u,jsta_2l:jend_2u) + real :: z, ustar_t, u_p, lamda, r_bar, alpha + real :: rho_sno + real :: z_r, Q_s, C_r, c_z, c_alpha, vis_blsn, BETABLSN real celkel,tice,coeflc,coeflp,coeffc,coeffp,coeffg real exponlc,exponlp,exponfc,exponfp,exponfg,const1 @@ -203,7 +217,7 @@ SUBROUTINE CALVIS_GSD(CZEN,VIS) visrh_min = 1.e6 DO J=jsta_2l,jend_2u - DO I=1,IM + DO I=ista_2l,iend_2u VIS(I,J)=spval ! -checking undedined points if(T(I,J,LM) ustar_t .and. z0(i,j) .le. 0.7) then + z_r = 1.6*(ustar(i,j)**2./(2.*g)) + Q_s = max((0.68/ustar(i,j))*(RHOAIR/g)*ustar_t*(ustar(i,j)**2.-ustar_t**2.),0.0) + C_r = (Q_s/u_p)*(lamda*g/ustar(i,j)**2.)*exp(-lamda*z_r*g/ustar(i,j)**2.) + c_z = max(C_r * exp(-1.55*((0.05628*ustar(i,j))**-0.544 - z**-0.544)),1e-15) + c_alpha = alpha/(alpha+2) !simplified version of (6) in Letcher et al (2021) + rho_sno = sno(i,j)/(si(i,j)/1.0e3) + rho_sno = rho_sno*2. + 10.*max(0.,rho_sno-150.0) + vis_blsn = (5.217*rho_sno*r_bar**1.011)/(1.82*c_z*c_alpha) + BETABLSN = 3.912/(vis_blsn/1000.0) + ! print to ensure quality + !print *, "z_r", z_r + !print *, "Q_s", Q_s + !print *, "C_r", C_r + !print *, "c_z", c_z + !print *, "c_alpha", c_alpha + !print *, "sno/SWE", sno(i,j) + !print *, "si/SNOD", si(i,j)/1.0e3 + !print *, "rho_sno", rho_sno + !print *, "vis_blsn", vis_blsn + !print *, "BETABLSN", BETABLSN + !print *, "ustar", ustar(i,j) + else + BETABLSN = 0 + !print *, "BETABLSN", BETABLSN + end if + ! Key calculation of attenuation from each hydrometeor type (cloud, snow, graupel, rain, ice) BETAV=COEFFC*CONCFC**EXPONFC & + coef_SNOW*CONCFP**EXPONFP & @@ -306,14 +360,13 @@ SUBROUTINE CALVIS_GSD(CZEN,VIS) ! Addition of attenuation from aerosols if option selected if(method == 2 .or. method == 3)then ! aerosol method BETAV = BETAV + aextc55(i,j,lm)*1000. + if(method_blsn) then ! BLSN method, updated 8 August 2022 by Tim Corrie + BETAV = BETAV + BETABLSN + endif endif - if (i==290 .and. j==112) then - write (6,*) 'BETAV, extcof55 =',BETAV,extcof55(i,j,lm) - end if - ! Calculation of visibility based on hydrometeor and aerosols. (RH effect not yet included.) - VIS(I,J)=MIN(90.,CONST1/(BETAV+extcof55(i,j,lm))) ! max of 90km + VIS(I,J)=MIN(90.,CONST1/BETAV) ! max of 90km if (vis(i,j) @file -! -!> SUBPROGRAM: CALVOR COMPUTES ABSOLUTE VORTICITY -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THE ABSOLUTE VORTICITY. -!! -!! PROGRAM HISTORY LOG: -!! 92-12-22 RUSS TREADON -!! 98-06-08 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-01-15 MIKE BALDWIN - WRF VERSION C-GRID -!! 05-03-01 H CHUANG - ADD NMM E GRID -!! 05-05-17 H CHUANG - ADD POTENTIAL VORTICITY CALCULATION -!! 05-07-07 B ZHOU - ADD RSM IN COMPUTING DVDX, DUDY AND UAVG -!! 13-08-09 S MOORTHI - Optimize the vorticity loop including threading -!! 16-08-05 S Moorthi - add zonal filetering -!! 2019-10-17 Y Mao - Skip calculation when U/V is SPVAL -!! 2020-11-06 J Meng - USE UPP_MATH MODULE - - -!! -!! USAGE: CALL CALVOR(UWND,VWND,ABSV) -!! INPUT ARGUMENT LIST: -!! UWND - U WIND (M/S) MASS-POINTS -!! VWND - V WIND (M/S) MASS-POINTS -!! -!! OUTPUT ARGUMENT LIST: -!! ABSV - ABSOLUTE VORTICITY (1/S) MASS-POINTS -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : WCOSS -!! - SUBROUTINE CALVOR(UWND,VWND,ABSV) - -! -! - use vrbls2d, only: f - use masks, only: gdlat, gdlon, dx, dy - use params_mod, only: d00, dtr, small, erad - use ctlblk_mod, only: jsta_2l, jend_2u, spval, modelname, global, & - jsta, jend, im, jm, jsta_m, jend_m, gdsdegr - use gridspec_mod, only: gridtype, dyval - use upp_math, only: DVDXDUDY, DDVDX, DDUDY, UUAVG - - implicit none -! -! DECLARE VARIABLES. -! - REAL, dimension(im,jsta_2l:jend_2u), intent(in) :: UWND, VWND - REAL, dimension(im,jsta_2l:jend_2u), intent(inout) :: ABSV -! - real, allocatable :: wrk1(:,:), wrk2(:,:), wrk3(:,:), cosl(:,:) - INTEGER, allocatable :: IHE(:),IHW(:), IE(:),IW(:) -! - integer, parameter :: npass2=2, npass3=3 - integer I,J,ip1,im1,ii,iir,iil,jj,JMT2,imb2, npass, nn, jtem - real R2DX,R2DY,DVDX,DUDY,UAVG,TPH1,TPHI, tx1(im+2), tx2(im+2) -! -!*************************************************************************** -! START CALVOR HERE. -! -! LOOP TO COMPUTE ABSOLUTE VORTICITY FROM WINDS. -! - IF(MODELNAME == 'RAPR') then -!$omp parallel do private(i,j) - DO J=JSTA_2L,JEND_2U - DO I=1,IM - ABSV(I,J) = D00 - ENDDO - ENDDO - else -!$omp parallel do private(i,j) - DO J=JSTA_2L,JEND_2U - DO I=1,IM - ABSV(I,J) = SPVAL - ENDDO - ENDDO - endif - -! print*,'dyval in CALVOR= ',DYVAL - - CALL EXCH_F(UWND) -! - IF (MODELNAME == 'GFS' .or. global) THEN - CALL EXCH(GDLAT(1,JSTA_2L)) - - allocate (wrk1(im,jsta:jend), wrk2(im,jsta:jend), & - & wrk3(im,jsta:jend), cosl(im,jsta_2l:jend_2u)) - allocate(iw(im),ie(im)) - - imb2 = im/2 -!$omp parallel do private(i) - do i=1,im - ie(i) = i+1 - iw(i) = i-1 - enddo - iw(1) = im - ie(im) = 1 - -! if(1>=jsta .and. 1<=jend)then -! if(cos(gdlat(1,1)*dtr)= SMALL) then - wrk1(i,j) = 1.0 / (ERAD*cosl(i,j)) - else - wrk1(i,j) = 0. - end if - if(i == im .or. i == 1) then - wrk2(i,j) = 1.0 / ((360.+GDLON(ip1,J)-GDLON(im1,J))*DTR) !1/dlam - else - wrk2(i,j) = 1.0 / ((GDLON(ip1,J)-GDLON(im1,J))*DTR) !1/dlam - end if - enddo - enddo -! CALL EXCH(cosl(1,JSTA_2L)) - CALL EXCH(cosl) - -!$omp parallel do private(i,j,ii) - DO J=JSTA,JEND - if (j == 1) then - if(gdlat(1,j) > 0.) then ! count from north to south - do i=1,im - ii = i + imb2 - if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J+1)-GDLAT(II,J))*DTR) !1/dphi - enddo - else ! count from south to north - do i=1,im - ii = i + imb2 - if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J+1)+GDLAT(II,J))*DTR) !1/dphi -! - enddo - end if - elseif (j == JM) then - if(gdlat(1,j) < 0.) then ! count from north to south - do i=1,im - ii = i + imb2 - if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J-1)+GDLAT(II,J))*DTR) - enddo - else ! count from south to north - do i=1,im - ii = i + imb2 - if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J-1)-GDLAT(II,J))*DTR) - enddo - end if - else - do i=1,im - wrk3(i,j) = 1.0 / ((GDLAT(I,J-1)-GDLAT(I,J+1))*DTR) !1/dphi - enddo - endif - enddo - - npass = 0 - - jtem = jm / 18 + 1 -!$omp parallel do private(i,j,ip1,im1,ii,jj,tx1,tx2) - DO J=JSTA,JEND -! npass = npass2 -! if (j > jm-jtem+1 .or. j < jtem) npass = npass3 - IF(J == 1) then ! Near North or South pole - if(gdlat(1,j) > 0.) then ! count from north to south - IF(cosl(1,j) >= SMALL) THEN !not a pole point - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - ii = i + imb2 - if (ii > im) ii = ii - im - if(VWND(ip1,J)==SPVAL .or. VWND(im1,J)==SPVAL .or. & - UWND(II,J)==SPVAL .or. UWND(I,J+1)==SPVAL) cycle - ABSV(I,J) = ((VWND(ip1,J)-VWND(im1,J))*wrk2(i,j) & - & + (UWND(II,J)*COSL(II,J) & - & + UWND(I,J+1)*COSL(I,J+1))*wrk3(i,j)) * wrk1(i,j) & - & + F(I,J) - enddo - ELSE !pole point, compute at j=2 - jj = 2 - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - if(VWND(ip1,JJ)==SPVAL .or. VWND(im1,JJ)==SPVAL .or. & - UWND(I,J)==SPVAL .or. UWND(I,jj+1)==SPVAL) cycle - ABSV(I,J) = ((VWND(ip1,JJ)-VWND(im1,JJ))*wrk2(i,jj) & - & - (UWND(I,J)*COSL(I,J) & - - UWND(I,jj+1)*COSL(I,Jj+1))*wrk3(i,jj)) * wrk1(i,jj) & - & + F(I,Jj) - enddo - ENDIF - else - IF(cosl(1,j) >= SMALL) THEN !not a pole point - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - ii = i + imb2 - if (ii > im) ii = ii - im - if(VWND(ip1,J)==SPVAL .or. VWND(im1,J)==SPVAL .or. & - UWND(II,J)==SPVAL .or. UWND(I,J+1)==SPVAL) cycle - ABSV(I,J) = ((VWND(ip1,J)-VWND(im1,J))*wrk2(i,j) & - & - (UWND(II,J)*COSL(II,J) & - & + UWND(I,J+1)*COSL(I,J+1))*wrk3(i,j)) * wrk1(i,j) & - & + F(I,J) - enddo - ELSE !pole point, compute at j=2 - jj = 2 - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - if(VWND(ip1,JJ)==SPVAL .or. VWND(im1,JJ)==SPVAL .or. & - UWND(I,J)==SPVAL .or. UWND(I,jj+1)==SPVAL) cycle - ABSV(I,J) = ((VWND(ip1,JJ)-VWND(im1,JJ))*wrk2(i,jj) & - & + (UWND(I,J)*COSL(I,J) & - - UWND(I,jj+1)*COSL(I,Jj+1))*wrk3(i,jj)) * wrk1(i,jj) & - & + F(I,Jj) - enddo - ENDIF - endif - ELSE IF(J == JM) THEN ! Near North or South Pole - if(gdlat(1,j) < 0.) then ! count from north to south - IF(cosl(1,j) >= SMALL) THEN !not a pole point - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - ii = i + imb2 - if (ii > im) ii = ii - im - if(VWND(ip1,J)==SPVAL .or. VWND(im1,J)==SPVAL .or. & - UWND(I,J-1)==SPVAL .or. UWND(II,J)==SPVAL) cycle - ABSV(I,J) = ((VWND(ip1,J)-VWND(im1,J))*wrk2(i,j) & - & - (UWND(I,J-1)*COSL(I,J-1) & - & + UWND(II,J)*COSL(II,J))*wrk3(i,j)) * wrk1(i,j) & - & + F(I,J) - enddo - ELSE !pole point,compute at jm-1 - jj = jm-1 - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - if(VWND(ip1,JJ)==SPVAL .or. VWND(im1,JJ)==SPVAL .or. & - UWND(I,jj-1)==SPVAL .or. UWND(I,J)==SPVAL) cycle - ABSV(I,J) = ((VWND(ip1,JJ)-VWND(im1,JJ))*wrk2(i,jj) & - & - (UWND(I,jj-1)*COSL(I,Jj-1) & - & - UWND(I,J)*COSL(I,J))*wrk3(i,jj)) * wrk1(i,jj) & - & + F(I,Jj) - enddo - ENDIF - else - IF(cosl(1,j) >= SMALL) THEN !not a pole point - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - ii = i + imb2 - if (ii > im) ii = ii - im - if(VWND(ip1,J)==SPVAL .or. VWND(im1,J)==SPVAL .or. & - UWND(I,J-1)==SPVAL .or. UWND(II,J)==SPVAL) cycle - ABSV(I,J) = ((VWND(ip1,J)-VWND(im1,J))*wrk2(i,j) & - & + (UWND(I,J-1)*COSL(I,J-1) & - & + UWND(II,J)*COSL(II,J))*wrk3(i,j)) * wrk1(i,j) & - & + F(I,J) - enddo - ELSE !pole point,compute at jm-1 - jj = jm-1 - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - if(VWND(ip1,JJ)==SPVAL .or. VWND(im1,JJ)==SPVAL .or. & - UWND(I,jj-1)==SPVAL .or. UWND(I,J)==SPVAL) cycle - ABSV(I,J) = ((VWND(ip1,JJ)-VWND(im1,JJ))*wrk2(i,jj) & - & + (UWND(I,jj-1)*COSL(I,Jj-1) & - & - UWND(I,J)*COSL(I,J))*wrk3(i,jj)) * wrk1(i,jj) & - & + F(I,Jj) - enddo - ENDIF - endif - ELSE - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - if(VWND(ip1,J)==SPVAL .or. VWND(im1,J)==SPVAL .or. & - UWND(I,J-1)==SPVAL .or. UWND(I,J+1)==SPVAL) cycle - ABSV(I,J) = ((VWND(ip1,J)-VWND(im1,J))*wrk2(i,j) & - & - (UWND(I,J-1)*COSL(I,J-1) & - - UWND(I,J+1)*COSL(I,J+1))*wrk3(i,j)) * wrk1(i,j) & - + F(I,J) - ENDDO - END IF -! if(ABSV(I,J)>1.0)print*,'Debug CALVOR',i,j,VWND(ip1,J),VWND(im1,J), & -! wrk2(i,j),UWND(I,J-1),COSL(I,J-1),UWND(I,J+1),COSL(I,J+1),wrk3(i,j),cosl(i,j),F(I,J),ABSV(I,J) - if (npass > 0) then - do i=1,im - tx1(i) = absv(i,j) - enddo - do nn=1,npass - do i=1,im - tx2(i+1) = tx1(i) - enddo - tx2(1) = tx2(im+1) - tx2(im+2) = tx2(2) - do i=2,im+1 - tx1(i-1) = 0.25 * (tx2(i-1) + tx2(i+1)) + 0.5*tx2(i) - enddo - enddo - do i=1,im - absv(i,j) = tx1(i) - enddo - endif - END DO ! end of J loop - -! deallocate (wrk1, wrk2, wrk3, cosl) -! GFS use lon avg as one scaler value for pole point - - call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1,jsta),SPVAL,ABSV(1,jsta)) - deallocate (wrk1, wrk2, wrk3, cosl, iw, ie) - - ELSE !(MODELNAME == 'GFS' .or. global) - - IF (GRIDTYPE == 'B')THEN - CALL EXCH_F(VWND) - ENDIF - - CALL DVDXDUDY(UWND,VWND) - - IF(GRIDTYPE == 'A')THEN -!$omp parallel do private(i,j,jmt2,tphi,r2dx,r2dy,dvdx,dudy,uavg) - DO J=JSTA_M,JEND_M - JMT2 = JM/2+1 - TPHI = (J-JMT2)*(DYVAL/gdsdegr)*DTR - DO I=2,IM-1 - IF(VWND(I+1,J)= SMALL) then - wrk1(i,j) = 1.0 / (ERAD*cosl(i,j)) - else - wrk1(i,j) = 0. - end if - if(i == im .or. i == 1) then - wrk2(i,j) = 1.0 / ((360.+GDLON(ip1,J)-GDLON(im1,J))*DTR) !1/dlam - else - wrk2(i,j) = 1.0 / ((GDLON(ip1,J)-GDLON(im1,J))*DTR) !1/dlam - end if - enddo - ENDDO - - CALL EXCH(cosl) - -!$omp parallel do private(i,j,ii) - DO J=JSTA,JEND - if (j == 1) then - if(gdlat(1,j) > 0.) then ! count from north to south - do i=1,im - ii = i + imb2 - if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J+1)-GDLAT(II,J))*DTR) !1/dphi - enddo - else ! count from south to north - do i=1,im - ii = i + imb2 - if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J+1)+GDLAT(II,J))*DTR) !1/dphi - enddo - end if - elseif (j == JM) then - if(gdlat(1,j) < 0.) then ! count from north to south - do i=1,im - ii = i + imb2 - if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J-1)+GDLAT(II,J))*DTR) - enddo - else ! count from south to north - do i=1,im - ii = i + imb2 - if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J-1)-GDLAT(II,J))*DTR) - enddo - end if - else - do i=1,im - wrk3(i,j) = 1.0 / ((GDLAT(I,J-1)-GDLAT(I,J+1))*DTR) !1/dphi - enddo - endif - enddo - - do l=1,lm -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - DIV(I,J,l) = SPVAL - ENDDO - ENDDO - - CALL EXCH_F(VWND(1,jsta_2l,l)) - -!$omp parallel do private(i,j,ip1,im1,ii,jj) - DO J=JSTA,JEND - IF(J == 1) then ! Near North pole - if(gdlat(1,j) > 0.) then ! count from north to south - IF(cosl(1,j) >= SMALL) THEN !not a pole point - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - ii = i + imb2 - if (ii > im) ii = ii - im - DIV(I,J,l) = ((UWND(ip1,J,l)-UWND(im1,J,l))*wrk2(i,j) & - & - (VWND(II,J,l)*COSL(II,J) & - & + VWND(I,J+1,l)*COSL(I,J+1))*wrk3(i,j)) * wrk1(i,j) - enddo -!-- - ELSE !North pole point, compute at j=2 - jj = 2 - do i=1,im - ip1 = ie(i) - im1 = iw(i) - DIV(I,J,l) = ((UWND(ip1,jj,l)-UWND(im1,jj,l))*wrk2(i,jj) & - & + (VWND(I,J,l)*COSL(I,J) & - - VWND(I,jj+1,l)*COSL(I,jj+1))*wrk3(i,jj)) * wrk1(i,jj) - enddo -!-- - ENDIF - else - IF(cosl(1,j) >= SMALL) THEN !not a pole point - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - ii = i + imb2 - if (ii > im) ii = ii - im - DIV(I,J,l) = ((UWND(ip1,J,l)-UWND(im1,J,l))*wrk2(i,j) & - & + (VWND(II,J,l)*COSL(II,J) & - & + VWND(I,J+1,l)*COSL(I,J+1))*wrk3(i,j)) * wrk1(i,j) - enddo -!-- - ELSE !North pole point, compute at j=2 - jj = 2 - do i=1,im - ip1 = ie(i) - im1 = iw(i) - DIV(I,J,l) = ((UWND(ip1,jj,l)-UWND(im1,jj,l))*wrk2(i,jj) & - & - (VWND(I,J,l)*COSL(I,J) & - - VWND(I,jj+1,l)*COSL(I,jj+1))*wrk3(i,jj)) * wrk1(i,jj) - enddo - ENDIF - endif - ELSE IF(J == JM) THEN ! Near South pole - if(gdlat(1,j) < 0.) then ! count from north to south - IF(cosl(1,j) >= SMALL) THEN !not a pole point - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - ii = i + imb2 - if (ii > im) ii = ii - im - DIV(I,J,l) = ((UWND(ip1,J,l)-UWND(im1,J,l))*wrk2(i,j) & - & + (VWND(I,J-1,l)*COSL(I,J-1) & - & + VWND(II,J,l)*COSL(II,J))*wrk3(i,j)) * wrk1(i,j) - enddo -!-- - ELSE !South pole point,compute at jm-1 - jj = jm-1 - do i=1,im - ip1 = ie(i) - im1 = iw(i) - DIV(I,J,l) = ((UWND(ip1,JJ,l)-UWND(im1,JJ,l))*wrk2(i,jj) & - & + (VWND(I,jj-1,l)*COSL(I,Jj-1) & - & - VWND(I,J,l)*COSL(I,J))*wrk3(i,jj)) * wrk1(i,jj) - - enddo - ENDIF - else - IF(cosl(1,j) >= SMALL) THEN !not a pole point - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - ii = i + imb2 - if (ii > im) ii = ii - im - DIV(I,J,l) = ((UWND(ip1,J,l)-UWND(im1,J,l))*wrk2(i,j) & - & - (VWND(I,J-1,l)*COSL(I,J-1) & - & + VWND(II,J,l)*COSL(II,J))*wrk3(i,j)) * wrk1(i,j) - enddo -!-- - ELSE !South pole point,compute at jm-1 - jj = jm-1 - do i=1,im - ip1 = ie(i) - im1 = iw(i) - DIV(I,J,l) = ((UWND(ip1,JJ,l)-UWND(im1,JJ,l))*wrk2(i,jj) & - & - (VWND(I,jj-1,l)*COSL(I,Jj-1) & - & - VWND(I,J,l)*COSL(I,J))*wrk3(i,jj)) * wrk1(i,jj) - - enddo - ENDIF - endif - ELSE - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - DIV(I,J,l) = ((UWND(ip1,J,l)-UWND(im1,J,l))*wrk2(i,j) & - & + (VWND(I,J-1,l)*COSL(I,J-1) & - - VWND(I,J+1,l)*COSL(I,J+1))*wrk3(i,j)) * wrk1(i,j) -!sk06132016 - if(DIV(I,J,l)>1.0)print*,'Debug in CALDIV',i,j,UWND(ip1,J,l),UWND(im1,J,l), & - & wrk2(i,j),VWND(I,J-1,l),COSL(I,J-1),VWND(I,J+1,l),COSL(I,J+1), & - & wrk3(i,j),wrk1(i,j),DIV(I,J,l) -!-- - ENDDO - ENDIF - ENDDO ! end of J loop - -! GFS use lon avg as one scaler value for pole point - call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1,jsta),SPVAL,DIV(1,jsta,l)) -!sk06142016e - if(DIV(1,jsta,l)>1.0)print*,'Debug in CALDIV',jsta,DIV(1,jsta,l) -! print*,'Debug in CALDIV',' jsta= ',jsta,DIV(1,jsta,l) - - enddo ! end of l looop -!-- - deallocate (wrk1, wrk2, wrk3, cosl, iw, ie) - - - END SUBROUTINE CALDIV - - SUBROUTINE CALGRADPS(PS,PSX,PSY) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: CALGRADPS COMPUTES GRADIENTS OF A SCALAR FIELD PS OR LNPS -! PRGRMMR: SAJAL KAR ORG: W/NP2 DATE: 16-05-05 -! -! ABSTRACT: -! FOR GFS, THIS ROUTINE COMPUTES HRIZONTAL GRADIENTS OF PS OR LNPS -! USING 2ND-ORDER CENTERED SCHEME ON A LAT-LON GRID -! -! PROGRAM HISTORY LOG: -! 16-05-05 SAJAL KAR REDUCED FROM CALVORT TO ZONAL AND MERIDIONAL -! GRADIENTS OF GIVEN SURFACE PRESSURE PS, OR LNPS -! -! USAGE: CALL CALGRADPS(PS,PSX,PSY) -! INPUT ARGUMENT LIST: -! PS - SURFACE PRESSURE (PA) MASS-POINTS -! -! OUTPUT ARGUMENT LIST: -! PSX - ZONAL GRADIENT OF PS AT MASS-POINTS -! PSY - MERIDIONAL GRADIENT OF PS AT MASS-POINTS -! -! OUTPUT FILES: -! NONE -! -! SUBPROGRAMS CALLED: -! UTILITIES: -! NONE -! LIBRARY: -! COMMON - CTLBLK -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN -! MACHINE : WCOSS -!$$$ -! - use masks, only: gdlat, gdlon - use params_mod, only: dtr, d00, small, erad - use ctlblk_mod, only: jsta_2l, jend_2u, spval, modelname, global, & - jsta, jend, im, jm, jsta_m, jend_m - use gridspec_mod, only: gridtype - - implicit none -! -! DECLARE VARIABLES. -! - REAL, dimension(im,jsta_2l:jend_2u), intent(in) :: PS - REAL, dimension(im,jsta_2l:jend_2u), intent(inout) :: PSX,PSY -! - real, allocatable :: wrk1(:,:), wrk2(:,:), wrk3(:,:), cosl(:,:) - INTEGER, allocatable :: IHE(:),IHW(:), IE(:),IW(:) -! - integer I,J,ip1,im1,ii,iir,iil,jj,imb2 -! -!*************************************************************************** -! START CALGRADPS HERE. -! -! LOOP TO COMPUTE ZONAL AND MERIDIONAL GRADIENTS OF PS OR LNPS -! -!sk06162016 DO J=JSTA_2L,JEND_2U -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - PSX(I,J) = SPVAL - PSY(I,J) = SPVAL -!sk PSX(I,J) = D00 -!sk PSY(I,J) = D00 - ENDDO - ENDDO - - CALL EXCH_F(PS) - -! IF (MODELNAME == 'GFS' .or. global) THEN - CALL EXCH(GDLAT(1,JSTA_2L)) - - allocate (wrk1(im,jsta:jend), wrk2(im,jsta:jend), & - & wrk3(im,jsta:jend), cosl(im,jsta_2l:jend_2u)) - allocate(iw(im),ie(im)) - - imb2 = im/2 -!$omp parallel do private(i) - do i=1,im - ie(i) = i+1 - iw(i) = i-1 - enddo - iw(1) = im - ie(im) = 1 - - -!$omp parallel do private(i,j,ip1,im1) - DO J=JSTA,JEND - do i=1,im - ip1 = ie(i) - im1 = iw(i) - cosl(i,j) = cos(gdlat(i,j)*dtr) - if(cosl(i,j) >= SMALL) then - wrk1(i,j) = 1.0 / (ERAD*cosl(i,j)) - else - wrk1(i,j) = 0. - end if - if(i == im .or. i == 1) then - wrk2(i,j) = 1.0 / ((360.+GDLON(ip1,J)-GDLON(im1,J))*DTR) !1/dlam - else - wrk2(i,j) = 1.0 / ((GDLON(ip1,J)-GDLON(im1,J))*DTR) !1/dlam - end if - enddo - ENDDO - - CALL EXCH(cosl) - -!$omp parallel do private(i,j,ii) - DO J=JSTA,JEND - if (j == 1) then - if(gdlat(1,j) > 0.) then ! count from north to south - do i=1,im - ii = i + imb2 - if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J+1)-GDLAT(II,J))*DTR) !1/dphi - enddo - else ! count from south to north - do i=1,im - ii = i + imb2 - if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J+1)+GDLAT(II,J))*DTR) !1/dphi - enddo - end if - elseif (j == JM) then - if(gdlat(1,j) < 0.) then ! count from north to south - do i=1,im - ii = i + imb2 - if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J-1)+GDLAT(II,J))*DTR) - enddo - else ! count from south to north - do i=1,im - ii = i + imb2 - if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J-1)-GDLAT(II,J))*DTR) - enddo - end if - else - do i=1,im - wrk3(i,j) = 1.0 / ((GDLAT(I,J-1)-GDLAT(I,J+1))*DTR) !1/dphi - enddo - endif - ENDDO - -!$omp parallel do private(i,j,ip1,im1,ii,jj) - DO J=JSTA,JEND - IF(J == 1) then ! Near North pole - if(gdlat(1,j) > 0.) then ! count from north to south - IF(cosl(1,j) >= SMALL) THEN !not a pole point - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - ii = i + imb2 - if (ii > im) ii = ii - im - PSX(I,J) = (PS(ip1,J)-PS(im1,J))*wrk2(i,j)*wrk1(i,j) - PSY(I,J) = (PS(II,J)-PS(I,J+1))*wrk3(i,j)/ERAD - enddo - ELSE !North pole point, compute at j=2 - jj = 2 - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - PSX(I,J) = (PS(ip1,jj)-PS(im1,jj))*wrk2(i,jj)*wrk1(i,jj) - PSY(I,J) = (PS(I,J)-PS(I,jj+1))*wrk3(i,jj)/ERAD - enddo - ENDIF - else - IF(cosl(1,j) >= SMALL) THEN !not a pole point - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - ii = i + imb2 - if (ii > im) ii = ii - im - PSX(I,J) = (PS(ip1,J)-PS(im1,J))*wrk2(i,j)*wrk1(i,j) - PSY(I,J) = - (PS(II,J)-PS(I,J+1))*wrk3(i,j)/ERAD - enddo - ELSE !North pole point, compute at j=2 - jj = 2 - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - PSX(I,J) = (PS(ip1,jj)-PS(im1,jj))*wrk2(i,jj)*wrk1(i,jj) - PSY(I,J) = - (PS(I,J)-PS(I,jj+1))*wrk3(i,jj)/ERAD - enddo - ENDIF - endif - ELSE IF(J == JM) THEN ! Near South pole - if(gdlat(1,j) < 0.) then ! count from north to south - IF(cosl(1,j) >= SMALL) THEN !not a pole point - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - ii = i + imb2 - if (ii > im) ii = ii - im - PSX(I,J) = (PS(ip1,J)-PS(im1,J))*wrk2(i,j)*wrk1(i,j) - PSY(I,J) = (PS(I,J-1)-PS(II,J))*wrk3(i,j)/ERAD - enddo - ELSE !South pole point,compute at jm-1 - jj = jm-1 - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - PSX(I,J) = (PS(ip1,JJ)-PS(im1,JJ))*wrk2(i,jj)*wrk1(i,jj) - PSY(I,J) = (PS(I,jj-1)-PS(I,J))*wrk3(i,jj)/ERAD - enddo - ENDIF - else - IF(cosl(1,j) >= SMALL) THEN !not a pole point - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - ii = i + imb2 - if (ii > im) ii = ii - im - PSX(I,J) = (PS(ip1,J)-PS(im1,J))*wrk2(i,j)*wrk1(i,j) - PSY(I,J) = - (PS(I,J-1)-PS(II,J))*wrk3(i,j)/ERAD - enddo - ELSE !South pole point,compute at jm-1 - jj = jm-1 - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - PSX(I,J) = (PS(ip1,JJ)-PS(im1,JJ))*wrk2(i,jj)*wrk1(i,jj) - PSY(I,J) = - (PS(I,jj-1)-PS(I,J))*wrk3(i,jj)/ERAD - enddo - ENDIF - endif - ELSE - DO I=1,IM - ip1 = ie(i) - im1 = iw(i) - PSX(I,J) = (PS(ip1,J)-PS(im1,J))*wrk2(i,j)*wrk1(i,j) - PSY(I,J) = (PS(I,J-1)-PS(I,J+1))*wrk3(i,j)/ERAD -!sk06142016A - if(PSX(I,J)>100.0)print*,'Debug in CALGRADPS: PSX',i,j,PS(ip1,J),PS(im1,J), & -! print*,'Debug in CALGRADPS',i,j,PS(ip1,J),PS(im1,J), & - & wrk2(i,j),wrk1(i,j),PSX(I,J) - if(PSY(I,J)>100.0)print*,'Debug in CALGRADPS: PSY',i,j,PS(i,J-1),PS(i,J+1), & -! print*,'Debug in CALGRADPS',i,j,PS(i,J-1),PS(i,J+1), & - & wrk3(i,j),ERAD,PSY(I,J) -!-- - ENDDO - END IF -! - ENDDO ! end of J loop - - deallocate (wrk1, wrk2, wrk3, cosl, iw, ie) - -! END IF - - END SUBROUTINE CALGRADPS diff --git a/sorc/ncep_post.fd/CALWXT.f b/sorc/ncep_post.fd/CALWXT.f index a50a6065cb..48aac13323 100644 --- a/sorc/ncep_post.fd/CALWXT.f +++ b/sorc/ncep_post.fd/CALWXT.f @@ -10,6 +10,7 @@ SUBROUTINE CALWXT_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX,ZWET) ! 05-07-07 BINBIN ZHOU - ADD PREC FOR RSM ! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT ! 21-07-26 Wen Meng - Restrict computation from undefined grids +! 21-10-31 JESSE MENG - 2D DECOMPOSITION ! ! ! ROUTINE TO COMPUTE PRECIPITATION TYPE USING A DECISION TREE @@ -22,19 +23,20 @@ SUBROUTINE CALWXT_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX,ZWET) ! use params_mod, only: h1m12, d00, d608, h1, rog use ctlblk_mod, only: jsta, jend, spval, modelname,pthresh, im, & - jsta_2l, jend_2u, lm, lp1 + jsta_2l, jend_2u, lm, lp1, & + ista, iend, ista_2l, iend_2u !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! ! INPUT: ! T,Q,PMID,HTM,LMH,PREC,ZINT ! - real,dimension(IM,jsta_2l:jend_2u),intent(in) :: LMH - real,dimension(IM,jsta_2l:jend_2u,LM),intent(in) :: T,Q,PMID,HTM - real,dimension(IM,jsta_2l:jend_2u,LP1),intent(in) :: ZINT,PINT - integer,DIMENSION(IM,jsta:jend),intent(inout) :: IWX - real,dimension(IM,jsta_2l:jend_2u),intent(inout) :: PREC - real,DIMENSION(IM,jsta:jend),intent(inout) :: ZWET + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(in) :: LMH + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u,LM),intent(in) :: T,Q,PMID,HTM + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u,LP1),intent(in) :: ZINT,PINT + integer,DIMENSION(ista:iend,jsta:jend),intent(inout) :: IWX + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(inout) :: PREC + real,DIMENSION(ista:iend,jsta:jend),intent(inout) :: ZWET ! OUTPUT: @@ -49,8 +51,8 @@ SUBROUTINE CALWXT_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX,ZWET) ! INTERNAL: ! REAL, ALLOCATABLE :: TWET(:,:,:) - integer,DIMENSION(IM,jsta:jend) :: KARR,LICEE - real, DIMENSION(IM,jsta:jend) :: TCOLD,TWARM + integer,DIMENSION(ista:iend,jsta:jend) :: KARR,LICEE + real, DIMENSION(ista:iend,jsta:jend) :: TCOLD,TWARM logical :: jcontinue=.true. ! SUBROUTINES CALLED: @@ -69,12 +71,12 @@ SUBROUTINE CALWXT_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX,ZWET) real PSFCK,TDCHK,A,TDKL,TDPRE,TLMHK,TWRMK,AREAS8,AREAP4, & SURFW,SURFC,DZKL,AREA1,PINTK1,PINTK2,PM150,PKL,TKL,QKL - ALLOCATE ( TWET(IM,JSTA_2L:JEND_2U,LM) ) + ALLOCATE ( TWET(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LM) ) ! !!$omp parallel do DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IWX(I,J) = 0 ZWET(I,J) = SPVAL ! if (I == 324 .and. J == 390) then @@ -88,7 +90,7 @@ SUBROUTINE CALWXT_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX,ZWET) IF(MODELNAME=='RSM') THEN !add by Binbin because of different unit DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PREC(I,J) = PREC(I,J)*3*3600.0 ENDDO ENDDO @@ -98,7 +100,7 @@ SUBROUTINE CALWXT_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX,ZWET) ! !!$omp parallel do private(a,lmhk,pkl,psfck,qkl,tdchk,tdkl,tdpre,tkl) DO 800 J=JSTA,JEND - DO 800 I=1,IM + DO 800 I=ISTA,IEND LMHK=NINT(LMH(I,J)) ! ! SKIP THIS POINT IF NO PRECIP THIS TIME STEP @@ -155,7 +157,7 @@ SUBROUTINE CALWXT_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX,ZWET) ! LOWEST LAYER T ! DO 850 J=JSTA,JEND - DO 850 I=1,IM + DO 850 I=ISTA,IEND KARR(I,J)=0 IF (PREC(I,J)<=PTHRESH) cycle LMHK=NINT(LMH(I,J)) @@ -195,7 +197,7 @@ SUBROUTINE CALWXT_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX,ZWET) ! & lmhk,pintk1,pintk2,pm150,psfck,surfc,surfw, & ! & tlmhk,twrmk) DO 1900 J=JSTA,JEND - DO 1900 I=1,IM + DO 1900 I=ISTA,IEND ! IF (I == 324 .AND. J == 390) THEN ! LMHK=NINT(LMH(I,J)) ! DO L=LMHK,1,-1 @@ -318,7 +320,7 @@ SUBROUTINE CALWXT_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX,ZWET) IF(MODELNAME == 'RSM') THEN !add by Binbin, change back !!$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PREC(I,J) = PREC(I,J)/(3*3600.0) ENDDO ENDDO diff --git a/sorc/ncep_post.fd/CALWXT_BOURG.f b/sorc/ncep_post.fd/CALWXT_BOURG.f index aef3300f10..33530da505 100644 --- a/sorc/ncep_post.fd/CALWXT_BOURG.f +++ b/sorc/ncep_post.fd/CALWXT_BOURG.f @@ -1,84 +1,101 @@ !> @file -! -!> Subprogram: calwxt_bourg Calculate precipitation type (Bourgouin) -!! Prgmmr: Baldwin Org: np22 Date: 1999-07-06 -!! -!! Abstract: This routine computes precipitation type -!! using a decision tree approach that uses the so-called -!! "energy method" of Bourgouin of AES (Canada) 1992 -!! -!! Program history log: -!! 1999-07-06 M Baldwin -!! 1999-09-20 M Baldwin make more consistent with bourgouin (1992) -!! 2005-08-24 G Manikin added to wrf post -!! 2007-06-19 M Iredell mersenne twister, best practices -!! 2015-00-00 S Moorthi changed random number call and optimization and cleanup -!! -!! Usage: call calwxt_bourg(im,jm,jsta_2l,jend_2u,jsta,jend,lm,lp1, & -!! & iseed,g,pthresh, & -!! & t,q,pmid,pint,lmh,prec,zint,ptype) -!! Input argument list: -!! im integer i dimension -!! jm integer j dimension -!! jsta_2l integer j dimension start point (including haloes) -!! jend_2u integer j dimension end point (including haloes) -!! jsta integer j dimension start point (excluding haloes) -!! jend integer j dimension end point (excluding haloes) -!! lm integer k dimension -!! lp1 integer k dimension plus 1 -!! iseed integer random number seed -!! g real gravity (m/s**2) -!! pthresh real precipitation threshold (m) -!! t real(im,jsta_2l:jend_2u,lm) mid layer temp (K) -!! q real(im,jsta_2l:jend_2u,lm) specific humidity (kg/kg) -!! pmid real(im,jsta_2l:jend_2u,lm) mid layer pressure (Pa) -!! pint real(im,jsta_2l:jend_2u,lp1) interface pressure (Pa) -!! lmh real(im,jsta_2l:jend_2u) max number of layers -!! prec real(im,jsta_2l:jend_2u) precipitation (m) -!! zint real(im,jsta_2l:jend_2u,lp1) interface height (m) -!! Output argument list: -!! ptype integer(im,jm) instantaneous weather type () -!! acts like a 4 bit binary -!! 1111 = rain/freezing rain/ice pellets/snow -!! where the one's digit is for snow -!! the two's digit is for ice pellets -!! the four's digit is for freezing rain -!! and the eight's digit is for rain -!! in other words... -!! ptype=1 snow -!! ptype=2 ice pellets/mix with ice pellets -!! ptype=4 freezing rain/mix with freezing rain -!! ptype=8 rain -!! -!! Modules used: -!! mersenne_twister pseudo-random number generator -!! -!! Subprograms called: -!! random_number pseudo-random number generator -!! -!! Attributes: -!! Language: Fortran 90 -!! -!! Remarks: vertical order of arrays must be layer 1 = top -!! and layer lmh = bottom -!! -!! - - subroutine calwxt_bourg_post(im,jm,jsta_2l,jend_2u,jsta,jend,lm,lp1, & +!> @brief Subroutine that calculates precipitation type (Bourgouin). +!> +!> This routine computes precipitation type. +!> using a decision tree approach that uses the so-called +!> "energy method" of Bourgouin of AES (Canada) 1992. +!> +!> @param[in] im integer i dimension. +!> @param[in] jm integer j dimension. +!> @param[in] jsta_2l integer j dimension start point (including haloes). +!> @param[in] jend_2u integer j dimension end point (including haloes). +!> @param[in] jsta integer j dimension start point (excluding haloes). +!> @param[in] jend integer j dimension end point (excluding haloes). +!> @param[in] lm integer k dimension. +!> @param[in] lp1 integer k dimension plus 1. +!> @param[in] iseed integer random number seed. +!> @param[in] g real gravity (m/s**2). +!> @param[in] pthresh real precipitation threshold (m). +!> @param[in] t real(im,jsta_2l:jend_2u,lm) mid layer temp (K). +!> @param[in] q real(im,jsta_2l:jend_2u,lm) specific humidity (kg/kg). +!> @param[in] pmid real(im,jsta_2l:jend_2u,lm) mid layer pressure (Pa). +!> @param[in] pint real(im,jsta_2l:jend_2u,lp1) interface pressure (Pa). +!> @param[in] lmh real(im,jsta_2l:jend_2u) max number of layers. +!> @param[in] prec real(im,jsta_2l:jend_2u) precipitation (m). +!> @param[in] zint real(im,jsta_2l:jend_2u,lp1) interface height (m). +!> @param[out] ptype integer(im,jm) instantaneous weather type () acts like a 4 bit binary 1111 = rain/freezing rain/ice pellets/snow. +!>
+!>                   where the one's digit is for snow
+!>                         the two's digit is for ice pellets
+!>                         the four's digit is for freezing rain
+!>                         and the eight's digit is for rain
+!>                         in other words...
+!>                         ptype=1 snow
+!>                         ptype=2 ice pellets/mix with ice pellets
+!>                         ptype=4 freezing rain/mix with freezing rain
+!>                         ptype=8 rain
+!>
+!> @param[in] me integer Identifier for the processor used in the current instance. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1999-07-06 | M Baldwin | Initial +!> 1999-09-20 | M Baldwin | make more consistent with bourgouin (1992) +!> 2005-08-24 | G Manikin | added to wrf post +!> 2007-06-19 | M Iredell | mersenne twister, best practices +!> 2015-??-?? | S Moorthi | changed random number call and optimization and cleanup +!> 2021-10-31 | J Meng | 2D DECOMPOSITION +!> +!> Remarks: vertical order of arrays must be layer 1 = top +!> and layer lmh = bottom +!> +!> @author M Baldwin np22 @date 1999-07-06 +!-------------------------------------------------------------------------------------- +!> @brief calwxt_bourg_post Subroutine that calculates precipitation type (Bourgouin). +!> +!> @param[in] im integer i dimension. +!> @param[in] ista_2l integer i dimension start point (including haloes). +!> @param[in] iend_2u integer i dimension end point (including haloes). +!> @param[in] ista integer i dimension start point (excluding haloes). +!> @param[in] iend integer i dimension end point (excluding haloes). +!> @param[in] jm integer j dimension. +!> @param[in] jsta_2l integer j dimension start point (including haloes). +!> @param[in] jend_2u integer j dimension end point (including haloes). +!> @param[in] jsta integer j dimension start point (excluding haloes). +!> @param[in] jend integer j dimension end point (excluding haloes). +!> @param[in] lm integer k dimension. +!> @param[in] lp1 integer k dimension plus 1. +!> @param[in] iseed integer random number seed. +!> @param[in] g real gravity (m/s**2). +!> @param[in] pthresh real precipitation threshold (m). +!> @param[in] t real(im,jsta_2l:jend_2u,lm) mid layer temp (K). +!> @param[in] q real(im,jsta_2l:jend_2u,lm) specific humidity (kg/kg). +!> @param[in] pmid real(im,jsta_2l:jend_2u,lm) mid layer pressure (Pa). +!> @param[in] pint real(im,jsta_2l:jend_2u,lp1) interface pressure (Pa). +!> @param[in] lmh real(im,jsta_2l:jend_2u) max number of layers. +!> @param[in] prec real(im,jsta_2l:jend_2u) precipitation (m). +!> @param[in] zint real(im,jsta_2l:jend_2u,lp1) interface height (m). +!> @param[out] ptype integer(im,jm) instantaneous weather type () acts like a 4 bit binary 1111 = rain/freezing rain/ice pellets/snow. +!> @param[in] me integer Identifier for the processor used in the current instance. +!------------------------------------------------------------------------------------------------------------ + subroutine calwxt_bourg_post(im,ista_2l,iend_2u,ista,iend,jm, & + & jsta_2l,jend_2u,jsta,jend,lm,lp1, & & iseed,g,pthresh, & & t,q,pmid,pint,lmh,prec,zint,ptype,me) implicit none ! ! input: - integer,intent(in):: im,jm,jsta_2l,jend_2u,jsta,jend,lm,lp1,iseed,me + integer,intent(in):: im,jm,jsta_2l,jend_2u,jsta,jend,lm,lp1,iseed,me,& + ista_2l,iend_2u,ista,iend real,intent(in):: g,pthresh - real,intent(in), dimension(im,jsta_2l:jend_2u,lm) :: t, q, pmid - real,intent(in), dimension(im,jsta_2l:jend_2u,lp1) :: pint, zint - real,intent(in), dimension(im,jsta_2l:jend_2u) :: lmh, prec + real,intent(in), dimension(ista_2l:iend_2u,jsta_2l:jend_2u,lm) :: t, q, pmid + real,intent(in), dimension(ista_2l:iend_2u,jsta_2l:jend_2u,lp1) :: pint, zint + real,intent(in), dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: lmh, prec ! ! output: ! real,intent(out) :: ptype(im,jm) - integer,intent(out) :: ptype(im,jsta:jend) + integer,intent(out) :: ptype(ista:iend,jsta:jend) ! integer i,j,ifrzl,iwrml,l,lhiwrm,lmhk,jlen real pintk1,areane,tlmhk,areape,pintk2,surfw,area1,dzkl,psfck,r1,r2 @@ -97,7 +114,7 @@ subroutine calwxt_bourg_post(im,jm,jsta_2l,jend_2u,jsta,jend,lm,lp1, & ! !$omp parallel do do j=jsta,jend - do i=1,im + do i=ista,iend ptype(i,j) = 0 enddo enddo @@ -117,7 +134,7 @@ subroutine calwxt_bourg_post(im,jm,jsta_2l,jend_2u,jsta,jend,lm,lp1, & do j=jsta,jend ! if(me==1)print *,'incalwxtbg, j=',j - do i=1,im + do i=ista,iend lmhk = min(nint(lmh(i,j)),lm) psfck = pint(i,j,lmhk+1) ! diff --git a/sorc/ncep_post.fd/CALWXT_DOMINANT.f b/sorc/ncep_post.fd/CALWXT_DOMINANT.f index 6d397be452..7912d80fd4 100644 --- a/sorc/ncep_post.fd/CALWXT_DOMINANT.f +++ b/sorc/ncep_post.fd/CALWXT_DOMINANT.f @@ -1,28 +1,32 @@ SUBROUTINE CALWXT_DOMINANT_POST(PREC,RAIN,FREEZR,SLEET,SNOW, & & DOMR,DOMZR,DOMIP,DOMS) ! -! WRITTEN: 24 AUGUST 2005, G MANIKIN +! WRITTEN: 24 AUGUST 2005, G MANIKIN +! +! PROGRAM HISTORY LOG: +! 21-10-31 JESSE MENG - 2D DECOMPOSITION ! ! THIS ROUTINE TAKES THE PRECIP TYPE SOLUTIONS FROM DIFFERENT ! ALGORITHMS AND SUMS THEM UP TO GIVE A DOMINANT TYPE ! ! use params_mod - use ctlblk_mod, only: jsta, jend, pthresh, im, jsta_2l, jend_2u + use ctlblk_mod, only: jsta, jend, pthresh, im, jsta_2l, jend_2u, & + ista, iend, ista_2l, iend_2u ! use ctlblk_mod !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! integer,PARAMETER :: NALG=5 ! INPUT: - REAL PREC(IM,jsta_2l:jend_2u) - real,DIMENSION(IM,jsta:jend), intent(inout) :: DOMS,DOMR,DOMZR,DOMIP - real,DIMENSION(IM,jsta:jend,NALG),intent(in) :: RAIN,SNOW,SLEET,FREEZR + REAL PREC(ista_2l:iend_2u,jsta_2l:jend_2u) + real,DIMENSION(ista:iend,jsta:jend), intent(inout) :: DOMS,DOMR,DOMZR,DOMIP + real,DIMENSION(ista:iend,jsta:jend,NALG),intent(in) :: RAIN,SNOW,SLEET,FREEZR integer I,J,L real TOTSN,TOTIP,TOTR,TOTZR !-------------------------------------------------------------------------- !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND DOMR(I,J) = 0. DOMS(I,J) = 0. DOMZR(I,J) = 0. @@ -32,7 +36,7 @@ SUBROUTINE CALWXT_DOMINANT_POST(PREC,RAIN,FREEZR,SLEET,SNOW, & ! !$omp parallel do private(i,j,totsn,totip,totr,totzr) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! SKIP THIS POINT IF NO PRECIP THIS TIME STEP IF (PREC(I,J) <= PTHRESH) cycle TOTSN = 0 diff --git a/sorc/ncep_post.fd/CALWXT_EXPLICIT.f b/sorc/ncep_post.fd/CALWXT_EXPLICIT.f index 36fb23d171..1b8b783676 100644 --- a/sorc/ncep_post.fd/CALWXT_EXPLICIT.f +++ b/sorc/ncep_post.fd/CALWXT_EXPLICIT.f @@ -5,10 +5,13 @@ SUBROUTINE CALWXT_EXPLICIT_POST(LMH,THS,PMID,PREC,SR,F_RIMEF,IWX) ! ! ROUTINE TO COMPUTE PRECIPITATION TYPE USING EXPLICIT FIELDS ! FROM THE MODEL MICROPHYSICS +! +! PROGRAM HISTORY LOG: +! 21-10-31 JESSE MENG - 2D DECOMPOSITION use params_mod, only: p1000, capa use ctlblk_mod, only: jsta, jend, modelname, pthresh, im, jsta_2l, & - jend_2u, lm + jend_2u, lm, ista, iend, ista_2l, iend_2u !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -16,9 +19,9 @@ SUBROUTINE CALWXT_EXPLICIT_POST(LMH,THS,PMID,PREC,SR,F_RIMEF,IWX) ! PARAMETERS: ! ! INPUT: - real,dimension(im,jsta_2l:jend_2u,lm),intent(in) :: F_RimeF, pmid - REAL,dimension(im,jsta_2l:jend_2u), intent(in) :: LMH, PREC, THS, SR - integer,dimension(im,jsta:jend), intent(inout) :: IWX + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u,lm),intent(in) :: F_RimeF, pmid + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(in) :: LMH, PREC, THS, SR + integer,dimension(ista:iend,jsta:jend), intent(inout) :: IWX integer I,J,LMHK real PSFC,TSKIN,SNOW ! @@ -26,7 +29,7 @@ SUBROUTINE CALWXT_EXPLICIT_POST(LMH,THS,PMID,PREC,SR,F_RIMEF,IWX) ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IWX(I,J) = 0 ENDDO ENDDO @@ -34,7 +37,7 @@ SUBROUTINE CALWXT_EXPLICIT_POST(LMH,THS,PMID,PREC,SR,F_RIMEF,IWX) ! !$omp parallel do private(j,i,lmhk,psfc,tskin) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND LMHK=LMH(I,J) ! ! SKIP THIS POINT IF NO PRECIP THIS TIME STEP diff --git a/sorc/ncep_post.fd/CALWXT_RAMER.f b/sorc/ncep_post.fd/CALWXT_RAMER.f index b05f64922c..1985c67e16 100644 --- a/sorc/ncep_post.fd/CALWXT_RAMER.f +++ b/sorc/ncep_post.fd/CALWXT_RAMER.f @@ -7,9 +7,10 @@ ! Weather Systems, Vienna, VA, Amer. Meteor. Soc., 227-230. ! ! CODE ADAPTED FOR WRF POST 24 AUGUST 2005 G MANIKIN - +! ! PROGRAM HISTORY LOG: ! 10-30-19 Bo CUI - Remove "GOTO" statement +! 21-10-31 JESSE MENG - 2D DECOMPOSITION !ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ! SUBROUTINE CALWXT_RAMER_POST(T,Q,PMID,PINT,LMH,PREC,PTYP) @@ -24,7 +25,8 @@ SUBROUTINE CALWXT_RAMER_POST(T,Q,PMID,PINT,LMH,PREC,PTYP) ! + ptyp) ! output(2) phase 2=Rain, 3=Frzg, 4=Solid, ! 6=IP JC 9/16/99 use params_mod, only: pq0, a2, a3, a4 - use CTLBLK_mod, only: me, im, jsta_2l, jend_2u, lm, lp1, jsta, jend, pthresh + use CTLBLK_mod, only: me, im, jsta_2l, jend_2u, lm, lp1, jsta, jend, pthresh,& + ista, iend, ista_2l, iend_2u !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -37,13 +39,13 @@ SUBROUTINE CALWXT_RAMER_POST(T,Q,PMID,PINT,LMH,PREC,PTYP) INTEGER*4 i, k1, lll, k2, toodry, iflag, nq ! REAL xxx ,mye, icefrac,flg,flag - real,DIMENSION(IM,jsta_2l:jend_2u,LM), intent(in) :: T,Q,PMID - real,DIMENSION(IM,jsta_2l:jend_2u,LP1),intent(in) :: PINT - real,DIMENSION(IM,jsta_2l:jend_2u), intent(in) :: LMH,PREC - integer,DIMENSION(IM,jsta:jend), intent(inout) :: PTYP + real,DIMENSION(ista_2l:iend_2u,jsta_2l:jend_2u,LM), intent(in) :: T,Q,PMID + real,DIMENSION(ista_2l:iend_2u,jsta_2l:jend_2u,LP1),intent(in) :: PINT + real,DIMENSION(ista_2l:iend_2u,jsta_2l:jend_2u), intent(in) :: LMH,PREC + integer,DIMENSION(ista:iend,jsta:jend), intent(inout) :: PTYP ! - real,DIMENSION(IM,jsta_2l:jend_2u,LM) :: P,TQ,PQ,RHQ - real,DIMENSION(IM,jsta:jend,LM) :: TWQ + real,DIMENSION(ista_2l:iend_2u,jsta_2l:jend_2u,LM) :: P,TQ,PQ,RHQ + real,DIMENSION(ista:iend,jsta:jend,LM) :: TWQ ! REAL, ALLOCATABLE :: TWET(:,:,:) ! integer J,L,LEV,LNQ,LMHK,ii @@ -61,7 +63,7 @@ SUBROUTINE CALWXT_RAMER_POST(T,Q,PMID,PINT,LMH,PREC,PTYP) icefrac = flag ! DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PTYP(I,J) = 0 NQ=LMH(I,J) DO L = 1,NQ @@ -77,7 +79,7 @@ SUBROUTINE CALWXT_RAMER_POST(T,Q,PMID,PINT,LMH,PREC,PTYP) ! BIG LOOP DO 800 J=JSTA,JEND - DO 800 I=1,IM + DO 800 I=ISTA,IEND ! ! SKIP THIS POINT IF NO PRECIP THIS TIME STEP ! @@ -372,9 +374,7 @@ SUBROUTINE CALWXT_RAMER_POST(T,Q,PMID,PINT,LMH,PREC,PTYP) IF (trace) WRITE (*,*) "Returned ptyp is:ptyp,lll ", ptyp, lll,'me=',me IF (trace) WRITE (*,*) "Returned icefrac is: ", icefrac,'me=',me 800 CONTINUE - DO 900 J=JSTA,JEND - DO 900 I=1,IM - 900 CONTINUE + RETURN ! END @@ -471,7 +471,7 @@ FUNCTION xmytw_post(t,td,p) kd = td cflag = 0 END IF - if (kd == 0.0) write(0,*)' kd=',kd,' t=',t,' p=',p,' td=',td + if (kd == 0.0) write(*,*)' kd=',kd,' t=',t,' p=',p,' td=',td ! ed = c0 - c1 * kd - c2 / kd IF (ed<-14.0.or.ed>7.0) RETURN diff --git a/sorc/ncep_post.fd/CALWXT_REVISED.f b/sorc/ncep_post.fd/CALWXT_REVISED.f index c19134def3..792680d09b 100644 --- a/sorc/ncep_post.fd/CALWXT_REVISED.f +++ b/sorc/ncep_post.fd/CALWXT_REVISED.f @@ -11,6 +11,7 @@ SUBROUTINE CALWXT_REVISED_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX) ! 05-08-24 GEOFF MANIKIN - MODIFIED THE AREA REQUIREMENTS ! TO MAKE AN ALTERNATE ALGORITHM ! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT +! 21-10-31 JESSE MENG - 2D DECOMPOSITION ! ! ! ROUTINE TO COMPUTE PRECIPITATION TYPE USING A DECISION TREE @@ -27,7 +28,7 @@ SUBROUTINE CALWXT_REVISED_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX) ! use params_mod, only: h1m12, d00, d608, h1, rog use ctlblk_mod, only: jsta, jend, modelname, pthresh, im, jsta_2l, jend_2u, lm,& - lp1, spval + lp1, spval, ista, iend, ista_2l, iend_2u !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -38,10 +39,10 @@ SUBROUTINE CALWXT_REVISED_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX) ! ! INPUT: ! T,Q,PMID,HTM,LMH,PREC,ZINT - REAL,dimension(IM,jsta_2l:jend_2u,LM), intent(in) :: T,Q,PMID,HTM - REAL,dimension(IM,jsta_2l:jend_2u,LP1),intent(in) :: PINT,ZINT - REAL,dimension(IM,jsta_2l:jend_2u), intent(in) :: LMH - REAL,dimension(IM,jsta_2l:jend_2u), intent(in) :: PREC + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u,LM), intent(in) :: T,Q,PMID,HTM + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u,LP1),intent(in) :: PINT,ZINT + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(in) :: LMH + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(in) :: PREC ! OUTPUT: ! IWX - INSTANTANEOUS WEATHER TYPE. ! ACTS LIKE A 4 BIT BINARY @@ -50,12 +51,12 @@ SUBROUTINE CALWXT_REVISED_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX) ! THE TWO'S DIGIT IS FOR ICE PELLETS ! THE FOUR'S DIGIT IS FOR FREEZING RAIN ! AND THE EIGHT'S DIGIT IS FOR RAIN - integer, DIMENSION(IM,jsta:jend),intent(inout) :: IWX + integer, DIMENSION(ista:iend,jsta:jend),intent(inout) :: IWX ! INTERNAL: ! REAL, ALLOCATABLE :: TWET(:,:,:) - integer,DIMENSION(IM,jsta:jend) :: KARR,LICEE - real, dimension(IM,jsta:jend) :: TCOLD,TWARM + integer,DIMENSION(ista:iend,jsta:jend) :: KARR,LICEE + real, dimension(ista:iend,jsta:jend) :: TCOLD,TWARM ! integer I,J,L,LMHK,LICE,IFREL,IWRML,IFRZL real PSFCK,TDCHK,A,TDKL,TDPRE,TLMHK,TWRMK,AREAS8,AREAP4,AREA1, & @@ -75,11 +76,11 @@ SUBROUTINE CALWXT_REVISED_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX) ! ! ALLOCATE LOCAL STORAGE ! - ALLOCATE ( TWET(IM,JSTA_2L:JEND_2U,LM) ) + ALLOCATE ( TWET(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LM) ) ! !$omp parallel do DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IWX(I,J) = 0 ENDDO ENDDO @@ -88,7 +89,7 @@ SUBROUTINE CALWXT_REVISED_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX) !!$omp parallel do !!$omp& private(a,lmhk,pkl,psfck,qkl,tdchk,tdkl,tdpre,tkl) DO 800 J=JSTA,JEND - DO 800 I=1,IM + DO 800 I=ISTA,IEND LMHK=NINT(LMH(I,J)) ! ! SKIP THIS POINT IF NO PRECIP THIS TIME STEP @@ -145,7 +146,7 @@ SUBROUTINE CALWXT_REVISED_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX) ! LOWEST LAYER T ! DO 850 J=JSTA,JEND - DO 850 I=1,IM + DO 850 I=ISTA,IEND KARR(I,J)=0 IF (PREC(I,J)<=PTHRESH) cycle LMHK=NINT(LMH(I,J)) @@ -184,7 +185,7 @@ SUBROUTINE CALWXT_REVISED_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX) !!$omp& lmhk,pintk1,pintk2,pm150,psfck,surfc,surfw, !!$omp& tlmhk,twrmk) DO 1900 J=JSTA,JEND - DO 1900 I=1,IM + DO 1900 I=ISTA,IEND IF(KARR(I,J)>0)THEN LMHK=NINT(LMH(I,J)) LICE=LICEE(I,J) diff --git a/sorc/ncep_post.fd/CLDFRAC_ZHAO.f b/sorc/ncep_post.fd/CLDFRAC_ZHAO.f index 444106b7e2..b7de36b037 100644 --- a/sorc/ncep_post.fd/CLDFRAC_ZHAO.f +++ b/sorc/ncep_post.fd/CLDFRAC_ZHAO.f @@ -38,6 +38,8 @@ subroutine progcld1 & ! 04-15-2003 yu-tai hou - rewritten in frotran 90 ! ! modulized form, seperate prognostic and diagnostic methods ! ! into two packages. ! +! 01-23-2025 alyson stahl - fixed out of bounds bug in ! +! iflip !=0 case ! ! ! ! usage: call progcld1 ! ! ! @@ -190,7 +192,7 @@ subroutine progcld1 & kinver (i) = NLAY enddo - do k = 2, NLAY + do k = 2, NLAY-1 !$omp parallel do private(i,tem1) do i = 1, IX if (plyr(i,k) > 600.0 .and. (.not.inversn(i))) then diff --git a/sorc/ncep_post.fd/CLDRAD.f b/sorc/ncep_post.fd/CLDRAD.f index d8c1eb1439..1dfbc2bbfa 100644 --- a/sorc/ncep_post.fd/CLDRAD.f +++ b/sorc/ncep_post.fd/CLDRAD.f @@ -1,103 +1,104 @@ !> @file -! . . . -!> SUBPROGRAM: CLDRAD POST SNDING/CLOUD/RADTN FIELDS -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-08-30 -!! -!! ABSTRACT: THIS ROUTINE COMPUTES/POSTS SOUNDING, CLOUD -!! RELATED, AND RADIATION FIELDS. UNDER THE HEADING OF -!! SOUNDING FIELDS FALL THE THREE ETA MODEL LIFTED INDICES, -!! CAPE, CIN, AND TOTAL COLUMN PRECIPITABLE WATER. -!! -!! THE THREE ETA MODEL LIFTED INDICES DIFFER ONLY IN THE -!! DEFINITION OF THE PARCEL TO LIFT. ONE LIFTS PARCELS FROM -!! THE LOWEST ABOVE GROUND ETA LAYER. ANOTHER LIFTS MEAN -!! PARCELS FROM ANY OF NBND BOUNDARY LAYERS (SEE SUBROUTINE -!! BNDLYR). THE FINAL TYPE OF LIFTED INDEX IS A BEST LIFTED -!! INDEX BASED ON THE NBND BOUNDARY LAYER LIFTED INDICES. -!! -!! TWO TYPES OF CAPE/CIN ARE AVAILABLE. ONE IS BASED ON PARCELS -!! IN THE LOWEST ETA LAYER ABOVE GROUND. THE OTHER IS BASED -!! ON A LAYER MEAN PARCEL IN THE N-TH BOUNDARY LAYER ABOVE -!! THE GROUND. SEE SUBROUTINE CALCAPE FOR DETAILS. -!! -!! THE CLOUD FRACTION AND LIQUID CLOUD WATER FIELDS ARE DIRECTLY -!! FROM THE MODEL WITH MINIMAL POST PROCESSING. THE LIQUID -!! CLOUD WATER, 3-D CLOUD FRACTION, AND TEMPERATURE TENDENCIES -!! DUE TO PRECIPITATION ARE NOT POSTED IN THIS ROUTINE. SEE -!! SUBROUTINE ETAFLD FOR THESE FIELDS. LIFTING CONDENSATION -!! LEVEL HEIGHT AND PRESSURE ARE COMPUTED AND POSTED IN -!! SUBROUTINE MISCLN. -!! -!! THE RADIATION FIELDS POSTED BY THIS ROUTINE ARE THOSE COMPUTED -!! DIRECTLY IN THE MODEL. -!! -!! PROGRAM HISTORY LOG: -!! 93-08-30 RUSS TREADON -!! 94-08-04 MICHAEL BALDWIN - ADDED OUTPUT OF INSTANTANEOUS SFC -!! FLUXES OF NET SW AND LW DOWN RADIATION -!! 97-04-25 MICHAEL BALDWIN - FIX PDS FOR PRECIPITABLE WATER -!! 97-04-29 GEOFF MANIKIN - MOVED CLOUD TOP TEMPS CALCULATION -!! TO THIS SUBROUTINE. CHANGED METHOD -!! OF DETERMINING WHERE CLOUD BASE AND -!! TOP ARE FOUND AND ADDED HEIGHT OPTION -!! FOR TOP AND BASE. -!! 98-04-29 GEOFF MANIKIN - CHANGED VALUE FOR CLOUD BASE/TOP PRESSURES -!! AND HEIGHTS FROM SPVAL TO -500 -!! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 98-07-17 MIKE BALDWIN - REMOVED LABL84 -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 00-02-22 GEOFF MANIKIN - CHANGED VALUE FOR CLOUD BASE/TOP PRESSURES -!! AND HEIGHTS FROM SPVAL TO -500 (WAS NOT IN -!! PREVIOUS IBM VERSION) -!! 01-10-22 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -!! 02-01-15 MIKE BALDWIN - WRF VERSION -!! 05-01-06 H CHUANG - ADD VARIOUS CLOUD FIELDS -!! 05-07-07 BINBIN ZHOU - ADD RSM MODEL -!! 05-08-30 BINBIN ZHOU - ADD CEILING and FLIGHT CONDITION RESTRICTION -!! 10-09-09 GEOFF MANIKIN - REVISED CALL TO CALCAPE -!! 11-02-06 Jun Wang - ADD GRIB2 OPTION -!! 11-12-14 SARAH LU - ADD AEROSOL OPTICAL PROPERTIES -!! 11-12-16 SARAH LU - ADD AEROSOL 2D DIAG FIELDS -!! 11-12-23 SARAH LU - CONSOLIDATE ALL GOCART FIELDS TO BLOCK 4 -!! 11-12-23 SARAH LU - ADD AOD AT ADDITIONAL CHANNELS -!! 12-04-03 Jun Wang - Add lftx and GFS convective cloud cover for grib2 -!! 13-05-06 Shrinivas Moorthi - Add cloud condensate to total precip water -!! 13-12-23 LU/Wang - READ AEROSOL OPTICAL PROPERTIES LUTS to compute dust aod, -!! non-dust aod, and use geos5 gocart LUTS -!! 15-??-?? S. Moorthi - threading, optimization, local dimension -!! 19-07-24 Li(Kate) Zhang Merge and update ARAH Lu's work from NGAC into FV3-Chem -!! 19-10-30 Bo CUI - Remove "GOTO" statement -!! 20-03-25 Jesse Meng - remove grib1 -!! 20-05-20 Jesse Meng - CALRH unification with NAM scheme -!! 20-11-10 Jesse Meng - USE UPP_PHYSICS MODULE -!! 21-02-08 Anning Cheng, read aod550, aod550_du/su/ss/oc/bc -!! directly from fv3gfs and output to grib2 by setting rdaod -!! 21-04-01 Jesse Meng - COMPUTATION ON DEFINED POINTS ONLY -!! -!! USAGE: CALL CLDRAD -!! INPUT ARGUMENT LIST: -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - RQSTFLD -!! CTLBLK -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : IBM SP -!! +!> @brief Subroutine that posts SNDING/CLOUD/RADTN fields. +!> +!> This routine computes/posts sounding cloud +!> related, and radiation fields. Under the heading of +!> sounding fields fall the three ETA model lifted indices, +!> CAPE, CIN, and total column precipitable water. +!> +!> The three ETA model lifted indices differ only in the +!> definition of the parcel to lift. One lifts parcels from +!> the lowest above ground ETA layer. Another lifts mean +!> parcels from any of NBND boundary layers (See subroutine +!> BNDLYR). The final type of lifted index is a best lifted +!> inden based on the NBND bouddary layer lifted indices. +!> +!> Two types of CAPE/CIN are available. One is based on parcels +!> in the lowest ETA layer above ground. The other is based +!> on a layer mean parcel in the N-th boundary layer above +!> the ground. See subroutine CALCAPE for details. +!> +!> The cloud fraction and liquid cloud water fields are directly +!> from the model with minimal post processing. The liquid +!> cloud water, 3-D cloud fraction, and temperature tendencies +!> due to precipotation are not posted in this routine. See +!> sunroutine ETAFLD for these fields. Lifting condensation +!> level height and pressure are computed and posted in +!> subroutine MISCLN. +!> +!> The radiation fields posted by this routine are those computed +!> directly in the model. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1993-08-30 | Russ Treadon | Initial +!> 1994-08-04 | Mike Baldwin | Added output of instantaneous SFC fluxes of net SW and LW down radiation +!> 1997-04-25 | Mike Baldwin | Fix PDS for precipitable water +!> 1997-04-29 | Geoff Manikin | Moved cloud top temps calculation to this subroutine. Changed method of determining where cloud base and top are found and added height option for top and base +!> 1998-04-29 | Geoff Manikin | Changed value for cloud base/top pressures and heights from SPVAL to -500 +!> 1998-06-15 | T Black | Conversion from 1-D to 2-D +!> 1998-07-17 | Mike Baldwin | Removed LABL84 +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2000-02-22 | Geoff Manikin | Changed value for cloud base/top pressures and heights from SPVAL to -500 (was not in previous IBM version) +!> 2001-10-22 | H Chuang | Modified to process hybrid model output +!> 2002-01-15 | Mike Baldwin | WRF version +!> 2005-01-06 | H Chuang | Add various cloud fields +!> 2005-07-07 | Binbin Zhou | Add RSM model +!> 2005-08-30 | Binbin Zhou | Add ceiling and flight condition restriction +!> 2010-09-09 | Geoff Manikin | Revised call to CALCAPE +!> 2011-02-06 | Jun Wang | Add GRIB2 Option +!> 2011-12-14 | Sarah Lu | Add Aerosol optical properties +!> 2011-12-16 | Sarah Lu | Add Aerosol 2D DIAG fields +!> 2011-12-23 | Sarah Lu | Consolidate all GOCART fields to BLOCK 4 +!> 2011-12-23 | Sarah Lu | Add AOD at additional channels +!> 2012-04-03 | Jun Wang | Add lftx and GFS convective cloud cover for grib2 +!> 2013-05-06 | Shrinivas Moorthi | Add cloud condensate to total precip water +!> 2013-12-23 | Lu/Wang | Read aerosol optical properties LUTS to compute dust aod, non-dust aod, and use geos5 gocart LUTS +!> 2015-??-?? | S. Moorthi | threading, optimization, local dimension +!> 2019-07-24 | Li(Kate) Zhang | Merge and update ARAH Lu's work from NGAC into FV3-Chem +!> 2019-10-30 | Bo Cui | Remove "GOTO" statement +!> 2020-03-25 | Jesse Meng | Remove grib1 +!> 2020-05-20 | Jesse Meng | CALRH unification with NAM scheme +!> 2020-11-10 | Jesse Meng | Use UPP_PHYSICS Module +!> 2021-02-08 | Anning Cheng | read aod550, aod550_du/su/ss/oc/bc directly from fv3gfs and output to grib2 by setting rdaod +!> 2021-04-01 | Jesse Meng | Computation on defined points only +!> 2022-09-22 | Li(Kate Zhang) | Remove duplicated GOCART output variables and add capbility for NASA GOCART (UFS-Aerosols). +!> 2022-09-22 | Li(Kate Zhang) | Update look-up table for NASA GOCART (UFS-Aerosols). +!> 2022-10-20 | Li(Kate Zhang) | Add nitrate look-up table and nitrate AOD for NASA GOCART (UFS-Aerosols). +!> 2022-11-16 | Eric James | Adding total column dust, biomass burning emissions, hourly wildfire potential from RRFS +!> 2022-1207 | Wen Meng | Add AOD for AQM +!> 2022-12-15 | Eric James | Modifying GSL exp2 ceiling diagnostic from HRRR, to correct a low bias in cloud cover +!> 2023-02-02 | Wen Meng | Remove GSL specified clear-sky upward/downward SW +!> 2023-02-10 | Eric James | Removing neighbourhood check from GSL exp2 ceiling diagnostic +!> 2023-02-23 | Eric James | Adding coarse PM from RRFS, and using AOD from FV3 for RRFS +!> 2023-04-04 | Li(Kate Zhang) | Add namelist optoin for CCPP-Chem (UFS-Chem) model. +!> 2023-04-17 | Eric James | Getting rid of special treatment for RRFS AOD (use RAP/HRRR approach) +!> 2023-09-26 | Jaymes Kenyon | For RRFS-FV3, use cloud fraction to diagnose cloud base/top (height and pressure) +!> 2024-04-23 | Eric James | Adding smoke emissions (ebb) from RRFS +!> 2024-05-01 | Jaymes Kenyon | Updates to the GSL exp-1 ceiling diagnostic +!> 2024-05-24 | Eric James | Correcting the vertical summing of biomass burning emissions (EBB) +!> 2025-04-14 | Jaymes Kenyon | 1) For RRFS-MPAS, use cloud fraction to diagnose cloud base/top, as was used +!> | for RRFS-FV3 (see comment on 2023-09-26) +!> | 2) Remove codes for parameters 409 and 406, corresponding to GSD/GSL cloud-top +!> | height and pressure, respectively, which used grid-scale hydrometeor mixing ratios. +!> | Current (2023 onward) GSL cloud-top diagnostics are now handled via +!> | MODELNAME / SUBMODELNAME logic, and use cloud fraction. +!> | 3) Remove code for parameter 798, corresponding to GSD/GSL cloud-base pressure. +!> | Similar to (2) above, GSL cloud base is now handled via MODELNAME / SUBMODELNAME +!> | logic, rather than a dedicated parameter number. +!> 2025-05-05 | Ben Blake | Add sanity checks for RRFSv1 implementation +!> 2025-05-08 | Jaymes Kenyon | For FV3 and MPAS applications, prevent cloud base from being diagnosed as below ground +!> +!> @author Russ Treadon W/NP2 @date 1993-08-30 +!--------------------------------------------------------------------------------- +!> @brief CLDRAD Subroutine that computes/posts SOUNDING/CLOUD/RADIATION fields. +!--------------------------------------------------------------------------------- + SUBROUTINE CLDRAD ! - use vrbls4d, only: DUST,SUSO, SALT, SOOT, WASO + use vrbls4d, only: DUST,SUSO, SALT, SOOT, WASO,NO3,NH4,EBB use vrbls3d, only: QQW, QQR, T, ZINT, CFR, QQI, QQS, Q, EXT, ZMID,PMID,& PINT, DUEM, DUSD, DUDP, DUWT, DUSV, SSEM, SSSD,SSDP,& SSWT, SSSV, BCEM, BCSD, BCDP, BCWT, BCSV, OCEM,OCSD,& @@ -107,27 +108,31 @@ SUBROUTINE CLDRAD HBOT, HBOTD, HBOTS, HTOP, HTOPD, HTOPS, FIS, PBLH, & PBOT, PBOTL, PBOTM, PBOTH, CNVCFR, PTOP, PTOPL, & PTOPM, PTOPH, TTOPL, TTOPM, TTOPH, PBLCFR, CLDWORK, & - ASWIN, AUVBIN, AUVBINC, ASWIN, ASWOUT,ALWOUT, ASWTOA,& + ASWIN, AUVBIN, AUVBINC, ASWOUT,ALWOUT, ASWTOA, & RLWTOA, CZMEAN, CZEN, RSWIN, ALWIN, ALWTOA, RLWIN, & SIGT4, RSWOUT, RADOT, RSWINC, ASWINC, ASWOUTC, & ASWTOAC, ALWOUTC, ASWTOAC, AVISBEAMSWIN, & - AVISDIFFSWIN, ASWINTOA, ASWINC, ASWTOAC, AIRBEAMSWIN,& + AVISDIFFSWIN, ASWINTOA, ASWTOAC, AIRBEAMSWIN, & AIRDIFFSWIN, DUSMASS, DUSMASS25, DUCMASS, DUCMASS25, & ALWINC, ALWTOAC, SWDDNI, SWDDIF, SWDNBC, SWDDNIC, & SWDDIFC, SWUPBC, LWDNBC, LWUPBC, SWUPT, & - TAOD5502D, AERSSA2D, AERASY2D, MEAN_FRP, LWP, IWP, & - AVGCPRATE, & + TAOD5502D, AERSSA2D, AERASY2D, MEAN_FRP, HWP, & + LWP, IWP, AVGCPRATE, & DUSTCB,SSCB,BCCB,OCCB,SULFCB,DUSTPM,SSPM,aod550, & - du_aod550,ss_aod550,su_aod550,oc_aod550,bc_aod550 + du_aod550,ss_aod550,su_aod550,oc_aod550,bc_aod550, & + PWAT,DUSTPM10,MAOD,NO3CB,NH4CB,aqm_aod550 use masks, only: LMH, HTM - use params_mod, only: TFRZ, D00, H99999, QCLDMIN, SMALL, D608, H1, ROG, & + use params_mod, only: TFRZ, D00, H99999, QCLDMIN, CFRmin_BASE_TOP, & + SMALL, D608, H1, ROG, & GI, RD, QCONV, ABSCOEFI, ABSCOEF, STBOL, PQ0, A2, & A3, A4 - use ctlblk_mod, only: JSTA, JEND, SPVAL, MODELNAME, GRIB, CFLD,DATAPD, & + use ctlblk_mod, only: JSTA, JEND, SPVAL, MODELNAME, SUBMODELNAME, & + GRIB, CFLD,DATAPD, & FLD_INFO, AVRAIN, THEAT, IFHR, IFMIN, AVCNVC, & TCLOD, ARDSW, TRDSW, ARDLW, NBIN_DU, TRDLW, IM, & - NBIN_SS, NBIN_OC, NBIN_BC, NBIN_SU, DTQ2, & - JM, LM, gocart_on, me, rdaod + NBIN_SS, NBIN_OC,NBIN_BC,NBIN_SU,NBIN_NO3,DTQ2, & + JM, LM, gocart_on, gccpp_on, nasa_on, me, rdaod, & + ISTA, IEND,aqf_on,TSRFC use rqstfld_mod, only: IGET, ID, LVLS, IAVBLFLD use gridspec_mod, only: dyval, gridtype use cmassi_mod, only: TRAD_ice @@ -144,10 +149,10 @@ SUBROUTINE CLDRAD ! ! LOGICAL,dimension(im,jm) :: NEED INTEGER :: lcbot,lctop,jc,ic !bsf - INTEGER,dimension(im,jsta:jend) :: IBOTT, IBOTCu, IBOTDCu, IBOTSCu, IBOTGr, & + INTEGER,dimension(ista:iend,jsta:jend) :: IBOTT, IBOTCu, IBOTDCu, IBOTSCu, IBOTGr, & ITOPT, ITOPCu, ITOPDCu, ITOPSCu, ITOPGr REAL,dimension(im,jm) :: GRID1 - REAL,dimension(im,jsta:jend) :: GRID2, EGRID1, EGRID2, EGRID3, & + REAL,dimension(ista:iend,jsta:jend) :: GRID2, EGRID1, EGRID2, EGRID3, & CLDP, CLDZ, CLDT, CLDZCu REAL,dimension(lm) :: RHB, watericetotal, pabovesfc REAL :: watericemax, wimin, zcldbase, zcldtop, zpbltop, & @@ -164,10 +169,10 @@ SUBROUTINE CLDRAD real,dimension(im,jm) :: ceil ! B ZHOU: For aviation: - REAL, dimension(im,jsta:jend) :: TCLD, CEILING + REAL, dimension(ista:iend,jsta:jend) :: TCLD, CEILING real CU_ir(LM), q_conv !bsf !jw - integer I,J,L,K,IBOT,ITCLOD,LBOT,LTOP,ITRDSW,ITRDLW, & + integer I,J,L,K,IBOT,ITCLOD,LBOT,LTOP,ITRDSW,ITRDLW,ITSRFC, & LLMH,ITHEAT,IFINCR,ITYPE,ITOP,NUM_THICK real DPBND,RRNUM,QCLD,RSUM,TLMH,FACTRS,FACTRL,DP, & OPDEPTH, TMP,QSAT,RHUM,TCEXT,DELZ,DELY,DY_m @@ -175,8 +180,9 @@ SUBROUTINE CLDRAD real FULL_CLD(IM,JM) !-- Must be dimensioned for the full domain real, allocatable :: full_ceil(:,:), full_fis(:,:) ! - real dummy(IM,jsta:jend) - integer idummy(IM,jsta:jend) + real dummy(ista:iend,jsta:jend) + integer idummy(ista:iend,jsta:jend) + real full_dummy(im,jm) ! ! --- Revision added for GOCART --- @@ -187,61 +193,59 @@ SUBROUTINE CLDRAD integer, parameter :: KRHLEV = 36 ! num of rh levels for rh-dep components integer, parameter :: KCM1 = 5 ! num of rh independent aer species - integer, parameter :: KCM2 = 5 ! num of rh dependent aer species + integer, parameter :: KCM2 = 6 ! num of rh dependent aer species integer, parameter :: NBDSW = 7 ! total num of sw bands integer, parameter :: NOAER = 20 ! unit for LUTs file - integer, parameter :: nAero=KCM2 ! num of aer species in LUTs CHARACTER :: AerosolName(KCM2)*4, AerosolName_rd*4, aerosol_file*30 CHARACTER :: AerName_rd*4, AerOpt*3 ! - aerosol optical properties: mass extinction efficiency REAL, ALLOCATABLE :: extrhd_DU(:,:,:), extrhd_SS(:,:,:), & & extrhd_SU(:,:,:), extrhd_BC(:,:,:), & - & extrhd_OC(:,:,:) + & extrhd_OC(:,:,:), extrhd_NI(:,:,:) ! - aerosol optical properties: mass scattering efficienc REAL, ALLOCATABLE :: scarhd_DU(:,:,:), scarhd_SS(:,:,:), & & scarhd_SU(:,:,:), scarhd_BC(:,:,:), & - & scarhd_OC(:,:,:) + & scarhd_OC(:,:,:), scarhd_NI(:,:,:) ! - aerosol optical properties: asymmetry factor REAL, ALLOCATABLE :: asyrhd_DU(:,:,:), asyrhd_SS(:,:,:), & & asyrhd_SU(:,:,:), asyrhd_BC(:,:,:), & - & asyrhd_OC(:,:,:) + & asyrhd_OC(:,:,:), asyrhd_NI(:,:,:) ! - aerosol optical properties: single scatter albedo REAL, ALLOCATABLE :: ssarhd_DU(:,:,:), ssarhd_SS(:,:,:), & & ssarhd_SU(:,:,:), ssarhd_BC(:,:,:), & - & ssarhd_OC(:,:,:) + & ssarhd_OC(:,:,:), ssarhd_NI(:,:,:) ! --- aerosol optical properties mapped onto specified spectral bands ! - relative humidity independent aerosol optical properties: du - real (kind=kind_phys) :: extrhi(KCM1,NBDSW) ! extinction coefficient + real (kind=kind_phys) :: extrhi(KCM2,NBDSW) ! extinction coefficient ! - relative humidity dependent aerosol optical properties: oc, bc, su, ss001-005 real (kind=kind_phys) :: extrhd(KRHLEV,KCM2,NBDSW) ! extinction coefficient ! - REAL,dimension(im,jsta:jend) :: P1D,T1D,Q1D,EGRID4 + REAL,dimension(ista:iend,jsta:jend) :: P1D,T1D,Q1D,EGRID4 ! REAL, allocatable :: RH3D(:,:,:) ! RELATIVE HUMIDITY real, allocatable:: rdrh(:,:,:) integer, allocatable :: ihh(:,:,:) REAL :: rh3d, DRH0, DRH1, EXT01, EXT02,SCA01,ASY01 - INTEGER :: IH1, IH2 + INTEGER :: IH1, IH2,nAero INTEGER :: IOS, INDX, ISSAM, ISSCM, ISUSO, IWASO, ISOOT, NBIN REAL :: CCDRY, CCWET, SSAM, SSCM - REAL,dimension(im,jsta:jend) :: AOD_DU, AOD_SS, AOD_SU, AOD_OC, AOD_BC, AOD - REAL,dimension(im,jsta:jend) :: SCA_DU, SCA_SS, SCA_SU, SCA_OC,SCA_BC, SCA2D - REAL,dimension(im,jsta:jend) :: ASY_DU, ASY_SS, ASY_SU, ASY_OC, ASY_BC,ASY2D - REAL,dimension(im,jsta:jend) :: ANGST, AOD_440, AOD_860 ! FORANGSTROM EXPONENT + REAL,dimension(ista:iend,jsta:jend) :: AOD_DU, AOD_SS, AOD_SU, AOD_OC, AOD_BC, AOD_NI, AOD + REAL,dimension(ista:iend,jsta:jend) :: SCA_DU, SCA_SS, SCA_SU, SCA_OC,SCA_BC, SCA_NI,SCA2D + REAL,dimension(ista:iend,jsta:jend) :: ASY_DU, ASY_SS, ASY_SU, ASY_OC, ASY_BC,ASY_NI,ASY2D + REAL,dimension(ista:iend,jsta:jend) :: ANGST, AOD_440, AOD_860 ! FORANGSTROM EXPONENT REAL :: ANG1, ANG2 - INTEGER :: INDX_EXT(nAero), INDX_SCA(nAero) + INTEGER :: INDX_EXT(KCM2), INDX_SCA(KCM2) LOGICAL :: LAEROPT, LEXT, LSCA, LASY LOGICAL :: LAERSMASS REAL, allocatable :: fPM25_DU(:),fPM25_SS(:) REAL, allocatable, dimension(:,:) :: RHOsfc, smass_du_cr,smass_du_fn, & & smass_ss_cr, smass_ss_fn, smass_oc,smass_bc, & & smass_su, smass_cr, smass_fn - real :: rPM, dmass real (kind=kind_phys), dimension(KRHLEV) :: rhlev data rhlev (:)/ .0, .05, .10, .15, .20, .25, .30, .35, & & .40, .45, .50, .55, .60, .65, .70, .75, & @@ -249,11 +253,12 @@ SUBROUTINE CLDRAD & .88, .89, .90, .91, .92, .93, .94, .95, & & .96, .97, .98, .99/ ! - data AerosolName /'DUST', 'SALT', 'SUSO', 'SOOT', 'WASO'/ + data AerosolName /'DUST', 'SALT', 'SUSO', 'SOOT', 'WASO', 'NITR'/ ! INDEX FOR TOTAL AND SPECIATED AEROSOLS (DU, SS, SU, OC, BC) - data INDX_EXT / 610, 611, 612, 613, 614 / - data INDX_SCA / 651, 652, 653, 654, 655 / + data INDX_EXT / 610, 611, 612, 613, 614, 615 / + data INDX_SCA / 651, 652, 653, 654, 655, 687 / logical, parameter :: debugprint = .false. + logical :: Model_Pwat ! ! !************************************************************************* @@ -272,7 +277,7 @@ SUBROUTINE CLDRAD IF (IGET(030)>0.OR.IGET(572)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EGRID1(I,J) = SPVAL ENDDO ENDDO @@ -282,14 +287,14 @@ SUBROUTINE CLDRAD IF(MODELNAME == 'RAPR') THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(EGRID1(I,J) < SPVAL) GRID1(I,J) = EGRID1(I,J) ENDDO ENDDO ELSE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(EGRID1(I,J) < SPVAL) GRID1(I,J) = EGRID1(I,J) + TFRZ ENDDO ENDDO @@ -299,11 +304,12 @@ SUBROUTINE CLDRAD if(grib == "grib2" )then cfld = cfld+1 fld_info(cfld)%ifld = IAVBLFLD(IGET(030)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -314,12 +320,13 @@ SUBROUTINE CLDRAD cfld = cfld+1 fld_info(cfld)%ifld = IAVBLFLD(IGET(572)) ! where(GRID1 /= SPVAL) GRID1 = GRID1-TFRZ -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - if (grid1(i,jj) /= spval) grid1(i,jj) = grid1(i,jj) - tfrz - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + if (grid1(ii,jj) /= spval) grid1(ii,jj) = grid1(ii,jj) - tfrz + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -343,7 +350,7 @@ SUBROUTINE CLDRAD EGRID3,dummy,dummy) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(FIS(I,J) < SPVAL) GRID1(I,J) = EGRID1(I,J) ENDDO ENDDO @@ -351,11 +358,12 @@ SUBROUTINE CLDRAD if(grib == "grib2" )then cfld = cfld+1 fld_info(cfld)%ifld = IAVBLFLD(IGET(032)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -371,7 +379,7 @@ SUBROUTINE CLDRAD IF ( (LVLS(1,IGET(032)) > 0) )THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(FIS(I,J) < SPVAL) GRID1(I,J) = - EGRID2(I,J) ENDDO ENDDO @@ -385,7 +393,7 @@ SUBROUTINE CLDRAD EGRID3,dummy,dummy) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(FIS(I,J) < SPVAL) GRID1(I,J) = - EGRID2(I,J) ENDDO ENDDO @@ -393,18 +401,19 @@ SUBROUTINE CLDRAD CALL BOUND(GRID1,D00,H99999) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(FIS(I,J) < SPVAL) GRID1(I,J) = - GRID1(I,J) ENDDO ENDDO if(grib == "grib2" )then cfld = cfld+1 fld_info(cfld)%ifld = IAVBLFLD(IGET(107)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -417,21 +426,39 @@ SUBROUTINE CLDRAD IF (IGET(080) > 0) THEN ! dong GRID1 = spval - CALL CALPW(GRID1(1,jsta),1) + Model_Pwat = .false. + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(ABS(PWAT(I,J)-SPVAL)>SMALL) THEN + Model_Pwat = .true. + exit + ENDIF + END DO + END DO + IF (Model_Pwat) THEN + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = PWAT(I,J) + END DO + END DO + ELSE + CALL CALPW(GRID1(ista:iend,jsta:jend),1) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(FIS(I,J) >= SPVAL) GRID1(I,J)=spval END DO END DO + ENDIF CALL BOUND(GRID1,D00,H99999) if(grib == "grib2" )then cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET(080)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -441,16 +468,19 @@ SUBROUTINE CLDRAD ! TOTAL COLUMN AOD (TAOD553D FROM HRRR-SMOKE) ! IF (IGET(735) > 0) THEN - CALL CALPW(GRID1(1,jsta),19) + IF (MODELNAME == 'RAPR' .OR. MODELNAME == 'FV3R') THEN + CALL CALPW(GRID1(ista:iend,jsta:jend),19) CALL BOUND(GRID1,D00,H99999) + ENDIF if(grib == "grib2" )then cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET(735)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -460,16 +490,86 @@ SUBROUTINE CLDRAD ! TOTAL COLUMN FIRE SMOKE (tracer_1a FROM HRRR-SMOKE) ! IF (IGET(736) > 0) THEN - CALL CALPW(GRID1(1,jsta),18) + CALL CALPW(GRID1(ista:iend,jsta:iend),18) CALL BOUND(GRID1,D00,H99999) if(grib == "grib2" )then cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET(736)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF +! +! TOTAL COLUMN DUST +! + IF (IGET(741) > 0) THEN + CALL CALPW(GRID1(ista:iend,jsta:iend),22) + CALL BOUND(GRID1,D00,H99999) + if(grib == "grib2" )then + cfld = cfld + 1 + fld_info(cfld)%ifld = IAVBLFLD(IGET(741)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF +! +! TOTAL COLUMN COARSEPM +! + IF (IGET(1011) > 0) THEN + CALL CALPW(GRID1(ista:iend,jsta:iend),23) + CALL BOUND(GRID1,D00,H99999) + if(grib == "grib2" )then + cfld = cfld + 1 + fld_info(cfld)%ifld = IAVBLFLD(IGET(1011)) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF +! +! TOTAL COLUMN EBB (BIOMASS BURNING EMISSIONS) +! + IF (IGET(745) > 0) THEN +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + GRID1(ii,jj) = 0.0 + do k=1,lm + LL=LM-k+1 + if(EBB(ii,jj,k,1)/=spval)then + GRID1(ii,jj) = GRID1(ii,jj) + EBB(ii,jj,k,1)/(1E9) + endif + enddo + enddo + enddo + if(grib == "grib2" )then + cfld = cfld + 1 + fld_info(cfld)%ifld = IAVBLFLD(IGET(745)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -481,18 +581,18 @@ SUBROUTINE CLDRAD GRID2 = spval IF (MODELNAME == 'RAPR') THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(LWP(I,J) < SPVAL) GRID1(I,J) = LWP(I,J)/1000.0 ! use WRF-diagnosed value ENDDO ENDDO ELSE - CALL CALPW(GRID1(1,jsta),2) + CALL CALPW(GRID1(ista:iend,jsta:jend),2) IF(MODELNAME == 'GFS')then ! GFS combines cloud water and cloud ice, hoping to seperate them next implementation - CALL CALPW(GRID2(1,jsta),3) + CALL CALPW(GRID2(ista:iend,jsta:jend),3) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(GRID1(I,J) 0) THEN - CALL CALPW(GRID1(1,jsta),4) + CALL CALPW(GRID1(ista:iend,jsta:jend),4) CALL BOUND(GRID1,D00,H99999) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(202)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -578,16 +682,17 @@ SUBROUTINE CLDRAD ! ! TOTAL COLUMN SNOW IF (IGET(203) > 0) THEN - CALL CALPW(GRID1(1,jsta),5) + CALL CALPW(GRID1(ista:iend,jsta:jend),5) CALL BOUND(GRID1,D00,H99999) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(203)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -596,16 +701,17 @@ SUBROUTINE CLDRAD ! SRD ! TOTAL COLUMN GRAUPEL IF (IGET(428) > 0) THEN - CALL CALPW(GRID1(1,jsta),16) + CALL CALPW(GRID1(ista:iend,jsta:jend),16) CALL BOUND(GRID1,D00,H99999) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(428)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -614,16 +720,17 @@ SUBROUTINE CLDRAD ! TOTAL COLUMN CONDENSATE IF (IGET(204) > 0) THEN - CALL CALPW(GRID1(1,jsta),6) + CALL CALPW(GRID1(ista:iend,jsta:jend),6) CALL BOUND(GRID1,D00,H99999) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(204)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -631,16 +738,17 @@ SUBROUTINE CLDRAD ! ! TOTAL COLUMN SUPERCOOLED (<0C) LIQUID WATER IF (IGET(285) > 0) THEN - CALL CALPW(GRID1(1,jsta),7) + CALL CALPW(GRID1(ista:iend,jsta:jend),7) CALL BOUND(GRID1,D00,H99999) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(285)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -648,16 +756,17 @@ SUBROUTINE CLDRAD ! ! TOTAL COLUMN MELTING (>0C) ICE IF (IGET(286) > 0) THEN - CALL CALPW(GRID1(1,jsta),8) + CALL CALPW(GRID1(ista:iend,jsta:jend),8) CALL BOUND(GRID1,D00,H99999) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(286)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -665,15 +774,16 @@ SUBROUTINE CLDRAD ! ! TOTAL COLUMN SHORT WAVE T TENDENCY IF (IGET(290) > 0) THEN - CALL CALPW(GRID1(1,jsta),9) + CALL CALPW(GRID1(ista:iend,jsta:jend),9) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(290)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -681,15 +791,16 @@ SUBROUTINE CLDRAD ! ! TOTAL COLUMN LONG WAVE T TENDENCY IF (IGET(291) > 0) THEN - CALL CALPW(GRID1(1,jsta),10) + CALL CALPW(GRID1(ista:iend,jsta:jend),10) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(291)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -697,15 +808,15 @@ SUBROUTINE CLDRAD ! ! TOTAL COLUMN GRID SCALE LATENT HEATING (TIME AVE) IF (IGET(292) > 0) THEN - CALL CALPW(GRID1(1,jsta),11) + CALL CALPW(GRID1(ista:iend,jsta:jend),11) IF(AVRAIN > 0.)THEN RRNUM = 1./AVRAIN ELSE RRNUM = 0. ENDIF -!$omp parallel do +!$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(GRID1(I,J) < SPVAL) GRID1(I,J) = GRID1(I,J)*RRNUM ENDDO ENDDO @@ -735,11 +846,12 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -747,15 +859,15 @@ SUBROUTINE CLDRAD ! ! TOTAL COLUMN CONVECTIVE LATENT HEATING (TIME AVE) IF (IGET(293) > 0) THEN - CALL CALPW(GRID1(1,jsta),12) + CALL CALPW(GRID1(ista:iend,jsta:jend),12) IF(AVRAIN > 0.)THEN RRNUM = 1./AVCNVC ELSE RRNUM = 0. ENDIF -!$omp parallel do +!$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(GRID1(I,J) < SPVAL) GRID1(I,J) = GRID1(I,J)*RRNUM ENDDO ENDDO @@ -785,11 +897,12 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -797,35 +910,36 @@ SUBROUTINE CLDRAD ! ! TOTAL COLUMN moisture convergence IF (IGET(295)>0) THEN - CALL CALPW(GRID1(1,jsta),13) + CALL CALPW(GRID1(ista:iend,jsta:jend),13) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(295)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! TOTAL COLUMN RH IF (IGET(312)>0) THEN - CALL CALPW(GRID1(1,jsta),14) + CALL CALPW(GRID1(ista:iend,jsta:jend),14) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(312)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! TOTAL COLUMN OZONE IF (IGET(299) > 0) THEN - CALL CALPW(GRID1(1,jsta),15) + CALL CALPW(GRID1(ista:iend,jsta:jend),15) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(299)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -834,7 +948,7 @@ SUBROUTINE CLDRAD ! BOTTOM AND/OR TOP OF SUPERCOOLED (<0C) LIQUID WATER LAYER IF (IGET(287)>0 .OR. IGET(288)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=-5000. GRID2(I,J)=-5000. !-- Search for the base first, then look for the top if supercooled liquid exists @@ -868,24 +982,25 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(287)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF IF (IGET(288)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=GRID2(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(288)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -897,14 +1012,14 @@ SUBROUTINE CLDRAD ! from 0.2 (EFIMN in cuparm in model) to 1.0 (Ferrier, Feb '02) IF (IGET(197)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = CLDEFI(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(197)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -916,7 +1031,7 @@ SUBROUTINE CLDRAD ! also a method for cloud ceiling height ! DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND CFRACL(I,J)=0. CFRACM(I,J)=0. CFRACH(I,J)=0. @@ -933,10 +1048,9 @@ SUBROUTINE CLDRAD endif DELY=14259./DY_m numr=NINT(DELY) - ! write (0,*) 'numr,dyval,DY_m=',numr,dyval,DY_m DO L=LM,1,-1 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(CFR(I,J,L)=PTOP_LOW) THEN @@ -1019,9 +1136,9 @@ SUBROUTINE CLDRAD ! GSD maximum cloud fraction in (PBL + 1 km) (J. Kenyon, 8 Aug 2019) IF (IGET(799)>0) THEN -!$omp parallel do private(i,j) +!$omp parallel do private(i,j,k) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=0.0 DO K = 1,LM IF (ZMID(I,J,LM-K+1) <= PBLH(I,J)+1000.0) THEN @@ -1033,7 +1150,7 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(799)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -1041,7 +1158,7 @@ SUBROUTINE CLDRAD IF (IGET(037) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(CFRACL(I,J) < SPVAL) then GRID1(I,J) = CFRACL(I,J)*100. else @@ -1052,11 +1169,12 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(037)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1066,7 +1184,7 @@ SUBROUTINE CLDRAD IF (IGET(300) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(AVGCFRACL(I,J) < SPVAL) then GRID1(I,J) = AVGCFRACL(I,J)*100. else @@ -1102,11 +1220,12 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1117,7 +1236,7 @@ SUBROUTINE CLDRAD ! GRID1=SPVAL !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(CFRACM(I,J) < SPVAL) then GRID1(I,J) = CFRACM(I,J)*100. else @@ -1128,11 +1247,12 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(038)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1142,7 +1262,7 @@ SUBROUTINE CLDRAD IF (IGET(301) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ABS(AVGCFRACM(I,J)-SPVAL)>SMALL)THEN GRID1(I,J) = AVGCFRACM(I,J)*100. ELSE @@ -1178,11 +1298,12 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1193,7 +1314,7 @@ SUBROUTINE CLDRAD ! GRID1=SPVAL !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(CFRACH(I,J) < SPVAL) then GRID1(I,J) = CFRACH(I,J)*100. else @@ -1204,11 +1325,12 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(039)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1219,7 +1341,7 @@ SUBROUTINE CLDRAD ! GRID1=SPVAL !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(AVGCFRACH(I,J) < SPVAL) then GRID1(I,J) = AVGCFRACH(I,J)*100. else @@ -1255,11 +1377,12 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1271,7 +1394,7 @@ SUBROUTINE CLDRAD IF(MODELNAME=='NCAR' .OR. MODELNAME=='RAPR')THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(i,j) = SPVAL egrid1(i,j)=0. do l = 1,LM @@ -1283,7 +1406,7 @@ SUBROUTINE CLDRAD ELSE IF (MODELNAME=='NMM'.OR.MODELNAME=='FV3R' & .OR. MODELNAME=='GFS')THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! EGRID1(I,J)=AMAX1(CFRACL(I,J), ! 1 AMAX1(CFRACM(I,J),CFRACH(I,J))) ! EGRID1(I,J)=1.-(1.-CFRACL(I,J))*(1.-CFRACM(I,J))* & @@ -1295,7 +1418,7 @@ SUBROUTINE CLDRAD END IF !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ABS(EGRID1(I,J)-SPVAL) > SMALL) THEN GRID1(I,J) = EGRID1(I,J)*100. TCLD(I,J) = EGRID1(I,J)*100. !B ZHOU, PASSED to CALCEILING @@ -1306,11 +1429,12 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(161)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1323,7 +1447,7 @@ SUBROUTINE CLDRAD IF(MODELNAME == 'GFS' .OR. MODELNAME == 'FV3R')THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ABS(AVGTCDC(I,J)-SPVAL) > SMALL) then GRID1(I,J) = AVGTCDC(I,J)*100. else @@ -1334,7 +1458,7 @@ SUBROUTINE CLDRAD ELSE IF(MODELNAME == 'NMM')THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! RSUM = NCFRST(I,J)+NCFRCV(I,J) ! IF (RSUM>0.0) THEN ! EGRID1(I,J)=(ACFRST(I,J)+ACFRCV(I,J))/RSUM @@ -1385,11 +1509,12 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1401,7 +1526,7 @@ SUBROUTINE CLDRAD GRID1=SPVAL ELSE DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (NCFRST(I,J)0.0) THEN GRID1(I,J) = ACFRST(I,J)/NCFRST(I,J)*100. @@ -1443,7 +1568,7 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -1453,7 +1578,7 @@ SUBROUTINE CLDRAD GRID1=SPVAL ELSE DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (NCFRCV(I,J)0.0) THEN GRID1(I,J) = ACFRCV(I,J)/NCFRCV(I,J)*100. @@ -1495,7 +1620,7 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -1503,8 +1628,7 @@ SUBROUTINE CLDRAD IF((IGET(148)>0) .OR. (IGET(149)>0) .OR. & (IGET(168)>0) .OR. (IGET(178)>0) .OR. & (IGET(179)>0) .OR. (IGET(194)>0) .OR. & - (IGET(408)>0) .OR. & - (IGET(409)>0) .OR. (IGET(406)>0) .OR. & + (IGET(408)>0) .OR. & (IGET(195)>0) .OR. (IGET(260)>0) .OR. & (IGET(275)>0)) THEN ! @@ -1513,11 +1637,11 @@ SUBROUTINE CLDRAD !--- Rain is not part of cloud, only cloud water + cloud ice + snow ! DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! !--- Various convective cloud base & cloud top levels ! -! write(0,*)' hbot=',hbot(i,j),' hbotd=',hbotd(i,j),' +! write(*,*)' hbot=',hbot(i,j),' hbotd=',hbotd(i,j),' ! hbots=',hbots(i,j)& ! ,' htop=',htop(i,j),' htopd=',htopd(i,j),' htops=',htops(i,j),i,j ! Initilize @@ -1568,13 +1692,14 @@ SUBROUTINE CLDRAD CLDZCu(I,J) = -5000. endif -! ! - !--- Grid-scale cloud base & cloud top levels - ! - !--- Grid-scale cloud occurs when the mixing ratio exceeds QCLDmin - ! or in the presence of snow when RH>=95% or at/above the PBL top. - ! - if(MODELNAME == 'RAPR') then + !--- Grid-scale cloud base & cloud top levels + + !--- Grid-scale cloud occurs when the mixing ratio exceeds QCLDmin + ! or in the presence of snow when RH>=95% or at/above the PBL top. + ! However, for RRFS (FV3R and MPAS), simply use a threshold cloud + ! fraction (CFRmin_BASE_TOP) + + if(MODELNAME == 'RAPR' .and. SUBMODELNAME /= 'MPAS') then ! RUC and RAP/HRRR eras IBOTGr(I,J)=0 DO L=NINT(LMH(I,J)),1,-1 QCLD=QQW(I,J,L)+QQI(I,J,L)+QQS(I,J,L) @@ -1591,6 +1716,23 @@ SUBROUTINE CLDRAD EXIT ENDIF ENDDO !--- End L loop + else if ((MODELNAME == 'FV3R') .or. & + (MODELNAME == 'RAPR' .and. SUBMODELNAME == 'MPAS')) then + ! RRFS era (FV3R and MPAS): use cloud fraction to assign cloud base and cloud top + IBOTGr(I,J)=0 + DO L=NINT(LMH(I,J)),1,-1 + IF (CFR(I,J,L) >= CFRmin_BASE_TOP) THEN + IBOTGr(I,J)=L + EXIT + ENDIF + ENDDO !--- End L loop + ITOPGr(I,J)=100 + DO L=1,NINT(LMH(I,J)) + IF (CFR(I,J,L) >= CFRmin_BASE_TOP) THEN + ITOPGr(I,J)=L + EXIT + ENDIF + ENDDO !--- End L loop else IBOTGr(I,J) = 0 ZPBLtop = PBLH(I,J)+ZINT(I,J,NINT(LMH(I,J))+1) @@ -1625,11 +1767,11 @@ SUBROUTINE CLDRAD ENDIF ENDDO !--- End L loop endif - ! + !--- Combined (convective & grid-scale) cloud base & cloud top levels - IF(MODELNAME == 'NCAR' .OR. MODELNAME == 'RAPR')THEN - IBOTT(I,J) = IBOTGr(I,J) - ITOPT(I,J) = ITOPGr(I,J) + IF(MODELNAME == 'NCAR' .OR. MODELNAME == 'RAPR' .OR. MODELNAME == 'FV3R')THEN + IBOTT(I,J) = IBOTGr(I,J) ! For GSL physics, these "_Gr" arrays (assigned above) already + ITOPT(I,J) = ITOPGr(I,J) ! account for grid- and subgrid-scale cloudiness ELSE IBOTT(I,J) = MAX(IBOTGr(I,J), IBOTCu(I,J)) ! if(i==200 .and. j==139)print*,'Debug cloud base 1: ',& @@ -1644,14 +1786,14 @@ SUBROUTINE CLDRAD IF (IGET(758)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = CLDZCu(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(758)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -1663,9 +1805,9 @@ SUBROUTINE CLDRAD ! IF ((IGET(148)>0) .OR. (IGET(178)>0) .OR.(IGET(260)>0) ) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IBOT=IBOTT(I,J) !-- Cloud base ("bottoms") - IF(MODELNAME == 'RAPR') then + IF(MODELNAME == 'RAPR' .AND. SUBMODELNAME /= 'MPAS') THEN IF (IBOT <= 0) THEN CLDP(I,J) = SPVAL CLDZ(I,J) = SPVAL @@ -1680,6 +1822,15 @@ SUBROUTINE CLDRAD +ZINT(I,J,IBOT+1) ENDIF !--- End IF (IBOT == LM) ... ENDIF !--- End IF (IBOT <= 0) ... + ELSE IF((MODELNAME == 'FV3R') .OR. & + (MODELNAME == 'RAPR' .AND. SUBMODELNAME == 'MPAS')) THEN + IF (IBOT>0 .AND. IBOT<=NINT(LMH(I,J))) THEN + CLDP(I,J) = PINT(I,J,MIN(IBOT+1,LM)) ! Since IBOT corresponds to a mid-layer location, consider + CLDZ(I,J) = ZINT(I,J,MIN(IBOT+1,LM)) ! the underlying interfacial level as the cloud base + ELSE + CLDP(I,J) = SPVAL + CLDZ(I,J) = SPVAL + ENDIF ELSE IF (IBOT>0 .AND. IBOT<=NINT(LMH(I,J))) THEN CLDP(I,J) = PMID(I,J,IBOT) @@ -1694,37 +1845,35 @@ SUBROUTINE CLDRAD ! CLOUD BOTTOM PRESSURE IF (IGET(148)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = CLDP(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(148)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! CLOUD BOTTOM HEIGHT IF (IGET(178)>0) THEN !--- Parameter was set to 148 in operational code (Ferrier, Feb '02) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = CLDZ(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(178)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF -! GSD CLOUD CEILING ALGORITHM -! J. Kenyon, 3 Feb 2017: formerly described here as -! "GSD CLOUD BOTTOM HEIGHT". An alternative (experimental) -! GSD cloud ceiling algorithm is offered further below. +! GSD CLOUD CEILING ALGORITHMS... +! Parameter 408: legacy ceiling diagnostic IF (IGET(408)>0) THEN !- imported from RUC post ! -- constants for effect of snow on ceiling @@ -1746,20 +1895,14 @@ SUBROUTINE CLDRAD Cloud_def_p = 0.0000001 DO J=JSTA,JEND - - DO I=1,IM + DO I=ISTA,IEND ! !- imported from RUC post - IF(MODELNAME == 'RAPR') then - CLDZ(I,J) = SPVAL - pcldbase = SPVAL - zcldbase = SPVAL - ELSE - CLDZ(I,J) = -5000. - pcldbase = -50000. - zcldbase = -5000. - ENDIF + CLDZ(I,J) = SPVAL + pcldbase = SPVAL + zcldbase = SPVAL watericemax = -99999. + if (zmid(i,j,lm) == spval) cycle do k=1,lm LL=LM-k+1 watericetotal(k) = QQW(i,j,ll) + QQI(i,j,ll) @@ -1835,7 +1978,11 @@ SUBROUTINE CLDRAD ! -- consider lowering of ceiling due to falling snow ! -- extracted from calvis.f (visibility diagnostic) if (QQS(i,j,LM)>0.) then - TV=T(I,J,lm)*(H1+D608*Q(I,J,lm)) + if (T(I,J,lm) zcldbase) then + if ((ZMID(i,j,lm-k2+1) > zcldbase).and.(pmid(i,j,lm-k1+1) < spval) & + .and.(pmid(i,j,lm-k1+2) < spval).and.(zmid(i,j,lm-k1+1) < spval) & + .and.(zmid(i,j,lm-k1+2) < spval)) then pcldbase = pmid(i,j,lm-k1+2) + (zcldbase-ZMID(i,j,lm-k1+2)) & *(pmid(i,j,lm-k1+1)-pmid(i,j,lm-k1+2) ) & /(zmid(i,j,lm-k1+1)-zmid(i,j,lm-k1+2) ) @@ -1874,16 +2023,20 @@ SUBROUTINE CLDRAD do k=1,LM LL=LM-K+1 Tx=T(I,J,LL)-273.15 - POL = 0.99999683 + TX*(-0.90826951E-02 + & + if (TX < spval) then + POL = 0.99999683 + TX*(-0.90826951E-02 + & TX*(0.78736169E-04 + TX*(-0.61117958E-06 + & TX*(0.43884187E-08 + TX*(-0.29883885E-10 + & TX*(0.21874425E-12 + TX*(-0.17892321E-14 + & TX*(0.11112018E-16 + TX*(-0.30994571E-19))))))))) - esx = 6.1078/POL**8 + esx = 6.1078/POL**8 ES = esx E = PMID(I,J,LL)/100.*Q(I,J,LL)/(0.62197+Q(I,J,LL)*0.37803) RHB(k) = 100.*MIN(1.,E/ES) + else + RHB(k) = spval + endif ! ! COMPUTE VIRTUAL POTENTIAL TEMPERATURE. ! @@ -1931,39 +2084,42 @@ SUBROUTINE CLDRAD ENDDO !--- End I loop ENDDO !--- End J loop - write(6,*)'No. pts with PBL-cloud =',npblcld - write(6,*)'No. pts to eliminate fog =',nfog - do k=2,7 - write(6,*)'No. pts with fog below lev',k,' =',nfogn(k) - end do + !write(6,*)'No. pts with PBL-cloud =',npblcld + !write(6,*)'No. pts to eliminate fog =',nfog + !do k=2,7 + ! write(6,*)'No. pts with fog below lev',k,' =',nfogn(k) + !end do nlifr = 0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND + if(cldz(i,j)=0..and.zcld<160.) nlifr = nlifr+1 + endif end do end do - write(6,*)'No. pts w/ LIFR ceiling =',nlifr + !write(6,*)'No. pts w/ LIFR ceiling =',nlifr -! GSD CLOUD BOTTOM HEIGHTS +! Parameter 408: legacy ceiling diagnostic IF (IGET(408)>0) THEN !!$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = CLDZ(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(408)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF !End of GSD algorithm ! BEGIN EXPERIMENTAL GSD CEILING DIAGNOSTICS... ! J. Kenyon, 4 Feb 2017: this approach uses model-state cloud fractions +! Parameter 487: experimental ceiling diagnostic #1 (updated 1 May 2024) IF (IGET(487)>0) THEN ! set some constants for ceiling adjustment in snow (retained from legacy algorithm, also in calvis.f) rhoice = 970. @@ -1971,39 +2127,32 @@ SUBROUTINE CLDRAD exponfp = 1. const1 = 3.912 ! set minimum cloud fraction to represent a ceiling - ceiling_thresh_cldfra = 0.5 + ceiling_thresh_cldfra = 0.41 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ceil(I,J) = SPVAL zceil = SPVAL cldfra_max = 0. do k=1,lm LL=LM-k+1 cldfra(k) = cfr(i,j,ll) - cldfra_max = max(cldfra_max,cldfra(k)) ! determine the column-maximum cloud fraction + cldfra_max = max(cldfra_max,cldfra(k)) ! determine the column-maximum cloud fraction end do - if (cldfra_max >= ceiling_thresh_cldfra) then ! threshold cloud fraction found in column, get ceiling - -! threshold cloud fraction (possible ceiling) found somewhere in column, so proceed... -! first, search for and eliminate fog layers near surface (retained from legacy diagnostic) - do k=2,3 ! Ming, k=3 will never be reached in this logic - if (cldfra(k) < ceiling_thresh_cldfra) then ! these two lines: - if (cldfra(1) > ceiling_thresh_cldfra) then ! ...look for surface-based fog beneath less-cloudy layers - do k1=1,k-1 ! now perform the clearing for k=1 up to k-1 - if (cldfra(k1) >= ceiling_thresh_cldfra) then - cldfra(k1)=0. - end if - end do + if (cldfra_max >= ceiling_thresh_cldfra) then ! threshold cloud fraction (possible ceiling) found + ! in column, so proceed... + +! first, search for and eliminate shallow-fog layers near surface (adapted from legacy diagnostic) + if (cldfra(1) > 0.) then ! cloud at the surface (fog); check if this fog is shallow + do k=2,4 + if (cldfra(k) < 0.8) then ! confirmed shallow fog + cldfra(1:k) = 0. ! remove shallow fog end if - ! level k=2,3 has no ceiling, and no fog at surface, so skip out of this loop - end if - exit - end do ! k + end do + end if -! now search aloft... - ceil(I,J) = zceil ! default is no ceiling found +! now search the column for a ceiling... loop471:do k=2,lm k1 = k if (cldfra(k) >= ceiling_thresh_cldfra) then ! go to 472 ! found ceiling @@ -2018,7 +2167,7 @@ SUBROUTINE CLDRAD ! consider lowering of ceiling due to falling snow (retained from legacy diagnostic) ! ...this is extracted from calvis.f (visibility diagnostic) - if (QQS(i,j,LM)>0.) then + if ((QQS(i,j,LM)>0.).and.(T(I,J,lm) zceil) cycle loop471 - end do exit loop471 end if end if + + exit loop471 endif ! cldfra(k) >= ceiling_thresh_cldfra end do loop471 - - else - ceil(I,J) = zceil - endif + endif ! cldfra_max >= ceiling_thresh_cldfra + ceil(I,J) = zceil ENDDO ! i loop ENDDO ! j loop -! proceed to gridding +! Parameter 487: experimental ceiling diagnostic #1 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ceil(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(487)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! end of parameter-487 conditional code ! END OF EXPERIMENTAL GSD CEILING DIAGNOSTIC 1 @@ -2061,13 +2206,21 @@ SUBROUTINE CLDRAD ! -- J. Kenyon, 12 Sep 2019 ! Parameter 711 has been developed to eventually replace the GSD ! legacy ceiling diagnostic, and can be regarded as a ceiling. -! However, for RAPv5/HRRRv4, paramater 711 will be supplied as +! However, for RAPv5/HRRRv4, parameter 711 will be supplied as ! the GSD cloud-base height, and parameter 798 will be the ! corresponding cloud-base pressure. (J. Kenyon, 4 Nov 2019) - - IF ((IGET(711)>0) .OR. (IGET(798)>0)) THEN +! -- 14 Apr 2025 update: parameter 798 code removed +! -- E. James, 15 Dec 2022 +! The above experimental diagnostic, developed for the HRRR with +! lots of "add-ons" to correct for the HRRR's low bias in cloud +! cover, needs to be revised for the RRFS with its more extensive +! cloudiness. For an FAA deliverable due Feb 2023, the diagnostic +! is being modified to get rid of some of the add ons. + +! Parameters 711: experimental ceiling diagnostic #2 + IF (IGET(711)>0) THEN ! set minimum cloud fraction to represent a ceiling - ceiling_thresh_cldfra = 0.4 + ceiling_thresh_cldfra = 0.5 ! set some constants for ceiling adjustment in snow (retained from legacy algorithm, also in calvis.f) rhoice = 970. coeffp = 10.36 @@ -2075,7 +2228,7 @@ SUBROUTINE CLDRAD const1 = 3.912 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ceil(I,J) = SPVAL zceil = SPVAL zceil1 = SPVAL @@ -2157,23 +2310,24 @@ SUBROUTINE CLDRAD end do !-- end of search 2 - zceil = min(zceil1,zceil2) ! choose lower of zceil1 and zceil2 +! zceil = min(zceil1,zceil2) ! choose lower of zceil1 and zceil2 + zceil = zceil1 !-- Search for "indefinite ceiling" (vertical visibility) conditions: consider ! lowering of apparent ceiling due to falling snow (retained from legacy ! diagnostic); this is extracted from calvis.f (visibility diagnostic) - if (QQS(i,j,LM)>1.e-10) then - TV=T(I,J,lm)*(H1+D608*Q(I,J,lm)) - RHOAIR=PMID(I,J,lm)/(RD*TV) - vovermd = (1.+Q(i,j,LM))/rhoair + QQS(i,j,LM)/rhoice - concfp = QQS(i,j,LM)/vovermd*1000. - betav = coeffp*concfp**exponfp + 1.e-10 - vertvis = 1000.*min(90., const1/betav) - if (vertvis < zceil-FIS(I,J)*GI ) then ! if vertvis is more restictive than zceil found above; set zceil to vertvis - ! note that FIS is geopotential of the surface (ground), and GI is 1/g - zceil = FIS(I,J)*GI + vertvis - end if - end if +! if (QQS(i,j,LM)>1.e-10) then +! TV=T(I,J,lm)*(H1+D608*Q(I,J,lm)) +! RHOAIR=PMID(I,J,lm)/(RD*TV) +! vovermd = (1.+Q(i,j,LM))/rhoair + QQS(i,j,LM)/rhoice +! concfp = QQS(i,j,LM)/vovermd*1000. +! betav = coeffp*concfp**exponfp + 1.e-10 +! vertvis = 1000.*min(90., const1/betav) +! if (vertvis < zceil-FIS(I,J)*GI ) then ! if vertvis is more restictive than zceil found above; set zceil to vertvis +! ! note that FIS is geopotential of the surface (ground), and GI is 1/g +! zceil = FIS(I,J)*GI + vertvis +! end if +! end if ceil(I,J) = zceil ENDDO ! i loop @@ -2193,28 +2347,37 @@ SUBROUTINE CLDRAD ! layer. allocate(full_ceil(IM,JM),full_fis(IM,JM)) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND full_ceil(i,j)=ceil(i,j) full_fis(i,j)=fis(i,j) ENDDO ENDDO - CALL AllGETHERV(full_ceil) - CALL AllGETHERV(full_fis) +! CALL AllGETHERV(full_ceil) + full_dummy=spval + CALL COLLECT_ALL(full_ceil(ISTA:IEND,JSTA:JEND),full_dummy) + full_ceil=full_dummy +! CALL AllGETHERV(full_fis) + full_dummy=spval + CALL COLLECT_ALL(full_fis(ISTA:IEND,JSTA:JEND),full_dummy) + full_fis=full_dummy + numr = 1 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ceil_min = max( ceil(I,J)-FIS(I,J)*GI , 5.0) ! ceil_min in AGL do jc = max(1,J-numr),min(JM,J+numr) do ic = max(1,I-numr),min(IM,I+numr) ceil_neighbor = max( full_ceil(ic,jc)-full_fis(ic,jc)*GI , 5.0) ! ceil_neighbor in AGL - ceil_min = min( ceil_min, ceil_neighbor ) +! ceil_min = min( ceil_min, ceil_neighbor ) enddo enddo CLDZ(I,J) = ceil_min + FIS(I,J)*GI ! convert back to ASL and store CLDZ(I,J) = max(min(CLDZ(I,J), 20000.0),0.0) !set bounds ! find pressure at CLDZ do k=2,lm-2 - if ( zmid(i,j,lm-k+1) >= CLDZ(i,j) ) then + if ((zmid(i,j,lm-k+1) >= CLDZ(i,j)) .and. (pmid(i,j,lm-k+1) < spval) & + .and. (pmid(i,j,lm-k+2) < spval) .and. (zmid(i,j,lm-k+1) < spval) & + .and. (zmid(i,j,lm-k+2) < spval)) then CLDP(I,J) = pmid(i,j,lm-k+2) + (CLDZ(i,j)-zmid(i,j,lm-k+2)) & *(pmid(i,j,lm-k+1)-pmid(i,j,lm-k+2) ) & /(zmid(i,j,lm-k+1)-zmid(i,j,lm-k+2) ) @@ -2226,36 +2389,22 @@ SUBROUTINE CLDRAD if (allocated(full_ceil)) deallocate(full_ceil) if (allocated(full_fis)) deallocate(full_fis) - ! GSD CLOUD BOTTOM HEIGHT + ! Parameters 711: experimental ceiling diagnostic #2 (height) IF (IGET(711)>0) THEN !!$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = CLDZ(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(711)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF - ! GSD CLOUD BOTTOM PRESSURE - IF (IGET(798)>0) THEN -!!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = CLDP(I,J) - ENDDO - ENDDO - if(grib=="grib2" )then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(798)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) - endif - ENDIF - ENDIF ! end of parameter-711 and -798 conditional code + ENDIF ! end of parameter-711 code ! END OF EXPERIMENTAL GSD CEILING DIAGNOSTICS @@ -2263,32 +2412,33 @@ SUBROUTINE CLDRAD IF (IGET(260)>0) THEN CALL CALCEILING(CLDZ,TCLD,CEILING) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = CEILING(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(260)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! B. ZHOU: FLIGHT CONDITION RESTRICTION IF (IGET(261) > 0) THEN CALL CALFLTCND(CEILING,GRID1(1,jsta)) ! DO J=JSTA,JEND -! DO I=1,IM +! DO I=ISTA,IEND ! GRID1(I,J) = FLTCND(I,J) ! ENDDO ! ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(261)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2300,13 +2450,13 @@ SUBROUTINE CLDRAD IF(MODELNAME == 'GFS')THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = PBOT(I,J) ENDDO ENDDO ELSE DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IBOT=IBOTCu(I,J) IF (IBOT>0 .AND. IBOT<=NINT(LMH(I,J))) THEN GRID1(I,J) = PMID(I,J,IBOT) @@ -2319,11 +2469,12 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(188)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2333,7 +2484,7 @@ SUBROUTINE CLDRAD ! IF (IGET(192) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IBOT=IBOTDCu(I,J) IF (IBOT>0 .AND. IBOT<=NINT(LMH(I,J))) THEN GRID1(I,J) = PMID(I,J,IBOT) @@ -2345,14 +2496,14 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(192)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !--- Shallow convective cloud base pressures (Ferrier, Feb '02) ! IF (IGET(190) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IBOT=IBOTSCu(I,J) IF (IBOT>0 .AND. IBOT<=NINT(LMH(I,J))) THEN GRID1(I,J) = PMID(I,J,IBOT) @@ -2364,14 +2515,14 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(190)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !--- Base of grid-scale cloudiness (Ferrier, Feb '02) ! IF (IGET(194) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IBOT=IBOTGr(I,J) IF (IBOT>0 .AND. IBOT<=NINT(LMH(I,J))) THEN GRID1(I,J) = PMID(I,J,IBOT) @@ -2383,7 +2534,7 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(194)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -2391,7 +2542,7 @@ SUBROUTINE CLDRAD ! IF (IGET(303) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! IF(PBOTL(I,J) > SMALL)THEN GRID1(I,J) = PBOTL(I,J) ! ELSE @@ -2427,14 +2578,14 @@ SUBROUTINE CLDRAD endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !--- Base of middle cloud ! IF (IGET(306) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(PBOTM(I,J) > SMALL)THEN GRID1(I,J) = PBOTM(I,J) ELSE @@ -2470,14 +2621,14 @@ SUBROUTINE CLDRAD endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !--- Base of high cloud ! IF (IGET(309) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(PBOTH(I,J) > SMALL)THEN GRID1(I,J) = PBOTH(I,J) ELSE @@ -2513,7 +2664,7 @@ SUBROUTINE CLDRAD endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -2526,7 +2677,7 @@ SUBROUTINE CLDRAD IF ((IGET(149)>0) .OR. (IGET(179)>0) .OR. & (IGET(168)>0) .OR. (IGET(275)>0)) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ITOP=ITOPT(I,J) IF (ITOP>0 .AND. ITOP<=NINT(LMH(I,J))) THEN IF(T(I,J,ITOP)0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = CLDP(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(149)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! CLOUD TOP HEIGHT ! IF (IGET(179)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = CLDZ(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(179)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF -! GSD COULD TOP HEIGHTS AND PRESSURE - IF ((IGET(409)>0) .OR. (IGET(406)>0)) THEN - - Cloud_def_p = 0.0000001 - - DO J=JSTA,JEND - DO I=1,IM -! imported from RUC post -! Cloud top - zcldtop = -5000. - IF(MODELNAME == 'RAPR') zcldtop = SPVAL - do k=1,lm - LL=LM-k+1 - watericetotal(k) = QQW(i,j,ll) + QQI(i,j,ll) - enddo - - if (watericetotal(LM)<=cloud_def_p) then - loop373 : do k=LM-1,2,-1 - if (watericetotal(k)>cloud_def_p) then - zcldtop = zmid(i,j,lm-k+1) + (cloud_def_p-watericetotal(k)) & - * (zmid(i,j,lm-k)-zmid(i,j,lm-k+1)) & - / (watericetotal(k+1) - watericetotal(k)) - exit loop373 - end if - end do loop373 - else - zcldtop = zmid(i,j,1) - end if - - ITOP=ITOPT(I,J) - IF (ITOP>0 .AND. ITOP<=NINT(LMH(I,J))) THEN - CLDP(I,J) = PMID(I,J,ITOP) - CLDT(I,J) = T(I,J,ITOP) - ELSE - CLDP(I,J) = -50000. - IF(MODELNAME == 'RAPR') CLDP(I,J) = SPVAL -! CLDZ(I,J) = -5000. - CLDT(I,J) = -500. - ENDIF !--- End IF (ITOP>0 .AND. ITOP<=LMH(I,J)) ... - -!- include convective clouds - ITOP=ITOPCu(I,J) - if(ITOPzcldtop) then -! print *,'change cloud top for convective cloud, zcldtop, -! 1 ZMID(I,J,ITOP),ITOP,i,j' -! 1 ,zcldtop,ZMID(I,J,ITOP),ITOP,i,j - zcldtop=ZMID(I,J,ITOP) - endif - endif - -! check consistency of cloud base and cloud top - if(CLDZ(I,J)>-100. .and. zcldtop<-100.) then - zcldtop = CLDZ(I,J) + 200. - endif - - CLDZ(I,J) = zcldtop ! Now CLDZ is cloud top height - - ENDDO !--- End DO I loop - ENDDO !--- End DO J loop -! -! GSD CLOUD TOP PRESSURE -! - IF (IGET(406)>0) THEN - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = CLDP(I,J) - ENDDO - ENDDO - if(grib=="grib2" )then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(406)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) - endif - ENDIF -! GSD CLOUD TOP HEIGHT -! - IF (IGET(409)>0) THEN - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = CLDZ(I,J) - ENDDO - ENDDO - if(grib=="grib2" )then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(409)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) - endif - ENDIF - ENDIF ! end of GSD algorithm -! ! CLOUD TOP TEMPS ! IF (IGET(168)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = CLDT(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(168)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -2704,7 +2759,7 @@ SUBROUTINE CLDRAD num_thick=0 ! for debug GRID1=spval DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND opdepth=0. llmh=nint(lmh(i,j)) !bsf - start @@ -2796,7 +2851,7 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(275)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -2807,13 +2862,13 @@ SUBROUTINE CLDRAD IF(MODELNAME == 'GFS')THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = PTOP(I,J) ENDDO ENDDO ELSE DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ITOP=ITOPCu(I,J) IF (ITOP>0 .AND. ITOP<=NINT(LMH(I,J))) THEN GRID1(I,J) = PMID(I,J,ITOP) @@ -2826,11 +2881,12 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(189)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2840,7 +2896,7 @@ SUBROUTINE CLDRAD ! IF (IGET(193) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ITOP=ITOPDCu(I,J) IF (ITOP>0 .AND. ITOP<=NINT(LMH(I,J))) THEN GRID1(I,J) = PMID(I,J,ITOP) @@ -2852,14 +2908,14 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(193)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF !--- Shallow convective cloud top pressures (Ferrier, Feb '02) ! IF (IGET(191) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ITOP=ITOPSCu(I,J) IF (ITOP>0 .AND. ITOP<=NINT(LMH(I,J))) THEN GRID1(I,J) = PMID(I,J,ITOP) @@ -2871,7 +2927,7 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(191)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF ! @@ -2879,7 +2935,7 @@ SUBROUTINE CLDRAD ! IF (IGET(195) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ITOP=ITOPGr(I,J) IF (ITOP>0 .AND. ITOP<=NINT(LMH(I,J))) THEN GRID1(I,J) = PMID(I,J,ITOP) @@ -2891,7 +2947,7 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(195)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF @@ -2899,7 +2955,7 @@ SUBROUTINE CLDRAD ! IF (IGET(304) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(PTOPL(I,J) > SMALL)THEN GRID1(I,J) = PTOPL(I,J) ELSE @@ -2935,14 +2991,14 @@ SUBROUTINE CLDRAD endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !--- top of middle cloud ! IF (IGET(307) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = PTOPM(I,J) ENDDO ENDDO @@ -2974,14 +3030,14 @@ SUBROUTINE CLDRAD endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !--- top of high cloud ! IF (IGET(310) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = PTOPH(I,J) ENDDO ENDDO @@ -3013,7 +3069,7 @@ SUBROUTINE CLDRAD endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -3021,7 +3077,7 @@ SUBROUTINE CLDRAD ! IF (IGET(305) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = TTOPL(I,J) ENDDO ENDDO @@ -3053,14 +3109,14 @@ SUBROUTINE CLDRAD endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !--- Base of middle cloud ! IF (IGET(308) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = TTOPM(I,J) ENDDO ENDDO @@ -3092,14 +3148,14 @@ SUBROUTINE CLDRAD endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !--- Base of high cloud ! IF (IGET(311) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = TTOPH(I,J) ENDDO ENDDO @@ -3130,7 +3186,7 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=1 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3139,7 +3195,7 @@ SUBROUTINE CLDRAD IF (IGET(196) > 0.or.IGET(570)>0) THEN GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(CNVCFR(I,J)/=SPVAL)GRID1(I,J)=100.*CNVCFR(I,J) !-- convert to percent ENDDO ENDDO @@ -3147,13 +3203,13 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(196)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif elseif(IGET(570)>0) then if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(570)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif endif END IF @@ -3163,7 +3219,7 @@ SUBROUTINE CLDRAD IF (IGET(342) > 0) THEN GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(PBLCFR(I,J)/=SPVAL)GRID1(I,J)=100.*PBLCFR(I,J) !-- convert to percent ENDDO ENDDO @@ -3195,7 +3251,7 @@ SUBROUTINE CLDRAD endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF ! @@ -3203,7 +3259,7 @@ SUBROUTINE CLDRAD ! IF (IGET(313) > 0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=cldwork(I,J) ENDDO ENDDO @@ -3235,7 +3291,7 @@ SUBROUTINE CLDRAD endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF ! @@ -3255,7 +3311,7 @@ SUBROUTINE CLDRAD RRNUM=0. ENDIF DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ASWIN(I,J)/=SPVAL)THEN GRID1(I,J) = ASWIN(I,J)*RRNUM ELSE @@ -3291,7 +3347,7 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3308,7 +3364,7 @@ SUBROUTINE CLDRAD RRNUM=0. ENDIF DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(AUVBIN(I,J)/=SPVAL)THEN GRID1(I,J) = AUVBIN(I,J)*RRNUM ELSE @@ -3345,7 +3401,7 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3362,7 +3418,7 @@ SUBROUTINE CLDRAD RRNUM=0. ENDIF DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(AUVBINC(I,J)/=SPVAL)THEN GRID1(I,J) = AUVBINC(I,J)*RRNUM ELSE @@ -3399,7 +3455,7 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3415,7 +3471,7 @@ SUBROUTINE CLDRAD RRNUM=0. ENDIF DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ALWIN(I,J)/=SPVAL)THEN GRID1(I,J) = ALWIN(I,J)*RRNUM ELSE @@ -3451,7 +3507,7 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3467,7 +3523,7 @@ SUBROUTINE CLDRAD RRNUM=0. ENDIF DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ASWOUT(I,J)/=SPVAL)THEN GRID1(I,J) = -1.0*ASWOUT(I,J)*RRNUM ELSE @@ -3503,7 +3559,7 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3519,7 +3575,7 @@ SUBROUTINE CLDRAD RRNUM=0. ENDIF DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ALWOUT(I,J)/=SPVAL)THEN GRID1(I,J) = -1.0*ALWOUT(I,J)*RRNUM ELSE @@ -3555,7 +3611,7 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3571,7 +3627,7 @@ SUBROUTINE CLDRAD RRNUM=0. ENDIF DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ASWTOA(I,J)/=SPVAL)THEN GRID1(I,J) = ASWTOA(I,J)*RRNUM ELSE @@ -3607,7 +3663,7 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3623,7 +3679,7 @@ SUBROUTINE CLDRAD RRNUM=0. ENDIF DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ALWTOA(I,J)/=SPVAL)THEN GRID1(I,J) = ALWTOA(I,J)*RRNUM ELSE @@ -3659,7 +3715,7 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3669,7 +3725,7 @@ SUBROUTINE CLDRAD GRID1=SPVAL ELSE DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RLWTOA(I,J) ENDDO ENDDO @@ -3677,7 +3733,7 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(274)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3688,7 +3744,7 @@ SUBROUTINE CLDRAD GRID1=SPVAL ELSE DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(RLWTOA(I,J) < SPVAL) & & GRID1(I,J) = (RLWTOA(I,J)*STBOL)**0.25 ENDDO @@ -3697,7 +3753,7 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(265)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3705,7 +3761,7 @@ SUBROUTINE CLDRAD IF (IGET(156)>0) THEN GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(RSWIN(I,J)1.E-6) THEN FACTRS=CZEN(I,J)/CZMEAN(I,J) @@ -3720,7 +3776,7 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(156)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3729,7 +3785,7 @@ SUBROUTINE CLDRAD ! dong add missing value to DLWRF GRID1 = spval DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(MODELNAME=='RSM' .OR. MODELNAME == 'RAPR') THEN !add by Binbin: RSM has direct RLWIN output GRID1(I,J)=RLWIN(I,J) ELSE @@ -3750,16 +3806,16 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(157)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! CURRENT OUTGOING SW RADIATION AT THE SURFACE. IF (IGET(141)>0) THEN GRID1 = spval -!$omp parallel do private(i,j) +!$omp parallel do private(i,j,FACTRS) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(RSWOUT(I,J)1.E-6) THEN FACTRS=CZEN(I,J)/CZMEAN(I,J) @@ -3774,89 +3830,115 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(141)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF -! Instantaneous clear-sky upwelling SW at the surface - IF (IGET(743)>0) THEN - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = SWUPBC(I,J) - ENDDO - ENDDO - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(743)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) - endif - ENDIF - ! CURRENT OUTGOING LW RADIATION AT THE SURFACE. IF (IGET(142)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RADOT(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(142)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! Instantaneous clear-sky downwelling LW at the surface - IF (IGET(744)>0) THEN + IF (IGET(764)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = LWDNBC(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(744)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + fld_info(cfld)%ifld=IAVBLFLD(IGET(764)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! Instantaneous clear-sky upwelling LW at the surface - IF (IGET(745)>0) THEN + IF (IGET(765)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = LWUPBC(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(745)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + fld_info(cfld)%ifld=IAVBLFLD(IGET(765)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! Instantaneous MEAN_FRP IF (IGET(740)>0) THEN -! print *,"GETTING INTO MEAN_FRP PART" DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = MEAN_FRP(I,J) ENDDO ENDDO if(grib=='grib2') then -! print *,"GETTING INTO MEAN_FRP GRIB2 PART" cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(740)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF +! Hourly wildfire potential (HWP) + IF (IGET(755)>0) THEN + DO J=JSTA,JEND + DO I=ISTA,IEND + IF (HWP(I,J)= 1)IFINCR= MOD(IFHR*60+IFMIN,ITSRFC*60) + ELSE + IFINCR = 0 + endif + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 3 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITSRFC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(755)) + if(ITSRFC>0) then + fld_info(cfld)%ntrange=1 + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=IFHR-ID(18) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) + endif + ENDIF + ! CURRENT (instantaneous) INCOMING CLEARSKY SW RADIATION AT THE SURFACE. IF (IGET(262)>0) THEN GRID1 = spval -!$omp parallel do private(i,j) +!$omp parallel do private(i,j,FACTRS) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(RSWINC(I,J)1.E-6) THEN FACTRS=CZEN(I,J)/CZMEAN(I,J) @@ -3870,50 +3952,36 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(262)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF -! Instantaneous clear-sky downwelling SW at surface (GSD version) - IF (IGET(742)>0) THEN - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = SWDNBC(I,J) - ENDDO - ENDDO - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(742)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) - endif - ENDIF - ! Instantaneous SWDDNI IF (IGET(772)>0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SWDDNI(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(772)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! Instantaneous clear-sky SWDDNI IF (IGET(796)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SWDDNIC(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(796)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -3921,35 +3989,35 @@ SUBROUTINE CLDRAD IF (IGET(773)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SWDDIF(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(773)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! Instantaneous clear-sky SWDDIF IF (IGET(797)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SWDDIFC(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(797)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! TIME AVERAGED INCOMING CLEARSKY SW RADIATION AT THE SURFACE. IF (IGET(383)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ASWINC(I,J) ENDDO ENDDO @@ -3980,14 +4048,14 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! TIME AVERAGED OUTGOING CLEARSKY SW RADIATION AT THE SURFACE. IF (IGET(386)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ASWOUTC(I,J) ENDDO ENDDO @@ -4018,28 +4086,28 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! Instantaneous all-sky outgoing SW flux at the model top IF (IGET(719)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SWUPT(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(719)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! TIME AVERAGED OUTGOING CLEARSKY SW RADIATION AT THE MODEL TOP IF (IGET(387)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ASWTOAC(I,J) ENDDO ENDDO @@ -4070,14 +4138,14 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! TIME AVERAGED INCOMING SW RADIATION AT THE MODEL TOP IF (IGET(388)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ASWINTOA(I,J) ENDDO ENDDO @@ -4108,14 +4176,14 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! TIME AVERAGED INCOMING CLEARSKY LW RADIATION AT THE SURFACE IF (IGET(382)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ALWINC(I,J) ENDDO ENDDO @@ -4146,14 +4214,14 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! TIME AVERAGED OUTGOING CLEARSKY LW RADIATION AT THE SURFACE IF (IGET(384)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ALWOUTC(I,J) ENDDO ENDDO @@ -4184,14 +4252,14 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! TIME AVERAGED OUTGOING CLEARSKY LW RADIATION AT THE MODEL TOP IF (IGET(385)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ALWTOAC(I,J) ENDDO ENDDO @@ -4222,14 +4290,14 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! TIME AVERAGED SURFACE VISIBLE BEAM DOWNWARD SOLAR FLUX IF (IGET(401)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = AVISBEAMSWIN(I,J) ENDDO ENDDO @@ -4262,14 +4330,14 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! TIME AVERAGED SURFACE VISIBLE DIFFUSE DOWNWARD SOLAR FLUX IF (IGET(402)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = AVISDIFFSWIN(I,J) ENDDO ENDDO @@ -4301,14 +4369,14 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! TIME AVERAGED SURFACE VISIBLE BEAM DOWNWARD SOLAR FLUX IF (IGET(403)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = AIRBEAMSWIN(I,J) ENDDO ENDDO @@ -4340,14 +4408,14 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! TIME AVERAGED SURFACE VISIBLE DIFFUSE DOWNWARD SOLAR FLUX IF (IGET(404)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = AIRDIFFSWIN(I,J) ENDDO ENDDO @@ -4379,135 +4447,151 @@ SUBROUTINE CLDRAD fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !2D AEROSOL OPTICAL DEPTH AT 550 NM IF(rdaod) then - IF (IGET(609).GT.0) THEN + IF (IGET(600).GT.0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND grid1(i,j)=aod550(i,j) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(609)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + fld_info(cfld)%ifld=IAVBLFLD(IGET(600)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF - IF (IGET(610).GT.0) THEN + IF (IGET(601).GT.0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND grid1(i,j)=du_aod550(i,j) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(610)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + fld_info(cfld)%ifld=IAVBLFLD(IGET(601)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF - IF (IGET(611).GT.0) THEN + IF (IGET(602).GT.0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND grid1(i,j)=ss_aod550(i,j) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(611)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + fld_info(cfld)%ifld=IAVBLFLD(IGET(602)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF - IF (IGET(612).GT.0) THEN + IF (IGET(603).GT.0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND grid1(i,j)=su_aod550(i,j) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(612)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + fld_info(cfld)%ifld=IAVBLFLD(IGET(603)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF - IF (IGET(613).GT.0) THEN + IF (IGET(604).GT.0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND grid1(i,j)=oc_aod550(i,j) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(613)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + fld_info(cfld)%ifld=IAVBLFLD(IGET(604)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF - IF (IGET(614).GT.0) THEN + IF (IGET(605).GT.0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND grid1(i,j)=bc_aod550(i,j) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(614)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + fld_info(cfld)%ifld=IAVBLFLD(IGET(605)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF END IF !rdaod + !AQM AEROSOL OPTICAL DEPTH AT 550 NM + IF (aqf_on) THEN + IF (IGET(712).GT.0) THEN + DO J=JSTA,JEND + DO I=ISTA,IEND + grid1(i,j)=aqm_aod550(i,j) + ENDDO + ENDDO + if(grib=="grib2" )then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(712)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) + endif + ENDIF + END IF !aqf_on + !2D AEROSOL OPTICAL DEPTH AT 550 NM IF (IGET(715)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND grid1(i,j)=taod5502d(i,j) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(715)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !AEROSOL ASYMMETRY FACTOR IF (IGET(716)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND grid1(i,j)=aerasy2d(i,j) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(716)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !AEROSOL SINGLE-SCATTERING ALBEDO IF (IGET(717)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND grid1(i,j)=aerssa2d(i,j) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(717)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! - if (gocart_on) then + if (gocart_on .or. gccpp_on .or. nasa_on) then ! !*** BLOCK 4. GOCART AEROSOL FIELDS ! @@ -4537,13 +4621,9 @@ SUBROUTINE CLDRAD DO I = 690, 698 ! TOTAL AND SPECIATED AEROSOL IF ( IGET(I)>0 ) LAERSMASS = .TRUE. ENDDO - IF ( rdaod ) THEN - LAEROPT = .FALSE. - LAERSMASS = .FALSE. - END IF IF ( LAEROPT ) THEN - PRINT *, 'COMPUTE AEROSOL OPTICAL PROPERTIES' + if(me == 0)PRINT *, 'COMPUTE AEROSOL OPTICAL PROPERTIES' !!! ALLOCATE AEROSOL OPTICAL PROPERTIES ALLOCATE ( extrhd_DU(KRHLEV,nbin_du,NBDSW)) @@ -4569,14 +4649,31 @@ SUBROUTINE CLDRAD ALLOCATE ( ssarhd_SU(KRHLEV,nbin_su,NBDSW)) ALLOCATE ( ssarhd_BC(KRHLEV,nbin_bc,NBDSW)) ALLOCATE ( ssarhd_OC(KRHLEV,nbin_oc,NBDSW)) - PRINT *, 'aft AEROSOL allocate, nbin_du=',nbin_du, & - 'nbin_ss=',nbin_ss,'nbin_su=',nbin_su,'nbin_bc=', & - 'nbin_oc=',nbin_oc,'nAero=',nAero + + ALLOCATE ( extrhd_NI(KRHLEV,nbin_no3,NBDSW)) + ALLOCATE ( scarhd_NI(KRHLEV,nbin_no3,NBDSW)) + ALLOCATE ( asyrhd_NI(KRHLEV,nbin_no3,NBDSW)) + ALLOCATE ( ssarhd_NI(KRHLEV,nbin_no3,NBDSW)) + + if (gocart_on .or. gccpp_on) then + nAero=KCM1 + else if (nasa_on) then + nAero=KCM2 + endif +! PRINT *, 'aft AEROSOL allocate, nbin_du=',nbin_du, & +! 'nbin_ss=',nbin_ss,'nbin_su=',nbin_su,'nbin_bc=', & +! 'nbin_oc=',nbin_oc,'nbin_ni=',nbin_no3,'nAero=',nAero !!! READ AEROSOL LUTS DO i = 1, nAero CLOSE(UNIT=NOAER) + if (gocart_on) then aerosol_file='optics_luts_'//AerosolName(i)//'.dat' + else if ( gccpp_on ) then + aerosol_file='optics_luts_'//AerosolName(i)//'_nasa.dat' + else if ( nasa_on ) then + aerosol_file='optics_luts_'//AerosolName(i)//'_nasa.dat' + endif open(unit=NOAER, file=aerosol_file, status='OLD', iostat=ios) IF (IOS > 0) THEN print *,' ERROR! Non-zero iostat for rd_LUTS ', aerosol_file @@ -4589,6 +4686,9 @@ SUBROUTINE CLDRAD IF (AerosolName(i) == 'SUSO') nbin = nbin_su IF (AerosolName(i) == 'SOOT') nbin = nbin_bc IF (AerosolName(i) == 'WASO') nbin = nbin_oc + if (nasa_on) then + IF (AerosolName(i) == 'NITR') nbin = nbin_no3 + endif DO J = 1, NBIN read(NOAER,'(2x,a4,1x,i1,1x,a3)')AerName_rd,ib, AerOpt IF (AerName_rd /= AerosolName(i)) STOP @@ -4679,8 +4779,26 @@ SUBROUTINE CLDRAD do ib = 1, NBDSW read(NOAER,'(8f10.5)') (ssarhd_oc(ii,j,ib), ii=1,KRHLEV) enddo - ENDIF + if ( nasa_on ) then + IF (AerosolName(i) == 'NITR') THEN + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (extrhd_ni(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (scarhd_ni(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (asyrhd_ni(ii,j,ib), ii=1,KRHLEV) + enddo + read(NOAER,'(2x,a4)') AerName_rd + do ib = 1, NBDSW + read(NOAER,'(8f10.5)') (ssarhd_ni(ii,j,ib), ii=1,KRHLEV) + enddo + ENDIF + endif !nasa_on ENDDO ! j-loop for nbin ENDDO ! i-loop for nAero @@ -4689,22 +4807,23 @@ SUBROUTINE CLDRAD CLOSE(UNIT=NOAER) !!! COMPUTES RELATIVE HUMIDITY AND RDRH -! allocate (RH3D(im,jsta:jend,lm)) - allocate (rdrh(im,jsta:jend,lm)) - allocate (ihh(im,jsta:jend,lm)) +! allocate (RH3D(ista:iend,jsta:jend,lm)) + allocate (rdrh(ista:iend,jsta:jend,lm)) + allocate (ihh(ista:iend,jsta:jend,lm)) DO L=1,LM ! L FROM TOA TO SFC LL=LM-L+1 ! LL FROM SFC TO TOA !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND P1D(I,J) = PMID(I,J,LL) T1D(I,J) = T(I,J,LL) Q1D(I,J) = Q(I,J,LL) ENDDO ENDDO + !CALL CALRH(P1D,T1D,Q1D,EGRID4) CALL CALRH(P1D,T1D,Q1D,EGRID4) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! RH3D(I,J,LL) = EGRID4(I,J) RH3D = EGRID4(I,J) ! DETERMINE RDRH (wgt for IH2) and IHH (index for IH2) @@ -4792,7 +4911,7 @@ SUBROUTINE CLDRAD SCA=0.0 ASY=0.0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND DO L=1,LM DO N=1, NBIN_DU EXT01 = EXTRHD_DU(1,N,IB) @@ -4819,7 +4938,7 @@ SUBROUTINE CLDRAD SCA=0.0 ASY=0.0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND DO L=1,LM ih1 = ihh(I,J,L) ih2 = ih1 + 1 @@ -4853,7 +4972,7 @@ SUBROUTINE CLDRAD SCA=0.0 ASY=0.0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND DO L=1,LM ih1 = ihh (I,J,L) ih2 = ih1 + 1 @@ -4886,7 +5005,7 @@ SUBROUTINE CLDRAD SCA=0.0 ASY=0.0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND DO L=1,LM ih1 = ihh (I,J,L) ih2 = ih1 + 1 @@ -4918,7 +5037,7 @@ SUBROUTINE CLDRAD SCA=0.0 ASY=0.0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND DO L=1,LM ih1 = ihh (I,J,L) ih2 = ih1 + 1 @@ -4943,12 +5062,48 @@ SUBROUTINE CLDRAD CALL CALPW(SCA_OC,20) CALL CALPW(ASY_OC,21) + if ( nasa_on ) then +! COMPUTE ORGANIC CARBON AOD + AOD_NI=SPVAL + SCA_NI=SPVAL + ASY_NI=SPVAL + EXT=0.0 + SCA=0.0 + ASY=0.0 + DO J=JSTA,JEND + DO I=ISTA,IEND + DO L=1,LM + ih1 = ihh (I,J,L) + ih2 = ih1 + 1 + DO N = 1, NBIN_NO3 + EXT01 = EXTRHD_NI(IH1,N,IB) & + & + RDRH(I,J,L)*(EXTRHD_NI(IH2,N,IB)-EXTRHD_NI(IH1,N,IB)) + SCA01 = SCARHD_NI(IH1,N,IB) & + & + RDRH(I,J,L)*(SCARHD_NI(IH2,N,IB)-SCARHD_NI(IH1,N,IB)) + ASY01 = ASYRHD_NI(IH1,N,IB) & + & + RDRH(I,J,L)*(ASYRHD_NI(IH2,N,IB)-ASYRHD_NI(IH1,N,IB)) + EXT(I,J,L) = EXT(I,J,L)+1e-9*NO3(I,J,L,N)*EXT01 + SCA(I,J,L) = SCA(I,J,L)+1e-9*NO3(I,J,L,N)*SCA01 + ASY(I,J,L) = ASY(I,J,L)+1e-9*NO3(I,J,L,N)*SCA01*ASY01 + ENDDO ! N-loop + EXT(I,J,L) = EXT(I,J,L) * 1000. + SCA(I,J,L) = SCA(I,J,L) * 1000. + ASY(I,J,L) = ASY(I,J,L) * 1000. + ENDDO ! L-loop + ENDDO ! I-loop + ENDDO ! J-loop + CALL CALPW(AOD_NI,17) + CALL CALPW(SCA_NI,20) + CALL CALPW(ASY_NI,21) + endif + + ! COMPUTE TOTAL AOD AOD=SPVAL SCA=SPVAL ASY=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND AOD_DU(I,J) = MAX (AOD_DU(I,J), 0.0) AOD_BC(I,J) = MAX (AOD_BC(I,J), 0.0) AOD_OC(I,J) = MAX (AOD_OC(I,J), 0.0) @@ -4967,12 +5122,28 @@ SUBROUTINE CLDRAD ASY_SU(I,J) = MAX (ASY_SU(I,J), 0.0) ASY_SS(I,J) = MAX (ASY_SS(I,J), 0.0) + if ( nasa_on ) then + AOD_NI(I,J) = MAX (AOD_NI(I,J), 0.0) + SCA_NI(I,J) = MAX (SCA_NI(I,J), 0.0) + ASY_NI(I,J) = MAX (ASY_NI(I,J), 0.0) + + AOD(I,J) = AOD_DU(I,J) + AOD_BC(I,J) + AOD_OC(I,J) + & + & AOD_SU(I,J) + AOD_SS(I,J) + AOD_NI(I,J) + SCA2D(I,J) = SCA_DU(I,J) + SCA_BC(I,J) + SCA_OC(I,J) + & + & SCA_SU(I,J) + SCA_SS(I,J) + SCA_NI(I,J) + ASY2D(I,J) = ASY_DU(I,J) + ASY_BC(I,J) + ASY_OC(I,J) + & + & ASY_SU(I,J) + ASY_SS(I,J) + ASY_NI(I,J) + endif + + if (gocart_on .or. gccpp_on) then AOD(I,J) = AOD_DU(I,J) + AOD_BC(I,J) + AOD_OC(I,J) + & & AOD_SU(I,J) + AOD_SS(I,J) SCA2D(I,J) = SCA_DU(I,J) + SCA_BC(I,J) + SCA_OC(I,J) + & & SCA_SU(I,J) + SCA_SS(I,J) ASY2D(I,J) = ASY_DU(I,J) + ASY_BC(I,J) + ASY_OC(I,J) + & & ASY_SU(I,J) + ASY_SS(I,J) + endif + ENDDO ! I-loop ENDDO ! J-loop ! FILL UP AOD_440 AND AOD_860, IF ANGSTROM EXP IS REQUESTED @@ -4980,7 +5151,7 @@ SUBROUTINE CLDRAD IF (IB == 2 ) THEN !! AOD AT 440 NM !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND AOD_440(I,J) = AOD(I,J) ENDDO ! I-loop ENDDO ! J-loop @@ -4989,7 +5160,7 @@ SUBROUTINE CLDRAD IF (IB == 5 ) THEN !! AOD AT 860 NM !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND AOD_860(I,J) = AOD(I,J) ENDDO ! I-loop ENDDO ! J-loop @@ -5000,7 +5171,7 @@ SUBROUTINE CLDRAD IF ( IGET(INDX) > 0) THEN !$omp parallel do private(i,j) do j=jsta,jend - do i=1,im + do i=ista,iend GRID1(i,j) = AOD(i,j) enddo enddo @@ -5008,7 +5179,7 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(INDX)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -5020,7 +5191,7 @@ SUBROUTINE CLDRAD GRID1 = spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(SCA2D(I,J) 0.0 ) THEN ASY2D(I,J) = ASY2D(I,J) / SCA2D(I,J) @@ -5035,7 +5206,7 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(649)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! IGET(649) @@ -5044,7 +5215,7 @@ SUBROUTINE CLDRAD GRID1 = SPVAL !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(AOD(I,J) 0.0 ) THEN SCA2D(I,J) = SCA2D(I,J) / AOD(I,J) @@ -5059,7 +5230,7 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(648)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! IGET(648) ! print *,'aft compute sca340' @@ -5075,7 +5246,7 @@ SUBROUTINE CLDRAD IF ( IGET(650) > 0 ) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=SCA2D(I,J) ENDDO ENDDO @@ -5083,7 +5254,7 @@ SUBROUTINE CLDRAD if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(650)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! LOOP THROUGH EACH SPECIES @@ -5094,19 +5265,20 @@ SUBROUTINE CLDRAD IF ( IGET(JJ) > 0) THEN ! EXT AOD !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF ( II == 1 ) GRID1(I,J) = AOD_DU(I,J) IF ( II == 2 ) GRID1(I,J) = AOD_SS(I,J) IF ( II == 3 ) GRID1(I,J) = AOD_SU(I,J) IF ( II == 4 ) GRID1(I,J) = AOD_OC(I,J) IF ( II == 5 ) GRID1(I,J) = AOD_BC(I,J) + IF ( II == 6 ) GRID1(I,J) = AOD_NI(I,J) ENDDO ENDDO CALL BOUND(GRID1,D00,H99999) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(JJ)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -5115,19 +5287,20 @@ SUBROUTINE CLDRAD IF ( IGET(JJ) > 0) THEN ! SCA AOD !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF ( II == 1 ) GRID1(I,J) = SCA_DU(I,J) IF ( II == 2 ) GRID1(I,J) = SCA_SS(I,J) IF ( II == 3 ) GRID1(I,J) = SCA_SU(I,J) IF ( II == 4 ) GRID1(I,J) = SCA_OC(I,J) IF ( II == 5 ) GRID1(I,J) = SCA_BC(I,J) + IF ( II == 6 ) GRID1(I,J) = SCA_NI(I,J) ENDDO ENDDO CALL BOUND(GRID1,D00,H99999) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(JJ)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -5142,9 +5315,9 @@ SUBROUTINE CLDRAD ANGST=SPVAL ! ANG2 = LOG ( 0.860 / 0.440 ) ANG2 = LOG ( 860. / 440. ) -!$omp parallel do private(i,j) +!$omp parallel do private(i,j,ang1) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (AOD_860(I,J) > 0.) THEN ANG1 = LOG( AOD_440(I,J)/AOD_860(I,J) ) ANGST(I,J) = ANG1 / ANG2 @@ -5152,120 +5325,55 @@ SUBROUTINE CLDRAD GRID1(I,J)=ANGST(I,J) ENDDO ENDDO - if(debugprint)print *,'output angstrom exp,angst=',maxval(angst(1:im,jsta:jend)), & - minval(angst(1:im,jsta:jend)) + if(debugprint)print *,'output angstrom exp,angst=',maxval(angst(ista:iend,jsta:jend)), & + minval(angst(ista:iend,jsta:jend)) CALL BOUND(GRID1,D00,H99999) if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(656)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ANGSTROM EXPONENT ENDIF ! END OF LAEROPT IF-BLOCK -!! Multiply by 1.E-6 to revert these fields back - IF (IGET(659)>0) THEN - GRID1=SPVAL -!$omp parallel do private(i,j) - DO J = JSTA,JEND - DO I = 1,IM - IF(DUEM(I,J,1)0) THEN - GRID1=SPVAL +!! ADD AEROSOL SURFACE PM25 DUST MASS CONCENTRATION (ug/m3) + IF (IGET(686)>0 ) THEN !$omp parallel do private(i,j) DO J = JSTA,JEND - DO I = 1,IM - IF(DUSD(I,J,1)0) THEN -! DO J = JSTA,JEND -! DO I = 1,IM -! GRID1(I,J) = DUDP(I,J,1)*1.E-6 -! DO K=2,NBIN_DU -! GRID1(I,J) = GRID1(I,J)+ DUDP(I,J,K)*1.E-6 -! END DO -! END DO -! END DO -! ID(1:25) = 0 -! ID(02)=141 -! if(grib=='grib1') then -! CALL GRIBIT(IGET(661),LVLS(1,IGET(661)),GRID1,IM,JM) -! elseif(grib=='grib2') then -! cfld=cfld+1 -! fld_info(cfld)%ifld=IAVBLFLD(IGET(661)) -! datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) -! endif -! ENDIF -!! ADD AEROSOL SURFACE PM25 DUST MASS CONCENTRATION (ug/m3) - IF (IGET(686)>0 ) THEN + IF (IGET(685)>0 ) THEN !$omp parallel do private(i,j) DO J = JSTA,JEND - DO I = 1,IM - !GRID1(I,J) = DUSMASS(I,J) * 1.E-6 - GRID1(I,J) = DUSTPM(I,J) !ug/m3 + DO I = ISTA,IEND + GRID1(I,J) = DUSTPM10(I,J) !ug/m3 END DO END DO if(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(686)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + fld_info(cfld)%ifld=IAVBLFLD(IGET(685)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF - -!! ADD DUST WET DEPOSITION FLUXES (kg/m2/sec) -! IF (IGET(662)>0) THEN -! DO J = JSTA,JEND -! DO I = 1,IM -! GRID1(I,J) = DUWT(I,J,1)*1.E-6 -! DO K=2,NBIN_DU -! GRID1(I,J) = GRID1(I,J)+ DUWT(I,J,K)*1.E-6 -! END DO -! END DO -! END DO -! ID(1:25) = 0 -! ID(02)=141 -! if(grib=='grib1') then -! CALL GRIBIT(IGET(662),LVLS(1,IGET(662)),GRID1,IM,JM) -! elseif(grib=='grib2') then -! cfld=cfld+1 -! fld_info(cfld)%ifld=IAVBLFLD(IGET(662)) -! datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) -! endif -! ENDIF + !! ADD AEROSOL SURFACE PM25 SEA SALT MASS CONCENTRATION (ug/m3) IF (IGET(684)>0 ) THEN !$omp parallel do private(i,j) DO J = JSTA,JEND - DO I = 1,IM + DO I = ISTA,IEND !GRID1(I,J) = DUSMASS(I,J) * 1.E-6 GRID1(I,J) = SSPM(I,J) !ug/m3 END DO @@ -5273,14 +5381,14 @@ SUBROUTINE CLDRAD if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(684)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !! ADD AEROSOL SURFACE PM10 MASS CONCENTRATION (ug/m3) IF (IGET(619)>0 ) THEN !$omp parallel do private(i,j) DO J = JSTA,JEND - DO I = 1,IM + DO I = ISTA,IEND !GRID1(I,J) = DUSMASS(I,J) * 1.E-6 GRID1(I,J) = DUSMASS(I,J) !ug/m3 END DO @@ -5288,7 +5396,7 @@ SUBROUTINE CLDRAD if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(619)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -5296,7 +5404,7 @@ SUBROUTINE CLDRAD IF (IGET(620)>0 ) THEN !$omp parallel do private(i,j) DO J = JSTA,JEND - DO I = 1,IM + DO I = ISTA,IEND !GRID1(I,J) = DUSMASS25(I,J) * 1.E-6 GRID1(I,J) = DUSMASS25(I,J) ! ug/m3 END DO @@ -5304,7 +5412,7 @@ SUBROUTINE CLDRAD if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(620)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !! ADD TOTAL AEROSOL PM10 COLUMN DENSITY (kg/m2) ! @@ -5312,7 +5420,7 @@ SUBROUTINE CLDRAD GRID1=SPVAL !$omp parallel do private(i,j) DO J = JSTA,JEND - DO I = 1,IM + DO I = ISTA,IEND !GRID1(I,J) = DUCMASS(I,J) * 1.E-6 IF(DUCMASS(I,J)0 ) THEN + GRID1=SPVAL +!$omp parallel do private(i,j) + DO J = JSTA,JEND + DO I = ISTA,IEND + IF(NO3CB(I,J)0 ) THEN + GRID1=SPVAL +!$omp parallel do private(i,j) + DO J = JSTA,JEND + DO I = ISTA,IEND + IF(NH4CB(I,J)0) call wrt_aero_diag(674,nbin_oc,ocwt) IF (IGET(682)>0) call wrt_aero_diag(682,nbin_oc,ocsv) ! print *,'aft wrt disg ocwt' - +!! wrt MIE AOD at 550nm + IF (IGET(699).GT.0) call wrt_aero_diag(699,1,maod) + print *,'aft wrt disg maod' + endif !gocart_on + !! wrt SU diag field ! IF (IGET(675)>0) call wrt_aero_diag(675,nbin_su,suem) ! IF (IGET(676)>0) call wrt_aero_diag(676,nbin_su,susd) ! IF (IGET(677)>0) call wrt_aero_diag(677,nbin_su,sudp) ! IF (IGET(678)>0) call wrt_aero_diag(678,nbin_su,suwt) ! print *,'aft wrt disg suwt' - endif ! if gocart_on + endif ! if gocart_on or nasa_on ! CB for WAFS if(IGET(473)>0 .or. IGET(474)>0 .or. IGET(475)>0) then ! CB cover is derived from CPRAT (same as #272 in SURFCE.f) EGRID1 = SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(AVGCPRATE(I,J) /= SPVAL) then EGRID1(I,J) = AVGCPRATE(I,J)*(1000./DTQ2) end if @@ -5481,7 +5630,7 @@ SUBROUTINE CLDRAD EGRID3 = SPVAL IF(MODELNAME == 'GFS' .OR. MODELNAME == 'FV3R') then DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EGRID2(I,J) = PBOT(I,J) EGRID3(I,J) = PTOP(I,J) END DO @@ -5490,7 +5639,7 @@ SUBROUTINE CLDRAD ! Derive CB base and top, relationship among CB fields DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(EGRID1(I,J)<= 0. .or. EGRID2(I,J)<= 0. .or. EGRID3(I,J) <= 0.) then EGRID1(I,J) = SPVAL EGRID2(I,J) = SPVAL @@ -5499,7 +5648,7 @@ SUBROUTINE CLDRAD END DO END DO DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(EGRID2(I,J) == SPVAL .or. EGRID3(I,J) == SPVAL) cycle if(EGRID3(I,J) < 400.*100. .and. & (EGRID2(I,J)-EGRID3(I,J)) > 300.*100) then @@ -5548,17 +5697,18 @@ SUBROUTINE CLDRAD IF(IGET(473) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = EGRID1(I,J) ENDDO ENDDO cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(473)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo END IF @@ -5566,17 +5716,18 @@ SUBROUTINE CLDRAD IF(IGET(474) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = EGRID2(I,J) ENDDO ENDDO cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(474)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo END IF @@ -5584,17 +5735,18 @@ SUBROUTINE CLDRAD IF(IGET(475) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = EGRID3(I,J) ENDDO ENDDO cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(475)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo END IF @@ -5607,12 +5759,12 @@ SUBROUTINE CLDRAD END subroutine cb_cover(cbcov) -! Calculate CB coverage by using fuzzy logic -! Evaluate membership of val in a fuzzy set fuzzy. -! Assume f is in x-log scale - use ctlblk_mod, only: SPVAL,JSTA,JEND,IM +!> Calculate CB coverage by using fuzzy logic +!> Evaluate membership of val in a fuzzy set fuzzy. +!> Assume f is in x-log scale + use ctlblk_mod, only: SPVAL,JSTA,JEND,IM,ISTA,IEND implicit none - real, intent(inout) :: cbcov(IM,JSTA:JEND) + real, intent(inout) :: cbcov(ISTA:IEND,JSTA:JEND) ! x - convective precipitation [1.0e6*kg/(m2s)] ! y - cloud cover fraction, between 0 and 1 @@ -5632,7 +5784,7 @@ subroutine cb_cover(cbcov) x = log(x) do j = jsta, jend - do i = 1, IM + do i = ista, iend if(cbcov(i,j) == SPVAL) cycle if(cbcov(i,j) <= 0.) then cbcov(i,j) = 0. @@ -5660,23 +5812,29 @@ subroutine cb_cover(cbcov) end do end do end subroutine cb_cover - +!------------------------------------------------------------------------------------ +!> @brief wrt_aero_diag outputs aerosol field in grib2. +!> +!> @param igetfld integer UPP field ID number. +!> @param nbin integer. +!> @param data real. +!------------------------------------------------------------------------------------ subroutine wrt_aero_diag(igetfld,nbin,data) use ctlblk_mod, only: jsta, jend, SPVAL, im, jm, grib, & - cfld, datapd, fld_info, jsta_2l, jend_2u + cfld, datapd, fld_info, jsta_2l, jend_2u,ista_2l,iend_2u,ista,iend use rqstfld_mod, only: IGET, ID, LVLS, IAVBLFLD implicit none ! integer igetfld,nbin - real, dimension(1:im,jsta_2l:jend_2u,nbin) :: data + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u,nbin) :: data ! integer i,j,k REAL,dimension(im,jm) :: GRID1 ! GRID1=SPVAL -!$omp parallel do private(i,j) +!$omp parallel do private(i,j,k) DO J = JSTA,JEND - DO I = 1,IM + DO I = ISTA,IEND if(data(I,J,1) @file +!> @brief CMASSI defines variables related to mass and precipitation +!> See CCPP Ferrier-Aligo microphysics modules for more information module CMASSI_mod !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! !----------------------------------------------------------------------- - REAL, PARAMETER :: DMImin=.05e-3, DMImax=1.e-3, & - & XMImin=1.e6*DMImin, XMImax=1.e6*DMImax - INTEGER, PARAMETER :: MDImin=XMImin, MDImax=XMImax + REAL, PARAMETER :: DMImin=.05e-3, & !< Minimum mean mass of precipitation ice particles. + DMImax=1.e-3, & !< Maximum mean mass of precipitation ice particles. + XMImin=1.e6*DMImin, & !< Minimum mean mass of precipitation ice particles (in microns). + XMImax=1.e6*DMImax !< Maximum mean mass of precipitation ice particles (in microns). + + INTEGER, PARAMETER :: MDImin=XMImin, & !< Minimum mean diameter of precipitation ice particles. + MDImax=XMImax !< Maximum mean diameter of precipitation ice particles. + !----------------------------------------------------------------------- -!--- Mean mass of precpitation ice particles as functions of their mean -! size (in microns) -! - REAL MASSI(MDImin:MDImax) -! + + REAL MASSI(MDImin:MDImax) !< Mean mass of precipitation ice particles as functions of their mean size (in microns). + !--- Mean rain drop diameters vary from 50 microns to 1000 microns -! DMRmax definition is moved to microinit and has different values depending on imp_physics - REAL, PARAMETER :: DMRmin=.05E-3, DelDMR=1.E-6 & - &, XMRmin=1.E6*DMRmin, N0r0=8.E6, N0rmin=1.e4 - REAL DMRmax,XMRmax - INTEGER, PARAMETER :: MDRmin=XMRmin - INTEGER MDRmax -! +!> DMRmax definition is moved to microinit and has different values depending on imp_physics + + REAL, PARAMETER :: DMRmin=.05E-3, & !< Minimum mean rain drop diameter (0.05 mm). + DelDMR=1.E-6, & !< One-micron interval (Lookup tables store solutions at 1 micron intervals [DelDMR] of mean rain drop diameter.). + XMRmin=1.E6*DMRmin, & !< Minimum mean rain drop diameter (in microns). + N0r0=8.E6, & !< Assumed intercept (m**-4) of rain drops if drop diameters are between 0.2 and 1.0 mm. + N0rmin=1.e4 !< Minimum intercept (m**-4) for rain drops. + + REAL DMRmax & !< Maximum mean rain drop diameter. + ,XMRmax !< Maximum mean rain drop diameter. + + INTEGER, PARAMETER :: MDRmin=XMRmin !< Minimum mean rain drop diameter (in microns). + INTEGER MDRmax !< Maximum mean rain drop diameter (in microns). + +! !--- Various rain lookup tables -! - REAL RQR_DRmin,RQR_DRmax, & - CN0r0,CN0r_DMRmin,CN0r_DMRmax -! +! + + REAL RQR_DRmin & !< Rain content (kg/m**3) for mean drop diameter of .05 mm. + ,RQR_DRmax & !< Rain content (kg/m**3) for mean drop diameter of 1.0 mm. + ,CN0r0 & !< Constant derived from N0r0. + ,CN0r_DMRmin & !< Minimum (starting) value for rain lookup tables for mean rain drop diameters. + ,CN0r_DMRmax !< Maximum (ending) value for rain lookup tables for mean rain drop diameters. + !--- Other important parameters -! (NLImax, FLARGE2 are used for the older version of the microphysics) -! - REAL T_ICE,NLImax,FLARGE2,TRAD_ice -! +! (NLImax, FLARGE2 are used for the older version of the microphysics) +! + REAL T_ICE & !< Temperature (C) threshold at which all remaining liquid water is glaciated to ice. + ,NLImax & !< Maximum number concentrations (m**-3) of large ice (snow/graupel/sleet). + ,FLARGE2 & !< Set in MICROINIT.F (no longer used). + ,TRAD_ice !< Defined as 0.5*T_ICE+TFRZ, or 253.15K, in other routines. Possibly refers to thermal radiation of ice or ice nucleation temperature ? + + end module CMASSI_mod diff --git a/sorc/ncep_post.fd/CMakeLists.txt b/sorc/ncep_post.fd/CMakeLists.txt index 20b438d943..88fea3cbcf 100644 --- a/sorc/ncep_post.fd/CMakeLists.txt +++ b/sorc/ncep_post.fd/CMakeLists.txt @@ -7,6 +7,7 @@ list(APPEND LIB_SRC CALDRG.f CALDWP.f CALGUST.f + CALGUSTCONV.f CALHEL.f CALHEL2.f CALHEL3.f @@ -26,7 +27,6 @@ list(APPEND LIB_SRC CALVESSEL.f CALVIS.f CALVIS_GSD.f - CALVOR.f CALWXT_BOURG.f CALWXT_DOMINANT.f CALWXT_EXPLICIT.f @@ -46,8 +46,8 @@ list(APPEND LIB_SRC DEWPOINT.f ETCALC.f ETAMP_Q2F.f - EXCH2.f EXCH.f + EXCH_c_float.f FDLVL.f FGAMMA.f FILL_PSETFLD.f @@ -63,27 +63,19 @@ list(APPEND LIB_SRC GPVS.f grib2_module.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 + IFI.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 - MDL2STD_P.f MDL2THANDPV.f MDLFLD.f MICROINIT.F @@ -104,11 +96,10 @@ list(APPEND LIB_SRC PMICRPH.f POLEAVG.f PROCESS.f - READCNTRL.F READ_xml.f retrieve_index.f RHGRD.f - RQSTFLD.F + RQSTFLD.f SCLFLD.f SELECT_CHANNELS.f SERVER.f @@ -116,7 +107,6 @@ list(APPEND LIB_SRC SET_OUTFLDS.f SETUP_SERVERS.f SLP_new.f - SLP_NMM.f SMOOTH.f SNFRAC.f SNFRAC_GFS.f @@ -138,21 +128,32 @@ list(APPEND LIB_SRC xml_perl_data.f ZENSUN.f) +list(APPEND GTG_LIB_SRC + gtg_algo.F90 + gtg_compute.F90 + gtg_cdf_mod.F90 + gtg_ReadSetupParams.F90 + gtg_read_config.F90 + gtg_mlmodel.F90 + gtg_prob.F90 + gtg_interp.F90 + gtg_ctlblk.F90 + gtg_filter.F90 + gtg_indices.F90 + gtg_smoothseams.F90 + map_routines.F90) + +if(BUILD_WITH_GTG) + list(TRANSFORM GTG_LIB_SRC PREPEND post_gtg.fd/) +endif() + +list(APPEND LIB_SRC ${GTG_LIB_SRC}) + list(APPEND EXE_SRC - ASSIGNNEMSIOVAR.f - GETNEMSNDSCATTER.f - GFSPOSTSIG.F INITPOST.F - INITPOST_GFS_NEMS.f - INITPOST_GFS_NEMS_MPIIO.f - INITPOST_GFS_NETCDF.f - INITPOST_GFS_NETCDF_PARA.f - INITPOST_GFS_SIGIO.f - INITPOST_NEMS.f - INITPOST_NEMS_MPIIO.f + INITPOST_MPAS.F INITPOST_NETCDF.f - INITPOST_NMM.f - WRFPOST.f + WRFPOST.F getIVariableN.f getVariable.f getlvls.f @@ -167,14 +168,29 @@ if(NOT wrf_io_FOUND) io_int_stubs.f) endif() +if(BUILD_WITH_NEMSIO) + list(APPEND EXE_SRC + ASSIGNNEMSIOVAR.f + GETNEMSNDSCATTER.f + GFSPOSTSIG.F + INITPOST_GFS_NEMS_MPIIO.f + INITPOST_NEMS.f) +endif() + if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$") set(CMAKE_Fortran_FLAGS - "-g -traceback -fp-model source -free -convert big_endian") + "-g -traceback -fp-model source -free -convert big_endian ${CMAKE_Fortran_FLAGS}") set(CMAKE_Fortran_FLAGS_RELEASE "-O3") - set(CMAKE_Fortran_FLAGS_DEBUG "-O0") + set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -ftrapuv -check all -check noarg_temp_created") + set_source_files_properties(INITPOST_GFS_NEMS_MPIIO.f INITPOST_NETCDF.f INITPOST_NEMS.f PROPERTIES COMPILE_FLAGS -qoverride-limits) +elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(IntelLLVM)$") + set(CMAKE_Fortran_FLAGS + "-g -traceback -fp-model precise -free -convert big_endian ${CMAKE_Fortran_FLAGS}") + set(CMAKE_Fortran_FLAGS_RELEASE "-O3") + set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -check all -shared-intel -diag-disable=10444 -check noarg_temp_created -ftrapuv") elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU|Clang|AppleClang)$") set(CMAKE_Fortran_FLAGS - "-g -fbacktrace -ffree-form -ffree-line-length-none -fconvert=big-endian") + "-g -fbacktrace -ffree-form -ffree-line-length-none -fconvert=big-endian ${CMAKE_Fortran_FLAGS}") 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") if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10) @@ -198,32 +214,64 @@ target_include_directories(${LIBNAME} PUBLIC $) target_link_libraries(${LIBNAME} PUBLIC - bacio::bacio_4 + bacio::bacio crtm::crtm g2::g2_4 g2tmpl::g2tmpl - ip::ip_4 MPI::MPI_Fortran NetCDF::NetCDF_Fortran) +if(IFI_FOUND) + if(INTERNAL_IFI) + target_link_libraries(${LIBNAME} PRIVATE IFI) + target_link_libraries(${LIBNAME} PRIVATE tdrp) + target_include_directories(${LIBNAME} PUBLIC $/include $) + else() + target_link_libraries(${LIBNAME} PUBLIC IFI) + target_link_libraries(${LIBNAME} PUBLIC tdrp) + endif() +endif() + +if(BUILD_WITH_GTG) + target_link_libraries(${LIBNAME} PUBLIC + ip::ip_4) +endif() + if(OpenMP_Fortran_FOUND) target_link_libraries(${LIBNAME} PUBLIC OpenMP::OpenMP_Fortran) endif() if(BUILD_POSTEXEC) add_executable(${EXENAME} ${EXE_SRC}) + if(ip_FOUND) + set(sp_target ip::ip_4) + if(ip_VERSION VERSION_GREATER_EQUAL 5.1) + target_compile_definitions(${EXENAME} PRIVATE USE_SP_MOD=1) + endif() + else() + set(sp_target sp::sp_4) + endif() target_link_libraries(${EXENAME} PRIVATE ${LIBNAME} - w3nco::w3nco_4 - nemsio::nemsio - sp::sp_4 - sfcio::sfcio - sigio::sigio) + w3emc::w3emc_4 + ${sp_target}) + set_target_properties(${EXENAME} PROPERTIES LINKER_LANGUAGE Fortran) + if(IFI_FOUND) + target_link_libraries(${EXENAME} PRIVATE IFI) + target_link_libraries(${EXENAME} PRIVATE tdrp) + endif() + if(BUILD_WITH_NEMSIO) + set_target_properties(nemsio::nemsio PROPERTIES + INTERFACE_LINK_LIBRARIES "w3emc::w3emc_4;bacio::bacio") + target_link_libraries(${EXENAME} PRIVATE + nemsio::nemsio sigio::sigio) + target_compile_definitions(${EXENAME} PRIVATE BUILD_WITH_NEMSIO) + endif() if(wrf_io_FOUND) target_link_libraries(${EXENAME} PRIVATE wrf_io::wrf_io) endif() - install(TARGETS ${EXENAME} RUNTIME DESTINATION bin) + install(TARGETS ${EXENAME} RUNTIME DESTINATION ${exec_dir}) endif() install(DIRECTORY ${module_dir} DESTINATION ${CMAKE_INSTALL_PREFIX}) @@ -231,32 +279,6 @@ install(DIRECTORY ${module_dir} DESTINATION ${CMAKE_INSTALL_PREFIX}) install( TARGETS ${LIBNAME} EXPORT ${PROJECT_NAME}Exports - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${exec_dir} LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) - -### Package config -include(CMakePackageConfigHelpers) -set(CONFIG_INSTALL_DESTINATION lib/cmake/${PROJECT_NAME}) - -export(EXPORT ${PROJECT_NAME}Exports - NAMESPACE ${PROJECT_NAME}:: - FILE ${PROJECT_NAME}-targets.cmake) - -configure_package_config_file( - ${CMAKE_SOURCE_DIR}/cmake/PackageConfig.cmake.in ${CMAKE_BINARY_DIR}/${PROJECT_NAME}-config.cmake - INSTALL_DESTINATION ${CONFIG_INSTALL_DESTINATION}) -install(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}-config.cmake - DESTINATION ${CONFIG_INSTALL_DESTINATION}) - -write_basic_package_version_file( - ${CMAKE_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake - VERSION ${PROJECT_VERSION} - COMPATIBILITY AnyNewerVersion) -install(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake - DESTINATION ${CONFIG_INSTALL_DESTINATION}) - -install(EXPORT ${PROJECT_NAME}Exports - NAMESPACE ${PROJECT_NAME}:: - FILE ${PROJECT_NAME}-targets.cmake - DESTINATION ${CONFIG_INSTALL_DESTINATION}) diff --git a/sorc/ncep_post.fd/COLLECT.f b/sorc/ncep_post.fd/COLLECT.f index bcc8fab57c..fa1fa75bf2 100644 --- a/sorc/ncep_post.fd/COLLECT.f +++ b/sorc/ncep_post.fd/COLLECT.f @@ -1,35 +1,23 @@ !> @file -! -!> SUBPROGRAM: COLLECT GATHERS FROM ALL MPI TASKS -!! PRGRMMR: TUCCILLO ORG: IBM -!! -!! ABSTRACT: -!! GATHER "A" FROM ALL MPI TASKS ONTO TASK 0 -!! -!! PROGRAM HISTORY LOG: -!! 00-01-06 TUCCILLO - ORIGINAL -!! -!! USAGE: CALL COLLECT(A) -!! INPUT ARGUMENT LIST: -!! A - ARRAY BEING GATHERED -!! -!! OUTPUT ARGUMENT LIST: -!! A - GATHERED ARRAY - ONLY VALID ON TASK 0 -!! -!! OUTPUT FILES: -!! STDOUT - RUN TIME STANDARD OUT. -!! -!! SUBPROGRAMS CALLED: -!! MPI_GATHERV -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK.comm -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : IBM RS/6000 SP -!! +!> @brief Subroutine that collect gathers from all MPI tasks. +!> +!> @param[in] A Array being gathered. +!> @param[out] B gathered array - only valid on task 0. +!> +!> Gather "A" from all MPI tasks onto task 0. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2000-01-06 | Jim Tuccillo | Initial +!> +!> @author Jim Tuccillo IBM @date 2000-01-06 +!----------------------------------------------------------------------- +!> COLLECT() Subroutine that collect gathers from all MPI tasks. +!> +!> @param[in] A Array being gathered. +!> @param[out] B gathered array - only valid on task 0. +!----------------------------------------------------------------------- SUBROUTINE COLLECT (A, B) diff --git a/sorc/ncep_post.fd/COLLECT_LOC.f b/sorc/ncep_post.fd/COLLECT_LOC.f index 589cee1ba5..66cf7b18e6 100644 --- a/sorc/ncep_post.fd/COLLECT_LOC.f +++ b/sorc/ncep_post.fd/COLLECT_LOC.f @@ -1,54 +1,151 @@ !> @file -! -!> SUBPROGRAM: COLLECT GATHERS FROM ALL MPI TASKS -!! PRGRMMR: TUCCILLO ORG: IBM -!! -!! ABSTRACT: -!! GATHER "A" FROM ALL MPI TASKS ONTO TASK 0 -!! -!! PROGRAM HISTORY LOG: -!! 00-01-06 TUCCILLO - ORIGINAL -!! -!! USAGE: CALL COLLECT(A) -!! INPUT ARGUMENT LIST: -!! A - ARRAY BEING GATHERED -!! -!! OUTPUT ARGUMENT LIST: -!! A - GATHERED ARRAY - ONLY VALID ON TASK 0 -!! -!! OUTPUT FILES: -!! STDOUT - RUN TIME STANDARD OUT. -!! -!! SUBPROGRAMS CALLED: -!! MPI_GATHERV -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK.comm -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : IBM RS/6000 SP -!! +!> @brief Subroutine that collect gathers from all MPI tasks. +!> +!> @param[in] A Array being gathered. +!> @param[out] A gathered array - only valid on task 0. +!> +!> Gather "A" from all MPI tasks onto task 0. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----------|---------------------|---------- +!> 2000-01-06 | Jim Tuccillo | Initial +!> 2021-06-01 | George Vandenberghe | 2D Decomposition +!> +!> @author Jim Tuccillo IBM @date 2000-01-06 +!-------------------------------------------------------------------------------- +!> @brief COLLECT_LOC +!> +!> @param[in] A real array Array being gathered. +!> @param[out] B real array Gathered array - only valid on task 0. +!-------------------------------------------------------------------------------- SUBROUTINE COLLECT_LOC ( A, B ) use CTLBLK_mod, only: num_procs, jsta, icnt, idsp, mpi_comm_comp, im,& - jsta_2l, jend_2u, jm, me + jsta_2l, jend_2u, jm, me, & + buff,ista_2l,iend_2u,jexa,iexa,jsxa,isxa,ista,iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! include 'mpif.h' - real, dimension(im,jsta_2l:jend_2u), intent(in) :: a + integer ii,jj,isum + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(in) :: a real, dimension(im,jm), intent(out) :: b - integer ierr + integer ierr,n + real, allocatable :: rbufs(:) + allocate(buff(im*jm)) + jj=( jexa(me)-jsxa(me)+1) * (iexa(me)-isxa(me)+1) + allocate( rbufs(( jexa(me)-jsxa(me)+1) * (iexa(me)-isxa(me)+1)) ) ! if ( num_procs <= 1 ) then b = a else - call mpi_gatherv(a(1,jsta),icnt(me),MPI_REAL, & - & b,icnt,idsp,MPI_REAL,0,MPI_COMM_COMP, ierr ) - - end if + +!GWV reshape the receive subdomain + + isum=1 + do jj=jsxa(me),jexa(me) + do ii=isxa(me),iexa(me) + if(isum .gt. im*jm .or. ii .gt. im .or. ii .lt. 1 .or. jj .gt. jm .or. jj.lt. 1) & + write(*,901)' BOUNDS2 FAIL in reshape ',isum,ii,jj,im*jm,im,im*jm + rbufs(isum)=a(ii,jj) + isum=isum+1 + end do + end do + +!GWV end reshape + + call mpi_gatherv(rbufs,icnt(me),MPI_REAL, buff,icnt,idsp,MPI_REAL,0,MPI_COMM_WORLD, ierr ) + +!GWV reshape the gathered array + + if(me .eq. 0) then + isum=1 + do n=0,num_procs-1 + do jj=jsxa(n),jexa(n) + do ii=isxa(n),iexa(n) + if(isum .gt. im*jm .or. ii .gt. im .or. ii .lt. 1 .or. jj .gt. jm .or. jj .lt. 1) & + write(*,901)' BOUNDS FAIL in reshape ',isum,ii,jj,im*jm,im,im*jm + b(ii,jj)=buff(isum) + isum=isum+1 + end do + end do + end do + end if + + endif ! num_procs <= 1 + + 901 format(a30,10i10) + + deallocate(buff) + deallocate(rbufs) end +! +!----------------------------------------------------------------------- +!> @brief COLLECT_ALL() +!> +!> @param[in] A real array Array being gathered. +!> @param[out] B real array Gathered array - only valid on task 0. +!----------------------------------------------------------------------- +! + SUBROUTINE COLLECT_ALL ( A, B ) + + use CTLBLK_mod, only: num_procs, jsta, icnt, idsp, mpi_comm_comp, im,& + jsta_2l, jend_2u, jm, me, & + buff,ista_2l,iend_2u,jexa,iexa,jsxa,isxa,ista,iend,jend +!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + implicit none +! + include 'mpif.h' + integer ii,jj,isum + real, dimension(ista:iend,jsta:jend), intent(in) :: a + real, dimension(im,jm), intent(out) :: b + integer ierr,n + real, allocatable :: rbufs(:) + allocate(buff(im*jm)) + jj=( jexa(me)-jsxa(me)+1) * (iexa(me)-isxa(me)+1) + allocate( rbufs(( jexa(me)-jsxa(me)+1) * (iexa(me)-isxa(me)+1)) ) +! + if ( num_procs <= 1 ) then + b = a + else + +!GWV reshape the receive subdomain + isum=1 + do jj=jsxa(me),jexa(me) + do ii=isxa(me),iexa(me) + if(isum .gt. im*jm .or. ii .gt. im .or. ii .lt. 1 .or. jj .gt. jm .or. jj.lt. 1) & + write(*,901)' BOUNDS2 FAIL in reshape',isum,ii,jj,im*jm,im,im*jm + rbufs(isum)=a(ii,jj) + isum=isum+1 + end do + end do +!GWV end reshape + + call mpi_allgatherv(rbufs,icnt(me),MPI_REAL,buff,icnt,idsp,MPI_REAL, mpi_comm_comp, ierr ) + call mpi_barrier(mpi_comm_comp,ierr) + +!GWV reshape the gathered array and collect in all procs + isum=1 + do n=0,num_procs-1 + do jj=jsxa(n),jexa(n) + do ii=isxa(n),iexa(n) + if(isum .gt. im*jm .or. ii .gt. im .or. ii .lt. 1 .or. jj .gt. jm .or. jj .lt. 1) & + write(*,901)' BOUNDS FAIL in reshape',isum,ii,jj,im*jm,im,im*jm + b(ii,jj)=buff(isum) + isum=isum+1 + end do + end do + end do + + endif ! num_procs <= 1 + + 901 format(a30,10i10) + + deallocate(buff) + deallocate(rbufs) + + end + diff --git a/sorc/ncep_post.fd/CTLBLK.f b/sorc/ncep_post.fd/CTLBLK.f index df647f1dd0..3df33702a0 100644 --- a/sorc/ncep_post.fd/CTLBLK.f +++ b/sorc/ncep_post.fd/CTLBLK.f @@ -1,97 +1,255 @@ - module CTLBLK_mod -!----------------------------------------------------------------------- -! module: CTLBLK -! -! ABSTRACT: -! this module is replacing the CTLBLK.comm, all the comm block is -! removed. -! Revision Log: -! 2011-02 Jun Wang - ADD variables for grib2 -! 2011-12-14 SARAH LU - ADD AER FILENAME -! 2011-12-23 SARAH LU - ADD NBIN FOR DU, SS, OC, BC, SU +!> @file +!> @brief CTLBLK sets default parameters that are used throughout the UPP code +!> +!> This module replaces CTLBLK.comm; all the comm block is removed. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2011-02 | Jun Wang | ADD variables for grib2 +!> 2011-12-14 | SARAH LU | ADD AER FILENAME +!> 2011-12-23 | SARAH LU | ADD NBIN FOR DU, SS, OC, BC, SU +!> 2021-09-30 | JESSE MENG | 2D DECOMPOSITION +!> 2022-09-22 | Li(Kate) Zhang | Add option for NASA GOCART as "nasa_on", add NBIN for NO3 and NH4 +!> 2022-11-08 | Kai Wang | Replace aqfcmaq_on with aqf_on +!> 2023-01-24 | Sam Trahan | IFI flight levels, runtime of IFI, and record of the bucket time +!> 2023-03-21 | Jesse Meng | Add slrutah_on option to use U Utah SLR +!> 2023-04-04 | Li(Kate Zhang) | Add namelist optoin for CCPP-Chem (UFS-Chem) and 2D diag. output (d2d_chem) for GEFS-Aerosols and CCPP-Chem model. +!> 2023-04-17 | Eric James | Adding 160 and 320 m above ground to HTFD for RRFS output. +!> 2023-08-16 | Yali Mao | Add gtg_on logical option +!> 2023-11-24 | Eric James | Add method_blsn logical option +!> 2025-07-25 | Jaymes Kenyon | Add "earth_radius" namelist option +!> 2025-11-03 | Nick Szapiro | Initialize earth_radius=0. namelist option +!> 2025-11-13 | Eric James | Increase number of pressure levels to enable additional isobaric output in global MPAS +!> 2025-12-16 | Ben Blake | Add capecin_2m logical option !----------------------------------------------------------------------- +!> @defgroup CTLBLK CTLBLK +!> Sets default parameters that are used throughout the UPP code + module CTLBLK_mod ! implicit none ! - type field_info - integer ifld - integer lvl - integer lvl1,lvl2 - integer ntrange - integer tinvstat + type field_info !< Field information + integer ifld !< Field number in post control file + integer lvl !< _____? + integer lvl1 !< _____? + integer lvl2 !< _____? + integer ntrange !< _____? + integer tinvstat !< _____? end type - integer, parameter :: komax=70 - integer, parameter :: LSMDEF=46 ! default number of p levels - integer,PARAMETER :: NFD=18,NBND=6 - REAL, PARAMETER :: QMIN = 1.E-15 -! - integer :: novegtype ! max number of veg type -! - character(len=256) :: fileName,fileNameFlux,fileNameD3D,fileNameAER, & - fileNameFlat - character(len=19) :: DateStr - character(len=4) :: MODELNAME, SUBMODELNAME - character(len=8) :: FULLMODELNAME - character(len=20) :: IOFORM - character(len=4) :: VTIMEUNITS -! - character(5) :: grib - type(field_info),allocatable :: fld_info(:) - integer :: cfld,ntlfld,npset - real*8 :: gdsdegr - real,allocatable :: datapd(:,:,:) -! - logical :: gocart_on, d3d_on, hyb_sigp, rdaod, aqfcmaq_on - logical :: SIGMA,RUN,FIRST,RESTRT - logical :: global - logical :: SMFLAG - integer :: IDAT(5),IHRST, NFCST,NBC,LIST,IOUT,IFHR,NTSTM, & - NDDAMP,NPREC,IDTAD,NBOCO,NSHDE,NCP,IMDLTY,NPHS, & - NRADS,NRADL,IMIN,ifmin,DataHandle,imp_physics, & - icu_physics,iSF_SURFACE_PHYSICS,ISEC,icount_calmict, & - ivegsrc - real :: DT,SDAT(3),AVRAIN,AVCNVC,DTQ2,PT,PDTOP, & - SPL(komax),ALSL(komax),PREC_ACC_DT,PT_TBL,PREC_ACC_DT1,spval +! + integer, parameter :: komax=70 !< At-rest earth pressure coefficient maximum. + integer, parameter :: LSMDEF=55 !< Default number of pressure levels. + integer,PARAMETER :: NFD=20 !< Default number of flight level heights in geopotential meters. + integer,PARAMETER :: NBND=6 !< Default number of ETA boundary layers. + REAL, PARAMETER :: QMIN = 1.E-15 !< A minimum specific humidity value. +! + integer :: novegtype !< Number of vegetation types based on vegetation classification. +! + character(len=256) :: fileName !< Name of input dynamics file; name of full 3-D model output file. + character(len=256) :: fileNameFlux !< Name of input physics file; name of 2-D model output file with physics and surface fields. + character(len=256) :: fileNameD3D !< No longer used/supported. (Name of file containing dynamic 3D fields from GFS.) + character(len=256) :: fileNameAER !< Name of GFS aersol file + character(len=256) :: fileNameFlat !< Input configuration text file defining the requested fields. + character(len=19) :: DateStr !< Time stamp being processed (e.g., 2022-08-02_19:00:00). + character(len=4) :: MODELNAME !< Model name used by UPP internally (e.g., FV3R for LAM, GFS for GFS, NCAR for WRF). + character(len=4) :: SUBMODELNAME !< Name of submodel for output differing from parent domain; used to treat a subset of model output in a special way; typically used only for outputting RTMA-specific fields now; previously used with HWRF and NMM to identify and process moving nests. + character(len=8) :: FULLMODELNAME !< No longer used/supported. + character(len=20) :: IOFORM !< Input file format. + character(len=4) :: VTIMEUNITS !< Valid time units. + real :: earth_radius = 0. !< Radius of the earth (meters), as optionally specified in the namelist +! + character(5) :: grib !< Grib type (Note that UPP only supports Grib2 currently). + type(field_info),allocatable :: fld_info(:) !< _____? + integer :: cfld !< _____? + integer :: ntlfld !< _____? + integer :: npset !< _____? + real*8 :: gdsdegr !< Convert degrees to gradians ? + real,allocatable :: datapd(:,:,:) !< _____? +! +!> Logicals to turn on/off different post-processing packages/output depending on model output. + logical :: gocart_on !< Turn on option to process the aerosol/chemical tracers related output from GEFS-Aerosols model (GOCART). + logical :: gccpp_on !< Turn on option to process the aerosol/chemical tracers related output from UFS-Chem (CCPP-Chem) model. + logical :: nasa_on !< Turn on option to process the aerosol/chemical tracers related output from UFS-Aerosols model (NASA GOCART). + logical :: d3d_on !< Turn on option to use dynamic 3D fields from GFS. + logical :: hyb_sigp !< Turn on option to use hybrid sigma pressure levels. + logical :: rdaod !< Turn on option to process the AOD from GFS scheme. + logical :: d2d_chem !< Turn on option to process the 2D aerosol/chemical tracers. + logical :: aqf_on !< Turn on Air Quality Forecasting (CMAQ-based). + logical :: slrutah_on !< Calculate snow to liquid ratio (SLR) using method from University of Utah. + logical :: gtg_on !< Turn on GTG (Graphical Turbulence Guidance) + logical :: method_blsn !< Turn on blowing snow effect on visibility diagnostic + logical :: capecin_2m = .false. !< Turn on option to calculate CAPE and CIN using 2-m fields +! + logical :: SIGMA !< No longer used/supported. + logical :: RUN !< No longer used/supported. + logical :: FIRST !< No longer used/supported. + logical :: RESTRT !< Indicates whether it is a restart run. + logical :: global !< Flag indicating global model run (if false then regional) + logical :: SMFLAG !< Smoothing flag for isobaric output. +! + integer :: IDAT(5) !< Array storing input month, day, year, hour, min of file being processed (parsed from DateStr) + integer :: IHRST !< Hour of file being processed (parsed from DateStr). + integer :: IFHR !< Forecast hour (lead time). + integer :: IMIN !< Minute of file being processed (parsed from DateStr). + integer :: ifmin !< Forecast minute. + integer :: imp_physics !< Microphysics option used in the model run. + integer :: icu_physics !< Cumulus physics option in the model run. + integer :: iSF_SURFACE_PHYSICS !< Surface physics scheme option in model run. + integer :: DataHandle !< Handle (or reference) to the data being processed. + integer :: NPREC !< Number of precipitation buckets. + integer :: NPHS !< Physics time step + integer :: ISEC !< Seconds of file being processed (not parsed from DateStr, hard-coded set to 0). + integer :: icount_calmict !< _____? + integer :: ivegsrc !< Flag for vegetation classification source (0=USGS, 1=IGBP, 2=UMD) + +! +!> @ingroup CTLBLK +!> @{ +!> No longer used/supported. + integer :: NFCST,NBC,LIST,IOUT,NTSTM, & + NRADS,NRADL,NDDAMP,IDTAD,NBOCO,NSHDE,NCP,IMDLTY +!> @} +! + real :: DT !< Model time step in seconds + real :: SDAT(3) !< Array of month, day, year of restart run + real :: AVRAIN !< Counter for summing latent heating from grid microphysics + real :: AVCNVC !< Counter for summing latent heating from convection + real :: DTQ2 !< Model physics time step in seconds + real :: PT !< Model top requested by CMAQ + real :: PDTOP !< Pressure thickness requested by CMAQ + real :: SPL(komax) !< Specified pressure levels + real :: ALSL(komax) !< Altitude above sea level _____? + real :: PREC_ACC_DT !< Time interval for accumulated precipitation + real :: PT_TBL !< _____? + real :: PREC_ACC_DT1 !< Alternate time interval for accumulated precipitation used primarily w/RAP/HRRR. + real :: spval !< Special value ! real :: SPVAL=9.9e10 ! Moorthi ! - integer :: NUM_PROCS,ME,JSTA,JEND,JSTA_M,JEND_M, & - JSTA_M2,JEND_M2,IUP,IDN,ICNT(0:1023),IDSP(0:1023), & - JSTA_2L, JEND_2U,JVEND_2u,NUM_SERVERS, MPI_COMM_INTER, & - MPI_COMM_COMP, IM,JM,LM,NSOIL,LP1,LM1,IM_JM, & - lsm,lsmp1 !comm mpi + integer :: NUM_PROCS !< The number of MPI ranks available to the post processor. + integer :: ME !< MPI rank. + integer :: JSTA !< Start latitude on a task subdomain. + integer :: JEND !< End latitude on a task subdomain. + integer :: ISTA !< Start longitude latitude on a task subdomain. + integer :: IEND !< End longitude on a task subdomain. + integer :: JSTA_M !< Beginning latitude loop index in subdomain for halo depth 1. + integer :: JEND_M !< Ending latitude loop index in subdomain for halo depth 1. + integer :: JSTA_M2 !< Second latitude below begin latitude of subdomain for halo depth 2 (in NGMFLD.f). + integer :: JEND_M2 !< Second latitude above end latitude of subdomain for halo depth 2 (in NGMFLD.f). + integer :: ISTA_M !< Beginning longitude loop index in subdomain for halo depth 1. + integer :: IEND_M !< Ending longitude loop index in subdomain for halo depth 1. + integer :: ISTA_M2 !< Second longitude before begin longitude for halo depth 2 (not used as of 6/22). + integer :: IEND_M2 !< Second longitude after end longitude for halo depth 2 (not used as of 6/22). + integer :: IUP !< MPI rank containing the first latitude after jend. + integer :: IDN !< MPI rank containing the last latitude before jsta. + +!> Used for gathers and scatters + integer :: ICNT(0:1023) !< The number of data items to scatter to each MPI rank; it is a NUM_PROCS array. + integer :: IDSP(0:1023) !< Displacement in the array to be scattered where the portion of the array to be scattered to each MPI rank begins. + integer :: ICNT2(0:1023) !< The number of data items to gather from each MPI rank; it is a NUM_PROCS array. + integer :: IDSP2(0:1023) !< Displacement in the array to be gathered where the portion of the array to be gathered from each MPI rank begins. + integer :: JSTA_2L !< Start latitude -2 of the subdomain. + integer :: JEND_2U !< End latitude +2 of the subdomain. + integer :: JVEND_2U !< Defines the upper boundary for the subdomain used on each MPI rank. Includes information from neighboring ranks (halos). + integer :: ISTA_2L !< Start longitude -2 of the subdomain. + integer :: IEND_2U !< End longitude +2 of the subdomain. + integer :: IVEND_2U !< Defines the right most boundary for the subdomain used on each MPI rank. Includes information from neighboring ranks (halos). + integer :: NUM_SERVERS !< An optional variable to support asynchronous writes of post-processed fields; one if there is more than one total MPI task - otherwise zero; note that the asynchronous write code is not in active development or used. + integer :: MPI_COMM_INTER !< An MPI communicator defining a subgroup of the MPI ranks used for asynchronous I/O; asynchronous writes are not in active development. + integer :: MPI_COMM_COMP !< An MPI communicator defining the subgroup of MPI ranks used to compute post-processed product fields; all current post implementations use all of the ranks so this again supports an unexploited development path in the code. + integer :: IM !< Full longitude domain. + integer :: JM !< Full latitude domain. + integer :: LM !< Number of vertical levels. + integer :: NSOIL !< Number of model soil levels (dependent on the land surface model used). + integer :: LP1 !< LM+1. + integer :: LM1 !< LM-1. + integer :: IM_JM !< The product of IM and JM, which defines the number of points in the full post domain. + integer :: ileft !< MPI rank containing the last longitude before ista. + integer :: iright !< MPI rank containing the first longitude after iend. + integer :: ileftb !< MPI rank containing the last longitude before ista but for cyclic boundary conditions where "last" at the beginning is the other end of the domain (apparently unused and replaced with local calculation). + integer :: irightb !< MPI rank containing the first longitude after iend but for cyclic boundary conditions where "first" at the beginning is the other end of the domain (apparently unused and replaced with local calculation). + integer :: ibsize !< Defines the size of the buffer used in mpi_scatter and mpi_gather. It is necessary because the post-processed variables are not contiguous in the 2D ista_2l:iend_2u,jsta_2l:jsta_2u arrays, so they have to be stored in a contigous buffer and that buffer is what is scattered or gathered. + integer :: ibsum !< No longer supported. + !comm mpi + integer :: lsm !< Land surface model ? + integer :: lsmp1 !< LSM+1. ! - real :: ARDSW, ARDLW, ASRFC, TSRFC,TRDLW,TRDSW,TCLOD,THEAT, & - TPREC,TMAXMIN,TD3D !comm rad +!> @ingroup CTLBLK +!> @{ +!> Arrays that store the coordinates of their elements; used to validate communications; +!> when scattered or otherwise dispersed, the receiving ranks check that the values of +!> the arrays match the I and J indices of the receiver. + integer, allocatable :: icoords(:,:) + integer, allocatable :: ibcoords(:,:) + real, allocatable :: rcoords(:,:) + real, allocatable :: rbcoords(:,:) +!> @} + + real, allocatable :: bufs(:) !< Unused/no longer supported; replaced by rbufs. + real, allocatable :: buff(:) !< Used in the many variables' gather; note that scattering has been replaced with subdomain reads when the fields to be post-processed are read in. + integer, allocatable :: isxa(:) !< Array of i start bounds for the subdomain loop on each MPI rank. + integer, allocatable :: iexa(:) !< Array of i end bounds for the subdomain loop on each MPI rank. + integer, allocatable :: jsxa(:) !< Array of j start bounds for the subdomain loop on each MPI rank. + integer, allocatable :: jexa(:) !< Array of j end bounds for the subdomain loop on each MPI rank. + integer numx !< The number of i regions in a 2D decomposition; Each i row is distibuted to numx ranks; numx=1 is the special case of a 1D decomposition in Y only. + integer, allocatable :: ibufs(:) !< The buffer used for scatters of the integer coordinate array to each MPI rank. + real, allocatable :: rbufs(:) !< The buffer used for scatters of the real coordinate array to each MPI rank; analagous to buff in the state variable scatter. ! - real PTHRESH ! moved from params because it is defined differently for NAM -! +!comm rad + real :: ARDSW !< Shortwave flux accumulation array. + real :: ARDLW !< Longwave flux accumulation array. + real :: ASRFC !< Surface flux array. + real :: TSRFC !< Number of hours in surface flux buckets. + real :: TRDLW !< Number of hours in long wave buckets. + real :: TRDSW !< Number of hours in shortwave buckets. + real :: TCLOD !< Number of hours in cloud fraction average. + real :: THEAT !< Number of hours in latent heating bucket. + real :: TPREC !< Number of hours in precipitation bucket. + real :: TMAXMIN !< _____? + real :: TD3D !< _____? +! + real PTHRESH !< Threshold for precipitation (used to check if there is precipitation, mainly in ptype routines). +! +!> @ingroup CTLBLK +!> @{ Time to execute named routine; note that ETAFLD2 and ETA2P refer to MDLFLD and MDL2P routines respectively. real(kind=8) :: ETAFLD2_tim=0.,ETA2P_tim=0.,SURFCE2_tim=0., & CLDRAD_tim=0.,MISCLN_tim=0.,FIXED_tim=0., & MDL2SIGMA_tim=0.,READxml_tim=0.,MDL2AGL_tim=0., & - MDL2STD_tim=0.,MDL2THANDPV_tim=0.,CALRAD_WCLOUD_tim=0.!comm tim_info + MDL2STD_tim=0.,MDL2THANDPV_tim=0., & + CALRAD_WCLOUD_tim=0.,RUN_IFI_TIM=0. !comm tim_info +!> @} ! +!> @ingroup CTLBLK +!> @{ +!> Initialized as 0, but never used. real(kind=8) :: time_output=0., time_e2out=0. !comm jjt +!> @} ! +!> SPLDEF !< The fixed pressure levels available for output (Pa). real :: SPLDEF(LSMDEF) = & - (/200.,500.,700.,1000.,2000.,3000. & + (/2.,3.,4.,7.,10.,20.,40.,70.,100.,200.,500.,700.,1000.,2000.,3000. & ,5000.,7000.,7500.,10000.,12500.,15000.,17500.,20000.,22500. & ,25000.,27500.,30000.,32500.,35000.,37500.,40000.,42500.,45000. & ,47500.,50000.,52500.,55000.,57500.,60000.,62500.,65000. & ,67500.,70000.,72500.,75000.,77500.,80000.,82500.,85000. & ,87500.,90000.,92500.,95000.,97500.,100000./) ! - REAL HTFD(NFD),PETABND(NBND),SIGBND(NBND) + REAL HTFD(NFD) !< The fixed flight level heights available for output (gpm). + REAL PETABND(NBND) !< The fixed ETA levels available for output. + REAL SIGBND(NBND) !< The fixed sigma levels available for output. ! Add GOCART aerosol specification - integer, parameter :: nbin_du = 5 ! dust - integer, parameter :: nbin_ss = 5 ! sea salt - integer, parameter :: nbin_oc = 2 ! organic carbon - integer, parameter :: nbin_bc = 2 ! black carbon - integer, parameter :: nbin_su = 1 ! sulfate - integer, parameter :: nbin_sm = 1 ! smoke + integer, parameter :: nbin_du = 5 !< dust + integer, parameter :: nbin_ss = 5 !< sea salt + integer, parameter :: nbin_oc = 2 !< organic carbon + integer, parameter :: nbin_bc = 2 !< black carbon + integer, parameter :: nbin_su = 1 !< sulfate + integer, parameter :: nbin_no3 = 3 !< nitrate + integer, parameter :: nbin_nh4 = 1 !< NH4 + integer, parameter :: nbin_sm = 1 !< smoke ! ! SET FD LEVEL HEIGHTS IN GEOPOTENTAL METERS. - DATA HTFD / 20.E0,30.E0,40.E0,50.E0,80.E0,100.E0,305.E0,457.E0,610.E0, & + DATA HTFD / 20.E0,30.E0,40.E0,50.E0,80.E0,100.E0,160.E0,305.E0,320.E0,457.E0,610.E0, & 914.E0,1524.E0,1829.E0,2134.E0,2743.E0,3658.E0,4572.E0, & 6000.E0,7010.E0/ ! @@ -99,5 +257,10 @@ module CTLBLK_mod DATA SIGBND / 0.985,0.955,0.925,0.895,0.865,0.835 / DATA PETABND / 15.,45.,75.,105.,135.,165./ ! + real :: ITPREC=-1 !< Precipitation bucket time +! + integer :: ifi_nflight = 0 !< Number of flight levels + real, allocatable :: ifi_flight_levels(:) !< Flight levels in feet, provided by libIFI +! !----------------------------------------------------------------------- end module CTLBLK_mod diff --git a/sorc/ncep_post.fd/DEALLOCATE.f b/sorc/ncep_post.fd/DEALLOCATE.f index aba65050a3..ef5eb28035 100644 --- a/sorc/ncep_post.fd/DEALLOCATE.f +++ b/sorc/ncep_post.fd/DEALLOCATE.f @@ -1,35 +1,29 @@ !> @file -! -!> SUBPROGRAM: MPI_FIRST SET UP MESSGAE PASSING INFO -!! PRGRMMR: TUCCILLO ORG: IBM -!! -!! ABSTRACT: -!! SETS UP MESSAGE PASSING INFO -!! -!! PROGRAM HISTORY LOG: -!! 00-01-06 TUCCILLO - ORIGINAL -!! 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -!! 02-06-19 MIKE BALDWIN - WRF VERSION -!! -!! USAGE: CALL MPI_FIRST -!! INPUT ARGUMENT LIST: -!! -!! OUTPUT ARGUMENT LIST: -!! -!! OUTPUT FILES: -!! STDOUT - RUN TIME STANDARD OUT. -!! -!! SUBPROGRAMS CALLED: -!! PARA_RANGE -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK.comm -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : IBM RS/6000 SP -!! +!> @brief MPI_FIRST set up message passing info. +!> +!> This routine sets up message passing info. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2000-01-06 | Jim Tuccillo | Initial +!> 2001-10-25 | H Chuang | Modified to process hybrid model output +!> 2002-06-19 | Mike Baldwin | WRF version +!> 2022-11-08 | Kai Wang | Replace aqfcmaq_on with aqf_on +!> 2023-03-22 | WM Lewis | Add effective radius arrays +!> 2023-04-04 |Li(Kate Zhang)| Add namelist optoin for CCPP-Chem +!(UFS-Chem) and 2D diag. output (d2d_chem) for GEFS-Aerosols and CCPP-Chem model. +!> 2023-08-16 | Yali Mao | Add CIT to GTG fields. Add namelist optoin of gtg_on +!> 2025-01-13 | Jaymes Kenyon| Add graupel number concentration (QQNG) +!> 2025-01-13 | Jaymes Kenyon| Add HAIL_BUCKET + + MODULE DE_ALLOCATE_UPP_MOD + + IMPLICIT NONE + + CONTAINS + +!> @author Jim Tuccillo IBM @date 2000-01-06 SUBROUTINE DE_ALLOCATE ! @@ -72,6 +66,7 @@ SUBROUTINE DE_ALLOCATE ! deallocate(rainw(im,jsta_2l:jend_2u,lm)) deallocate(q2) deallocate(omga) + deallocate(dpres) deallocate(T_ADJ) deallocate(ttnd) deallocate(rswtt) @@ -91,9 +86,11 @@ SUBROUTINE DE_ALLOCATE deallocate(QQR) deallocate(QQS) deallocate(QQG) + deallocate(QQH) deallocate(QQNW) deallocate(QQNI) deallocate(QQNR) + deallocate(QQNG) deallocate(QQNWFA) deallocate(QQNIFA) deallocate(TAOD5503D) @@ -101,6 +98,9 @@ SUBROUTINE DE_ALLOCATE deallocate(EXTCOF55) deallocate(QC_BL) deallocate(CFR) + deallocate(EFFRI) + deallocate(EFFRL) + deallocate(EFFRS) deallocate(CFR_RAW) deallocate(DBZ) deallocate(DBZR) @@ -156,6 +156,9 @@ SUBROUTINE DE_ALLOCATE deallocate(stc) deallocate(sh2o) deallocate(SLDPTH) + deallocate(CAPE) + deallocate(CIN) + deallocate(IFI_APCP) deallocate(RTDPTH) deallocate(SLLEVEL) ! @@ -163,9 +166,9 @@ SUBROUTINE DE_ALLOCATE ! deallocate(u10) deallocate(v10) + deallocate(f10m) deallocate(tshltr) deallocate(qshltr) - deallocate(mrshltr) deallocate(smstav) deallocate(ssroff) deallocate(bgroff) @@ -173,6 +176,7 @@ SUBROUTINE DE_ALLOCATE deallocate(shdmin) deallocate(shdmax) deallocate(lai) + deallocate(xlaixy) deallocate(acsnow) deallocate(acgraup) deallocate(acfrain) @@ -206,6 +210,7 @@ SUBROUTINE DE_ALLOCATE deallocate(tsnow) deallocate(qvg) deallocate(qv2m) + deallocate(qvl1) deallocate(rswin) deallocate(swddni) deallocate(swddif) @@ -214,10 +219,15 @@ SUBROUTINE DE_ALLOCATE deallocate(swddnic) deallocate(swddifc) deallocate(swupt) - deallocate(int_smoke) deallocate(mean_frp) - deallocate(int_aod) + deallocate(ebb) + deallocate(hwp) deallocate(smoke) + deallocate(fv3dust) + deallocate(coarsepm) + deallocate(smoke_ave) + deallocate(dust_ave) + deallocate(coarsepm_ave) deallocate(taod5502d) deallocate(aerasy2d) deallocate(aerssa2d) @@ -372,12 +382,22 @@ SUBROUTINE DE_ALLOCATE deallocate(avgetrans) deallocate(avgesnow) deallocate(avgpotevp) + deallocate(aod550) deallocate(ti) deallocate(du_aod550) deallocate(ss_aod550) deallocate(su_aod550) deallocate(bc_aod550) deallocate(oc_aod550) + deallocate(landfrac) + deallocate(paha) + deallocate(pahi) + deallocate(tecan) + deallocate(tetran) + deallocate(tedir) + deallocate(twa) + deallocate(fdnsst) + deallocate(pwat) ! GSD deallocate(rainc_bucket) deallocate(rainc_bucket1) @@ -389,6 +409,10 @@ SUBROUTINE DE_ALLOCATE deallocate(snow_bucket1) deallocate(graup_bucket) deallocate(graup_bucket1) + deallocate(hail_bucket) + deallocate(frzrn_bucket) + deallocate(snow_acm) + deallocate(snow_bkt) deallocate(qrmax) deallocate(tmax) deallocate(snownc) @@ -399,6 +423,10 @@ SUBROUTINE DE_ALLOCATE deallocate(w_dn_max) deallocate(w_mean) deallocate(refd_max) + deallocate(max_compref) + deallocate(max_prate_1min) + deallocate(max_prate_5min) + deallocate(max_prate_10min) deallocate(prate_max) deallocate(fprate_max) deallocate(up_heli_max) @@ -465,12 +493,14 @@ SUBROUTINE DE_ALLOCATE deallocate(icing_gfis) ! add GTG turbulence - deallocate(catedr) - deallocate(mwt) - deallocate(gtg) - + if (gtg_on) then + deallocate(catedr) + deallocate(mwt) + deallocate(gtg) + deallocate(cit) + endif ! - if (gocart_on) then + if (gocart_on .or. gccpp_on .or. nasa_on) then ! Deallocate GOCART fields ! vrbls4d deallocate(dust) @@ -478,6 +508,10 @@ SUBROUTINE DE_ALLOCATE deallocate(soot) deallocate(waso) deallocate(suso) + if (nasa_on) then + deallocate(no3) + deallocate(nh4) + endif deallocate(pp25) deallocate(pp10) ! vrbls3d @@ -485,6 +519,7 @@ SUBROUTINE DE_ALLOCATE deallocate(asy) deallocate(ssa) deallocate(sca) + if (d2d_chem) then deallocate(duem) deallocate(dusd) deallocate(dudp) @@ -509,7 +544,7 @@ SUBROUTINE DE_ALLOCATE deallocate(ssdp) deallocate(sswt) deallocate(sssv) - deallocate(dpres) + endif deallocate(rhomid) ! vrbls2d deallocate(dusmass) @@ -539,10 +574,16 @@ SUBROUTINE DE_ALLOCATE deallocate(pp25cb) deallocate(pp10cb) deallocate(sscb) + if (nasa_on) then + deallocate(no3cb) + deallocate(nh4cb) + endif deallocate(dustallcb) deallocate(ssallcb) deallocate(dustpm) + deallocate(dustpm10) deallocate(sspm) + deallocate(maod) endif ! ! HWRF RRTMG output @@ -555,9 +596,12 @@ SUBROUTINE DE_ALLOCATE deallocate(uuavg) ! AQF - if (aqfcmaq_on) then - deallocate(ozcon) - deallocate(pmtf) + if (aqf_on) then + deallocate(avgozcon) + deallocate(avgpmtf) + deallocate(aqm_aod550) endif end + + END MODULE DE_ALLOCATE_UPP_MOD diff --git a/sorc/ncep_post.fd/DEWPOINT.f b/sorc/ncep_post.fd/DEWPOINT.f index e310dd778a..cfb4879336 100644 --- a/sorc/ncep_post.fd/DEWPOINT.f +++ b/sorc/ncep_post.fd/DEWPOINT.f @@ -1,53 +1,56 @@ !> @file -! -!> SUBPROGRAM: DEWPOINT COMPUTES DEWPOINTS FROM VAPOR PRESSURE -!! PRGMMR: J TUCCILLO ORG: W/NP2 DATE: 90-05-19 -!! -!! ABSTRACT: COMPUTES THE DEWPOINTS FOR THE N VALUES -!! OF VAPOR PRESSURE IN ARRAY VP. -!! THE FORMULA: -!! -!! VP = 0.611 * (X**A) * EXP( (A+B)*(1-X) ) -!! -!! IS USED TO GET DEWPOINT TEMPERATURE T, WHERE -!! -!! X = T3/T, T3=TRIPLE PT TEMPERATURE, -!! VP=VAPOR PRESSURE IN CBS, 0.611=VP AT T3, -!! A=(SPEC. HT. OF WATER-CSUBP OF VAPOR)/GAS CONST OF VAPOR -!! AND -!! B=LATENT HEAT AT T3/(GAS CONST OF VAPOR TIMES T3). -!! -!! ON THE FIRST CALL, A TABLE TDP IS CONSTRUCTED GIVING -!! DEWPOINT AS A FUNCTION OF VAPOR PRESSURE. -!! -!! VALUES OF VP LESS THAN THE FIRST TABLE ENTRY -!! (RVP1 IN THE CODE) WILL BE GIVEN DEWPOINTS FOR -!! THAT BEGINNING VALUE. SIMILARLY , VP VALUES THAT -!! EXCEED THE MAXIMUM TABLE VALUE (RVP2 IN THE CODE) -!! WILL BE ASSIGNED DEWPOINTS FOR THAT MAXIMUM VALUE. -!! -!! THE VALUES 0.02 AND 8.0 FOR RVP1 AND RVP2 YIELD -!! DEWPOINTS OF 233.6K AND 314.7K,RESPECTIVELY. -!! -!! PROGRAM HISTORY LOG: -!! - 90-05-19 J TUCCILLO -!! - 93-05-12 R TREADON - EXPANDED TABLE SIZE AND RESET -!! RANGE OF PRESSURES COVERED BY -!! TABLE. -!! - 98-06-12 T BLACK - CONVERSION FROM 1-D TO 2-D -!! - 00-01-04 JIM TUCCILLO - MPI VERSION -!! - 21-07-26 W Meng - Restrict computation from undefined grids -!! -!! USAGE: CALL DEWPOINT( VP, TD) -!! INPUT ARGUMENT LIST: -!! VP - ARRAY OF N VAPOR PRESSURES(CENTIBARS) -!! -!! OUTPUT ARGUMENT LIST: -!! TD - DEWPOINT IN DEGREES ABSOLUTE -!! +!> @brief Subroutine that computes dewpoints from vapor pressure. +!> +!> This routine is to computes the dewpoints for the N values +!> of vapor pressure in array VP. +!> The forumla: +!> +!> VP = 0.611 * (X**A) * EXP( (A+B)*(1-X) ) +!> +!> is used to get dewpoint temperature T, where +!> +!> X = T3/T, T3=Triple PT temperature, +!> VP=Vapor pressure in CBS, 0.611=VP at T3, +!> A=(Spec. HT. of WATER-CSUBP of vapor)/gas const of vapor +!> and +!> B=Latent heat at T3/(gas const of vapor times T3). +!> +!> on the first call, a table TDP is constructed giving +!> dewpoint as a function of vapor pressure. +!> +!> Values of VP less than the first table entry +!> (RVP1 in the code) will be given dewpoints for +!> that beginning valus. Similarly, VP vaules that +!> exceed the maximum table value (RVP2 in the code) +!> will be assigned dewpoints for that maximum value. +!> +!> The values 0.02 and 8.0 for RVP1 and RVP2 yield +!> dewpoints of 233.6K and 314.7K,respectively. +!> +!> @param[in] VP Array of N vapor pressures(centibars). +!> @param[out] TD Dewpoint in degrees absolute. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1990-05-19 | Jim Tuccillo | Initial +!> 1993-05-12 | R Treadon | Expanded table size and reset range of pressures covered by table. +!> 1998-06-12 | T Black | Conversion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2021-07-26 | W Meng | Restrict computation from undefined grids +!> 2021-10-31 | J Meng | 2D Decomposition +!> +!> @author Jim Tuccillo W/NP2 @date 1990-05-19 +!-------------------------------------------------------------------------- +!> DEWPOINT() Subroutine that computes dewpoints from vapor pressure. +!> It computes the dewpoints for the N values of vapor pressure in array VP. +!> +!> @param[in] VP Array of N vapor pressures(centibars). +!> @param[out] TD Dewpoint in degrees absolute. +!-------------------------------------------------------------------------- SUBROUTINE DEWPOINT( VP, TD) - use ctlblk_mod, only: jsta, jend, im, spval + use ctlblk_mod, only: jsta, jend, im, spval, ista, iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -55,8 +58,8 @@ SUBROUTINE DEWPOINT( VP, TD) integer,PARAMETER :: NT=2000 !...TRANSLATED BY FPP 3.00Z36 11/09/90 14:48:53 !...SWITCHES: OPTON=I47,OPTOFF=VAE0 - real,intent(out) :: TD(IM,jsta:jend) - real,intent(in) :: VP(IM,jsta:jend) + real,intent(out) :: TD(ista:iend,jsta:jend) + real,intent(in) :: VP(ista:iend,jsta:jend) real TDP(NT) !jw integer NN,I,J,JNT @@ -132,7 +135,7 @@ SUBROUTINE DEWPOINT( VP, TD) ! !$omp parallel do private(i,j,w1,w2,jnt) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(VP(I,J) @file -! -!> SUBPROGRAM: EXCH EXCHANGE ONE HALO ROW -!! PRGRMMR: TUCCILLO ORG: IBM -!! -!! ABSTRACT: -!! EXCHANGE ONE HALO ROW -!! -!! PROGRAM HISTORY LOG: -!! 00-01-06 TUCCILLO - ORIGINAL -!! -!! USAGE: CALL EXCH(A) -!! INPUT ARGUMENT LIST: -!! A - ARRAY TO HAVE HALOS EXCHANGED -!! -!! OUTPUT ARGUMENT LIST: -!! A - ARRAY WITH HALOS EXCHANGED -!! -!! OUTPUT FILES: -!! STDOUT - RUN TIME STANDARD OUT. -!! -!! SUBPROGRAMS CALLED: -!! MPI_SENDRECV -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK.comm -!! -!@PROCESS NOCHECK -! -!--- The 1st line is an inlined compiler directive that turns off -qcheck -! during compilation, even if it's specified as a compiler option in the -! makefile (Tuccillo, personal communication; Ferrier, Feb '02). -! +!> @brief Subroutines that exchange one halo row. +!> +!> These routines are to exchange one halo row. +!> +!> @param[in] A Array to have halos exchanged. +!> @param[out] A Array with halos exchanged. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----------|---------------------|---------- +!> 2000-01-06 | Jim Tuccillo | Initial +!> 2021-06-01 | George Vandenberghe | 2D decomposition +!> +!> @note The 1st line is an inlined compiler directive that turns off -qcheck +!> during compilation, even if it's specified as a compiler option in the +!> makefile (Tuccillo, personal communication; Ferrier, Feb '02). +!> + MODULE EXCH_UPP_MOD + + implicit none + + contains + +!> @author Jim Tuccillo IBM @date 2000-01-06 +!---------------------------------------------------------------------- +!> @brief exch() Subroutine that exchanges one halo row. +!> +!> @param[inout] A Array to have halos exchanged. +!> @note As output, A is the array with halos exchanged. +!---------------------------------------------------------------------- SUBROUTINE EXCH(A) use ctlblk_mod, only: num_procs, jend, iup, jsta, idn, mpi_comm_comp, im,& - jsta_2l, jend_2u + icoords,ibcoords,bufs,ibufs,me,numx, & + jsta_2l, jend_2u,ileft,iright,ista_2l,iend_2u,ista,iend,jm,modelname !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! include 'mpif.h' ! - real,intent(inout) :: a ( im,jsta_2l:jend_2u ) + real,intent(inout) :: a ( ista_2l:iend_2u,jsta_2l:jend_2u ) + real, allocatable :: coll(:), colr(:) + integer, allocatable :: icoll(:), icolr(:) integer status(MPI_STATUS_SIZE) - integer ierr, jstam1, jendp1 + integer ierr, jstam1, jendp1,j + integer size,ubound,lbound + integer msglenl, msglenr + integer i,ii,jj, ibl,ibu,jbl,jbu,icc,jcc + integer iwest,ieast + integer ifirst + + logical, parameter :: checkcoords = .false. + + data ifirst/0/ + allocate(coll(jm)) + allocate(colr(jm)) + allocate(icolr(jm)) + allocate(icoll(jm)) + ibl=max(ista-1,1) + ibu=min(im,iend+1) + jbu=min(jm,jend+1) + jbl=max(jsta-1,1) ! -! write(0,*) 'mype=',me,'num_procs=',num_procs,'im=',im,'jsta_2l=', & + +! write(*,*) 'mype=',me,'num_procs=',num_procs,'im=',im,'jsta_2l=', & ! jsta_2l,'jend_2u=',jend_2u,'jend=',jend,'iup=',iup,'jsta=', & ! jsta,'idn=',idn if ( num_procs <= 1 ) return ! +! for global model apply cyclic boundary condition + + IF(MODELNAME == 'GFS') then + if(ifirst .le. 0 .and. me .eq. 0) print *,' CYCLIC BC APPLIED' + if(ileft .eq. MPI_PROC_NULL) iwest=1 ! get eastern bc from western boundary of full domain + if(iright .eq. MPI_PROC_NULL) ieast=1 ! get western bc from eastern boundary of full domain + if(ileft .eq. MPI_PROC_NULL) ileft=me+(numx-1) + if(iright .eq. MPI_PROC_NULL) iright=(me-numx) +1 + endif + jstam1 = max(jsta_2l,jsta-1) ! Moorthi - call mpi_sendrecv(a(1,jend),im,MPI_REAL,iup,1, & - & a(1,jstam1),im,MPI_REAL,idn,1, & + +! send last row to iup's first row+ and receive first row- from idn's last row + + call mpi_sendrecv(a(ista,jend),iend-ista+1,MPI_REAL,iup,1, & + & a(ista,jstam1),iend-ista+1,MPI_REAL,idn,1, & & MPI_COMM_COMP,status,ierr) -! print *,'mype=',me,'in EXCH, after first mpi_sendrecv' + if ( ierr /= 0 ) then - print *, ' problem with first sendrecv in exch, ierr = ',ierr - stop + print *, ' problem with first sendrecv in exch, ierr = ',ierr + stop 6661 + endif + + if (checkcoords) then + if(ifirst .le. 0) then !IFIRST ONLY + call mpi_sendrecv(ibcoords(ista,jend),iend-ista+1,MPI_INTEGER,iup,1, & + & ibcoords(ista,jstam1),iend-ista+1,MPI_INTEGER,idn,1, & + & MPI_COMM_COMP,status,ierr) + if ( ierr /= 0 ) then + print *, ' problem with second sendrecv in exch, ierr = ',ierr + stop 7661 + endif + do i=ista,iend + ii=ibcoords(i,jstam1)/10000 + jj=ibcoords(i,jstam1)-(ii*10000) + if(ii .ne. i .or. jj .ne. jstam1 ) print *,' GWVX JEXCH CHECK FAIL ',ii,jj,ibcoords(i,jstam1),i + end do + endif !IFIRST + endif !checkcoords + +! build the I columns to send and receive + + msglenl=jend-jsta+1 + msglenr=jend-jsta+1 + if(iright .lt. 0) msglenr=1 + if(ileft .lt. 0) msglenl=1 + + do j=jsta,jend + coll(j)=a(ista,j) + end do + + call mpi_barrier(mpi_comm_comp,ierr) + +! send first col to ileft last col+ and receive last col+ from ileft first col + + call mpi_sendrecv(coll(jsta),msglenl ,MPI_REAL,ileft,1, & + & colr(jsta),msglenr ,MPI_REAL,iright,1, & + & MPI_COMM_COMP,status,ierr) + + if ( ierr /= 0 ) then + print *, ' problem with third sendrecv in exch, ierr = ',ierr + stop 6662 + endif + + if(ifirst .le. 0) then ! IFIRST ONLY + call mpi_sendrecv(icoll(jsta),msglenl ,MPI_INTEGER,ileft,1, & + & icolr(jsta),msglenr ,MPI_INTEGER,iright,1, & + & MPI_COMM_COMP,status,ierr) + if ( ierr /= 0 ) then + print *, ' problem with fourth sendrecv in exch, ierr = ',ierr + stop 7662 + endif + endif !IFIRST + + if(iright .ge. 0) then + do j=jsta,jend + a(iend+1,j)=colr(j) + if(checkcoords) then + if(ifirst .le. 0) then !IFIRST ONLY + ibcoords(iend+1,j)=icolr(j) + ii=ibcoords(iend+1,j)/10000 + jj=ibcoords( iend+1,j)-(ii*10000) + if( j .ne. jj .or. ii .ne. iend+1 .and. ii .ne. im .and. ii .ne. 1) & + write(*,921) j,iend+1,ii,jj,ibcoords(iend+1,j),'IEXCH COORD FAIL j,iend+1,ii,jj,ibcoord ' + endif !IFIRST + endif !checkcoords + end do + endif ! for iright + + 921 format(5i10,a50) + +! print *,'mype=',me,'in EXCH, after first mpi_sendrecv' + + if ( ierr /= 0 ) then + print *, ' problem with fifth sendrecv in exch, ierr = ',ierr + stop 6663 end if jendp1 = min(jend+1,jend_2u) ! Moorthi - call mpi_sendrecv(a(1,jsta),im,MPI_REAL,idn,1, & - & a(1,jendp1),im,MPI_REAL,iup,1, & + +!GWV. change from full im row exchange to iend-ista+1 subrow exchange, + + do j=jsta,jend + colr(j)=a(iend,j) + end do + +! send first row to idown's last row+ and receive last row+ from iup's first row + + call mpi_sendrecv(a(ista,jsta),iend-ista+1,MPI_REAL,idn,1, & + & a(ista,jendp1),iend-ista+1,MPI_REAL,iup,1, & & MPI_COMM_COMP,status,ierr) -! print *,'mype=',me,'in EXCH, after second mpi_sendrecv' + if ( ierr /= 0 ) then + print *, ' problem with sixth sendrecv in exch, ierr = ',ierr + stop 6664 + endif + + if (checkcoords) then + if (ifirst .le. 0) then + call mpi_sendrecv(ibcoords(ista,jsta),iend-ista+1,MPI_INTEGER,idn,1, & + & ibcoords(ista,jendp1),iend-ista+1,MPI_INTEGER,iup,1, & + & MPI_COMM_COMP,status,ierr) + if ( ierr /= 0 ) then + print *, ' problem with seventh sendrecv in exch, ierr = ',ierr + stop 7664 + endif + endif ! IFIRST + endif ! checkcoords + +! send last col to iright first col- and receive first col- from ileft last col + + call mpi_sendrecv(colr(jsta),msglenr ,MPI_REAL,iright,1 , & + & coll(jsta),msglenl ,MPI_REAL,ileft ,1, & + & MPI_COMM_COMP,status,ierr) + + if ( ierr /= 0 ) then + print *, ' problem with eighth sendrecv in exch, ierr = ',ierr + stop 6665 + endif + + if (ifirst .le. 0) then + call mpi_sendrecv(icolr(jsta),msglenr ,MPI_integer,iright,1 , & + & icoll(jsta),msglenl ,MPI_integer,ileft ,1, & + & MPI_COMM_COMP,status,ierr) + if ( ierr /= 0 ) then + print *, ' problem with ninth sendrecv in exch, ierr = ',ierr + stop 7665 + endif + endif !IFIRST + + if(ileft .ge. 0) then + do j=jsta,jend + a(ista-1,j)=coll(j) + if(checkcoords) then + if(ifirst .le. 0) then + ibcoords(ista-1,j)=icoll(j) + ii=ibcoords(ista-1,j)/10000 + jj=ibcoords( ista-1,j)-(ii*10000) + if( j .ne. jj .or. ii .ne. ista-1 .and. ii .ne. im .and. ii .ne. 1) & + write(*,921) j,ista-1,ii,jj,ibcoords(ista-1,j),'EXCH COORD FAIL j,ista-1,ii,jj,ibcoord ' + endif !IFIRST + endif !checkcoords + end do + endif + +! interior check + + if(checkcoords) then + if(ifirst .le. 0) then + do j=jsta,jend + do i=ista,iend + ii=ibcoords(i,j)/10000 + jj=ibcoords( i,j)-(ii*10000) + if(ii .ne. i .or. jj .ne. j) write(*,151) 'INFAILED IJ ',i,j,ibcoords(i,j),ibl,jbl,ibu,jbu + end do + end do + endif !IFIRST + endif !checkcoords + +!! corner points. After the exchanges above, corner points are replicated in +! neighbour halos so we can get them from the neighbors rather than +! calculating more corner neighbor numbers +! A(ista-1,jsta-1) is in the ileft a(iend,jsta-1) location +! A(ista-1,jend+1) is in the ileft a(iend,jend+1) location +! A(iend+1,jsta-1) is in the iright a(ista,jsta-1) location +! A(iend+1,jend+1) is in the iright a(ista,jend+1) location +!GWVx ibl=max(ista-1,1) +!GWVx ibu=min(im,iend+1) + + ibl=max(ista-1,1) + ibu=min(im,iend+1) + if(modelname == 'GFS') then + ibl=max(ista-1,0) + ibu=min(im+1,iend+1) + endif + + jbu=min(jm,jend+1) + jbl=max(jsta-1,1) + + call mpi_sendrecv(a(iend,jbl ),1, MPI_REAL,iright,1 , & + & a(ibl ,jbl ),1, MPI_REAL,ileft ,1, & + & MPI_COMM_COMP,status,ierr) + if ( ierr /= 0 ) then + print *, ' problem with tenth sendrecv in exch, ierr = ',ierr + stop 6771 + endif + + call mpi_sendrecv(a(iend,jbu ),1, MPI_REAL,iright,1 , & + & a(ibl ,jbu ),1, MPI_REAL,ileft ,1, & + & MPI_COMM_COMP,status,ierr) + + if ( ierr /= 0 ) then + print *, ' problem with eleventh sendrecv in exch, ierr = ',ierr + stop 6772 + endif + + call mpi_sendrecv(a(ista,jbl ),1, MPI_REAL,ileft ,1, & + & a(ibu ,jbl ),1, MPI_REAL,iright,1, & + & MPI_COMM_COMP,status,ierr) + + if ( ierr /= 0 ) then + print *, ' problem with twelft sendrecv in exch, ierr = ',ierr + stop 6773 + endif + + call mpi_sendrecv(a(ista,jbu ),1, MPI_REAL,ileft ,1 , & + & a(ibu ,jbu ),1, MPI_REAL,iright,1, & + & MPI_COMM_COMP,status,ierr) + + if ( ierr /= 0 ) then + print *, ' problem with thirteenth sendrecv in exch, ierr = ',ierr + stop 6774 + endif + + 139 format(a20,5(i10,i6,i6,'<>')) + + if(checkcoords) then + if(ifirst .le. 0) then + call mpi_sendrecv(ibcoords(iend,jbl ),1 ,MPI_INTEGER,iright,1 , & + & ibcoords(ibl ,jbl ),1 ,MPI_INTEGER,ileft ,1, & + & MPI_COMM_COMP,status,ierr) + + call mpi_sendrecv(ibcoords(iend,jbu ),1 ,MPI_INTEGER,iright,1, & + & ibcoords(ibl ,jbu ),1 ,MPI_INTEGER,ileft ,1, & + & MPI_COMM_COMP,status,ierr) + call mpi_sendrecv(ibcoords(ista,jbl ),1 ,MPI_INTEGER,ileft ,1, & + & ibcoords(ibu ,jbl ),1 ,MPI_INTEGER,iright,1, & + & MPI_COMM_COMP,status,ierr) + call mpi_sendrecv(ibcoords(ista,jbu ),1 ,MPI_INTEGER,ileft ,1 , & + & ibcoords(ibu ,jbu ),1 ,MPI_INTEGER,iright,1, & + MPI_COMM_COMP,status,ierr) + +! corner check for coordnates + + icc=ibl + jcc=jbl + ii=ibcoords(icc,jcc)/10000 + jj=ibcoords(icc,jcc)-(ii*10000) + + if(ii .ne. icc .and. icc .ne. 0) write(*,151) ' CORNER FAILI ilb ll ',icc,jcc,ibcoords(icc,jcc),ii,jj + if( jj .ne. jcc) write(*,151) ' CORNER FAILJ ilb ll ',icc,jcc,ibcoords(icc,jcc),ii,jj + + icc=ibu + jcc=jbl + ii=ibcoords(icc,jcc)/10000 + jj=ibcoords(icc,jcc)-(ii*10000) + if(ii .ne. icc .and. icc .ne. im+1 ) write(*,151) ' CORNER FAILI ilb ul ',icc,jcc,ibcoords(icc,jcc),ii,jj + if( jj .ne. jcc ) write(*,151) ' CORNER FAILJ ilb ul ',icc,jcc,ibcoords(icc,jcc),ii,jj + + icc=ibu + jcc=jbu + ii=ibcoords(icc,jcc)/10000 + jj=ibcoords(icc,jcc)-(ii*10000) + if(ii .ne. icc .and. icc .ne. im+1) write(*,151) ' CORNER FAILI ilb uu ',icc,jcc,ibcoords(icc,jcc),ii,jj + if( jj .ne. jcc ) write(*,151) ' CORNER FAILJ ilb ul ',icc,jcc,ibcoords(icc,jcc),ii,jj + + icc=ibl + jcc=jbu + ii=ibcoords(icc,jcc)/10000. + jj=ibcoords(icc,jcc)-(ii*10000) + if(ii .ne. icc .and. icc .ne. 0 ) write(*,151) ' CORNER FAILI ilb lu ',icc,jcc,ibcoords(icc,jcc),ii,jj + if( jj .ne. jcc ) write(*,151) ' CORNER FAILJ ilb ul ',icc,jcc,ibcoords(icc,jcc),ii,jj + +! if(ileft .ge. 0) then +!119 format(' GWX LEFT EXCHANGE ileft,me,ibcoords(ista-1,jend+1),ibcoords(ista-1,jend-1),ista-1,jend-1,jend+1', & +! 10i10) +! endif + +! if(iright .ge. 0) then +!! write(*,129) iright,me,ibcoords(ista+1,jend+1),ibcoords(ista+1,jend-1),ista-1,jend-1,jend+1 !GWVX +!129 format(' GWX RIGHT EXCHANGE iright,me,ibcoords(ista+1,jend+1),ibcoords(ista-1,jend+1),ista-1,jend-1,jend+1', & +! 10i10) +! endif + +! interior check + + do j=jsta,jend + do i=ista,iend + ii=ibcoords(i,j)/10000 + jj=ibcoords( i,j)-(ii*10000) + if(ii .ne. i .or. jj .ne. j) write(*,151) 'GWVX FAILED IJ ',i,j,ibcoords(i,j),ibl,jbl,ibu,jbu + end do + end do + + 151 format(a70,10i10) + +! bounds check +! first check top and bottom halo rows + + j=jbu + do i=ista,iend + ii=ibcoords(i,j)/10000 + jj=ibcoords( i,j)-(ii*10000) + if(ii .ne. i .or. jj .ne. j) write(*,151) 'GWVX FAILEDI JBU IJ ',i,j,ibcoords(i,j),ibl,jbl,ibu,jbu + end do + + j=jbl + do i=ista,iend + ii=ibcoords(i,j)/10000 + jj=ibcoords( i,j)-(ii*10000) + if(ii .ne. i .or. jj .ne. j) write(*,151) 'GWVX FAILEDI JBL IJ ',i,j,ibcoords(i,j),ibl,jbl,ibu,jbu + end do + +! second and last, check left and right halo columns + + i=ibl + do j=jsta,jend + ii=ibcoords(i,j)/10000 + jj=ibcoords( i,j)-(ii*10000) + if(ii .ne. i .and. ii .ne. im .or. jj .ne. j) write(*,151) 'GWVX FAILED IBL IJ ',ii,i,j,ibcoords(i,j),ibl,jbl,ibu,jbu + end do + + i=ibu + do j=jsta,jend + ii=ibcoords(i,j)/10000 + jj=ibcoords( i,j)-(ii*10000) + if(ii .ne. i .and. ii .ne. 1 .or. jj .ne. j) write(*,151) 'GWVX FAILED IBU ii i j ibcoords ibl,jbl,ibu,jbu',ii,i,j,ibcoords(i,j),ibl,jbl,ibu,jbu + end do + + if(me .eq. 0) write(*,*) ' IFIRST CHECK' + + endif ! IFIRST + endif !checkcoords + +! end halo checks if ( ierr /= 0 ) then print *, ' problem with second sendrecv in exch, ierr = ',ierr stop end if -! + call mpi_barrier(mpi_comm_comp,ierr) + ifirst=ifirst+1 end !!@PROCESS NOCHECK -! -!--- The 1st line is an inlined compiler directive that turns off -qcheck -! during compilation, even if it's specified as a compiler option in the -! makefile (Tuccillo, personal communication; Ferrier, Feb '02). -! +!> +!> @note The 1st line is an inlined compiler directive that turns off -qcheck +!> during compilation, even if it's specified as a compiler option in the +!> makefile (Tuccillo, personal communication; Ferrier, Feb '02). +!> +!> @author Jim Tuccillo IBM @date 2000-01-06 +!---------------------------------------------------------------------- +!> @brief exch_f() Subroutine that exchanges one halo row. +!> +!> @param[inout] A Array to have halos exchanged. +!> @note As output, A is the array with halos exchanged. +!---------------------------------------------------------------------- subroutine exch_f(a) use ctlblk_mod, only: num_procs, jend, iup, jsta, idn, & @@ -111,3 +466,5 @@ subroutine exch_f(a) ! end + END MODULE EXCH_UPP_MOD + diff --git a/sorc/ncep_post.fd/EXCH2.f b/sorc/ncep_post.fd/EXCH2.f deleted file mode 100644 index d5bce40367..0000000000 --- a/sorc/ncep_post.fd/EXCH2.f +++ /dev/null @@ -1,72 +0,0 @@ -!!@PROCESS NOCHECK -! -!--- The 1st line is an inlined compiler directive that turns off -qcheck -! during compilation, even if it's specified as a compiler option in the -! makefile (Tuccillo, personal communication; Ferrier, Feb '02). -! - SUBROUTINE EXCH2(A) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: EXCH EXCHANGE ONE HALO ROW -! PRGRMMR: TUCCILLO ORG: IBM -! -! ABSTRACT: -! EXCHANGE ONE HALO ROW -! . -! -! PROGRAM HISTORY LOG: -! 00-01-06 TUCCILLO - ORIGINAL -! -! USAGE: CALL EXCH(A) -! INPUT ARGUMENT LIST: -! A - ARRAY TO HAVE HALOS EXCHANGED -! -! OUTPUT ARGUMENT LIST: -! A - ARRAY WITH HALOS EXCHANGED -! -! OUTPUT FILES: -! STDOUT - RUN TIME STANDARD OUT. -! -! SUBPROGRAMS CALLED: -! MPI_SENDRECV -! UTILITIES: -! NONE -! LIBRARY: -! COMMON - CTLBLK.comm -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN -! MACHINE : IBM RS/6000 SP -!$$$ - use ctlblk_mod, only: num_procs, jend, iup, jsta, idn, mpi_comm_comp, im,& - jsta_2l, jend_2u -!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none -! - include 'mpif.h' -! - real,intent(inout) :: a ( im,jsta_2l:jend_2u ) - integer status(MPI_STATUS_SIZE) - integer ierr, jstam2, jendp1 -! - if ( num_procs <= 1 ) return -! - jstam2 = max(jsta_2l,jsta-2) - call mpi_sendrecv(a(1,jend-1),2*im,MPI_REAL,iup,1, & - & a(1,jstam2),2*im,MPI_REAL,idn,1, & - & MPI_COMM_COMP,status,ierr) - if ( ierr /= 0 ) then - print *, ' problem with first sendrecv in exch2, ierr = ',ierr - stop - end if - jendp1 = min(jend+1,jend_2u) - call mpi_sendrecv(a(1,jsta),2*im,MPI_REAL,idn,1, & - & a(1,jendp1),2*im,MPI_REAL,iup,1, & - & MPI_COMM_COMP,status,ierr) - if ( ierr /= 0 ) then - print *, ' problem with second sendrecv in exch2, ierr = ',ierr - stop - end if -! - end - diff --git a/sorc/ncep_post.fd/EXCH_c_float.f b/sorc/ncep_post.fd/EXCH_c_float.f new file mode 100644 index 0000000000..97e28f8933 --- /dev/null +++ b/sorc/ncep_post.fd/EXCH_c_float.f @@ -0,0 +1,416 @@ +!> @file +!> @brief Subroutines that exchange one halo row. +!> +!> These routines are to exchange one halo row. +!> +!> @param[in] A Array to have halos exchanged. +!> @param[out] A Array with halos exchanged. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----------|---------------------|---------- +!> 2000-01-06 | Jim Tuccillo | Initial +!> 2021-06-01 | George Vandenberghe | 2D decomposition +!> +!> @note The 1st line is an inlined compiler directive that turns off -qcheck +!> during compilation, even if it's specified as a compiler option in the +!> makefile (Tuccillo, personal communication; Ferrier, Feb '02). +!> +!> @author Jim Tuccillo IBM @date 2000-01-06 +!-------------------------------------------------------------------------- +!> EXCH_c_float Subroutines that exchange one halo row. +!> +!> @param[inout] A +!> @note As input, A is the array that will have halos exchanged. As output, +!> A is the array with halos exchanged. +!-------------------------------------------------------------------------- + SUBROUTINE EXCH_c_float(A) + + use ctlblk_mod, only: num_procs, jend, iup, jsta, idn, mpi_comm_comp, im,& + icoords,ibcoords,bufs,ibufs,me,numx, & + jsta_2l, jend_2u,ileft,iright,ista_2l,iend_2u,ista,iend,jm,modelname +!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + use iso_c_binding, only: c_sizeof, c_float + use mpi + implicit none +! + real(kind=c_float),intent(inout) :: a ( ista_2l:iend_2u,jsta_2l:jend_2u ) + real(kind=c_float), allocatable :: coll(:), colr(:) + integer, allocatable :: icoll(:), icolr(:) + integer status(MPI_STATUS_SIZE) + integer ierr, jstam1, jendp1,j + integer size,ubound,lbound + integer msglenl, msglenr + integer i,ii,jj, ibl,ibu,jbl,jbu,icc,jcc + integer iwest,ieast + integer ifirst + integer mpi_kind + + logical, parameter :: checkcoords = .false. + + data ifirst/0/ + allocate(coll(jm)) + allocate(colr(jm)) + allocate(icolr(jm)) + allocate(icoll(jm)) + ibl=max(ista-1,1) + ibu=min(im,iend+1) + jbu=min(jm,jend+1) + jbl=max(jsta-1,1) +! + +! write(*,*) 'mype=',me,'num_procs=',num_procs,'im=',im,'jsta_2l=', & +! jsta_2l,'jend_2u=',jend_2u,'jend=',jend,'iup=',iup,'jsta=', & +! jsta,'idn=',idn + if ( num_procs <= 1 ) return +! +! for global model apply cyclic boundary condition + + IF(MODELNAME == 'GFS') then + if(ifirst .le. 0 .and. me .eq. 0) print *,' CYCLIC BC APPLIED' + if(ileft .eq. MPI_PROC_NULL) iwest=1 ! get eastern bc from western boundary of full domain + if(iright .eq. MPI_PROC_NULL) ieast=1 ! get western bc from eastern boundary of full domain + if(ileft .eq. MPI_PROC_NULL) ileft=me+(numx-1) + if(iright .eq. MPI_PROC_NULL) iright=(me-numx) +1 + endif + + jstam1 = max(jsta_2l,jsta-1) ! Moorthi + +! send last row to iup's first row+ and receive first row- from idn's last row + + call mpi_sendrecv(a(ista,jend),iend-ista+1,MPI_REAL4,iup,1, & + & a(ista,jstam1),iend-ista+1,MPI_REAL4,idn,1, & + & MPI_COMM_COMP,status,ierr) + + if ( ierr /= 0 ) then + print *, ' problem with first sendrecv in exch, ierr = ',ierr + stop 6661 + endif + + if (checkcoords) then + if(ifirst .le. 0) then !IFIRST ONLY + call mpi_sendrecv(ibcoords(ista,jend),iend-ista+1,MPI_INTEGER,iup,1, & + & ibcoords(ista,jstam1),iend-ista+1,MPI_INTEGER,idn,1, & + & MPI_COMM_COMP,status,ierr) + if ( ierr /= 0 ) then + print *, ' problem with second sendrecv in exch, ierr = ',ierr + stop 7661 + endif + do i=ista,iend + ii=ibcoords(i,jstam1)/10000 + jj=ibcoords(i,jstam1)-(ii*10000) + if(ii .ne. i .or. jj .ne. jstam1 ) print *,' GWVX JEXCH CHECK FAIL ',ii,jj,ibcoords(i,jstam1),i + end do + endif !IFIRST + endif !checkcoords + +! build the I columns to send and receive + + msglenl=jend-jsta+1 + msglenr=jend-jsta+1 + if(iright .lt. 0) msglenr=1 + if(ileft .lt. 0) msglenl=1 + + do j=jsta,jend + coll(j)=a(ista,j) + end do + + call mpi_barrier(mpi_comm_comp,ierr) + +! send first col to ileft last col+ and receive last col+ from ileft first col + + call mpi_sendrecv(coll(jsta),msglenl ,MPI_REAL4,ileft,1, & + & colr(jsta),msglenr ,MPI_REAL4,iright,1, & + & MPI_COMM_COMP,status,ierr) + + if ( ierr /= 0 ) then + print *, ' problem with third sendrecv in exch, ierr = ',ierr + stop 6662 + endif + + if(ifirst .le. 0) then ! IFIRST ONLY + call mpi_sendrecv(icoll(jsta),msglenl ,MPI_INTEGER,ileft,1, & + & icolr(jsta),msglenr ,MPI_INTEGER,iright,1, & + & MPI_COMM_COMP,status,ierr) + if ( ierr /= 0 ) then + print *, ' problem with fourth sendrecv in exch, ierr = ',ierr + stop 7662 + endif + endif !IFIRST + + if(iright .ge. 0) then + do j=jsta,jend + a(iend+1,j)=colr(j) + if(checkcoords) then + if(ifirst .le. 0) then !IFIRST ONLY + ibcoords(iend+1,j)=icolr(j) + ii=ibcoords(iend+1,j)/10000 + jj=ibcoords( iend+1,j)-(ii*10000) + if( j .ne. jj .or. ii .ne. iend+1 .and. ii .ne. im .and. ii .ne. 1) & + write(*,921) j,iend+1,ii,jj,ibcoords(iend+1,j),'IEXCH COORD FAIL j,iend+1,ii,jj,ibcoord ' + endif !IFIRST + endif !checkcoords + end do + endif ! for iright + + 921 format(5i10,a50) + +! print *,'mype=',me,'in EXCH, after first mpi_sendrecv' + + if ( ierr /= 0 ) then + print *, ' problem with fifth sendrecv in exch, ierr = ',ierr + stop 6663 + end if + jendp1 = min(jend+1,jend_2u) ! Moorthi + +!GWV. change from full im row exchange to iend-ista+1 subrow exchange, + + do j=jsta,jend + colr(j)=a(iend,j) + end do + +! send first row to idown's last row+ and receive last row+ from iup's first row + + call mpi_sendrecv(a(ista,jsta),iend-ista+1,MPI_REAL4,idn,1, & + & a(ista,jendp1),iend-ista+1,MPI_REAL4,iup,1, & + & MPI_COMM_COMP,status,ierr) + if ( ierr /= 0 ) then + print *, ' problem with sixth sendrecv in exch, ierr = ',ierr + stop 6664 + endif + + if (checkcoords) then + if (ifirst .le. 0) then + call mpi_sendrecv(ibcoords(ista,jsta),iend-ista+1,MPI_INTEGER,idn,1, & + & ibcoords(ista,jendp1),iend-ista+1,MPI_INTEGER,iup,1, & + & MPI_COMM_COMP,status,ierr) + if ( ierr /= 0 ) then + print *, ' problem with seventh sendrecv in exch, ierr = ',ierr + stop 7664 + endif + endif ! IFIRST + endif ! checkcoords + +! send last col to iright first col- and receive first col- from ileft last col + + call mpi_sendrecv(colr(jsta),msglenr ,MPI_REAL4,iright,1 , & + & coll(jsta),msglenl ,MPI_REAL4,ileft ,1, & + & MPI_COMM_COMP,status,ierr) + + if ( ierr /= 0 ) then + print *, ' problem with eighth sendrecv in exch, ierr = ',ierr + stop 6665 + endif + + if (ifirst .le. 0) then + call mpi_sendrecv(icolr(jsta),msglenr ,MPI_integer,iright,1 , & + & icoll(jsta),msglenl ,MPI_integer,ileft ,1, & + & MPI_COMM_COMP,status,ierr) + if ( ierr /= 0 ) then + print *, ' problem with ninth sendrecv in exch, ierr = ',ierr + stop 7665 + endif + endif !IFIRST + + if(ileft .ge. 0) then + do j=jsta,jend + a(ista-1,j)=coll(j) + if(checkcoords) then + if(ifirst .le. 0) then + ibcoords(ista-1,j)=icoll(j) + ii=ibcoords(ista-1,j)/10000 + jj=ibcoords( ista-1,j)-(ii*10000) + if( j .ne. jj .or. ii .ne. ista-1 .and. ii .ne. im .and. ii .ne. 1) & + write(*,921) j,ista-1,ii,jj,ibcoords(ista-1,j),'EXCH COORD FAIL j,ista-1,ii,jj,ibcoord ' + endif !IFIRST + endif !checkcoords + end do + endif + +! interior check + + if(checkcoords) then + if(ifirst .le. 0) then + do j=jsta,jend + do i=ista,iend + ii=ibcoords(i,j)/10000 + jj=ibcoords( i,j)-(ii*10000) + if(ii .ne. i .or. jj .ne. j) write(*,151) 'INFAILED IJ ',i,j,ibcoords(i,j),ibl,jbl,ibu,jbu + end do + end do + endif !IFIRST + endif !checkcoords + +!! corner points. After the exchanges above, corner points are replicated in +! neighbour halos so we can get them from the neighbors rather than +! calculating more corner neighbor numbers +! A(ista-1,jsta-1) is in the ileft a(iend,jsta-1) location +! A(ista-1,jend+1) is in the ileft a(iend,jend+1) location +! A(iend+1,jsta-1) is in the iright a(ista,jsta-1) location +! A(iend+1,jend+1) is in the iright a(ista,jend+1) location +!GWVx ibl=max(ista-1,1) +!GWVx ibu=min(im,iend+1) + + ibl=max(ista-1,1) + ibu=min(im,iend+1) + if(modelname == 'GFS') then + ibl=max(ista-1,0) + ibu=min(im+1,iend+1) + endif + + jbu=min(jm,jend+1) + jbl=max(jsta-1,1) + + call mpi_sendrecv(a(iend,jbl ),1, MPI_REAL4,iright,1 , & + & a(ibl ,jbl ),1, MPI_REAL4,ileft ,1, & + & MPI_COMM_COMP,status,ierr) + if ( ierr /= 0 ) then + print *, ' problem with tenth sendrecv in exch, ierr = ',ierr + stop 6771 + endif + + call mpi_sendrecv(a(iend,jbu ),1, MPI_REAL4,iright,1 , & + & a(ibl ,jbu ),1, MPI_REAL4,ileft ,1, & + & MPI_COMM_COMP,status,ierr) + + if ( ierr /= 0 ) then + print *, ' problem with eleventh sendrecv in exch, ierr = ',ierr + stop 6772 + endif + + call mpi_sendrecv(a(ista,jbl ),1, MPI_REAL4,ileft ,1, & + & a(ibu ,jbl ),1, MPI_REAL4,iright,1, & + & MPI_COMM_COMP,status,ierr) + + if ( ierr /= 0 ) then + print *, ' problem with twelft sendrecv in exch, ierr = ',ierr + stop 6773 + endif + + call mpi_sendrecv(a(ista,jbu ),1, MPI_REAL4,ileft ,1 , & + & a(ibu ,jbu ),1, MPI_REAL4,iright,1, & + & MPI_COMM_COMP,status,ierr) + + if ( ierr /= 0 ) then + print *, ' problem with thirteenth sendrecv in exch, ierr = ',ierr + stop 6774 + endif + + 139 format(a20,5(i10,i6,i6,'<>')) + + if(checkcoords) then + if(ifirst .le. 0) then + call mpi_sendrecv(ibcoords(iend,jbl ),1 ,MPI_INTEGER,iright,1 , & + & ibcoords(ibl ,jbl ),1 ,MPI_INTEGER,ileft ,1, & + & MPI_COMM_COMP,status,ierr) + + call mpi_sendrecv(ibcoords(iend,jbu ),1 ,MPI_INTEGER,iright,1, & + & ibcoords(ibl ,jbu ),1 ,MPI_INTEGER,ileft ,1, & + & MPI_COMM_COMP,status,ierr) + call mpi_sendrecv(ibcoords(ista,jbl ),1 ,MPI_INTEGER,ileft ,1, & + & ibcoords(ibu ,jbl ),1 ,MPI_INTEGER,iright,1, & + & MPI_COMM_COMP,status,ierr) + call mpi_sendrecv(ibcoords(ista,jbu ),1 ,MPI_INTEGER,ileft ,1 , & + & ibcoords(ibu ,jbu ),1 ,MPI_INTEGER,iright,1, & + MPI_COMM_COMP,status,ierr) + +! corner check for coordnates + + icc=ibl + jcc=jbl + ii=ibcoords(icc,jcc)/10000 + jj=ibcoords(icc,jcc)-(ii*10000) + + if(ii .ne. icc .and. icc .ne. 0) write(*,151) ' CORNER FAILI ilb ll ',icc,jcc,ibcoords(icc,jcc),ii,jj + if( jj .ne. jcc) write(*,151) ' CORNER FAILJ ilb ll ',icc,jcc,ibcoords(icc,jcc),ii,jj + + icc=ibu + jcc=jbl + ii=ibcoords(icc,jcc)/10000 + jj=ibcoords(icc,jcc)-(ii*10000) + if(ii .ne. icc .and. icc .ne. im+1 ) write(*,151) ' CORNER FAILI ilb ul ',icc,jcc,ibcoords(icc,jcc),ii,jj + if( jj .ne. jcc ) write(*,151) ' CORNER FAILJ ilb ul ',icc,jcc,ibcoords(icc,jcc),ii,jj + + icc=ibu + jcc=jbu + ii=ibcoords(icc,jcc)/10000 + jj=ibcoords(icc,jcc)-(ii*10000) + if(ii .ne. icc .and. icc .ne. im+1) write(*,151) ' CORNER FAILI ilb uu ',icc,jcc,ibcoords(icc,jcc),ii,jj + if( jj .ne. jcc ) write(*,151) ' CORNER FAILJ ilb ul ',icc,jcc,ibcoords(icc,jcc),ii,jj + + icc=ibl + jcc=jbu + ii=ibcoords(icc,jcc)/10000. + jj=ibcoords(icc,jcc)-(ii*10000) + if(ii .ne. icc .and. icc .ne. 0 ) write(*,151) ' CORNER FAILI ilb lu ',icc,jcc,ibcoords(icc,jcc),ii,jj + if( jj .ne. jcc ) write(*,151) ' CORNER FAILJ ilb ul ',icc,jcc,ibcoords(icc,jcc),ii,jj + +! if(ileft .ge. 0) then +!119 format(' GWX LEFT EXCHANGE ileft,me,ibcoords(ista-1,jend+1),ibcoords(ista-1,jend-1),ista-1,jend-1,jend+1', & +! 10i10) +! endif + +! if(iright .ge. 0) then +!! write(*,129) iright,me,ibcoords(ista+1,jend+1),ibcoords(ista+1,jend-1),ista-1,jend-1,jend+1 !GWVX +!129 format(' GWX RIGHT EXCHANGE iright,me,ibcoords(ista+1,jend+1),ibcoords(ista-1,jend+1),ista-1,jend-1,jend+1', & +! 10i10) +! endif + +! interior check + + do j=jsta,jend + do i=ista,iend + ii=ibcoords(i,j)/10000 + jj=ibcoords( i,j)-(ii*10000) + if(ii .ne. i .or. jj .ne. j) write(*,151) 'GWVX FAILED IJ ',i,j,ibcoords(i,j),ibl,jbl,ibu,jbu + end do + end do + + 151 format(a70,10i10) + +! bounds check +! first check top and bottom halo rows + + j=jbu + do i=ista,iend + ii=ibcoords(i,j)/10000 + jj=ibcoords( i,j)-(ii*10000) + if(ii .ne. i .or. jj .ne. j) write(*,151) 'GWVX FAILEDI JBU IJ ',i,j,ibcoords(i,j),ibl,jbl,ibu,jbu + end do + + j=jbl + do i=ista,iend + ii=ibcoords(i,j)/10000 + jj=ibcoords( i,j)-(ii*10000) + if(ii .ne. i .or. jj .ne. j) write(*,151) 'GWVX FAILEDI JBL IJ ',i,j,ibcoords(i,j),ibl,jbl,ibu,jbu + end do + +! second and last, check left and right halo columns + + i=ibl + do j=jsta,jend + ii=ibcoords(i,j)/10000 + jj=ibcoords( i,j)-(ii*10000) + if(ii .ne. i .and. ii .ne. im .or. jj .ne. j) write(*,151) 'GWVX FAILED IBL IJ ',ii,i,j,ibcoords(i,j),ibl,jbl,ibu,jbu + end do + + i=ibu + do j=jsta,jend + ii=ibcoords(i,j)/10000 + jj=ibcoords( i,j)-(ii*10000) + if(ii .ne. i .and. ii .ne. 1 .or. jj .ne. j) write(*,151) 'GWVX FAILED IBU ii i j ibcoords ibl,jbl,ibu,jbu',ii,i,j,ibcoords(i,j),ibl,jbl,ibu,jbu + end do + + if(me .eq. 0) write(*,*) ' IFIRST CHECK' + + endif ! IFIRST + endif !checkcoords + +! end halo checks + if ( ierr /= 0 ) then + print *, ' problem with second sendrecv in exch, ierr = ',ierr + stop + end if + call mpi_barrier(mpi_comm_comp,ierr) + ifirst=ifirst+1 + end diff --git a/sorc/ncep_post.fd/FDLVL.f b/sorc/ncep_post.fd/FDLVL.f index 81441ac3b4..173ee25de3 100644 --- a/sorc/ncep_post.fd/FDLVL.f +++ b/sorc/ncep_post.fd/FDLVL.f @@ -1,84 +1,75 @@ !> @file -! -!> SUBPROGRAM: FDLVL COMPUTES FD LEVEL T, Q, U, V -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES TEMPERATURE, SPEC. HUM, U WIND COMPONENT, -!! AND V WIND COMPONENT ON THE NFD=6 FD LEVELS. THE -!! HEIGHT OF THESE LEVELS (IN METERS) IS GIVEN IN THE -!! DATA STATEMENT BELOW. THE ALGORITHM PROCEEDS AS -!! FOLLOWS. (AGL IN PARENTHESES) -!! -!! AT EACH MASS POINT MOVE UP VERTICALLY FROM THE LM-TH (LOWEST -!! ATMOSPHERIC) ETA LAYER. FIND THE ETA LAYERS WHOSE -!! HEIGHT (ABOVE GROUND) BOUNDS THE TARGET FD LEVEL HEIGHT. -!! VERTICALLY INTERPOLATE TO GET TEMPERATURE AT THIS FD -!! LEVEL. AVERAGE THE FOUR SURROUNDING WINDS -!! TO GET A MASS POINT WIND. VERTICALLY INTERPOLATE THESE -!! MASS POINT WINDS TO THE TARGET FD LEVEL. CONTINUE THIS -!! PROCESS UNTIL ALL NFD=6 FD LEVELS HAVE BEEN PROCESSED. -!! MOVE ON TO THE NEXT MASS POINT. -!! -!! AVERAGING THE FOUR ABOVE GROUND WINDS TO THE MASS POINT -!! WAS FOUND TO SMOOTH THE FIELD AND REDUCE THE OCCURRENCE -!! OF POINT PEAK WINDS FAR IN EXCESS OF THE WINDS AT -!! ADJACENT POINTS. MASS POINT VALUES ARE RETURNED. -!! -!! PROGRAM HISTORY LOG: -!! 92-12-22 RUSS TREADON -!! 93-11-23 RUSS TREADON - CORRECTED ROUTINE TO COMPUTE -!! FD LEVELS WITH REPECT TO MEAN SEA LEVEL. -!! 94-01-04 MICHAEL BALDWIN - INCLUDE OPTIONS FOR COMPUTING -!! EITHER AGL OR MSL -!! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-01-15 MIKE BALDWIN - WRF VERSION -!! 11-12-14 SARAH LU - ADD GOCART AEROSOL AERFD -!! -!! USAGE: CALL FDLVL(ITYPE,TFD,QFD,UFD,VFD) -!! INPUT ARGUMENT LIST: -!! ITYPE - FLAG THAT DETERMINES WHETHER MSL (1) OR AGL (2) -!! LEVELS ARE USED. -!! -!! OUTPUT ARGUMENT LIST: -!! TFD - TEMPERATURE (K) ON FD LEVELS. -!! QFD - SPEC HUM ON FD LEVELS. -!! UFD - U WIND (M/S) ON FD LEVELS. -!! VFD - V WIND (M/S) ON FD LEVELS. -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! -!! LIBRARY: -!! COMMON - -!! LOOPS -!! MASKS -!! OPTIONS -!! INDX -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! -! SUBROUTINE FDLVL(NFD,ITYPE,HTFD,TFD,QFD,UFD,VFD,PFD) -! SUBROUTINE FDLVL(ITYPE,TFD,QFD,UFD,VFD,PFD,ICINGFD) - SUBROUTINE FDLVL(ITYPE,TFD,QFD,UFD,VFD,PFD,ICINGFD,AERFD) +!> @brief Subroutine that computes T, Q, U, V, P, and ICING on the flight levels (FD). +!> +!> This routine computes temperature, spec. hum, u wind component, +!> and v wind component on the NFD=6 FD levels. The +!> height of these levels (in meters) is given in the +!> data statement below. The alogrithm proceeds as +!> follows. (AGL-Above ground level in parentheses) +!> +!> At each mass point move up vertically from the LM-TH (lowest +!> atmospheric) ETA layer. Find the ETA layers whose +!> height (above ground) bounds the target FD level height. +!> Vertically interpolate to get temperature at this FD +!> level. Average the four surrounding winds +!> to get a mass point wind. Vertically interpolate these +!> mass point winds to the target FD level. Continue this +!> process until all NFD=6 FD levels have been processed. +!> Move on to the next mass point. +!> +!> Averaging the four above ground winds to the mass point +!> was found to smooth the field and reduce the occurrence +!> of point peak winds far in excess of the winds at +!> adjacent points. Mass point values are returned. +!> +!> @param[in] ITYPE Flag that determines whether MSL (1) or AGL (2) Levels are used. +!> @param[out] TFD Temperature (K) on FD levels. +!> @param[out] QFD Spec hum on FD levels. +!> @param[out] UFD U wind (m/s) on FD levels. +!> @param[out] VFD V wind (m/s) on FD levels. +!> @param[out] PFD Pressure (Pa) on FD levels. +!> @param[out] ICINGFD Icing on FD levels (see https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-207.shtml). +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-22 | Russ Treadon | Initial +!> 1993-11-23 | Russ Treadon | Corrected routine to compute FD levels with respect to mean sea level +!> 1994-01-04 | Mike Baldwin | Include options for computing either AGL or MSL +!> 1998-06-15 | T Black | Conversion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI version +!> 2002-01-15 | Mike Baldwin | WRF version +!> 2011-12-14 | Sarah Lu | Add GOCART aerosol AERFD +!> 2021-10-15 | JESSE MENG | 2D DECOMPOSITION +!> 2022-09-22 | Li(Kate) Zhang | Remove Dust=> AERFD +!> 2025-04-30 | Wen Meng | Add checks for undefined grids or indices in calculation +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 +!-------------------------------------------------------------------------- +!> fdlvl() Subroutine that computes T, Q, U, V, P, ICING on the flight levels (FD). +!> +!> @param[in] ITYPE Flag that determines whether MSL (1) or AGL (2) Levels are used. +!> @param[out] TFD Temperature (K) on FD levels. +!> @param[out] QFD Spec hum on FD levels. +!> @param[out] UFD U wind (m/s) on FD levels. +!> @param[out] VFD V wind (m/s) on FD levels. +!> @param[out] PFD Pressure (Pa) on FD levels. +!> @param[out] ICINGFD Icing on FD levels. +!-------------------------------------------------------------------------- + + SUBROUTINE FDLVL(ITYPE,TFD,QFD,UFD,VFD,PFD,ICINGFD) ! ! - use vrbls4d, only: DUST use vrbls3d, only: ZMID, T, Q, PMID, ICING_GFIP, UH, VH use vrbls2d, only: FIS use masks, only: LMH use params_mod, only: GI, G use ctlblk_mod, only: JSTA, JEND, SPVAL, JSTA_2L, JEND_2U, LM, JSTA_M, & - JEND_M, HTFD, NFD, IM, JM, NBIN_DU, gocart_on, & - MODELNAME + JEND_M, HTFD, NFD, IM, JM, NBIN_DU, & + MODELNAME, ISTA, IEND, ISTA_2L, IEND_2U, ISTA_M, IEND_M use gridspec_mod, only: GRIDTYPE + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -89,8 +80,7 @@ SUBROUTINE FDLVL(ITYPE,TFD,QFD,UFD,VFD,PFD,ICINGFD,AERFD) ! integer,intent(in) :: ITYPE(NFD) !jw real,intent(in) :: HTFD(NFD) - real,dimension(IM,JSTA:JEND,NFD),intent(out) :: TFD,QFD,UFD,VFD,PFD,ICINGFD - real,dimension(IM,JSTA:JEND,NFD,NBIN_DU),intent(out) :: AERFD + real,dimension(ISTA:IEND,JSTA:JEND,NFD),intent(out) :: TFD,QFD,UFD,VFD,PFD,ICINGFD ! INTEGER LVL(NFD),LHL(NFD) INTEGER IVE(JM),IVW(JM) @@ -113,7 +103,7 @@ SUBROUTINE FDLVL(ITYPE,TFD,QFD,UFD,VFD,PFD,ICINGFD,AERFD) !$omp parallel do DO IFD = 1,NFD DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND TFD(I,J,IFD) = SPVAL QFD(I,J,IFD) = SPVAL UFD(I,J,IFD) = SPVAL @@ -123,17 +113,11 @@ SUBROUTINE FDLVL(ITYPE,TFD,QFD,UFD,VFD,PFD,ICINGFD,AERFD) ENDDO ENDDO ENDDO - if (gocart_on) then - DO N = 1, NBIN_DU - DO IFD = 1,NFD - DO J=JSTA,JEND - DO I=1,IM - AERFD(I,J,IFD,N) = SPVAL - ENDDO - ENDDO - ENDDO - ENDDO - endif + + DO IFD = 1,NFD + LVL(IFD) = 0 + LHL(IFD) = 0 + ENDDO IF(gridtype == 'E') THEN JVN = 1 @@ -145,17 +129,17 @@ SUBROUTINE FDLVL(ITYPE,TFD,QFD,UFD,VFD,PFD,ICINGFD,AERFD) END IF IF(gridtype /= 'A')THEN - CALL EXCH(FIS(1:IM,JSTA_2L:JEND_2U)) + CALL EXCH(FIS(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U)) DO L=1,LM - CALL EXCH(ZMID(1:IM,JSTA_2L:JEND_2U,L)) + CALL EXCH(ZMID(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L)) END DO - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M ELSE - ISTART = 1 - ISTOP = IM + ISTART = ISTA + ISTOP = IEND JSTART = JSTA JSTOP = JEND END IF @@ -180,6 +164,7 @@ SUBROUTINE FDLVL(ITYPE,TFD,QFD,UFD,VFD,PFD,ICINGFD,AERFD) ! DO 22 IFD = 1, NFD DONEH=.FALSE. DONEV=.FALSE. + IF(ZMID(I,J,LM) == SPVAL)CYCLE DO L = LM,1,-1 HTT = ZMID(I,J,L) IF(gridtype == 'E') THEN @@ -238,6 +223,7 @@ SUBROUTINE FDLVL(ITYPE,TFD,QFD,UFD,VFD,PFD,ICINGFD,AERFD) ! ! DO 40 IFD = 1,NFD + IF(LHL(IFD) /= 0) THEN L = LHL(IFD) IF (L < LM) THEN DZ = ZMID(I,J,L)-ZMID(I,J,L+1) @@ -249,24 +235,15 @@ SUBROUTINE FDLVL(ITYPE,TFD,QFD,UFD,VFD,PFD,ICINGFD,AERFD) PFD(I,J,IFD) = PMID(I,J,L) - (PMID(I,J,L)-PMID(I,J,L+1))*RDZ*DZABH(IFD) ICINGFD(I,J,IFD) = ICING_GFIP(I,J,L) - & (ICING_GFIP(I,J,L)-ICING_GFIP(I,J,L+1))*RDZ*DZABH(IFD) - if (gocart_on) then - DO N = 1, NBIN_DU - AERFD(I,J,IFD,N) = DUST(I,J,L,N) - & - (DUST(I,J,L,N)-DUST(I,J,L+1,N))*RDZ*DZABH(IFD) - ENDDO - endif ELSEIF (L == LM) THEN TFD(I,J,IFD) = T(I,J,L) QFD(I,J,IFD) = Q(I,J,L) PFD(I,J,IFD) = PMID(I,J,L) ICINGFD(I,J,IFD) = ICING_GFIP(I,J,L) - if (gocart_on) then - DO N = 1, NBIN_DU - AERFD(I,J,IFD,N) = DUST(I,J,L,N) - ENDDO - endif + ENDIF ENDIF + IF(LVL(IFD) /= 0) THEN L = LVL(IFD) IF (L < LM) THEN IF(gridtype == 'E')THEN @@ -302,6 +279,7 @@ SUBROUTINE FDLVL(ITYPE,TFD,QFD,UFD,VFD,PFD,ICINGFD,AERFD) UFD(I,J,IFD)=UH(I,J,L) VFD(I,J,IFD)=VH(I,J,L) ENDIF + ENDIF ! 40 CONTINUE ! ! COMPUTE FD LEVEL T, Q, U, AND V AT NEXT K. @@ -342,6 +320,7 @@ SUBROUTINE FDLVL(ITYPE,TFD,QFD,UFD,VFD,PFD,ICINGFD,AERFD) ! DO 222 IFD = 1, NFD DONEH=.FALSE. DONEV=.FALSE. + IF(ZMID(I,J,LLMH) == SPVAL)CYCLE DO L = LLMH,1,-1 HTABH = ZMID(I,J,L)-HTSFC ! if(i==245.and.j==813)print*,'Debug FDL HTABH= ',htabh,zmid(i,j,l),htsfc @@ -378,6 +357,7 @@ SUBROUTINE FDLVL(ITYPE,TFD,QFD,UFD,VFD,PFD,ICINGFD,AERFD) ! 222 CONTINUE ! ! DO 240 IFD = 1,NFD + IF(LHL(IFD) /= 0) THEN L = LHL(IFD) IF (L Computes FD level for u,v. +!> +!> This routine computes u/v wind component on NFD FD levels. +!> The height of these levels (in meters) is passed as an +!> input parameter. The alogrithm proceeds as +!> follows. (AGL-Above ground level in parentheses) +!> +!> At each mass point move up vertically from the LM-TH (lowest +!> atmospheric) ETA layer. Find the ETA layers whose +!> height (above ground) bounds the target FD level height. +!> Vertically interpolate to get temperature at this FD +!> level. Average the four surrounding winds +!> to get a mass point wind. Vertically interpolate these +!> mass point winds to the target FD level. Continue this +!> process until all NFD FD levels have been processed. +!> Move on to the next mass point. +!> +!> Averaging the four above ground winds to the mass point +!> was found to smooth the field and reduce the occurrence +!> of point peak winds far in excess of the winds at +!> adjacent points. Mass point values are returned. +!> +!> @param[in] ITYPE Flag that determines whether MSL (1) or AGL (2) Levels are used. +!> @param[in] NFD Number of FD levels. +!> @param[in] HTFD FD levels. +!> @param[out] UFD U wind (m/s) on FD levels. +!> @param[out] VFD V wind (m/s) on FD levels. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-22 | Russ Treadon | Initial +!> 1993-11-23 | Russ Treadon | Corrected routine to compute FD levels with respect to mean sea level +!> 1994-01-04 | Mike Baldwin | Include options for computing either AGL or MSL +!> 1998-06-15 | T Black | Conversion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI version +!> 2002-01-15 | Mike Baldwin | WRF version +!> 2011-12-14 | Sarah Lu | Add GOCART aerosol AERFD +!> 2019-09-25 | Y Mao | Seperate U/V from mass +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 SUBROUTINE FDLVL_UV(ITYPE,NFD,HTFD,UFD,VFD) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: FDLVL_UV COMPUTES FD LEVEL U, V -! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -! -! ABSTRACT: -! THIS ROUTINE COMPUTES U/V WIND COMPONENT ON NFD FD LEVELS. -! THE HEIGHT OF THESE LEVELS (IN METERS) IS PASSED AS AN -! INPUT PARAMETER. THE ALGORITHM PROCEEDS AS -! FOLLOWS. (AGL IN PARENTHESES) -! -! AT EACH MASS POINT MOVE UP VERTICALLY FROM THE LM-TH (LOWEST -! ATMOSPHERIC) ETA LAYER. FIND THE ETA LAYERS WHOSE -! HEIGHT (ABOVE GROUND) BOUNDS THE TARGET FD LEVEL HEIGHT. -! VERTICALLY INTERPOLATE TO GET TEMPERATURE AT THIS FD -! LEVEL. AVERAGE THE FOUR SURROUNDING WINDS -! TO GET A MASS POINT WIND. VERTICALLY INTERPOLATE THESE -! MASS POINT WINDS TO THE TARGET FD LEVEL. CONTINUE THIS -! PROCESS UNTIL ALL NFD FD LEVELS HAVE BEEN PROCESSED. -! MOVE ON TO THE NEXT MASS POINT. -! -! AVERAGING THE FOUR ABOVE GROUND WINDS TO THE MASS POINT -! WAS FOUND TO SMOOTH THE FIELD AND REDUCE THE OCCURRENCE -! OF POINT PEAK WINDS FAR IN EXCESS OF THE WINDS AT -! ADJACENT POINTS. MASS POINT VALUES ARE RETURNED. -! . -! -! PROGRAM HISTORY LOG: -! 92-12-22 RUSS TREADON -! 93-11-23 RUSS TREADON - CORRECTED ROUTINE TO COMPUTE -! FD LEVELS WITH REPECT TO MEAN SEA LEVEL. -! 94-01-04 MICHAEL BALDWIN - INCLUDE OPTIONS FOR COMPUTING -! EITHER AGL OR MSL -! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -! 00-01-04 JIM TUCCILLO - MPI VERSION -! 02-01-15 MIKE BALDWIN - WRF VERSION -! 11-12-14 SARAH LU - ADD GOCART AEROSOL AERFD -! 19-25-09 Y Mao - Seperate U/V from mass -! -! USAGE: CALL FDLVL_UV(ITYPE,NFD,HTFD,UFD,VFD) -! INPUT ARGUMENT LIST: -! ITYPE - FLAG THAT DETERMINES WHETHER MSL (1) OR AGL (2) -! LEVELS ARE USED. -! NFD - NUMBER OF FD LEVELS -! HTFD - FD LEVELS -! -! OUTPUT ARGUMENT LIST: -! UFD - U WIND (M/S) ON FD LEVELS. -! VFD - V WIND (M/S) ON FD LEVELS. -! -! OUTPUT FILES: -! NONE -! -! SUBPROGRAMS CALLED: -! UTILITIES: -! -! LIBRARY: -! COMMON - -! LOOPS -! MASKS -! OPTIONS -! INDX -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN -! MACHINE : CRAY C-90 -!$$$ ! ! use vrbls3d, only: ZMID, PMID, UH, VH @@ -543,8 +489,10 @@ SUBROUTINE FDLVL_UV(ITYPE,NFD,HTFD,UFD,VFD) use masks, only: LMH use params_mod, only: GI, G use ctlblk_mod, only: JSTA, JEND, SPVAL, JSTA_2L, JEND_2U, LM, JSTA_M, & - JEND_M, IM, JM, MODELNAME + JEND_M, IM, JM, MODELNAME, & + ISTA, IEND, ISTA_2L, IEND_2U, ISTA_M, IEND_M use gridspec_mod, only: GRIDTYPE + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -553,7 +501,7 @@ SUBROUTINE FDLVL_UV(ITYPE,NFD,HTFD,UFD,VFD) integer,intent(in) :: ITYPE(NFD) integer,intent(in) :: NFD ! coming from calling subroutine real,intent(in) :: HTFD(NFD) - real,dimension(IM,JSTA_2L:JEND_2U,NFD),intent(out) :: UFD,VFD + real,dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,NFD),intent(out) :: UFD,VFD ! INTEGER LVL(NFD) INTEGER IVE(JM),IVW(JM) @@ -571,7 +519,7 @@ SUBROUTINE FDLVL_UV(ITYPE,NFD,HTFD,UFD,VFD) !$omp parallel do DO IFD = 1,NFD DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND UFD(I,J,IFD) = SPVAL VFD(I,J,IFD) = SPVAL ENDDO @@ -588,17 +536,17 @@ SUBROUTINE FDLVL_UV(ITYPE,NFD,HTFD,UFD,VFD) END IF IF(gridtype /= 'A')THEN - CALL EXCH(FIS(1:IM,JSTA_2L:JEND_2U)) + CALL EXCH(FIS(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U)) DO L=1,LM - CALL EXCH(ZMID(1:IM,JSTA_2L:JEND_2U,L)) + CALL EXCH(ZMID(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L)) END DO - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M ELSE - ISTART = 1 - ISTOP = IM + ISTART = ISTA + ISTOP = IEND JSTART = JSTA JSTOP = JEND END IF @@ -795,112 +743,84 @@ SUBROUTINE FDLVL_UV(ITYPE,NFD,HTFD,UFD,VFD) RETURN END +!> Computes FD level for mass variables. +!> +!> This routine computes mass variables (temperature, spec. hum...) +!> on NFD FD levels. The height of these levels (in meters) is +!> passed as an input parameter. The alogrithm proceeds as +!> follows. (AGL-Above ground level in parentheses) +!> +!> At each mass point move up vertically from the LM-TH (lowest +!> atmospheric) ETA layer. Find the ETA layers whose +!> height (above ground) bounds the target FD level height. +!> Vertically interpolate to get temperature at this FD +!> level. Average the four surrounding winds +!> to get a mass point wind. Vertically interpolate these +!> mass point winds to the target FD level. Continue this +!> process until all NFD FD levels have been processed. +!> Move on to the next mass point. +!> +!> Averaging the four above ground winds to the mass point +!> was found to smooth the field and reduce the occurrence +!> of point peak winds far in excess of the winds at +!> adjacent points. Mass point values are returned. +!> +!> NOTES for Q fields by Y Mao: +!> The following safety check should be executed by the caller of FDLVL subroutines. +!> Safety check to avoid tiny QFD values. +!> KRF: Need NCAR and NMM WRF cores in this check as well? +!> @code +!> IF(MODELNAME=='RAPR' .OR. MODELNAME=='NCAR' .OR. MODELNAME=='NMM') THEN ! +!> DO IFD = 1,NFD +!> DO J=JSTA,JEND +!> DO I=1,IM +!> if(QFD(I,J,IFD) < 1.0e-8) QFD(I,J,IFD)=0.0 +!> ENDDO +!> ENDDO +!> ENDDO +!> endif +!> @endcode +!> +!> @param[in] ITYPE Flag that determines whether MSL (1) or AGL (2) Levels are used. +!> @param[in] NFD Number of FD levels. +!> @param[in] PTFD FD pressure levels. +!> @param[in] HTFD FD height levels. +!> @param[in] NIN Number of input fields. +!> @param[in] QIN Array of mass point value on model levels. +!> @param[in] QTYPE Charater array of variable type to differentiate underground interpolation. +!>
+!>                   C-5 Cloud Species
+!>                   K-TURBULENT KINETIC ENERGY
+!>                   Q-Specific Humidity
+!>                   T-Temperature, 
+!>                   W-Vertical Velocity or Omega
+!>
+!> @param[out] QFD Array of mass point value on FD levels. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-22 | Russ Treadon | Initial +!> 1993-11-23 | Russ Treadon | Corrected routine to compute FD levels with respect to mean sea level +!> 1994-01-04 | Mike Baldwin | Include options for computing either AGL or MSL +!> 1998-06-15 | T Black | Conversion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI version +!> 2002-01-15 | Mike Baldwin | WRF version +!> 2011-12-14 | Sarah Lu | Add GOCART aerosol AERFD +!> 2017-06-01 | Y Mao | Add FD levels for GTG(EDPARM CATEDR MWTURB) and allow levels input from control file +!> 2019-09-25 | Y Mao | Seperate mass from UV allow array of mass input to interpolate multiple fields with the same levels at one time. Dust=> AERFD can be processed when NIN=NBIN_DU +!> 2020-11-10 | Jesse Meng | Use UPP_PHYSICS module +!> 2022-05-25 | Y Mao | Remove interpolation of w/omega/Hydrometeor fields on FD levels +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 SUBROUTINE FDLVL_MASS(ITYPE,NFD,PTFD,HTFD,NIN,QIN,QTYPE,QFD) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: FDLVL_MASS COMPUTES FD LEVEL FOR MASS VARIABLES -! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -! -! ABSTRACT: -! THIS ROUTINE COMPUTES MASS VARIABLES (TEMPERATURE, SPEC. HUM...) -! ON NFD FD LEVELS. THE HEIGHT OF THESE LEVELS (IN METERS) IS -! PASSED AS AN INPUT PARAMETER. THE ALGORITHM PROCEEDS AS -! FOLLOWS. (AGL IN PARENTHESES) -! -! AT EACH MASS POINT MOVE UP VERTICALLY FROM THE LM-TH (LOWEST -! ATMOSPHERIC) ETA LAYER. FIND THE ETA LAYERS WHOSE -! HEIGHT (ABOVE GROUND) BOUNDS THE TARGET FD LEVEL HEIGHT. -! VERTICALLY INTERPOLATE TO GET TEMPERATURE AT THIS FD -! LEVEL. AVERAGE THE FOUR SURROUNDING WINDS -! TO GET A MASS POINT WIND. VERTICALLY INTERPOLATE THESE -! MASS POINT WINDS TO THE TARGET FD LEVEL. CONTINUE THIS -! PROCESS UNTIL ALL NFD FD LEVELS HAVE BEEN PROCESSED. -! MOVE ON TO THE NEXT MASS POINT. -! -! AVERAGING THE FOUR ABOVE GROUND WINDS TO THE MASS POINT -! WAS FOUND TO SMOOTH THE FIELD AND REDUCE THE OCCURRENCE -! OF POINT PEAK WINDS FAR IN EXCESS OF THE WINDS AT -! ADJACENT POINTS. MASS POINT VALUES ARE RETURNED. -! . -! -! PROGRAM HISTORY LOG: -! 92-12-22 RUSS TREADON -! 93-11-23 RUSS TREADON - CORRECTED ROUTINE TO COMPUTE -! FD LEVELS WITH REPECT TO MEAN SEA LEVEL. -! 94-01-04 MICHAEL BALDWIN - INCLUDE OPTIONS FOR COMPUTING -! EITHER AGL OR MSL -! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -! 00-01-04 JIM TUCCILLO - MPI VERSION -! 02-01-15 MIKE BALDWIN - WRF VERSION -! 11-12-14 SARAH LU - ADD GOCART AEROSOL AERFD -! 17-06-01 Y Mao - ADD FD levels for GTG(EDPARM CATEDR MWTURB) and allow -! levels input from control file -! 19-09-25 Y MAO - SEPERATE MASS FROM UV -! ALLOW ARRAY OF MASS INPUT TO INTERPOLATE MULTIPLE FIELDS -! WITH THE SAME LEVELS AT ONE TIME -! DUST=>AERFD CAN BE PROCESSED WHEN NIN=NBIN_DU -! 20-11-10 JESSE MENG - USE UPP_PHYSICS MODULE -! -! USAGE: CALL FDLVL_MASS(ITYPE,NFD,PTFD,HTFD,NIN,QIN,QTYPE,QFD) -! INPUT ARGUMENT LIST: -! ITYPE - FLAG THAT DETERMINES WHETHER MSL (1) OR AGL (2) -! LEVELS ARE USED. -! NFD - NUMBER OF FD LEVELS -! PTFD - FD PRESSURE LEVELS -! HTFD - FD HEIGHT LEVELS -! NIN - NUMBER OF INPUT FIELDS -! QIN - ARRAY OF MASS POINT VALUE ON MODEL LEVELS -! QTYPE - CHARACTER ARRAY OF VARIABLE TYPE TO DIFFERENTIATE UNDERGROUND INTERPOLATION -! C-5 Cloud Species -! K-TURBULENT KINETIC ENERGY -! Q-Specific Humidity -! T-Temperature, -! W-Vertical Velocity or Omega -! -! OUTPUT ARGUMENT LIST: -! QFD - ARRAY OF MASS POINT VALUE ON FD LEVELS. -! -! OUTPUT FILES: -! NONE -! -! SUBPROGRAMS CALLED: -! UTILITIES: -! -! LIBRARY: -! COMMON - -! LOOPS -! MASKS -! OPTIONS -! INDX -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN -! MACHINE : CRAY C-90 -!$$$ -! -! - -! NOTES for Q fields by Y Mao: -! The following safety check should be executed by the caller of FDLVL subroutines. -! safety check to avoid tiny QFD values -! !KRF: Need NCAR and NMM WRF cores in this check as well? -! IF(MODELNAME=='RAPR' .OR. MODELNAME=='NCAR' .OR. MODELNAME=='NMM') THEN ! -! DO IFD = 1,NFD -! DO J=JSTA,JEND -! DO I=1,IM -! if(QFD(I,J,IFD) < 1.0e-8) QFD(I,J,IFD)=0.0 -! ENDDO -! ENDDO -! ENDDO -! endif -! - use vrbls3d, only: T,Q,ZMID,PMID,PINT,ZINT use vrbls2d, only: FIS use masks, only: LMH use params_mod, only: GI, G, GAMMA,PQ0, A2, A3, A4, RHMIN,RGAMOG use ctlblk_mod, only: JSTA, JEND, SPVAL, JSTA_2L, JEND_2U, LM, JSTA_M, & - JEND_M, IM, JM,global,MODELNAME + JEND_M, IM, JM,global,MODELNAME, & + ISTA, IEND, ISTA_2L, IEND_2U, ISTA_M, IEND_M use gridspec_mod, only: GRIDTYPE use physcons_post,only: CON_FVIRT, CON_ROG, CON_EPS, CON_EPSM1 use upp_physics, only: FPVSNEW @@ -918,9 +838,9 @@ SUBROUTINE FDLVL_MASS(ITYPE,NFD,PTFD,HTFD,NIN,QIN,QTYPE,QFD) real, intent(in) :: PTFD(NFD) real,intent(in) :: HTFD(NFD) integer,intent(in) :: NIN - real,intent(in) :: QIN(IM,JSTA:JEND,LM,NIN) + real,intent(in) :: QIN(ISTA:IEND,JSTA:JEND,LM,NIN) character, intent(in) :: QTYPE(NIN) - real,intent(out) :: QFD(IM,JSTA:JEND,NFD,NIN) + real,intent(out) :: QFD(ISTA:IEND,JSTA:JEND,NFD,NIN) ! INTEGER LHL(NFD) @@ -942,7 +862,7 @@ SUBROUTINE FDLVL_MASS(ITYPE,NFD,PTFD,HTFD,NIN,QIN,QTYPE,QFD) DO N=1,NIN DO IFD = 1,NFD DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND QFD(I,J,IFD,N) = SPVAL ENDDO ENDDO @@ -950,13 +870,13 @@ SUBROUTINE FDLVL_MASS(ITYPE,NFD,PTFD,HTFD,NIN,QIN,QTYPE,QFD) ENDDO IF(gridtype /= 'A')THEN - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M ELSE - ISTART = 1 - ISTOP = IM + ISTART = ISTA + ISTOP = IEND JSTART = JSTA JSTOP = JEND END IF @@ -1089,9 +1009,7 @@ SUBROUTINE FDLVL_MASS(ITYPE,NFD,PTFD,HTFD,NIN,QIN,QTYPE,QFD) endif END IF ! endif loop for deducing T and Q differently for GFS - if(QTYPE(N) == "W") QFD(I,J,IFD,N)=QIN(I,J,LM,N) ! W OMGA if(QTYPE(N) == "K") QFD(I,J,IFD,N)= max(0.0,0.5*(QIN(I,J,LM,N)+QIN(I,J,LM-1,N))) ! TKE - if(QTYPE(N) == "C") QFD(I,J,IFD,N)=0.0 ! Hydrometeor fields END DO ENDIF ! Underground diff --git a/sorc/ncep_post.fd/FILL_PSETFLD.f b/sorc/ncep_post.fd/FILL_PSETFLD.f index 63a9757c78..5d74eed6b2 100644 --- a/sorc/ncep_post.fd/FILL_PSETFLD.f +++ b/sorc/ncep_post.fd/FILL_PSETFLD.f @@ -1,39 +1,30 @@ !> @file -! . . . -!> SUBPROGRAM: READCNTRLgrb2_xml READS POST xml CONTROL FILE -!! PRGRMMR: J. WANG ORG: NCEP/EMC DATE: 12-01-27 -!! -!! ABSTRACT: -!! THIS ROUTINE SET THE OUTPUT FIELD GRIB2 INFORMATION SUCH -!! AS PARAMETER NAME, LEVEL TYPE ETC FROM POST AVAILABLE FIELD -!! TABLE -!! -!! PROGRAM HISTORY LOG: -!! 01_27_2012 Jun Wang - INITIAL CODE -!! 04_03_2012 Jun Wang - Add table info -!! 03_10_2015 Lin Gan - Using flat file data -!! -!! USAGE: CALL READCNTRL_XML(kth,kpv,pv) -!! INPUT ARGUMENT LIST: -!! param_ofld: output field -!! param_afld: available field in POST -!! -!! OUTPUT ARGUMENT LIST: -!! param_ofld: output field -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! -!! LIBRARY: -!! MODULE: - xml_data_post_t -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : IBM -!! +!> @brief fill_psetfld() reads post xml control file. +!> +!> This routine set the output field GRIB2 information such +!> as parameter name, level type etc from post available field +!> table. +!> +!> @param[inout] param_ofld output field. +!> @param[in] param_afld available field in post. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2012-01-27 | Jun Wang | Initial +!> 2012-04-03 | Jun Wang | Add table info +!> 2015-03-10 | Lin Gan | Using flat file data +!> +!> @author J. Wang NCEP/EMC @date 2012-01-27 +!----------------------------------------------------------------------- +!> fill_psetfld() reads post xml control file. +!> This routine sets the output field GRIB2 information such +!> as parameter name, level type etc from post available field +!> table. +!> +!> @param[inout] param_ofld output field. +!> @param[in] param_afld available field in post. +!> subroutine fill_psetfld(param_ofld,param_afld) ! @@ -111,6 +102,10 @@ subroutine fill_psetfld(param_ofld,param_afld) if(trim(param_ofld%aerosol_type)==''.and.trim(param_afld%aerosol_type)/='') then param_ofld%aerosol_type=param_afld%aerosol_type endif +! prob type + if(trim(param_ofld%prob_type)==''.and.trim(param_afld%prob_type)/='') then + param_ofld%prob_type=param_afld%prob_type + endif ! typ_intvl_size if(trim(param_ofld%typ_intvl_size)==''.and.trim(param_afld%typ_intvl_size)/='') then param_ofld%typ_intvl_size=param_afld%typ_intvl_size diff --git a/sorc/ncep_post.fd/FIXED.f b/sorc/ncep_post.fd/FIXED.f index 64c549d7c6..80a9d2fde4 100644 --- a/sorc/ncep_post.fd/FIXED.f +++ b/sorc/ncep_post.fd/FIXED.f @@ -16,6 +16,7 @@ !! 11-02-06 JUN WANG - grib2 option !! 20-03-25 JESSE MENG - remove grib1 !! 21-04-01 JESSE MENG - computation on defined points only +!! 21-10-15 JESSE MENG - 2D DECOMPOSITION !! !! USAGE: CALL FIXED !! INPUT ARGUMENT LIST: @@ -45,12 +46,13 @@ SUBROUTINE FIXED ! use vrbls3d, only: pint - use vrbls2d, only: albedo, avgalbedo, albase, mxsnal, sst, ths, epsr, ti + use vrbls2d, only: albedo, avgalbedo, albase, mxsnal, sst, ths, epsr, ti& + , fdnsst use masks, only: gdlat, gdlon, sm, sice, lmh, lmv use params_mod, only: small, p1000, capa use lookup_mod, only: ITB,JTB,ITBQ,JTBQ use ctlblk_mod, only: jsta, jend, modelname, grib, cfld, fld_info, datapd, spval, tsrfc,& - ifhr, ifmin, lm, im, jm + ifhr, ifmin, lm, im, jm, ista, iend use rqstfld_mod, only: iget, lvls, iavblfld, id !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none @@ -71,21 +73,21 @@ SUBROUTINE FIXED IF (IGET(048)>0) THEN !$omp parallel do private(i,j) DO J = JSTA,JEND - DO I = 1,IM + DO I = ISTA,IEND GRID1(I,J) = GDLAT(I,J) END DO END DO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(048)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! LONGITUDE (OUTPUT GRID). CONVERT TO EAST IF (IGET(049)>0) THEN DO J = JSTA,JEND - DO I = 1,IM + DO I = ISTA,IEND IF (GDLON(I,J) < 0.)THEN GRID1(I,J) = 360. + GDLON(I,J) ELSE @@ -98,7 +100,7 @@ SUBROUTINE FIXED if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(049)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -106,17 +108,21 @@ SUBROUTINE FIXED IF (IGET(050)>0) THEN !$omp parallel do private(i,j) DO J = JSTA,JEND - DO I = 1,IM + DO I = ISTA,IEND GRID1(I,J) = SPVAL IF(SM(I,J) /= SPVAL) GRID1(I,J) = 1. - SM(I,J) - IF(SICE(I,J) /= SPVAL .AND. SICE(I,J) > 0.1) GRID1(I,J) = 0. + If(MODELNAME == 'GFS' .or. MODELNAME == 'FV3R')then + IF(SICE(I,J) /= SPVAL .AND. SICE(I,J) > 0.0)GRID1(I,J)=0. + else + IF(SICE(I,J) /= SPVAL .AND. SICE(I,J) > 0.1)GRID1(I,J)=0. + end if ! if(j==jm/2)print*,'i,mask= ',i,grid1(i,j) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(050)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -124,14 +130,14 @@ SUBROUTINE FIXED IF (IGET(051)>0) THEN !$omp parallel do private(i,j) DO J = JSTA,JEND - DO I = 1,IM + DO I = ISTA,IEND GRID1(I,J) = SICE(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(051)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -139,14 +145,14 @@ SUBROUTINE FIXED IF (IGET(052)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = LMH(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(052)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -154,14 +160,14 @@ SUBROUTINE FIXED IF (IGET(053)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = LMV(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(053)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -172,7 +178,7 @@ SUBROUTINE FIXED IF (IGET(150)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! SNOK = AMAX1(SNO(I,J),0.0) ! SNOFAC = AMIN1(SNOK*50.0,1.0) ! EGRID1(I,J)=ALB(I,J)+(1.-VEGFRC(I,J))*SNOFAC @@ -185,11 +191,11 @@ SUBROUTINE FIXED ENDDO ENDDO ! CALL E2OUT(150,000,GRID1,GRID2,GRID1,GRID2,IM,JM) - CALL SCLFLD(GRID1,100.,IM,JM) + CALL SCLFLD(GRID1(ista:iend,jsta:jend),100.,IM,JM) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(150)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -215,7 +221,7 @@ SUBROUTINE FIXED IF (ID(18)<0) ID(18) = 0 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ABS(AVGALBEDO(I,J)-SPVAL)>SMALL) THEN GRID1(I,J) = AVGALBEDO(I,J)*100. ELSE @@ -233,14 +239,14 @@ SUBROUTINE FIXED fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! IF (IGET(226)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ABS(ALBASE(I,J)-SPVAL)>SMALL) THEN GRID1(I,J) = ALBASE(I,J)*100. ELSE @@ -251,14 +257,14 @@ SUBROUTINE FIXED if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(226)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! Max snow albedo IF (IGET(227)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (ABS(MXSNAL(I,J)-SPVAL)>SMALL) THEN ! sea point, albedo=0.06 same as snow free albedo IF( (abs(SM(I,J)-1.) < 1.0E-5) ) THEN @@ -276,7 +282,7 @@ SUBROUTINE FIXED !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ABS(MXSNAL(I,J)-SPVAL)>SMALL) THEN GRID1(I,J) = MXSNAL(I,J)*100. ELSE @@ -287,7 +293,7 @@ SUBROUTINE FIXED if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(227)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -295,7 +301,7 @@ SUBROUTINE FIXED IF (IGET(151)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SPVAL IF (MODELNAME == 'NMM') THEN IF( (abs(SM(I,J)-1.) < 1.0E-5) ) THEN @@ -312,7 +318,7 @@ SUBROUTINE FIXED if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(151)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -321,14 +327,29 @@ SUBROUTINE FIXED IF (IGET(968)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = TI(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(968)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) + endif + ENDIF +! +! FOUNDATION TEMPERAURE. + IF (IGET(549)>0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = FDNSST(I,J) + ENDDO + ENDDO + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(549)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -336,14 +357,14 @@ SUBROUTINE FIXED IF (IGET(248)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = EPSR(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(248)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF diff --git a/sorc/ncep_post.fd/FRZLVL.f b/sorc/ncep_post.fd/FRZLVL.f index d84bd7da40..6fd1b3c432 100644 --- a/sorc/ncep_post.fd/FRZLVL.f +++ b/sorc/ncep_post.fd/FRZLVL.f @@ -1,67 +1,50 @@ !> @file -! -!> SUBPROGRAM: FRZLVL COMPUTES FRZING LVL Z AND RH -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -!! T. Smirnova - 8-27-2010 - added PFRZL to the output -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THE FREEZING LEVEL HEIGHT AND RELATIVE -!! HUMIDITY AT THIS LEVEL FOR EACH MASS POINT ON THE ETA GRID. -!! THE COMPUTED FREEZING LEVEL HEIGHT IS THE MEAN SEA LEVEL -!! HEIGHT. AT EACH MASS POINT WE MOVE UP FROM THE SURFACE TO -!! FIND THE FIRST ETA LAYER WHERE THE TEMPERATURE IS LESS THAN -!! 273.16K. VERTICAL INTERPOLATION IN TEMPERATURE TO THE FREEZING -!! TEMPERATURE GIVES THE FREEZING LEVEL HEIGHT. PRESSURE AND -!! SPECIFIC HUMIDITY ARE INTERPOLATED TO THIS LEVEL AND ALONG WITH -!! THE TEMPERATURE PROVIDE THE FREEZING LEVEL RELATIVE HUMIDITY. -!! IF THE SURFACE (SKIN) TEMPERATURE IS BELOW FREEZING, THE ROUTINE -!! USES SURFACE BASED FIELDS TO COMPUTE THE RELATIVE HUMIDITY. -!! -!! NOTE THAT IN POSTING FREEZING LEVEL DATA THE LFM LOOK-ALIKE FILE -!! (IE, GRID 26), WE PACK 273.15K AS THE FREEZING TEMPERATURE. ALL -!! OTHER OUTPUT GRIDS USE 273.16K -!! -!! PROGRAM HISTORY LOG: -!! 92-12-22 RUSS TREADON -!! 93-06-10 RUSS TREADON - CORRECTED FREEZING LEVEL HEIGHTS TO BE -!! WITH REPSECT TO MEAN SEA LEVEL, NOT -!! ABOVE GROUND LEVEL. -!! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 98-08-17 MIKE BALDWIN - COMPUTE RH OVER ICE IF NECESSARY -!! 98-12-22 MIKE BALDWIN - BACK OUT RH OVER ICE -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -!! 02-01-15 MIKE BALDWIN - WRF VERSION -!! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT -!! 20-11-10 JESSE MENG - USE UPP_PHYSICS MODULE -!! -!! USAGE: CALL FRZLVL(ZFRZ,RHFRZ) -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! ZFRZ - ABOVE GROUND LEVEL FREEZING HEIGHT. -!! RHFRZ - RELATIVE HUMIDITY AT FREEZING LEVEL. -!! PFRZL - PRESSURE AT FREEZING LEVEL. -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - -!! LOOPS -!! PVRBLS -!! MASKS -!! MAPOT -!! POSTVAR -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief Subroutine that computes FRZING LVL, Z and RH. +!> +!> This routine computes the freezing level height and relative +!> humidity at this level for each mass point on the ETA grid. +!> The computed freezing level height is the mean sea level +!> height. At each mass point we move up from the surface to +!> find the first ETA layer where the temperature is less than +!> 273.16K. Vertical interpolation in temperature to the freezing +!> temperature gives the freezing level height. Pressure and +!> specific humidity are interpolated to this level and along with +!> the temperature provide the freezing level relative humidity. +!> If the surface (skin) temperature is below freezing, the routine +!> uses surface based fields to compute the relative humidity. +!> +!> Note that in posting freezing level data the LFM look-alike file +!> (IE, GRID 26), we pack 273.15K as the freezing temperature. All +!> other output grids use 273.16K. +!> +!> @param[out] ZFRZ Above ground level freezing height. +!> @param[out] RHFRZ Relative humidity at freezing level. +!> @param[out] PFRZL pressure at freezing level. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-22 | Russ Treadon | Initial +!> 1993-06-05 | Russ Treadon | Corrected freezing level heights to be with respect to mean sea level, not above ground level +!> 1998-06-15 | T Black | Conversion from 1-D to 2-D +!> 1998-08-17 | Mike Baldwin | Compute RH over ice if necessary +!> 1998-12-22 | Mike Baldwin | Back out RH over ice +!> 2000-01-04 | Jim Tuccillo | MPI version +!> 2001-10-25 | H Chuang | Modified to process hybrid model output +!> 2002-01-15 | Mike Baldwin | WRF version +!> 2010-08-27 | T. Smirnova | Added PFRZL to the output +!> 2019-10-30 | Bo Cui | Remove "GOTO" statement +!> 2020-11-10 | Jesse Meng | Use UPP_PHYSICS module +!> 2021-10-15 |JESSE MENG | 2D DECOMPOSITION +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 +!----------------------------------------------------------------------------- +!> FRZLVL() Subroutine that computes FRZING LVL, Z and RH. +!> +!> @param[out] ZFRZ real Above ground level freezing height. +!> @param[out] RHFRZ real Relative humidity at freezing level. +!> @param[out] PFRZL real Pressure at freezing level. +!> SUBROUTINE FRZLVL(ZFRZ,RHFRZ,PFRZL) ! @@ -70,7 +53,7 @@ SUBROUTINE FRZLVL(ZFRZ,RHFRZ,PFRZL) use vrbls2d, only: fis, tshltr, pshltr, qshltr use masks, only: lmh use params_mod, only: gi, d00, capa, d0065, tfrz, pq0, a2, a3, a4 - use ctlblk_mod, only: jsta, jend, spval, lm, modelname, im + use ctlblk_mod, only: jsta, jend, spval, lm, modelname, im, ista, iend use physcons_post, only: con_rd, con_rv, con_eps, con_epsm1 use upp_physics, only: FPVSNEW @@ -78,7 +61,7 @@ SUBROUTINE FRZLVL(ZFRZ,RHFRZ,PFRZL) ! ! DECLARE VARIABLES. ! - REAL,dimension(im,jsta:jend) :: RHFRZ, ZFRZ, PFRZL + REAL,dimension(ista:iend,jsta:jend) :: RHFRZ, ZFRZ, PFRZL integer I,J,LLMH,L real HTSFC,PSFC,TSFC,QSFC,QSAT,RHSFC,DELZ,DELT,DELQ,DELALP, & DELZP,ZL,DZABV,QFRZ,ALPL,ALPH,ALPFRZ,PFRZ,QSFRZ,RHZ,ZU, & @@ -98,7 +81,7 @@ SUBROUTINE FRZLVL(ZFRZ,RHFRZ,PFRZL) ! & zl,zu) DO 20 J=JSTA,JEND - DO 20 I=1,IM + DO 20 I=ISTA,IEND HTSFC = FIS(I,J)*GI LLMH = NINT(LMH(I,J)) RHFRZ(I,J) = D00 diff --git a/sorc/ncep_post.fd/FRZLVL2.f b/sorc/ncep_post.fd/FRZLVL2.f index a8f934ea7a..e1537a57ab 100644 --- a/sorc/ncep_post.fd/FRZLVL2.f +++ b/sorc/ncep_post.fd/FRZLVL2.f @@ -1,66 +1,52 @@ !> @file -! -!> SUBPROGRAM: FRZLVL COMPUTES FRZING LVL Z AND RH -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THE ISOTHERMAL LEVEL HEIGHT AND RELATIVE -!! HUMIDITY AT THIS LEVEL FOR EACH MASS POINT ON THE ETA GRID. -!! THE COMPUTED ISOTHERMAL LEVEL HEIGHT IS THE MEAN SEA LEVEL -!! HEIGHT. AT EACH MASS POINT WE MOVE UP FROM THE SURFACE TO -!! FIND THE LAST ETA LAYER WHERE THE TEMPERATURE IS LESS THAN -!! ISOTHERM AND THE TEMP IN THE LAYER BELOW IS ABOVE ISOTHERM. -!! VERTICAL INTERPOLATION IN TEMPERATURE TO THE ISOTHERMAL -!! TEMPERATURE GIVES THE ISOTHERMAL LEVEL HEIGHT. PRESSURE AND -!! SPECIFIC HUMIDITY ARE INTERPOLATED TO THIS LEVEL AND ALONG WITH -!! THE TEMPERATURE PROVIDE THE ISOTHERMAL LEVEL RELATIVE HUMIDITY. -!! IF THE ENTIRE ATMOSPHERE IS BELOW ISOTHERM, THE ROUTINE -!! USES SURFACE BASED FIELDS TO COMPUTE THE RELATIVE HUMIDITY. -!! -!! NOTE THAT IN POSTING FREEZING LEVEL DATA THE LFM LOOK-ALIKE FILE -!! (IE, GRID 26), WE PACK 273.15K AS THE FREEZING TEMPERATURE. ALL -!! OTHER OUTPUT GRIDS USE 273.16K -!! -!! PROGRAM HISTORY LOG: -!! 92-12-22 RUSS TREADON -!! 93-06-10 RUSS TREADON - CORRECTED FREEZING LEVEL HEIGHTS TO BE -!! WITH REPSECT TO MEAN SEA LEVEL, NOT -!! ABOVE GROUND LEVEL. -!! 95-03-10 MIKE BALDWIN - GET HIGHEST FREEZING LEVEL. -!! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 98-08-17 MIKE BALDWIN - COMPUTE RH OVER ICE IF NECESSARY -!! 98-12-22 MIKE BALDWIN - BACK OUT RH OVER ICE -!! 98-12-22 MIKE BALDWIN - BACK OUT RH OVER ICE -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -!! 02-01-15 MIKE BALDWIN - WRF VERSION -!! 10-08-27 T. Smirnova - added PFRZL to the output -!! 16-01-21 C. Alexander - Generalized function for any isotherm -!! 20-11-10 JESSE MENG - USE UPP_PHYSICS MODULE -!! 21-07-28 W. Meng - Restrict compuatation from undefined grids -!! -!! USAGE: CALL FRZLVL2(ISOTHERM,ZFRZ,RHFRZ,PFRZL) -!! INPUT ARGUMENT LIST: -!! ISOTHERM - ISOTHERMAL VALUE OF HEIGHT TO BE OUTPUT. -!! -!! OUTPUT ARGUMENT LIST: -!! ZFRZ - ABOVE GROUND LEVE/ZFL AT ISOTHERM HEIGHT. -!! RHFRZ - RELATIVE HUMIDITY AT ISOTHERM LEVEL. -!! PFRZL - PRESSURE AT ISOTHERM LEVEL. -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief Subroutine that computes FRZING LVL, Z and RH. +!> +!> This routine computes the isothermal level height and relative +!> humidity at this level for each mass point on the ETA grid. +!> The computed isothermal level height is the mean sea level +!> height. At each mass point we move up from the surface to +!> find the last ETA layer where the temperature is less than +!> isotherm and the temp in the layer below is above isotherm. +!> Vertical interpolation in temperature to the isotherm +!> temperature gives the isothermal level height. Pressure and +!> specific humidity are interpolated to this level and along with +!> the temperature provide the isothermal level relative humidity. +!> If the entire atmosphere is below isotherm, the routine +!> uses surface based fields to compute the relative humidity. +!> +!> Note that in posting freezing level data the LFM look-alike file +!> (IE, GRID 26), we pack 273.15K as the freezing temperature. All +!> other output grids use 273.16K. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-22 | Russ Treadon | Initial +!> 1993-06-05 | Russ Treadon | Corrected freezing level heights to be with respect to mean sea level, not above ground level +!> 1995-03-10 | Mike Baldwin | Get highest freezing level +!> 1998-06-15 | T Black | Conversion from 1-D to 2-D +!> 1998-08-17 | Mike Baldwin | Compute RH over ice if necessary +!> 1998-12-22 | Mike Baldwin | Back out RH over ice +!> 2000-01-04 | Jim Tuccillo | MPI version +!> 2001-10-25 | H Chuang | Modified to process hybrid model output +!> 2002-01-15 | Mike Baldwin | WRF version +!> 2010-08-27 | T. Smirnova | Added PFRZL to the output +!> 2016-01-21 | C. Alexander | Generalized function for any isotherm +!> 2019-10-30 | Bo Cui | Remove "GOTO" statement +!> 2020-11-10 | Jesse Meng | Use UPP_PHYSICS module +!> 2021-10-15 | JESSE MENG | 2D DECOMPOSITION +!> 2021-07-28 | W. Meng | Restrict compuatation from undefined grids +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 +!------------------------------------------------------------------------------- +!> @brief FRZLVL2 computes FRZING LVL, Z and RH. +!> +!> @param[in] ISOTHERM real Isothermal value of height to be output. +!> @param[out] ZFRZ real Above ground level/ZFL at isotherm height. +!> @param[out] RHFRZ real Relative humidity at isotherm level. +!> @param[out] PFRZL real Pressure at isotherm level. +!> + SUBROUTINE FRZLVL2(ISOTHERM,ZFRZ,RHFRZ,PFRZL) ! @@ -68,7 +54,7 @@ SUBROUTINE FRZLVL2(ISOTHERM,ZFRZ,RHFRZ,PFRZL) use vrbls2d, only: fis, tshltr, pshltr, qz0, qs, qshltr use masks, only: lmh, sm use params_mod, only: gi, d00, capa, d0065, tfrz, pq0, a2, a3, a4, d50 - use ctlblk_mod, only: jsta, jend, spval, lm, modelname, im + use ctlblk_mod, only: jsta, jend, spval, lm, modelname, im, ista, iend use physcons_post, only: con_rd, con_rv, con_eps, con_epsm1 use upp_physics, only: FPVSNEW @@ -81,7 +67,7 @@ SUBROUTINE FRZLVL2(ISOTHERM,ZFRZ,RHFRZ,PFRZL) ! REAL,PARAMETER::PUCAP=300.0E2 real,intent(in) :: ISOTHERM - REAL,dimension(im,jsta:jend),intent(out) :: RHFRZ, ZFRZ, PFRZL + REAL,dimension(ista:iend,jsta:jend),intent(out) :: RHFRZ, ZFRZ, PFRZL !jw integer I,J,L,LICE,LLMH real HTSFC,PSFC,QSFC,RHSFC,QW,QSAT,DELZ,DELT,DELQ,DELALP,DELZP, & @@ -95,7 +81,7 @@ SUBROUTINE FRZLVL2(ISOTHERM,ZFRZ,RHFRZ,PFRZL) ! DO 20 J=JSTA,JEND - DO 20 I=1,IM + DO 20 I=ISTA,IEND IF(FIS(I,J) @file -! -!> SUBPROGRAM: GET_BITS COMPUTE NUMBER OF BITS AND ROUND FIELD. -!! PRGMMR: IREDELL ORG: W/NP23 DATE: 92-10-31 -!! -!! ABSTRACT: THE NUMBER OF BITS REQUIRED TO PACK A GIVEN FIELD -!! AT A PARTICULAR DECIMAL SCALING IS COMPUTED USING THE FIELD RANGE. -!! THE FIELD IS ROUNDED OFF TO THE DECIMAL SCALING FOR PACKING. -!! THE MINIMUM AND MAXIMUM ROUNDED FIELD VALUES ARE ALSO RETURNED. -!! GRIB BITMAP MASKING FOR VALID DATA IS OPTIONALLY USED. -!! -!! PROGRAM HISTORY LOG: -!! 92-10-31 IREDELL -!! 95-04-14 BALDWIN - MODIFY FOLLOWING KEITH BRILL'S CODE -!! TO USE SIG DIGITS TO COMPUTE DEC SCALE -!! -!! USAGE: CALL GET_BITS(IBM,ISGDS,LEN,MG,G,ISCALE,GROUND,GMIN,GMAX,NBIT) -!! INPUT ARGUMENT LIST: -!! IBM - INTEGER BITMAP FLAG (=0 FOR NO BITMAP) -!! SGDS - MAXIMUM SIGNIFICANT DIGITS TO KEEP -!! (E.G. SGDS=3.0 KEEPS 3 SIGNIFICANT DIGITS) -!! OR BINARY PRECISION IF <0 -!! (E.G. SGDS=-2.0 KEEPS FIELD TO NEAREST 1/4 -!! -3.0 " " 1/8 -!! 2**SGDS PRECISION) -!! LEN - INTEGER LENGTH OF THE FIELD AND BITMAP -!! MG - INTEGER (LEN) BITMAP IF IBM=1 (0 TO SKIP, 1 TO KEEP) -!! G - REAL (LEN) FIELD -!! -!! OUTPUT ARGUMENT LIST: -!! ISCALE - INTEGER DECIMAL SCALING -!! GROUND - REAL (LEN) FIELD ROUNDED TO DECIMAL SCALING -!! GMIN - REAL MINIMUM VALID ROUNDED FIELD VALUE -!! GMAX - REAL MAXIMUM VALID ROUNDED FIELD VALUE -!! NBIT - INTEGER NUMBER OF BITS TO PACK -!! -!! SUBPROGRAMS CALLED: -!! ISRCHNE - FIND FIRST VALUE IN AN ARRAY NOT EQUAL TO TARGET VALUE -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! -!! +!> @brief get_bits() computes number of bits and round field. +!> +!> The number of bits requited to pack a given field +!> at a particular decimal scaling is computed using the field range. +!> The field is rounded off to the decimal scaling for packing. +!> The minimum and maximum rounded field values are also returned. +!> Grib bitmap masking for valid data is optionally used. +!> +!> @param[in] IBM Integer bitmap flag (=0 for no bitmap). +!> @param[in] SGDS Maximum significant digits to keep. +!>
+!> (E.G. SGDS=3.0 keeps 3 significant digits)
+!>  or binary precision if <0
+!> (E.G. SGDS=-2.0 keeps field to nearest 1/4
+!>            -3.0 keeps field to nearest 1/8
+!>            2**SGDS precision)
+!>
+!> @param[in] LEN Integer length of the field and bitmap. +!> @param[in] MG Integet (LEN) bitmap if IBM=1 (0 to skip, 1 tp keep). +!> @param[in] G Real (LEN) field. +!> @param[out] ISCALE Integer decimal scaling. +!> @param[out] GROUND Real (LEN) field rounded to decimal scaling. +!> @param[out] GMIN Real minimum valid rounded field value. +!> @param[out] GMAX Real maximum valid rounded field value. +!> @param[out] NBIT Integer number of bits to pack. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-10-31 | Iredell | Initial +!> 1995-04-14 | Baldwin | Modify following Keith Brill's code to use sig digits to compute DEC scale +!> +!> @author Iredell W/NP23 @date 1992-10-31 +!----------------------------------------------------------------------- +!> get_bits() computes number of bits and round field. +!> +!> @param[in] IBM integer bitmap flag (=0 for no bitmap). +!> @param[in] SGDS real Maximum significant digits to keep. +!> @param[in] LEN integer Length of the field and bitmap. +!> @param[in] MG integer (LEN) Bitmap if IBM=1 (0 to skip, 1 tp keep). +!> @param[in] G real (LEN) Field. +!> @param[inout] ISCALE integer Decimal scaling. +!> @param[inout] GROUND real (LEN) Field rounded to decimal scaling. +!> @param[out] GMIN real Minimum valid rounded field value. +!> @param[out] GMAX real Maximum valid rounded field value. +!> @param[inout] NBIT integer Number of bits to pack. +!> SUBROUTINE GET_BITS(IBM,SGDS,LEN,MG,G,ISCALE,GROUND, & GMIN,GMAX,NBIT) @@ -91,43 +96,36 @@ SUBROUTINE GET_BITS(IBM,SGDS,LEN,MG,G,ISCALE,GROUND, & ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RETURN END - SUBROUTINE FNDBIT ( rmin, rmax, rdb, nmbts, iscale, iret ) -!************************************************************************ -!* FNDBIT * -!* * -!* This subroutine computes the number of packing bits given the * -!* maximum number of significant digits to preserve or the binary * -!* precision to store the data. The binary precision is given as a * -!* negative integer, ISCALE will always be zero in this case. * -!* * -!* The binary precision translates as follows: * -!* -1 => store data to nearest 1/2 * -!* -2 => store data to nearest 1/4 * -!* -3 => store data to nearest 1/8 * -!* * -!* Note that a fractional number of significant digits is allowed. * -!* * -!* FNDBIT ( AMIN, AMAX, RDB, NBITS, ISCALE, IRET ) * -!* * -!* Input parameters: * -!* AMIN REAL Minimum value * -!* AMAX REAL Maximum value * -!* RDB REAL Maximum # of significant digits * -!* OR binary precision if < 0 * -!* * -!* Output parameters: * -!* NBITS INTEGER Number of bits for packing * -!* ISCALE INTEGER Power of 10 scaling to use * -!* IRET INTEGER Return code * -!* 0 = normal return * -!** * -!* Log: * -!* K. Brill/NMC 06/92 * -!* K. Brill/EMC 12/95 Added binary precision * -!* M. Baldwin 10/96 Added fix for negative nmbts -!************************************************************************ -!* -! +!> fndbit() computes the number of packing bits given the +!> maximum number of significant digits to preserve or the binary +!> precision to store the data. The binary precision is given as a +!> negative integer, ISCALE will always be zero in this case. +!> +!> The binary precision translates as follows: +!>
+!>     -1  =>  store data to nearest 1/2
+!>     -2  =>  store data to nearest 1/4
+!>     -3  =>  store data to nearest 1/8
+!> 
+!> +!> Note that a fractional number of significant digits is allowed. +!> +!> @param[in] RMIN Real Minimum value. +!> @param[in] RMAX Real Maximum value. +!> @param[in] RDB Real Maximum # of significant digits OR binary precision if < 0. +!> @param[out] NMBTS Integer Number of bits for packing. +!> @param[out] ISCALE Integer Power of 10 scaling to use. +!> @param[out] IRET Integer Return code. 0 = normal return. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-06-?? | K Brill | Initial +!> 1995-12-?? | K Brill | Added binary precision +!> 1996-10-?? | M Baldwin | Added fix for negative nmbts +!> +!> @author K. Brill NMC @date 1992-06-?? + SUBROUTINE FNDBIT ( rmin, rmax, rdb, nmbts, iscale, iret ) implicit none ! integer,intent(inout) :: iscale,nmbts diff --git a/sorc/ncep_post.fd/GFIP3.f b/sorc/ncep_post.fd/GFIP3.f index 01921eaa30..8ac031b923 100644 --- a/sorc/ncep_post.fd/GFIP3.f +++ b/sorc/ncep_post.fd/GFIP3.f @@ -1,3 +1,10 @@ +!> @file +!> +!> @brief This file contains a collection of UPP modules used to calculate icing probability from the model. +!> +! +!------------------------------------------------------------------------ +!> @class DerivedFields !======================================================================== ! = = = = = = = = = = = = module DerivedFields = = = = = = = = = = = = !======================================================================== @@ -17,28 +24,48 @@ module DerivedFields integer :: OTHER = 3 integer :: CONVECTION = 4 end type precipitations_t + !> Type of precipitation @memberof DerivedFields type(precipitations_t), parameter :: PRECIPS = precipitations_t() contains !-----------------------------------------------------------------------+ +!> +!> derive_fields() Calculates several derived fields. +!> +!> @param[in] imp_physics integer Microphysics option used in the model run. +!> @param[in] t real Temperature (K). +!> @param[in] rh real Relative humidity. +!> @param[in] pres real Pressure (Pa). +!> @param[in] hgt real Height. +!> @param[in] totalWater real _____? +!> @param[in] totalCond real Precipitation Condensate in g/kg. +!> @param[in] nz integer Number of vertical levels. +!> @param[in] topoK integer _____? +!> @param[in] hprcp real Hourly accumulated precipitation. +!> @param[in] hcprcp real Hourly accumulated convective precipitation. +!> @param[in] cin real Convective inhibition (CIN). +!> @param[in] cape real Convective Available Potential Energy (CAPE) +!> +!> 3-D derived data: +!> @param[out] ept real Equivalent potential temperature +!> @param[out] wbt real Wet bulb temperature +!> @param[out] twp real Total water path +!> +!> 2-D derived data: (indice for convective icing severity) +!> @param[out] kx real k index +!> @param[out] lx real Lifted index +!> @param[out] tott real Total totals +!> +!> 2-D derived data: +!> @param[out] pc real Precipitation condensate +!> @param[out] prcpType integer Surface precipitation type +!> subroutine derive_fields(imp_physics,t, rh, pres, hgt, totalWater, totalCond,& nz, topoK, hprcp, hcprcp, cin, cape, & ept, wbt, twp, pc, kx, lx, tott, prcpType) IMPLICIT NONE -! 3-D derived data: -! ept - equivalent potential temperature -! wbt - wet bulb temperature -! twp - total water path -! -! 2-D derived data: (indice for convective icing severity) -! kx - k index -! lx - lifted index -! tott - total totals -! -! 2-D derived data: -! pc - precipitation condensate -! prcpType - surface precipitation type + integer, intent(in) :: imp_physics integer, intent(in) :: nz, topoK @@ -91,7 +118,7 @@ elemental real function getDewPointTemp(t, rh) real vapr, rm ! actual water vapor presure in pascal - ! 611.2 Pa is the saturated vapor presure at 0C + ! 611.2 Pa is the saturated vapor presure at 0°C ! Pa = (rh/100) * Ps vapr = (max(1.0e-6,rh) / 100.0) * getVaporPres(t) rm = log(vapr/611.2) @@ -131,7 +158,7 @@ elemental real function getVaporPres(t) real tc - ! 611.2 Pa is the saturated vapor presure at 0C + ! 611.2 Pa is the saturated vapor presure at 0°C tc = t-273.15 getVaporPres = 611.2 * exp( 17.67*tc/(tc+243.5)) @@ -151,9 +178,12 @@ elemental real function get_tLCL(t, td) end function get_tLCL !-----------------------------------------------------------------------+ -! mixing ratio in g/kg = water vapr/dry air -! td in K -! pres in Pa +!> @brief mixing_ratio() Calculates the mixing ratio in g/kg = water vapor/dry air. +!> +!> @param[in] td real dew point temperture (K). +!> @param[in] pres real Pressure (Pa). +!> @return mixing_ratio +!-----------------------------------------------------------------------+ elemental real function mixing_ratio(td, pres) IMPLICIT NONE real, intent(in) :: td, pres @@ -229,7 +259,9 @@ real function getPrecipCond(totalCond, nz, topoK) end function getPrecipCond !-----------------------------------------------------------------------+ -! These 2-D indice are used for convective icing severity +!> +!> calc_indice() Calculates 2-D indices that are used for convective icing severity. +!> subroutine calc_indice(t, td, pres, wvm, nz, topoK, & kIndex, liftedIndex, totalTotals) IMPLICIT NONE @@ -243,7 +275,7 @@ subroutine calc_indice(t, td, pres, wvm, nz, topoK, & real :: surfaceTemp,surfaceDewPtTemp,surfacePressure,surfaceMIXR real :: tempAtLCL, theta, pressAtLCL, thetaEAtLCL, tempFromThetaE, tem -! write(0,*)' nz=',nz,' pres=',pres(:) +! write(*,*)' nz=',nz,' pres=',pres(:) t500hPa = t(nz) t700hPa = t(nz) dpt700hPa = td(nz) @@ -254,7 +286,7 @@ subroutine calc_indice(t, td, pres, wvm, nz, topoK, & ! use linear interpolation -! write(0,*)'k=',k,' pres=',pres(k) +! write(*,*)'k=',k,' pres=',pres(k) if ((pres(k)- 50000.0 >= 0.) .and. (pres(k-1)- 50000.0 < 0.) ) then if (abs(pres(k)- 50000.0) <= 0.1) then t500hPa = t(k) @@ -280,7 +312,7 @@ subroutine calc_indice(t, td, pres, wvm, nz, topoK, & end if endif -! write(0,*)'k=',k,' pres=',pres(k),pres(k-1) +! write(*,*)'k=',k,' pres=',pres(k),pres(k-1) if ((pres(k)- 85000.0 >= 0.) .and. (pres(k-1)- 85000.0 < 0.) ) then if (abs(pres(k)- 85000.0) <= 0.1) then t850hPa = t(k) @@ -576,8 +608,10 @@ end function getPrecipType end module DerivedFields +!------------------------------------------------------------------------ +!> @class CloudLayers !======================================================================== -! = = = = = = = = = = = = = module CloudLayers = = = = = = = = = = = = = +! = = = = = = = = = = = = = module CloudLayers = = = = = = = = = = = = = !======================================================================== module CloudLayers @@ -590,22 +624,23 @@ module CloudLayers public clouds_t integer, parameter :: MaxLayers = 30 - type :: clouds_t + type :: clouds_t !< _____? ! 2-D - integer :: nLayers - integer :: wmnIdx ! warm nose index - real :: avv ! average vertical velocity + integer :: nLayers !< Number of layers + integer :: wmnIdx !< Warm nose index @memberof cloudlayers::clouds_t + real :: avv !< Average vertical velocity @memberof cloudlayers::clouds_t ! 3-D, on model levels of nz - real, allocatable :: layerQ(:) + real, allocatable :: layerQ(:) !< array 3-D, of cloud layers @memberof cloudlayers::clouds_t ! 3-D, of cloud layers - integer :: topIdx(MaxLayers) - integer :: baseIdx(MaxLayers) - real :: ctt(MaxLayers) + integer :: topIdx(MaxLayers) !< Layer top @memberof cloudlayers::clouds_t + integer :: baseIdx(MaxLayers) !< Layer base @memberof cloudlayers::clouds_t + real :: ctt(MaxLayers) !< Cloud top temperature @memberof cloudlayers::clouds_t end type clouds_t contains !-----------------------------------------------------------------------+ +!> calc_CloudLayers() @memberof CloudLayers subroutine calc_CloudLayers(rh,t,pres,ept,vv, nz, topoK, xlat, xlon,& region, clouds) IMPLICIT NONE @@ -914,7 +949,8 @@ end function dq_delta_TE_map end module cloudlayers - +!------------------------------------------------------------------------ +!> @class IcingPotential !======================================================================== ! = = = = = = = = = = = = module IcingPotential = = = = = = = = = = = = = !======================================================================== @@ -933,6 +969,7 @@ module IcingPotential contains !-----------------------------------------------------------------------+ + !> icing_pot @memberof IcingPotential subroutine icing_pot(hgt, rh, t, liqCond, vv, nz, clouds, ice_pot) IMPLICIT NONE integer, intent(in) :: nz @@ -1096,7 +1133,8 @@ end function slw_map end module IcingPotential - +!------------------------------------------------------------------------ +!> @class SeverityMaps !======================================================================== ! = = = = = = = = = = = = module SeverityMaps = = = = = = = = = = = = = !======================================================================== @@ -1106,15 +1144,25 @@ module SeverityMaps public SCENARIOS type :: scenarios_t + !> NO_PRECIPITAION @memberof SeverityMaps integer :: NO_PRECIPITAION = 0 + !> PRECIPITAION_BELOW_WARMNOSE @memberof SeverityMaps integer :: PRECIPITAION_BELOW_WARMNOSE = 1 + !> PRECIPITAION_ABOVE_WARMNOSE @memberof SeverityMaps integer :: PRECIPITAION_ABOVE_WARMNOSE = 2 + !> ALL_SNOW @memberof SeverityMaps integer :: ALL_SNOW = 3 + !> COLD_RAIN @memberof SeverityMaps integer :: COLD_RAIN = 4 + !> WARM_PRECIPITAION @memberof SeverityMaps integer :: WARM_PRECIPITAION = 5 + !> FREEZING_PRECIPITAION @memberof SeverityMaps integer :: FREEZING_PRECIPITAION = 6 + !> CONVECTION @memberof SeverityMaps integer :: CONVECTION = 7 end type scenarios_t + + !> Precipitation scenarios @memberof SeverityMaps type(scenarios_t), parameter :: SCENARIOS = scenarios_t() contains @@ -1122,7 +1170,8 @@ module SeverityMaps !-----------------------------------------------------------------------+ ! scenario dependant !-----------------------------------------------------------------------+ - +!> twp_map() @memberof SeverityMaps +!> @return twp_map Total water path map real function twp_map(v, scenario) implicit none real, intent(in) :: v @@ -1153,6 +1202,8 @@ real function twp_map(v, scenario) end function twp_map ! Only precip below warmnose has a different temperature map + !> t_map() @memberof SeverityMaps + !> @return t_map Temperature map real function t_map(v, scenario) implicit none real, intent(in) :: v @@ -1198,6 +1249,8 @@ end function t_map ! Condensates near the surface take place of radar reflectivity in CIP + !> prcpcondensate_map() @memberof SeverityMaps + !> @return prcpcondensate_map Mapping of condensates near the surface real function prcpCondensate_map(v, scenario) implicit none real, intent(in) :: v @@ -1238,7 +1291,8 @@ real function prcpCondensate_map(v, scenario) return end function prcpCondensate_map - + !> deltaz_map() @memberof SeverityMaps + !> @return deltaz_map Mapping of change in Z (geopotential height?) ? real function deltaZ_map(v, scenario) implicit none real, intent(in) :: v @@ -1289,6 +1343,8 @@ end function deltaZ_map ! 223.15 0.8, 233.15 0.7446, 243.15 0.5784, 253.15 0.3014 ! 261.15 0.0, 280.15 0.0, 280.151 1.0 +!> ctt_map() @memberof SeverityMaps +!> @return ctt_map Mapping of cloud top temperature (CTT)? real function ctt_map(v) implicit none real, intent(in) :: v @@ -1308,6 +1364,8 @@ real function ctt_map(v) end function ctt_map ! -0.5 1.0, 0.0 0.0 +!> vv_map() @memberof SeverityMaps +!> @return mapping of vertical velocity real function vv_map(v) implicit none real, intent(in) :: v @@ -1323,6 +1381,8 @@ end function vv_map ! cloud top distance ! 609.6 1.0, 3048.0 0.0 +!> cldTopDist_map() @memberof SeverityMaps +!> @return cldTopDist_map Cloud top distance map real function cldTopDist_map(v) implicit none real, intent(in) :: v @@ -1338,6 +1398,8 @@ end function cldTopDist_map ! cloud base distance ! 304.8 1.0, 1524.0 0.0 +!> cldBaseDist_map() @memberof SeverityMaps +!> @return cldBaseDist_map Cloud base distance map real function cldBaseDist_map(v) implicit none real, intent(in) :: v @@ -1350,7 +1412,9 @@ real function cldBaseDist_map(v) end if end function cldBaseDist_map - ! 0.0 0.0, 1.0 1.0 +! 0.0 0.0, 1.0 1.0 +!> deltaQ_map() @memberof SeverityMaps +!> @return deltaQ_map Map of change in specific humidity real function deltaQ_map(v) implicit none real, intent(in) :: v @@ -1363,6 +1427,8 @@ real function deltaQ_map(v) end if end function deltaQ_map +!> moisture_map_cond() @memberof SeverityMaps +!> @return moisture_map_cond Condensate moisture map real function moisture_map_cond(rh, liqCond, iceCond, pres, t) IMPLICIT NONE real, intent(in) :: rh, liqCond, iceCond, pres, t @@ -1377,7 +1443,9 @@ real function moisture_map_cond(rh, liqCond, iceCond, pres, t) return end function moisture_map_cond - ! If not identify liquid/ice condensate +! If not identify liquid/ice condensate +!> moisture_map_cwat() @memberof SeverityMaps +!> @return moisture_map_cwat Cloud water moisture map real function moisture_map_cwat(rh, cwat, pres, t) IMPLICIT NONE real, intent(in) :: rh, cwat, pres, t @@ -1390,8 +1458,10 @@ real function moisture_map_cwat(rh, cwat, pres, t) return end function moisture_map_cwat - ! only called by moisture_map - ! 70.0 0.0, 100.0 1.0 +! only called by moisture_map +! 70.0 0.0, 100.0 1.0 +!> rh_map() @memberof SeverityMaps +!> @return rh_map Relative humidity moisture map real function rh_map(v) implicit none real, intent(in) :: v @@ -1404,8 +1474,10 @@ real function rh_map(v) end if end function rh_map - ! only called by moisture_map - ! 0.00399 0.0, 0.004 0.0, 0.2 1.0 +! only called by moisture_map +! 0.00399 0.0, 0.004 0.0, 0.2 1.0 +!> condensate_map() @memberof SeverityMaps +!> @return condensate_map() Condensate map real function condensate_map(v) implicit none real, intent(in) :: v @@ -1425,6 +1497,8 @@ end function condensate_map ! 243.150 0.0, 265.15 1.0, 269.15 1.0, 270.15 0.87 ! 271.15 0.71, 272.15 0.50, 273.15 0.0 + !> convect_t_map() @memberof SeverityMaps + !> @return convect_t_map Convection and temperature mapping ? real function convect_t_map(v) implicit none real, intent(in) :: v @@ -1449,6 +1523,8 @@ end function convect_t_map ! 1.0 0.0, 3.0 1.0 + !> convect_qpf_map() @memberof SeverityMaps + !> @return convect_qpf_map Convection and quantitative precipitation forecast (QPF) mapping ? real function convect_qpf_map(v) implicit none real, intent(in) :: v @@ -1462,6 +1538,8 @@ real function convect_qpf_map(v) end function convect_qpf_map ! 1000.0 0.0, 2500.0 1.0 + !> convect_cape_map() @memberof SeverityMaps + !> @return convect_cape_map Convection and Convective Available Potential Energy (CAPE) mapping? real function convect_cape_map(v) implicit none real, intent(in) :: v @@ -1477,6 +1555,8 @@ end function convect_cape_map ! -10.0 1.0, 0.0 0.0 + !> convect_liftedIdx_map() @memberof SeverityMaps + !> @return convect_liftedIdx_map Convection and lifted index mapping ? real function convect_liftedIdx_map(v) implicit none real, intent(in) :: v @@ -1491,6 +1571,8 @@ end function convect_liftedIdx_map ! 20.0 0.0, 40.0 1.0 + !> convectkIdx_map() @memberof SeverityMaps + !> @return convectkIdx_map Convection and k-index mapping ? real function convect_kIdx_map(v) implicit none real, intent(in) :: v @@ -1504,6 +1586,8 @@ real function convect_kIdx_map(v) end function convect_kIdx_map ! 20.0 0.0, 55.0 1.0 + !> convect_totals_map() @memberof SeverityMaps + !> @return convect_totals_map _____? real function convect_totals_map(v) implicit none real, intent(in) :: v @@ -1518,6 +1602,8 @@ end function convect_totals_map end module SeverityMaps +!------------------------------------------------------------------------ +!> @class IcingSeverity !======================================================================== ! = = = = = = = = = = = = module IcingSeverity = = = = = = = = = = = = = !======================================================================== @@ -1547,6 +1633,29 @@ module IcingSeverity contains +!-----------------------------------------------------------------------+ +!> @brief icing_sev() Calculates icing severity. +!> +!> @param[in] imp_physics integer Microphysics scheme. +!> @param[in] hgt real Geopotential height (m). +!> @param[in] rh real Relative humidity. +!> @param[in] t real Temperature. +!> @param[in] pres real Pressure. +!> @param[in] vv real Vertical velocity. +!> @param[in] liqCond real +!> @param[in] iceCond real +!> @param[in] twp real Total water path. +!> @param[in] ice_pot real Icing potential. +!> @param[in] nz integer Number of vertical levels. +!> @param[in] hcprcp real Hourly accumulated convective precipitation. +!> @param[in] cape real Convective Available Potential Energy (CAPE) +!> @param[in] lx real Lifted index. +!> @param[in] kx real k index. +!> @param[in] tott real Total totals. +!> @param[in] pc real Precipitation condensate. +!> @param[in] prcpType integer Surface precipitation type. +!> @param[in] clouds +!> @param[out] iseverity real Category of icing severity. !-----------------------------------------------------------------------+ subroutine icing_sev(imp_physics,hgt, rh, t, pres, vv, liqCond, iceCond, twp, & ice_pot, nz, hcprcp, cape, lx, kx, tott, pc, prcpType, clouds, & @@ -2142,7 +2251,7 @@ subroutine icing_algo(i,j,pres,temp,rh,hgt,omega,wh,& integer, external :: getTopoK !--------------------------------------------------------------------- -! The GFIP algorithm computes the probability of icing within a model +! icing_algo() The GFIP algorithm computes the probability of icing within a model ! column given the follow input data ! ! @@ -2329,7 +2438,14 @@ subroutine icing_algo(i,j,pres,temp,rh,hgt,omega,wh,& return end subroutine icing_algo -!-----------------------------------------------------------------------+ +!-------------------------------------------------------------------------+ +!> getTopoK() Maps the topography height to the model's vertical coordinate +!> +!> @param[in] hgt real Geopotential height (m). +!> @param[in] alt real Topography height (m). +!> @param[in] nz integer Number of vertical levels. +!> @return getTopoK Mapping of the topography height to the model's vertical coordinates +!> integer function getTopoK(hgt, alt, nz) IMPLICIT NONE real, intent(in) :: hgt(nz) diff --git a/sorc/ncep_post.fd/GFSPOST.F b/sorc/ncep_post.fd/GFSPOST.F index 9921a32280..3617f7311d 100644 --- a/sorc/ncep_post.fd/GFSPOST.F +++ b/sorc/ncep_post.fd/GFSPOST.F @@ -1,57 +1,65 @@ !> @file -! -!> Subprogram: pvetc Compute potential vorticity, etc -!! Prgmmr: Iredell Org: np23 Date: 1999-10-18 -!! -!! Abstract: This subprogram computes -!! the Montgomery streamfunction -!! hm=cp*t+g*z -!! the specific entropy -!! s=cp*log(t/t0)-r*log(p/p0) -!! the Brunt-Vaisala frequency squared -!! bvf2=g/cp*ds/dz -!! the potential vorticity defined as -!! pvn=(av*ds/dz-dv/dz*ds/dx+du/dz*ds/dy)/rho/cp -!! the potential temperature -!! theta=t0*exp(s/cp) -!! the static stability -!! sigma=t/g*bvf2 -!! and the potential vorticity in PV units -!! pvu=10**-6*theta*pvn -!! -!! Program history log: -!! 1999-10-18 Mark Iredell -!! -!! Usage: call pvetc(km,p,px,py,t,tx,ty,h,u,v,av,s,bvf2,pvn,theta,sigma,pvu) -!! Input argument list: -!! km integer number of levels -!! p real (km) pressure (Pa) -!! px real (km) pressure x-gradient (Pa/m) -!! py real (km) pressure y-gradient (Pa/m) -!! t real (km) (virtual) temperature (K) -!! tx real (km) (virtual) temperature x-gradient (K/m) -!! ty real (km) (virtual) temperature y-gradient (K/m) -!! h real (km) height (m) -!! u real (km) x-component wind (m/s) -!! v real (km) y-component wind (m/s) -!! av real (km) absolute vorticity (1/s) -!! Output argument list: -!! hm real (km) Montgomery streamfunction (m**2/s**2) -!! s real (km) specific entropy (J/K/kg) -!! bvf2 real (km) Brunt-Vaisala frequency squared (1/s**2) -!! pvn real (km) potential vorticity (m**2/kg/s) -!! theta real (km) (virtual) potential temperature (K) -!! sigma real (km) static stability (K/m) -!! pvu real (km) potential vorticity (10**-6*K*m**2/kg/s) -!! -!! Modules used: -!! physcons Physical constants -!! -!! Attributes: -!! Language: Fortran 90 -!! -!! - subroutine pvetc(km,p,px,py,t,tx,ty,h,u,v,av,hm,s,bvf2,pvn,theta,sigma,pvu) +!> pvetc() computes potential vorticity, etc. +!> +!> This subprogram computes +!> computation | equation +!> -----------------|------------ +!> Montgomery streamfunction | hm=cp*t+g*z +!> Specific entropy | s=cp*log(t/t0)-r*log(p/p0) +!> Brunt-Vaisala frequency squared | bvf2=g/cp*ds/dz +!> Potential vorticity | pvn=(av*ds/dz-dv/dz*ds/dx+du/dz*ds/dy)/rho/cp +!> Potential temperature | theta=t0*exp(s/cp) +!> Static stability | sigma=t/g*bvf2 +!> Potential vorticity in PV units | pvu=10**-6*theta*pvn +!> +!> @param[in] km integer number of levels. +!> @param[in] p real (km) pressure (Pa). +!> @param[in] px real (km) pressure x-gradient (Pa/m). +!> @param[in] py real (km) pressure y-gradient (Pa/m). +!> @param[in] t real (km) (virtual) temperature (K). +!> @param[in] tx real (km) (virtual) temperature x-gradient (K/m). +!> @param[in] ty real (km) (virtual) temperature y-gradient (K/m). +!> @param[in] h real (km) height (m). +!> @param[in] u real (km) x-component wind (m/s). +!> @param[in] v real (km) y-component wind (m/s). +!> @param[in] av real (km) absolute vorticity (1/s). +!> @param[out] hm real (km) Montgomery streamfunction (m**2/s**2). +!> @param[out] s real (km) specific entropy (J/K/kg). +!> @param[out] bvf2 real (km) Brunt-Vaisala frequency squared (1/s**2). +!> @param[out] pvn real (km) potential vorticity (m**2/kg/s). +!> @param[out] theta real (km) (virtual) potential temperature (K). +!> @param[out] sigma real (km) static stability (K/m). +!> @param[out] pvu real (km) potential vorticity (10**-6*K*m**2/kg/s). +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1999-10-18 | Mark Iredell | Initial +!> +!> @author Mark Iredell np23 @date 1999-10-18 +!------------------------------------------------------------------------------- +!> pvetc() computes potential vorticity, etc. +!> +!> @param[in] km integer number of levels. +!> @param[in] p real (km) pressure (Pa). +!> @param[in] px real (km) pressure x-gradient (Pa/m). +!> @param[in] py real (km) pressure y-gradient (Pa/m). +!> @param[in] t real (km) (virtual) temperature (K). +!> @param[in] tx real (km) (virtual) temperature x-gradient (K/m). +!> @param[in] ty real (km) (virtual) temperature y-gradient (K/m). +!> @param[in] h real (km) height (m). +!> @param[in] u real (km) x-component wind (m/s). +!> @param[in] v real (km) y-component wind (m/s). +!> @param[in] av real (km) absolute vorticity (1/s). +!> @param[out] hm real (km) Montgomery streamfunction (m**2/s**2). +!> @param[out] s real (km) specific entropy (J/K/kg). +!> @param[out] bvf2 real (km) Brunt-Vaisala frequency squared (1/s**2). +!> @param[out] pvn real (km) potential vorticity (m**2/kg/s). +!> @param[out] theta real (km) (virtual) potential temperature (K). +!> @param[out] sigma real (km) static stability (K/m). +!> @param[out] pvu real (km) potential vorticity (10**-6*K*m**2/kg/s). +! + subroutine pvetc(km,p,px,py,t,tx,ty,h,u,v,av,hm,s,bvf2,pvn,theta,sigma,pvu) use physcons_post, only: con_cp, con_g, con_rd, con_rocp ! @@ -91,46 +99,43 @@ subroutine pvetc(km,p,px,py,t,tx,ty,h,u,v,av,hm,s,bvf2,pvn,theta,sigma,pvu) enddo end subroutine ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - subroutine p2th(km,theta,u,v,h,t,pvu,sigma,rh,omga,kth,th & +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +!> p2th() interpolates from pressure level to isentropic (theta) level. +!> +!> This subprogram interpolates fields to given isentropic levels. +!> The interpolation is linear in entropy. +!> Outside the domain the bitmap is set to false. +!> +!> @param[in] km integer number of levels. +!> @param[in] theta real (km) potential temperature (K). +!> @param[in] u real (km) x-component wind (m/s). +!> @param[in] v real (km) y-component wind (m/s). +!> @param[in] h real (km) height (m). +!> @param[in] t real (km) temperature (K). +!> @param[in] pvu real (km) potential vorticity in PV units (10**-6*K*m**2/kg/s). +!> @param[in] sigma real (km) static stability (K/m). +!> @param[in] rh real (km) relative humidity. +!> @param[in] omga real (km) vertical velocity in pressure coordinates (Pa/s). +!> @param[in] kth integer number of isentropic levels. +!> @param[in] th real (kth) isentropic levels (K). +!> @param[in] lth logical*1 (kth) bitmap. +!> @param[out] uth real (kth) x-component wind (m/s). +!> @param[out] vth real (kth) y-component wind (m/s). +!> @param[out] hth real (kth) height (m). +!> @param[out] tth real (kth) temperature (K). +!> @param[out] zth real (kth) potential vorticity in PV units (10**-6*K*m**2/kg/s). +!> @param[out] sigmath (kth) real static stability (K/m). +!> @param[out] rhth (kth) real relative humidity. +!> @param[out] oth (kth) real vertical velocity in pressure coordinates (Pa/s). +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1999-10-18 | Mark Iredell | Initial +!> +!> @author Mark Iredell np23 @date 1999-10-18 + subroutine p2th(km,theta,u,v,h,t,pvu,sigma,rh,omga,kth,th & ,lth,uth,vth,hth,tth,zth,sigmath,rhth,oth) -!$$$ Subprogram documentation block -! -! Subprogram: p2th Interpolate to isentropic level -! Prgmmr: Iredell Org: np23 Date: 1999-10-18 -! -! Abstract: This subprogram interpolates fields to given isentropic levels. -! The interpolation is linear in entropy. -! Outside the domain the bitmap is set to false. -! -! Program history log: -! 1999-10-18 Mark Iredell -! -! Usage: call p2th(km,theta,u,v,h,t,puv,kth,th,uth,vth,tth) -! Input argument list: -! km integer number of levels -! theta real (km) potential temperature (K) -! u real (km) x-component wind (m/s) -! v real (km) y-component wind (m/s) -! h real (km) height (m) -! t real (km) temperature (K) -! pvu real (km) potential vorticity in PV units (10**-6*K*m**2/kg/s) -! kth integer number of isentropic levels -! th real (kth) isentropic levels (K) -! Output argument list: -! lpv logical*1 (kth) bitmap -! uth real (kth) x-component wind (m/s) -! vth real (kth) y-component wind (m/s) -! hth real (kth) height (m) -! tth real (kth) temperature (K) -! zth real (kth) potential vorticity in PV units (10**-6*K*m**2/kg/s) -! -! Subprograms called: -! rsearch1 search for a surrounding real interval -! -! Attributes: -! Language: Fortran 90 -! -!$$$ implicit none integer,intent(in):: km,kth real,intent(in),dimension(km):: theta,u,v,h,t,pvu,sigma,rh,omga @@ -161,55 +166,42 @@ subroutine p2th(km,theta,u,v,h,t,pvu,sigma,rh,omga,kth,th & enddo end subroutine ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - subroutine p2pv(km,pvu,h,t,p,u,v,kpv,pv,pvpt,pvpb,& +!> p2pv() interpolates to potential vorticity level. +!> +!> This subprogram interpolates fields to given potential vorticity +!> levels within given pressure limits. +!> The output level is the first encountered from the top pressure limit. +!> If the given potential vorticity level is not found, the outputs are zero +!> and the bitmap is false. The interpolation is linear in potential vorticity. +!> +!> @param[in] km integer number of levels. +!> @param[in] pvu real (km) potential vorticity in PV units (10**-6*K*m**2/kg/s). +!> @param[in] h real (km) height (m). +!> @param[in] t real (km) temperature (K). +!> @param[in] p real (km) pressure (Pa). +!> @param[in] u real (km) x-component wind (m/s). +!> @param[in] v real (km) y-component wind (m/s). +!> @param[in] kpv integer number of potential vorticity levels. +!> @param[in] pv real (kpv) potential vorticity levels (10**-6*K*m**2/kg/s). +!> @param[in] pvpt real (kpv) top pressures for PV search (Pa). +!> @param[in] pvpb real (kpv) bottom pressures for PV search (Pa). +!> @param[out] lpv logical*1 (kpv) bitmap. +!> @param[out] upv real (kpv) x-component wind (m/s). +!> @param[out] vpv real (kpv) y-component wind (m/s). +!> @param[out] hpv real (kpv) temperature (K). +!> @param[out] tpv real (kpv) temperature (K). +!> @param[out] ppv real (kpv) pressure (Pa). +!> @param[out] spv real (kpv) wind speed shear (1/s). +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1999-10-18 | Mark Iredell | Initial +!> 2021-08-31 | Hui-ya Chuang | Increase depth criteria for identifying PV layer from 25 to 50 to avoid finding shallow high level PV layer in high latitudes +!> +!> @author Mark Iredell np23 @date 1999-10-18 + subroutine p2pv(km,pvu,h,t,p,u,v,kpv,pv,pvpt,pvpb,& lpv,upv,vpv,hpv,tpv,ppv,spv) -!$$$ Subprogram documentation block -! -! Subprogram: p2pv Interpolate to potential vorticity level -! Prgmmr: Iredell Org: np23 Date: 1999-10-18 -! -! Abstract: This subprogram interpolates fields to given potential vorticity -! levels within given pressure limits. -! The output level is the first encountered from the top pressure limit. -! If the given potential vorticity level is not found, the outputs are zero -! and the bitmap is false. The interpolation is linear in potential vorticity. -! -! Program history log: -! 1999-10-18 Mark Iredell -! 2021-08-31 Hui-ya Chuang Increase depth criteria for identifying PV layer -! from 25 to 50 to avoid finding shallow high level -! PV layer in high latitudes -! -! Usage: call p2pv(km,pvu,h,t,p,u,v,kpv,pv,pvpt,pvpb,& -! lpv,upv,vpv,hpv,tpv,ppv,spv) -! Input argument list: -! km integer number of levels -! pvu real (km) potential vorticity in PV units (10**-6*K*m**2/kg/s) -! h real (km) height (m) -! t real (km) temperature (K) -! p real (km) pressure (Pa) -! u real (km) x-component wind (m/s) -! v real (km) y-component wind (m/s) -! kpv integer number of potential vorticity levels -! pv real (kpv) potential vorticity levels (10**-6*K*m**2/kg/s) -! pvpt real (kpv) top pressures for PV search (Pa) -! pvpb real (kpv) bottom pressures for PV search (Pa) -! Output argument list: -! lpv logical*1 (kpv) bitmap -! upv real (kpv) x-component wind (m/s) -! vpv real (kpv) y-component wind (m/s) -! hpv real (kpv) temperature (K) -! tpv real (kpv) temperature (K) -! ppv real (kpv) pressure (Pa) -! spv real (kpv) wind speed shear (1/s) -! -! Subprograms called: -! rsearch1 search for a surrounding real interval -! -! Attributes: -! Language: Fortran 90 -! -!$$$ use physcons_post, only: con_rog implicit none integer,intent(in):: km,kpv @@ -276,58 +268,33 @@ subroutine p2pv(km,pvu,h,t,p,u,v,kpv,pv,pvpt,pvpb,& !------------------------------------------------------------------------------- !------------------------------------------------------------------------------- -subroutine rsearch1(km1,z1,km2,z2,l2) -!$$$ subprogram documentation block -! -! subprogram: rsearch1 search for a surrounding real interval -! prgmmr: iredell org: w/nmc23 date: 98-05-01 -! -! abstract: this subprogram searches a monotonic sequences of real numbers -! for intervals that surround a given search set of real numbers. -! the sequences may be monotonic in either direction; the real numbers -! may be single or double precision. -! -! program history log: -! 1999-01-05 mark iredell -! -! usage: call rsearch1(km1,z1,km2,z2,l2) -! input argument list: -! km1 integer number of points in the sequence -! z1 real (km1) sequence values to search -! (z1 must be monotonic in either direction) -! km2 integer number of points to search for -! z2 real (km2) set of values to search for -! (z2 need not be monotonic) -! -! output argument list: -! l2 integer (km2) interval locations from 0 to km1 -! (z2 will be between z1(l2) and z1(l2+1)) -! -! subprograms called: -! sbsrch essl binary search -! dbsrch essl binary search -! -! remarks: -! returned values of 0 or km1 indicate that the given search value -! is outside the range of the sequence. -! -! if a search value is identical to one of the sequence values -! then the location returned points to the identical value. -! if the sequence is not strictly monotonic and a search value is -! identical to more than one of the sequence values, then the -! location returned may point to any of the identical values. -! -! if l2(k)=0, then z2(k) is less than the start point z1(1) -! for ascending sequences (or greater than for descending sequences). -! if l2(k)=km1, then z2(k) is greater than or equal to the end point -! z1(km1) for ascending sequences (or less than or equal to for -! descending sequences). otherwise z2(k) is between the values -! z1(l2(k)) and z1(l2(k+1)) and may equal the former. -! -! attributes: -! language: fortran -! -!$$$ +!> rsearch1() searches for a surrounding real interval. +!> +!> This subprogram searches a monotonic sequences of real numbers +!> for intervals that surround a given search set of real numbers. +!> the sequences may be monotonic in either direction; the real numbers +!> may be single or double precision. +!> +!> @param[in] km1 integer number of points in the sequence. +!> @param[in] z1 real (km1) sequence values to search. (z1 must be monotonic in either direction) +!> @param[in] km2 integer number of points to search for. +!> @param[in] z2 real (km2) set of values to search for. (z2 need not be monotonic) +!> @param[out] l2 integer (km2) interval locations from 0 to km1. (z2 will be between z1(l2) and z1(l2+1)) +!> +!> @note +!> * Returned values of 0 or km1 indicate that the given search value is outside the range of the sequence. +!> * If a search value is identical to one of the sequence values then the location returned points to the identical value. +!> * If the sequence is not strictly monotonic and a search value is identical to more than one of the sequence values, then the location returned may point to any of the identical values. +!> * If l2(k)=0, then z2(k) is less than the start point z1(1) for ascending sequences (or greater than for descending sequences). +!> * If l2(k)=km1, then z2(k) is greater than or equal to the end point z1(km1) for ascending sequences (or less than or equal to for descending sequences). Otherwise z2(k) is between the values z1(l2(k)) and z1(l2(k+1)) and may equal the former. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1998-05-01 | Mark Iredell | Initial +!> +!> @author Mark Iredell w/nmc23 @date 1998-05-01 + subroutine rsearch1(km1,z1,km2,z2,l2) implicit none integer,intent(in):: km1,km2 real,intent(in):: z1(km1),z2(km2) @@ -371,51 +338,38 @@ subroutine rsearch1(km1,z1,km2,z2,l2) ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - end subroutine ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - subroutine tpause(km,p,u,v,t,h,ptp,utp,vtp,ttp,htp,shrtp) -!$$$ Subprogram documentation block -! -! Subprogram: tpause Compute tropopause level fields -! Prgmmr: Iredell Org: np23 Date: 1999-10-18 -! -! Abstract: This subprogram finds the tropopause level and computes fields -! at the tropopause level. The tropopause is defined as the lowest level -! above 500 mb which has a temperature lapse rate of less than 2 K/km. -! The lapse rate must average less than 2 K/km over a 2 km depth. -! If no such level is found below 50 mb, the tropopause is set to 50 mb. -! The tropopause fields are interpolated linearly in lapse rate. -! The tropopause pressure is found hydrostatically. -! The tropopause wind shear is computed as the partial derivative -! of wind speed with respect to height at the tropopause level. -! -! Program history log: -! 1999-10-18 Mark Iredell -! -! Usage: call tpause(km,p,u,v,t,h,ptp,utp,vtp,ttp,htp,shrtp) -! Input argument list: -! km integer number of levels -! p real (km) pressure (Pa) -! u real (km) x-component wind (m/s) -! v real (km) y-component wind (m/s) -! t real (km) temperature (K) -! h real (km) height (m) -! Output argument list: -! ptp real tropopause pressure (Pa) -! utp real tropopause x-component wind (m/s) -! vtp real tropopause y-component wind (m/s) -! ttp real tropopause temperature (K) -! htp real tropopause height (m) -! shrtp real tropopause wind shear (1/s) -! -! Files included: -! physcons.h Physical constants -! -! Subprograms called: -! rsearch1 search for a surrounding real interval -! -! Attributes: -! Language: Fortran 90 -! -!$$$ +!> tpause() computes tropopause level fields. +!> +!> This subprogram finds the tropopause level and computes fields +!> at the tropopause level. The tropopause is defined as the lowest level +!> above 500 mb which has a temperature lapse rate of less than 2 K/km. +!> The lapse rate must average less than 2 K/km over a 2 km depth. +!> If no such level is found below 50 mb, the tropopause is set to 50 mb. +!> The tropopause fields are interpolated linearly in lapse rate. +!> The tropopause pressure is found hydrostatically. +!> The tropopause wind shear is computed as the partial derivative +!> of wind speed with respect to height at the tropopause level. +!> +!> @param[in] km integer number of levels. +!> @param[in] p real (km) pressure (Pa). +!> @param[in] u real (km) x-component wind (m/s). +!> @param[in] v real (km) y-component wind (m/s). +!> @param[in] t real (km) temperature (K). +!> @param[in] h real (km) height (m). +!> @param[out] ptp real tropopause pressure (Pa). +!> @param[out] utp real tropopause x-component wind (m/s). +!> @param[out] vtp real tropopause y-component wind (m/s). +!> @param[out] ttp real tropopause temperature (K). +!> @param[out] htp real tropopause height (m). +!> @param[out] shrtp real tropopause wind shear (1/s). +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1999-10-18 | Mark Iredell | Initial +!> +!> @author Mark Iredell np23 @date 1999-10-18 + subroutine tpause(km,p,u,v,t,h,ptp,utp,vtp,ttp,htp,shrtp) use physcons_post, only: con_rog implicit none integer,intent(in):: km @@ -473,49 +427,36 @@ subroutine tpause(km,p,u,v,t,h,ptp,utp,vtp,ttp,htp,shrtp) shrtp=(spdu-spdd)/(h(ktp)-h(ktp+1)) end subroutine ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - subroutine mxwind(km,p,u,v,t,h,pmw,umw,vmw,tmw,hmw) -!$$$ Subprogram documentation block -! -! Subprogram: mxwind Compute maximum wind level fields -! Prgmmr: Iredell Org: np23 Date: 1999-10-18 -! -! Abstract: This subprogram finds the maximum wind level and computes fields -! at the maximum wind level. The maximum wind level is searched for -! between 500 mb and 100 mb. The height and wind speed at the maximum wind -! speed level is calculated by assuming the wind speed varies quadratically -! in height in the neighborhood of the maximum wind level. The other fields -! are interpolated linearly in height to the maximum wind level. -! The maximum wind level pressure is found hydrostatically. -! -! Program history log: -! 1999-10-18 Mark Iredell -! 2005-02-02 Mark Iredell changed upper limit to 100 mb -! -! Usage: call mxwind(km,p,u,v,t,h,pmw,umw,vmw,tmw,hmw) -! Input argument list: -! km integer number of levels -! p real (km) pressure (Pa) -! u real (km) x-component wind (m/s) -! v real (km) y-component wind (m/s) -! t real (km) temperature (K) -! h real (km) height (m) -! Output argument list: -! pmw real maximum wind level pressure (Pa) -! umw real maximum wind level x-component wind (m/s) -! vmw real maximum wind level y-component wind (m/s) -! tmw real maximum wind level temperature (K) -! hmw real maximum wind level height (m) -! -! Files included: -! physcons.h Physical constants -! -! Subprograms called: -! rsearch1 search for a surrounding real interval -! -! Attributes: -! Language: Fortran 90 -! -!$$$ +!> mxwind() computes maximum wind level fields. +!> +!> This subprogram finds the maximum wind level and computes fields +!> at the maximum wind level. The maximum wind level is searched for +!> between 500 mb and 100 mb. The height and wind speed at the maximum wind +!> speed level is calculated by assuming the wind speed varies quadratically +!> in height in the neighborhood of the maximum wind level. The other fields +!> are interpolated linearly in height to the maximum wind level. +!> The maximum wind level pressure is found hydrostatically. +!> +!> @param[in] km integer number of levels. +!> @param[in] p real (km) pressure (Pa). +!> @param[in] u real (km) x-component wind (m/s). +!> @param[in] v real (km) y-component wind (m/s). +!> @param[in] t real (km) temperature (K). +!> @param[in] h real (km) height (m). +!> @param[out] pmw real maximum wind level pressure (Pa). +!> @param[out] umw real maximum wind level x-component wind (m/s). +!> @param[out] vmw real maximum wind level y-component wind (m/s). +!> @param[out] tmw maximum wind level temperature (K). +!> @param[out] hmw real maximum wind level height (m). +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1999-10-18 | Mark Iredell | Initial +!> 2005-02-02 | Mark Iredell | Changed upper limit to 100 mb +!> +!> @author Mark Iredell np23 @date 1999-10-18 + subroutine mxwind(km,p,u,v,t,h,pmw,umw,vmw,tmw,hmw) use physcons_post, only: con_rog implicit none integer,intent(in):: km @@ -576,40 +517,34 @@ subroutine mxwind(km,p,u,v,t,h,pmw,umw,vmw,tmw,hmw) tmw=t(kmw)-wmw*(t(kmw)-t(kmw+1)) pmw=p(kmw)*exp((h(kmw)-hmw)*(1-0.5*(tmw/t(kmw)-1))/(con_rog*t(kmw))) end subroutine - -subroutine mptgen(mpirank,mpisize,nd,jt1,jt2,j1,j2,jx,jm,jn) -!$$$ Subprogram documentation block -! -! Subprogram: mptgen Generate grid decomposition dimensions -! Prgmmr: Iredell Org: W/NP23 Date: 1999-02-12 -! -! Abstract: This subprogram decomposes total dimensions of a problem -! into smaller domains to be managed on a distributed memory system. -! The last dimension given is decomposed first. If more decompositions -! are possible, the next to last dimension is decomposed next, and so on. -! The transpositions between decompositions should be done by mptran*. -! -! Program history log: -! 1999-02-12 Mark Iredell -! -! Usage: call mptgen(mpirank,mpisize,nd,jt1,jt2,j1,j2,jx,jm,jn) -! Input argument list: -! mpirank integer(kint_mpi) rank of the process (from mpi_comm_rank) -! mpisize integer(kint_mpi) size of the process (from mpi_comm_size) -! nd integer(kint_mpi) number of dimensions to decompose -! jt1 integer(kint_mpi) (nd) lower bounds of total dimensions -! jt2 integer(kint_mpi) (nd) upper bounds of total dimensions -! Output argument list: -! j1 integer(kint_mpi) (nd) lower bounds of local decompositions -! j2 integer(kint_mpi) (nd) upper bounds of local decompositions -! jx integer(kint_mpi) (nd) local size of decompositions -! jm integer(kint_mpi) (nd) maximum size of decompositions -! jn integer(kint_mpi) (nd) number of decompositions -! -! Attributes: -! Language: Fortran 90 -! -!$$$ + +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +!> mptgen() generates grid decomposition dimensions. +!> +!> This subprogram decomposes total dimensions of a problem +!> into smaller domains to be managed on a distributed memory system. +!> The last dimension given is decomposed first. If more decompositions +!> are possible, the next to last dimension is decomposed next, and so on. +!> The transpositions between decompositions should be done by mptran*. +!> +!> @param[in] mpirank integer(kint_mpi) rank of the process (from mpi_comm_rank). +!> @param[in] mpisize integer(kint_mpi) size of the process (from mpi_comm_size). +!> @param[in] nd integer(kint_mpi) number of dimensions to decompose. +!> @param[in] jt1 integer(kint_mpi) (nd) lower bounds of total dimensions. +!> @param[in] jt2 integer(kint_mpi) (nd) upper bounds of total dimensions. +!> @param[out] j1 integer(kint_mpi) (nd) lower bounds of local decompositions. +!> @param[out] j2 integer(kint_mpi) (nd) upper bounds of local decompositions. +!> @param[out] jx integer(kint_mpi) (nd) local size of decompositions. +!> @param[out] jm integer(kint_mpi) (nd) maximum size of decompositions. +!> @param[out] jn integer(kint_mpi) (nd) number of decompositions. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1999-02-12 | Mark Iredell | Initial +!> +!> @author Mark Iredell np23 @date 1999-02-12 + subroutine mptgen(mpirank,mpisize,nd,jt1,jt2,j1,j2,jx,jm,jn) use machine_post,only:kint_mpi implicit none integer(kint_mpi),intent(in):: mpirank,mpisize,nd,jt1(nd),jt2(nd) @@ -630,7 +565,7 @@ subroutine mptgen(mpirank,mpisize,nd,jt1,jt2,j1,j2,jx,jm,jn) jx(n)=j2(n)-j1(n)+1 msize=msn mrank=mod(mrank,msn) - write(0,*)' mrank=',mrank,' j1=',j1(n),' j2=',j2(n),' jx=',jx(n),' jm=',jm(n) + write(*,*)' mrank=',mrank,' j1=',j1(n),' j2=',j2(n),' jx=',jx(n),' jm=',jm(n) else jm(n)=0 jn(n)=1 @@ -642,91 +577,77 @@ subroutine mptgen(mpirank,mpisize,nd,jt1,jt2,j1,j2,jx,jm,jn) ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - end subroutine !------------------------------------------------------------------------------- -subroutine mptranr4(mpicomm,mpisize,im,ida,idb,& - jm,jma,jmb,jda,km,kma,kmb,kdb,a,b,ta,tb) -!$$$ Subprogram documentation block -! -! Subprogram: mptranr4 Transpose grid decompositions -! Prgmmr: Iredell Org: W/NP23 Date: 1999-02-12 -! -! Abstract: This subprogram transposes an array of data from one -! grid decomposition to another by using message passing. -! The grid decompositions should be generated by mptgen. -! -! Program history log: -! 1999-02-12 Mark Iredell -! -! Usage: call mptranr4(mpicomm,mpisize,im,ida,idb,& -! jm,jma,jmb,jda,km,kma,kmb,kdb,a,b) -! Input argument list: -! mpicomm integer(kint_mpi) mpi communicator -! mpisize integer(kint_mpi) size of the process (from mpi_comm_size) -! im integer(kint_mpi) undecomposed range -! ida integer(kint_mpi) undecomposed input dimension -! idb integer(kint_mpi) undecomposed output dimension -! jm integer(kint_mpi) output grid decomposition size -! jma integer(kint_mpi) input grid undecomposed range -! jmb integer(kint_mpi) output grid decomposed range -! jda integer(kint_mpi) input grid undecomposed dimension -! km integer(kint_mpi) input grid decomposition size -! kma integer(kint_mpi) input grid decomposed range -! kmb integer(kint_mpi) output grid undecomposed range -! kdb integer(kint_mpi) output grid undecomposed dimension -! a real(4) (ida,jda,kma) input array -! Output argument list: -! b real(4) (idb,kdb,jmb) output array -! ta,tb real(4) (im,jm,km,mpisize) work arrays -! -! Subprograms called: -! mpi_alltoall mpi exchange of data between every process pair -! -! Remarks: -! While this routine serves a wide variety of scalable transpose functions -! for multidimensional grids, -! (a) it does not work with nonrectanguloid grids; -! (b) it does not do any load balancing; -! (c) it does not do any communication hiding. -! -! This subprogram must be used rather than mpi_alltoall -! in any of the following cases: -! (a) The undecomposed range is less than the respective dimension -! (either im1 or jm>1) -! (c) The decomposed range is ever zero -! (either kma==0 or jmb==0 for any process) -! (d) The output grid range is not the full extent -! (either kmb mptranr4() transposes grid decompositions. +!> +!> This subprogram transposes an array of data from one +!> grid decomposition to another by using message passing. +!> The grid decompositions should be generated by mptgen. +!> +!> @param[in] mpicomm integer(kint_mpi) mpi communicator. +!> @param[in] mpisize integer(kint_mpi) size of the process (from mpi_comm_size). +!> @param[in] im integer(kint_mpi) undecomposed range. +!> @param[in] ida integer(kint_mpi) undecomposed input dimension. +!> @param[in] idb integer(kint_mpi) undecomposed output dimension. +!> @param[in] jm integer(kint_mpi) output grid decomposition size. +!> @param[in] jma integer(kint_mpi) input grid undecomposed range. +!> @param[in] jmb integer(kint_mpi) output grid decomposed range. +!> @param[in] jda integer(kint_mpi) input grid undecomposed dimension. +!> @param[in] km integer(kint_mpi) input grid decomposition size. +!> @param[in] kma integer(kint_mpi) input grid decomposed range. +!> @param[in] kmb integer(kint_mpi) output grid undecomposed range. +!> @param[in] kdb integer(kint_mpi) output grid undecomposed dimension. +!> @param[in] a real(4) (ida,jda,kma) input array. +!> @param[out] b real(4) (idb,kdb,jmb) output array. +!> @param[out] ta,tb real(4) (im,jm,km,mpisize) work arrays. +!> +!> @note +!> While this routine serves a wide variety of scalable transpose functions for multidimensional grids, +!> * It does not work with nonrectanguloid grids; +!> * It does not do any load balancing; +!> * It does not do any communication hiding. +!> +!> This subprogram must be used rather than mpi_alltoall in any of the following cases: +!> +!> * The undecomposed range is less than the respective dimension (either im * The decomposition size is greater than one (either km>1 or jm>1) +!> * The decomposed range is ever zero (either kma==0 or jmb==0 for any process) +!> * The output grid range is not the full extent (either kmb +!> If none of these conditions apply, mpi_alltoall could be used directly rather than this subprogram and would be more efficient. +!> @note +!> Example 1. Transpose a 1000 x 10000 matrix. +!>
+!>  include 'mpif.h'                                     ! use mpi
+!>  parameter(jt=1000,kt=10000)                          ! set problem size
+!>  real,allocatable:: a(:,:),b(:,:)                     ! declare arrays
+!>  call mpi_init(ierr)                                  ! initialize mpi
+!>  call mpi_comm_rank(MPI_COMM_WORLD,mpirank,ierr)      ! get mpi rank
+!>  call mpi_comm_size(MPI_COMM_WORLD,mpisize,ierr)      ! get mpi size
+!>  call mptgen(mpirank,mpisize,1,1,jt,j1,j2,jx,jm,jn)   ! decompose output
+!>  call mptgen(mpirank,mpisize,1,1,kt,k1,k2,kx,km,kn)   ! decompose input
+!>  allocate(a(jt,k1:k2),b(kt,j1:j2))                    ! allocate arrays
+!>  a=reshape((/((j+k,j=1,jt),k=k1,k2)/),(/jt,k2-k1+1/)) ! initialize input
+!>  call mptranr4(MPI_COMM_WORLD,mpisize,1,1,1,          ! transpose arrays
+!>  &              jm,jt,j2-j1+1,jt,km,k2-k1+1,kt,kt,a,b)
+!>  print '(2i8,f16.1)',((k,j,b(k,j),k=2000,kt,2000),    ! print some values
+!>  &                    j=((j1-1)/200+1)*200,j2,200)
+!>  call mpi_finalize(ierr)                              ! finalize mpi
+!>  end
+!> 
+!> This transpose took 0.6 seconds on 4 2-way winterhawk nodes. +!> @note +!> A 20000x10000 transpose took 3.4 seconds on 16 2-way winterhawk nodes. +!> @note +!> Thus a transpose may take about 1 second for every 16 Mb per node. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1999-02-12 | Mark Iredell | Initial +!> +!> @author Mark Iredell np23 @date 1999-02-12 + subroutine mptranr4(mpicomm,mpisize,im,ida,idb,& + jm,jma,jmb,jda,km,kma,kmb,kdb,a,b,ta,tb) use machine_post,only:kint_mpi implicit none include 'mpif.h' diff --git a/sorc/ncep_post.fd/GFSPOSTSIG.F b/sorc/ncep_post.fd/GFSPOSTSIG.F index 50b6f358ac..e0ef93587d 100644 --- a/sorc/ncep_post.fd/GFSPOSTSIG.F +++ b/sorc/ncep_post.fd/GFSPOSTSIG.F @@ -1,83 +1,56 @@ !> @file -! -!> Subprogram: rtsig Read and transform sigma file -!! Prgmmr: Iredell Org: np23 Date: 1999-10-18 -!! -!! Abstract: This subprogram reads a sigma file and transforms -!! the fields to a designated global grid. -!! -!! Program history log: -!! 1999-10-18 Mark Iredell -!! 2013-04-19 Jun Wang: add option to get tmp and ps(in pascal) -!! from enthalpy and ps(cb) option -!! 2013-05-06 Shrinivas Moorthi: Initialize midea to 0 -!! 2013-05-07 Shrinivas Moorthi: Remove mo3, mct, midea and define io3, ict etc -!! correctly and get correct cloud condensate. -!! 2013-08-02 Shrinivas Moorthi: Rewrote the whole routine to read the sigma -!! file differently and to read all tracers -!! Addedd sptezj for two 2d fields -!! 2014-02-20 Shrinivas Moorthi: Modified conversion from spectral to grid -!! taking advantage of threding in SP library. -!! This really speeds up the code -!! Also threaded loop for Temperature from Tv - -!! -!! Usage: call rtsig(lusig,head,k1,k2,kgds,ijo,nct, & -!! h,p,px,py,t,tx,ty,u,v,d,z,sh,o3,ct,iret,o,o2) -!! Input argument list: -!! lusig integer(sigio_intkind) sigma file unit number -!! head type(sigio_head) sigma file header -!! k1 integer first model level to return -!! k2 integer last model level to return -!! kgds integer (200) GDS to which to transform -!! ijo integer dimension of output fields -!! levs integer number of total vertical levels -!! ntrac integer number of output tracers -!! jcap integer number of waves -!! lnt2 integer (jcap+1)*(jcap+2) -!! Output argument list: -!! h real (ijo) surface orography (m) -!! p real (ijo) surface pressure (Pa) -!! px real (ijo) log surface pressure x-gradient (1/m) -!! py real (ijo) log surface pressure y-gradient (1/m) -!! t real (ijo,k1:k2) temperature (K) -!! tx real (ijo,k1:k2) virtual temperature x-gradient (K/m) -!! ty real (ijo,k1:k2) virtual temperature y-gradient (K/m) -!! u real (ijo,k1:k2) x-component wind (m/s) -!! v real (ijo,k1:k2) y-component wind (m/s) -!! d real (ijo,k1:k2) wind divergence (1/s) -!! trc real (ijo,k1:k2,ntrac) tracers -!! 1 = specific humidity (kg/kg) -!! 2 = Ozone mixing ratio (kg/kg) -!! 3 = cloud condensate mixing ratio (kg/kg) -!! . -!! . -!! atomic oxyge, oxygen etc -!! -!! iret integer return code -!! -!! Modules used: -!! sigio_r_module sigma file I/O -!! -!! Subprograms called: -!! sigio_rrdati read sigma single data field -!! sptez scalar spectral transform -!! sptezd gradient spectral transform -!! sptezm multiple scalar spectral transform -!! sptezmv multiple vector spectral transform -!! -!! Attributes: -!! Language: Fortran 90 -!! -!! -! Add Iredells subroutine to read sigma files -!------------------------------------------------------------------------------- +!> +!> @brief RTSIG reads a sigma file and transforms the fields to a designated global grid. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1999-10-18 | Mark Iredell | Initial +!> 2013-04-19 | Jun Wang | Add option to get tmp and ps(in pascal) from enthalpy and ps(cb) option +!> 2013-05-06 | Shrinivas Moorthi | Initialize midea to 0 +!> 2013-05-07 | Shrinivas Moorthi | Remove mo3, mct, midea and define io3, ict etc correctly and get correct cloud condensate. +!> 2013-08-02 | Shrinivas Moorthi | Rewrote the whole routine to read the sigma file differently and to read all tracers. Added sptezj for two 2d fields +!> 2014-02-20 | Shrinivas Moorthi | Modified conversion from spectral to grid taking advantage of threding in SP library. This really speeds up the code. Also threaded loop for Temperature from Tv +!> +!> @author Mark Iredell np23 @date 1999-10-18 +!------------------------------------------------------------------------------------------ +!> @brief Reads and transforms a sigma file. +!> @param[out] lusig integer(sigio_intkind) sigma file unit number. +!> @param[out] head type(sigio_head) sigma file header. +!> @param[out] k1 integer first model level to return. +!> @param[out] k2 integer last model level to return. +!> @param[out] kgds integer (200) GDS to which to transform. +!> @param[out] ijo integer dimension of output fields. +!> @param[out] levs integer number of total vertical levels. +!> @param[in] me integer MPI rank. +!> @param[out] ntrac integer number of output tracers. +!> @param[out] jcap integer number of waves. +!> @param[out] lnt2 integer (jcap+1)*(jcap+2). +!> @param[out] h real (ijo) surface orography (m). +!> @param[out] p real (ijo) surface pressure (Pa). +!> @param[out] px real (ijo) log surface pressure x-gradient (1/m). +!> @param[out] py real (ijo) log surface pressure y-gradient (1/m). +!> @param[out] t real (ijo,k1:k2) temperature (K). +!> @param[out] u real (ijo,k1:k2) x-component wind (m/s). +!> @param[out] v real (ijo,k1:k2) y-component wind (m/s). +!> @param[out] d real (ijo,k1:k2) wind divergence (1/s). +!> @param[out] trc real (ijo,k1:k2,ntrac) tracers. +!>
+!>                                   1 = specific humidity (kg/kg)
+!>                                   2 = Ozone mixing ratio (kg/kg)
+!>                                   3 = cloud condensate mixing ratio (kg/kg)
+!>                                       atomic oxyge, oxygen etc
+!> 
+!> @param[out] iret Integer return code. subroutine rtsig(lusig,head,k1,k2,kgds,ijo,levs,ntrac,jcap,lnt2,me, & h,p,px,py,t,u,v,d,trc,iret) use sigio_module, only : sigio_intkind, sigio_head use sigio_r_module, only : sigio_dati, sigio_rrdati use physcons_post, only : con_omega, con_fvirt +#ifdef USE_SP_MOD + use sp_mod, only : sptezd, sptezm, sptezmv +#endif use omp_lib implicit none integer(sigio_intkind),intent(in) :: lusig @@ -119,7 +92,7 @@ subroutine rtsig(lusig,head,k1,k2,kgds,ijo,levs,ntrac,jcap,lnt2,me, & idvm = head%idvm ! jc = omp_get_num_threads() -! write(0,*)' in RTSIG lnt2=',lnt2,' threads=',jc,' latch=',latch, & +! write(*,*)' in RTSIG lnt2=',lnt2,' threads=',jc,' latch=',latch, & ! ' jcap=',jcap,' io=',io,' jo=',jo,' ijo=',ijo ! if (k2 < k1) return @@ -161,7 +134,11 @@ subroutine rtsig(lusig,head,k1,k2,kgds,ijo,levs,ntrac,jcap,lnt2,me, & endif if (allocated(wrk)) deallocate(wrk) +#ifdef USE_SP_MOD + call sptezd(0,jcap,idrt,io,jo,trisca(1,k1+1),(/pmean/),px,py,1) +#else call sptezd(0,jcap,idrt,io,jo,trisca(1,k1+1),pmean,px,py,1) +#endif iret = 0 ! if (k2 < k1) return @@ -172,7 +149,7 @@ subroutine rtsig(lusig,head,k1,k2,kgds,ijo,levs,ntrac,jcap,lnt2,me, & if (k2 >= k1) then klen = k2-k1+1 do k=k1,k2 - write(0,*)' retriving T for k=',k,' k1=',k1,' k2=',k2 + write(*,*)' retriving T for k=',k,' k1=',k1,' k2=',k2 dati%i = k + 2 ! Virtual Temperature or CpT dati%f => trisca(:,k) @@ -195,10 +172,10 @@ subroutine rtsig(lusig,head,k1,k2,kgds,ijo,levs,ntrac,jcap,lnt2,me, & call sptezm(0,jcap,idrt,io,jo,klen,trisca(1,k1),d(1,k1),1) ! call sptezm(0,jcap,idrt,io,jo,1,triscb,z(1,k),1) - write(0,*)' retriving d/z for k=',k,' k1=',k1,' k2=',k2 + write(*,*)' retriving d/z for k=',k,' k1=',k1,' k2=',k2 ! datm%z(3,:) = datm%z(3,:)+2*con_omega/sqrt(1.5) ! call sptezm(0,jcap,idrt,io,jo,klen,datm%z,z,1) - write(0,*)' start get tracer' + write(*,*)' start get tracer' do nt=1,ntrac do k=k1,k2 dati%i = levs * (2+nt) + 2 + k ! Tracers starting with q @@ -206,17 +183,17 @@ subroutine rtsig(lusig,head,k1,k2,kgds,ijo,levs,ntrac,jcap,lnt2,me, & call sigio_rrdati(lusig,head,dati,irets) enddo call sptezm(0,jcap,idrt,io,jo,klen,trisca(1,k1),trc(1,k1,nt),1) - write(0,*)' retriving d/z for nt=',nt,'ntrac=',ntrac,'k=',k,' k1=',k1,' k2=',k2 + write(*,*)' retriving d/z for nt=',nt,'ntrac=',ntrac,'k=',k,' k1=',k1,' k2=',k2 enddo !t=t/(1+con_fvirt*sh) - write(0,*)' end get tracer,idvm=',idvm,'ijo=',ijo,'ntrac=',ntrac + write(*,*)' end get tracer,idvm=',idvm,'ijo=',ijo,'ntrac=',ntrac ! !-- get temp if (mod(idvm/10,10) == 3) then ! Enthalpy case allocate(cpi(0:ntrac)) -! write(0,*)'aft read sig, cpi=',head%cpi +! write(*,*)'aft read sig, cpi=',head%cpi cpi(0:ntrac) = head%cpi(1:ntrac+1) -! write(0,*)'cpi=',cpi(0:ntrac) +! write(*,*)'cpi=',cpi(0:ntrac) !$omp parallel do private(k,i,xcp,sumq,n) do k=k1,k2 do i=1,ijo @@ -242,49 +219,41 @@ subroutine rtsig(lusig,head,k1,k2,kgds,ijo,levs,ntrac,jcap,lnt2,me, & enddo endif endif -! write(0,*)'end comput t' +! write(*,*)'end comput t' iret=0 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - end subroutine ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +!> @brief Computes model coordinate dependent functions. +!> +!> This subprogram computes fields which depend on the model coordinate +!> such as pressure thickness and vertical velocity. +!> +!> @param[in] km integer number of levels. +!> @param[in] idvc integer vertical coordinate id (1 for sigma and 2 for hybrid). +!> @param[in] idsl integer type of sigma structure (1 for phillips or 2 for mean). +!> @param[in] nvcoord integer number of vertical coordinates. +!> @param[in] vcoord real (km+1,nvcoord) vertical coordinates. +!> @param[in] ps real surface pressure (Pa). +!> @param[in] psx real log surface pressure x-gradient (1/m). +!> @param[in] psy real log surface pressure y-gradient (1/m). +!> @param[in] d real (km) wind divergence (1/s). +!> @param[in] u real (km) x-component wind (m/s). +!> @param[in] v real (km) y-component wind (m/s). +!> @param[out] pi real (km+1) interface pressure (Pa). +!> @param[out] pm real (km) mid-layer pressure (Pa). +!> @param[out] om real (km) vertical velocity (Pa/s). +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1999-10-18 | Mark Iredell | Initial +!> 2013-04-19 | Jun Wang | Add option to get pi by using 8 byte real computation +!> +!> @author Mark Iredell np23 @date 1999-10-18 subroutine modstuff(km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& pi,pm,om) -!$$$ Subprogram documentation block -! -! Subprogram: modstuff Compute model coordinate dependent functions -! Prgmmr: Iredell Org: np23 Date: 1999-10-18 -! -! Abstract: This subprogram computes fields which depend on the model coordinate -! such as pressure thickness and vertical velocity. -! -! Program history log: -! 1999-10-18 Mark Iredell -! 2013-04-19 Jun Wang: add option to get pi by using 8byte real computation -! -! Usage: call modstuff(km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& -! pd,pi,pm,os,om,px,py) -! Input argument list: -! km integer number of levels -! idvc integer vertical coordinate id (1 for sigma and 2 for hybrid) -! idsl integer type of sigma structure (1 for phillips or 2 for mean) -! nvcoord integer number of vertical coordinates -! vcoord real (km+1,nvcoord) vertical coordinates -! ps real surface pressure (Pa) -! psx real log surface pressure x-gradient (1/m) -! psy real log surface pressure y-gradient (1/m) -! d real (km) wind divergence (1/s) -! u real (km) x-component wind (m/s) -! v real (km) y-component wind (m/s) -! Output argument list: -! pi real (km+1) interface pressure (Pa) -! pm real (km) mid-layer pressure (Pa) -! om real (km) vertical velocity (Pa/s) -! -! Attributes: -! Language: Fortran 90 -! -!$$$ use sigio_module, only: sigio_modprd implicit none integer,intent(in):: km,idvc,idsl,nvcoord @@ -331,46 +300,39 @@ subroutine modstuff(km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& end subroutine !------------------------------------------------------------------------------- +!> @brief Computes model coordinate dependent functions. +!> +!> This subprogram computes fields which depend on the model coordinate +!> such as pressure thickness and vertical velocity. +!> +!> @param[in] im integer inner computational domain. +!> @param[in] ix integer maximum inner dimension. +!> @param[in] km integer number of levels. +!> @param[in] idvc integer vertical coordinate id (1 for sigma and 2 for hybrid). +!> @param[in] idsl integer type of sigma structure (1 for phillips or 2 for mean). +!> @param[in] nvcoord integer number of vertical coordinates. +!> @param[in] vcoord real (km+1,nvcoord) vertical coordinates. +!> @param[in] ps real surface pressure (Pa). +!> @param[in] psx real log surface pressure x-gradient (1/m). +!> @param[in] psy real log surface pressure y-gradient (1/m). +!> @param[in] d real (km) wind divergence (1/s). +!> @param[in] u real (km) x-component wind (m/s). +!> @param[in] v real (km) y-component wind (m/s). +!> @param[out] pi real (km+1) interface pressure (Pa). +!> @param[out] pm real (km) mid-layer pressure (Pa). +!> @param[out] om real (km) vertical velocity (Pa/s). +!> @param[in] me integer +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1999-10-18 | Mark Iredell | Initial +!> 2013-04-19 | Jun Wang | Add option to get pi by using 8 byte real computation +!> 2013-08-13 | Shrinivas Moorthi | Modified to include im points and thread +!> +!> @author Mark Iredell np23 @date 1999-10-18 subroutine modstuff2(im,ix,km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& pi,pm,om,me) -!$$$ Subprogram documentation block -! -! Subprogram: modstuff Compute model coordinate dependent functions -! Prgmmr: Iredell Org: np23 Date: 1999-10-18 -! -! Abstract: This subprogram computes fields which depend on the model coordinate -! such as pressure thickness and vertical velocity. -! -! Program history log: -! 1999-10-18 Mark Iredell -! 2013-04-19 Jun Wang: add option to get pi by using 8byte real computation -! 2013-08-13 Shrinivas Moorthi - Modified to include im points and thread -! -! Usage: call modstuff(km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& -! pd,pi,pm,os,om,px,py) -! Input argument list: -! im integer - inner computational domain -! ix integer - maximum inner dimension -! km integer number of levels -! idvc integer vertical coordinate id (1 for sigma and 2 for hybrid) -! idsl integer type of sigma structure (1 for phillips or 2 for mean) -! nvcoord integer number of vertical coordinates -! vcoord real (km+1,nvcoord) vertical coordinates -! ps real surface pressure (Pa) -! psx real log surface pressure x-gradient (1/m) -! psy real log surface pressure y-gradient (1/m) -! d real (km) wind divergence (1/s) -! u real (km) x-component wind (m/s) -! v real (km) y-component wind (m/s) -! Output argument list: -! pi real (km+1) interface pressure (Pa) -! pm real (km) mid-layer pressure (Pa) -! om real (km) vertical velocity (Pa/s) -! -! Attributes: -! Language: Fortran 90 -! -!$$$ use sigio_module, only : sigio_modprd implicit none integer, intent(in) :: im,ix,km,idvc,idsl,nvcoord,me @@ -401,8 +363,8 @@ subroutine modstuff2(im,ix,km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& ! ! if (me == 0) then -! write(0,*)' pd8=',pd8(1,60:64) -! write(0,*)' pm8=',pm8(1,60:64) +! write(*,*)' pd8=',pd8(1,60:64) +! write(*,*)' pm8=',pm8(1,60:64) ! endif !jw: has to be 8 real for wam @@ -443,61 +405,60 @@ subroutine modstuff2(im,ix,km,idvc,idsl,nvcoord,vcoord,ps,psx,psy,d,u,v,& end subroutine !----------------------------------------------------------------------- +!> @brief Transforms sigma spectral fields to grid. +!> +!> Transforms sigma spectral fields to grid and converts +!> log surface pressure to surface pressure and virtual temperature +!> to temperature. +!> +!> @param[in] jcap integer spectral truncation. +!> @param[in] nc integer first dimension (nc>=(jcap+1)*(jcap+2)). +!> @param[in] km integer number of levels. +!> @param[in] ntrac integer number of tracers. +!> @param[in] idvc integer +!> @param[in] idvm integer mass variable id. +!> @param[in] idsl integer +!> @param[in] nvcoord integer number of vertical coordinates. +!> @param[in] vcoord real (km+1,nvcoord) vertical coordinates. +!> @param[in] cpi real +!> @param[in] idrt integer data representation type. +!> @param[in] lonb integer number of longitudes. +!> @param[in] latb integer number of latitudes. +!> @param[in] ijl integer horizontal dimension. +!> @param[in] ijn integer +!> @param[in] j1 integer first latitude. +!> @param[in] j2 integer last latitude. +!> @param[in] jc integer number of cpus. +!> @param[in] chgq0 integer +!> @param[in] szs real (nc) orography. +!> @param[in] sps real (nc) log surface pressure. +!> @param[in] st real (nc,levs) virtual temperature. +!> @param[in] sd real (nc,levs) divergence. +!> @param[in] sz real (nc,levs) vorticity. +!> @param[in] sq real (nc,levs*ntrac) tracers. +!> @param[inout] gfszs real (ijn) +!> @param[inout] gfsps real (ijn) +!> @param[inout] gfsp real (ijn, km) +!> @param[inout] gfsdp real (ijn, km) +!> @param[inout] gfst real (ijn, km) +!> @param[inout] gfsu real (ijn, km) +!> @param[inout] gfsv real (ijn, km) +!> @param[inout] gfsq real (ijn, km*ntrac) +!> @param[inout] gfsw real (ijn, km) +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1999-10-18 | Mark Iredell | Initial +!> +!> @author Mark Iredell w/nmc23 @date 1992-10-31 subroutine trssc(jcap,nc,km,ntrac,idvc,idvm,idsl,nvcoord,vcoord, & cpi,idrt,lonb,latb,ijl,ijn,j1,j2,jc,chgq0, & szs,sps,st,sd,sz,sq,gfszs,gfsps,gfsp,gfsdp, & gfst,gfsu,gfsv,gfsq,gfsw) -!$$$ subprogram documentation block -! -! subprogram: trssc transform sigma spectral fields to grid -! prgmmr: iredell org: w/nmc23 date: 92-10-31 -! -! abstract: transforms sigma spectral fields to grid and converts -! log surface pressure to surface pressure and virtual temperature -! to temperature. -! -! program history log: -! 91-10-31 mark iredell -! -! usage: call trssc(jcap,nc,km,ntrac,idvm, -! & idrt,lonb,latb,ijl,j1,j2,jc, -! & szs,sps,st,sd,sz,sq,zs,ps,t,u,v,q) -! input argument list: -! jcap integer spectral truncation -! nc integer first dimension (nc>=(jcap+1)*(jcap+2)) -! km integer number of levels -! ntrac integer number of tracers -! idvm integer mass variable id -! idrt integer data representation type -! lonb integer number of longitudes -! latb integer number of latitudes -! ijl integer horizontal dimension -! j1 integer first latitude -! j2 integer last latitude -! jc integer number of cpus -! szs real (nc) orography -! sps real (nc) log surface pressure -! st real (nc,levs) virtual temperature -! sd real (nc,levs) divergence -! sz real (nc,levs) vorticity -! sq real (nc,levs*ntrac) tracers -! output argument list: -! zs real (ijl) orography -! ps real (ijl) surface pressure -! t real (ijl,km) temperature -! u real (ijl,km) zonal wind -! v real (ijl,km) meridional wind -! q real (ijl,km*ntrac) tracers -! -! subprograms called: -! sptran perform a scalar spherical transform -! -! attributes: -! language: fortran -! -!c$$$ -!! use gfsio_module -! use gfsio_rst +#ifdef USE_SP_MOD + use sp_mod, only : sptran, sptranv +#endif implicit none integer,intent(in)::jcap,nc,km,ntrac,idvc,idvm,idsl,nvcoord,idrt,lonb,latb integer,intent(in)::ijl,ijn,j1,j2,jc,chgq0 @@ -659,10 +620,40 @@ subroutine trssc(jcap,nc,km,ntrac,idvc,idvm,idsl,nvcoord,vcoord, & return end !----------------------------------------------------------------------- +!> @brief Computes omega. +!> +!> @param[in] jcap integer spectral truncation. +!> @param[in] nc integer first dimension (nc>=(jcap+1)*(jcap+2)). +!> @param[in] km integer number of levels. +!> @param[in] idvc integer +!> @param[in] idvm integer mass variable id. +!> @param[in] idrt integer data representation type. +!> @param[in] idsl integer +!> @param[in] nvcoord integer number of vertical coordinates. +!> @param[in] vcoord real (km+1,nvcoord) vertical coordinates. +!> @param[in] lonb integer number of longitudes. +!> @param[in] latb integer number of latitudes. +!> @param[in] ijn integer +!> @param[in] j1 integer first latitude. +!> @param[in] j2 integer last latitude. +!> @param[in] jc integer number of cpus. +!> @param[in] sd real (nc,km) divergence. +!> @param[in] sps real (nc) log surface pressure. +!> @param[in] psi real (ijn) +!> @param[in] ti real (ijn,km) +!> @param[in] ui real (ijn,km) +!> @param[in] vi real (ijn,km) +!> @param[out] wi real (ijn,km) +!> @param[out] pm real (ijn,km) +!> @param[out] pd real (ijn,km) +!> subroutine getomega(jcap,nc,km,idvc,idvm,idrt,idsl,nvcoord,vcoord, & lonb,latb,ijn,j1,j2,jc,sd,sps,psi,ti,ui,vi,wi,pm,pd) !!!!! use sigio_module, only : sigio_modprd +#ifdef USE_SP_MOD + use sp_mod, only : sptran, sptrand +#endif implicit none integer,intent(in):: jcap,nc,km,idvc,idvm,idrt,idsl,nvcoord @@ -682,8 +673,13 @@ subroutine getomega(jcap,nc,km,idvc,idvm,idrt,idsl,nvcoord,vcoord, & ij=lonb2*(j2-j1+1) in=1 is=1+lonb +#ifdef USE_SP_MOD + call sptrand(0,jcap,idrt,lonb,latb,1,1,1,lonb2,lonb2,nc,ijn, & + j1,j2,jc,sps,(/real(psmean,4)/),psx(in),psx(is),psy(in),psy(is),1) +#else call sptrand(0,jcap,idrt,lonb,latb,1,1,1,lonb2,lonb2,nc,ijn, & j1,j2,jc,sps,psmean,psx(in),psx(is),psy(in),psy(is),1) +#endif call sptran(0,jcap,idrt,lonb,latb,km,1,1,lonb2,lonb2,nc,ijn, & j1,j2,jc,sd,di(in,1),di(is,1),1) diff --git a/sorc/ncep_post.fd/GPVS.f b/sorc/ncep_post.fd/GPVS.f index c60dd2f6d8..6e0dabc4e9 100644 --- a/sorc/ncep_post.fd/GPVS.f +++ b/sorc/ncep_post.fd/GPVS.f @@ -1,36 +1,29 @@ !> @file -! . . . -!> SUBPROGRAM: GPVS COMPUTE SATURATION VAPOR PRESSURE TABLE -!! AUTHOR: N PHILLIPS W/NP2 DATE: 30 DEC 82 -!! -!! ABSTRACT: COMPUTE SATURATION VAPOR PRESSURE TABLE AS A FUNCTION OF -!! TEMPERATURE FOR THE TABLE LOOKUP FUNCTION FPVS. -!! EXACT SATURATION VAPOR PRESSURES ARE CALCULATED IN SUBPROGRAM FPVSX. -!! THE CURRENT IMPLEMENTATION COMPUTES A TABLE WITH A LENGTH -!! OF 7501 FOR TEMPERATURES RANGING FROM 180.0 TO 330.0 KELVIN. -!! -!! PROGRAM HISTORY LOG: -!! 91-05-07 IREDELL -!! 94-12-30 IREDELL EXPAND TABLE -!! 96-02-19 HONG ICE EFFECT -!! -!! USAGE: CALL GPVS -!! -!! SUBPROGRAMS CALLED: -!! (FPVSX) - INLINABLE FUNCTION TO COMPUTE SATURATION VAPOR PRESSURE -!! -!! COMMON BLOCKS: -!! COMPVS - SCALING PARAMETERS AND TABLE FOR FUNCTION FPVS. -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE: IBM SP -!! -!! -!####################################################################### -!-- Lookup tables for the saturation vapor pressure w/r/t water & ice -- -!####################################################################### -! +!> @brief gpvs() computes saturation vapor pressure table. +!> +!> Compute saturation vapor pressure table as a function of +!> temperature for the table lookup function FPVS. +!> Exact saturation vapor pressures are calculated in subprogram FPVSX. +!> The current implementation computes a table with a length +!> of 7501 for temperatures ranging from 180.0 to 330.0 Kelvin. +!> +!> @param[out] pvu real (km) potential vorticity (10**-6*K*m**2/kg/s). +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1982-12-30 | N Phillips | Initial +!> 1991-05-07 | Mark Iredell | Made into inlinable function +!> 1994-12-30 | Mark Iredell | Expand table +!> 1996-02-19 | Hong | Ice effect +!> +!> @note Lookup tables for the saturation vapor pressure w/r/t water & ice. +!> @author N Phillips W/NP2 @date 1982-12-30 +!----------------------------------------------------------------------- +!> +!> gpvs computes saturation vapor pressure table as a function of +!> temperature for the table lookup function FPVS. +!> SUBROUTINE GPVS ! ****************************************************************** @@ -63,42 +56,32 @@ SUBROUTINE GPVS !----------------------------------------------------------------------- !*********************************************************************** !----------------------------------------------------------------------- - FUNCTION FPVS(T) +!> @brief fpvs() computes saturation vapor pressure. +!> @note This function is mostly replaced by FPVSNEW in UPP_PHYSICS.f. +!> The only routine that uses FPVS is CALMICT.f. +!> +!> Compute saturation vapor pressure from the temperature. +!> A linear interpolation is done between values in a lookup table +!> computed in GPVS. See documentation for FPVSX for details. +!> Input values outside table range are reset to table extrema. +!> The interpolation accuracy is almost 6 decimal places. +!> On the CRAY, FPVS is about 4 times faster than exact calculation. +!> This function should be expanded inline in the calling routine. +!> +!> @param[in] T real temperature in Kelvin. +!> @return FPVS real Saturation vapor pressure in kilopascals (CB). +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1982-12-30 | N Phillips | Initial +!> 1991-05-07 | Mark Iredell | Made into inlinable function +!> 1994-12-30 | Mark Iredell | Expand table +!> 1996-02-19 | Hong | Ice effect +!> +!> @author N Phillips W/NP2 @date 1982-12-30 !----------------------------------------------------------------------- -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: FPVS COMPUTE SATURATION VAPOR PRESSURE -! AUTHOR: N PHILLIPS W/NP2 DATE: 30 DEC 82 -! -! ABSTRACT: COMPUTE SATURATION VAPOR PRESSURE FROM THE TEMPERATURE. -! A LINEAR INTERPOLATION IS DONE BETWEEN VALUES IN A LOOKUP TABLE -! COMPUTED IN GPVS. SEE DOCUMENTATION FOR FPVSX FOR DETAILS. -! INPUT VALUES OUTSIDE TABLE RANGE ARE RESET TO TABLE EXTREMA. -! THE INTERPOLATION ACCURACY IS ALMOST 6 DECIMAL PLACES. -! ON THE CRAY, FPVS IS ABOUT 4 TIMES FASTER THAN EXACT CALCULATION. -! THIS FUNCTION SHOULD BE EXPANDED INLINE IN THE CALLING ROUTINE. -! -! PROGRAM HISTORY LOG: -! 91-05-07 IREDELL MADE INTO INLINABLE FUNCTION -! 94-12-30 IREDELL EXPAND TABLE -! 96-02-19 HONG ICE EFFECT -! -! USAGE: PVS=FPVS(T) -! -! INPUT ARGUMENT LIST: -! T - REAL TEMPERATURE IN KELVIN -! -! OUTPUT ARGUMENT LIST: -! FPVS - REAL SATURATION VAPOR PRESSURE IN KILOPASCALS (CB) -! -! COMMON BLOCKS: -! COMPVS - SCALING PARAMETERS AND TABLE COMPUTED IN GPVS. -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN 90 -! MACHINE: IBM SP -! -!$$$ + FUNCTION FPVS(T) !----------------------------------------------------------------------- use svptbl_mod, only : NX,C1XPVS,C2XPVS,TBPVS ! @@ -120,6 +103,17 @@ FUNCTION FPVS(T) END !----------------------------------------------------------------------- !----------------------------------------------------------------------- +!> @brief FPVS0() computes saturation vapor pressure. +!> @note This function is no longer used. +!> +!> @param T real Temperature (K). +!> @param NX integer Number of grid cells in the X direction. +!> @param C1XPVS0 real +!> @param C2XPVS0 real +!> @param TBPVS0 array +!> @return FPVS0 real Saturation vapor pressure in kilopascals (CB). +!> + FUNCTION FPVS0(T,NX,C1XPVS0,C2XPVS0,TBPVS0) !----------------------------------------------------------------------- ! use svptbl_mod, only : NX,C1XPVS0,C2XPVS0,TBPVS0 @@ -142,43 +136,35 @@ FUNCTION FPVS0(T,NX,C1XPVS0,C2XPVS0,TBPVS0) !----------------------------------------------------------------------- !*********************************************************************** !----------------------------------------------------------------------- - FUNCTION FPVSX(T) +!> @brief fpvsx() computes saturation vapor pressure. +!> +!> Exactly compute saturation vapor pressure from temperature. +!> The water model assumes a perfect gas, constant specific heats +!> for gas and liquid, and neglects the volume of the liquid. +!> The model does account for the variation of the latent heat +!> of condensation with temperature. The ice option is not included. +!> The Clausius-Clapeyron equation is integrated from the triple point +!> To get the formula +!> @code +!> PVS=PSATK*(TR**XA)*exp(XB*(1.-TR)) +!> @endcode +!> where TR is TTP/T and other values are physical constants +!> This function should be expanded inline in the calling routine. +!> +!> @param[in] T real Temperature (K). +!> @return FPVSX real Saturation vapor pressure in kilopascals (CB). +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1982-12-30 | N Phillips | Initial +!> 1991-05-07 | Mark Iredell | Made into inlinable function +!> 1994-12-30 | Mark Iredell | Exact computation +!> 1996-02-19 | Hong | Ice effect +!> +!> @author N Phillips W/NP2 @date 1982-12-30 !----------------------------------------------------------------------- -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: FPVSX COMPUTE SATURATION VAPOR PRESSURE -! AUTHOR: N PHILLIPS W/NP2 DATE: 30 DEC 82 -! -! ABSTRACT: EXACTLY COMPUTE SATURATION VAPOR PRESSURE FROM TEMPERATURE. -! THE WATER MODEL ASSUMES A PERFECT GAS, CONSTANT SPECIFIC HEATS -! FOR GAS AND LIQUID, AND NEGLECTS THE VOLUME OF THE LIQUID. -! THE MODEL DOES ACCOUNT FOR THE VARIATION OF THE LATENT HEAT -! OF CONDENSATION WITH TEMPERATURE. THE ICE OPTION IS NOT INCLUDED. -! THE CLAUSIUS-CLAPEYRON EQUATION IS INTEGRATED FROM THE TRIPLE POINT -! TO GET THE FORMULA -! PVS=PSATK*(TR**XA)*EXP(XB*(1.-TR)) -! WHERE TR IS TTP/T AND OTHER VALUES ARE PHYSICAL CONSTANTS -! THIS FUNCTION SHOULD BE EXPANDED INLINE IN THE CALLING ROUTINE. -! -! PROGRAM HISTORY LOG: -! 91-05-07 IREDELL MADE INTO INLINABLE FUNCTION -! 94-12-30 IREDELL EXACT COMPUTATION -! 96-02-19 HONG ICE EFFECT -! -! USAGE: PVS=FPVSX(T) -! REFERENCE: EMANUEL(1994),116-117 -! -! INPUT ARGUMENT LIST: -! T - REAL TEMPERATURE IN KELVIN -! -! OUTPUT ARGUMENT LIST: -! FPVSX - REAL SATURATION VAPOR PRESSURE IN KILOPASCALS (CB) -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN 90 -! MACHINE: IBM SP -! -!$$$ + FUNCTION FPVSX(T) !----------------------------------------------------------------------- implicit none ! @@ -203,6 +189,11 @@ FUNCTION FPVSX(T) END !----------------------------------------------------------------------- !----------------------------------------------------------------------- +!> @brief fpvsx0() computes saturation vapor pressure. +!> +!> @param T real Temperature (K). +!> @return FPVSX0 real Saturation vapor pressure in kilopascals (CB). +! FUNCTION FPVSX0(T) !----------------------------------------------------------------------- implicit none diff --git a/sorc/ncep_post.fd/GRIDSPEC.f b/sorc/ncep_post.fd/GRIDSPEC.f index 2a8754d5be..3f5936d9fa 100644 --- a/sorc/ncep_post.fd/GRIDSPEC.f +++ b/sorc/ncep_post.fd/GRIDSPEC.f @@ -1,4 +1,7 @@ - module GRIDSPEC_mod +!> @file +!> @brief GRIDSPEC_mod assigns values to variables that define the model grid. +!---------------------------------------------------------------------------- + module GRIDSPEC_mod ! ! COMMON /GRIDSPEC/ ! & DXVAL,DYVAL,CENLAT,CENLON,TRUELAT1,TRUELAT2,LATSTART,LONSTART @@ -6,13 +9,33 @@ module GRIDSPEC_mod ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! - integer DXVAL,DYVAL,CENLAT,CENLON,TRUELAT1,TRUELAT2 - integer LATSTART,LONSTART,LATLAST,LONLAST - integer LATSTART_R,LONSTART_R,LATLAST_R,LONLAST_R - integer latnw,lonnw,latse,lonse - integer MAPTYPE,STANDLON - integer latstartv,cenlatv,lonstartv,cenlonv,latlastv,lonlastv - real PSMAPF - character(len=1) gridtype + integer DXVAL !< grid cell size in x direction (can be degrees/meters) + integer DYVAL !< grid cell size in y direction (can be degrees/meters) + integer CENLAT !< cenlat: center latitude of grid + integer CENLON !< cenlon: center longitude of grid + integer TRUELAT1 !< first latitude from the pole at which the secant cone cuts the sphere + integer TRUELAT2 !< second latitude from the pole at which the secant cone cuts the sphere + integer LATSTART !< latitude of first grid point (lower left corner latitude) + integer LONSTART !< longitude of first grid point (lower left corner longitude) + integer LATLAST !< latitude of last grid point (upper right corner latitude) + integer LONLAST !< longitude of last grid point (upper right corner longitude) + integer LATSTART_R !< latitude of first grid point (lower left corner latitude) + integer LONSTART_R !< longitude of first grid point (lower left corner longitude) + integer LATLAST_R !< latitude of last grid point (upper right corner latitude) + integer LONLAST_R !< longitude of last grid point (upper right corner longitude) + integer latnw !< upper left corner latitude + integer lonnw !< upper left corner longitude + integer latse !< lower right corner latitude + integer lonse !< lower right corner longitude + integer MAPTYPE !< grid projection + integer STANDLON !< longitude of meridian parallel to y-axis (hardcoded as cenlon) + integer latstartv !< latitude of first grid point (lower left corner latitude) + integer cenlatv !< center latitude of grid + integer lonstartv !< longitude of first grid point (lower left corner longitude) + integer cenlonv !< center longitude of grid + integer latlastv !< latitude of last grid point (upper right corner latitude) + integer lonlastv !< longitude of last grid point (upper right corner longitude) + real PSMAPF !< map scale factor + character(len=1) gridtype !< type of grid staggering as in Arakawa grids (Arakawa-A through Arakawa-E) ! end module GRIDSPEC_mod diff --git a/sorc/ncep_post.fd/ICAOHEIGHT.f b/sorc/ncep_post.fd/ICAOHEIGHT.f index f21dc427bd..139f99307e 100644 --- a/sorc/ncep_post.fd/ICAOHEIGHT.f +++ b/sorc/ncep_post.fd/ICAOHEIGHT.f @@ -18,15 +18,15 @@ SUBROUTINE ICAOHEIGHT(MAXWP, & !input ! Language: Fortran 90 ! Software Standards: UMDP3 v6 -use ctlblk_mod, only: jsta, jend, spval, im +use ctlblk_mod, only: jsta, jend, spval, im, ista, iend use physcons_post, only: con_g, con_rd IMPLICIT None ! Subroutine Arguments: !REAL, INTENT(IN) :: SPVAL -REAL, INTENT(IN) :: MAXWP(IM,jsta:jend) !P field for conversion +REAL, INTENT(IN) :: MAXWP(ista:iend,jsta:jend) !P field for conversion -REAL, INTENT(INOUT) :: MAXWICAOZ(IM,jsta:jend) !ICAO height in m +REAL, INTENT(INOUT) :: MAXWICAOZ(ista:iend,jsta:jend) !ICAO height in m !INTEGER, INTENT(INOUT) :: ErrorStatus ! Local Constants: @@ -62,7 +62,7 @@ SUBROUTINE ICAOHEIGHT(MAXWP, & !input DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND pressure = MAXWP(i,j) IF ( (pressure <= 1000.) .AND. (pressure >= 0.) ) THEN pressure = 1000. diff --git a/sorc/ncep_post.fd/IFI.F b/sorc/ncep_post.fd/IFI.F new file mode 100644 index 0000000000..05d5c35b75 --- /dev/null +++ b/sorc/ncep_post.fd/IFI.F @@ -0,0 +1,1520 @@ +!> @file +!> @brief upp_ifi_mod declares variables used in the in-flight icing (IFI) routines. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> ca 2023-2025 | Sam Trahan and UCAR collaborators | Initial +!> 2025-02-27 | Sam Trahan | Bugfix: Reject IFI_APCP only where it is spval + +module upp_ifi_mod + +#ifdef USE_IFI + ! Use the libIFI API modules. + use ifi_type_mod + use ifi_mod +#endif + + use iso_c_binding, only: c_bool, c_int64_t, c_ptr, c_double, c_float + implicit none + + private + + public run_ifi, set_ifi_dims, ifi_real_t, write_ifi_debug_files, & + first_supported_ifi_hour, last_supported_ifi_hour + + logical :: write_ifi_debug_files = .false. !< Whether to output IFI debug files (true) or not (false) + real, parameter :: first_supported_ifi_hour = 1 !< First supported in-flight icing hour + real, parameter :: last_supported_ifi_hour = 21 !< Last supported in-flight icing hour + +#ifndef USE_IFI + ! Stubs need their own version of the ifi_real_t since it is defined in ifi_type_mod + integer, parameter :: ifi_real_t = c_float !< Value used to make public UPP code run + +#else + ! Actual IFI code needs a few more module-scope variables. + + real, parameter :: feet2meters = 0.3048 + + type(IFIConfig) :: ifi_config + logical :: have_read_ifi_config = .false. + + ! Communication-related variables for gathers and + ! scatters. Gathering is done in the i direction first, all to one + ! rank in each row. Then that rank in each row gathers to the + ! destination rank. Scatter follows the same process, in reverse. + + integer :: ifi_mpi_real_kind=-999 + integer :: row_comm = -999 ! communicator for i-direction messages + integer :: col_comm = -999 ! communicator for j-direction messages + integer :: row_comm_rank=-999, col_comm_rank=-999 ! Rank in the i & j comm communicators + integer :: row_comm_size=-999, col_comm_size=-999 ! Size of the i & j comm communicators + integer :: grid_rank ! rank within mpi_comm_comp + + integer, allocatable :: ista_grid(:) ! ista for each rank in mpi_comm_comp in i direction + integer, allocatable :: jsta_grid(:) ! jsta for each rank in mpi_comm_comp in j direction + + real, allocatable :: rearrange(:,:) ! for rearranging data on local processor + integer, allocatable :: row_comm_count(:) ! scatterv&gatherv receive counts for i-direction collectives + integer, allocatable :: row_comm_displ(:) ! scatterv&gatherv displacements for i-direction collectives + integer, allocatable :: row_ista(:) ! i starts for rearranging data (icomm_size) + integer, allocatable :: row_iend(:) ! i ends for rearranging data (icomm_size) + real, allocatable :: rearrange_row1d(:) ! for rearranging data for an entire row (roots of icomm communicators) + + real, allocatable :: rearrange_row2d(:,:) ! for rearranging data for an entire row (roots of icomm communicators) + integer, allocatable :: col_comm_count(:) ! scatterv&gatherv receive counts for j-direction collectives + integer, allocatable :: col_comm_displ(:) ! scatterv&gatherv displacements for j-direction collectives + integer, allocatable :: col_jsta(:) ! j starts for rearranging data (jcomm_size) + integer, allocatable :: col_jend(:) ! j ends for rearranging data (jcomm_size) + + integer, allocatable :: isize_grid(:) ! iend-ista+1 for each gridpoint +#endif + +contains !============================================================== + + subroutine send_missing_data(ient) + ! Fills IFI fields in index ient (of IGET) with missing values. + ! + ! This subroutine is both in the stub and actual IFI code. + ! The stubs always send missing data, while the actual code + ! sends missing data for unsupported hours. + use CTLBLK_mod, only: ifi_nflight, ifi_flight_levels + use ctlblk_mod, only: spval, ista, iend, jsta, jend, lm, im, cfld, datapd, fld_info, ifi_flight_levels, jsta_2l, jend_2u,me + use rqstfld_mod, only: iget, iavblfld, lvlsxml, lvls + implicit none + + integer, intent(in) :: ient + + ! Locals + integer :: i,j,k + + logical, save :: wrote_message = .false. ! guarded by an OMP CRITICAL below + + if(size(IGET)size(LVLS,2)) then + return + endif + + ! Go level-by-level writing grib2 if requested + do k=1,ifi_nflight + if(k>size(LVLS,1)) then + write(0,*) 'ERROR: LVLS is too small to handle ',ifi_nflight,' vertical levels' + return + endif + if(LVLS(k,IGET(ient))>0) then + if(.not.wrote_message) then + !$OMP CRITICAL + if(.not.wrote_message.and.me==0) then + write(*,*) 'This post cannot produce IFI icing products because it was not compiled with libIFI.' + wrote_message = .true. + endif + !$OMP END CRITICAL + endif + + cfld = cfld+1 + fld_info(cfld)%ifld = IAVBLFLD(IGET(ient)) + fld_info(cfld)%lvl = k + + !$OMP PARALLEL DO PRIVATE(i,j) COLLAPSE(2) + do j=jsta,jend + do i=ista,iend + datapd(i-ista+1,j-jsta+1,cfld) = spval + enddo + enddo + endif + enddo + end subroutine send_missing_data + +#ifndef USE_IFI +! IFI stubs +!> @brief Contains stub values for flight levels, which are used in public UPP + subroutine set_ifi_dims() + use CTLBLK_mod, only: ifi_nflight, ifi_flight_levels + implicit none + integer :: i + + ! Bogus fill value for flight levels to prevent a crash + ifi_nflight = 60 + if(allocated(ifi_flight_levels)) then + deallocate(ifi_flight_levels) + endif + allocate(ifi_flight_levels(ifi_nflight)) + do i=1,ifi_nflight + ifi_flight_levels(i) = 500*i + enddo + end subroutine set_ifi_dims + + ! -------------------------------------------------------------------- +!> @brief Fills in any requested IFI fields with stub values for missing data. + subroutine run_ifi() + call send_missing_data(1007) ! ICE_PROB = missing + call send_missing_data(1008) ! SLD = missing + call send_missing_data(1009) ! ICE_SEV_CAT = missing + call send_missing_data(1010) ! ICE_SEV_CAT = missing + end subroutine run_ifi + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +#else + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +! Actual IFI code + + subroutine make_communicators + use ctlblk_mod, only: jsta, jend, ista, iend, mpi_comm_comp, im, jm + use mpi + use iso_c_binding, only: c_sizeof + implicit none + + integer, allocatable :: key(:) ! ensure ranks are in a consistent order + integer :: size, ierr, local_count, accum, irank, i + real(kind=ifi_real_t) :: testreal + + if(allocated(jsta_grid)) then + return ! Already made communicators + endif + + ! Use the right MPI type for the ifi real kind + if(c_sizeof(testreal)==4) then + ifi_mpi_real_kind=MPI_REAL4 + else + ifi_mpi_real_kind=MPI_REAL8 + endif + + ! Get the correct size of the communicator before we try to split it. + call MPI_Comm_size(mpi_comm_comp,size,ierr) + call MPI_Comm_rank(mpi_comm_comp,grid_rank,ierr) + +! 929 format('Rank ',I0,' ista=',I0,' jsta=',I0) +! print 929,grid_rank,ista,jsta + + if(allocated(ista_grid)) then + deallocate(ista_grid) + deallocate(jsta_grid) + deallocate(rearrange) + deallocate(rearrange_row1d) + deallocate(rearrange_row2d) + deallocate(row_ista) + deallocate(row_iend) + deallocate(row_comm_count) + deallocate(row_comm_displ) + deallocate(col_jsta) + deallocate(col_jend) + deallocate(col_comm_count) + deallocate(col_comm_displ) + endif + + ! Get the start locations on every rank. We need this for the key, + ! and for determining root ranks. + allocate(ista_grid(size)) + allocate(jsta_grid(size)) + ista_grid=-1 + jsta_grid=-1 + call MPI_Allgather(ista,1,MPI_INTEGER,ista_grid,1,MPI_INTEGER,mpi_comm_comp,ierr) + call MPI_Allgather(jsta,1,MPI_INTEGER,jsta_grid,1,MPI_INTEGER,mpi_comm_comp,ierr) + + ! Ensure ranks are arranged in a consistent order. + allocate(key(size)) + do i=1,size + if(ista_grid(i)==-1) then + write(0,*) 'invalid ista_grid ',ista_grid(i) + call mpi_abort(mpi_comm_world,1,ierr) + endif + if(jsta_grid(i)==-1) then + write(0,*) 'invalid jsta_grid ',jsta_grid(i) + call mpi_abort(mpi_comm_world,1,ierr) + endif + key(i) = ista_grid(i) + im*(jsta_grid(i)-1) + enddo + + ! Create a communicator for row gather/scatter (all ranks that share a jsta) + if(all(jsta_grid==jsta_grid(1))) then + row_comm = mpi_comm_comp + else + call mpi_comm_split(mpi_comm_comp,jsta_grid(grid_rank+1),key(grid_rank+1),row_comm,ierr) + endif + if(row_comm==MPI_COMM_NULL .or. row_comm==0) then + write(0,*) 'MPI_Comm_split gave MPI_COMM_NULL for row_comm' + call mpi_abort(mpi_comm_world,1,ierr) + endif + call mpi_comm_rank(row_comm,row_comm_rank,ierr) + call mpi_comm_size(row_comm,row_comm_size,ierr) + + ! Create a communicator for column gather/scatter (all ranks that share an ista) + if(all(ista_grid==ista_grid(1))) then + col_comm = mpi_comm_comp + else + call mpi_comm_split(mpi_comm_comp,ista_grid(grid_rank+1),key(grid_rank+1),col_comm,ierr) + endif + if(col_comm==MPI_COMM_NULL .or. col_comm==0) then + write(0,*) 'MPI_Comm_split gave MPI_COMM_NULL for col_comm' + call mpi_abort(mpi_comm_world,1,ierr) + endif + call mpi_comm_rank(col_comm,col_comm_rank,ierr) + call mpi_comm_size(col_comm,col_comm_size,ierr) + + ! Done with the key. + deallocate(key) + + ! Allocate the arrays used to rearrange data. + allocate(rearrange(ista:iend,jsta:jend)) + allocate(rearrange_row1d(im*(jend-jsta+1))) + allocate(rearrange_row2d(1:im,jsta:jend)) + + ! Calculate information for row MPI_Gatherv and MPI_Scatterv calls. + allocate(row_ista(row_comm_size)) + call MPI_Allgather(ista,1,MPI_INTEGER,row_ista,1,MPI_INTEGER,row_comm,ierr) + allocate(row_iend(row_comm_size)) + call MPI_Allgather(iend,1,MPI_INTEGER,row_iend,1,MPI_INTEGER,row_comm,ierr) + allocate(row_comm_count(row_comm_size)) + allocate(row_comm_displ(row_comm_size)) + call get_count_and_displ(row_comm,row_comm_size,(iend-ista+1)*(jend-jsta+1), & + row_comm_count,row_comm_displ) + + ! Calculate information for j-direction MPI_Gatherv and MPI_Scatterv calls. + allocate(col_jsta(col_comm_size)) + call MPI_Allgather(jsta,1,MPI_INTEGER,col_jsta,1,MPI_INTEGER,col_comm,ierr) + allocate(col_jend(col_comm_size)) + call MPI_Allgather(jend,1,MPI_INTEGER,col_jend,1,MPI_INTEGER,col_comm,ierr) + allocate(col_comm_count(col_comm_size)) + allocate(col_comm_displ(col_comm_size)) + call get_count_and_displ(col_comm,col_comm_size,im*(jend-jsta+1), & + col_comm_count,col_comm_displ) + + end subroutine make_communicators + + ! -------------------------------------------------------------------- + + subroutine get_count_and_displ(comm,comm_size,here,counts,displacements) + use mpi + implicit none + integer, intent(in) :: comm,comm_size,here + integer, intent(inout) :: counts(comm_size),displacements(comm_size) + integer :: accum, ierr, i + + ! Get counts from all ranks + call MPI_Allgather(here,1,MPI_INTEGER,counts,1,MPI_INTEGER,comm,ierr) + + ! Displacements are a cumulative sum starting at 0 for rank 0 + accum=0 + do i=1,comm_size + displacements(i) = accum + accum = accum+counts(i) + end do + end subroutine get_count_and_displ + + ! -------------------------------------------------------------------- + + subroutine find_comm_roots(global_rank,row_root,col_root) + ! Find the roots of the row and column communicators for a gather + ! or scatter with the specified rank as the location of the global + ! array. + use mpi + implicit none + + integer, intent(in) :: global_rank + integer, intent(inout) :: row_root,col_root + integer :: r, destination_ista, destination_jsta, ierr + + ! print *,'find roots for rank ',global_rank + + destination_ista=ista_grid(global_rank+1) + destination_jsta=jsta_grid(global_rank+1) + + row_root=-1 + do r=1,row_comm_size + if(row_ista(r)==destination_ista) then + row_root=r-1 + exit + endif + enddo + + col_root=-1 + do r=1,col_comm_size + if(col_jsta(r)==destination_jsta) then + col_root=r-1 + exit + endif + enddo + +! 201 format('root is row_root=',I0,' col_root=',I0,' for rank ',I0) +! print 201,row_root,col_root,global_rank + + if(col_root==-1) then + write(0,'(A,I0)') 'ABORT: Could not find column root rank for rank ',global_rank + call mpi_abort(mpi_comm_world,1,ierr) + endif + if(row_root==-1) then + write(0,'(A,I0)') 'ABORT: Could not find row root rank for rank ',global_rank + call mpi_abort(mpi_comm_world,1,ierr) + endif + end subroutine find_comm_roots + + ! -------------------------------------------------------------------- + + subroutine global_gather(local,global,global_rank,ista_local,iend_local,jsta_local,jend_local) + ! Gather from local arrays on all ranks to global array on specified rank + use mpi + use ctlblk_mod, only: jsta, jend, ista, iend, im, jm + use iso_c_binding, only: c_sizeof + implicit none + + real(kind=ifi_real_t), intent(in) :: local(ista_local:iend_local,jsta_local:jend_local) + real(kind=ifi_real_t), intent(out) :: global(im,jm) + integer, intent(in) :: global_rank,ista_local,iend_local,jsta_local,jend_local + + integer :: i,j,r,inindex,row_root,col_root, destination_ista, destination_jsta,ni_rank,nj_rank,idxstart, ierr + + if(col_comm==0 .or. col_comm==MPI_COMM_NULL) then + write(0,*) 'somehow, col_comm became invalid ',col_comm + call mpi_abort(mpi_comm_world,1,ierr) + endif + + if(row_comm==0 .or. row_comm==MPI_COMM_NULL) then + write(0,*) 'somehow, row_comm became invalid ',row_comm + call mpi_abort(mpi_comm_world,1,ierr) + endif + + ! Find out who is the root of the i and j direction communications. + call find_comm_roots(global_rank,row_root,col_root) + + ! Store the data in a contiguous local array + !$OMP PARALLEL DO COLLAPSE(2) PRIVATE(i,j) + do j=jsta,jend + do i=ista,iend + rearrange(i,j) = local(i,j) + enddo + enddo + + ! Gather across all ranks in row + call MPI_Gatherv(rearrange,(jend-jsta+1)*(iend-ista+1),ifi_mpi_real_kind, & + rearrange_row1d,row_comm_count,row_comm_displ,ifi_mpi_real_kind,row_root,row_comm,ierr) + + if(row_comm_rank==row_root) then + ! Rearrange from i-j-rank dimensions to i-j dimensions. + idxstart=1 + do r=1,row_comm_size + + ni_rank=row_iend(r)-row_ista(r)+1 + nj_rank=jend-jsta+1 + ! print *,'r,ista,iend=',r,row_ista(r),row_iend(r) + + !$OMP PARALLEL DO COLLAPSE(2) PRIVATE(inindex) + do j=0,nj_rank-1 + do i=0,ni_rank-1 + inindex = idxstart + i + ni_rank*j + rearrange_row2d(i+row_ista(r),j+jsta) = rearrange_row1d(inindex) + enddo + enddo + + idxstart = idxstart + ni_rank*nj_rank + enddo + + ! Gather along columns + ! print *,'global gatherv to rank ',grid_rank + call MPI_Gatherv(rearrange_row2d,im*(jend-jsta+1),ifi_mpi_real_kind, & + global,col_comm_count,col_comm_displ,ifi_mpi_real_kind,col_root,col_comm,ierr) + endif + + ! print *,'global_gather success' + end subroutine global_gather + + ! -------------------------------------------------------------------- + + subroutine global_scatter(local,global,global_rank,ista_local,iend_local,jsta_local,jend_local) + ! Scatter from global array at specified rank to local arrays on all ranks. + ! NOTE: Does NOT update halo regions! + use mpi + use ctlblk_mod, only: jsta, jend, ista, iend, im, jm + use iso_c_binding, only: c_sizeof + implicit none + + real(kind=ifi_real_t), intent(out) :: local(ista_local:iend_local,jsta_local:jend_local) + real(kind=ifi_real_t), intent(in) :: global(im,jm) + integer, intent(in) :: global_rank,ista_local,iend_local,jsta_local,jend_local + + integer :: i,j,r,outindex,idxstart,ni_rank,nj_rank,col_root,ierr,row_root + + if(col_comm==0 .or. col_comm==MPI_COMM_NULL) then + write(0,*) 'somehow, col_comm became invalid ',col_comm + call mpi_abort(mpi_comm_world,1,ierr) + endif + + if(row_comm==0 .or. row_comm==MPI_COMM_NULL) then + write(0,*) 'somehow, row_comm became invalid ',row_comm + call mpi_abort(mpi_comm_world,1,ierr) + endif + + ! Find out who is the root of the i and j direction communications. + call find_comm_roots(global_rank,row_root,col_root) + + if(row_comm_rank==row_root) then + ! Distribute in J direction. + ! print *,'global scatterv from rank ',grid_rank + call MPI_Scatterv(global, col_comm_count, col_comm_displ, ifi_mpi_real_kind, & + rearrange_row2d ,im*(jend-jsta+1), ifi_mpi_real_kind, col_root, col_comm, ierr) + ! Rearrange from i-j dimensions to i-j-rank dimensions + idxstart=1 + do r=1,row_comm_size + + ni_rank=row_iend(r)-row_ista(r)+1 + nj_rank=jend-jsta+1 + + !$OMP PARALLEL DO COLLAPSE(2) PRIVATE(outindex) + do j=0,nj_rank-1 + do i=0,ni_rank-1 + outindex = idxstart + i + ni_rank*j + rearrange_row1d(outindex) = rearrange_row2d(i+row_ista(r),j+jsta) + enddo + enddo + + idxstart = idxstart + ni_rank*nj_rank + enddo + endif + + ! Distribute across row + call MPI_Scatterv(rearrange_row1d,row_comm_count,row_comm_displ,ifi_mpi_real_kind, & + rearrange,(iend-ista+1)*(jend-jsta+1),ifi_mpi_real_kind,row_root,row_comm,ierr) + + ! Copy back to contiguous local array. + ! NOTE: Does NOT update the halo! + !$OMP PARALLEL DO COLLAPSE(2) PRIVATE(i,j) + do j=jsta,jend + do i=ista,iend + local(i,j) = rearrange(i,j) + enddo + enddo + + ! print *,'global_scatter success' + + end subroutine global_scatter + + ! -------------------------------------------------------------------- + + subroutine ifi_check(status,error_message) + use mpi, only: MPI_Abort, MPI_COMM_WORLD + implicit none + integer(c_int64_t), intent(in) :: status + character(*), intent(in) :: error_message + integer :: ierr + + ! Exit program if status is non-zero + if(status/=0) then + write(0,'("IFI Failed: ",A)') trim(error_message) + call MPI_Abort(MPI_COMM_WORLD,1,ierr) + endif + end subroutine ifi_check + + ! -------------------------------------------------------------------- + + subroutine read_ifi_config() + implicit none + ! Only read the config if we haven't already: + if(.not.have_read_ifi_config) then + call ifi_check(ifi_config%init(),'read IFI config') + have_read_ifi_config = .true. + endif + end subroutine read_ifi_config + + ! -------------------------------------------------------------------- + + subroutine set_ifi_dims() + use CTLBLK_mod, only: ifi_nflight, ifi_flight_levels + implicit none + + ! Warning: do not deallocate config_flight_levels_feet. + ! The IFI C++ library manages that array. + integer(kind=c_int64_t), pointer :: config_flight_levels_feet(:) + integer :: i + + ! Make sure the config was read in + call read_ifi_config() + + ! Get the flight levels + call ifi_check(ifi_config%get_flight_levels_feet(config_flight_levels_feet), & + 'cannot get flight levels in feet from IFI config') + + ! Convert from integer to real: + ifi_nflight = size(config_flight_levels_feet) + if(allocated(ifi_flight_levels)) then + deallocate(ifi_flight_levels) + endif + allocate(ifi_flight_levels(ifi_nflight)) + ifi_flight_levels = config_flight_levels_feet + +! print '(A)','IFI flight levels:' +! 38 format(' ifi_flight_level[',I0,'] = ',F15.5) +! do i=1,ifi_nflight +! print 38,i,ifi_flight_levels(i) +! enddo + + end subroutine set_ifi_dims + + ! -------------------------------------------------------------------- + + subroutine send_data(vars,name,ient) + use ctlblk_mod, only: spval, jsta, jend, lm, cfld, datapd, fld_info, ifi_flight_levels, jsta_2l, jend_2u, ista, iend, ista_2l, iend_2u + use rqstfld_mod, only: iget, iavblfld, lvlsxml, lvls + implicit none + + class(IFIData) :: vars + integer, intent(in) :: ient + character(*), intent(in) :: name + + ! Locals + integer(c_int64_t) :: & + ims,ime,jms,jme,kms,kme, ids,ide,jds,jde,kds,kde, ips,ipe,jps,jpe,kps,kpe + real(kind=ifi_real_t), pointer :: data(:) + logical(c_bool) :: missing_value_is_set + real(kind=ifi_real_t) :: missing_value + integer :: i,j,k,nj_local,jpad,ilen,jlen,kstartm1,jstartm1,iloc,ndata,ji,ni_local,ipad + + if(.not. IGET(ient)>0) then + return + endif + + ! WARNING: do not deallocate the data pointer. It is managed by the IFI C++ library. + data => vars%get_data(trim(name),missing_value_is_set,missing_value, & + ims,ime,jms,jme,kms,kme, ids,ide,jds,jde,kds,kde, ips,ipe,jps,jpe,kps,kpe) + if(.not.missing_value_is_set) then + missing_value = MISSING + endif + + ! Get dimensions and do some sanity checks + nj_local = jpe-jps+1 + ni_local = ipe-ips+1 + jpad = jps-jms + ipad = ips-ims + if(nj_local/=jend-jsta+1 .or. jpad/=jsta-jsta_2l .or. ni_local/=iend-ista+1 .or. ipad/=ista-ista_2l) then +94 format(' ',A,' = ',I0,', ',I0) +83 format('Warning: ',A,': IFI output j bounds do not match UPP j bounds') + print 83,trim(name) + print 94,'jps,jsta',jps,jsta + print 94,'jpe,jend',jpe,jend + print 94,'jms,jsta_2l',jms,jsta_2l + print 94,'jme,jend_2u',jme,jend_2u + print 94,'jpad,jsta-jsta_2l',jpad,jsta-jsta_2l + print 94,'nj_local,jend-jsta+1',nj_local,jend-jsta+1 + print 94,'ips,ista',ips,ista + print 94,'ipe,iend',ipe,iend + print 94,'ims,ista_2l',ims,ista_2l + print 94,'ime,iend_2u',ime,iend_2u + print 94,'ipad,ista-ista_2l',ipad,ista-ista_2l + print 94,'ni_local,iend-ista+1',ni_local,iend-ista+1 + !call ifi_check(-1,'Internal error: IFI output j bounds do not match UPP j bounds') + end if + ilen=ime-ims+1 + jlen=jme-jms+1 + ndata=ilen*jlen*(kme-kms+1) + + ! Go level-by-level writing grib2 if requested + do k=kps,kpe + kstartm1=ilen*jlen*(k-kms) + if(LVLS(k,IGET(ient))>0) then + cfld = cfld+1 + fld_info(cfld)%ifld = IAVBLFLD(IGET(ient)) + fld_info(cfld)%lvl = k ! ifi_flight_levels(k)*feet2meters + !$OMP PARALLEL DO PRIVATE(i,j,iloc,jstartm1) COLLAPSE(2) + do j=jps,jpe + do i=ips,ipe + jstartm1 = kstartm1 + (j-jms)*ilen + iloc = jstartm1+(i-ims)+1 + if(iloc<1 .or. iloc>size(data)) then + call ifi_check(-1,'Internal error: out of bounds in send_data.') + endif + if(data(iloc)==missing_value) then + datapd(i-ips+1,j-jps+1,cfld) = spval + else + datapd(i-ips+1,j-jps+1,cfld) = data(iloc) + endif + enddo + enddo + endif + enddo + end subroutine send_data + + ! -------------------------------------------------------------------- + + subroutine gather_ifi(local_buf_c,global_buf_c,receiving_rank) bind(C) + use iso_c_binding, only: c_float, c_double,c_int64_t,c_f_pointer + use mpi + use ctlblk_mod, only: ME, MPI_COMM_COMP, JSTA, JEND, IM, JM, ICNT, IDSP, ISTA, IEND + implicit none + + integer(kind=c_int64_t), value :: receiving_rank + type(c_ptr), value :: global_buf_c, local_buf_c + real(kind=ifi_real_t), pointer :: global_buf(:,:), local_buf(:,:) + + integer :: type, iret + + call c_f_pointer(local_buf_c,local_buf,(/ iend-ista+1, jend-jsta+1 /)) + if(me==receiving_rank) then + call c_f_pointer(global_buf_c,global_buf,(/ im, jm /)) + else + call c_f_pointer(global_buf_c,global_buf,(/ 1,1 /)) + endif + + call gather_for_write(local_buf,global_buf,receiving_rank) + + end subroutine gather_ifi + + ! -------------------------------------------------------------------- + + subroutine gather_for_write(local_buf,global_buf,receiving_rank_c) bind(C) + use iso_c_binding, only: c_float, c_double,c_int64_t,c_f_pointer + use mpi + use ctlblk_mod, only: ME, MPI_COMM_COMP, JSTA, JEND, IM, JM, ISTA, ISTA, IEND + implicit none + + integer(kind=c_int64_t), value :: receiving_rank_c + real(kind=ifi_real_t) :: global_buf(:,:), local_buf(:,:) + integer :: receiving_rank + receiving_rank = receiving_rank_c + call global_gather(local_buf,global_buf,receiving_rank,ista,iend,jsta,jend) + end subroutine gather_for_write + + ! -------------------------------------------------------------------- + + subroutine scatter_ifi(local_buf_c,global_buf_c,sending_rank_c)bind(C) + use iso_c_binding, only: c_float, c_double, c_int64_t, c_f_pointer + use mpi + use ctlblk_mod, only: JSTA, JEND, IM, JM, ISTA, IEND, ME + implicit none + + integer(kind=c_int64_t), value :: sending_rank_c + type(c_ptr), value :: global_buf_c, local_buf_c + real(kind=ifi_real_t), pointer :: global_buf(:,:), local_buf(:,:) + integer :: sending_rank + + sending_rank=sending_rank_c + + call c_f_pointer(local_buf_c,local_buf,(/ iend-ista+1, jend-jsta+1 /)) + if(me==sending_rank) then + call c_f_pointer(global_buf_c,global_buf,(/ im, jm /)) + else + call c_f_pointer(global_buf_c,global_buf,(/ 1,1 /)) + endif + + call global_scatter(local_buf,global_buf,sending_rank,ista,iend,jsta,jend) + end subroutine scatter_ifi + + ! -------------------------------------------------------------------- +!> @brief run_ifi() runs the IFI code. + subroutine run_ifi() + use ctlblk_mod, only: spval, lm, lp1, im, jsta_2l,jend_2u, ITPREC, IFHR, IFMIN, grib, & + jm, jsta,jend, me, num_procs, mpi_comm_comp, ista, iend, ista_2l, iend_2u, dtq2 + use vrbls3d, only: & + zmid, & ! = IFI "HGT" + zint, & ! zint(:,:,LM+1) = IFI "HGT_surface" + QQI, & ! = IFI "CIMIXR" + QQG, & ! = IFI "GRLE" + QQW, & ! = IFI "CLMR" + pmid, & ! = IFI "PRES" + QQR, & ! "RWMR" + q, & ! "SPFH" + t, & ! "TMP" + QQS, & ! "SNMR" + OMGA ! "VVEL" + use vrbls2d, only : & + IFI_APCP, & ! IFI "APCP_surface" over ITPREC bucket time + CAPE, CIN, & + AVGPREC_CONT ! Backup plan for points where IFI_APCP is invalid or 0 + use rqstfld_mod, only: IGET + use iso_c_binding, only: c_bool, c_int64_t + + implicit none + + INTERFACE ! implemented in EXCH_c_float.f + SUBROUTINE EXCH_c_float(A) BIND(C) + use ifi_type_mod, only: ifi_real_t + implicit none + real(kind=ifi_real_t) :: a(*) + END SUBROUTINE EXCH_c_float + END INTERFACE + + type(IFIData) :: hybr_vars, pres_vars, derived_vars, fip_algo_vars, flight_vars, cat_vars + type(IFIAlgo) :: algo + character(88) :: outfile + real :: to_hourly + real(c_double) :: fcst_lead_sec + integer :: i, j + + if(IFHR < first_supported_ifi_hour .or. IFHR > last_supported_ifi_hour) then +1838 format('You requested IFI fields for hour ',I0) + print 1838, IFHR +1839 format('IFI fields are only available from hours ',I0,' through ',I0,'.') + print 1839, first_supported_ifi_hour, last_supported_ifi_hour +1840 format(A) + print 1840, 'Will output missing data for IFI fields for this time.' + call send_missing_data(1007) + call send_missing_data(1008) + call send_missing_data(1009) + call send_missing_data(1010) + return + endif + + ! FIXME: Once the post is i-decomposed, replace the appropriate 1..im in this routine. + + if(grib/='grib2' .or. (IGET(1007)<=0 .and. IGET(1008)<=0 .and. IGET(1009)<=0 .and. IGET(1010)<=0)) then + if(me==0) then + print '(A)','IFI fields were not requested; skipping IFI' + endif + return ! nothing to do + endif + + if(me==0) then + print '(A)','Running libIFI to get icing products.' + call ifi_print_copyright() + + if(write_ifi_debug_files) then + print '(A)','Will output IFI debug files.' + else + print '(A)','Will NOT output IFI debug files.' + endif + endif + + if(write_ifi_debug_files) then + call make_communicators() + endif + + ! Read config and initialize input data structures: + + call read_ifi_config() + call ifi_check(hybr_vars%init(int(1,c_int64_t),int(im,c_int64_t),int(1,c_int64_t),int(jm,c_int64_t),& + int(1,c_int64_t),int(lm,c_int64_t),int( ista,c_int64_t),int(iend,c_int64_t),int(jsta,c_int64_t),& + int(jend,c_int64_t),int(1,c_int64_t),int(lm,c_int64_t)),& + 'could not initialize IFI input data structures') + + ! Copy 2D vars to IFI internal structures: + + call ifi_check(hybr_vars%add_ij_var('topography',int(ista_2l,c_int64_t),int(iend_2u,c_int64_t),& + int(jsta_2l,c_int64_t),int(jend_2u,c_int64_t), & + zint(:,:,LP1)),'could not send topography to IFI') + + to_hourly=3600*1000.0/dtq2 +!$OMP PARALLEL DO COLLAPSE(2) + do j=jsta,jend + do i=ista,iend + if(ifi_apcp(i,j) == spval) then + ifi_apcp(i,j) = avgprec_cont(i,j)*to_hourly + else if(ITPREC>1e-5) then + ifi_apcp(i,j) = ifi_apcp(i,j)/itprec + endif + enddo + enddo + + call ifi_check(hybr_vars%add_ij_var('APCP_surface',int(ista_2l,c_int64_t),int(iend_2u,c_int64_t),& + int(jsta_2l,c_int64_t),int(jend_2u,c_int64_t), & + IFI_APCP),'could not send IFI_APCP to IFI') + call ifi_check(hybr_vars%add_ij_var('CAPE_surface',int(ista_2l,c_int64_t),int(iend_2u,c_int64_t), & + int(jsta_2l,c_int64_t),int(jend_2u,c_int64_t),CAPE), & + 'could not send CAPE to IFI') + call ifi_check(hybr_vars%add_ij_var('CIN_surface',int(ista_2l,c_int64_t),int(iend_2u,c_int64_t), & + int(jsta_2l,c_int64_t),int(jend_2u,c_int64_t),CIN), & + 'could not send CIN to IFI') + + ! Copy 3D vars to IFI internal structures, inverting K dimension + + call add_ijk_var('HGT','zmid',zmid) + call add_ijk_var('CIMIXR','QQI',QQI) + call add_ijk_var('CLMR','QQW',QQW) + call add_ijk_var('GRLE','QQG',QQG) + call add_ijk_var('PRES','pmid',pmid) + call add_ijk_var('RWMR','QQR',QQR) + call add_ijk_var('SPFH','Q',Q) + call add_ijk_var('TMP','T',T) + call add_ijk_var('SNMR','QQS',QQS) + call add_ijk_var('VVEL','OMGA',OMGA) + +308 format(A,'_',I0,'.nc') + + fcst_lead_sec=IFHR*3600.0+IFMIN*60.0 + + if(write_ifi_debug_files) then + write(outfile,308) 'hybr_vars',me + call write_fip_output(hybr_vars,fcst_lead_sec,trim(outfile),.true.,'z0','z1') + endif + + ! Initialize the IFI algorithm + + if(me==0) print *,'IFI.F: initialize algorithm data structures' + call ifi_check(algo%init(ifi_config,fcst_lead_sec,hybr_vars,ME,NUM_PROCS,MPI_COMM_COMP), & + 'could not initialize IFI algorithm') + + ! Run the IFI algorithm + + if(me==0) print *,'IFI.F: calculate exner function' + call ifi_check(algo%calc_exner(),'calc_exner() failed') + + if(me==0) print *,'IFI.F: interpolate from hybrid levels to pressure levels' + call ifi_check(algo%hybrid_to_pressure(),'hybrid_to_pressure() failed') + + call ifi_check(algo%get_pres_vars(pres_vars),'get_pres_vars()') + if(write_ifi_debug_files) then + write(outfile,308) 'pres_vars',me + call write_fip_output(pres_vars,fcst_lead_sec,trim(outfile),.true.,'z1','z0') + endif + + call ifi_check(algo%discard_hybrid_level_vars(),'discard_hybrid_level_vars() failed') + + if(me==0) print *,'IFI.F: calculate model-derived fields' + call ifi_check(algo%derive_fields(),'derive_fields() failed') + + call ifi_check(algo%get_derived_vars(derived_vars),'get_derived_vars()') + if(write_ifi_debug_files) then + write(outfile,308) 'derived_vars',me + call write_fip_output(derived_vars,fcst_lead_sec,trim(outfile),.false.,'z1','z0') + endif + + if(me==0) print *,'IFI.F: run FIP algorithm' + call ifi_check(algo%run_fip_algo(),'run_fip_algo() failed') + + call ifi_check(algo%get_fip_algo_vars(pres_vars),'get_fip_algo_vars()') + if(write_ifi_debug_files) then + write(outfile,308) 'fip_algo_vars',me + call write_fip_output(pres_vars,fcst_lead_sec,trim(outfile),.false.,'z1','z0') + endif + + call ifi_check(algo%discard_pressure_level_vars(),'discard_pressure_level_vars() failed') + call ifi_check(algo%discard_derived_vars(),'discard_derived_vars() failed') + + if(me==0) print *,'IFI.F: interpolate from pressure levels to flight levels' + call ifi_check(algo%pressure_to_flight(),'pressure_to_flight() failed') + + call ifi_check(algo%get_flight_vars(flight_vars),'get_flight_vars()') + if(write_ifi_debug_files) then + write(outfile,308) 'flight_vars',me + call write_fip_output(flight_vars,fcst_lead_sec,trim(outfile),.false.,'z1','z0') + endif + + call ifi_check(algo%discard_fip_algo_vars(),'discard_fip_algo_vars() failed') + + if(me==0) print *,'IFI.F: calculate the icing category' + call ifi_check(algo%make_icing_category(),'make_icing_category() failed') + + ! Get the final output fields: + + call ifi_check(algo%get_cat_vars(cat_vars),'get_cat_vars()') + + if(write_ifi_debug_files) then + write(outfile,308) 'cat_vars',me + call write_fip_output(cat_vars,fcst_lead_sec,trim(outfile),.false.,'z1','z0') + endif + + if(me==0) print *,'IFI.F: copy data from libIFI data structures to UPP arrays' + call send_data(cat_vars,'ICE_PROB',1007) + call send_data(cat_vars,'SLD',1008) + call send_data(cat_vars,'ICE_SEV_CAT',1009) + call send_data(cat_vars,'WMO_ICE_SEV_CAT',1010) + + if(me==0) print *,'IFI.F: done' + + ! When this subroutine ends, a Fortran-2003-compliant compiler + ! will free all memory IFI uses, by calling the destructors (final + ! routines) for cat_vars, hybr_vars, algo, and config. + + contains + + subroutine add_ijk_var(ifi_name,upp_name,upp_var) + implicit none + character(len=*), intent(in) :: ifi_name,upp_name + real, intent(in) :: upp_var(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LM) + real(kind=ifi_real_t) :: ifi_var(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LM) + integer i,j,k + +!$OMP PARALLEL DO COLLAPSE(2) + do k=1,lm + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + ifi_var(i,j,k) = upp_var(i,j,lm-k+1) + enddo + enddo + enddo + + call ifi_check(hybr_vars%add_ijk_var(ifi_name,int(ista_2l,c_int64_t),int(iend_2u,c_int64_t),& + int(jsta_2l,c_int64_t),int(jend_2u,c_int64_t),& + int(1,c_int64_t),int(lm,c_int64_t),ifi_var), & + 'could not send '//ifi_name//' ('//upp_name//') to IFI') + end subroutine add_ijk_var + + end subroutine run_ifi + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + subroutine find_range(var,count,missing_value_is_set,missing_value,min_not_miss,max_not_miss,all_missing) + USE ieee_arithmetic + use mpi + use ctlblk_mod, only: mpi_comm_comp + implicit none + real(kind=ifi_real_t), intent(in) :: var(*) + real(kind=ifi_real_t), intent(in) :: missing_value + real(kind=ifi_real_t), intent(out) :: min_not_miss,max_not_miss + integer, intent(in) :: count + logical, intent(out) :: all_missing + logical(c_bool), intent(in) :: missing_value_is_set + + real(kind=ifi_real_t) :: minv,maxv,epsilon, global_minv,global_maxv + integer :: i,type,iret + real(kind=ifi_real_t), parameter :: zero = 0 + + ! write(0,*) 'find range begin' + ! write(0,*) 'first index = ',var(1) + + if(missing_value_is_set) then + epsilon = abs(missing_value)*1e-4 + if(.not. epsilon+1>epsilon) then + epsilon=1 + endif + endif + + ! Initialize to out-of-bounds values so they'll stay that way if no valid values are found: + minv = 1e30 + maxv = -1e30 + ! write(0,*)'find_range count',count + ! Find the min and max values in the array: + if(missing_value_is_set) then + !$OMP PARALLEL DO REDUCTION(min:minv) REDUCTION(max:maxv) + do i=1,count + if(.not. abs(var(i)-missing_value)>epsilon .and. var(i)<9e9 .and. var(i)>-9e9) then + minv=min(minv,var(i)) + maxv=max(maxv,var(i)) + endif + end do + else + !$OMP PARALLEL DO REDUCTION(min:minv) REDUCTION(max:maxv) + do i=1,count + if(var(i)+1>var(i)) then + if(var(i)<9e9 .and. var(i)>-9e9) then + minv=min(minv,var(i)) + maxv=max(maxv,var(i)) + endif + endif + end do + endif + + if(ifi_real_t==c_double) then + type=MPI_REAL8 + else + type=MPI_REAL4 + endif + + ! call MPI_Allreduce(minv,global_minv,1,type,MPI_MIN,mpi_comm_comp,iret) + ! call MPI_Allreduce(maxv,global_maxv,1,type,MPI_MAX,mpi_comm_comp,iret) + global_minv=minv + global_maxv=maxv + + ! If min or max are inf, -inf, or NaN, assume all values are missing. + all_missing = global_minv<-9e9 .or. global_minv>9e9 .or. global_maxv<-9e9 .or. global_maxv>9e9 + + !print *,'range min,max = ',global_minv,global_maxv + + if(all_missing) then + min_not_miss=-1 + max_not_miss=1 + else + min_not_miss=global_minv + max_not_miss=global_maxv + endif + + !print *,'find range end' + end subroutine find_range + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + subroutine nc_check(code,file,message) + use netcdf + use mpi + implicit none + integer, intent(in) :: code + character(*), intent(in) :: file, message + integer :: i, ierr + if(code/=0) then + write(0,93) trim(file),trim(message),trim(nf90_strerror(code)),code + call mpi_abort(mpi_comm_world,1,ierr) + endif + 93 format(A,': ',A,': ',A,'(',I0,')') + end subroutine nc_check + + subroutine write_fip_output(ifi_data,fcst_lead_sec,output_file,rename,z2dname,z3dname,z_dim_data) + use ifi_mod + use iso_c_binding + use netcdf + use ctlblk_mod, only: me + implicit none + integer, parameter :: maxname=80 + integer, parameter :: maxvars=999 + logical, intent(in) :: rename + double precision, intent(in) :: fcst_lead_sec + character(len=*), intent(in) :: z2dname,z3dname + + real, optional :: z_dim_data(:) + + type var_info + character(len=maxname) :: varname, outname + integer :: varid, ndims, dims(4), dimids(4), count + real(ifi_real_t), pointer :: data(:) + integer :: ims,ime,jms,jme,kms,kme + integer :: ids,ide,jds,jde,kds,kde + integer :: ips,ipe,jps,jpe,kps,kpe + logical :: should_dealloc + real(kind=ifi_real_t) :: missing_value + real(kind=ifi_real_t) :: min_not_miss,max_not_miss + logical(c_bool) :: missing_value_is_set + logical :: all_missing + end type var_info + character(len=*), intent(in) :: output_file + + type(IFIData) :: ifi_data + integer(c_int64_t) :: ids,ide, jds,jde, kds,kde + integer(c_int64_t) :: ips,ipe, jps,jpe, kps,kpe + integer(c_int64_t) :: ims,ime, jms,jme, kms,kme + integer :: count + + character(len=200) :: varname,nextname + + integer :: dimids(4), ncid, ivar, id, nvars, nx0, ny0, nz0, ntime, dims(4), z_varid + type(var_info),target :: var_data(maxvars) + + if(me==0) then + write(*,'(A,A)') trim(output_file),': writing IFI debug data' + endif + + call ifi_check(ifi_data%get_dims(ids,ide, jds,jde, kds,kde, ips,ipe, jps,jpe, kps,kpe),"get_dims") + + nx0=ide-ids+1 + ny0=jde-jds+1 + nz0=kde-kds+1 + ntime=1 + + dims = (/nx0,ny0,nz0,ntime/) + + varname=' ' ! special value indicating "start at the beginning" + + if(me == 0) then + write(*,'(A,A)') output_file,': cataloging variables and defining NetCDF file' + endif + + if(present(z_dim_data)) then + if(size(z_dim_data) == nz0) then + call nc_check(def_axis_var(z3dname, z_dim_data, dimids(3), z_varid), output_file, 'def_axis_var') + else if(me == 0) then +102 format('Error: length of z dimension data (',I0,') differs from z dimension (',I0,')') + write(0,102) size(z_dim_data),size(z_dim_data),nz0 + endif + endif + + ivar=0 + do while(ivar read_var(var_data(ivar),trim(var_data(ivar)%varname), & + var_data(ivar)%should_dealloc) ! updates "should_dealloc" + + if(me == 0) then + call find_range(var_data(ivar)%data,var_data(ivar)%count, & + var_data(ivar)%missing_value_is_set,var_data(ivar)%missing_value,& + var_data(ivar)%min_not_miss,var_data(ivar)%max_not_miss, & + var_data(ivar)%all_missing) + call write_var(var_data(ivar)) + endif + if(var_data(ivar)%should_dealloc) then + deallocate(var_data(ivar)%data) + endif + nullify(var_data(ivar)%data) + enddo + + if(me == 0) then + call nc_check(nf90_close(ncid),output_file,"nf90_close") + write(*,"(A,A)") output_file,': done writing data' + endif + contains + + subroutine set_dims(var,rename,dims,dimids) + implicit none + type(var_info), intent(inout), target :: var + logical, intent(in) :: rename + integer, intent(in) :: dims(:), dimids(:) + + character(len=:), pointer :: varname + real(kind=ifi_real_t), pointer :: local_data_1D(:) + + varname=>var%varname(1:len_trim(var%varname)) + + ! Get the variable's dimensions. + local_data_1D => ifi_data%get_data(trim(varname),var%missing_value_is_set,var%missing_value, & + ims,ime,jms,jme,kms,kme, ids,ide,jds,jde,kds,kde, ips,ipe,jps,jpe,kps,kpe) + + if(rename) then + var%outname=var%varname + select case(trim(var%varname)) + case('CIMIXR') + var%outname = 'ICMR' + case('SPFH') + var%outname = 'MIXR' + case('GRLE') + var%outname = 'GRMR' + case('CAPE_surface') + var%outname = 'CAPE' + case('CIN_surface') + var%outname = 'CIN' + case('CLMR') + var%outname = 'CLWMR' + case('APCP_surface') + var%outname = 'APCP1Hr' + end select + endif + + var%ims=ims ; var%ime=ime ; var%jms=jms ; var%jme=jme ; var%kms=kms ; var%kme=kme + var%ids=ids ; var%ide=ide ; var%jds=jds ; var%jde=jde ; var%kds=kds ; var%kde=kde + var%ips=ips ; var%ipe=ipe ; var%jps=jps ; var%jpe=jpe ; var%kps=kps ; var%kpe=kpe + + ! These must also be in IFITest.cc IFITest::write_netcdf + + if(varname=='x' .or. varname=='x0') then + var%dims=(/nx0,1,1,1/) + var%dimids=(/dimids(1),-1,-1,-1/) + var%ndims=1 + else if(varname=='y' .or. varname=='y0') then + var%dims=(/ny0,1,1,1/) + var%dimids=(/dimids(2),-1,-1,-1/) + var%ndims=1 + else if(varname=='z' .or. varname=='z0' .or. varname=='z1' .or. & + varname=='pressure_levels' .or. varname=='exner_levels') then + var%dims=(/nz0,1,1,1/) + var%dimids=(/dimids(3),-1,-1,-1/) + var%ndims=1 + else if(varname=='latitude' .or. varname=='longitude') then + var%dims=(/nx0,ny0,1,1/) + var%dimids=(/dimids(1),dimids(2),-1,-1/) + var%ndims=2 + else if(varname=='time') then + var%dims=(/ntime,1,1,1/) + var%dimids=(/dimids(4),-1,-1,-1/) + var%ndims=1 + else if(kme<=kms) then + var%dims=(/nx0,ny0,ntime,1/) + var%dimids=(/dimids(1),dimids(2),dimids(4),-1/) + var%ndims=3 + else + var%dims=(/nx0,ny0,nz0,ntime/) + var%dimids=dimids + var%ndims=4 + endif + + var%count=var%dims(1)*var%dims(2)*var%dims(3)*var%dims(4) + end subroutine set_dims + + subroutine write_var(var) + use ctlblk_mod, only: spval + implicit none + type(var_info), intent(inout) :: var + + integer :: ones(var%ndims), dims(var%ndims) + real(ifi_real_t) :: put(var%count) + integer :: i,j,k,n,ilen,jlen,m,imlen,jmlen + + ones = 1 + dims = var%dims(1:var%ndims) + + if(me/=0) then + ! Ranks that are not writing are done now + return + endif + + call nc_check(nf90_put_var(ncid=ncid,varid=var%varid,values=var%data, & + start=ones,count=dims), & + output_file,"nf90_put_var "//trim(var%outname)) + + ! call nc_check(nf90_redef(ncid), & + ! output_file, "nf90_redef to write attributes for "//trim(var%outname)) + + call nc_check(nf90_put_att(ncid,var%varid,"min_value",var%min_not_miss), & + output_file,"nf90_put_att "//trim(var%outname)//" min_value") + + call nc_check(nf90_put_att(ncid,var%varid,"max_value",var%max_not_miss), & + output_file,"nf90_put_att "//trim(var%outname)//" max_value") + + if(var%missing_value_is_set) then + call nc_check(nf90_put_att(ncid,var%varid,"_FillValue",var%missing_value), & + output_file,"nf90_put_att "//trim(var%outname)//" _FillValue") + else + if(me==0) then + print *,'Warning: no missing value for ',trim(var%varname),' (will use spval)' + endif + call nc_check(nf90_put_att(ncid,var%varid,"_FillValue",spval), & + output_file,"nf90_put_att "//trim(var%outname)//" _FillValue") + endif + + ! call nc_check(nf90_enddef(ncid),output_file,'nf90_enddef') + + end subroutine write_var + + integer function def_var(var) + use ctlblk_mod, only: spval + use iso_c_binding, only: c_float + implicit none + type(var_info), intent(inout) :: var + + integer :: varid, xtype, dimids(var%ndims) + character(len=100) :: outname + + dimids = var%dimids(1:var%ndims) + + if(ifi_real_t==c_float) then + xtype = NF90_FLOAT + else + xtype = NF90_DOUBLE + endif + + call nc_check(nf90_def_var(ncid,trim(var%outname),xtype,dimids,def_var), & + output_file,"nf90_def_var "//trim(var%outname)) + + call nc_check(nf90_put_att(ncid,def_var,"min_value",var%min_not_miss), & + output_file,"nf90_put_att "//trim(var%outname)//" min_value") + + call nc_check(nf90_put_att(ncid,def_var,"max_value",var%max_not_miss), & + output_file,"nf90_put_att "//trim(var%outname)//" max_value") + + call nc_check(nf90_put_att(ncid,def_var,"_FillValue",-9999.0), & + output_file,"nf90_put_att "//trim(var%outname)//" _FillValue") + + end function def_var + + subroutine write_axis_var(name, values, dimid, varid) + use ctlblk_mod, only: spval + use iso_c_binding, only: c_float + implicit none + character(len=*), intent(in) :: name + integer, intent(in) :: varid + real(ifi_real_t), intent(in) :: values(:) + integer, intent(in) :: dimid + + integer :: dimids(1), xtype, ones(1) + + if(me/=0) then + ! Ranks that are not writing are done now + return + endif + + ones = 1 + dimids = dimid + + call nc_check(nf90_put_var(ncid=ncid,varid=varid,values=values, & + start=ones,count=dimids), & + output_file,"nf90_put_var "//trim(name)) + + end subroutine write_axis_var + + integer function def_axis_var(name, values, dimid, varid) + use ctlblk_mod, only: spval + use iso_c_binding, only: c_float + implicit none + character(len=*), intent(in) :: name + real(ifi_real_t), intent(in) :: values(:) + integer, intent(in) :: dimid + integer, intent(inout) :: varid + + integer :: dimids(1), xtype + + dimids = dimid + + if(ifi_real_t==c_float) then + xtype = NF90_FLOAT + else + xtype = NF90_DOUBLE + endif + + call nc_check(nf90_def_var(ncid,trim(name),xtype,dimids,def_axis_var), & + output_file,"nf90_def_var "//trim(name)) + + end function def_axis_var + + function read_var(var,varname,should_dealloc) + use ctlblk_mod, only: spval + use mpi + implicit none + type(var_info), intent(inout) :: var + real(kind=ifi_real_t), pointer :: read_var(:) + real(kind=ifi_real_t), pointer :: local_data_1D(:) + character(len=*), intent(in) :: varname + logical, intent(out) :: should_dealloc + + real(kind=ifi_real_t), allocatable :: local_data(:,:),global_data(:,:) + real(kind=ifi_real_t), pointer :: global_data_1D(:) + real(kind=ifi_real_t) :: local + integer :: nxny_local,nxny_global,nz,count,i,j,k + integer :: local_ilen,local_jlen,local_klen,local_index + integer :: global_ilen,global_jlen,global_klen,global_index, ierr + type(c_ptr) :: global_cptr,local_cptr + + local_data_1D => ifi_data%get_data(trim(varname),var%missing_value_is_set,var%missing_value, & + ims,ime,jms,jme,kms,kme, ids,ide,jds,jde,kds,kde, ips,ipe,jps,jpe,kps,kpe) + + !print *,'local 1D',local_data_1D(1) + + global_ilen=ide-ids+1 + global_jlen=jde-jds+1 + global_klen=kde-kds+1 + local_ilen=ipe-ips+1 + local_jlen=jpe-jps+1 + local_klen=kpe-kps+1 + + if(.not.associated(local_data_1D)) then + write(0,38) trim(varname) +38 format("IFI did not produce ",A," variable.") + call mpi_abort(mpi_comm_world,1,ierr) + end if + + count=global_ilen*global_jlen*global_klen + if(count<=0) then + write(0,39) trim(varname),count +39 format("IFI variable ",A," had no data (size=",I0,")") + call mpi_abort(mpi_comm_world,1,ierr) + endif + + if(ids==ide .or. jds==jde) then + ! This is a 1D variable so we write it as is from rank 0 + read_var => local_data_1D + should_dealloc = .false. + return + endif + +40 format('var ',A,' has bad ',A,'. Got: ',I0,' but expected: ',I0) + + if(global_ilen /= nx0) then + write(0,40) trim(varname),'global_ilen',global_ilen,nx0 + call mpi_abort(mpi_comm_world,1,ierr) + endif + + if(global_jlen /= ny0) then + write(0,40) trim(varname),'global_jlen',global_jlen,ny0 + call mpi_abort(mpi_comm_world,1,ierr) + endif + + if(global_klen/=1 .and. global_klen /= nz0) then + write(0,40) trim(varname),'global_klen',global_klen,nz0 + call mpi_abort(mpi_comm_world,1,ierr) + endif + + + allocate(local_data(local_ilen,local_jlen)) + if(me==0) then + allocate(global_data(global_ilen,global_jlen)) + allocate(global_data_1D(global_ilen*global_jlen*global_klen)) + else + allocate(global_data(1,1)) + allocate(global_data_1D(1)) + endif + + do k=kds,kde + do j=jps,jpe + do i=ips,ipe + local = local_data_1D( 1 + (i-ims) + ((j-jms) + (k-kms)*(jme-jms+1))*(ime-ims+1) ) + if(.not. (local < spval)) then + ! The default missing value in FIP2 is -9999 + local = -9999 + endif + local_data(i-ips+1,j-jps+1) = local + enddo + enddo + call gather_for_write(local_data,global_data,0) + if(me==0) then + do j=1,global_jlen + do i=1,global_ilen + global_data_1D(1 + (i-1) + ((j-1) + (k-kds)*global_jlen)*global_ilen) = & + global_data(i,j) + enddo + enddo + endif + enddo + + ! if(me == 0) then + ! print *,'global 1D',global_data_1D(1) + ! print *,'global 2D', global_data(1,1) + ! endif + + ! Ranks that are not writing data are done. + if(me/=0) then + ! This rank does not have the global data, and will not use the data anyway, + ! but it wants an array, so we'll send it the local data that is managed + ! internally by libIFI. + read_var => local_data_1D + should_dealloc = .false. + deallocate(global_data_1D) + else + read_var => global_data_1D + should_dealloc = .true. + endif + + deallocate(global_data) + deallocate(local_data) + end function read_var + end subroutine write_fip_output + +#endif + +end module upp_ifi_mod diff --git a/sorc/ncep_post.fd/INITPOST.F b/sorc/ncep_post.fd/INITPOST.F index 87cd31af5b..c2b1f74009 100644 --- a/sorc/ncep_post.fd/INITPOST.F +++ b/sorc/ncep_post.fd/INITPOST.F @@ -1,46 +1,27 @@ !> @file -! -!> SUBPROGRAM: INITPOST INITIALIZE POST FOR RUN -!! PRGRMMR: RUSS TREADON ORG: W/NP2 DATE: 93-11-10 -!! -!! ABSTRACT: THIS ROUTINE INITIALIZES CONSTANTS AND -!! VARIABLES AT THE START OF AN ETA MODEL OR POST -!! PROCESSOR RUN. -!! -!! THIS ROUTINE ASSUMES THAT INTEGERS AND REALS ARE THE SAME SIZE -!! -!! PROGRAM HISTORY LOG: -!! 93-11-10 RUSS TREADON - ADDED DOCBLOC -!! 98-05-29 BLACK - CONVERSION OF POST CODE FROM 1-D TO 2-D -!! 99-01 20 TUCCILLO - MPI VERSION -!! 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -!! 02-06-19 MIKE BALDWIN - WRF VERSION -!! 02-08-15 H CHUANG - UNIT CORRECTION AND GENERALIZE PROJECTION OPTIONS -!! 21-03-11 Bo Cui - change local arrays to dimension (im,jsta:jend) -!! -!! USAGE: CALL INIT -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! LOOKUP -!! SOILDEPTH -!! -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief initpost() initializes post for run. +!> +!> @author Russ Treadon W/NP2 @date 1993-11-10 + +!> This routine initializes constants and +!> variables at the start of an ETA model or post +!> processor run. +!> +!> This routine assumes that integers and reals are the same size. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1993-11-10 | Russ Treadon | Initial. Added DOCBLOC +!> 1998-05-29 | T Black | Conversion from 1-D to 2-D +!> 1999-01-20 | Jim Tuccillo | MPI Version +!> 2001-10-25 | H CHuang | Modified to process hybrid model output +!> 2002-06-19 | Mike Baldwin | WRF Version +!> 2002-08-15 | H CHuang | Unit correction and generalize projection options +!> 2021-03-11 | Bo Cui | Change local arrays to dimension (im,jsta:jend) +!> 2023-01-24 | Sam Trahan | Comment-out wordy debug writes +!> +!> @author Russ Treadon W/NP2 @date 1993-11-10 SUBROUTINE INITPOST use vrbls4d, only: dust, smoke @@ -56,7 +37,7 @@ SUBROUTINE INITPOST wspd10umax,wspd10vmax,refdm10c_max, & hail_max2d,hail_maxk1,hail_maxhailcast,ltg1_max, & ltg2_max, ltg3_max, nci_ltg, nca_ltg, nci_wq, nca_wq, nci_refd, & - u10, v10, th10, q10, tshltr, mrshltr, & + u10, v10, th10, q10, tshltr, & nca_refd, qv2m, qshltr, smstav, smstot, ssroff, bgroff, sfcevp, & sfcexc, vegfrc, acsnow, cmc, sst, thz0, qz0, uz0, vz0, qs, qvg, & z0, ustar, akhs, akms, radot, ths, acsnom, cuprec, ancprc, acprec, & @@ -89,6 +70,9 @@ SUBROUTINE INITPOST use gridspec_mod, only: gridtype, dxval, latstart, latlast, lonstart, & lonlast, dyval, cenlat, cenlon, maptype, truelat1, truelat2, & standlon, psmapf + use exch_upp_mod, only: exch + use table_upp_mod, only : table + use tableq_upp_mod, only : tableq use wrf_io_flags_mod, only: !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none @@ -393,15 +377,15 @@ SUBROUTINE INITPOST do j = jsta_2l, jend_2u do i = 1, im if((PMID(I,J,ll-1) - PMID(I,J,ll))>=0.) then - write(*,*) 'non-monotonic PMID, i,j,ll ', i,j,ll - write(*,*) 'PMID: ll-1,ll,ll+1', PMID(I,J,LL-1) & - ,PMID(I,J,LL), PMID(I,J,LL+1) +! write(*,*) 'non-monotonic PMID, i,j,ll ', i,j,ll +! write(*,*) 'PMID: ll-1,ll,ll+1', PMID(I,J,LL-1) & +! ,PMID(I,J,LL), PMID(I,J,LL+1) PMID(I,J,LL)=0.5*(PMID(I,J,LL+1)+PMID(I,J,LL-1)) - write(*,*) 'after adjustment-i,j,ll ', i,j,ll - write(*,*) 'PMID: ll-1,ll,ll+1', PMID(I,J,LL-1) & - ,PMID(I,J,LL), PMID(I,J,LL+1) +! write(*,*) 'after adjustment-i,j,ll ', i,j,ll +! write(*,*) 'PMID: ll-1,ll,ll+1', PMID(I,J,LL-1) & +! ,PMID(I,J,LL), PMID(I,J,LL+1) endif end do end do @@ -420,16 +404,16 @@ SUBROUTINE INITPOST do j = jsta_2l, jend_2u do i = 1, im if((PMID(I,J,ll-1) - PMID(I,J,ll))>=0.) then - write(*,*) 'non-monotonic PMID, i,j,ll ', i,j,ll - write(*,*) 'PMID: ll-2,ll-1,ll', PMID(I,J,LL-2) & - ,PMID(I,J,LL-1), PMID(I,J,LL) + ! write(*,*) 'non-monotonic PMID, i,j,ll ', i,j,ll + ! write(*,*) 'PMID: ll-2,ll-1,ll', PMID(I,J,LL-2) & + ! ,PMID(I,J,LL-1), PMID(I,J,LL) PMID(I,J,LL)=PMID(I,J,ll-1) + & fact*(PMID(I,J,LL-1)-PMID(I,J,LL-2)) - write(*,*) 'after adjustment-i,j,ll ', i,j,ll - write(*,*) 'PMID: ll-2,ll-1,ll', PMID(I,J,LL-2) & - ,PMID(I,J,LL-1), PMID(I,J,LL) + ! write(*,*) 'after adjustment-i,j,ll ', i,j,ll + ! write(*,*) 'PMID: ll-2,ll-1,ll', PMID(I,J,LL-2) & + ! ,PMID(I,J,LL-1), PMID(I,J,LL) endif end do end do @@ -866,10 +850,10 @@ SUBROUTINE INITPOST DO J=Jsta,jend DO I=1,IM if((PINT(I,J,lm) - DUMMY(I,J))>=0.) then - write(*,*) 'non-monotonic PINT, i,j,lm ', i,j,lm - write(*,*) 'PINT: lm,lm+1, PMID: lm', PINT(I,J,LM),DUMMY(I,J), PMID(I,J,LM) + ! write(*,*) 'non-monotonic PINT, i,j,lm ', i,j,lm + ! write(*,*) 'PINT: lm,lm+1, PMID: lm', PINT(I,J,LM),DUMMY(I,J), PMID(I,J,LM) DUMMY(I,J)=PMID(I,J,LM)*1.001 - write(*,*) 'after adjustment-i,j,lm+1 ', i,j,lm+1,DUMMY(I,J) + ! write(*,*) 'after adjustment-i,j,lm+1 ', i,j,lm+1,DUMMY(I,J) endif PINT(I,J,LM+1)=DUMMY(I,J) ALPINT(I,J,LM+1)=ALOG(PINT(I,J,LM+1)) @@ -964,10 +948,10 @@ SUBROUTINE INITPOST ! KRF - check surface pressure for monotonic correctness if((PINT(I,J,lm) - PINT(I,J,LM+1))>=0. ) then - write(*,*) 'non-monotonic PINT, i,j,lm ', i,j,lm - write(*,*) 'PINT: lm,lm+1, PMID: lm', PINT(I,J,LM), PINT(I,J,LM+1), PMID(I,J,LM) + ! write(*,*) 'non-monotonic PINT, i,j,lm ', i,j,lm + ! write(*,*) 'PINT: lm,lm+1, PMID: lm', PINT(I,J,LM), PINT(I,J,LM+1), PMID(I,J,LM) PINT(I,J,LM+1) = PINT(I,J,LM)*1.001 - write(*,*) 'after adjustment-i,j,lm+1 PINT ', i,j,lm+1, PINT(I,J,LM+1) + ! write(*,*) 'after adjustment-i,j,lm+1 PINT ', i,j,lm+1, PINT(I,J,LM+1) endif ALPINT(I,J,LM+1)=ALOG(PINT(I,J,LM+1)) ENDDO @@ -1857,7 +1841,6 @@ SUBROUTINE INITPOST IM,1,JM,1,IM,JS,JE,1) do j = jsta_2l, jend_2u do i = 1, im - MRSHLTR ( i, j ) = dummy (i, j ) ! Shelter Mixing ratio IF(MODELNAME == 'RAPR')THEN ! QV2M = first level QV ! QV2M ( i, j ) = q ( i, j, lm )/(1.-q ( i, j, lm )) ! 1st level mix. ratio diff --git a/sorc/ncep_post.fd/INITPOST_GFS_NEMS.f b/sorc/ncep_post.fd/INITPOST_GFS_NEMS.f deleted file mode 100644 index 7111fb6288..0000000000 --- a/sorc/ncep_post.fd/INITPOST_GFS_NEMS.f +++ /dev/null @@ -1,3265 +0,0 @@ -!> @file -! . . . -!> SUBPROGRAM: INITPOST INITIALIZE POST FOR RUN -!! PRGRMMR: Hui-Ya Chuang DATE: 2007-03-01 -!! -!! ABSTRACT: THIS ROUTINE INITIALIZES CONSTANTS AND -!! VARIABLES AT THE START OF GFS MODEL OR POST -!! PROCESSOR RUN. -!! -!! REVISION HISTORY -!! 2011-02-07 Jun Wang add grib2 option -!! 2011-12-14 Sarah Lu add aer option -!! 2012-01-07 Sarah Lu compute air density -!! 2012-12-22 Sarah Lu add aerosol zerout option -!! 2015-03-16 S. Moorthi adding gocart_on option -!! 2015-03-18 S. Moorthi Optimization including threading -!! 2015-08-17 S. Moorthi Add TKE for NEMS/GSM -!! 2021-03-11 Bo Cui change local arrays to dimension (im,jsta:jend) -!! -!! USAGE: CALL INIT -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! LOOKUP -!! SOILDEPTH -!! -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! - SUBROUTINE INITPOST_GFS_NEMS(NREC,iostatusFlux,iostatusD3D, & - iostatusAER,nfile,ffile,rfile) -! SUBROUTINE INITPOST_GFS_NEMS(NREC,iostatusFlux,iostatusD3D,nfile,ffile) - - - use vrbls4d, only: dust, SALT, SUSO, SOOT, WASO - use vrbls3d, only: t, q, uh, vh, pmid, pint, alpint, dpres, zint, zmid, o3, & - qqr, qqs, cwm, qqi, qqw, omga, rhomid, q2, cfr, rlwtt, rswtt, tcucn, & - tcucns, train, el_pbl, exch_h, vdifftt, vdiffmois, dconvmois, nradtt, & - o3vdiff, o3prod, o3tndy, mwpv, unknown, vdiffzacce, zgdrag,cnvctummixing, & - vdiffmacce, mgdrag, cnvctvmmixing, ncnvctcfrac, cnvctumflx, cnvctdmflx, & - cnvctzgdrag, sconvmois, cnvctmgdrag, cnvctdetmflx, duwt, duem, dusd, dudp - use vrbls2d, only: f, pd, fis, pblh, ustar, z0, ths, qs, twbs, qwbs, avgcprate, & - cprate, avgprec, prec, lspa, sno, si, cldefi, th10, q10, tshltr, pshltr, & - tshltr, albase, avgalbedo, avgtcdc, czen, czmean, mxsnal, radot, sigt4, & - cfrach, cfracl, cfracm, avgcfrach, qshltr, avgcfracl, avgcfracm, cnvcfr, & - islope, cmc, grnflx, vegfrc, acfrcv, ncfrcv, acfrst, ncfrst, ssroff, & - bgroff, rlwin, rlwtoa, cldwork, alwin, alwout, alwtoa, rswin, rswinc, & - rswout, aswin, auvbin, auvbinc, aswout, aswtoa, sfcshx, sfclhx, subshx, & - snopcx, sfcux, sfcvx, sfcuvx, gtaux, gtauy, potevp, u10, v10, smstav, & - smstot, ivgtyp, isltyp, sfcevp, sfcexc, acsnow, acsnom, sst, thz0, qz0, & - uz0, vz0, ptop, htop, pbot, hbot, ptopl, pbotl, ttopl, ptopm, pbotm, ttopm, & - ptoph, pboth, pblcfr, ttoph, runoff, maxtshltr, mintshltr, maxrhshltr, & - minrhshltr, dzice, smcwlt, suntime, fieldcapa, htopd, hbotd, htops, hbots, & - cuppt, dusmass, ducmass, dusmass25, ducmass25, aswintoa, & - u10h,v10h - use soil, only: sldpth, sh2o, smc, stc - use masks, only: lmv, lmh, htm, vtm, gdlat, gdlon, dx, dy, hbm2, sm, sice -! use kinds, only: i_llong - use nemsio_module, only: nemsio_gfile, nemsio_getfilehead, nemsio_getheadvar, nemsio_close - use physcons_post, only: grav => con_g, fv => con_fvirt, rgas => con_rd, & - eps => con_eps, epsm1 => con_epsm1 - use params_mod, only: erad, dtr, tfrz, h1, d608, rd, p1000, capa - use lookup_mod, only: thl, plq, ptbl, ttbl, rdq, rdth, rdp, rdthe, pl, qs0, sqs, sthe, & - ttblq, rdpq, rdtheq, stheq, the0q, the0 - use ctlblk_mod, only: me, mpi_comm_comp, icnt, idsp, jsta, jend, ihrst, idat, sdat, ifhr, & - ifmin, filename, tprec, tclod, trdlw, trdsw, tsrfc, tmaxmin, td3d, restrt, sdat, & - jend_m, imin, imp_physics, dt, spval, pdtop, pt, qmin, nbin_du, nphs, dtq2, ardlw,& - ardsw, asrfc, avrain, avcnvc, theat, gdsdegr, spl, lsm, alsl, im, jm, im_jm, lm, & - jsta_2l, jend_2u, nsoil, lp1, icu_physics, ivegsrc, novegtype, nbin_ss, nbin_bc, & - nbin_oc, nbin_su, gocart_on, pt_tbl, hyb_sigp - use gridspec_mod, only: maptype, gridtype, latstart, latlast, lonstart, lonlast, cenlon, & - dxval, dyval, truelat2, truelat1, psmapf, cenlat - use rqstfld_mod, only: igds, avbl, iq, is - use upp_physics, only: fpvsnew -! use wrf_io_flags_mod, only: ! Do we need this? -!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none -! - type(nemsio_gfile),intent(inout) :: nfile,ffile,rfile -! -! INCLUDE/SET PARAMETERS. -! - INCLUDE "mpif.h" - -! integer,parameter:: MAXPTS=1000000 ! max im*jm points -! -! real,parameter:: con_g =9.80665e+0! gravity -! real,parameter:: con_rv =4.6150e+2 ! gas constant H2O -! real,parameter:: con_rd =2.8705e+2 ! gas constant air -! real,parameter:: con_fvirt =con_rv/con_rd-1. -! real,parameter:: con_eps =con_rd/con_rv -! real,parameter:: con_epsm1 =con_rd/con_rv-1 -! -! This version of INITPOST shows how to initialize, open, read from, and -! close a NetCDF dataset. In order to change it to read an internal (binary) -! dataset, do a global replacement of _ncd_ with _int_. - - real, parameter :: gravi = 1.0/grav - integer,intent(in) :: NREC,iostatusFlux,iostatusD3D,iostatusAER - character(len=20) :: VarName, VcoordName - integer :: Status - character startdate*19,SysDepInfo*80,cgar*1 - character startdate2(19)*4 -! -! NOTE: SOME INTEGER VARIABLES ARE READ INTO DUMMY ( A REAL ). THIS IS OK -! AS LONG AS REALS AND INTEGERS ARE THE SAME SIZE. -! -! ALSO, EXTRACT IS CALLED WITH DUMMY ( A REAL ) EVEN WHEN THE NUMBERS ARE -! INTEGERS - THIS IS OK AS LONG AS INTEGERS AND REALS ARE THE SAME SIZE. - LOGICAL RUNB,SINGLRST,SUBPOST,NEST,HYDRO,IOOMG,IOALL - logical, parameter :: debugprint = .false., zerout = .false. -! logical, parameter :: debugprint = .true., zerout = .false. - CHARACTER*32 LABEL - CHARACTER*40 CONTRL,FILALL,FILMST,FILTMP,FILTKE,FILUNV,FILCLD,FILRAD,FILSFC - CHARACTER*4 RESTHR - CHARACTER FNAME*255,ENVAR*50 - INTEGER IDATE(8),JDATE(8),JPDS(200),JGDS(200),KPDS(200),KGDS(200) -! LOGICAL*1 LB(IM,JM) -! -! INCLUDE COMMON BLOCKS. -! -! DECLARE VARIABLES. -! -! REAL fhour - integer nfhour ! forecast hour from nems io file - REAL RINC(5) - - REAL DUMMY(IM,JM), DUMMY2(IM,JM) - real, allocatable :: fi(:,:,:) -!jw - integer ii,jj,js,je,iyear,imn,iday,itmp,ioutcount,istatus, & - I,J,L,ll,k,kf,irtn,igdout,n,Index,nframe, & - impf,jmpf,nframed2,iunitd3d,ierr,idum,iret - real TSTART,TLMH,TSPH,ES,FACT,soilayert,soilayerb,zhour,dum, & - tvll,pmll,tv - - character*8, allocatable :: recname(:) - character*16,allocatable :: reclevtyp(:) - integer, allocatable :: reclev(:) - real, allocatable :: glat1d(:), glon1d(:), qstl(:) - real, allocatable :: wrk1(:,:), wrk2(:,:) - real, allocatable :: p2d(:,:), t2d(:,:), q2d(:,:), & - qs2d(:,:), cw2d(:,:), cfr2d(:,:) - real(kind=4),allocatable :: vcoord4(:,:,:) - real, dimension(lm+1) :: ak5, bk5 - real*8, allocatable :: pm2d(:,:), pi2d(:,:) - - real buf(im,jsta_2l:jend_2u) - -! real buf(im,jsta_2l:jend_2u),bufsoil(im,nsoil,jsta_2l:jend_2u) & -! ,buf3d(im,jsta_2l:jend_2u,lm),buf3d2(im,lp1,jsta_2l:jend_2u) - - real LAT, isa, jsa -! REAL, PARAMETER :: QMIN = 1.E-15 - -! DATA BLANK/' '/ -! -!*********************************************************************** -! START INIT HERE. -! - WRITE(6,*)'INITPOST: ENTER INITPOST_GFS_NEMS' - WRITE(6,*)'me=',me,'LMV=',size(LMV,1),size(LMV,2),'LMH=', & - size(LMH,1),size(LMH,2),'jsta_2l=',jsta_2l,'jend_2u=', & - jend_2u,'im=',im -! - isa = im / 2 - jsa = (jsta+jend) / 2 - -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - buf(i,j) = spval - enddo - enddo -! -! STEP 1. READ MODEL OUTPUT FILE -! -! -!*** -! -! LMH and LMV always = LM for sigma-type vert coord - -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i = 1, im - LMV(i,j) = lm - LMH(i,j) = lm - end do - end do - -! HTM VTM all 1 for sigma-type vert coord - -!$omp parallel do private(i,j,l) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - HTM (i,j,l) = 1.0 - VTM (i,j,l) = 1.0 - end do - end do - end do -! -! how do I get the filename? -! fileName = '/ptmp/wx20mb/wrfout_01_030500' -! DateStr = '2002-03-05_18:00:00' -! how do I get the filename? -! call ext_int_ioinit(SysDepInfo,Status) -! print*,'called ioinit', Status -! call ext_int_open_for_read( trim(fileName), 0, 0, " ", -! & DataHandle, Status) -! print*,'called open for read', Status -! if ( Status /= 0 ) then -! print*,'error opening ',fileName, ' Status = ', Status ; stop -! endif -! get date/time info -! this routine will get the next time from the file, not using it -! print *,'DateStr before calling ext_int_get_next_time=',DateStr -! call ext_int_get_next_time(DataHandle, DateStr, Status) -! print *,'DateStri,Status,DataHandle = ',DateStr,Status,DataHandle - -! The end j row is going to be jend_2u for all variables except for V. - - JS = JSTA_2L - JE = JEND_2U - -! get start date - if (me == 0)then - print*,'nrec=',nrec - allocate(recname(nrec),reclevtyp(nrec),reclev(nrec)) - allocate(glat1d(im*jm),glon1d(im*jm)) - allocate(vcoord4(lm+1,3,2)) - call nemsio_getfilehead(nfile,iret=iret & - ,idate=idate(1:7),nfhour=nfhour,recname=recname & - ,reclevtyp=reclevtyp,reclev=reclev,lat=glat1d & - ,lon=glon1d,nframe=nframe,vcoord=vcoord4) - if(iret/=0)print*,'error getting idate,nfhour' - print *,'latstar1=',glat1d(1),glat1d(im*jm) -! print *,'printing an inventory of GFS nemsio file' -! do i=1,nrec -! print *,'recname=',(trim(recname(i))) -! print *,'reclevtyp=',(trim(reclevtyp(i))) -! print *,'reclev=',(reclev(i)) -! end do -! deallocate (recname,reclevtyp,reclev) - -! call nemsio_getfilehead(ffile,nrec=idum) -! print*,'nrec for flux file = ',idum -! allocate(recname(idum),reclevtyp(idum),reclev(idum)) -! call nemsio_getfilehead(ffile,iret=iret, & -! recname=recname,reclevtyp=reclevtyp,reclev=reclev) -! do i=1,idum -! print *,'recname=',(trim(recname(i))) -! print *,'reclevtyp=',(trim(reclevtyp(i))) -! print *,'reclev=',(reclev(i)) -! end do - -!$omp parallel do private(i,j) - do j=1,jm - do i=1,im - dummy(i,j) = glat1d((j-1)*im+i) - dummy2(i,j) = glon1d((j-1)*im+i) - end do - end do -! - if (hyb_sigp) then - do l=1,lm+1 - ak5(l) = vcoord4(l,1,1) - bk5(l) = vcoord4(l,2,1) - enddo - endif -! - deallocate(recname,reclevtyp,reclev,glat1d,glon1d,vcoord4) -! can't get idate and fhour, specify them for now -! idate(4)=2006 -! idate(2)=9 -! idate(3)=16 -! idate(1)=0 -! fhour=6.0 - print*,'idate before broadcast = ',(idate(i),i=1,7) - end if - call mpi_bcast(idate(1), 7, MPI_INTEGER, 0, mpi_comm_comp, iret) - call mpi_bcast(nfhour, 1, MPI_INTEGER, 0, mpi_comm_comp, iret) - call mpi_bcast(nframe, 1, MPI_INTEGER, 0, mpi_comm_comp, iret) - print*,'idate after broadcast = ',(idate(i),i=1,4) - print*,'nfhour = ',nfhour - - if (hyb_sigp) then - call mpi_bcast(ak5, lm+1, MPI_REAL, 0, mpi_comm_comp, iret) - call mpi_bcast(bk5, lm+1, MPI_REAL, 0, mpi_comm_comp, iret) - endif - if (me == 0) print *,' ak5=',ak5 - if (me == 0) print *,' bk5=',bk5 - -! sample print point - ii = im/2 - jj = jm/2 - call mpi_scatterv(dummy(1,1),icnt,idsp,mpi_real & - ,gdlat(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,ierr) - call mpi_scatterv(dummy2(1,1),icnt,idsp,mpi_real & - ,gdlon(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,ierr) - - print *,'before call EXCH,mype=',me,'max(gdlat)=',maxval(gdlat), & - 'max(gdlon)=', maxval(gdlon) - CALL EXCH(gdlat(1,JSTA_2L)) - print *,'after call EXCH,mype=',me - -!$omp parallel do private(i,j) - do j = jsta, jend_m - do i = 1, im-1 - DX (i,j) = ERAD*COS(GDLAT(I,J)*DTR) *(GDLON(I+1,J)-GDLON(I,J))*DTR - DY (i,j) = ERAD*(GDLAT(I,J)-GDLAT(I,J+1))*DTR ! like A*DPH -! F(I,J)=1.454441e-4*sin(gdlat(i,j)*DTR) ! 2*omeg*sin(phi) -! if (i == ii .and. j == jj) print*,'sample LATLON, DY, DY=' & -! ,i,j,GDLAT(I,J),GDLON(I,J),DX(I,J),DY(I,J) - end do - end do - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - F(I,J) = 1.454441e-4*sin(gdlat(i,j)*DTR) ! 2*omeg*sin(phi) - end do - end do - - impf = im - jmpf = jm - print*,'impf,jmpf,nframe= ',impf,jmpf,nframe - -!MEB not sure how to get these - ! waiting to read in lat lon from GFS soon -! varname='GLAT' -! call retrieve_index(index,VarName,varname_all,nrecs,iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! GDLAT=SPVAL -! else -! this_offset=file_offset(index+1)+(jsta_2l-1)*4*im -! this_length=im*(jend_2u-jsta_2l+1) -! call mpi_file_read_at(iunit,this_offset -! + ,buf,this_length,mpi_real4 -! + , mpi_status_ignore, ierr) -! if (ierr /= 0) then -! print*,"Error reading ", VarName,"Assigned missing values" -! GDLAT=SPVAL -! else -! do j = jsta_2l, jend_2u -! do i = 1, im -! F(I,J)=1.454441e-4*sin(buf(I,J)) ! 2*omeg*sin(phi) -! GDLAT(I,J)=buf(I,J)*RTD - -! enddo -! enddo -! end if -! end if - -! varname='GLON' -! call retrieve_index(index,VarName,varname_all,nrecs,iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! GDLON=SPVAL -! else -! this_offset=file_offset(index+1)+(jsta_2l-1)*4*im -! this_length=im*(jend_2u-jsta_2l+1) -! call mpi_file_read_at(iunit,this_offset -! + ,buf,this_length,mpi_real4 -! + , mpi_status_ignore, ierr) -! if (ierr /= 0) then -! print*,"Error reading ", VarName,"Assigned missing values" -! GDLON=SPVAL -! else -! do j = jsta_2l, jend_2u -! do i = 1, im -! GDLON(I,J)=buf(I,J)*RTD -! if(i == 409.and.j == 835)print*,'GDLAT GDLON in INITPOST=' -! + ,i,j,GDLAT(I,J),GDLON(I,J) -! enddo -! enddo -! end if -! end if - -! if(jsta<=594.and.jend>=594)print*,'gdlon(120,594)= ', -! + gdlon(120,594) - - -! iyear=idate(4)+2000 ! older gfsio only has 2 digit year - iyear = idate(1) - imn = idate(2) ! ask Jun - iday = idate(3) ! ask Jun - ihrst = idate(4) - imin = idate(5) - jdate = 0 - idate = 0 -! -! read(startdate,15)iyear,imn,iday,ihrst,imin - 15 format(i4,1x,i2,1x,i2,1x,i2,1x,i2) - print*,'start yr mo day hr min =',iyear,imn,iday,ihrst,imin - print*,'processing yr mo day hr min=' & - ,idat(3),idat(1),idat(2),idat(4),idat(5) -! - idate(1) = iyear - idate(2) = imn - idate(3) = iday - idate(5) = ihrst - idate(6) = imin - SDAT(1) = imn - SDAT(2) = iday - SDAT(3) = iyear - jdate(1) = idat(3) - jdate(2) = idat(1) - jdate(3) = idat(2) - jdate(5) = idat(4) - jdate(6) = idat(5) -! - print *,' idate=',idate - print *,' jdate=',jdate -! CALL W3DIFDAT(JDATE,IDATE,2,RINC) -! ifhr=nint(rinc(2)) -! - CALL W3DIFDAT(JDATE,IDATE,0,RINC) -! - print *,' rinc=',rinc - ifhr = nint(rinc(2)+rinc(1)*24.) - print *,' ifhr=',ifhr - ifmin = nint(rinc(3)) -! if(ifhr /= nint(fhour))print*,'find wrong Grib file';stop - print*,' in INITPOST ifhr ifmin fileName=',ifhr,ifmin,fileName - -! GFS has the same accumulation bucket for precipitation and fluxes and it is written to header -! the header has the start hour information so post uses it to recontruct bucket - if(me==0)then - call nemsio_getheadvar(ffile,'zhour',zhour,iret=iret) - if(iret==0)then - tprec = 1.0*ifhr-zhour - tclod = tprec - trdlw = tprec - trdsw = tprec - tsrfc = tprec - tmaxmin = tprec - td3d = tprec - print*,'tprec from flux file header= ',tprec - else - print*,'Error reading accumulation bucket from flux file', & - 'header - will try to read from env variable FHZER' - CALL GETENV('FHZER',ENVAR) - read(ENVAR, '(I2)')idum - tprec = idum*1.0 - tclod = tprec - trdlw = tprec - trdsw = tprec - tsrfc = tprec - tmaxmin = tprec - td3d = tprec - print*,'TPREC from FHZER= ',tprec - end if - end if - - call mpi_bcast(tprec, 1,MPI_REAL,0,mpi_comm_comp,iret) - call mpi_bcast(tclod, 1,MPI_REAL,0,mpi_comm_comp,iret) - call mpi_bcast(trdlw, 1,MPI_REAL,0,mpi_comm_comp,iret) - call mpi_bcast(trdsw, 1,MPI_REAL,0,mpi_comm_comp,iret) - call mpi_bcast(tsrfc, 1,MPI_REAL,0,mpi_comm_comp,iret) - call mpi_bcast(tmaxmin,1,MPI_REAL,0,mpi_comm_comp,iret) - call mpi_bcast(td3d, 1,MPI_REAL,0,mpi_comm_comp,iret) - -! Getting tstart - tstart=0. -! VarName='TSTART' -! call retrieve_index(index,VarName,varname_all,nrecs,iret) -! if (iret /= 0) then -! print*,VarName," not found in file" -! else -! call mpi_file_read_at(iunit,file_offset(index)+5*4 -! + ,garb,1,mpi_real4 -! + , mpi_status_ignore, ierr) -! if (ierr /= 0) then -! print*,"Error reading ", VarName," using MPIIO" -! else -! print*,VarName, ' from MPIIO READ= ',garb -! tstart=garb -! end if -! end if - print*,'tstart= ',tstart - -! Getiing restart - - RESTRT=.TRUE. ! set RESTRT as default -! call ext_int_get_dom_ti_integer(DataHandle,'RESTARTBIN',itmp -! + ,1,ioutcount,istatus) - -! IF(itmp < 1)THEN -! RESTRT=.FALSE. -! ELSE -! RESTRT=.TRUE. -! END IF - -! print*,'status for getting RESTARTBIN= ',istatus - -! print*,'Is this a restrt run? ',RESTRT - - IF(tstart > 1.0E-2)THEN - ifhr = ifhr+NINT(tstart) - rinc = 0 - idate = 0 - rinc(2) = -1.0*ifhr - call w3movdat(rinc,jdate,idate) - SDAT(1) = idate(2) - SDAT(2) = idate(3) - SDAT(3) = idate(1) - IHRST = idate(5) - print*,'new forecast hours for restrt run= ',ifhr - print*,'new start yr mo day hr min =',sdat(3),sdat(1) & - ,sdat(2),ihrst,imin - END IF - - imp_physics = 99 !set GFS mp physics to 99 for Zhao scheme - print*,'MP_PHYSICS= ',imp_physics - -! Initializes constants for Ferrier microphysics - if(imp_physics==5 .or. imp_physics==85 .or. imp_physics==95)then - CALL MICROINIT(imp_physics) - end if - -! IVEGSRC=1 for IGBP, 0 for USGS, 2 for UMD - VarName='IVEGSRC' - if(me == 0)then - call nemsio_getheadvar(nfile,trim(VarName),IVEGSRC,iret) - if (iret /= 0) then - print*,VarName,' not found in file-Assigned 2 for UMD as default' - IVEGSRC=1 - end if - end if - call mpi_bcast(IVEGSRC,1,MPI_INTEGER,0,mpi_comm_comp,iret) - print*,'IVEGSRC= ',IVEGSRC - -! set novegtype based on vegetation classification - if(ivegsrc==2)then - novegtype=13 - else if(ivegsrc==1)then - novegtype=20 - else if(ivegsrc==0)then - novegtype=24 - end if - print*,'novegtype= ',novegtype - - VarName='CU_PHYSICS' - if(me == 0)then - call nemsio_getheadvar(nfile,trim(VarName),iCU_PHYSICS,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned 4 for SAS as default" - iCU_PHYSICS=4 - end if - end if - call mpi_bcast(iCU_PHYSICS,1,MPI_INTEGER,0,mpi_comm_comp,iret) - if (me == 0) print*,'CU_PHYSICS= ',iCU_PHYSICS -! waiting to retrieve lat lon infor from raw GFS output -! VarName='DX' - -! VarName='DY' - -! GFS does not need DT to compute accumulated fields, set it to one -! VarName='DT' - DT=1 -! GFS does not need truelat -! VarName='TRUELAT1' - -! VarName='TRUELAT2' - -! Specigy maptype=4 for Gaussian grid -! maptype=4 -! write(6,*) 'maptype is ', maptype -! HBM2 is most likely not in Grib message, set them to ones - HBM2=1.0 - -! try to get kgds from flux grib file and then convert to igds that is used by GRIBIT.f -! flux files are now nemsio files so comment the following lines out -! if(me == 0)then -! jpds=-1.0 -! jgds=-1.0 -! igds=0 -! call getgb(iunit,0,im_jm,0,jpds,jgds,kf & -! ,k,kpds,kgds,lb,dummy,ierr) -! if(ierr == 0)then -! call R63W72(KPDS,KGDS,JPDS,IGDS(1:18)) -! print*,'in INITPOST_GFS,IGDS for GFS= ',(IGDS(I),I=1,18) -! end if -! end if -! call mpi_bcast(igds(1),18,MPI_INTEGER,0,mpi_comm_comp,iret) -! print*,'IGDS for GFS= ',(IGDS(I),I=1,18) - -! Specigy grid type -! if(iostatusFlux==0)then - if(IGDS(4)/=0)then - maptype=IGDS(3) - else if((im/2+1)==jm)then - maptype=0 !latlon grid - else - maptype=4 ! default gaussian grid - end if - gridtype='A' - - if (me == 0) write(6,*) 'maptype and gridtype is ', maptype,gridtype - -! start retrieving data using gfsio, first land/sea mask - -! VarName='land' -! VcoordName='sfc' -! l=1 - -! if(me == 0)then -! call gfsio_readrecvw34(gfile,trim(VarName),trim(VcoordName) -! + ,l,dummy,iret=iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! dummy=spval -! else -! -! do j = 1, jm -! do i = 1, im -! dummy(I,J)=1.0 - dummy(I,J) ! convert Grib message to 2D -! if (j == jm/2 .and. mod(i,10) == 0) -! + print*,'sample ',VarName, ' = ',i,j,dummy(i,j) -! -! enddo -! enddo -! end if -! end if -! -! call mpi_scatterv(dummy,icnt,idsp,mpi_real -! + ,sm(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) -! if (iret /= 0)print*,'Error scattering array';stop - - VcoordName='sfc' ! surface fileds - l=1 - -! start retrieving data using getgb, first land/sea mask - VarName='land' - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,impf,jmpf,nframe,sm) - -! where(sm /= spval)sm=1.0-sm ! convert to sea mask -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= spval) sm(i,j) = 1.0 - sm(i,j) - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',sm(isa,jsa) - - -! sea ice mask using getgb - - VarName='icec' - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,sice) - -! if(debugprint)print*,'sample ',VarName,' = ',sice(isa,jsa) - -! where(sice /=spval .and. sice >=1.0)sm=0.0 !sea ice has sea mask=0 -! GFS flux files have land points with non-zero sea ice, per Iredell, these -! points have sea ice changed to zero, i.e., trust land mask more than sea ice -! where(sm/=spval .and. sm==0.0)sice=0.0 !specify sea ice=0 at land - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= spval .and. sm(i,j) == 0.0) sice(i,j) = 0.0 - enddo - enddo - -! Terrain height * G using nemsio - VarName='hgt' - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,fis) - -! where(fis /= spval)fis=fis*grav - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (fis(i,j) /= spval) then - zint(i,j,lp1) = fis(i,j) - fis(i,j) = fis(i,j) * grav - - endif - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',fis(isa,jsa) - -! Surface pressure using nemsio - VarName='pres' - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,pint(1,jsta_2l,lp1)) - -! if(debugprint)print*,'sample surface pressure = ',pint(isa,jsa,lp1 - -! -! vertical loop for Layer 3d fields -! -------------------------------- - VcoordName = 'mid layer' - - do l=1,lm - ll=lm-l+1 - -! model level T - print*,'start retrieving GFS T using nemsio' - VarName='tmp' - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,t(1,jsta_2l,ll)) - -! if(debugprint)print*,'sample ',ll,VarName,' = ',ll,t(isa,jsa,ll) - -! model level q - VarName='spfh' - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,q(1,jsta_2l,ll)) -! if(debugprint)print*,'sample ',ll,VarName,' = ',ll,q(isa,jsa,ll) - -! i model level u - VarName='ugrd' - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,uh(1,jsta_2l,ll)) -! if(debugprint)print*,'sample ',ll,VarName,' = ',ll,uh(isa,jsa,ll) - -! model level v - VarName='vgrd' - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,vh(1,jsta_2l,ll)) -! if(debugprint)print*,'sample ',ll,VarName,' = ',ll,vh(isa,jsa,ll) - -! model level pressure - if (.not. hyb_sigp) then - VarName='pres' - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,pmid(1,jsta_2l,ll)) -! if(debugprint)print*,'sample ',ll,VarName,' = ',ll,pmid(isa,jsa,ll) - -! GFS is on A grid and does not need PMIDV - -! dp - VarName='dpres' -! write(0,*)' bef getnemsandscatter ll=',ll,' l=',l,VarName - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,dpres(1,jsta_2l,ll)) -! if(debugprint)print*,'sample ',ll,VarName,' = ',ll,pmid(isa,jsa,ll) - endif -! ozone mixing ratio - VarName='o3mr' - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,o3(1,jsta_2l,ll)) - -! if(debugprint)print*,'sample ',ll,VarName,' = ',ll,o3(isa,jsa,ll) -! write(1000+me,*)'sample ',ll,VarName,' = ',ll,o3(isa,jsa,ll) - -! cloud water and ice mixing ratio for zhao scheme -! need to look up old eta post to derive cloud water/ice from cwm -! Zhao scheme does not produce suspended rain and snow - -!$omp parallel do private(i,j) - do j = jsta, jend - do i=1,im - qqw(i,j,ll) = 0. - qqr(i,j,ll) = 0. - qqs(i,j,ll) = 0. - qqi(i,j,ll) = 0. - enddo - enddo - - VarName='clwmr' - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,cwm(1,jsta_2l,ll)) -! if(debugprint)print*,'sample ',ll,VarName,' = ',ll,cwm(isa,jsa,ll) - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if(t(i,j,ll) < (TFRZ-15.) )then ! dividing cloud water from ice - qqi(i,j,ll) = cwm(i,j,ll) - else - qqw(i,j,ll) = cwm(i,j,ll) - end if -! if (j == jm/2 .and. mod(i,50) == 0) -! + print*,'sample ',trim(VarName), ' after scatter= ' -! + ,i,j,ll,cwm(i,j,ll) - end do - end do -! if (iret /= 0)print*,'Error scattering array';stop - -! pressure vertical velocity - VarName='vvel' - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,omga(1,jsta_2l,ll)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,omga(isa,jsa,ll) - -! With SHOC NEMS/GSM does output TKE now - VarName='tke' - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,q2(1,jsta_2l,ll)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,q2(isa,jsa,ll) - - - end do ! do loop for l - -! construct interface pressure from model top (which is zero) and dp from top down PDTOP -! pdtop = spval - pt = 0. -! pd = spval ! GFS does not output PD - - ii = im/2 - jj = (jsta+jend)/2 - -!!!!! COMPUTE Z, GFS integrates Z on mid-layer instead -!!! use GFS contants to see if height becomes more aggreable to GFS pressure grib file - if (hyb_sigp) then - do l=lm,1,-1 -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - pint(i,j,l) = ak5(lm+2-l) + bk5(lm+2-l)*pint(i,j,lp1) - pmid(i,j,l) = 0.5*(pint(i,j,l)+pint(i,j,l+1)) ! for now - Moorthi - enddo - enddo - if (me == 0) print*,'sample pint,pmid' ,ii,jj,l,pint(ii,jj,l),pmid(ii,jj,l) - enddo - else - do l=2,lm -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - pint(i,j,l) = pint(i,j,l-1) + dpres(i,j,l-1) - enddo - enddo - if (me == 0) print*,'sample pint,pmid' ,ii,jj,l,pint(ii,jj,l),pmid(ii,jj,l) - end do - endif - - allocate(wrk1(im,jsta:jend),wrk2(im,jsta:jend)) - allocate(fi(im,jsta:jend,2)) - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - pd(i,j) = spval ! GFS does not output PD - pint(i,j,1) = PT - alpint(i,j,lp1) = log(pint(i,j,lp1)) - wrk1(i,j) = log(PMID(I,J,LM)) - wrk2(i,j) = T(I,J,LM)*(Q(I,J,LM)*fv+1.0) - FI(I,J,1) = FIS(I,J) & - + wrk2(i,j)*rgas*(ALPINT(I,J,Lp1)-wrk1(i,j)) - ZMID(I,J,LM) = FI(I,J,1) * gravi - end do - end do - - print *,' Tprof=',t(ii,jj,:) - print *,' Qprof=',q(ii,jj,:) - -! SECOND, INTEGRATE HEIGHT HYDROSTATICLY, GFS integrate height on mid-layer - - DO L=LM,2,-1 ! omit computing model top height because it's infinity - ll = l - 1 -! write(0,*)' me=',me,'ll=',ll,' gravi=',gravi,rgas,' fv=',fv -!$omp parallel do private(i,j,tvll,pmll,fact) - do j = jsta, jend -! write(0,*)' j=',j,' me=',me - do i = 1, im - alpint(i,j,l) = log(pint(i,j,l)) - tvll = T(I,J,LL)*(Q(I,J,LL)*fv+1.0) - pmll = log(PMID(I,J,LL)) - -! if (me == 0 .and. i == ii .and. j == jj ) print*,'L ZINT= ',l,' tvll =', tvll, & -! ' pmll=',pmll,' wrk2=',wrk2(i,j),' wrk1=',wrk1(i,j),' fi1=',fi(i,j,1), & -! ' T=',T(i,j,LL),' Q=',Q(i,j,ll) - - FI(I,J,2) = FI(I,J,1) + (0.5*rgas)*(wrk2(i,j)+tvll) & - * (wrk1(i,j)-pmll) - ZMID(I,J,LL) = FI(I,J,2) * gravi -! - FACT = (ALPINT(I,J,L)-wrk1(i,j)) / (pmll-wrk1(i,j)) - ZINT(I,J,L) = ZMID(I,J,L) + (ZMID(I,J,LL)-ZMID(I,J,L)) * FACT - FI(I,J,1) = FI(I,J,2) - wrk1(i,J) = pmll - wrk2(i,j) = tvll -! if (me == 0 .and. i == ii .and. j == jj ) print*,'L ZINT= ',l,zint(ii,jj,l), & -! 'alpint=',ALPINT(ii,jj,l),'pmid=',LOG(PMID(Ii,Jj,L)),'pmid(l-1)=', & -! LOG(PMID(Ii,Jj,L-1)),'zmd=',ZMID(Ii,Jj,L),'zmid(l-1)=',ZMID(Ii,Jj,L-1) - ENDDO - ENDDO - - if (me == 0) print*,'L ZINT= ',l,zint(ii,jj,l), & - 'alpint=',ALPINT(ii,jj,l),'pmid=',LOG(PMID(Ii,Jj,L)),'pmid(l-1)=', & - LOG(PMID(Ii,Jj,L-1)),'zmd=',ZMID(Ii,Jj,L),'zmid(l-1)=',ZMID(Ii,Jj,L-1) - ENDDO - deallocate(wrk1,wrk2,fi) - - - if (gocart_on) then - -! GFS output dust in nemsio (GOCART) - do n=1,nbin_du - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - dust(i,j,l,n) = spval - enddo - enddo - enddo - enddo -! DUST = SPVAL - VarName='du001' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,dust(1,jsta_2l,ll,1)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,dust(isa,jsa,ll,1) - end do ! do loop for l - - VarName='du002' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,dust(1,jsta_2l,ll,2)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,dust(isa,jsa,ll,2) - end do ! do loop for l - - VarName='du003' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,dust(1,jsta_2l,ll,3)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,dust(isa,jsa,ll,3) - end do ! do loop for l - - VarName='du004' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,dust(1,jsta_2l,ll,4)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,dust(isa,jsa,ll,4) - end do ! do loop for l - - VarName='du005' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,dust(1,jsta_2l,ll,5)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,dust(isa,jsa,ll,5) - end do ! do loop for l -! -! GFS output sea salt in nemsio (GOCART) - do n=1,nbin_ss - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - salt(i,j,l,n) = spval - enddo - enddo - enddo - enddo -! SALT = SPVAL - VarName='ss001' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,salt(1,jsta_2l,ll,1)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,salt(isa,jsa,ll,1) - end do ! do loop for l - - VarName='ss002' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,salt(1,jsta_2l,ll,2)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,salt(isa,jsa,ll,2) - end do ! do loop for l - - VarName='ss003' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,salt(1,jsta_2l,ll,3)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,salt(isa,jsa,ll,3) - end do ! do loop for l - - VarName='ss004' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,salt(1,jsta_2l,ll,4)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,salt(isa,jsa,ll,4) - end do ! do loop for l - - VarName='ss005' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,salt(1,jsta_2l,ll,5)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,salt(isa,jsa,ll,5) - end do ! do loop for l - -! GFS output black carbon in nemsio (GOCART) - do n=1,nbin_oc - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - soot(i,j,l,n) = spval - enddo - enddo - enddo - enddo -! SOOT = SPVAL - VarName='bcphobic' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,soot(1,jsta_2l,ll,1)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,soot(isa,jsa,ll,1) - end do ! do loop for l - - VarName='bcphilic' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,soot(1,jsta_2l,ll,2)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,soot(isa,jsa,ll,2) - end do ! do loop for l - -! GFS output organic carbon in nemsio (GOCART) - do n=1,nbin_oc - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - waso(i,j,l,n) = spval - enddo - enddo - enddo - enddo -! WASO = SPVAL - VarName='ocphobic' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,waso(1,jsta_2l,ll,1)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,waso(isa,jsa,ll,1) - end do ! do loop for l - - VarName='ocphilic' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,waso(1,jsta_2l,ll,2)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,waso(isa,jsa,ll,2) - end do ! do loop for l - -! GFS output sulfate in nemsio (GOCART) - do n=1,nbin_su - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - suso(i,j,l,n) = spval - enddo - enddo - enddo - enddo -! SUSO = SPVAL - VarName='so4' - VcoordName='mid layer' - do l=1,lm - ll=lm-l+1 - call getnemsandscatter(me,nfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,suso(1,jsta_2l,ll,1)) -! if(debugprint)print*,'sample l ',VarName,' = ',ll,suso(isa,jsa,ll,1) - end do ! do loop for l - - -! -- compute air density RHOMID and remove negative tracer values - do l=1,lm -!$omp parallel do private(i,j,n,tv) - do j=jsta,jend - do i=1,im - - TV = T(I,J,L) * (H1+D608*MAX(Q(I,J,L),QMIN)) - RHOMID(I,J,L) = PMID(I,J,L) / (RD*TV) - do n = 1, NBIN_DU - IF ( dust(i,j,l,n) < SPVAL) THEN - DUST(i,j,l,n) = MAX(DUST(i,j,l,n), 0.0) - ENDIF - enddo - do n = 1, NBIN_SS - IF ( salt(i,j,l,n) < SPVAL) THEN - SALT(i,j,l,n) = MAX(SALT(i,j,l,n), 0.0) - ENDIF - enddo - do n = 1, NBIN_OC - IF ( waso(i,j,l,n) < SPVAL) THEN - WASO(i,j,l,n) = MAX(WASO(i,j,l,n), 0.0) - ENDIF - enddo - do n = 1, NBIN_BC - IF ( soot(i,j,l,n) < SPVAL) THEN - SOOT(i,j,l,n) = MAX(SOOT(i,j,l,n), 0.0) - ENDIF - enddo - do n = 1, NBIN_SU - IF ( suso(i,j,l,n) < SPVAL) THEN - SUSO(i,j,l,n) = MAX(SUSO(i,j,l,n), 0.0) - ENDIF - enddo - - end do - end do - end do - endif ! endif for gocart_on -! - -! PBL height using nemsio - VarName='hpbl' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,pblh) -! if(debugprint)print*,'sample ',VarName,' = ',pblh(isa,jsa) - -! frictional velocity using nemsio - VarName='fricv' -! VcoordName='sfc' -! l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,ustar) -! if(debugprint)print*,'sample ',VarName,' = ',ustar(isa,jsa) - -! roughness length using getgb - VarName='sfcr' -! VcoordName='sfc' -! l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,z0) -! if(debugprint)print*,'sample ',VarName,' = ',z0(isa,jsa) - -! surface potential T using getgb - VarName='tmp' -! VcoordName='sfc' -! l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,ths) - -! where(ths/=spval)ths=ths*(p1000/pint(:,:,lp1))**CAPA ! convert to THS - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (ths(i,j) /= spval) then -! write(0,*)' i=',i,' j=',j,' ths=',ths(i,j),' pint=',pint(i,j,lp1) - ths(i,j) = ths(i,j) * (p1000/pint(i,j,lp1))**capa - endif - QS(i,j) = SPVAL ! GFS does not have surface specific humidity - twbs(i,j) = SPVAL ! GFS does not have inst sensible heat flux - qwbs(i,j) = SPVAL ! GFS does not have inst latent heat flux - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',ths(isa,jsa) - - -! GFS does not have time step and physics time step, make up ones since they -! are not really used anyway - NPHS=2. - DT=80. - DTQ2 = DT * NPHS !MEB need to get physics DT - TSPH = 3600./DT !MEB need to get DT -! All GFS time-averaged quantities are in 6 hour bucket -! TPREC=6.0 - -! convective precip in m per physics time step using gfsio -! VarName='cprat' -! VcoordName='sfc' -! l=1 -! if(me == 0)then -! call gfsio_readrecvw34(gfile,trim(VarName),trim(VcoordName) & -! + ,l,dummy,iret=iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! dummy=spval -! else -! do j = 1, jm -! do i = 1, im -! dummy(I,J)= dummy(i,j)*dtq2/1000. ! convert to m -! if (j == jm/2 .and. mod(i,50) == 0) -! + print*,'sample ',VarName, ' = ',i,j,dummy(i,j) -! enddo -! enddo -! end if -! end if -! call mpi_scatterv(dummy,icnt,idsp,mpi_real & -! + , avgcprate(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) -! if (iret /= 0)print*,'Error scattering array';stop - -! convective precip in m per physics time step using getgb - VarName='cprat' -! VcoordName='sfc' -! l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,avgcprate) -! where(avgcprate /= spval)avgcprate=avgcprate*dtq2/1000. ! convert to m -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcprate(i,j) /= spval) avgcprate(i,j) = avgcprate(i,j) * (dtq2*0.001) - cprate(i,j) = avgcprate(i,j) - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',avgcprate(isa,jsa) - -! print*,'maxval CPRATE: ', maxval(CPRATE) - -! precip rate in m per physics time step using getgb - VarName='prate' -! VcoordName='sfc' -! l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,avgprec) -! where(avgprec /= spval)avgprec=avgprec*dtq2/1000. ! convert to m -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgprec(i,j) /= spval) avgprec(i,j) = avgprec(i,j) * (dtq2*0.001) - enddo - enddo - -! if(debugprint)print*,'sample ',VarName,' = ',avgprec(isa,jsa) - - prec=avgprec !set avg cprate to inst one to derive other fields - -! GFS does not have accumulated total, gridscale, and convective precip, will use inst precip to derive in SURFCE.f - - -! inst snow water eqivalent using nemsio - VarName='weasd' -! VcoordName='sfc' -! l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,sno) -! if(debugprint)print*,'sample ',VarName,' = ',sno(isa,jsa) - -! snow depth in mm using nemsio - VarName='snod' -! VcoordName='sfc' -! l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,si) -! where(si /= spval)si=si*1000. ! convert to mm -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (si(i,j) /= spval) si(i,j) = si(i,j) * 1000.0 - CLDEFI(i,j) = SPVAL ! GFS does not have convective cloud efficiency - lspa(i,j) = spval ! GFS does not have similated precip - TH10(i,j) = SPVAL ! GFS does not have 10 m theta - TH10(i,j) = SPVAL ! GFS does not have 10 m theta - Q10(i,j) = SPVAL ! GFS does not have 10 m humidity - ALBASE(i,j) = SPVAL ! GFS does not have snow free albedo - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',si(isa,jsa) - -!!$omp parallel do private(i,j,l) -! do l=1,lm -! do j=jsta,jend -! do i=1,im -! Q2(i,j,l) = SPVAL ! GFS does not have TKE because it uses MRF scheme -! ! GFS does not have surface exchange coeff -! enddo -! enddo -! enddo - -! 2m T using nemsio - VarName='tmp' - VcoordName='2 m above gnd' -! l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,tshltr) -! if(debugprint)print*,'sample ',VarName,' = ',tshltr(isa,jsa) - -! GFS does not have 2m pres, estimate it, also convert t to theta - Do j=jsta,jend - Do i=1,im - PSHLTR(I,J)=pint(I,J,lm+1)*EXP(-0.068283/tshltr(i,j)) - tshltr(i,j)= tshltr(i,j)*(p1000/PSHLTR(I,J))**CAPA ! convert to theta -! if (j == jm/2 .and. mod(i,50) == 0) -! + print*,'sample 2m T and P after scatter= ' -! + ,i,j,tshltr(i,j),pshltr(i,j) - end do - end do - -! 2m specific humidity using gfsio -! VarName='spfh' -! VcoordName='2m above gnc' -! l=1 -! if(me == 0)then -! call gfsio_readrecvw34(gfile,trim(VarName),trim(VcoordName) & -! + ,l,dummy,iret=iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! dummy=spval -! end if -! end if -! call mpi_scatterv(dummy,icnt,idsp,mpi_real & -! + ,qshltr(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) -! if (iret /= 0)print*,'Error scattering array';stop - -! 2m specific humidity using nemsio - VarName='spfh' - VcoordName='2 m above gnd' -! l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,qshltr) -! if(debugprint)print*,'sample ',VarName,' = ',qshltr(isa,jsa) - - -! mid day avg albedo in fraction using gfsio -! VarName='albdo' -! VcoordName='sfc' -! l=1 -! if(me == 0)then -! call gfsio_readrecvw34(gfile,trim(VarName),trim(VcoordName) & -! + ,l,dummy,iret=iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! dummy=spval -! else -! do j = 1, jm -! do i = 1, im -! dummy(I,J)= dummy(i,j)/100. ! convert to fraction -! if (j == jm/2 .and. mod(i,50) == 0) -! + print*,'sample ',VarName, ' = ',i,j,dummy(i,j) -! enddo -! enddo -! end if -! end if -! call mpi_scatterv(dummy,icnt,idsp,mpi_real & -! + ,avgalbedo(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) -! if (iret /= 0)print*,'Error scattering array';stop - -! mid day avg albedo in fraction using nemsio - VarName='albdo' - VcoordName='sfc' -! l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,avgalbedo) -! where(avgalbedo /= spval)avgalbedo=avgalbedo/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgalbedo(i,j) /= spval) avgalbedo(i,j) = avgalbedo(i,j) * 0.01 - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',avgalbedo(isa,jsa) - -! time averaged column cloud fractionusing nemsio - VarName='tcdc' - VcoordName='atmos col' -! l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,avgtcdc) -! where(avgtcdc /= spval)avgtcdc=avgtcdc/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgtcdc(i,j) /= spval) avgtcdc(i,j) = avgtcdc(i,j) * 0.01 - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',avgtcdc(isa,jsa) - -! GFS probably does not use zenith angle -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - Czen(i,j) = spval - CZMEAN(i,j) = SPVAL - enddo - enddo - -! maximum snow albedo in fraction using nemsio - VarName='mxsalb' - VcoordName='sfc' -! l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,mxsnal) -! where(mxsnal /= spval)mxsnal=mxsnal/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (mxsnal(i,j) /= spval) mxsnal(i,j) = mxsnal(i,j) * 0.01 - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',mxsnal(isa,jsa) - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - radot(i,j) = spval ! GFS does not have inst surface outgoing longwave - enddo - enddo - -! GFS probably does not use sigt4, set it to sig*t^4 -!$omp parallel do private(i,j,tlmh) - Do j=jsta,jend - Do i=1,im - TLMH = T(I,J,LM) * T(I,J,LM) - Sigt4(i,j) = 5.67E-8 * TLMH * TLMH - End do - End do - -! TG is not used, skip it for now - -! will retrive f_ice when GFS switches to Ferrier scheme -! varname='F_ICE' -! call retrieve_index(index,VarName,varname_all,nrecs,iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! F_ice=SPVAL -! else -! this_offset=file_offset(index+1)+(jsta_2l-1)*4*im*lm -! this_length=im*(jend_2u-jsta_2l+1)*lm -! call mpi_file_read_at(iunit,this_offset -! + ,buf3d,this_length,mpi_real4 -! + , mpi_status_ignore, ierr) -! if (ierr /= 0) then -! print*,"Error reading ", VarName,"Assigned missing values" -! F_ice=SPVAL -! else -! do l = 1, lm -! ll=lm-l+1 -! do j = jsta_2l, jend_2u -! do i = 1, im -! F_ice( i, j, l ) = buf3d ( i, ll, j ) -! if(i == im/2.and.j == (jsta+jend)/2)print*,'sample F_ice= ', -! + i,j,l,F_ice( i, j, l ) -! end do -! end do -! end do -! end if -! end if - -! varname='F_RAIN' -! call retrieve_index(index,VarName,varname_all,nrecs,iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! F_rain=SPVAL -! else -! this_offset=file_offset(index+1)+(jsta_2l-1)*4*im*lm -! this_length=im*(jend_2u-jsta_2l+1)*lm -! call mpi_file_read_at(iunit,this_offset -! + ,buf3d,this_length,mpi_real4 -! + , mpi_status_ignore, ierr) -! if (ierr /= 0) then -! print*,"Error reading ", VarName,"Assigned missing values" -! F_rain=SPVAL -! else -! do l = 1, lm -! ll=lm-l+1 -! do j = jsta_2l, jend_2u -! do i = 1, im -! F_rain( i, j, l ) = buf3d ( i, ll, j ) -! if(i == im/2.and.j == (jsta+jend)/2)print*,'sample F_rain= ', -! + i,j,l,F_rain( i, j, l ) -! end do -! end do -! end do -! end if -! end if - -! varname='F_RIMEF' -! call retrieve_index(index,VarName,varname_all,nrecs,iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! F_RimeF=SPVAL -! else -! this_offset=file_offset(index+1)+(jsta_2l-1)*4*im*lm -! this_length=im*(jend_2u-jsta_2l+1)*lm -! call mpi_file_read_at(iunit,this_offset -! + ,buf3d,this_length,mpi_real4 -! + , mpi_status_ignore, ierr) -! if (ierr /= 0) then -! print*,"Error reading ", VarName,"Assigned missing values" -! F_RimeF=SPVAL -! else -! do l = 1, lm -! ll=lm-l+1 -! do j = jsta_2l, jend_2u -! do i = 1, im -! F_RimeF( i, j, l ) = buf3d ( i, ll, j ) -! if(i == im/2.and.j == (jsta+jend)/2)print*, -! + 'sample F_RimeF= ',i,j,l,F_RimeF( i, j, l ) -! end do -! end do -! end do -! end if -! end if - -! GFS does not have model level cloud fraction -> derive cloud fraction -! CFR=SPVAL -! allocate(qstl(lm)) -! print*,'start deriving cloud fraction' - -! do j=jsta,jend -! do i=1,im -! do l=1,lm -! if(i==im/2.and.j==jsta)print*,'sample T=',t(i,j,l) -! es=fpvsnew(t(i,j,l)) -! if(i==im/2.and.j==jsta)print*,'sample ES=',es -! es=min(es,pmid(i,j,l)) -! if(i==im/2.and.j==jsta)print*,'sample ES=',es -! qstl(l)=con_eps*es/(pmid(i,j,l)+con_epsm1*es) !saturation q for GFS -! end do -! call progcld1 -!................................... - -! --- inputs: -! & ( pmid(i,j,1:lm)/100.,pint(i,j,1:lm+1)/100., -! & t(i,j,1:lm),q(i,j,1:lm),qstl,cwm(i,j,1:lm), -! & gdlat(i,j),gdlon(i,j), -! & 1, lm, lm+1, 0, -! --- outputs: -! & cfr(i,j,1:lm) -! & ) -! do l=1,lm -! cfr(i,j,l)=cldtot(l) -! end do -! end do -! end do - allocate(p2d(im,lm),t2d(im,lm),q2d(im,lm),cw2d(im,lm), & - qs2d(im,lm),cfr2d(im,lm)) - do j=jsta,jend -!$omp parallel do private(i,k,es) - do k=1,lm - do i=1,im - p2d(i,k) = pmid(i,j,k)*0.01 - t2d(i,k) = t(i,j,k) - q2d(i,k) = q(i,j,k) - cw2d(i,k) = cwm(i,j,k) - es = min(fpvsnew(t(i,j,k)),pmid(i,j,k)) - qs2d(i,k) = eps*es/(pmid(i,j,k)+epsm1*es)!saturation q for GFS - enddo - enddo - call progcld1 & -!................................... -! --- inputs: - ( p2d,t2d,q2d,qs2d,cw2d,im,lm,0, & -! --- outputs: - cfr2d & - ) -!$omp parallel do private(i,k) - do k=1,lm - do i=1,im - cfr(i,j,k) = cfr2d(i,k) - enddo - end do - end do - deallocate(p2d,t2d,q2d,qs2d,cw2d,cfr2d) - - -! ask murthy if there is snow rate in GFS -! varname='SR' -! call retrieve_index(index,VarName,varname_all,nrecs,iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! SR=SPVAL -! else -! this_offset=file_offset(index+1)+(jsta_2l-1)*4*im -! this_length=im*(jend_2u-jsta_2l+1) -! call mpi_file_read_at(iunit,this_offset -! + ,sr,this_length,mpi_real4 -! + , mpi_status_ignore, ierr) -! if (ierr /= 0) then -! print*,"Error reading ", VarName,"Assigned missing values" -! SR=SPVAL -! end if -! end if - -! GFS does not have inst cloud fraction for high, middle, and low cloud -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - cfrach(i,j) = spval - cfracl(i,j) = spval - cfracm(i,j) = spval - enddo - enddo - -! ave high cloud fraction using nemsio - VarName='tcdc' - VcoordName='high cld lay' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,avgcfrach) -! where(avgcfrach /= spval)avgcfrach=avgcfrach/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcfrach(i,j) /= spval) avgcfrach(i,j) = avgcfrach(i,j) * 0.01 - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',avgcfrach(isa,jsa) - -! ave low cloud fraction using nemsio - VarName='tcdc' - VcoordName='low cld lay' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,avgcfracl) -! where(avgcfracl /= spval)avgcfracl=avgcfracl/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcfracl(i,j) /= spval) avgcfracl(i,j) = avgcfracl(i,j) * 0.01 - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',avgcfracl(isa,jsa) - -! ave middle cloud fraction using nemsio - VarName='tcdc' - VcoordName='mid cld lay' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,avgcfracm) -! where(avgcfracm /= spval)avgcfracm=avgcfracm/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcfracm(i,j) /= spval) avgcfracm(i,j) = avgcfracm(i,j) * 0.01 - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',avgcfracm(isa,jsa) - -! inst convective cloud fraction using nemsio - VarName='tcdc' - VcoordName='convect-cld laye' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,cnvcfr) -! where(cnvcfr /= spval)cnvcfr=cnvcfr/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (cnvcfr(i,j) /= spval) cnvcfr (i,j)= cnvcfr(i,j) * 0.01 - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',cnvcfr(isa,jsa) - -! slope type using nemsio - VarName='sltyp' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,buf) -! where(buf /= spval)islope=nint(buf) -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - if (buf(i,j) < spval) then - islope(i,j) = nint(buf(i,j)) - else - islope(i,j) = 0 - endif - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',islope(isa,jsa) - -! plant canopy sfc wtr in m using nemsio - VarName='cnwat' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,cmc) -! where(cmc /= spval)cmc=cmc/1000. ! convert from kg*m^2 to m -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (cmc(i,j) /= spval) cmc(i,j) = cmc(i,j) * 0.001 - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',cmc(isa,jsa) - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - grnflx(i,j) = spval ! GFS does not have inst ground heat flux - enddo - enddo - -! GFS does not have snow cover yet -! VarName='gflux' -! VcoordName='sfc' -! l=1 -! if(me == 0)then -! call gfsio_readrecvw34(gfile,trim(VarName),trim(VcoordName) & -! + ,l,dummy,iret=iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! dummy=spval -! end if -! end if -! call mpi_scatterv(dummy,icnt,idsp,mpi_real & -! + , pctsno(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) -! if (iret /= 0)print*,'Error scattering array';stop - -! asuume tg3 in GFS is the same as soiltb in wrf nmm. It's in sfc file, will -! be able to read it when it merges to gfs io -! soiltb is not being put out, comment it out -! VarName='tg3' -! VcoordName='sfc' -! l=1 -! if(me == 0)then -! call gfsio_readrecvw34(gfile,trim(VarName),trim(VcoordName) & -! ,l,dummy,iret=iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! dummy=spval -! end if -! end if -! call mpi_scatterv(dummy(1,1),icnt,idsp,mpi_real & -! , soiltb(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) -! if (iret /= 0)print*,'Error scattering array';stop - -! vegetation fraction in fraction. using nemsio - VarName='veg' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,vegfrc) -! where(vegfrc /= spval) -! vegfrc=vegfrc/100. ! convert to fraction -! elsewhere (vegfrc == spval) -! vegfrc=0. ! set to zero to be reasonable input for crtm -! end where -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (vegfrc(i,j) /= spval) then - vegfrc(i,j) = vegfrc(i,j) * 0.01 - else - vegfrc(i,j) = 0.0 - endif - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',vegfrc(isa,jsa) - -! GFS doesn not yet output soil layer thickness, assign SLDPTH to be the same as nam - - SLDPTH(1) = 0.10 - SLDPTH(2) = 0.3 - SLDPTH(3) = 0.6 - SLDPTH(4) = 1.0 - -! liquid volumetric soil mpisture in fraction using nemsio - VarName='soill' - VcoordName='0-10 cm down' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,sh2o(1,jsta_2l,1)) -! if(debugprint)print*,'sample l',VarName,' = ',1,sh2o(isa,jsa,1) - - VarName='soill' - VcoordName='10-40 cm down' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,sh2o(1,jsta_2l,2)) -! if(debugprint)print*,'sample l',VarName,' = ',1,sh2o(isa,jsa,2) - - VarName='soill' - VcoordName='40-100 cm down' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,sh2o(1,jsta_2l,3)) -! if(debugprint)print*,'sample l',VarName,' = ',1,sh2o(isa,jsa,3) - - VarName='soill' - VcoordName='100-200 cm down' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,sh2o(1,jsta_2l,4)) -! if(debugprint)print*,'sample l',VarName,' = ',1,sh2o(isa,jsa,4) - -! volumetric soil moisture using nemsio - VarName='soilw' - VcoordName='0-10 cm down' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,smc(1,jsta_2l,1)) -! if(debugprint)print*,'sample l',VarName,' = ',1,smc(isa,jsa,1) - - VarName='soilw' - VcoordName='10-40 cm down' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,smc(1,jsta_2l,2)) -! if(debugprint)print*,'sample l',VarName,' = ',1,smc(isa,jsa,2) - - VarName='soilw' - VcoordName='40-100 cm down' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,smc(1,jsta_2l,3)) -! if(debugprint)print*,'sample l',VarName,' = ',1,smc(isa,jsa,3) - - VarName='soilw' - VcoordName='100-200 cm down' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,smc(1,jsta_2l,4)) -! if(debugprint)print*,'sample l',VarName,' = ',1,smc(isa,jsa,4) - -! soil temperature using nemsio - VarName='tmp' - VcoordName='0-10 cm down' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,stc(1,jsta_2l,1)) -! if(debugprint)print*,'sample l','stc',' = ',1,stc(isa,jsa,1) - - VarName='tmp' - VcoordName='10-40 cm down' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,stc(1,jsta_2l,2)) -! if(debugprint)print*,'sample stc = ',1,stc(isa,jsa,2) - - VarName='tmp' - VcoordName='40-100 cm down' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,stc(1,jsta_2l,3)) -! if(debugprint)print*,'sample stc = ',1,stc(isa,jsa,3) - - VarName='tmp' - VcoordName='100-200 cm down' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,stc(1,jsta_2l,4)) -! if(debugprint)print*,'sample stc = ',1,stc(isa,jsa,4) - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - acfrcv(i,j) = spval ! GFS does not output time averaged convective and strat cloud fraction, set acfrcv to spval, ncfrcv to 1 - ncfrcv(i,j) = 1.0 - acfrst(i,j) = spval ! GFS does not output time averaged cloud fraction, set acfrst to spval, ncfrst to 1 - ncfrst(i,j) = 1.0 - ssroff(i,j) = spval ! GFS does not have storm runoff - bgroff(i,j) = spval ! GFS does not have UNDERGROUND RUNOFF - rlwin(i,j) = spval ! GFS does not have inst incoming sfc longwave - rlwtoa(i,j) = spval ! GFS does not have inst model top outgoing longwave - enddo - enddo -! trdlw(i,j) = 6.0 - ardlw = 1.0 ! GFS incoming sfc longwave has been averaged over 6 hr bucket, set ARDLW to 1 - -! time averaged incoming sfc longwave using nemsio - VarName='dlwrf' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,alwin) - -! time averaged outgoing sfc longwave using gfsio - VarName='ulwrf' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,alwout) -! where(alwout /= spval) alwout=-alwout ! CLDRAD puts a minus sign before gribbing -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (alwout(i,j) /= spval) alwout(i,j) = -alwout(i,j) - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,alwout(isa,jsa) - -! time averaged outgoing model top longwave using gfsio - VarName='ulwrf' - VcoordName='nom. top' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,alwtoa) -! if(debugprint)print*,'sample l',VarName,' = ',1,alwtoa(isa,jsa) - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - rswin(i,j) = spval ! GFS does not have inst incoming sfc shortwave - rswinc(i,j) = spval ! GFS does not have inst incoming clear sky sfc shortwave - rswout(i,j) = spval ! GFS does not have inst outgoing sfc shortwave - enddo - enddo - -! GFS incoming sfc longwave has been averaged, set ARDLW to 1 - ardsw=1.0 -! trdsw=6.0 - -! time averaged incoming sfc shortwave using gfsio - VarName='dswrf' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,aswin) -! if(debugprint)print*,'sample l',VarName,' = ',1,aswin(isa,jsa) - -! time averaged incoming sfc uv-b using getgb - VarName='duvb' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,auvbin) -! if(debugprint)print*,'sample l',VarName,' = ',1,auvbin(isa,jsa) - -! time averaged incoming sfc clear sky uv-b using getgb - VarName='cduvb' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,auvbinc) -! if(debugprint)print*,'sample l',VarName,' = ',1,auvbinc(isa,jsa) - -! time averaged outgoing sfc shortwave using gfsio - VarName='uswrf' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,aswout) -! where(aswout /= spval) aswout=-aswout ! CLDRAD puts a minus sign before gribbing -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (aswout(i,j) /= spval) aswout(i,j) = -aswout(i,j) - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,aswout(isa,jsa) - -! time averaged model top incoming shortwave - VarName='dswrf' - VcoordName='nom. top' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,aswintoa) - -! time averaged model top outgoing shortwave - VarName='uswrf' - VcoordName='nom. top' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,aswtoa) -! if(debugprint)print*,'sample l',VarName,' = ',1,aswtoa(isa,jsa) - -! time averaged surface sensible heat flux, multiplied by -1 because wrf model flux -! has reversed sign convention using gfsio - VarName='shtfl' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,sfcshx) -! where (sfcshx /= spval)sfcshx=-sfcshx -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sfcshx(i,j) /= spval) sfcshx(i,j) = -sfcshx(i,j) - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,sfcshx(isa,jsa) - -! GFS surface flux has been averaged, set ASRFC to 1 - asrfc=1.0 -! tsrfc=6.0 - -! time averaged surface latent heat flux, multiplied by -1 because wrf model flux -! has reversed sign vonvention using gfsio - VarName='lhtfl' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,sfclhx) -! where (sfclhx /= spval)sfclhx=-sfclhx -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sfclhx(i,j) /= spval) sfclhx(i,j) = -sfclhx(i,j) - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,sfclhx(isa,jsa) - -! time averaged ground heat flux using nemsio - VarName='gflux' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,subshx) -! if(debugprint)print*,'sample l',VarName,' = ',1,subshx(isa,jsa) - -! time averaged zonal momentum flux using gfsio - VarName='uflx' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,sfcux) -! if(debugprint)print*,'sample l',VarName,' = ',1,sfcux(isa,jsa) - -! time averaged meridional momentum flux using nemsio - VarName='vflx' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,sfcvx) -! if(debugprint)print*,'sample l',VarName,' = ',1,sfcvx(isa,jsa) - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - snopcx(i,j) =spval ! GFS does not have snow phase change heat flux - sfcuvx(i,j) = spval ! GFS does not use total momentum flux - enddo - enddo - -! time averaged zonal gravity wave stress using nemsio - VarName='u-gwd' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,gtaux) -! if(debugprint)print*,'sample l',VarName,' = ',1,gtaux(isa,jsa) - -! time averaged meridional gravity wave stress using getgb - VarName='v-gwd' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,gtauy) -! if(debugprint)print*,'sample l',VarName,' = ',1,gtauy(isa,jsa) - -! time averaged accumulated potential evaporation - VarName='pevpr' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,potevp) -! if(debugprint)print*,'sample l',VarName,' = ',1,potevp(isa,jsa) - - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im -! GFS does not have temperature tendency due to long wave radiation - rlwtt(i,j,l) = spval -! GFS does not have temperature tendency due to short wave radiation - rswtt(i,j,l) = spval -! GFS does not have temperature tendency due to latent heating from convection - tcucn(i,j,l) = spval - tcucns(i,j,l) = spval -! GFS does not have temperature tendency due to latent heating from grid scale - train(i,j,l) = spval - enddo - enddo - enddo - -! set avrain to 1 - avrain=1.0 - avcnvc=1.0 - theat=6.0 ! just in case GFS decides to output T tendency - -! 10 m u using nemsio - VarName='ugrd' - VcoordName='10 m above gnd' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,u10) -! if(debugprint)print*,'sample l',VarName,' = ',1,u10(isa,jsa) - do j=jsta,jend - do i=1,im - u10h(i,j)=u10(i,j) - end do - end do - -! 10 m v using gfsio - VarName='vgrd' - VcoordName='10 m above gnd' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,v10) - do j=jsta,jend - do i=1,im - v10h(i,j)=v10(i,j) - end do - end do -! if(debugprint)print*,'sample l',VarName,' = ',1,v10(isa,jsa) - -! vegetation type, it's in GFS surface file, hopefully will merge into gfsio soon - VarName='vgtyp' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,buf) -! where (buf /= spval) -! ivgtyp=nint(buf) -! elsewhere -! ivgtyp=0 !need to feed reasonable value to crtm -! end where -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - if (buf(i,j) < spval) then - ivgtyp(i,j) = nint(buf(i,j)) - else - ivgtyp(i,j) = 0 - endif - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,ivgtyp(isa,jsa) - -! soil type, it's in GFS surface file, hopefully will merge into gfsio soon - VarName='sotyp' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,buf) -! where (buf /= spval) -! isltyp=nint(buf) -! elsewhere -! isltyp=0 !need to feed reasonable value to crtm -! end where -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - if (buf(i,j) < spval) then - isltyp(i,j) = nint(buf(i,j)) - else - isltyp(i,j) = 0 - endif - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,isltyp(isa,jsa) - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - smstav(i,j) = spval ! GFS does not have soil moisture availability - smstot(i,j) = spval ! GFS does not have total soil moisture - sfcevp(i,j) = spval ! GFS does not have accumulated surface evaporation - sfcexc(i,j) = spval ! GFS does not have surface exchange coefficient - acsnow(i,j) = spval ! GFS does not have averaged accumulated snow - acsnom(i,j) = spval ! GFS does not have snow melt - sst(i,j) = spval ! GFS does not have sst???? - thz0(i,j) = ths(i,j) ! GFS does not have THZ0, use THS to substitute - qz0(i,j) = spval ! GFS does not output humidity at roughness length - uz0(i,j) = spval ! GFS does not output u at roughness length - vz0(i,j) = spval ! GFS does not output humidity at roughness length - enddo - enddo - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - EL_PBL(i,j,l) = spval ! GFS does not have mixing length - exch_h(i,j,l) = spval ! GFS does not output exchange coefficient - enddo - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,thz0(isa,jsa) - -! retrieve inst convective cloud top, GFS has cloud top pressure instead of index, -! will need to modify CLDRAD.f to use pressure directly instead of index - VarName='pres' - VcoordName='convect-cld top' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,ptop) -! if(debugprint)print*,'sample l',VarName,' = ',1,ptop(isa,jsa) - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - htop(i,j) = spval - if(ptop(i,j) <= 0.0) ptop(i,j) = spval - enddo - enddo - do j=jsta,jend - do i=1,im - if(ptop(i,j) < spval)then - do l=1,lm - if(ptop(i,j) <= pmid(i,j,l))then - htop(i,j) = l -! if(i==ii .and. j==jj)print*,'sample ptop,pmid pmid-1,pint= ', & -! ptop(i,j),pmid(i,j,l),pmid(i,j,l-1),pint(i,j,l),htop(i,j) - exit - end if - end do - end if - end do - end do - -! retrieve inst convective cloud bottom, GFS has cloud top pressure instead of index, -! will need to modify CLDRAD.f to use pressure directly instead of index - VarName='pres' - VcoordName='convect-cld bot' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,pbot) -! if(debugprint)print*,'sample l',VarName,VcoordName,' = ',1,pbot(isa,jsa) - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - hbot(i,j) = spval - if(pbot(i,j) <= 0.0) pbot(i,j) = spval - enddo - enddo - do j=jsta,jend - do i=1,im -! if(.not.lb(i,j))print*,'false bitmask for pbot at ' -! + ,i,j,pbot(i,j) - if(pbot(i,j) < spval)then - do l=lm,1,-1 - if(pbot(i,j) >= pmid(i,j,l)) then - hbot(i,j) = l -! if(i==ii .and. j==jj)print*,'sample pbot,pmid= ', & -! pbot(i,j),pmid(i,j,l),hbot(i,j) - exit - end if - end do - end if - end do - end do - -! retrieve time averaged low cloud top pressure using nemsio - VarName='pres' - VcoordName='low cld top' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,ptopl) -! if(debugprint)print*,'sample l',VarName,' = ',1,ptopl(isa,jsa) - -! retrieve time averaged low cloud bottom pressure using nemsio - VarName='pres' - VcoordName='low cld bot' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,pbotl) -! if(debugprint)print*,'sample l',VarName,' = ',1,pbotl(isa,jsa) - -! retrieve time averaged low cloud top temperature using nemsio - VarName='tmp' - VcoordName='low cld top' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,Ttopl) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,Ttopl(isa,jsa) - -! retrieve time averaged middle cloud top pressure using nemsio - VarName='pres' - VcoordName='mid cld top' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,ptopm) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,ptopm(isa,jsa) - -! retrieve time averaged middle cloud bottom pressure using nemsio - VarName='pres' - VcoordName='mid cld bot' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,pbotm) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,pbotm(isa,jsa) - -! retrieve time averaged middle cloud top temperature using nemsio - VarName='tmp' - VcoordName='mid cld top' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,Ttopm) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,Ttopm(isa,jsa) - -! retrieve time averaged high cloud top pressure using nemsio ********* - VarName='pres' - VcoordName='high cld top' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,ptoph) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,ptoph(isa,jsa) - -! retrieve time averaged high cloud bottom pressure using nemsio - VarName='pres' - VcoordName='high cld bot' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,pboth) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,pboth(isa,jsa) - -! retrieve time averaged high cloud top temperature using nemsio - VarName='tmp' - VcoordName='high cld top' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,Ttoph) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,Ttoph(isa,jsa) - -! retrieve boundary layer cloud cover using nemsio - VarName='tcdc' - VcoordName='bndary-layer cld' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,pblcfr) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,pblcfr(isa,jsa) -! where (pblcfr /= spval)pblcfr=pblcfr/100. ! convert to fraction -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - if (pblcfr(i,j) < spval) pblcfr(i,j) = pblcfr(i,j) * 0.01 - enddo - enddo - -! retrieve cloud work function using nemsio - VarName='cwork' - VcoordName='atmos col' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,cldwork) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,cldwork(isa,jsa) - -! retrieve water runoff using nemsio - VarName='watr' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,runoff) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,runoff(isa,jsa) - -! retrieve shelter max temperature using nemsio - VarName='tmax' - VcoordName='2 m above gnd' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,maxtshltr) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,maxtshltr(isa,jsa) - -! retrieve shelter max temperature using nemsio - VarName='tmin' - VcoordName='2 m above gnd' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,mintshltr) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & -! 1,mintshltr(im/2,(jsta+jend)/2) - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - MAXRHSHLTR(i,j) = SPVAL - MINRHSHLTR(i,j) = SPVAL - enddo - enddo - -! retrieve ice thickness using nemsio - VarName='icetk' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,dzice) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,dzice(isa,jsa) - -! retrieve wilting point using nemsio - VarName='wilt' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,smcwlt) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,smcwlt(isa,jsa) - -! retrieve sunshine duration using nemsio - VarName='sunsd' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,suntime) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,suntime(isa,jsa) - -! retrieve field capacity using nemsio - VarName='fldcp' - VcoordName='sfc' - l=1 - call getnemsandscatter(me,ffile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,fieldcapa) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,fieldcapa(isa,jsa) - -! GFS does not have deep convective cloud top and bottom fields - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - HTOPD(i,j) = SPVAL - HBOTD(i,j) = SPVAL - HTOPS(i,j) = SPVAL - HBOTS(i,j) = SPVAL - CUPPT(i,j) = SPVAL - enddo - enddo - -! -!!!! DONE GETTING -! Will derive isobaric OMEGA from continuity equation later. -! OMGA=SPVAL -! -! -! retrieve d3d fields if it's listed -! ---------------------------------- - if (me == 0) print*,'iostatus for d3d file= ',iostatusD3D - if(iostatusD3D == 0) then ! start reading d3d file -! retrieve longwave tendency using getgb - Index=41 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,rlwtt(1,jsta_2l,ll)) - end do - -! retrieve shortwave tendency using getgb - Index=40 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,rswtt(1,jsta_2l,ll)) - end do - -! retrieve vertical diffusion tendency using getgb - Index=356 - VarName='VDIFF TNDY' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,vdifftt(1,jsta_2l,ll)) - end do - -! retrieve deep convective tendency using getgb - Index=79 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,tcucn(1,jsta_2l,ll)) - end do - -! retrieve shallow convective tendency using getgb - Index=358 - VarName='S CNVCT TNDY' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,tcucns(1,jsta_2l,ll)) - end do - -! retrieve grid scale latent heat tendency using getgb - Index=78 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,train(1,jsta_2l,ll)) - end do - -! retrieve vertical diffusion moistening using getgb - Index=360 - VarName='Vertical diffusion moistening' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,vdiffmois(1,jsta_2l,ll)) - end do - -! retrieve deep convection moistening using getgb - Index=361 - VarName='deep convection moistening' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,dconvmois(1,jsta_2l,ll)) - end do - -! retrieve shallow convection moistening using getgb - Index=362 - VarName='shallow convection moistening' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,sconvmois(1,jsta_2l,ll)) - end do - -! retrieve non-radiation tendency using getgb - Index=363 - VarName='non-radiation tendency' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,nradtt(1,jsta_2l,ll)) - end do - -! retrieve Vertical diffusion of ozone using getgb - Index=364 - VarName='Vertical diffusion of ozone' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,o3vdiff(1,jsta_2l,ll)) - end do - -! retrieve ozone production using getgb - Index=365 - VarName='Ozone production' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,o3prod(1,jsta_2l,ll)) - end do - -! retrieve ozone tendency using getgb - Index=366 - VarName='Ozone tendency' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,o3tndy(1,jsta_2l,ll)) - end do - -! retrieve mass weighted PV using getgb - Index=367 - VarName='Mass weighted PV' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,mwpv(1,jsta_2l,ll)) - end do - -! retrieve OZONE TNDY using getgb - Index=368 - VarName='?' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,unknown(1,jsta_2l,ll)) - end do - -! retrieve vertical diffusion zonal acceleration - Index=369 - VarName='VDIFF Z ACCE' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,vdiffzacce(1,jsta_2l,ll)) - end do - -! retrieve gravity drag zonal acceleration - Index=370 - VarName='G DRAG Z ACCE' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,zgdrag(1,jsta_2l,ll)) - end do - -! retrieve convective U momemtum mixing - Index=371 - VarName='CNVCT U M MIX' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctummixing(1,jsta_2l,ll)) - end do - -! retrieve vertical diffusion meridional acceleration - Index=372 - VarName='VDIFF M ACCE' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,vdiffmacce(1,jsta_2l,ll)) - end do - -! retrieve gravity drag meridional acceleration - Index=373 - VarName='G DRAG M ACCE' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,mgdrag(1,jsta_2l,ll)) - end do - -! retrieve convective V momemtum mixing - Index=374 - VarName='CNVCT V M MIX' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctvmmixing(1,jsta_2l,ll)) - end do - -! retrieve nonconvective cloud fraction - Index=375 - VarName='N CNVCT CLD FRA' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,ncnvctcfrac(1,jsta_2l,ll)) - end do - -! retrieve convective upward mass flux - Index=391 - VarName='CNVCT U M FLX' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctumflx(1,jsta_2l,ll)) - end do - -! retrieve convective downward mass flux - Index=392 - VarName='CNVCT D M FLX' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctdmflx(1,jsta_2l,ll)) - end do - -! retrieve nonconvective detraintment flux - Index=393 - VarName='CNVCT DET M FLX' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctdetmflx(1,jsta_2l,ll)) - end do - -! retrieve cnvct gravity drag zonal acceleration - Index=394 - VarName='CNVCT G DRAG Z ACCE' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctzgdrag(1,jsta_2l,ll)) - end do - -! retrieve cnvct gravity drag meridional acceleration - Index=395 - VarName='CNVCT G DRAG M ACCE' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctmgdrag(1,jsta_2l,ll)) - end do - - call baclose(iunitd3d,status) - print*,'done reading D3D fields' - - end if ! end of d3d file read - ! -------------------- - print *,'after d3d files reading,mype=',me - -! Retrieve aer fields if it's listed (GOCART) - print *, 'iostatus for aer file=', iostatusAER - if(iostatusAER == 0) then ! start reading aer file - -! retrieve dust emission fluxes - do K = 1, nbin_du - if ( K == 1) VarName='DUEM001' - if ( K == 2) VarName='DUEM002' - if ( K == 3) VarName='DUEM003' - if ( K == 4) VarName='DUEM004' - if ( K == 5) VarName='DUEM005' - VcoordName='atmos col' - l=1 - call getnemsandscatter(me,rfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,duem(1,jsta_2l,K)) -! if(debugprint)print*,'sample ',VarName,' = ',duem(isa,jsa,k) - enddo - -! retrieve dust sedimentation fluxes - do K = 1, nbin_du - if ( K == 1) VarName='DUSD001' - if ( K == 2) VarName='DUSD002' - if ( K == 3) VarName='DUSD003' - if ( K == 4) VarName='DUSD004' - if ( K == 5) VarName='DUSD005' - VcoordName='atmos col' - l=1 - call getnemsandscatter(me,rfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,dusd(1,jsta_2l,K)) -! if(debugprint)print*,'sample ',VarName,' = ',dusd(isa,jsa,k) - enddo - -! retrieve dust dry deposition fluxes - do K = 1, nbin_du - if ( K == 1) VarName='DUDP001' - if ( K == 2) VarName='DUDP002' - if ( K == 3) VarName='DUDP003' - if ( K == 4) VarName='DUDP004' - if ( K == 5) VarName='DUDP005' - VcoordName='atmos col' - l=1 - call getnemsandscatter(me,rfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,dudp(1,jsta_2l,K)) - print *,'dudp,ck=',maxval(dudp(1:im,jsta:jend,k)), & - minval(dudp(1:im,jsta:jend,k)) -! if(debugprint)print*,'sample ',VarName,' = ',dudp(isa,jsa,k) - enddo - -! retrieve dust wet deposition fluxes - do K = 1, nbin_du - if ( K == 1) VarName='DUWT001' - if ( K == 2) VarName='DUWT002' - if ( K == 3) VarName='DUWT003' - if ( K == 4) VarName='DUWT004' - if ( K == 5) VarName='DUWT005' - VcoordName='atmos col' - l=1 - call getnemsandscatter(me,rfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,duwt(1,jsta_2l,K)) -! if(debugprint)print*,'sample ',VarName,' = ',duwt(isa,jsa,k) - enddo - -! retrieve sfc mass concentration - VarName='DUSMASS' - VcoordName='atmos col' - l=1 - call getnemsandscatter(me,rfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,dusmass) -! if(debugprint)print*,'sample ',VarName,' = ',dusmass(isa,jsa) - -! retrieve col mass density - VarName='DUCMASS' - VcoordName='atmos col' - l=1 - call getnemsandscatter(me,rfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,ducmass) -! if(debugprint)print*,'sample ',VarName,' = ',ducmass(isa,jsa) - -! retrieve sfc mass concentration (pm2.5) - VarName='DUSMASS25' - VcoordName='atmos col' - l=1 - call getnemsandscatter(me,rfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,dusmass25) -! if(debugprint)print*,'sample ',VarName,' = ',dusmass25(isa,jsa) - -! retrieve col mass density (pm2.5) - VarName='DUCMASS25' - VcoordName='atmos col' - l=1 - call getnemsandscatter(me,rfile,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,VcoordName & - ,l,im,jm,nframe,ducmass25) -! if(debugprint)print*,'sample ',VarName,' = ',ducmass25(isa,jsa) - - if (me == 0) print *,'after aer files reading,mype=',me - end if ! end of aer file read - -! pos east - call collect_loc(gdlat,dummy) - if(me == 0)then - latstart = nint(dummy(1,1)*gdsdegr) - latlast = nint(dummy(im,jm)*gdsdegr) - print*,'laststart,latlast B bcast= ',latstart,latlast,'gdsdegr=',gdsdegr,& - 'dummy(1,1)=',dummy(1,1),dummy(im,jm),'gdlat=',gdlat(1,1) - end if - call mpi_bcast(latstart,1,MPI_INTEGER,0,mpi_comm_comp,irtn) - call mpi_bcast(latlast,1,MPI_INTEGER,0,mpi_comm_comp,irtn) - write(6,*) 'laststart,latlast,me A calling bcast=',latstart,latlast,me - call collect_loc(gdlon,dummy) - if(me == 0)then - lonstart = nint(dummy(1,1)*gdsdegr) - lonlast = nint(dummy(im,jm)*gdsdegr) - end if - call mpi_bcast(lonstart,1,MPI_INTEGER,0,mpi_comm_comp,irtn) - call mpi_bcast(lonlast, 1,MPI_INTEGER,0,mpi_comm_comp,irtn) - - write(6,*)'lonstart,lonlast A calling bcast=',lonstart,lonlast -! -! ncdump -h -!! -!! - write(6,*) 'filename in INITPOST=', filename,' is' - -! status=nf_open(filename,NF_NOWRITE,ncid) -! write(6,*) 'returned ncid= ', ncid -! status=nf_get_att_real(ncid,varid,'DX',tmp) -! dxval=int(tmp) -! status=nf_get_att_real(ncid,varid,'DY',tmp) -! dyval=int(tmp) -! status=nf_get_att_real(ncid,varid,'CEN_LAT',tmp) -! cenlat=int(1000.*tmp) -! status=nf_get_att_real(ncid,varid,'CEN_LON',tmp) -! cenlon=int(1000.*tmp) -! status=nf_get_att_real(ncid,varid,'TRUELAT1',tmp) -! truelat1=int(1000.*tmp) -! status=nf_get_att_real(ncid,varid,'TRUELAT2',tmp) -! truelat2=int(1000.*tmp) -! status=nf_get_att_real(ncid,varid,'MAP_PROJ',tmp) -! maptype=int(tmp) -! status=nf_close(ncid) - -! dxval=30000. -! dyval=30000. -! -! write(6,*) 'dxval= ', dxval -! write(6,*) 'dyval= ', dyval -! write(6,*) 'cenlat= ', cenlat -! write(6,*) 'cenlon= ', cenlon -! write(6,*) 'truelat1= ', truelat1 -! write(6,*) 'truelat2= ', truelat2 -! write(6,*) 'maptype is ', maptype -! - -! close up shop -! call ext_int_ioclose ( DataHandle, Status ) - -! generate look up table for lifted parcel calculations - - THL = 210. - PLQ = 70000. - pt_TBL = 10000. ! this is for 100 hPa added by Moorthi - - CALL TABLE(PTBL,TTBL,PT_TBL, & - RDQ,RDTH,RDP,RDTHE,PL,THL,QS0,SQS,STHE,THE0) - - CALL TABLEQ(TTBLQ,RDPQ,RDTHEQ,PLQ,THL,STHEQ,THE0Q) - -! -! - IF(ME == 0)THEN - WRITE(6,*)' SPL (POSTED PRESSURE LEVELS) BELOW: ' - WRITE(6,51) (SPL(L),L=1,LSM) - 50 FORMAT(14(F4.1,1X)) - 51 FORMAT(8(F8.1,1X)) - ENDIF -! -! COMPUTE DERIVED TIME STEPPING CONSTANTS. -! -!MEB need to get DT -! DT = 120. !MEB need to get DT -! NPHS = 4 !MEB need to get physics DT -! TPREC=float(ifhr) -!MEB need to get DT - -!how am i going to get this information? -! NPREC = INT(TPREC *TSPH+D50) -! NHEAT = INT(THEAT *TSPH+D50) -! NCLOD = INT(TCLOD *TSPH+D50) -! NRDSW = INT(TRDSW *TSPH+D50) -! NRDLW = INT(TRDLW *TSPH+D50) -! NSRFC = INT(TSRFC *TSPH+D50) -!how am i going to get this information? -! -! IF(ME == 0)THEN -! WRITE(6,*)' ' -! WRITE(6,*)'DERIVED TIME STEPPING CONSTANTS' -! WRITE(6,*)' NPREC,NHEAT,NSRFC : ',NPREC,NHEAT,NSRFC -! WRITE(6,*)' NCLOD,NRDSW,NRDLW : ',NCLOD,NRDSW,NRDLW -! ENDIF -! -! COMPUTE DERIVED MAP OUTPUT CONSTANTS. -!$omp parallel do private(l) - DO L = 1,LSM - ALSL(L) = LOG(SPL(L)) - END DO -! -!HC WRITE IGDS OUT FOR WEIGHTMAKER TO READ IN AS KGDSIN - if(me == 0)then - print*,'writing out igds' - igdout = 110 -! open(igdout,file='griddef.out',form='unformatted' -! + ,status='unknown') - if(maptype == 1)THEN ! Lambert conformal - WRITE(igdout)3 - WRITE(6,*)'igd(1)=',3 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)0 - WRITE(igdout)64 - WRITE(igdout)TRUELAT2 - WRITE(igdout)TRUELAT1 - WRITE(igdout)255 - ELSE IF(MAPTYPE == 2)THEN !Polar stereographic - WRITE(igdout)5 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)0 - WRITE(igdout)64 - WRITE(igdout)TRUELAT2 !Assume projection at +-90 - WRITE(igdout)TRUELAT1 - WRITE(igdout)255 - ! Note: The calculation of the map scale factor at the standard - ! lat/lon and the PSMAPF - ! Get map factor at 60 degrees (N or S) for PS projection, which will - ! be needed to correctly define the DX and DY values in the GRIB GDS - if (TRUELAT1 < 0.) THEN - LAT = -60. - else - LAT = 60. - end if - - CALL MSFPS (LAT,TRUELAT1*0.001,PSMAPF) - - ELSE IF(MAPTYPE == 3) THEN !Mercator - WRITE(igdout)1 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)latlast - WRITE(igdout)lonlast - WRITE(igdout)TRUELAT1 - WRITE(igdout)0 - WRITE(igdout)64 - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)255 - ELSE IF(MAPTYPE == 0 .OR. MAPTYPE == 203)THEN !A STAGGERED E-GRID - WRITE(igdout)203 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)136 - WRITE(igdout)CENLAT - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)64 - WRITE(igdout)0 - WRITE(igdout)0 - WRITE(igdout)0 - END IF - end if -! -! close all files -! - call nemsio_close(nfile,iret=status) - call nemsio_close(ffile,iret=status) - call nemsio_close(rfile,iret=status) -! call baclose(iunit,status) - - RETURN - END - - diff --git a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f index 33807f269c..5a68f633ca 100644 --- a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f +++ b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f @@ -1,51 +1,40 @@ !> @file -! . . . -!> SUBPROGRAM: INITPOST_GFS_NEMS_MPIIO INITIALIZE POST FOR RUN -!! PRGRMMR: Hui-Ya Chuang DATE: 2016-03-04 -!! -!! ABSTRACT: THIS ROUTINE INITIALIZES CONSTANTS AND -!! VARIABLES AT THE START OF GFS MODEL OR POST -!! PROCESSOR RUN. -!! -!! REVISION HISTORY -!! 2011-02-07 Jun Wang add grib2 option -!! 2011-12-14 Sarah Lu add aer option -!! 2012-01-07 Sarah Lu compute air density -!! 2012-12-22 Sarah Lu add aerosol zerout option -!! 2015-03-16 S. Moorthi adding gocart_on option -!! 2015-03-18 S. Moorthi Optimization including threading -!! 2015-08-17 S. Moorthi Add TKE for NEMS/GSM -!! 2016-03-04 H CHUANG Add MPI IO option to read GFS nems output -!! 2016-05-16 S. KAR Add computation of omega -!! 2016-07-21 S. Moorthi Convert input upper air data from reduced to full grid -!! and reduce memory in divergence calculatiom -!! 2016-07-21 Jun Wang change averaged field name with suffix -!! 2019-07-24 Li(Kate) Zhang - Merge and update NGAC UPP into FV3-Chem -!! 2021-03-11 Bo Cui change local arrays to dimension (im,jsta:jend) -!! -!! USAGE: CALL INIT -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! LOOKUP -!! SOILDEPTH -!! -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief initpost_gfs_nems_mpiio() initializes post for run. +!> +!> @author Hui-Ya Chuang @date 2007-03-04 +!> +!> This routine initializes constants and +!> variables at the start of GFS model or post +!> processor run. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2007-03-04 | Hui-Ya Chuang | Initial +!> 2011-02-07 | Jun Wang | Add grib2 option +!> 2011-12-14 | Sarah Lu | Add aer option +!> 2012-01-07 | Sarah Lu | Compute air density +!> 2012-12-22 | Sarah Lu | Add aerosol zerout option +!> 2015-03-16 | S. Moorthi | Adding gocart_on option +!> 2015-03-18 | S. Moorthi | Optimization including threading +!> 2015-08-17 | S. Moorthi | Add TKE for NEMS/GSM +!> 2016-03-04 | H Chuang | Add MPI IO option to read GFS nems output +!> 2016-05-16 | S. Kar | Add computation of omega +!> 2016-07-21 | S. Moorthi | Convert input upper air data from reduced to full grid and reduce memory in divergence calculatiom +!> 2016-07-21 | Jun Wang | Change averaged field name with suffix +!> 2019-07-24 | Li(Kate) Zhang | Merge and update NGAC UPP into FV3-Chem +!> 2021-03-11 | Bo Cui | Change local arrays to dimension (im,jsta:jend) +!> 2022-09-22 | Li(Kate) Zhang | Remove duplicated initializations which have been done in ALLCOCATE_ALL.f +!> 2023-04-04 | Li(Kate Zhang) | Add namelist optoin for CCPP-Chem (UFS-Chem) +! and 2D diag. output (d2d_chem) for GEFS-Aerosols and CCPP-Chem model. +!> +!> @author Hui-Ya Chuang @date 2007-03-04 +!---------------------------------------------------------------------- +!> @brief initializes constants and variables at the start of GFS model +!> or post processor run. +!> +!> @param[in] iostatusAER integer Status of GFS aer file. +!---------------------------------------------------------------------- SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) @@ -75,8 +64,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) avgedir,avgecan,avgetrans,avgesnow,avgprec_cont,avgcprate_cont, & avisbeamswin,avisdiffswin,airbeamswin,airdiffswin, & alwoutc,alwtoac,aswoutc,aswtoac,alwinc,aswinc,avgpotevp,snoavg, & - dustcb,bccb,occb,sulfcb,sscb,dustallcb,ssallcb,dustpm,sspm,pp25cb,pp10cb, & - ti + dustcb,bccb,occb,sulfcb,sscb,dustallcb,ssallcb,dustpm,dustpm10,sspm,pp25cb, & + pp10cb,maod,ti use soil, only: sldpth, sh2o, smc, stc use masks, only: lmv, lmh, htm, vtm, gdlat, gdlon, dx, dy, hbm2, sm, sice ! use kinds, only: i_llong @@ -91,13 +80,15 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) jend_m, imin, imp_physics, dt, spval, pdtop, pt, qmin, nbin_du, nphs, dtq2, ardlw,& ardsw, asrfc, avrain, avcnvc, theat, gdsdegr, spl, lsm, alsl, im, jm, im_jm, lm, & jsta_2l, jend_2u, nsoil, lp1, icu_physics, ivegsrc, novegtype, nbin_ss, nbin_bc, & - nbin_oc, nbin_su, gocart_on, pt_tbl, hyb_sigp, filenameFlux, fileNameAER, & - iSF_SURFACE_PHYSICS + nbin_oc, nbin_su, gocart_on, gccpp_on, pt_tbl, hyb_sigp, filenameFlux, fileNameAER, & + iSF_SURFACE_PHYSICS, d2d_chem use gridspec_mod, only: maptype, gridtype, latstart, latlast, lonstart, lonlast, cenlon, & dxval, dyval, truelat2, truelat1, psmapf, cenlat - use rqstfld_mod, only: igds, avbl, iq, is use nemsio_module_mpi - use upp_physics, only: fpvsnew + use upp_physics, only: fpvsnew, caldiv, calgradps + use exch_upp_mod, only: exch + use table_upp_mod, only : table + use tableq_upp_mod, only : tableq !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -257,7 +248,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) end do end do -! write(0,*)'nrec=',nrec +! write(*,*)'nrec=',nrec allocate(recname(nrec),reclevtyp(nrec),reclev(nrec)) allocate(glat1d(im*jm),glon1d(im*jm)) allocate(vcoord4(lm+1,3,2)) @@ -376,7 +367,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) print *,me,'max(gdlat)=', maxval(gdlat), & 'max(gdlon)=', maxval(gdlon) - CALL EXCH(gdlat(1,JSTA_2L)) + CALL EXCH(gdlat) + CALL EXCH(gdlon) print *,'after call EXCH,me=',me !$omp parallel do private(i,j,ip1) @@ -1175,7 +1167,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) vcrd, pint(1,j,lp1), psx2d(1,j), psy2d(1,j), & d2d, u2d, v2d, pi2d, pm2d, omga2d, me) ! if (j ==1 .or. j == jm) & -! write (0,*)' omga2d=',omga2d(1,:),' j=',j +! write (*,*)' omga2d=',omga2d(1,:),' j=',j if (npass <= 0 ) then !$omp parallel do private(i,l,ll) @@ -1217,7 +1209,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! Average omega for the last point near the poles - moorthi if (j ==1 .or. j == jm) then tx1 = 1.0 / im -! write(0,*)' j=',j,' omgamax=',maxval(omga(:,j,:)),' omgamin=',minval(omga(:,j,:)) +! write(*,*)' j=',j,' omgamax=',maxval(omga(:,j,:)),' omgamin=',minval(omga(:,j,:)) !$omp parallel do private(i,l,tx2) do l=1,lm tx2 = 0.0 @@ -1350,22 +1342,13 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! deallocate(wrk1,wrk2) - print *, 'gocart_on2=',gocart_on - if (gocart_on) then + print *, 'gocart_on=',gocart_on + print *, 'gccpp_on=',gccpp_on + if (gocart_on .or. gccpp_on) then ! GFS output dust in nemsio (GOCART) dustcb=0.0 dustallcb=0.0 - do n=1,nbin_du - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - dust(i,j,l,n) = spval - enddo - enddo - enddo - enddo ! DUST = SPVAL !VarName='du001' VarName='dust1' @@ -1434,7 +1417,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) dustallcb(1:im,jsta_2l:jend_2u)=dustallcb(1:im,jsta_2l:jend_2u)+ & (dust(1:im,jsta_2l:jend_2u,ll,1)+dust(1:im,jsta_2l:jend_2u,ll,2)+ & - dust(1:im,jsta_2l:jend_2u,ll,3)+0.67*dust(1:im,jsta_2l:jend_2u,ll,4))* & + dust(1:im,jsta_2l:jend_2u,ll,3)+0.74*dust(1:im,jsta_2l:jend_2u,ll,4))* & dpres(1:im,jsta_2l:jend_2u,ll)/grav ! if(debugprint)print*,'sample l ',VarName,' = ',ll,dust(isa,jsa,ll,5) @@ -1443,16 +1426,6 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! GFS output sea salt in nemsio (GOCART) sscb=0.0 ssallcb=0.0 - do n=1,nbin_ss - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - salt(i,j,l,n) = spval - enddo - enddo - enddo - enddo ! SALT = SPVAL !VarName='ss001' VarName='seas1' @@ -1491,7 +1464,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ,salt(1:im,jsta_2l:jend_2u,ll,3)) sscb(1:im,jsta_2l:jend_2u)=sscb(1:im,jsta_2l:jend_2u)+ & - (salt(1:im,jsta_2l:jend_2u,ll,2)+0.75*salt(1:im,jsta_2l:jend_2u,ll,3))* & + (salt(1:im,jsta_2l:jend_2u,ll,1)+ & + salt(1:im,jsta_2l:jend_2u,ll,2)+0.83*salt(1:im,jsta_2l:jend_2u,ll,3))* & dpres(1:im,jsta_2l:jend_2u,ll)/grav ! if(debugprint)print*,'sample l ',VarName,' = ',ll,salt(isa,jsa,ll,3) @@ -1522,7 +1496,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ssallcb(1:im,jsta_2l:jend_2u)=ssallcb(1:im,jsta_2l:jend_2u)+ & (salt(1:im,jsta_2l:jend_2u,ll,1)+salt(1:im,jsta_2l:jend_2u,ll,2)+ & salt(1:im,jsta_2l:jend_2u,ll,3)+ & - salt(1:im,jsta_2l:jend_2u,ll,4)*0.83)* & + salt(1:im,jsta_2l:jend_2u,ll,4))* & dpres(1:im,jsta_2l:jend_2u,ll)/grav ! if(debugprint)print*,'sample l ',VarName,' = ',ll,salt(isa,jsa,ll,5) @@ -1530,16 +1504,6 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! GFS output black carbon in nemsio (GOCART) bccb=0.0 - do n=1,nbin_bc - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - soot(i,j,l,n) = spval - enddo - enddo - enddo - enddo ! SOOT = SPVAL !VarName='bcphobic' VarName='bc1' @@ -1573,16 +1537,6 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) occb=0.0 ! GFS output organic carbon in nemsio (GOCART) - do n=1,nbin_oc - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - waso(i,j,l,n) = spval - enddo - enddo - enddo - enddo ! WASO = SPVAL !VarName='ocphobic' VarName='oc1' @@ -1616,16 +1570,6 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! GFS output sulfate in nemsio (GOCART) sulfcb=0.0 - do n=1,nbin_su - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - suso(i,j,l,n) = spval - enddo - enddo - enddo - enddo ! SUSO = SPVAL !VarName='so4' VarName='sulf' @@ -1646,16 +1590,6 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! GFS output pp25 in nemsio (GOCART) pp25cb=0.0 - do n=1,nbin_su - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - pp25(i,j,l,n) = spval - enddo - enddo - enddo - enddo ! PP25 = SPVAL !VarName='so4' VarName='pp25' @@ -1674,16 +1608,6 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) end do ! do loop for l ! GFS output pp10 in nemsio (GOCART) pp10cb=0.0 - do n=1,nbin_su - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - pp10(i,j,l,n) = spval - enddo - enddo - enddo - enddo ! PP10 = SPVAL !VarName='so4' VarName='pp10' @@ -1749,17 +1673,18 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) bccb(i,j) = MAX(bccb(i,j), 0.0) occb(i,j) = MAX(occb(i,j), 0.0) sulfcb(i,j) = MAX(sulfcb(i,j), 0.0) - pp25cb(i,j) = MAX(sulfcb(i,j), 0.0) - pp10cb(i,j) = MAX(sulfcb(i,j), 0.0) + pp25cb(i,j) = MAX(pp25cb(i,j), 0.0) + pp10cb(i,j) = MAX(pp10cb(i,j), 0.0) ! PM10 concentration dusmass(i,j)=(dust(i,j,l,1)+dust(i,j,l,2)+dust(i,j,l,3)+ & 0.74*dust(i,j,l,4)+salt(i,j,l,1)+salt(i,j,l,2)+salt(i,j,l,3)+ & - salt(i,j,l,4) + & - salt(i,j,l,5)+soot(i,j,l,1)+soot(i,j,l,2)+waso(i,j,l,1)+ & + salt(i,j,l,4) + soot(i,j,l,1)+soot(i,j,l,2)+waso(i,j,l,1)+ & waso(i,j,l,2) +suso(i,j,l,1)+pp25(i,j,l,1)+pp10(i,j,l,1)) & *RHOMID(i,j,l) !ug/m3 ! PM25 dust and seasalt dustpm(i,j)=(dust(i,j,l,1)+0.38*dust(i,j,l,2))*RHOMID(i,j,l) !ug/m3 + dustpm10(i,j)=(dust(i,j,l,1)+dust(i,j,l,2)+dust(i,j,l,3)+ & + 0.74*dust(i,j,l,4))*RHOMID(i,j,l) !ug/m3 sspm(i,j)=(salt(i,j,l,1)+salt(i,j,l,2)+ & 0.83*salt(i,j,l,3))*RHOMID(i,j,l) !ug/m3 ! PM25 concentration @@ -1985,7 +1910,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) do j=jsta,jend do i=1,im if (ths(i,j) /= spval) then -! write(0,*)' i=',i,' j=',j,' ths=',ths(i,j),' pint=',pint(i,j,lp1) +! write(*,*)' i=',i,' j=',j,' ths=',ths(i,j),' pint=',pint(i,j,lp1) ths(i,j) = ths(i,j) * (p1000/pint(i,j,lp1))**capa endif QS(i,j) = SPVAL ! GFS does not have surface specific humidity @@ -3694,43 +3619,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) enddo enddo -! done with flux file, close it for now - call nemsio_close(ffile,iret=status) - deallocate(tmp,recname,reclevtyp,reclev) - - -! Retrieve aer fields if it's listed (GOCART) - print *, 'iostatus for aer file=', iostatusAER - if(iostatusAER == 0) then ! start reading aer file - call nemsio_open(rfile,trim(fileNameAER),'read',mpi_comm_comp & - ,iret=status) - if ( Status /= 0 ) then - print*,'error opening ',fileNameAER, ' Status = ', Status - endif - call nemsio_getfilehead(rfile,iret=status,nrec=nrec) - print*,'nrec for aer file=',nrec - allocate(recname(nrec),reclevtyp(nrec),reclev(nrec)) - call nemsio_getfilehead(rfile,iret=iret,recname=recname & - ,reclevtyp=reclevtyp,reclev=reclev) - if(debugprint)then - if (me == 0)then - do i=1,nrec - print *,'recname,reclevtyp,reclev=',trim(recname(i)),' ', & - trim(reclevtyp(i)),reclev(i) - end do - end if - end if -! start reading nemsio aer files using parallel read - fldsize=(jend-jsta+1)*im - allocate(tmp(fldsize*nrec)) - print*,'allocate tmp successfully' - tmp=0. - call nemsio_denseread(rfile,1,im,jsta,jend,tmp,iret=iret) - if(iret/=0)then - print*,"fail to read aer file using mpi io read, stopping" - stop - end if - + if ((gocart_on .or. gccpp_on) .and. d2d_chem ) then ! retrieve dust emission fluxes do K = 1, nbin_du if ( K == 1) VarName='duem001' @@ -3738,7 +3627,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) if ( K == 3) VarName='duem003' if ( K == 4) VarName='duem004' if ( K == 5) VarName='duem005' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3749,12 +3638,12 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! retrieve dust sedimentation fluxes do K = 1, nbin_du - if ( K == 1) VarName='dust1SD' - if ( K == 2) VarName='dust2SD' - if ( K == 3) VarName='dust3SD' - if ( K == 4) VarName='dust4SD' - if ( K == 5) VarName='dsut5SD' - VcoordName='atmos col' + if ( K == 1) VarName='dust1sd' + if ( K == 2) VarName='dust2sd' + if ( K == 3) VarName='dust3sd' + if ( K == 4) VarName='dust4sd' + if ( K == 5) VarName='dsut5sd' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3770,7 +3659,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) if ( K == 3) VarName='dust3dp' if ( K == 4) VarName='dust4dp' if ( K == 5) VarName='dust5dp' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3788,7 +3677,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) if ( K == 3) VarName='dust3wtl' if ( K == 4) VarName='dust4wtl' if ( K == 5) VarName='dust5wtl' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3802,7 +3691,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) if ( K == 3) VarName='dust3wtc' if ( K == 4) VarName='dust4wtc' if ( K == 5) VarName='dust5wtc' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3817,13 +3706,29 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) if ( K == 3) VarName='ssem003' if ( K == 4) VarName='ssem004' if ( K == 5) VarName='ssem005' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & ,recname,reclevtyp,reclev,VarName,VcoordName& ,ssem(1,jsta_2l,K)) enddo + +! retrieve seasalt emission fluxes + do K = 1, nbin_ss + if ( K == 1) VarName='seas1sd' + if ( K == 2) VarName='seas2sd' + if ( K == 3) VarName='seas3sd' + if ( K == 4) VarName='seas4sd' + if ( K == 5) VarName='seas5sd' + VcoordName='sfc' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,sssd(1,jsta_2l,K)) + enddo + ! retrieve seasalt dry deposition fluxes do K = 1, nbin_ss @@ -3832,7 +3737,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) if ( K == 3) VarName='seas3dp' if ( K == 4) VarName='seas4dp' if ( K == 5) VarName='seas5dp' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3847,7 +3752,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) if ( K == 3) VarName='seas3wtl' if ( K == 4) VarName='seas4wtl' if ( K == 5) VarName='seas5wtl' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3862,7 +3767,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) if ( K == 3) VarName='seas1wtc' if ( K == 4) VarName='seas1wtc' if ( K == 5) VarName='seas1wtc' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3874,7 +3779,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) do K = 1, nbin_bc if ( K == 1) VarName='bceman' if ( K == 2) VarName='bcembb' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3886,7 +3791,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) do K = 1, nbin_bc if ( K == 1) VarName='bc1sd' if ( K == 2) VarName='bc2sd' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3898,7 +3803,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) do K = 1, nbin_bc if ( K == 1) VarName='bc1dp' if ( K == 2) VarName='bc2dp' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3910,7 +3815,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) do K = 1, nbin_bc if ( K == 1) VarName='bc1wtl' if ( K == 2) VarName='bc2wtl' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3922,7 +3827,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) do K = 1, nbin_bc if ( K == 1) VarName='bc1wtc' if ( K == 2) VarName='bc2wtc' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3934,7 +3839,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) do K = 1, nbin_oc if ( K == 1) VarName='oceman' if ( K == 2) VarName='ocembb' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3946,7 +3851,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) do K = 1, nbin_oc if ( K == 1) VarName='oc1sd' if ( K == 2) VarName='oc2sd' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3956,9 +3861,9 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ! retrieve oc dry deposition fluxes do K = 1, nbin_oc - if ( K == 1) VarName='c1dp' - if ( K == 2) VarName='c2dp' - VcoordName='atmos col' + if ( K == 1) VarName='oc1dp' + if ( K == 2) VarName='oc2dp' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3970,7 +3875,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) do K = 1, nbin_oc if ( K == 1) VarName='oc1wtl' if ( K == 2) VarName='oc2wtl' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3982,7 +3887,7 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) do K = 1, nbin_oc if ( K == 1) VarName='oc1wtc' if ( K == 2) VarName='oc2wtc' - VcoordName='atmos col' + VcoordName='sfc' l=1 call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & ,l,nrec,fldsize,spval,tmp & @@ -3990,57 +3895,20 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) ,ocsv(1,jsta_2l,K)) enddo +! retrieve MIE AOD + VarName='maod' + VcoordName='sfc' + l=1 + call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & + ,l,nrec,fldsize,spval,tmp & + ,recname,reclevtyp,reclev,VarName,VcoordName& + ,maod(1,jsta_2l)) - -!lzhang -!! retrieve sfc mass concentration -! VarName='DUSMASS' -! VcoordName='atmos col' -! l=1 -! call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & -! ,l,nrec,fldsize,spval,tmp & -! ,recname,reclevtyp,reclev,VarName,VcoordName & -! ,dusmass) -! if(debugprint)print*,'sample ',VarName,' = ',dusmass(isa,jsa) - -!lzhang -!! retrieve col mass density -! VarName='DUCMASS' -! VcoordName='atmos col' -! l=1 -! call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & -! ,l,nrec,fldsize,spval,tmp & -! ,recname,reclevtyp,reclev,VarName,VcoordName & -! ,ducmass) -!! if(debugprint)print*,'sample ',VarName,' = ',ducmass(isa,jsa) - -!lzhang -!! retrieve sfc mass concentration (pm2.5) -! VarName='DUSMASS25' -! VcoordName='atmos col' -! l=1 -! call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & -! ,l,nrec,fldsize,spval,tmp & -! ,recname,reclevtyp,reclev,VarName,VcoordName & -! ,dusmass25) -! if(debugprint)print*,'sample ',VarName,' = ',dusmass25(isa,jsa) - -!lzhang -!! retrieve col mass density (pm2.5) -! VarName='DUCMASS25' -! VcoordName='atmos col' -! l=1 -! call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & -! ,l,nrec,fldsize,spval,tmp & -! ,recname,reclevtyp,reclev,VarName,VcoordName & -! ,ducmass25) -! if(debugprint)print*,'sample ',VarName,' = ',ducmass25(isa,jsa) - - if (me == 0) print *,'after aer files reading,mype=',me - call nemsio_close(rfile,iret=status) - deallocate(tmp,recname,reclevtyp,reclev) - end if ! end of aer file read - + endif +! done with flux file, close it for now + call nemsio_close(ffile,iret=status) + deallocate(tmp,recname,reclevtyp,reclev) + ! pos east call collect_loc(gdlat,dummy) if(me == 0)then @@ -4174,6 +4042,15 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) RETURN END + +!---------------------------------------------------------------------- +!> @brief rg2gg() No longer used/supported. +!> +!> @param[in] im integer No longer used/supported. +!> @param[in] jm integer No longer used/supported. +!> @param[in] numi integer No longer used/supported. +!> @param[inout] a real No longer used/supported. +!---------------------------------------------------------------------- subroutine rg2gg(im,jm,numi,a) ! implicit none @@ -4193,6 +4070,15 @@ subroutine rg2gg(im,jm,numi,a) enddo enddo end subroutine rg2gg + +!---------------------------------------------------------------------- +!> @brief gg2rg() No longer used/supported. +!> +!> @param[in] im integer No longer used/supported. +!> @param[in] jm integer No longer used/supported. +!> @param[in] numi integer No longer used/supported. +!> @param[inout] a real No longer used/supported. +!---------------------------------------------------------------------- subroutine gg2rg(im,jm,numi,a) ! implicit none @@ -4213,6 +4099,17 @@ subroutine gg2rg(im,jm,numi,a) enddo end subroutine gg2rg +!---------------------------------------------------------------------- +!> @brief uninterpred () No longer used/supported. +!> +!> @param[in] iord integer No longer used/supported. +!> @param[in] kmsk integer No longer used/supported. +!> @param[in] lonsperlat integer No longer used/supported. +!> @param[in] lonr integer No longer used/supported. +!> @param[in] latr integer No longer used/supported. +!> @param[in] fi real No longer used/supported. +!> @param[out] f real No longer used/supported. +!---------------------------------------------------------------------- subroutine uninterpred(iord,kmsk,lonsperlat,lonr,latr,fi,f) !! implicit none @@ -4233,6 +4130,18 @@ subroutine uninterpred(iord,kmsk,lonsperlat,lonr,latr,fi,f) endif enddo end subroutine + +!---------------------------------------------------------------------- +!> @brief intlon() No longer used/supported. +!> +!> @param[in] iord integer No longer used/supported. +!> @param[in] imsk integer No longer used/supported. +!> @param[in] m1 integer No longer used/supported. +!> @param[in] m2 integer No longer used/supported. +!> @param[in] k1 integer No longer used/supported. +!> @param[in] f1 real No longer used/supported. +!> @param[out] f2 real No longer used/supported. +!---------------------------------------------------------------------- subroutine intlon(iord,imsk,m1,m2,k1,f1,f2) implicit none integer,intent(in) :: iord,imsk,m1,m2 diff --git a/sorc/ncep_post.fd/INITPOST_GFS_NETCDF.f b/sorc/ncep_post.fd/INITPOST_GFS_NETCDF.f deleted file mode 100644 index 164b911630..0000000000 --- a/sorc/ncep_post.fd/INITPOST_GFS_NETCDF.f +++ /dev/null @@ -1,2762 +0,0 @@ -!> @file -! . . . -!> SUBPROGRAM: INITPOST_NETCDF INITIALIZE POST FOR RUN -!! PRGRMMR: Hui-Ya Chuang DATE: 2016-03-04 -!! -!! ABSTRACT: THIS ROUTINE INITIALIZES CONSTANTS AND -!! VARIABLES AT THE START OF GFS MODEL OR POST -!! PROCESSOR RUN. -!! -!! REVISION HISTORY -!! 2017-08-11 H Chuang start from INITPOST_GFS_NEMS_MPIIO.f -!! 2021-03-11 Bo Cui change local arrays to dimension (im,jsta:jend) -!! -!! USAGE: CALL INITPOST_NETCDF -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! LOOKUP -!! SOILDEPTH -!! -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! - SUBROUTINE INITPOST_GFS_NETCDF(ncid3d) - - - use netcdf - use vrbls4d, only: dust, SALT, SUSO, SOOT, WASO, PP25, PP10 - use vrbls3d, only: t, q, uh, vh, pmid, pint, alpint, dpres, zint, zmid, o3, & - qqr, qqs, cwm, qqi, qqw, omga, rhomid, q2, cfr, rlwtt, rswtt, tcucn, & - tcucns, train, el_pbl, exch_h, vdifftt, vdiffmois, dconvmois, nradtt, & - o3vdiff, o3prod, o3tndy, mwpv, unknown, vdiffzacce, zgdrag,cnvctummixing, & - vdiffmacce, mgdrag, cnvctvmmixing, ncnvctcfrac, cnvctumflx, cnvctdmflx, & - cnvctzgdrag, sconvmois, cnvctmgdrag, cnvctdetmflx, duwt, duem, dusd, dudp, & - wh, qqg, ref_10cm - use vrbls2d, only: f, pd, fis, pblh, ustar, z0, ths, qs, twbs, qwbs, avgcprate, & - cprate, avgprec, prec, lspa, sno, si, cldefi, th10, q10, tshltr, pshltr, & - tshltr, albase, avgalbedo, avgtcdc, czen, czmean, mxsnal, radot, sigt4, & - cfrach, cfracl, cfracm, avgcfrach, qshltr, avgcfracl, avgcfracm, cnvcfr, & - islope, cmc, grnflx, vegfrc, acfrcv, ncfrcv, acfrst, ncfrst, ssroff, & - bgroff, rlwin, rlwtoa, cldwork, alwin, alwout, alwtoa, rswin, rswinc, & - rswout, aswin, auvbin, auvbinc, aswout, aswtoa, sfcshx, sfclhx, subshx, & - snopcx, sfcux, sfcvx, sfcuxi, sfcvxi, sfcuvx, gtaux, gtauy, potevp, u10, v10, smstav, & - smstot, ivgtyp, isltyp, sfcevp, sfcexc, acsnow, acsnom, sst, thz0, qz0, & - uz0, vz0, ptop, htop, pbot, hbot, ptopl, pbotl, ttopl, ptopm, pbotm, ttopm, & - ptoph, pboth, pblcfr, ttoph, runoff, maxtshltr, mintshltr, maxrhshltr, & - minrhshltr, dzice, smcwlt, suntime, fieldcapa, htopd, hbotd, htops, hbots, & - cuppt, dusmass, ducmass, dusmass25, ducmass25, aswintoa,rel_vort_maxhy1, & - maxqshltr, minqshltr, acond, sr, u10h, v10h,refd_max, w_up_max, w_dn_max, & - up_heli_max,up_heli_min,up_heli_max03,up_heli_min03,rel_vort_max01,u10max, v10max, & - avgedir,avgecan,avgetrans,avgesnow,avgprec_cont,avgcprate_cont,rel_vort_max, & - avisbeamswin,avisdiffswin,airbeamswin,airdiffswin,refdm10c_max,wspd10max, & - alwoutc,alwtoac,aswoutc,aswtoac,alwinc,aswinc,avgpotevp,snoavg, & - ti,aod550,du_aod550,ss_aod550,su_aod550,oc_aod550,bc_aod550 - use soil, only: sldpth, sh2o, smc, stc - use masks, only: lmv, lmh, htm, vtm, gdlat, gdlon, dx, dy, hbm2, sm, sice - use physcons_post, only: grav => con_g, fv => con_fvirt, rgas => con_rd, & - eps => con_eps, epsm1 => con_epsm1 - use params_mod, only: erad, dtr, tfrz, h1, d608, rd, p1000, capa,pi - use lookup_mod, only: thl, plq, ptbl, ttbl, rdq, rdth, rdp, rdthe, pl, qs0, sqs, sthe, & - ttblq, rdpq, rdtheq, stheq, the0q, the0 - use ctlblk_mod, only: me, mpi_comm_comp, icnt, idsp, jsta, jend, ihrst, idat, sdat, ifhr, & - ifmin, filename, tprec, tclod, trdlw, trdsw, tsrfc, tmaxmin, td3d, restrt, sdat, & - jend_m, imin, imp_physics, dt, spval, pdtop, pt, qmin, nbin_du, nphs, dtq2, ardlw,& - ardsw, asrfc, avrain, avcnvc, theat, gdsdegr, spl, lsm, alsl, im, jm, im_jm, lm, & - jsta_2l, jend_2u, nsoil, lp1, icu_physics, ivegsrc, novegtype, nbin_ss, nbin_bc, & - nbin_oc, nbin_su, gocart_on, pt_tbl, hyb_sigp, filenameFlux, fileNameAER,rdaod - use gridspec_mod, only: maptype, gridtype, latstart, latlast, lonstart, lonlast, cenlon, & - dxval, dyval, truelat2, truelat1, psmapf, cenlat,lonstartv, lonlastv, cenlonv, & - latstartv, latlastv, cenlatv,latstart_r,latlast_r,lonstart_r,lonlast_r - use rqstfld_mod, only: igds, avbl, iq, is - use upp_physics, only: fpvsnew -!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none -! -! type(nemsio_gfile) :: nfile,ffile,rfile - integer,parameter :: nvar2d=48 -! character(nemsio_charkind) :: name2d(nvar2d) - integer :: nvar3d, numDims -! character(nemsio_charkind), allocatable :: name3din(:), name3dout(:) -! character(nemsio_charkind) :: varname,levtype -! -! INCLUDE/SET PARAMETERS. -! - INCLUDE "mpif.h" - -! integer,parameter:: MAXPTS=1000000 ! max im*jm points -! -! real,parameter:: con_g =9.80665e+0! gravity -! real,parameter:: con_rv =4.6150e+2 ! gas constant H2O -! real,parameter:: con_rd =2.8705e+2 ! gas constant air -! real,parameter:: con_fvirt =con_rv/con_rd-1. -! real,parameter:: con_eps =con_rd/con_rv -! real,parameter:: con_epsm1 =con_rd/con_rv-1 -! -! This version of INITPOST shows how to initialize, open, read from, and -! close a NetCDF dataset. In order to change it to read an internal (binary) -! dataset, do a global replacement of _ncd_ with _int_. - - real, parameter :: gravi = 1.0/grav - character(len=20) :: VarName, VcoordName - integer :: Status, fldsize, fldst, recn, recn_vvel - character startdate*19,SysDepInfo*80,cgar*1 - character startdate2(19)*4 -! -! NOTE: SOME INTEGER VARIABLES ARE READ INTO DUMMY ( A REAL ). THIS IS OK -! AS LONG AS REALS AND INTEGERS ARE THE SAME SIZE. -! -! ALSO, EXTRACT IS CALLED WITH DUMMY ( A REAL ) EVEN WHEN THE NUMBERS ARE -! INTEGERS - THIS IS OK AS LONG AS INTEGERS AND REALS ARE THE SAME SIZE. - LOGICAL RUNB,SINGLRST,SUBPOST,NEST,HYDRO,IOOMG,IOALL -! logical, parameter :: debugprint = .true., zerout = .false. - logical, parameter :: debugprint = .false., zerout = .false. - logical :: convert_rad_to_deg=.false. - CHARACTER*32 varcharval -! CHARACTER*40 CONTRL,FILALL,FILMST,FILTMP,FILTKE,FILUNV,FILCLD,FILRAD,FILSFC - CHARACTER*4 RESTHR - CHARACTER FNAME*255,ENVAR*50 - INTEGER IDATE(8),JDATE(8),JPDS(200),JGDS(200),KPDS(200),KGDS(200) -! LOGICAL*1 LB(IM,JM) -! -! INCLUDE COMMON BLOCKS. -! -! DECLARE VARIABLES. -! -! REAL fhour -! integer nfhour ! forecast hour from nems io file - integer fhzero !bucket - real dtp !physics time step - REAL RINC(5) - -! REAL FI(IM,JM,2) - REAL DUMMY(IM,JM) - -!jw - integer ii,jj,js,je,iyear,imn,iday,itmp,ioutcount,istatus, & - I,J,L,ll,k,kf,irtn,igdout,n,Index,nframe, & - nframed2,iunitd3d,ierr,idum,iret,nrec,idrt - integer ncid3d,ncid2d,varid,nhcas - real TSTART,TLMH,TSPH,ES,FACT,soilayert,soilayerb,zhour,dum, & - tvll,pmll,tv, tx1, tx2 - - character*20,allocatable :: recname(:) - integer, allocatable :: reclev(:), kmsk(:,:) - real, allocatable :: glat1d(:), glon1d(:), qstl(:) - real, allocatable :: wrk1(:,:), wrk2(:,:) - real, allocatable :: p2d(:,:), t2d(:,:), q2d(:,:), & - qs2d(:,:), cw2d(:,:), cfr2d(:,:) - real(kind=4),allocatable :: vcoord4(:,:,:) - real, dimension(lm+1) :: ak5, bk5 - real*8, allocatable :: pm2d(:,:), pi2d(:,:) - real, allocatable :: tmp(:) - real :: buf(im,jsta_2l:jend_2u) - real :: buf3d(im,jsta_2l:jend_2u,lm) - -! real buf(im,jsta_2l:jend_2u),bufsoil(im,nsoil,jsta_2l:jend_2u) & -! ,buf3d(im,jsta_2l:jend_2u,lm),buf3d2(im,lp1,jsta_2l:jend_2u) - - real LAT - integer isa, jsa, latghf, jtem, idvc, idsl, nvcoord, ip1, nn, npass - - integer, parameter :: npass2=5, npass3=30 - real, parameter :: third=1.0/3.0 - INTEGER, DIMENSION(2) :: ij4min, ij4max - REAL :: omgmin, omgmax - real, allocatable :: d2d(:,:), u2d(:,:), v2d(:,:), omga2d(:,:) - REAL, ALLOCATABLE :: ps2d(:,:),psx2d(:,:),psy2d(:,:) - real, allocatable :: div3d(:,:,:) - real(kind=4),allocatable :: vcrd(:,:) - real :: dum_const - -!*********************************************************************** -! START INIT HERE. -! - WRITE(6,*)'INITPOST: ENTER INITPOST_GFS_NETCDF' - WRITE(6,*)'me=',me, & - 'jsta_2l=',jsta_2l,'jend_2u=', & - jend_2u,'im=',im -! - isa = im / 2 - jsa = (jsta+jend) / 2 - -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - buf(i,j) = spval - enddo - enddo - - Status=nf90_get_att(ncid3d,nf90_global,'ak',ak5) - if(Status/=0)then - print*,'ak not found; assigning missing value' - ak5=spval - else - if(me==0)print*,'ak5= ',ak5 - end if - Status=nf90_get_att(ncid3d,nf90_global,'idrt',idrt) - if(Status/=0)then - print*,'idrt not in netcdf file,reading grid' - Status=nf90_get_att(ncid3d,nf90_global,'grid',varcharval) - if(Status/=0)then - print*,'idrt and grid not in netcdf file, set default to latlon' - idrt=0 - MAPTYPE=0 - else - if(trim(varcharval)=='rotated_latlon')then - MAPTYPE=207 - idrt=207 - Status=nf90_get_att(ncid3d,nf90_global,'cen_lon',dum_const) - if(Status/=0)then - print*,'cen_lon not found; assigning missing value' - cenlon=spval - else - if(dum_const<0.)then - cenlon=nint((dum_const+360.)*gdsdegr) - else - cenlon=dum_const*gdsdegr - end if - end if - Status=nf90_get_att(ncid3d,nf90_global,'cen_lat',dum_const) - if(Status/=0)then - print*,'cen_lat not found; assigning missing value' - cenlat=spval - else - cenlat=dum_const*gdsdegr - end if - - Status=nf90_get_att(ncid3d,nf90_global,'lon1',dum_const) - if(Status/=0)then - print*,'lonstart_r not found; assigning missing value' - lonstart_r=spval - else - if(dum_const<0.)then - lonstart_r=nint((dum_const+360.)*gdsdegr) - else - lonstart_r=dum_const*gdsdegr - end if - end if - Status=nf90_get_att(ncid3d,nf90_global,'lat1',dum_const) - if(Status/=0)then - print*,'latstart_r not found; assigning missing value' - latstart_r=spval - else - latstart_r=dum_const*gdsdegr - end if - - Status=nf90_get_att(ncid3d,nf90_global,'lon2',dum_const) - if(Status/=0)then - print*,'lonlast_r not found; assigning missing value' - lonlast_r=spval - else - if(dum_const<0.)then - lonlast_r=nint((dum_const+360.)*gdsdegr) - else - lonlast_r=dum_const*gdsdegr - end if - end if - Status=nf90_get_att(ncid3d,nf90_global,'lat2',dum_const) - if(Status/=0)then - print*,'latlast_r not found; assigning missing value' - latlast_r=spval - else - latlast_r=dum_const*gdsdegr - end if - - Status=nf90_get_att(ncid3d,nf90_global,'dlon',dum_const) - if(Status/=0)then - print*,'dlmd not found; assigning missing value' - dxval=spval - else - dxval=dum_const*gdsdegr - end if - Status=nf90_get_att(ncid3d,nf90_global,'dlat',dum_const) - if(Status/=0)then - print*,'dphd not found; assigning missing value' - dyval=spval - else - dyval=dum_const*gdsdegr - end if - - print*,'lonstart,latstart,cenlon,cenlat,dyval,dxval', & - lonstart,latstart,cenlon,cenlat,dyval,dxval - -! Jili Dong add support for regular lat lon (2019/03/22) start - else if(trim(varcharval)=='latlon')then - MAPTYPE=0 - idrt=0 - - Status=nf90_get_att(ncid3d,nf90_global,'lon1',dum_const) - if(Status/=0)then - print*,'lonstart not found; assigning missing value' - lonstart=spval - else - if(dum_const<0.)then - lonstart=nint((dum_const+360.)*gdsdegr) - else - lonstart=dum_const*gdsdegr - end if - end if - Status=nf90_get_att(ncid3d,nf90_global,'lat1',dum_const) - if(Status/=0)then - print*,'latstart not found; assigning missing value' - latstart=spval - else - latstart=dum_const*gdsdegr - end if - - Status=nf90_get_att(ncid3d,nf90_global,'lon2',dum_const) - if(Status/=0)then - print*,'lonlast not found; assigning missing value' - lonlast=spval - else - if(dum_const<0.)then - lonlast=nint((dum_const+360.)*gdsdegr) - else - lonlast=dum_const*gdsdegr - end if - end if - Status=nf90_get_att(ncid3d,nf90_global,'lat2',dum_const) - if(Status/=0)then - print*,'latlast not found; assigning missing value' - latlast=spval - else - latlast=dum_const*gdsdegr - end if - - Status=nf90_get_att(ncid3d,nf90_global,'dlon',dum_const) - if(Status/=0)then - print*,'dlmd not found; assigning missing value' - dxval=spval - else - dxval=dum_const*gdsdegr - end if - Status=nf90_get_att(ncid3d,nf90_global,'dlat',dum_const) - if(Status/=0)then - print*,'dphd not found; assigning missing value' - dyval=spval - else - dyval=dum_const*gdsdegr - end if - - print*,'lonstart,latstart,dyval,dxval', & - lonstart,lonlast,latstart,latlast,dyval,dxval - -! Jili Dong add support for regular lat lon (2019/03/22) end - - else if(trim(varcharval)=='gaussian')then - MAPTYPE=4 - idrt=4 - else ! setting default maptype - MAPTYPE=0 - idrt=0 - end if - end if !end reading grid - end if !end reading idrt - if(me==0)print*,'idrt MAPTYPE= ',idrt,MAPTYPE -! STEP 1. READ MODEL OUTPUT FILE -! -! -!*** -! -! LMH and LMV always = LM for sigma-type vert coord - -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i = 1, im - LMV(i,j) = lm - LMH(i,j) = lm - end do - end do - -! HTM VTM all 1 for sigma-type vert coord - -!$omp parallel do private(i,j,l) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - HTM (i,j,l) = 1.0 - VTM (i,j,l) = 1.0 - end do - end do - end do - - Status=nf90_get_att(ncid3d,nf90_global,'nhcas',nhcas) - if(Status/=0)then - print*,'nhcas not in netcdf file, set default to nonhydro' - nhcas=0 - end if - if(me==0)print*,'nhcas= ',nhcas - if (nhcas == 0 ) then !non-hydrostatic case - nrec=15 - allocate (recname(nrec)) - recname=[character(len=20) :: 'ugrd','vgrd','spfh','tmp','o3mr', & - 'presnh','dzdt', 'clwmr','dpres', & - 'delz','icmr','rwmr', & - 'snmr','grle','cld_amt'] - else - nrec=8 - allocate (recname(nrec)) - recname=[character(len=20) :: 'ugrd','vgrd','tmp','spfh','o3mr', & - 'hypres', 'clwmr','dpres'] - endif - -! write(0,*)'nrec=',nrec - !allocate(recname(nrec),reclevtyp(nrec),reclev(nrec)) - allocate(glat1d(jm),glon1d(im)) - allocate(vcoord4(lm+1,3,2)) - -! hardwire idate for now -! idate=(/2017,08,07,00,0,0,0,0/) -! get cycle start time - Status=nf90_inq_varid(ncid3d,'time',varid) - if(Status/=0)then - print*,'time not in netcdf file, stopping' - STOP 1 - else - Status=nf90_get_att(ncid3d,varid,'units',varcharval) - if(Status/=0)then - print*,'time unit not available' - else - print*,'time unit read from netcdf file= ',varcharval -! assume use hours as unit -! idate_loc=index(varcharval,'since')+6 - read(varcharval,101)idate(1),idate(2),idate(3),idate(4),idate(5) - end if -! Status=nf90_inquire_dimension(ncid3d,varid,len=ntimes) -! allocate(fhours(ntimes)) -! status = nf90_inq_varid(ncid3d,varid,fhours) -! Status=nf90_get_var(ncid3d,varid,nfhour,start=(/1/), & -! count=(/1/)) -! if(Status/=0)then -! print*,'forecast hour not in netcdf file, stopping' -! STOP 1 -! end if - end if - 101 format(T13,i4,1x,i2,1x,i2,1x,i2,1x,i2) - print*,'idate= ',idate(1:5) -! get longitude - Status=nf90_inq_varid(ncid3d,'grid_xt',varid) - Status=nf90_inquire_variable(ncid3d,varid,ndims = numDims) - if(debugprint)print*,'number of dim for gdlon ',numDims - if(numDims==1)then - Status=nf90_get_var(ncid3d,varid,glon1d) - do j=jsta,jend - do i=1,im - gdlon(i,j) = real(glon1d(i),kind=4) - end do - end do - lonstart = nint(glon1d(1)*gdsdegr) - lonlast = nint(glon1d(im)*gdsdegr) - dxval = nint(abs(glon1d(1)-glon1d(2))*gdsdegr) - else if(numDims==2)then - Status=nf90_get_var(ncid3d,varid,dummy) - if(maxval(abs(dummy))<2.0*pi)convert_rad_to_deg=.true. - if(convert_rad_to_deg)then - do j=jsta,jend - do i=1,im - gdlon(i,j) = real(dummy(i,j),kind=4)*180./pi - end do - end do - else - do j=jsta,jend - do i=1,im - gdlon(i,j) = real(dummy(i,j),kind=4) - end do - end do - end if - if(convert_rad_to_deg)then - lonstart = nint(dummy(1,1)*gdsdegr)*180./pi - lonlast = nint(dummy(im,jm)*gdsdegr)*180./pi - dxval = nint(abs(dummy(1,1)-dummy(2,1))*gdsdegr)*180./pi - else - lonstart = nint(dummy(1,1)*gdsdegr) - lonlast = nint(dummy(im,jm)*gdsdegr) - dxval = nint(abs(dummy(1,1)-dummy(2,1))*gdsdegr) - end if - -! Jili Dong add support for regular lat lon (2019/03/22) start - if (MAPTYPE == 0) then - if(lonstart<0.)then - lonstart=lonstart+360.*gdsdegr - end if - if(lonlast<0.)then - lonlast=lonlast+360.*gdsdegr - end if - end if -! Jili Dong add support for regular lat lon (2019/03/22) end - - end if - print*,'lonstart,lonlast,dxval ',lonstart,lonlast,dxval -! get latitude - Status=nf90_inq_varid(ncid3d,'grid_yt',varid) - Status=nf90_inquire_variable(ncid3d,varid,ndims = numDims) - if(debugprint)print*,'number of dim for gdlat ',numDims - if(numDims==1)then - Status=nf90_get_var(ncid3d,varid,glat1d) - do j=jsta,jend - do i=1,im - gdlat(i,j) = real(glat1d(j),kind=4) - end do - end do - latstart = nint(glat1d(1)*gdsdegr) - latlast = nint(glat1d(jm)*gdsdegr) - dyval = nint(abs(glat1d(1)-glat1d(2))*gdsdegr) - else if(numDims==2)then - Status=nf90_get_var(ncid3d,varid,dummy) - if(maxval(abs(dummy))1.0e5)print*,'bad dpres ',i,j,dpres(i,j,l) -!make sure delz is positive -! if(dpres(i,j,l)/=spval .and. t(i,j,l)/=spval .and. & -! q(i,j,l)/=spval .and. buf3d(i,j,l)/=spval)then -! pmid(i,j,l)=rgas*dpres(i,j,l)* & -! t(i,j,l)*(q(i,j,l)*fv+1.0)/grav/abs(buf3d(i,j,l)) -! else -! pmid(i,j,l)=spval -! end if -! dong add missing value - if (wh(i,j,l) < spval) then - omga(i,j,l)=(-1.)*wh(i,j,l)*dpres(i,j,l)/abs(buf3d(i,j,l)) - else - omga(i,j,l) = spval - end if -! if(t(i,j,l)>1000.)print*,'bad T ',t(i,j,l) - enddo - enddo - enddo - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,recname(11) & - ,lm,qqi(1,jsta_2l,1)) - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,recname(12) & - ,lm,qqr(1,jsta_2l,1)) - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,recname(13) & - ,lm,qqs(1,jsta_2l,1)) - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,recname(14) & - ,lm,qqg(1,jsta_2l,1)) - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,recname(15) & - ,lm,cfr(1,jsta_2l,1)) -! calculate CWM from FV3 output - do l=1,lm - do j=jsta,jend - do i=1,im - cwm(i,j,l)=qqg(i,j,l)+qqs(i,j,l)+qqr(i,j,l)+qqi(i,j,l)+qqw(i,j,l) - enddo - enddo - if(debugprint)print*,'sample l,t,q,u,v,w,= ',isa,jsa,l & - ,t(isa,jsa,l),q(isa,jsa,l),uh(isa,jsa,l),vh(isa,jsa,l) & - ,wh(isa,jsa,l) - if(debugprint)print*,'sample l cwm for FV3',l, & - cwm(isa,jsa,l) - end do -! max hourly updraft velocity -! VarName='upvvelmax' -! call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,w_up_max) -! if(debugprint)print*,'sample ',VarName,' = ',w_up_max(isa,jsa) - -! max hourly downdraft velocity -! VarName='dnvvelmax' -! call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,w_dn_max) -! if(debugprint)print*,'sample ',VarName,' = ',w_dn_max(isa,jsa) -! max hourly updraft helicity -! VarName='uhmax25' -! call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,up_heli_max) -! if(debugprint)print*,'sample ',VarName,' = ',up_heli_max(isa,jsa) -! min hourly updraft helicity -! VarName='uhmin25' -! call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,up_heli_min) -! if(debugprint)print*,'sample ',VarName,' = ',up_heli_min(isa,jsa) -! max hourly 0-3km updraft helicity -! VarName='uhmax03' -! call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,up_heli_max03) -! if(debugprint)print*,'sample ',VarName,' = ',up_heli_max03(isa,jsa) -! min hourly 0-3km updraft helicity -! VarName='uhmin03' -! call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,up_heli_min03) -! if(debugprint)print*,'sample ',VarName,' = ',up_heli_min03(isa,jsa) - -! max 0-1km relative vorticity max -! VarName='maxvort01' -! call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,rel_vort_max01) -! if(debugprint)print*,'sample ',VarName,' = ',rel_vort_max01(isa,jsa) -! max 0-2km relative vorticity max -! VarName='maxvort02' -! call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,rel_vort_max) -! if(debugprint)print*,'sample ',VarName,' =',rel_vort_max(isa,jsa) -! max hybrid lev 1 relative vorticity max -! VarName='maxvorthy1' -! call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,rel_vort_maxhy1) -! if(debugprint)print*,'sample ',VarName,' =',rel_vort_maxhy1(isa,jsa) -! surface pressure - VarName='pressfc' - call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,pint(1,jsta_2l,lp1)) - do j=jsta,jend - do i=1,im -! if(pint(i,j,lp1)>1.0E6 .or. pint(1,jsta_2l,lp1)<50000.) & -! print*,'bad psfc ',i,j,pint(i,j,lp1) - end do - end do - if(debugprint)print*,'sample ',VarName,' =',pint(isa,jsa,lp1) - - pt = ak5(1) - - do j=jsta,jend - do i=1,im - pint(i,j,1)= pt - end do - end do - - do l=2,lp1 - do j=jsta,jend - do i=1,im - pint(i,j,l) = pint(i,j,l-1) + dpres(i,j,l-1) - enddo - enddo -! if (me == 0) print*,'sample model pint,pmid' ,ii,jj,l & -! ,pint(ii,jj,l),pmid(ii,jj,l) - end do - -!compute pmid from averaged two layer pint - do l=lm,1,-1 - do j=jsta,jend - do i=1,im - pmid(i,j,l) = 0.5*(pint(i,j,l)+pint(i,j,l+1)) - enddo - enddo - enddo - -! do l=lm,1,-1 -! do j=jsta,jend -! do i=1,im -! if(pint(i,j,l+1)/=spval .and. dpres(i,j,l)/=spval)then -! pint(i,j,l)=pint(i,j,l+1)-dpres(i,j,l) -! else -! pint(i,j,l)=spval -! end if -! end do -! end do -! print*,'sample pint= ',isa,jsa,l,pint(isa,jsa,l) -! end do - -! surface height from FV3 -! dong set missing value for zint -! zint=spval - VarName='hgtsfc' - call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,zint(1,jsta_2l,lp1)) - if(debugprint)print*,'sample ',VarName,' =',zint(isa,jsa,lp1) - do j=jsta,jend - do i=1,im - if (zint(i,j,lp1) /= spval) then - fis(i,j) = zint(i,j,lp1) * grav - else - fis(i,j) = spval - endif - enddo - enddo - - do l=lm,1,-1 - do j=jsta,jend - do i=1,im - if(zint(i,j,l+1)/=spval .and. buf3d(i,j,l)/=spval)then -!make sure delz is positive - zint(i,j,l)=zint(i,j,l+1)+abs(buf3d(i,j,l)) -! if(zint(i,j,l)>1.0E6)print*,'bad H ',i,j,l,zint(i,j,l) - else - zint(i,j,l)=spval - end if - end do - end do - print*,'sample zint= ',isa,jsa,l,zint(isa,jsa,l) - end do - - do l=lp1,1,-1 - do j=jsta,jend - do i=1,im - alpint(i,j,l)=log(pint(i,j,l)) - end do - end do - end do - - do l=lm,1,-1 - do j=jsta,jend - do i=1,im - if(zint(i,j,l+1)/=spval .and. zint(i,j,l)/=spval & - .and. pmid(i,j,l)/=spval)then - zmid(i,j,l)=zint(i,j,l+1)+(zint(i,j,l)-zint(i,j,l+1))* & - (log(pmid(i,j,l))-alpint(i,j,l+1))/ & - (alpint(i,j,l)-alpint(i,j,l+1)) - if(zmid(i,j,l)>1.0E6)print*,'bad Hmid ',i,j,l,zmid(i,j,l) - else - zmid(i,j,l)=spval - endif - end do - end do - end do - - - pt = ak5(1) - -! else -! do l=2,lm -!!$omp parallel do private(i,j) -! do j=jsta,jend -! do i=1,im -! pint(i,j,l) = pint(i,j,l-1) + dpres(i,j,l-1) -! enddo -! enddo -! if (me == 0) print*,'sample pint,pmid' ,ii,jj,l,pint(ii,jj,l),pmid(ii,jj,l) -! end do -! endif -! - - deallocate (vcoord4) -!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -! - -! done with 3d file, close it for now - Status=nf90_close(ncid3d) - deallocate(recname) - -! open flux file - Status = nf90_open(trim(fileNameFlux),NF90_NOWRITE, ncid2d) - - if ( Status /= 0 ) then - print*,'error opening ',fileNameFlux, ' Status = ', Status - print*,'skip reading of flux file' - endif - -! IVEGSRC=1 for IGBP, 0 for USGS, 2 for UMD - VarName='IVEGSRC' - Status=nf90_get_att(ncid2d,nf90_global,'IVEGSRC',IVEGSRC) - if (Status /= 0) then - print*,VarName,' not found-Assigned 1 for IGBP as default' - IVEGSRC=1 - end if - if (me == 0) print*,'IVEGSRC= ',IVEGSRC - -! set novegtype based on vegetation classification - if(ivegsrc==2)then - novegtype=13 - else if(ivegsrc==1)then - novegtype=20 - else if(ivegsrc==0)then - novegtype=24 - end if - if (me == 0) print*,'novegtype= ',novegtype - - Status=nf90_get_att(ncid2d,nf90_global,'imp_physics',imp_physics) - if (Status /= 0) then - print*,VarName,' not found-Assigned 11 GFDL as default' - imp_physics=11 - end if - if (me == 0) print*,'MP_PHYSICS= ',imp_physics -! - Status=nf90_get_att(ncid2d,nf90_global,'fhzero',fhzero) - if (Status /= 0) then - print*,VarName,' not found-Assigned 3 hours as default' - fhzero=3 - end if - if (me == 0) print*,'fhzero= ',fhzero -! - Status=nf90_get_att(ncid2d,nf90_global,'dtp',dtp) - if (Status /= 0) then - print*,VarName,' not found-Assigned 90s as default' - dtp=90 - end if - if (me == 0) print*,'dtp= ',dtp -! Initializes constants for Ferrier microphysics - if(imp_physics==5 .or. imp_physics==85 .or. imp_physics==95) then - CALL MICROINIT(imp_physics) - end if - -! Chuang: zhour is when GFS empties bucket last so using this -! to compute buket will result in changing bucket with forecast time. -! set default bucket for now - -! call nemsio_getheadvar(ffile,'zhour',zhour,iret=iret) -! if(iret == 0) then -! tprec = 1.0*ifhr-zhour -! tclod = tprec -! trdlw = tprec -! trdsw = tprec -! tsrfc = tprec -! tmaxmin = tprec -! td3d = tprec -! print*,'tprec from flux file header= ',tprec -! else -! print*,'Error reading accumulation bucket from flux file', & -! 'header - will try to read from env variable FHZER' -! CALL GETENV('FHZER',ENVAR) -! read(ENVAR, '(I2)')idum -! tprec = idum*1.0 -! tclod = tprec -! trdlw = tprec -! trdsw = tprec -! tsrfc = tprec -! tmaxmin = tprec -! td3d = tprec -! print*,'TPREC from FHZER= ',tprec -! end if - - - tprec = float(fhzero) - if(ifhr>240)tprec=12. - tclod = tprec - trdlw = tprec - trdsw = tprec - tsrfc = tprec - tmaxmin = tprec - td3d = tprec - print*,'tprec = ',tprec - - -! start reading 2d netcdf file -! surface pressure -! VarName='pressfc' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & -! ,pint(1,jsta_2l,lp1)) -! if(debugprint)print*,'sample ',VarName,' =',pint(isa,jsa,lp1) -! do l=lm,1,-1 -! do j=jsta,jend -! do i=1,im -! pint(i,j,l)=pint(i,j,l+1)-dpres(i,j,l) -! if(pint(i,j,l)>1.0E6)print*,'bad P ',i,j,l,pint(i,j,l) & -! ,pint(i,j,l+1),dpres(i,j,l) -! end do -! end do -! print*,'sample pint= ',isa,jsa,l,pint(isa,jsa,l) -! end do -! surface height from FV3 already multiplied by G -! VarName='orog' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,fis) -! if(debugprint)print*,'sample ',VarName,' =',fis(isa,jsa) -! do j=jsta,jend -! do i=1,im -! if (fis(i,j) /= spval) then -! zint(i,j,lp1) = fis(i,j) -! fis(i,j) = fis(i,j) * grav -! else -! zint(i,j,lp1) = spval -! fis(i,j) = spval -! endif -! enddo -! enddo - -! do l=lm,1,-1 -! do j=jsta,jend -! do i=1,im -! if(zint(i,j,l+1)/=spval .and. buf3d(i,j,l)/=spval)then -! zint(i,j,l)=zint(i,j,l+1)+buf3d(i,j,l) -! if(zint(i,j,l)>1.0E6)print*,'bad H ',i,j,l,zint(i,j,l) -! else -! zint(i,j,l)=spval -! end if -! end do -! end do -! print*,'sample zint= ',isa,jsa,l,zint(isa,jsa,l) -! end do - -! Per communication with Fanglin, P from model in not monotonic -! so compute P using ak and bk for now Sep. 2017 -! do l=lm,1,-1 -!!!$omp parallel do private(i,j) -! do j=jsta,jend -! do i=1,im -! pint(i,j,l) = ak5(lm+2-l) + bk5(lm+2-l)*pint(i,j,lp1) -! pmid(i,j,l) = 0.5*(pint(i,j,l)+pint(i,j,l+1)) ! for now - -! enddo -! enddo -! print*,'sample pint,pmid' & -! ,l,pint(isa,jsa,l),pmid(isa,jsa,l) -! enddo - -! allocate(wrk1(im,jsta:jend),wrk2(im,jsta:jend)) -! do j=jsta,jend -! do i=1,im -! pd(i,j) = spval ! GFS does not output PD -! pint(i,j,1) = PT -! alpint(i,j,lp1) = log(pint(i,j,lp1)) -! wrk1(i,j) = log(PMID(I,J,LM)) -! wrk2(i,j) = T(I,J,LM)*(Q(I,J,LM)*fv+1.0) -! FI(I,J,1) = FIS(I,J) & -! + wrk2(i,j)*rgas*(ALPINT(I,J,Lp1)-wrk1(i,j)) -! ZMID(I,J,LM) = FI(I,J,1) * gravi -! end do -! end do - -! SECOND, INTEGRATE HEIGHT HYDROSTATICLY, GFS integrate height on -! mid-layer - -! DO L=LM,2,-1 ! omit computing model top height -! ll = l - 1 -! do j = jsta, jend -! do i = 1, im -! alpint(i,j,l) = log(pint(i,j,l)) -! tvll = T(I,J,LL)*(Q(I,J,LL)*fv+1.0) -! pmll = log(PMID(I,J,LL)) - -! FI(I,J,2) = FI(I,J,1) + (0.5*rgas)*(wrk2(i,j)+tvll) & -! * (wrk1(i,j)-pmll) -! ZMID(I,J,LL) = FI(I,J,2) * gravi -! -! FACT = (ALPINT(I,J,L)-wrk1(i,j)) / (pmll-wrk1(i,j)) -! ZINT(I,J,L) = ZMID(I,J,L) +(ZMID(I,J,LL)-ZMID(I,J,L))*FACT -! FI(I,J,1) = FI(I,J,2) -! wrk1(i,J) = pmll -! wrk2(i,j) = tvll -! ENDDO -! ENDDO - -! print*,'L ZINT= ',l,zint(isa,jsa,l),ZMID(isa,jsa,l) -! ,'alpint=',ALPINT(ii,jj,l),'pmid=',LOG(PMID(Ii,Jj,L)), & -! 'pmid(l-1)=',LOG(PMID(Ii,Jj,L-1)),'zmd=',ZMID(Ii,Jj,L), & -! 'zmid(l-1)=',ZMID(Ii,Jj,L-1) -! ENDDO -! deallocate(wrk1,wrk2) - -! do l=lp1,2,-1 -! do j=jsta,jend -! do i=1,im -! alpint(i,j,l)=log(pint(i,j,l)) -! end do -! end do -! end do - -! do l=lm,2,-1 -! do j=jsta,jend -! do i=1,im -! zmid(i,j,l)=zint(i,j,l+1)+(zint(i,j,l)-zint(i,j,l+1))* & -! (log(pmid(i,j,l))-alpint(i,j,l+1))/ & -! (alpint(i,j,l)-alpint(i,j,l+1)) -! if(zmid(i,j,l)>1.0E6)print*,'bad Hmid ',i,j,l,zmid(i,j,l) -! end do -! end do -! end do - -! VarName='refl_10cm' -! do l=1,lm -! call read_netcdf_3d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & -! ,lm,REF_10CM(1,jsta_2l,1)) -! if(debugprint)print*,'sample ',VarName,'isa,jsa,l =' & -! ,REF_10CM(isa,jsa,l),isa,jsa,l -! enddo -!Set REF_10CM as missning since gfs doesn't ouput it - do l=1,lm - do j=jsta,jend - do i=1,im - REF_10CM(i,j,l)=spval - enddo - enddo - enddo - - VarName='land' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sm) - if(debugprint)print*,'sample ',VarName,' =',sm(im/2,(jsta+jend)/2) - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= spval) sm(i,j) = 1.0 - sm(i,j) - enddo - enddo - -! sea ice mask - - VarName = 'icec' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sice) - if(debugprint)print*,'sample ',VarName,' = ',sice(isa,jsa) - -! where(sice /=spval .and. sice >=1.0)sm=0.0 !sea ice has sea -! mask=0 -! GFS flux files have land points with non-zero sea ice, per Iredell, -! these -! points have sea ice changed to zero, i.e., trust land mask more than -! sea ice -! where(sm/=spval .and. sm==0.0)sice=0.0 !specify sea ice=0 at land - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= spval .and. sm(i,j) == 0.0) sice(i,j) = 0.0 - enddo - enddo - - -! PBL height using nemsio - VarName = 'hpbl' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,pblh) - if(debugprint)print*,'sample ',VarName,' = ',pblh(isa,jsa) - -! frictional velocity using nemsio - VarName='fricv' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,ustar) -! if(debugprint)print*,'sample ',VarName,' = ',ustar(isa,jsa) - -! roughness length using getgb - VarName='sfcr' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,z0) -! if(debugprint)print*,'sample ',VarName,' = ',z0(isa,jsa) - -! sfc exchange coeff - VarName='sfexc' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,SFCEXC) - -! aerodynamic conductance - VarName='acond' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,acond) - if(debugprint)print*,'sample ',VarName,' = ',acond(isa,jsa) -! mid day avg albedo - VarName='albdo_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgalbedo) - if(debugprint)print*,'sample ',VarName,' = ',avgalbedo(isa,jsa) - do j=jsta,jend - do i=1,im - if (avgalbedo(i,j) /= spval) avgalbedo(i,j) = avgalbedo(i,j) * 0.01 - enddo - enddo - -! surface potential T using getgb - VarName='tmpsfc' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,ths) - -! where(ths/=spval)ths=ths*(p1000/pint(:,:,lp1))**CAPA ! convert to THS - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (ths(i,j) /= spval) then -! write(0,*)' i=',i,' j=',j,' ths=',ths(i,j),' pint=',pint(i,j,lp1) - ths(i,j) = ths(i,j) * (p1000/pint(i,j,lp1))**capa - endif - QS(i,j) = SPVAL ! GFS does not have surface specific humidity - twbs(i,j) = SPVAL ! GFS does not have inst sensible heat flux - qwbs(i,j) = SPVAL ! GFS does not have inst latent heat flux -!assign sst - if (sm(i,j) /= 0.0) then - sst(i,j) = ths(i,j) * (pint(i,j,lp1)/p1000)**capa - else - sst(i,j) = spval - endif - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',ths(isa,jsa) - - -! GFS does not have time step and physics time step, make up ones since they -! are not really used anyway -! NPHS=1. -! DT=90. -! DTQ2 = DT * NPHS !MEB need to get physics DT - DTQ2 = DTP !MEB need to get physics DT - NPHS=1 - DT = DTQ2/NPHS !MEB need to get DT - TSPH = 3600./DT - -! convective precip in m per physics time step using getgb -! read 3 hour bucket - VarName='cpratb_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgcprate) -! where(avgcprate /= spval)avgcprate=avgcprate*dtq2/1000. ! convert to m -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcprate(i,j) /= spval) avgcprate(i,j) = avgcprate(i,j) * (dtq2*0.001) - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',avgcprate(isa,jsa) - -! print*,'maxval CPRATE: ', maxval(CPRATE) - -! read continuous bucket - VarName='cprat_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgcprate_cont) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcprate_cont(i,j) /= spval) avgcprate_cont(i,j) = & - avgcprate_cont(i,j) * (dtq2*0.001) - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',avgcprate_cont(isa,jsa) - -! print*,'maxval CPRATE: ', maxval(CPRATE) - -! precip rate in m per physics time step using getgb - VarName='prateb_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgprec) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if(avgprec(i,j) /= spval)avgprec(i,j)=avgprec(i,j)*(dtq2*0.001) - enddo - enddo - - if(debugprint)print*,'sample ',VarName,' = ',avgprec(isa,jsa) - -! prec = avgprec !set avg cprate to inst one to derive other fields - - VarName='prate_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgprec_cont) -! where(avgprec /= spval)avgprec=avgprec*dtq2/1000. ! convert to m -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgprec_cont(i,j) /=spval)avgprec_cont(i,j)=avgprec_cont(i,j) & - * (dtq2*0.001) - enddo - enddo - - if(debugprint)print*,'sample ',VarName,' = ',avgprec_cont(isa,jsa) -! precip rate in m per physics time step - VarName='tprcp' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,prec) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (prec(i,j) /= spval) prec(i,j)=prec(i,j)* (dtq2*0.001) & - * 1000. / dtp - enddo - enddo - -! convective precip rate in m per physics time step - VarName='cnvprcp' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,cprate) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (cprate(i,j) /= spval) then - cprate(i,j) = max(0.,cprate(i,j)) * (dtq2*0.001) & - * 1000. / dtp - else - cprate(i,j) = 0. - endif - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',cprate(isa,jsa) - -! GFS does not have accumulated total, gridscale, and convective precip, will use inst precip to derive in SURFCE.f - -! max hourly 1-km agl reflectivity -! VarName='refdmax' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,refd_max) -! if(debugprint)print*,'sample ',VarName,' = ',refd_max(isa,jsa) -! max hourly -10C reflectivity -! VarName='refdmax263k' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,refdm10c_max) -! if(debugprint)print*,'sample ',VarName,' = ',refdm10c_max(isa,jsa) - -! max hourly u comp of 10m agl wind -! VarName='u10max' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,u10max) -! if(debugprint)print*,'sample ',VarName,' = ',u10max(isa,jsa) -! max hourly v comp of 10m agl wind -! VarName='v10max' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,v10max) -! if(debugprint)print*,'sample ',VarName,' = ',v10max(isa,jsa) -! max hourly 10m agl wind speed -! VarName='spd10max' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,wspd10max) -! if(debugprint)print*,'sample ',VarName,' = ',wspd10max(isa,jsa) - - -! 2m T using nemsio - VarName='tmp2m' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,tshltr) - if(debugprint)print*,'sample ',VarName,' = ',tshltr(isa,jsa) - -! inst snow water eqivalent using nemsio - VarName='weasd' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sno) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j)==0.) sno(i,j) = spval - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',sno(isa,jsa) - -! ave snow cover - VarName='snowc_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,snoavg) -! snow cover is multipled by 100 in SURFCE before writing it out - do j=jsta,jend - do i=1,im - if (sm(i,j)==1.0 .and. sice(i,j)==0.) snoavg(i,j)=spval - if(snoavg(i,j)/=spval)snoavg(i,j)=snoavg(i,j)/100. - end do - end do - -! snow depth in mm using nemsio - VarName='snod' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,si) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j)==1.0 .and. sice(i,j)==0.) si(i,j)=spval - if (si(i,j) /= spval) si(i,j) = si(i,j) * 1000.0 - CLDEFI(i,j) = SPVAL ! GFS does not have convective cloud efficiency - lspa(i,j) = spval ! GFS does not have similated precip - TH10(i,j) = SPVAL ! GFS does not have 10 m theta - TH10(i,j) = SPVAL ! GFS does not have 10 m theta - Q10(i,j) = SPVAL ! GFS does not have 10 m humidity - ALBASE(i,j) = SPVAL ! GFS does not have snow free albedo - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',si(isa,jsa) - -! 2m T using nemsio - VarName='tmp2m' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,tshltr) - if(debugprint)print*,'sample ',VarName,' = ',tshltr(isa,jsa) - -! GFS does not have 2m pres, estimate it, also convert t to theta - Do j=jsta,jend - Do i=1,im - PSHLTR(I,J)=pint(I,J,lm+1)*EXP(-0.068283/tshltr(i,j)) - tshltr(i,j)= tshltr(i,j)*(p1000/PSHLTR(I,J))**CAPA ! convert to theta -! if (j == jm/2 .and. mod(i,50) == 0) -! + print*,'sample 2m T and P after scatter= ' -! + ,i,j,tshltr(i,j),pshltr(i,j) - end do - end do - -! 2m specific humidity using nemsio - VarName='spfh2m' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,qshltr) - if(debugprint)print*,'sample ',VarName,' = ',qshltr(isa,jsa) - -! mid day avg albedo in fraction using nemsio -! VarName='albdosfc' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgalbedo) -!! where(avgalbedo /= spval)avgalbedo=avgalbedo/100. ! convert to fraction -!!$omp parallel do private(i,j) -! do j=jsta,jend -! do i=1,im -! if (avgalbedo(i,j) /= spval) avgalbedo(i,j) = avgalbedo(i,j) * 0.01 -! enddo -! enddo -! if(debugprint)print*,'sample ',VarName,' = ',avgalbedo(isa,jsa) - -! time averaged column cloud fractionusing nemsio - VarName='tcdc_aveclm' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgtcdc) -! where(avgtcdc /= spval)avgtcdc=avgtcdc/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgtcdc(i,j) /= spval) avgtcdc(i,j) = avgtcdc(i,j) * 0.01 - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',avgtcdc(isa,jsa) - -! GFS probably does not use zenith angle -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - Czen(i,j) = spval - CZMEAN(i,j) = SPVAL - enddo - enddo - -! maximum snow albedo in fraction using nemsio - VarName='snoalb' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,mxsnal) -! where(mxsnal /= spval)mxsnal=mxsnal/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (mxsnal(i,j) /= spval) mxsnal(i,j) = mxsnal(i,j) * 0.01 - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',mxsnal(isa,jsa) - -! GFS probably does not use sigt4, set it to sig*t^4 -!$omp parallel do private(i,j,tlmh) - Do j=jsta,jend - Do i=1,im - TLMH = T(I,J,LM) * T(I,J,LM) - Sigt4(i,j) = 5.67E-8 * TLMH * TLMH - End do - End do - -! TG is not used, skip it for now - -! GFS does not have inst cloud fraction for high, middle, and low cloud -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - cfrach(i,j) = spval - cfracl(i,j) = spval - cfracm(i,j) = spval - enddo - enddo - -! ave high cloud fraction using nemsio - VarName='tcdc_avehcl' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgcfrach) -! where(avgcfrach /= spval)avgcfrach=avgcfrach/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcfrach(i,j) /= spval) avgcfrach(i,j) = avgcfrach(i,j) * 0.01 - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',avgcfrach(isa,jsa) - -! ave low cloud fraction using nemsio - VarName='tcdc_avelcl' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgcfracl) -! where(avgcfracl /= spval)avgcfracl=avgcfracl/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcfracl(i,j) /= spval) avgcfracl(i,j) = avgcfracl(i,j) * 0.01 - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',avgcfracl(isa,jsa) - -! ave middle cloud fraction using nemsio - VarName='tcdc_avemcl' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgcfracm) -! where(avgcfracm /= spval)avgcfracm=avgcfracm/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcfracm(i,j) /= spval) avgcfracm(i,j) = avgcfracm(i,j) * 0.01 - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',avgcfracm(isa,jsa) - -! inst convective cloud fraction using nemsio - VarName='tcdccnvcl' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,cnvcfr) -! where(cnvcfr /= spval)cnvcfr=cnvcfr/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (cnvcfr(i,j) /= spval) cnvcfr (i,j)= cnvcfr(i,j) * 0.01 - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',cnvcfr(isa,jsa) - -! slope type using nemsio - VarName='sltyp' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,buf) -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - if (buf(i,j) < spval) then - islope(i,j) = nint(buf(i,j)) - else - islope(i,j) = 0 - endif - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',islope(isa,jsa) - -! plant canopy sfc wtr in m - VarName='cnwat' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,cmc) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (cmc(i,j) /= spval) cmc(i,j) = cmc(i,j) * 0.001 - if (sm(i,j) /= 0.0) cmc(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',cmc(isa,jsa) - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - grnflx(i,j) = spval ! GFS does not have inst ground heat flux - enddo - enddo - -! frozen precip fraction using nemsio - VarName='cpofp' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sr) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if(sr(i,j) /= spval) then -!set range within (0,1) - sr(i,j)=min(1.,max(0.,sr(i,j))) - endif - enddo - enddo - -! sea ice skin temperature - VarName='tisfc' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,ti) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sice(i,j) == spval .or. sice(i,j) == 0.) ti(i,j)=spval - enddo - enddo - -! vegetation fraction in fraction. using nemsio - VarName='veg' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,vegfrc) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (vegfrc(i,j) /= spval) then - vegfrc(i,j) = vegfrc(i,j) * 0.01 - else - vegfrc(i,j) = 0.0 - endif - enddo - enddo -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) vegfrc(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',vegfrc(isa,jsa) - -! GFS doesn not yet output soil layer thickness, assign SLDPTH to be the same as nam - - SLDPTH(1) = 0.10 - SLDPTH(2) = 0.3 - SLDPTH(3) = 0.6 - SLDPTH(4) = 1.0 - -! liquid volumetric soil mpisture in fraction using nemsio - VarName='soill1' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sh2o(1,jsta_2l,1)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) sh2o(i,j,1) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,sh2o(isa,jsa,1) - - VarName='soill2' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sh2o(1,jsta_2l,2)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) sh2o(i,j,2) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,sh2o(isa,jsa,2) - - VarName='soill3' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sh2o(1,jsta_2l,3)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) sh2o(i,j,3) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,sh2o(isa,jsa,3) - - VarName='soill4' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sh2o(1,jsta_2l,4)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) sh2o(i,j,4) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,sh2o(isa,jsa,4) - -! volumetric soil moisture using nemsio - VarName='soilw1' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,smc(1,jsta_2l,1)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) smc(i,j,1) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,smc(isa,jsa,1) - - VarName='soilw2' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,smc(1,jsta_2l,2)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) smc(i,j,2) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,smc(isa,jsa,2) - - VarName='soilw3' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,smc(1,jsta_2l,3)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) smc(i,j,3) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,smc(isa,jsa,3) - - VarName='soilw4' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,smc(1,jsta_2l,4)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) smc(i,j,4) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,smc(isa,jsa,4) - -! soil temperature using nemsio - VarName='soilt1' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,stc(1,jsta_2l,1)) -! mask open water areas, combine with sea ice tmp -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) stc(i,j,1) = spval - !if (sm(i,j) /= 0.0) stc(i,j,1) = spval - enddo - enddo - if(debugprint)print*,'sample l','stc',' = ',1,stc(isa,jsa,1) - - VarName='soilt2' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,stc(1,jsta_2l,2)) -! mask open water areas, combine with sea ice tmp -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) stc(i,j,2) = spval - !if (sm(i,j) /= 0.0) stc(i,j,2) = spval - enddo - enddo - if(debugprint)print*,'sample stc = ',1,stc(isa,jsa,2) - - VarName='soilt3' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,stc(1,jsta_2l,3)) -! mask open water areas, combine with sea ice tmp -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) stc(i,j,3) = spval - !if (sm(i,j) /= 0.0) stc(i,j,3) = spval - enddo - enddo - if(debugprint)print*,'sample stc = ',1,stc(isa,jsa,3) - - VarName='soilt4' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,stc(1,jsta_2l,4)) -! mask open water areas, combine with sea ice tmp -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) stc(i,j,4) = spval - !if (sm(i,j) /= 0.0) stc(i,j,4) = spval - enddo - enddo - if(debugprint)print*,'sample stc = ',1,stc(isa,jsa,4) - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - acfrcv(i,j) = spval ! GFS does not output time averaged convective and strat cloud fraction, set acfrcv to spval, ncfrcv to 1 - ncfrcv(i,j) = 1.0 - acfrst(i,j) = spval ! GFS does not output time averaged cloud fraction, set acfrst to spval, ncfrst to 1 - ncfrst(i,j) = 1.0 - bgroff(i,j) = spval ! GFS does not have UNDERGROUND RUNOFF - rlwtoa(i,j) = spval ! GFS does not have inst model top outgoing longwave - enddo - enddo -! trdlw(i,j) = 6.0 - ardlw = 1.0 ! GFS incoming sfc longwave has been averaged over 6 hr bucket, set ARDLW to 1 - -! time averaged incoming sfc longwave - VarName='dlwrf_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,alwin) - -! inst incoming sfc longwave - VarName='dlwrf' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,rlwin) - -! time averaged outgoing sfc longwave - VarName='ulwrf_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,alwout) -! inst outgoing sfc longwave - VarName='ulwrf' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,radot) - -! where(alwout /= spval) alwout=-alwout ! CLDRAD puts a minus sign before gribbing -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (alwout(i,j) /= spval) alwout(i,j) = -alwout(i,j) - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,alwout(isa,jsa) - -! time averaged outgoing model top longwave using gfsio - VarName='ulwrf_avetoa' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,alwtoa) -! if(debugprint)print*,'sample l',VarName,' = ',1,alwtoa(isa,jsa) - -! GFS incoming sfc longwave has been averaged, set ARDLW to 1 - ardsw=1.0 -! trdsw=6.0 - -! time averaged incoming sfc shortwave - VarName='dswrf_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,aswin) -! if(debugprint)print*,'sample l',VarName,' = ',1,aswin(isa,jsa) - -! inst incoming sfc shortwave - VarName='dswrf' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,rswin) - -! inst incoming clear sky sfc shortwave - VarName='csdlf' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,rswinc) - -! time averaged incoming sfc uv-b using getgb - VarName='duvb_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,auvbin) -! if(debugprint)print*,'sample l',VarName,' = ',1,auvbin(isa,jsa) - -! time averaged incoming sfc clear sky uv-b using getgb - VarName='cduvb_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,auvbinc) -! if(debugprint)print*,'sample l',VarName,' = ',1,auvbinc(isa,jsa) - -! time averaged outgoing sfc shortwave using gfsio - VarName='uswrf_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,aswout) -! where(aswout /= spval) aswout=-aswout ! CLDRAD puts a minus sign before gribbing -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (aswout(i,j) /= spval) aswout(i,j) = -aswout(i,j) - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,aswout(isa,jsa) - -! inst outgoing sfc shortwave using gfsio - VarName='uswrf' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,rswout) - -! time averaged model top incoming shortwave - VarName='dswrf_avetoa' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,aswintoa) -! if(debugprint)print*,'sample l',VarName,' = ',1,aswintoa(isa,jsa) - -! time averaged model top outgoing shortwave - VarName='uswrf_avetoa' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,aswtoa) -! if(debugprint)print*,'sample l',VarName,' = ',1,aswtoa(isa,jsa) - -! time averaged surface sensible heat flux, multiplied by -1 because wrf model flux -! has reversed sign convention using gfsio - VarName='shtfl_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sfcshx) -! where (sfcshx /= spval)sfcshx=-sfcshx -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sfcshx(i,j) /= spval) sfcshx(i,j) = -sfcshx(i,j) - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,sfcshx(isa,jsa) - -! inst surface sensible heat flux - VarName='shtfl' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,twbs) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (twbs(i,j) /= spval) twbs(i,j) = -twbs(i,j) - enddo - enddo - -! GFS surface flux has been averaged, set ASRFC to 1 - asrfc=1.0 -! tsrfc=6.0 - -! time averaged surface latent heat flux, multiplied by -1 because wrf model flux -! has reversed sign vonvention using gfsio - VarName='lhtfl_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sfclhx) -! where (sfclhx /= spval)sfclhx=-sfclhx -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sfclhx(i,j) /= spval) sfclhx(i,j) = -sfclhx(i,j) - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,sfclhx(isa,jsa) - -! inst surface latent heat flux - VarName='lhtfl' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,qwbs) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (qwbs(i,j) /= spval) qwbs(i,j) = -qwbs(i,j) - enddo - enddo - - if(me==0)print*,'rdaod= ',rdaod -! inst aod550 optical depth - if(rdaod) then - VarName='aod550' - call read_netcdf_2d_scatter(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,aod550) - - VarName='du_aod550' - call read_netcdf_2d_scatter(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,du_aod550) - - VarName='ss_aod550' - call read_netcdf_2d_scatter(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,ss_aod550) - - VarName='su_aod550' - call read_netcdf_2d_scatter(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,su_aod550) - - VarName='oc_aod550' - call read_netcdf_2d_scatter(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,oc_aod550) - - VarName='bc_aod550' - call read_netcdf_2d_scatter(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,bc_aod550) - end if - -! time averaged ground heat flux using nemsio - VarName='gflux_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,subshx) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) subshx(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,subshx(isa,jsa) - -! inst ground heat flux using nemsio - VarName='gflux' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,grnflx) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) grnflx(i,j) = spval - enddo - enddo - -! time averaged zonal momentum flux using gfsio - VarName='uflx_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sfcux) -! if(debugprint)print*,'sample l',VarName,' = ',1,sfcux(isa,jsa) - -! time averaged meridional momentum flux using nemsio - VarName='vflx_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sfcvx) -! if(debugprint)print*,'sample l',VarName,' = ',1,sfcvx(isa,jsa) - -! dong read in inst surface flux -! inst zonal momentum flux using gfsio -! VarName='uflx' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sfcuxi) -! if(debugprint)print*,'sample l',VarName,' = ',1,sfcuxi(isa,jsa) - -! inst meridional momentum flux using nemsio -! VarName='vflx' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sfcvxi) -! if(debugprint)print*,'sample l',VarName,' = ',1,sfcvxi(isa,jsa) - - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - sfcuvx(i,j) = spval ! GFS does not use total momentum flux - enddo - enddo - -! time averaged zonal gravity wave stress using nemsio - VarName='u-gwd_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,gtaux) -! if(debugprint)print*,'sample l',VarName,' = ',1,gtaux(isa,jsa) - -! time averaged meridional gravity wave stress using getgb - VarName='v-gwd_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,gtauy) -! if(debugprint)print*,'sample l',VarName,' = ',1,gtauy(isa,jsa) - -! time averaged accumulated potential evaporation - VarName='pevpr_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgpotevp) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) avgpotevp(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,potevp(isa,jsa) - -! inst potential evaporation - VarName='pevpr' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,potevp) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) potevp(i,j) = spval - enddo - enddo - - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im -! GFS does not have temperature tendency due to long wave radiation - rlwtt(i,j,l) = spval -! GFS does not have temperature tendency due to short wave radiation - rswtt(i,j,l) = spval -! GFS does not have temperature tendency due to latent heating from convection - tcucn(i,j,l) = spval - tcucns(i,j,l) = spval -! GFS does not have temperature tendency due to latent heating from grid scale - train(i,j,l) = spval - enddo - enddo - enddo - -! set avrain to 1 - avrain=1.0 - avcnvc=1.0 - theat=6.0 ! just in case GFS decides to output T tendency - -! 10 m u using nemsio - VarName='ugrd10m' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,u10) - - do j=jsta,jend - do i=1,im - u10h(i,j)=u10(i,j) - end do - end do -! if(debugprint)print*,'sample l',VarName,' = ',1,u10(isa,jsa) - -! 10 m v using gfsio - VarName='vgrd10m' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,v10) - - do j=jsta,jend - do i=1,im - v10h(i,j)=v10(i,j) - end do - end do -! if(debugprint)print*,'sample l',VarName,' = ',1,v10(isa,jsa) - -! vegetation type, it's in GFS surface file, hopefully will merge into gfsio soon - VarName='vtype' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,buf) -! where (buf /= spval) -! ivgtyp=nint(buf) -! elsewhere -! ivgtyp=0 !need to feed reasonable value to crtm -! end where -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - if (buf(i,j) < spval) then - ivgtyp(i,j) = nint(buf(i,j)) - else - ivgtyp(i,j) = 0 - endif - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,ivgtyp(isa,jsa) - -! soil type, it's in GFS surface file, hopefully will merge into gfsio soon - VarName='sotyp' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,buf) - VcoordName='sfc' - l=1 -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - if (buf(i,j) < spval) then - isltyp(i,j) = nint(buf(i,j)) - else - isltyp(i,j) = 0 !need to feed reasonable value to crtm - endif - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,isltyp(isa,jsa) - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - smstav(i,j) = spval ! GFS does not have soil moisture availability -! smstot(i,j) = spval ! GFS does not have total soil moisture - sfcevp(i,j) = spval ! GFS does not have accumulated surface evaporation - acsnow(i,j) = spval ! GFS does not have averaged accumulated snow - acsnom(i,j) = spval ! GFS does not have snow melt -! sst(i,j) = spval ! GFS does not have sst???? - thz0(i,j) = ths(i,j) ! GFS does not have THZ0, use THS to substitute - qz0(i,j) = spval ! GFS does not output humidity at roughness length - uz0(i,j) = spval ! GFS does not output u at roughness length - vz0(i,j) = spval ! GFS does not output humidity at roughness length - enddo - enddo - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - EL_PBL(i,j,l) = spval ! GFS does not have mixing length - exch_h(i,j,l) = spval ! GFS does not output exchange coefficient - enddo - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,thz0(isa,jsa) - -! retrieve inst convective cloud top, GFS has cloud top pressure instead of index, -! will need to modify CLDRAD.f to use pressure directly instead of index -! VarName='pres' -! VcoordName='convect-cld top' -! l=1 -! if(debugprint)print*,'sample l',VarName,' = ',1,ptop(isa,jsa) - VarName='prescnvclt' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,ptop) - - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - htop(i,j) = spval - if(ptop(i,j) <= 0.0) ptop(i,j) = spval - enddo - enddo - do j=jsta,jend - do i=1,im - if(ptop(i,j) < spval)then - do l=1,lm - if(ptop(i,j) <= pmid(i,j,l))then - htop(i,j) = l -! if(i==ii .and. j==jj)print*,'sample ptop,pmid pmid-1,pint= ', & -! ptop(i,j),pmid(i,j,l),pmid(i,j,l-1),pint(i,j,l),htop(i,j) - exit - end if - end do - end if - end do - end do - -! retrieve inst convective cloud bottom, GFS has cloud top pressure instead of index, -! will need to modify CLDRAD.f to use pressure directly instead of index - VarName='prescnvclb' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,pbot) -! if(debugprint)print*,'sample l',VarName,VcoordName,' = ',1,pbot(isa,jsa) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - hbot(i,j) = spval - if(pbot(i,j) <= 0.0) pbot(i,j) = spval - enddo - enddo - do j=jsta,jend - do i=1,im -! if(.not.lb(i,j))print*,'false bitmask for pbot at ' -! + ,i,j,pbot(i,j) - if(pbot(i,j) < spval)then - do l=lm,1,-1 - if(pbot(i,j) >= pmid(i,j,l)) then - hbot(i,j) = l -! if(i==ii .and. j==jj)print*,'sample pbot,pmid= ', & -! pbot(i,j),pmid(i,j,l),hbot(i,j) - exit - end if - end do - end if - end do - end do - if(debugprint)print*,'sample hbot = ',hbot(isa,jsa) -! retrieve time averaged low cloud top pressure using nemsio - VarName='pres_avelct' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,ptopl) -! if(debugprint)print*,'sample l',VarName,' = ',1,ptopl(isa,jsa) - -! retrieve time averaged low cloud bottom pressure using nemsio - VarName='pres_avelcb' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,pbotl) -! if(debugprint)print*,'sample l',VarName,' = ',1,pbotl(isa,jsa) - -! retrieve time averaged low cloud top temperature using nemsio - VarName='tmp_avelct' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,Ttopl) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,Ttopl(isa,jsa) - -! retrieve time averaged middle cloud top pressure using nemsio - VarName='pres_avemct' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,ptopm) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,ptopm(isa,jsa) - -! retrieve time averaged middle cloud bottom pressure using nemsio - VarName='pres_avemcb' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,pbotm) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,pbotm(isa,jsa) - -! retrieve time averaged middle cloud top temperature using nemsio - VarName='tmp_avemct' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,Ttopm) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,Ttopm(isa,jsa) - -! retrieve time averaged high cloud top pressure using nemsio ********* - VarName='pres_avehct' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,ptoph) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,ptoph(isa,jsa) - -! retrieve time averaged high cloud bottom pressure using nemsio - VarName='pres_avehcb' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,pboth) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,pboth(isa,jsa) - -! retrieve time averaged high cloud top temperature using nemsio - VarName='tmp_avehct' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,Ttoph) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,Ttoph(isa,jsa) - -! retrieve boundary layer cloud cover using nemsio - VarName='tcdc_avebndcl' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,pblcfr) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,pblcfr(isa,jsa) -! where (pblcfr /= spval)pblcfr=pblcfr/100. ! convert to fraction -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - if (pblcfr(i,j) < spval) pblcfr(i,j) = pblcfr(i,j) * 0.01 - enddo - enddo - -! retrieve cloud work function - VarName='cwork_aveclm' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,cldwork) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,cldwork(isa,jsa) - -! accumulated total (base+surface) runoff - VarName='watr_acc' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,runoff) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) runoff(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,runoff(isa,jsa) - -! retrieve shelter max temperature using nemsio - VarName='tmax_max2m' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,maxtshltr) - -! retrieve shelter min temperature using nemsio - VarName='tmin_min2m' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,mintshltr) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & -! 1,mintshltr(im/2,(jsta+jend)/2) - -! retrieve shelter max RH -! VarName='rh02max' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,maxrhshltr) - -! retrieve shelter min temperature using nemsio -! VarName='rh02min' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,minrhshltr) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & -! 1,mintshltr(im/2,(jsta+jend)/2) - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - MAXRHSHLTR(i,j) = SPVAL - MINRHSHLTR(i,j) = SPVAL - enddo - enddo - -! retrieve ice thickness using nemsio - VarName='icetk' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,dzice) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,dzice(isa,jsa) - -! retrieve wilting point using nemsio - VarName='wilt' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,smcwlt) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) smcwlt(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,smcwlt(isa,jsa) - -! retrieve sunshine duration using nemsio - VarName='sunsd_acc' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,suntime) - -! retrieve field capacity using nemsio - VarName='fldcp' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,fieldcapa) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) fieldcapa(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,fieldcapa(isa,jsa) - -! retrieve time averaged surface visible beam downward solar flux - VarName='vbdsf_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avisbeamswin) - VcoordName='sfc' - l=1 - -! retrieve time averaged surface visible diffuse downward solar flux - VarName='vddsf_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avisdiffswin) - -! retrieve time averaged surface near IR beam downward solar flux - VarName='nbdsf_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,airbeamswin) - -! retrieve time averaged surface near IR diffuse downward solar flux - VarName='nddsf_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,airdiffswin) - -! retrieve time averaged surface clear sky outgoing LW - VarName='csulf' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,alwoutc) - -! retrieve time averaged TOA clear sky outgoing LW - VarName='csulftoa' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,alwtoac) - -! retrieve time averaged surface clear sky outgoing SW - VarName='csusf' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,aswoutc) - -! retrieve time averaged TOA clear sky outgoing LW - VarName='csusftoa' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,aswtoac) - -! retrieve time averaged surface clear sky incoming LW - VarName='csdlf' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,alwinc) - -! retrieve time averaged surface clear sky incoming SW - VarName='csdsf' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,aswinc) - -! retrieve shelter max specific humidity using nemsio - VarName='spfhmax_max2m' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,maxqshltr) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', -! 1,maxqshltr(isa,jsa) - -! retrieve shelter min temperature using nemsio - VarName='spfhmin_min2m' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,minqshltr) - -! retrieve storm runoff using nemsio - VarName='ssrun_acc' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,SSROFF) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) ssroff(i,j) = spval - enddo - enddo - -! retrieve direct soil evaporation - VarName='evbs_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgedir) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) avgedir(i,j) = spval - enddo - enddo - -! retrieve CANOPY WATER EVAP - VarName='evcw_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgecan) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) avgecan(i,j) = spval - enddo - enddo - -! retrieve PLANT TRANSPIRATION - VarName='trans_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgetrans) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) avgetrans(i,j) = spval - enddo - enddo - -! retrieve snow sublimation - VarName='sbsno_ave' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgesnow) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j)==1.0 .and. sice(i,j)==0.) avgesnow(i,j)=spval - enddo - enddo - -! retrive total soil moisture - VarName='soilm' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,smstot) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) smstot(i,j) = spval - enddo - enddo - -! retrieve snow phase change heat flux - VarName='snohf' - call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,snopcx) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) snopcx(i,j) = spval - enddo - enddo - -! GFS does not have deep convective cloud top and bottom fields - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - HTOPD(i,j) = SPVAL - HBOTD(i,j) = SPVAL - HTOPS(i,j) = SPVAL - HBOTS(i,j) = SPVAL - CUPPT(i,j) = SPVAL - enddo - enddo - -! done with flux file, close it for now - Status=nf90_close(ncid2d) -! deallocate(tmp,recname,reclevtyp,reclev) - -! pos east -! call collect_loc(gdlat,dummy) -! if(me == 0)then -! latstart = nint(dummy(1,1)*gdsdegr) -! latlast = nint(dummy(im,jm)*gdsdegr) -! print*,'laststart,latlast B bcast= ',latstart,latlast,'gdsdegr=',gdsdegr,& -! 'dummy(1,1)=',dummy(1,1),dummy(im,jm),'gdlat=',gdlat(1,1) -! end if -! call mpi_bcast(latstart,1,MPI_INTEGER,0,mpi_comm_comp,irtn) -! call mpi_bcast(latlast,1,MPI_INTEGER,0,mpi_comm_comp,irtn) -! write(6,*) 'laststart,latlast,me A calling bcast=',latstart,latlast,me -! call collect_loc(gdlon,dummy) -! if(me == 0)then -! lonstart = nint(dummy(1,1)*gdsdegr) -! lonlast = nint(dummy(im,jm)*gdsdegr) -! end if -! call mpi_bcast(lonstart,1,MPI_INTEGER,0,mpi_comm_comp,irtn) -! call mpi_bcast(lonlast, 1,MPI_INTEGER,0,mpi_comm_comp,irtn) - -! write(6,*)'lonstart,lonlast A calling bcast=',lonstart,lonlast -! - -! generate look up table for lifted parcel calculations - - THL = 210. - PLQ = 70000. - pt_TBL = 10000. ! this is for 100 hPa added by Moorthi - - CALL TABLE(PTBL,TTBL,PT_TBL, & - RDQ,RDTH,RDP,RDTHE,PL,THL,QS0,SQS,STHE,THE0) - - CALL TABLEQ(TTBLQ,RDPQ,RDTHEQ,PLQ,THL,STHEQ,THE0Q) - -! -! - IF(ME == 0)THEN - WRITE(6,*)' SPL (POSTED PRESSURE LEVELS) BELOW: ' - WRITE(6,51) (SPL(L),L=1,LSM) - 50 FORMAT(14(F4.1,1X)) - 51 FORMAT(8(F8.1,1X)) - ENDIF -! -!$omp parallel do private(l) - DO L = 1,LSM - ALSL(L) = LOG(SPL(L)) - END DO -! -!HC WRITE IGDS OUT FOR WEIGHTMAKER TO READ IN AS KGDSIN - if(me == 0)then - print*,'writing out igds' - igdout = 110 -! open(igdout,file='griddef.out',form='unformatted' -! + ,status='unknown') - if(maptype == 1)THEN ! Lambert conformal - WRITE(igdout)3 - WRITE(6,*)'igd(1)=',3 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)0 - WRITE(igdout)64 - WRITE(igdout)TRUELAT2 - WRITE(igdout)TRUELAT1 - WRITE(igdout)255 - ELSE IF(MAPTYPE == 2)THEN !Polar stereographic - WRITE(igdout)5 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)0 - WRITE(igdout)64 - WRITE(igdout)TRUELAT2 !Assume projection at +-90 - WRITE(igdout)TRUELAT1 - WRITE(igdout)255 - ! Note: The calculation of the map scale factor at the standard - ! lat/lon and the PSMAPF - ! Get map factor at 60 degrees (N or S) for PS projection, which will - ! be needed to correctly define the DX and DY values in the GRIB GDS - if (TRUELAT1 < 0.) THEN - LAT = -60. - else - LAT = 60. - end if - - CALL MSFPS (LAT,TRUELAT1*0.001,PSMAPF) - - ELSE IF(MAPTYPE == 3) THEN !Mercator - WRITE(igdout)1 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)latlast - WRITE(igdout)lonlast - WRITE(igdout)TRUELAT1 - WRITE(igdout)0 - WRITE(igdout)64 - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)255 - ELSE IF(MAPTYPE == 0 .OR. MAPTYPE == 203)THEN !A STAGGERED E-GRID - WRITE(igdout)203 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)136 - WRITE(igdout)CENLAT - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)64 - WRITE(igdout)0 - WRITE(igdout)0 - WRITE(igdout)0 - END IF - end if -! -! - - RETURN - END - diff --git a/sorc/ncep_post.fd/INITPOST_GFS_NETCDF_PARA.f b/sorc/ncep_post.fd/INITPOST_GFS_NETCDF_PARA.f deleted file mode 100644 index 3f7cab8f79..0000000000 --- a/sorc/ncep_post.fd/INITPOST_GFS_NETCDF_PARA.f +++ /dev/null @@ -1,2565 +0,0 @@ -!> @file -! . . . -!> SUBPROGRAM: INITPOST_GFS_NETCDF_PARA INITIALIZE POST FOR RUN -!! PRGRMMR: Wen Meng DATE: 2020-02-04 -!! -!! ABSTRACT: THIS ROUTINE INITIALIZES CONSTANTS AND -!! VARIABLES AT THE START OF GFS MODEL OR POST -!! PROCESSOR RUN. -!! -!! REVISION HISTORY -!! 2020-02-04 W Meng start from INITPOST_GFS_NETCDF.f -!! 2021-03-11 Bo Cui change local arrays to dimension (im,jsta:jend) -!! -!! USAGE: CALL INITPOST_GFS_NETCDF_PARA -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! LOOKUP -!! SOILDEPTH -!! -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! - SUBROUTINE INITPOST_GFS_NETCDF_PARA(ncid3d) - - - use netcdf - use vrbls4d, only: dust, SALT, SUSO, SOOT, WASO, PP25, PP10 - use vrbls3d, only: t, q, uh, vh, pmid, pint, alpint, dpres, zint, zmid, o3, & - qqr, qqs, cwm, qqi, qqw, omga, rhomid, q2, cfr, rlwtt, rswtt, tcucn, & - tcucns, train, el_pbl, exch_h, vdifftt, vdiffmois, dconvmois, nradtt, & - o3vdiff, o3prod, o3tndy, mwpv, unknown, vdiffzacce, zgdrag,cnvctummixing, & - vdiffmacce, mgdrag, cnvctvmmixing, ncnvctcfrac, cnvctumflx, cnvctdmflx, & - cnvctzgdrag, sconvmois, cnvctmgdrag, cnvctdetmflx, duwt, duem, dusd, dudp, & - wh, qqg, ref_10cm - use vrbls2d, only: f, pd, fis, pblh, ustar, z0, ths, qs, twbs, qwbs, avgcprate, & - cprate, avgprec, prec, lspa, sno, si, cldefi, th10, q10, tshltr, pshltr, & - tshltr, albase, avgalbedo, avgtcdc, czen, czmean, mxsnal, radot, sigt4, & - cfrach, cfracl, cfracm, avgcfrach, qshltr, avgcfracl, avgcfracm, cnvcfr, & - islope, cmc, grnflx, vegfrc, acfrcv, ncfrcv, acfrst, ncfrst, ssroff, & - bgroff, rlwin, rlwtoa, cldwork, alwin, alwout, alwtoa, rswin, rswinc, & - rswout, aswin, auvbin, auvbinc, aswout, aswtoa, sfcshx, sfclhx, subshx, & - snopcx, sfcux, sfcvx, sfcuxi, sfcvxi, sfcuvx, gtaux, gtauy, potevp, u10, v10, smstav, & - smstot, ivgtyp, isltyp, sfcevp, sfcexc, acsnow, acsnom, sst, thz0, qz0, & - uz0, vz0, ptop, htop, pbot, hbot, ptopl, pbotl, ttopl, ptopm, pbotm, ttopm, & - ptoph, pboth, pblcfr, ttoph, runoff, maxtshltr, mintshltr, maxrhshltr, & - minrhshltr, dzice, smcwlt, suntime, fieldcapa, htopd, hbotd, htops, hbots, & - cuppt, dusmass, ducmass, dusmass25, ducmass25, aswintoa,rel_vort_maxhy1, & - maxqshltr, minqshltr, acond, sr, u10h, v10h,refd_max, w_up_max, w_dn_max, & - up_heli_max,up_heli_min,up_heli_max03,up_heli_min03,rel_vort_max01,u10max, v10max, & - avgedir,avgecan,avgetrans,avgesnow,avgprec_cont,avgcprate_cont,rel_vort_max, & - avisbeamswin,avisdiffswin,airbeamswin,airdiffswin,refdm10c_max,wspd10max, & - alwoutc,alwtoac,aswoutc,aswtoac,alwinc,aswinc,avgpotevp,snoavg, & - ti,aod550,du_aod550,ss_aod550,su_aod550,oc_aod550,bc_aod550 - use soil, only: sldpth, sh2o, smc, stc - use masks, only: lmv, lmh, htm, vtm, gdlat, gdlon, dx, dy, hbm2, sm, sice - use physcons_post, only: grav => con_g, fv => con_fvirt, rgas => con_rd, & - eps => con_eps, epsm1 => con_epsm1 - use params_mod, only: erad, dtr, tfrz, h1, d608, rd, p1000, capa,pi - use lookup_mod, only: thl, plq, ptbl, ttbl, rdq, rdth, rdp, rdthe, pl, qs0, sqs, sthe, & - ttblq, rdpq, rdtheq, stheq, the0q, the0 - use ctlblk_mod, only: me, mpi_comm_comp, icnt, idsp, jsta, jend, ihrst, idat, sdat, ifhr, & - ifmin, filename, tprec, tclod, trdlw, trdsw, tsrfc, tmaxmin, td3d, restrt, sdat, & - jend_m, imin, imp_physics, dt, spval, pdtop, pt, qmin, nbin_du, nphs, dtq2, ardlw,& - ardsw, asrfc, avrain, avcnvc, theat, gdsdegr, spl, lsm, alsl, im, jm, im_jm, lm, & - jsta_2l, jend_2u, nsoil, lp1, icu_physics, ivegsrc, novegtype, nbin_ss, nbin_bc, & - nbin_oc, nbin_su, gocart_on, pt_tbl, hyb_sigp, filenameFlux, fileNameAER,rdaod - use gridspec_mod, only: maptype, gridtype, latstart, latlast, lonstart, lonlast, cenlon, & - dxval, dyval, truelat2, truelat1, psmapf, cenlat,lonstartv, lonlastv, cenlonv, & - latstartv, latlastv, cenlatv,latstart_r,latlast_r,lonstart_r,lonlast_r - use rqstfld_mod, only: igds, avbl, iq, is - use upp_physics, only: fpvsnew -!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none -! -! type(nemsio_gfile) :: nfile,ffile,rfile - integer,parameter :: nvar2d=48 -! character(nemsio_charkind) :: name2d(nvar2d) - integer :: nvar3d, numDims -! character(nemsio_charkind), allocatable :: name3din(:), name3dout(:) -! character(nemsio_charkind) :: varname,levtype -! -! INCLUDE/SET PARAMETERS. -! - INCLUDE "mpif.h" - -! integer,parameter:: MAXPTS=1000000 ! max im*jm points -! -! real,parameter:: con_g =9.80665e+0! gravity -! real,parameter:: con_rv =4.6150e+2 ! gas constant H2O -! real,parameter:: con_rd =2.8705e+2 ! gas constant air -! real,parameter:: con_fvirt =con_rv/con_rd-1. -! real,parameter:: con_eps =con_rd/con_rv -! real,parameter:: con_epsm1 =con_rd/con_rv-1 -! -! This version of INITPOST shows how to initialize, open, read from, and -! close a NetCDF dataset. In order to change it to read an internal (binary) -! dataset, do a global replacement of _ncd_ with _int_. - - real, parameter :: gravi = 1.0/grav - character(len=20) :: VarName, VcoordName - integer :: Status, fldsize, fldst, recn, recn_vvel - character startdate*19,SysDepInfo*80,cgar*1 - character startdate2(19)*4 -! -! NOTE: SOME INTEGER VARIABLES ARE READ INTO DUMMY ( A REAL ). THIS IS OK -! AS LONG AS REALS AND INTEGERS ARE THE SAME SIZE. -! -! ALSO, EXTRACT IS CALLED WITH DUMMY ( A REAL ) EVEN WHEN THE NUMBERS ARE -! INTEGERS - THIS IS OK AS LONG AS INTEGERS AND REALS ARE THE SAME SIZE. - LOGICAL RUNB,SINGLRST,SUBPOST,NEST,HYDRO,IOOMG,IOALL -! logical, parameter :: debugprint = .true., zerout = .false. - logical, parameter :: debugprint = .false., zerout = .false. - logical :: convert_rad_to_deg=.false. - CHARACTER*32 varcharval -! CHARACTER*40 CONTRL,FILALL,FILMST,FILTMP,FILTKE,FILUNV,FILCLD,FILRAD,FILSFC - CHARACTER*4 RESTHR - CHARACTER FNAME*255,ENVAR*50 - INTEGER IDATE(8),JDATE(8),JPDS(200),JGDS(200),KPDS(200),KGDS(200) -! LOGICAL*1 LB(IM,JM) -! -! INCLUDE COMMON BLOCKS. -! -! DECLARE VARIABLES. -! -! REAL fhour - integer nfhour ! forecast hour from nems io file - integer fhzero !bucket - real dtp !physics time step - REAL RINC(5) - - REAL DUMMY(IM,JM) -!jw - integer ii,jj,js,je,iyear,imn,iday,itmp,ioutcount,istatus, & - I,J,L,ll,k,kf,irtn,igdout,n,Index,nframe, & - nframed2,iunitd3d,ierr,idum,iret,nrec,idrt - integer ncid3d,ncid2d,varid,nhcas - real TSTART,TLMH,TSPH,ES,FACT,soilayert,soilayerb,zhour,dum, & - tvll,pmll,tv, tx1, tx2 - - character*20,allocatable :: recname(:) - integer, allocatable :: reclev(:), kmsk(:,:) - real, allocatable :: glat1d(:), glon1d(:), qstl(:) - real, allocatable :: wrk1(:,:), wrk2(:,:) - real, allocatable :: p2d(:,:), t2d(:,:), q2d(:,:), & - qs2d(:,:), cw2d(:,:), cfr2d(:,:) - real(kind=4),allocatable :: vcoord4(:,:,:) - real, dimension(lm+1) :: ak5, bk5 - real*8, allocatable :: pm2d(:,:), pi2d(:,:) - real, allocatable :: tmp(:) - real :: buf(im,jsta_2l:jend_2u) - real :: buf3d(im,jsta_2l:jend_2u,lm) - -! real buf(im,jsta_2l:jend_2u),bufsoil(im,nsoil,jsta_2l:jend_2u) & -! ,buf3d(im,jsta_2l:jend_2u,lm),buf3d2(im,lp1,jsta_2l:jend_2u) - - real LAT - integer isa, jsa, latghf, jtem, idvc, idsl, nvcoord, ip1, nn, npass - - integer, parameter :: npass2=5, npass3=30 - real, parameter :: third=1.0/3.0 - INTEGER, DIMENSION(2) :: ij4min, ij4max - REAL :: omgmin, omgmax - real, allocatable :: d2d(:,:), u2d(:,:), v2d(:,:), omga2d(:,:) - REAL, ALLOCATABLE :: ps2d(:,:),psx2d(:,:),psy2d(:,:) - real, allocatable :: div3d(:,:,:) - real(kind=4),allocatable :: vcrd(:,:) - real :: dum_const - -!*********************************************************************** -! START INIT HERE. -! - WRITE(6,*)'INITPOST: ENTER INITPOST_GFS_NETCDF_PARA' - WRITE(6,*)'me=',me, & - 'jsta_2l=',jsta_2l,'jend_2u=', & - jend_2u,'im=',im -! - isa = im / 2 - jsa = (jsta+jend) / 2 - -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - buf(i,j) = spval - enddo - enddo - - Status=nf90_get_att(ncid3d,nf90_global,'ak',ak5) - if(Status/=0)then - print*,'ak not found; assigning missing value' - ak5=spval - else - if(me==0)print*,'ak5= ',ak5 - end if - Status=nf90_get_att(ncid3d,nf90_global,'idrt',idrt) - if(Status/=0)then - print*,'idrt not in netcdf file,reading grid' - Status=nf90_get_att(ncid3d,nf90_global,'grid',varcharval) - if(Status/=0)then - print*,'idrt and grid not in netcdf file, set default to latlon' - idrt=0 - MAPTYPE=0 - else - if(trim(varcharval)=='rotated_latlon')then - MAPTYPE=207 - idrt=207 - Status=nf90_get_att(ncid3d,nf90_global,'cen_lon',dum_const) - if(Status/=0)then - print*,'cen_lon not found; assigning missing value' - cenlon=spval - else - if(dum_const<0.)then - cenlon=nint((dum_const+360.)*gdsdegr) - else - cenlon=dum_const*gdsdegr - end if - end if - Status=nf90_get_att(ncid3d,nf90_global,'cen_lat',dum_const) - if(Status/=0)then - print*,'cen_lat not found; assigning missing value' - cenlat=spval - else - cenlat=dum_const*gdsdegr - end if - - Status=nf90_get_att(ncid3d,nf90_global,'lon1',dum_const) - if(Status/=0)then - print*,'lonstart_r not found; assigning missing value' - lonstart_r=spval - else - if(dum_const<0.)then - lonstart_r=nint((dum_const+360.)*gdsdegr) - else - lonstart_r=dum_const*gdsdegr - end if - end if - Status=nf90_get_att(ncid3d,nf90_global,'lat1',dum_const) - if(Status/=0)then - print*,'latstart_r not found; assigning missing value' - latstart_r=spval - else - latstart_r=dum_const*gdsdegr - end if - - Status=nf90_get_att(ncid3d,nf90_global,'lon2',dum_const) - if(Status/=0)then - print*,'lonlast_r not found; assigning missing value' - lonlast_r=spval - else - if(dum_const<0.)then - lonlast_r=nint((dum_const+360.)*gdsdegr) - else - lonlast_r=dum_const*gdsdegr - end if - end if - Status=nf90_get_att(ncid3d,nf90_global,'lat2',dum_const) - if(Status/=0)then - print*,'latlast_r not found; assigning missing value' - latlast_r=spval - else - latlast_r=dum_const*gdsdegr - end if - - Status=nf90_get_att(ncid3d,nf90_global,'dlon',dum_const) - if(Status/=0)then - print*,'dlmd not found; assigning missing value' - dxval=spval - else - dxval=dum_const*gdsdegr - end if - Status=nf90_get_att(ncid3d,nf90_global,'dlat',dum_const) - if(Status/=0)then - print*,'dphd not found; assigning missing value' - dyval=spval - else - dyval=dum_const*gdsdegr - end if - - print*,'lonstart,latstart,cenlon,cenlat,dyval,dxval', & - lonstart,latstart,cenlon,cenlat,dyval,dxval - -! Jili Dong add support for regular lat lon (2019/03/22) start - else if(trim(varcharval)=='latlon')then - MAPTYPE=0 - idrt=0 - - Status=nf90_get_att(ncid3d,nf90_global,'lon1',dum_const) - if(Status/=0)then - print*,'lonstart not found; assigning missing value' - lonstart=spval - else - if(dum_const<0.)then - lonstart=nint((dum_const+360.)*gdsdegr) - else - lonstart=dum_const*gdsdegr - end if - end if - Status=nf90_get_att(ncid3d,nf90_global,'lat1',dum_const) - if(Status/=0)then - print*,'latstart not found; assigning missing value' - latstart=spval - else - latstart=dum_const*gdsdegr - end if - - Status=nf90_get_att(ncid3d,nf90_global,'lon2',dum_const) - if(Status/=0)then - print*,'lonlast not found; assigning missing value' - lonlast=spval - else - if(dum_const<0.)then - lonlast=nint((dum_const+360.)*gdsdegr) - else - lonlast=dum_const*gdsdegr - end if - end if - Status=nf90_get_att(ncid3d,nf90_global,'lat2',dum_const) - if(Status/=0)then - print*,'latlast not found; assigning missing value' - latlast=spval - else - latlast=dum_const*gdsdegr - end if - - Status=nf90_get_att(ncid3d,nf90_global,'dlon',dum_const) - if(Status/=0)then - print*,'dlmd not found; assigning missing value' - dxval=spval - else - dxval=dum_const*gdsdegr - end if - Status=nf90_get_att(ncid3d,nf90_global,'dlat',dum_const) - if(Status/=0)then - print*,'dphd not found; assigning missing value' - dyval=spval - else - dyval=dum_const*gdsdegr - end if - - print*,'lonstart,latstart,dyval,dxval', & - lonstart,lonlast,latstart,latlast,dyval,dxval - -! Jili Dong add support for regular lat lon (2019/03/22) end - - else if(trim(varcharval)=='gaussian')then - MAPTYPE=4 - idrt=4 - else ! setting default maptype - MAPTYPE=0 - idrt=0 - end if - end if !end reading grid - end if !end reading idrt - if(me==0)print*,'idrt MAPTYPE= ',idrt,MAPTYPE -! STEP 1. READ MODEL OUTPUT FILE -! -! -!*** -! -! LMH and LMV always = LM for sigma-type vert coord - -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i = 1, im - LMV(i,j) = lm - LMH(i,j) = lm - end do - end do - -! HTM VTM all 1 for sigma-type vert coord - -!$omp parallel do private(i,j,l) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - HTM (i,j,l) = 1.0 - VTM (i,j,l) = 1.0 - end do - end do - end do - - Status=nf90_get_att(ncid3d,nf90_global,'nhcas',nhcas) - if(Status/=0)then - print*,'nhcas not in netcdf file, set default to nonhydro' - nhcas=0 - end if - if(me==0)print*,'nhcas= ',nhcas - if (nhcas == 0 ) then !non-hydrostatic case - nrec=15 - allocate (recname(nrec)) - recname=[character(len=20) :: 'ugrd','vgrd','spfh','tmp','o3mr', & - 'presnh','dzdt', 'clwmr','dpres', & - 'delz','icmr','rwmr', & - 'snmr','grle','cld_amt'] - else - nrec=8 - allocate (recname(nrec)) - recname=[character(len=20) :: 'ugrd','vgrd','tmp','spfh','o3mr', & - 'hypres', 'clwmr','dpres'] - endif - -! write(0,*)'nrec=',nrec - !allocate(recname(nrec),reclevtyp(nrec),reclev(nrec)) - allocate(glat1d(jm),glon1d(im)) - allocate(vcoord4(lm+1,3,2)) - -! hardwire idate for now -! idate=(/2017,08,07,00,0,0,0,0/) -! get cycle start time - Status=nf90_inq_varid(ncid3d,'time',varid) - if(Status/=0)then - print*,'time not in netcdf file, stopping' - STOP 1 - else - Status=nf90_get_att(ncid3d,varid,'units',varcharval) - if(Status/=0)then - print*,'time unit not available' - else - print*,'time unit read from netcdf file= ',varcharval -! assume use hours as unit -! idate_loc=index(varcharval,'since')+6 - read(varcharval,101)idate(1),idate(2),idate(3),idate(4),idate(5) - end if -! Status=nf90_inquire_dimension(ncid3d,varid,len=ntimes) -! allocate(fhours(ntimes)) -! status = nf90_inq_varid(ncid3d,varid,fhours) -! Status=nf90_get_var(ncid3d,varid,nfhour,start=(/1/), & -! count=(/1/)) -! if(Status/=0)then -! print*,'forecast hour not in netcdf file, stopping' -! STOP 1 -! end if - end if - 101 format(T13,i4,1x,i2,1x,i2,1x,i2,1x,i2) - print*,'idate= ',idate(1:5) -! get longitude - Status=nf90_inq_varid(ncid3d,'grid_xt',varid) - Status=nf90_inquire_variable(ncid3d,varid,ndims = numDims) - if(debugprint)print*,'number of dim for gdlon ',numDims - if(numDims==1)then - Status=nf90_get_var(ncid3d,varid,glon1d) - do j=jsta,jend - do i=1,im - gdlon(i,j) = real(glon1d(i),kind=4) - end do - end do - lonstart = nint(glon1d(1)*gdsdegr) - lonlast = nint(glon1d(im)*gdsdegr) - dxval = nint(abs(glon1d(1)-glon1d(2))*gdsdegr) - else if(numDims==2)then - Status=nf90_get_var(ncid3d,varid,dummy) - if(maxval(abs(dummy))<2.0*pi)convert_rad_to_deg=.true. - if(convert_rad_to_deg)then - do j=jsta,jend - do i=1,im - gdlon(i,j) = real(dummy(i,j),kind=4)*180./pi - end do - end do - else - do j=jsta,jend - do i=1,im - gdlon(i,j) = real(dummy(i,j),kind=4) - end do - end do - end if - if(convert_rad_to_deg)then - lonstart = nint(dummy(1,1)*gdsdegr)*180./pi - lonlast = nint(dummy(im,jm)*gdsdegr)*180./pi - dxval = nint(abs(dummy(1,1)-dummy(2,1))*gdsdegr)*180./pi - else - lonstart = nint(dummy(1,1)*gdsdegr) - lonlast = nint(dummy(im,jm)*gdsdegr) - dxval = nint(abs(dummy(1,1)-dummy(2,1))*gdsdegr) - end if - -! Jili Dong add support for regular lat lon (2019/03/22) start - if (MAPTYPE == 0) then - if(lonstart<0.)then - lonstart=lonstart+360.*gdsdegr - end if - if(lonlast<0.)then - lonlast=lonlast+360.*gdsdegr - end if - end if -! Jili Dong add support for regular lat lon (2019/03/22) end - - end if - print*,'lonstart,lonlast,dxval ',lonstart,lonlast,dxval -! get latitude - Status=nf90_inq_varid(ncid3d,'grid_yt',varid) - Status=nf90_inquire_variable(ncid3d,varid,ndims = numDims) - if(debugprint)print*,'number of dim for gdlat ',numDims - if(numDims==1)then - Status=nf90_get_var(ncid3d,varid,glat1d) - do j=jsta,jend - do i=1,im - gdlat(i,j) = real(glat1d(j),kind=4) - end do - end do - latstart = nint(glat1d(1)*gdsdegr) - latlast = nint(glat1d(jm)*gdsdegr) - dyval = nint(abs(glat1d(1)-glat1d(2))*gdsdegr) - else if(numDims==2)then - Status=nf90_get_var(ncid3d,varid,dummy) - if(maxval(abs(dummy))1000.)print*,'bad T ',t(i,j,l) - enddo - enddo - enddo - call read_netcdf_3d_para(ncid3d,im,jm,jsta,jsta_2l,jend,jend_2u, & - spval,recname(11),qqi(1,jsta_2l,1),lm) - call read_netcdf_3d_para(ncid3d,im,jm,jsta,jsta_2l,jend,jend_2u, & - spval,recname(12),qqr(1,jsta_2l,1),lm) - call read_netcdf_3d_para(ncid3d,im,jm,jsta,jsta_2l,jend,jend_2u, & - spval,recname(13),qqs(1,jsta_2l,1),lm) - call read_netcdf_3d_para(ncid3d,im,jm,jsta,jsta_2l,jend,jend_2u, & - spval,recname(14),qqg(1,jsta_2l,1),lm) - call read_netcdf_3d_para(ncid3d,im,jm,jsta,jsta_2l,jend,jend_2u, & - spval,recname(15),cfr(1,jsta_2l,1),lm) - -! calculate CWM from FV3 output - do l=1,lm - do j=jsta,jend - do i=1,im - cwm(i,j,l)=qqg(i,j,l)+qqs(i,j,l)+qqr(i,j,l)+qqi(i,j,l)+qqw(i,j,l) - enddo - enddo - if(debugprint)print*,'sample l,t,q,u,v,w,= ',isa,jsa,l & - ,t(isa,jsa,l),q(isa,jsa,l),uh(isa,jsa,l),vh(isa,jsa,l) & - ,wh(isa,jsa,l) - if(debugprint)print*,'sample l cwm for FV3',l, & - cwm(isa,jsa,l) - end do - -! surface pressure - VarName='pressfc' - call read_netcdf_2d_para(ncid3d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,pint(1,jsta_2l,lp1)) - do j=jsta,jend - do i=1,im -! if(pint(i,j,lp1)>1.0E6 .or. pint(1,jsta_2l,lp1)<50000.) & -! print*,'bad psfc ',i,j,pint(i,j,lp1) - end do - end do - if(debugprint)print*,'sample ',VarName,' =',pint(isa,jsa,lp1) - - pt = ak5(1) - - do j=jsta,jend - do i=1,im - pint(i,j,1)= pt - end do - end do - - do l=2,lp1 - do j=jsta,jend - do i=1,im - pint(i,j,l) = pint(i,j,l-1) + dpres(i,j,l-1) - enddo - enddo -! if (me == 0) print*,'sample model pint,pmid' ,ii,jj,l & -! ,pint(ii,jj,l),pmid(ii,jj,l) - end do - -!compute pmid from averaged two layer pint - do l=lm,1,-1 - do j=jsta,jend - do i=1,im - pmid(i,j,l) = 0.5*(pint(i,j,l)+pint(i,j,l+1)) - enddo - enddo - enddo - -! surface height from FV3 -! dong set missing value for zint -! zint=spval - VarName='hgtsfc' - call read_netcdf_2d_para(ncid3d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,zint(1,jsta_2l,lp1)) - if(debugprint)print*,'sample ',VarName,' =',zint(isa,jsa,lp1) - do j=jsta,jend - do i=1,im - if (zint(i,j,lp1) /= spval) then - fis(i,j) = zint(i,j,lp1) * grav - else - fis(i,j) = spval - endif - enddo - enddo - - do l=lm,1,-1 - do j=jsta,jend - do i=1,im - if(zint(i,j,l+1)/=spval .and. buf3d(i,j,l)/=spval)then -!make sure delz is positive - zint(i,j,l)=zint(i,j,l+1)+abs(buf3d(i,j,l)) -! if(zint(i,j,l)>1.0E6)print*,'bad H ',i,j,l,zint(i,j,l) - else - zint(i,j,l)=spval - end if - end do - end do - print*,'sample zint= ',isa,jsa,l,zint(isa,jsa,l) - end do - - do l=lp1,1,-1 - do j=jsta,jend - do i=1,im - alpint(i,j,l)=log(pint(i,j,l)) - end do - end do - end do - - do l=lm,1,-1 - do j=jsta,jend - do i=1,im - if(zint(i,j,l+1)/=spval .and. zint(i,j,l)/=spval & - .and. pmid(i,j,l)/=spval)then - zmid(i,j,l)=zint(i,j,l+1)+(zint(i,j,l)-zint(i,j,l+1))* & - (log(pmid(i,j,l))-alpint(i,j,l+1))/ & - (alpint(i,j,l)-alpint(i,j,l+1)) - if(zmid(i,j,l)>1.0E6)print*,'bad Hmid ',i,j,l,zmid(i,j,l) - else - zmid(i,j,l)=spval - endif - end do - end do - end do - - - pt = ak5(1) - -! - - deallocate (vcoord4) -!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -! - -! done with 3d file, close it for now - Status=nf90_close(ncid3d) - deallocate(recname) - -! open flux file - Status = nf90_open(trim(fileNameFlux),ior(nf90_nowrite, nf90_mpiio), & - ncid2d,comm=mpi_comm_world,info=mpi_info_null) - if ( Status /= 0 ) then - print*,'error opening ',fileNameFlux, ' Status = ', Status - print*,'skip reading of flux file' - endif - -! IVEGSRC=1 for IGBP, 0 for USGS, 2 for UMD - VarName='IVEGSRC' - Status=nf90_get_att(ncid2d,nf90_global,'IVEGSRC',IVEGSRC) - if (Status /= 0) then - print*,VarName,' not found-Assigned 1 for IGBP as default' - IVEGSRC=1 - end if - if (me == 0) print*,'IVEGSRC= ',IVEGSRC - -! set novegtype based on vegetation classification - if(ivegsrc==2)then - novegtype=13 - else if(ivegsrc==1)then - novegtype=20 - else if(ivegsrc==0)then - novegtype=24 - end if - if (me == 0) print*,'novegtype= ',novegtype - - Status=nf90_get_att(ncid2d,nf90_global,'imp_physics',imp_physics) - if (Status /= 0) then - print*,VarName,' not found-Assigned 11 GFDL as default' - imp_physics=11 - end if - if (me == 0) print*,'MP_PHYSICS= ',imp_physics -! - Status=nf90_get_att(ncid2d,nf90_global,'fhzero',fhzero) - if (Status /= 0) then - print*,VarName,' not found-Assigned 3 hours as default' - fhzero=3 - end if - if (me == 0) print*,'fhzero= ',fhzero -! - Status=nf90_get_att(ncid2d,nf90_global,'dtp',dtp) - if (Status /= 0) then - print*,VarName,' not found-Assigned 90s as default' - dtp=90 - end if - if (me == 0) print*,'dtp= ',dtp -! Initializes constants for Ferrier microphysics - if(imp_physics==5 .or. imp_physics==85 .or. imp_physics==95) then - CALL MICROINIT(imp_physics) - end if - - tprec = float(fhzero) - if(ifhr>240)tprec=12. - tclod = tprec - trdlw = tprec - trdsw = tprec - tsrfc = tprec - tmaxmin = tprec - td3d = tprec - print*,'tprec = ',tprec - - -!Set REF_10CM as missning since gfs doesn't ouput it - do l=1,lm - do j=jsta,jend - do i=1,im - REF_10CM(i,j,l)=spval - enddo - enddo - enddo - - VarName='land' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,sm) - if(debugprint)print*,'sample ',VarName,' =',sm(im/2,(jsta+jend)/2) - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= spval) sm(i,j) = 1.0 - sm(i,j) - enddo - enddo - -! sea ice mask - - VarName = 'icec' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,sice) - if(debugprint)print*,'sample ',VarName,' = ',sice(isa,jsa) - -! where(sice /=spval .and. sice >=1.0)sm=0.0 !sea ice has sea -! mask=0 -! GFS flux files have land points with non-zero sea ice, per Iredell, -! these -! points have sea ice changed to zero, i.e., trust land mask more than -! sea ice -! where(sm/=spval .and. sm==0.0)sice=0.0 !specify sea ice=0 at land - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= spval .and. sm(i,j) == 0.0) sice(i,j) = 0.0 - enddo - enddo - - -! PBL height using nemsio - VarName = 'hpbl' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,pblh) - if(debugprint)print*,'sample ',VarName,' = ',pblh(isa,jsa) - -! frictional velocity using nemsio - VarName='fricv' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,ustar) -! if(debugprint)print*,'sample ',VarName,' = ',ustar(isa,jsa) - -! roughness length using getgb - VarName='sfcr' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,z0) -! if(debugprint)print*,'sample ',VarName,' = ',z0(isa,jsa) - -! sfc exchange coeff - VarName='sfexc' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,SFCEXC) - -! aerodynamic conductance - VarName='acond' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,acond) - if(debugprint)print*,'sample ',VarName,' = ',acond(isa,jsa) - -! mid day avg albedo - VarName='albdo_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgalbedo) - if(debugprint)print*,'sample ',VarName,' = ',avgalbedo(isa,jsa) - do j=jsta,jend - do i=1,im - if (avgalbedo(i,j) /= spval) avgalbedo(i,j) = avgalbedo(i,j) * 0.01 - enddo - enddo - -! surface potential T using getgb - VarName='tmpsfc' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,ths) - -! where(ths/=spval)ths=ths*(p1000/pint(:,:,lp1))**CAPA ! convert to THS - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (ths(i,j) /= spval) then -! write(0,*)' i=',i,' j=',j,' ths=',ths(i,j),' pint=',pint(i,j,lp1) - ths(i,j) = ths(i,j) * (p1000/pint(i,j,lp1))**capa - endif - QS(i,j) = SPVAL ! GFS does not have surface specific humidity - twbs(i,j) = SPVAL ! GFS does not have inst sensible heat flux - qwbs(i,j) = SPVAL ! GFS does not have inst latent heat flux -!assign sst - if (sm(i,j) /= 0.0) then - sst(i,j) = ths(i,j) * (pint(i,j,lp1)/p1000)**capa - else - sst(i,j) = spval - endif - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',ths(isa,jsa) - - -! GFS does not have time step and physics time step, make up ones since they -! are not really used anyway -! NPHS=1. -! DT=90. -! DTQ2 = DT * NPHS !MEB need to get physics DT - DTQ2 = DTP !MEB need to get physics DT - NPHS=1 - DT = DTQ2/NPHS !MEB need to get DT - TSPH = 3600./DT - -! convective precip in m per physics time step using getgb -! read 3 hour bucket - VarName='cpratb_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgcprate) -! where(avgcprate /= spval)avgcprate=avgcprate*dtq2/1000. ! convert to m -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcprate(i,j) /= spval) avgcprate(i,j) = avgcprate(i,j) * (dtq2*0.001) - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',avgcprate(isa,jsa) - -! print*,'maxval CPRATE: ', maxval(CPRATE) - -! read continuous bucket - VarName='cprat_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgcprate_cont) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcprate_cont(i,j) /= spval) avgcprate_cont(i,j) = & - avgcprate_cont(i,j) * (dtq2*0.001) - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',avgcprate_cont(isa,jsa) - -! print*,'maxval CPRATE: ', maxval(CPRATE) - -! precip rate in m per physics time step using getgb - VarName='prateb_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgprec) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if(avgprec(i,j) /= spval)avgprec(i,j)=avgprec(i,j)*(dtq2*0.001) - enddo - enddo - - if(debugprint)print*,'sample ',VarName,' = ',avgprec(isa,jsa) - -! prec = avgprec !set avg cprate to inst one to derive other fields - - VarName='prate_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgprec_cont) -! where(avgprec /= spval)avgprec=avgprec*dtq2/1000. ! convert to m -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgprec_cont(i,j) /=spval)avgprec_cont(i,j)=avgprec_cont(i,j) & - * (dtq2*0.001) - enddo - enddo - - if(debugprint)print*,'sample ',VarName,' = ',avgprec_cont(isa,jsa) -! precip rate in m per physics time step - VarName='tprcp' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,prec) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (prec(i,j) /= spval) prec(i,j)=prec(i,j)* (dtq2*0.001) & - * 1000. / dtp - enddo - enddo - -! convective precip rate in m per physics time step - VarName='cnvprcp' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,cprate) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (cprate(i,j) /= spval) then - cprate(i,j) = max(0.,cprate(i,j)) * (dtq2*0.001) & - * 1000. / dtp - else - cprate(i,j) = 0. - endif - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',cprate(isa,jsa) - -! GFS does not have accumulated total, gridscale, and convective precip, will use inst precip to derive in SURFCE.f - -! max hourly 1-km agl reflectivity -! VarName='refdmax' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,refd_max) -! if(debugprint)print*,'sample ',VarName,' = ',refd_max(isa,jsa) -! max hourly -10C reflectivity -! VarName='refdmax263k' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,refdm10c_max) -! if(debugprint)print*,'sample ',VarName,' = ',refdm10c_max(isa,jsa) - -! max hourly u comp of 10m agl wind -! VarName='u10max' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,u10max) -! if(debugprint)print*,'sample ',VarName,' = ',u10max(isa,jsa) -! max hourly v comp of 10m agl wind -! VarName='v10max' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,v10max) -! if(debugprint)print*,'sample ',VarName,' = ',v10max(isa,jsa) -! max hourly 10m agl wind speed -! VarName='spd10max' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,wspd10max) -! if(debugprint)print*,'sample ',VarName,' = ',wspd10max(isa,jsa) - - -! 2m T using nemsio - VarName='tmp2m' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,tshltr) - if(debugprint)print*,'sample ',VarName,' = ',tshltr(isa,jsa) - -! inst snow water eqivalent using nemsio - VarName='weasd' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,sno) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j)==0.) sno(i,j) = spval - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',sno(isa,jsa) - -! ave snow cover - VarName='snowc_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,snoavg) -! snow cover is multipled by 100 in SURFCE before writing it out - do j=jsta,jend - do i=1,im - if (sm(i,j)==1.0 .and. sice(i,j)==0.) snoavg(i,j)=spval - if(snoavg(i,j)/=spval)snoavg(i,j)=snoavg(i,j)/100. - end do - end do - -! snow depth in mm using nemsio - VarName='snod' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,si) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j)==1.0 .and. sice(i,j)==0.) si(i,j)=spval - if (si(i,j) /= spval) si(i,j) = si(i,j) * 1000.0 - CLDEFI(i,j) = SPVAL ! GFS does not have convective cloud efficiency - lspa(i,j) = spval ! GFS does not have similated precip - TH10(i,j) = SPVAL ! GFS does not have 10 m theta - TH10(i,j) = SPVAL ! GFS does not have 10 m theta - Q10(i,j) = SPVAL ! GFS does not have 10 m humidity - ALBASE(i,j) = SPVAL ! GFS does not have snow free albedo - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',si(isa,jsa) - -! 2m T using nemsio - VarName='tmp2m' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,tshltr) - if(debugprint)print*,'sample ',VarName,' = ',tshltr(isa,jsa) - -! GFS does not have 2m pres, estimate it, also convert t to theta - Do j=jsta,jend - Do i=1,im - PSHLTR(I,J)=pint(I,J,lm+1)*EXP(-0.068283/tshltr(i,j)) - tshltr(i,j)= tshltr(i,j)*(p1000/PSHLTR(I,J))**CAPA ! convert to theta -! if (j == jm/2 .and. mod(i,50) == 0) -! + print*,'sample 2m T and P after scatter= ' -! + ,i,j,tshltr(i,j),pshltr(i,j) - end do - end do - -! 2m specific humidity using nemsio - VarName='spfh2m' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,qshltr) - if(debugprint)print*,'sample ',VarName,' = ',qshltr(isa,jsa) - -! mid day avg albedo in fraction using nemsio -! VarName='albdosfc' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,avgalbedo) -!! where(avgalbedo /= spval)avgalbedo=avgalbedo/100. ! convert to fraction -!!$omp parallel do private(i,j) -! do j=jsta,jend -! do i=1,im -! if (avgalbedo(i,j) /= spval) avgalbedo(i,j) = avgalbedo(i,j) * 0.01 -! enddo -! enddo -! if(debugprint)print*,'sample ',VarName,' = ',avgalbedo(isa,jsa) - -! time averaged column cloud fractionusing nemsio - VarName='tcdc_aveclm' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgtcdc) -! where(avgtcdc /= spval)avgtcdc=avgtcdc/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgtcdc(i,j) /= spval) avgtcdc(i,j) = avgtcdc(i,j) * 0.01 - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',avgtcdc(isa,jsa) - -! GFS probably does not use zenith angle -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - Czen(i,j) = spval - CZMEAN(i,j) = SPVAL - enddo - enddo - -! maximum snow albedo in fraction using nemsio - VarName='snoalb' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,mxsnal) -! where(mxsnal /= spval)mxsnal=mxsnal/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (mxsnal(i,j) /= spval) mxsnal(i,j) = mxsnal(i,j) * 0.01 - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',mxsnal(isa,jsa) - -! GFS probably does not use sigt4, set it to sig*t^4 -!$omp parallel do private(i,j,tlmh) - Do j=jsta,jend - Do i=1,im - TLMH = T(I,J,LM) * T(I,J,LM) - Sigt4(i,j) = 5.67E-8 * TLMH * TLMH - End do - End do - -! TG is not used, skip it for now - -! GFS does not have inst cloud fraction for high, middle, and low cloud -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - cfrach(i,j) = spval - cfracl(i,j) = spval - cfracm(i,j) = spval - enddo - enddo - -! ave high cloud fraction using nemsio - VarName='tcdc_avehcl' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgcfrach) -! where(avgcfrach /= spval)avgcfrach=avgcfrach/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcfrach(i,j) /= spval) avgcfrach(i,j) = avgcfrach(i,j) * 0.01 - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',avgcfrach(isa,jsa) - -! ave low cloud fraction using nemsio - VarName='tcdc_avelcl' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgcfracl) -! where(avgcfracl /= spval)avgcfracl=avgcfracl/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcfracl(i,j) /= spval) avgcfracl(i,j) = avgcfracl(i,j) * 0.01 - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',avgcfracl(isa,jsa) - -! ave middle cloud fraction using nemsio - VarName='tcdc_avemcl' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgcfracm) -! where(avgcfracm /= spval)avgcfracm=avgcfracm/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (avgcfracm(i,j) /= spval) avgcfracm(i,j) = avgcfracm(i,j) * 0.01 - enddo - enddo - if(debugprint)print*,'sample ',VarName,' = ',avgcfracm(isa,jsa) - -! inst convective cloud fraction using nemsio - VarName='tcdccnvcl' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,cnvcfr) -! where(cnvcfr /= spval)cnvcfr=cnvcfr/100. ! convert to fraction -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (cnvcfr(i,j) /= spval) cnvcfr (i,j)= cnvcfr(i,j) * 0.01 - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',cnvcfr(isa,jsa) - -! slope type using nemsio - VarName='sltyp' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,buf) -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - if (buf(i,j) < spval) then - islope(i,j) = nint(buf(i,j)) - else - islope(i,j) = 0 - endif - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',islope(isa,jsa) - -! plant canopy sfc wtr in m - VarName='cnwat' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,cmc) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (cmc(i,j) /= spval) cmc(i,j) = cmc(i,j) * 0.001 - if (sm(i,j) /= 0.0) cmc(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',cmc(isa,jsa) - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - grnflx(i,j) = spval ! GFS does not have inst ground heat flux - enddo - enddo - -! frozen precip fraction using nemsio - VarName='cpofp' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,sr) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if(sr(i,j) /= spval) then -!set range within (0,1) - sr(i,j)=min(1.,max(0.,sr(i,j))) - endif - enddo - enddo - -! sea ice skin temperature - VarName='tisfc' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,ti) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sice(i,j) == spval .or. sice(i,j) == 0.) ti(i,j)=spval - enddo - enddo - -! vegetation fraction in fraction. using nemsio - VarName='veg' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,vegfrc) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (vegfrc(i,j) /= spval) then - vegfrc(i,j) = vegfrc(i,j) * 0.01 - else - vegfrc(i,j) = 0.0 - endif - enddo - enddo -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) vegfrc(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample ',VarName,' = ',vegfrc(isa,jsa) - -! GFS doesn not yet output soil layer thickness, assign SLDPTH to be the same as nam - - SLDPTH(1) = 0.10 - SLDPTH(2) = 0.3 - SLDPTH(3) = 0.6 - SLDPTH(4) = 1.0 - -! liquid volumetric soil mpisture in fraction using nemsio - VarName='soill1' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,sh2o(1,jsta_2l,1)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) sh2o(i,j,1) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,sh2o(isa,jsa,1) - - VarName='soill2' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,sh2o(1,jsta_2l,2)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) sh2o(i,j,2) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,sh2o(isa,jsa,2) - - VarName='soill3' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,sh2o(1,jsta_2l,3)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) sh2o(i,j,3) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,sh2o(isa,jsa,3) - - VarName='soill4' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,sh2o(1,jsta_2l,4)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) sh2o(i,j,4) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,sh2o(isa,jsa,4) - -! volumetric soil moisture using nemsio - VarName='soilw1' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,smc(1,jsta_2l,1)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) smc(i,j,1) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,smc(isa,jsa,1) - - VarName='soilw2' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,smc(1,jsta_2l,2)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) smc(i,j,2) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,smc(isa,jsa,2) - - VarName='soilw3' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,smc(1,jsta_2l,3)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) smc(i,j,3) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,smc(isa,jsa,3) - - VarName='soilw4' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,smc(1,jsta_2l,4)) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) smc(i,j,4) = spval - enddo - enddo - if(debugprint)print*,'sample l',VarName,' = ',1,smc(isa,jsa,4) - -! soil temperature using nemsio - VarName='soilt1' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,stc(1,jsta_2l,1)) -! mask open water areas, combine with sea ice tmp -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) stc(i,j,1) = spval - !if (sm(i,j) /= 0.0) stc(i,j,1) = spval - enddo - enddo - if(debugprint)print*,'sample l','stc',' = ',1,stc(isa,jsa,1) - - VarName='soilt2' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,stc(1,jsta_2l,2)) -! mask open water areas, combine with sea ice tmp -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) stc(i,j,2) = spval - !if (sm(i,j) /= 0.0) stc(i,j,2) = spval - enddo - enddo - if(debugprint)print*,'sample stc = ',1,stc(isa,jsa,2) - - VarName='soilt3' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,stc(1,jsta_2l,3)) -! mask open water areas, combine with sea ice tmp -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) stc(i,j,3) = spval - !if (sm(i,j) /= 0.0) stc(i,j,3) = spval - enddo - enddo - if(debugprint)print*,'sample stc = ',1,stc(isa,jsa,3) - - VarName='soilt4' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,stc(1,jsta_2l,4)) -! mask open water areas, combine with sea ice tmp -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) stc(i,j,4) = spval - !if (sm(i,j) /= 0.0) stc(i,j,4) = spval - enddo - enddo - if(debugprint)print*,'sample stc = ',1,stc(isa,jsa,4) - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - acfrcv(i,j) = spval ! GFS does not output time averaged convective and strat cloud fraction, set acfrcv to spval, ncfrcv to 1 - ncfrcv(i,j) = 1.0 - acfrst(i,j) = spval ! GFS does not output time averaged cloud fraction, set acfrst to spval, ncfrst to 1 - ncfrst(i,j) = 1.0 - bgroff(i,j) = spval ! GFS does not have UNDERGROUND RUNOFF - rlwtoa(i,j) = spval ! GFS does not have inst model top outgoing longwave - enddo - enddo -! trdlw(i,j) = 6.0 - ardlw = 1.0 ! GFS incoming sfc longwave has been averaged over 6 hr bucket, set ARDLW to 1 - -! time averaged incoming sfc longwave - VarName='dlwrf_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,alwin) - -! inst incoming sfc longwave - VarName='dlwrf' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,rlwin) - -! time averaged outgoing sfc longwave - VarName='ulwrf_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,alwout) -! inst outgoing sfc longwave - VarName='ulwrf' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,radot) - -! where(alwout /= spval) alwout=-alwout ! CLDRAD puts a minus sign before gribbing -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (alwout(i,j) /= spval) alwout(i,j) = -alwout(i,j) - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,alwout(isa,jsa) - -! time averaged outgoing model top longwave using gfsio - VarName='ulwrf_avetoa' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,alwtoa) -! if(debugprint)print*,'sample l',VarName,' = ',1,alwtoa(isa,jsa) - -! GFS incoming sfc longwave has been averaged, set ARDLW to 1 - ardsw=1.0 -! trdsw=6.0 - -! time averaged incoming sfc shortwave - VarName='dswrf_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,aswin) -! if(debugprint)print*,'sample l',VarName,' = ',1,aswin(isa,jsa) - -! inst incoming sfc shortwave - VarName='dswrf' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,rswin) - -! inst incoming clear sky sfc shortwave - VarName='csdlf' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,rswinc) - -! time averaged incoming sfc uv-b using getgb - VarName='duvb_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,auvbin) -! if(debugprint)print*,'sample l',VarName,' = ',1,auvbin(isa,jsa) - -! time averaged incoming sfc clear sky uv-b using getgb - VarName='cduvb_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,auvbinc) -! if(debugprint)print*,'sample l',VarName,' = ',1,auvbinc(isa,jsa) - -! time averaged outgoing sfc shortwave using gfsio - VarName='uswrf_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,aswout) -! where(aswout /= spval) aswout=-aswout ! CLDRAD puts a minus sign before gribbing -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (aswout(i,j) /= spval) aswout(i,j) = -aswout(i,j) - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,aswout(isa,jsa) - -! inst outgoing sfc shortwave using gfsio - VarName='uswrf' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,rswout) - -! time averaged model top incoming shortwave - VarName='dswrf_avetoa' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,aswintoa) -! if(debugprint)print*,'sample l',VarName,' = ',1,aswintoa(isa,jsa) - -! time averaged model top outgoing shortwave - VarName='uswrf_avetoa' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,aswtoa) -! if(debugprint)print*,'sample l',VarName,' = ',1,aswtoa(isa,jsa) - -! time averaged surface sensible heat flux, multiplied by -1 because wrf model flux -! has reversed sign convention using gfsio - VarName='shtfl_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,sfcshx) -! where (sfcshx /= spval)sfcshx=-sfcshx -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sfcshx(i,j) /= spval) sfcshx(i,j) = -sfcshx(i,j) - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,sfcshx(isa,jsa) - -! inst surface sensible heat flux - VarName='shtfl' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,twbs) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (twbs(i,j) /= spval) twbs(i,j) = -twbs(i,j) - enddo - enddo - -! GFS surface flux has been averaged, set ASRFC to 1 - asrfc=1.0 -! tsrfc=6.0 - -! time averaged surface latent heat flux, multiplied by -1 because wrf model flux -! has reversed sign vonvention using gfsio - VarName='lhtfl_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,sfclhx) -! where (sfclhx /= spval)sfclhx=-sfclhx -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sfclhx(i,j) /= spval) sfclhx(i,j) = -sfclhx(i,j) - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,sfclhx(isa,jsa) - -! inst surface latent heat flux - VarName='lhtfl' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,qwbs) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (qwbs(i,j) /= spval) qwbs(i,j) = -qwbs(i,j) - enddo - enddo - - if(me==0)print*,'rdaod= ',rdaod -! inst aod550 optical depth - if(rdaod) then - VarName='aod550' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,aod550) - - VarName='du_aod550' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,du_aod550) - - VarName='ss_aod550' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,ss_aod550) - - VarName='su_aod550' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,su_aod550) - - VarName='oc_aod550' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,oc_aod550) - - VarName='bc_aod550' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,bc_aod550) - endif !end if rdaod - - -! time averaged ground heat flux using nemsio - VarName='gflux_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,subshx) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) subshx(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,subshx(isa,jsa) - -! inst ground heat flux using nemsio - VarName='gflux' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,grnflx) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) grnflx(i,j) = spval - enddo - enddo - -! time averaged zonal momentum flux using gfsio - VarName='uflx_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,sfcux) -! if(debugprint)print*,'sample l',VarName,' = ',1,sfcux(isa,jsa) - -! time averaged meridional momentum flux using nemsio - VarName='vflx_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,sfcvx) -! if(debugprint)print*,'sample l',VarName,' = ',1,sfcvx(isa,jsa) - -! dong read in inst surface flux -! inst zonal momentum flux using gfsio -! VarName='uflx' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sfcuxi) -! if(debugprint)print*,'sample l',VarName,' = ',1,sfcuxi(isa,jsa) - -! inst meridional momentum flux using nemsio -! VarName='vflx' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,sfcvxi) -! if(debugprint)print*,'sample l',VarName,' = ',1,sfcvxi(isa,jsa) - - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - sfcuvx(i,j) = spval ! GFS does not use total momentum flux - enddo - enddo - -! time averaged zonal gravity wave stress using nemsio - VarName='u-gwd_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,gtaux) -! if(debugprint)print*,'sample l',VarName,' = ',1,gtaux(isa,jsa) - -! time averaged meridional gravity wave stress using getgb - VarName='v-gwd_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,gtauy) -! if(debugprint)print*,'sample l',VarName,' = ',1,gtauy(isa,jsa) - -! time averaged accumulated potential evaporation - VarName='pevpr_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgpotevp) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) avgpotevp(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,potevp(isa,jsa) - -! inst potential evaporation - VarName='pevpr' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,potevp) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) == 1.0 .and. sice(i,j) ==0.) potevp(i,j) = spval - enddo - enddo - - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im -! GFS does not have temperature tendency due to long wave radiation - rlwtt(i,j,l) = spval -! GFS does not have temperature tendency due to short wave radiation - rswtt(i,j,l) = spval -! GFS does not have temperature tendency due to latent heating from convection - tcucn(i,j,l) = spval - tcucns(i,j,l) = spval -! GFS does not have temperature tendency due to latent heating from grid scale - train(i,j,l) = spval - enddo - enddo - enddo - -! set avrain to 1 - avrain=1.0 - avcnvc=1.0 - theat=6.0 ! just in case GFS decides to output T tendency - -! 10 m u using nemsio - VarName='ugrd10m' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,u10) - - do j=jsta,jend - do i=1,im - u10h(i,j)=u10(i,j) - end do - end do -! if(debugprint)print*,'sample l',VarName,' = ',1,u10(isa,jsa) - -! 10 m v using gfsio - VarName='vgrd10m' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,v10) - - do j=jsta,jend - do i=1,im - v10h(i,j)=v10(i,j) - end do - end do -! if(debugprint)print*,'sample l',VarName,' = ',1,v10(isa,jsa) - -! vegetation type, it's in GFS surface file, hopefully will merge into gfsio soon - VarName='vtype' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,buf) -! where (buf /= spval) -! ivgtyp=nint(buf) -! elsewhere -! ivgtyp=0 !need to feed reasonable value to crtm -! end where -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - if (buf(i,j) < spval) then - ivgtyp(i,j) = nint(buf(i,j)) - else - ivgtyp(i,j) = 0 - endif - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,ivgtyp(isa,jsa) - -! soil type, it's in GFS surface file, hopefully will merge into gfsio soon - VarName='sotyp' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,buf) -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - if (buf(i,j) < spval) then - isltyp(i,j) = nint(buf(i,j)) - else - isltyp(i,j) = 0 !need to feed reasonable value to crtm - endif - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,isltyp(isa,jsa) - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - smstav(i,j) = spval ! GFS does not have soil moisture availability -! smstot(i,j) = spval ! GFS does not have total soil moisture - sfcevp(i,j) = spval ! GFS does not have accumulated surface evaporation - acsnow(i,j) = spval ! GFS does not have averaged accumulated snow - acsnom(i,j) = spval ! GFS does not have snow melt -! sst(i,j) = spval ! GFS does not have sst???? - thz0(i,j) = ths(i,j) ! GFS does not have THZ0, use THS to substitute - qz0(i,j) = spval ! GFS does not output humidity at roughness length - uz0(i,j) = spval ! GFS does not output u at roughness length - vz0(i,j) = spval ! GFS does not output humidity at roughness length - enddo - enddo - do l=1,lm -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - EL_PBL(i,j,l) = spval ! GFS does not have mixing length - exch_h(i,j,l) = spval ! GFS does not output exchange coefficient - enddo - enddo - enddo -! if(debugprint)print*,'sample l',VarName,' = ',1,thz0(isa,jsa) - -! retrieve inst convective cloud top, GFS has cloud top pressure instead of index, -! will need to modify CLDRAD.f to use pressure directly instead of index -! VarName='pres' -! VcoordName='convect-cld top' -! l=1 -! if(debugprint)print*,'sample l',VarName,' = ',1,ptop(isa,jsa) - VarName='prescnvclt' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,ptop) - - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - htop(i,j) = spval - if(ptop(i,j) <= 0.0) ptop(i,j) = spval - enddo - enddo - do j=jsta,jend - do i=1,im - if(ptop(i,j) < spval)then - do l=1,lm - if(ptop(i,j) <= pmid(i,j,l))then - htop(i,j) = l -! if(i==ii .and. j==jj)print*,'sample ptop,pmid pmid-1,pint= ', & -! ptop(i,j),pmid(i,j,l),pmid(i,j,l-1),pint(i,j,l),htop(i,j) - exit - end if - end do - end if - end do - end do - -! retrieve inst convective cloud bottom, GFS has cloud top pressure instead of index, -! will need to modify CLDRAD.f to use pressure directly instead of index - VarName='prescnvclb' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,pbot) -! if(debugprint)print*,'sample l',VarName,VcoordName,' = ',1,pbot(isa,jsa) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - hbot(i,j) = spval - if(pbot(i,j) <= 0.0) pbot(i,j) = spval - enddo - enddo - do j=jsta,jend - do i=1,im -! if(.not.lb(i,j))print*,'false bitmask for pbot at ' -! + ,i,j,pbot(i,j) - if(pbot(i,j) < spval)then - do l=lm,1,-1 - if(pbot(i,j) >= pmid(i,j,l)) then - hbot(i,j) = l -! if(i==ii .and. j==jj)print*,'sample pbot,pmid= ', & -! pbot(i,j),pmid(i,j,l),hbot(i,j) - exit - end if - end do - end if - end do - end do - if(debugprint)print*,'sample hbot = ',hbot(isa,jsa) -! retrieve time averaged low cloud top pressure using nemsio - VarName='pres_avelct' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,ptopl) -! if(debugprint)print*,'sample l',VarName,' = ',1,ptopl(isa,jsa) - -! retrieve time averaged low cloud bottom pressure using nemsio - VarName='pres_avelcb' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,pbotl) -! if(debugprint)print*,'sample l',VarName,' = ',1,pbotl(isa,jsa) - -! retrieve time averaged low cloud top temperature using nemsio - VarName='tmp_avelct' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,Ttopl) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,Ttopl(isa,jsa) - -! retrieve time averaged middle cloud top pressure using nemsio - VarName='pres_avemct' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,ptopm) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,ptopm(isa,jsa) - -! retrieve time averaged middle cloud bottom pressure using nemsio - VarName='pres_avemcb' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,pbotm) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,pbotm(isa,jsa) - -! retrieve time averaged middle cloud top temperature using nemsio - VarName='tmp_avemct' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,Ttopm) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,Ttopm(isa,jsa) - -! retrieve time averaged high cloud top pressure using nemsio ********* - VarName='pres_avehct' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,ptoph) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,ptoph(isa,jsa) - -! retrieve time averaged high cloud bottom pressure using nemsio - VarName='pres_avehcb' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,pboth) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,pboth(isa,jsa) - -! retrieve time averaged high cloud top temperature using nemsio - VarName='tmp_avehct' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,Ttoph) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ',1,Ttoph(isa,jsa) - -! retrieve boundary layer cloud cover using nemsio - VarName='tcdc_avebndcl' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,pblcfr) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,pblcfr(isa,jsa) -! where (pblcfr /= spval)pblcfr=pblcfr/100. ! convert to fraction -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i=1,im - if (pblcfr(i,j) < spval) pblcfr(i,j) = pblcfr(i,j) * 0.01 - enddo - enddo - -! retrieve cloud work function - VarName='cwork_aveclm' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,cldwork) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,cldwork(isa,jsa) - -! accumulated total (base+surface) runoff - VarName='watr_acc' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,runoff) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) runoff(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,runoff(isa,jsa) - -! retrieve shelter max temperature using nemsio - VarName='tmax_max2m' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,maxtshltr) - -! retrieve shelter min temperature using nemsio - VarName='tmin_min2m' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,mintshltr) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & -! 1,mintshltr(im/2,(jsta+jend)/2) - -! retrieve shelter max RH -! VarName='rh02max' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,maxrhshltr) - -! retrieve shelter min temperature using nemsio -! VarName='rh02min' -! call read_netcdf_2d_scatter(me,ncid2d,1,im,jm,jsta,jsta_2l & -! ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,minrhshltr) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & -! 1,mintshltr(im/2,(jsta+jend)/2) - -!$omp parallel do private(i,j) - do j=jsta_2l,jend_2u - do i=1,im - MAXRHSHLTR(i,j) = SPVAL - MINRHSHLTR(i,j) = SPVAL - enddo - enddo - -! retrieve ice thickness using nemsio - VarName='icetk' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,dzice) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,dzice(isa,jsa) - -! retrieve wilting point using nemsio - VarName='wilt' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,smcwlt) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) smcwlt(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,smcwlt(isa,jsa) - -! retrieve sunshine duration using nemsio - VarName='sunsd_acc' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,suntime) - -! retrieve field capacity using nemsio - VarName='fldcp' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,fieldcapa) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) fieldcapa(i,j) = spval - enddo - enddo -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', 1,fieldcapa(isa,jsa) - -! retrieve time averaged surface visible beam downward solar flux - VarName='vbdsf_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avisbeamswin) - l=1 - -! retrieve time averaged surface visible diffuse downward solar flux - VarName='vddsf_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avisdiffswin) - -! retrieve time averaged surface near IR beam downward solar flux - VarName='nbdsf_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,airbeamswin) - -! retrieve time averaged surface near IR diffuse downward solar flux - VarName='nddsf_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,airdiffswin) - -! retrieve time averaged surface clear sky outgoing LW - VarName='csulf' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,alwoutc) - -! retrieve time averaged TOA clear sky outgoing LW - VarName='csulftoa' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,alwtoac) - -! retrieve time averaged surface clear sky outgoing SW - VarName='csusf' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,aswoutc) - -! retrieve time averaged TOA clear sky outgoing LW - VarName='csusftoa' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,aswtoac) - -! retrieve time averaged surface clear sky incoming LW - VarName='csdlf' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,alwinc) - -! retrieve time averaged surface clear sky incoming SW - VarName='csdsf' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,aswinc) - -! retrieve shelter max specific humidity using nemsio - VarName='spfhmax_max2m' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,maxqshltr) -! if(debugprint)print*,'sample l',VcoordName,VarName,' = ', -! 1,maxqshltr(isa,jsa) - -! retrieve shelter min temperature using nemsio - VarName='spfhmin_min2m' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,minqshltr) - -! retrieve storm runoff using nemsio - VarName='ssrun_acc' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,SSROFF) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) ssroff(i,j) = spval - enddo - enddo - -! retrieve direct soil evaporation - VarName='evbs_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgedir) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) avgedir(i,j) = spval - enddo - enddo - -! retrieve CANOPY WATER EVAP - VarName='evcw_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgecan) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) avgecan(i,j) = spval - enddo - enddo - -! retrieve PLANT TRANSPIRATION - VarName='trans_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgetrans) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) avgetrans(i,j) = spval - enddo - enddo - -! retrieve snow sublimation - VarName='sbsno_ave' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,avgesnow) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j)==1.0 .and. sice(i,j)==0.) avgesnow(i,j)=spval - enddo - enddo - -! retrive total soil moisture - VarName='soilm' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,smstot) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) smstot(i,j) = spval - enddo - enddo - -! retrieve snow phase change heat flux - VarName='snohf' - call read_netcdf_2d_para(ncid2d,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,snopcx) -! mask water areas -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (sm(i,j) /= 0.0) snopcx(i,j) = spval - enddo - enddo - -! GFS does not have deep convective cloud top and bottom fields - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - HTOPD(i,j) = SPVAL - HBOTD(i,j) = SPVAL - HTOPS(i,j) = SPVAL - HBOTS(i,j) = SPVAL - CUPPT(i,j) = SPVAL - enddo - enddo - -! done with flux file, close it for now - Status=nf90_close(ncid2d) -! deallocate(tmp,recname,reclevtyp,reclev) - -! pos east -! call collect_loc(gdlat,dummy) -! if(me == 0)then -! latstart = nint(dummy(1,1)*gdsdegr) -! latlast = nint(dummy(im,jm)*gdsdegr) -! print*,'laststart,latlast B bcast= ',latstart,latlast,'gdsdegr=',gdsdegr,& -! 'dummy(1,1)=',dummy(1,1),dummy(im,jm),'gdlat=',gdlat(1,1) -! end if -! call mpi_bcast(latstart,1,MPI_INTEGER,0,mpi_comm_comp,irtn) -! call mpi_bcast(latlast,1,MPI_INTEGER,0,mpi_comm_comp,irtn) -! write(6,*) 'laststart,latlast,me A calling bcast=',latstart,latlast,me -! call collect_loc(gdlon,dummy) -! if(me == 0)then -! lonstart = nint(dummy(1,1)*gdsdegr) -! lonlast = nint(dummy(im,jm)*gdsdegr) -! end if -! call mpi_bcast(lonstart,1,MPI_INTEGER,0,mpi_comm_comp,irtn) -! call mpi_bcast(lonlast, 1,MPI_INTEGER,0,mpi_comm_comp,irtn) - -! write(6,*)'lonstart,lonlast A calling bcast=',lonstart,lonlast -! - -! generate look up table for lifted parcel calculations - - THL = 210. - PLQ = 70000. - pt_TBL = 10000. ! this is for 100 hPa added by Moorthi - - CALL TABLE(PTBL,TTBL,PT_TBL, & - RDQ,RDTH,RDP,RDTHE,PL,THL,QS0,SQS,STHE,THE0) - - CALL TABLEQ(TTBLQ,RDPQ,RDTHEQ,PLQ,THL,STHEQ,THE0Q) - -! -! - IF(ME == 0)THEN - WRITE(6,*)' SPL (POSTED PRESSURE LEVELS) BELOW: ' - WRITE(6,51) (SPL(L),L=1,LSM) - 50 FORMAT(14(F4.1,1X)) - 51 FORMAT(8(F8.1,1X)) - ENDIF -! -!$omp parallel do private(l) - DO L = 1,LSM - ALSL(L) = LOG(SPL(L)) - END DO -! -!HC WRITE IGDS OUT FOR WEIGHTMAKER TO READ IN AS KGDSIN - if(me == 0)then - print*,'writing out igds' - igdout = 110 -! open(igdout,file='griddef.out',form='unformatted' -! + ,status='unknown') - if(maptype == 1)THEN ! Lambert conformal - WRITE(igdout)3 - WRITE(6,*)'igd(1)=',3 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)0 - WRITE(igdout)64 - WRITE(igdout)TRUELAT2 - WRITE(igdout)TRUELAT1 - WRITE(igdout)255 - ELSE IF(MAPTYPE == 2)THEN !Polar stereographic - WRITE(igdout)5 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)0 - WRITE(igdout)64 - WRITE(igdout)TRUELAT2 !Assume projection at +-90 - WRITE(igdout)TRUELAT1 - WRITE(igdout)255 - ! Note: The calculation of the map scale factor at the standard - ! lat/lon and the PSMAPF - ! Get map factor at 60 degrees (N or S) for PS projection, which will - ! be needed to correctly define the DX and DY values in the GRIB GDS - if (TRUELAT1 < 0.) THEN - LAT = -60. - else - LAT = 60. - end if - - CALL MSFPS (LAT,TRUELAT1*0.001,PSMAPF) - - ELSE IF(MAPTYPE == 3) THEN !Mercator - WRITE(igdout)1 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)latlast - WRITE(igdout)lonlast - WRITE(igdout)TRUELAT1 - WRITE(igdout)0 - WRITE(igdout)64 - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)255 - ELSE IF(MAPTYPE == 0 .OR. MAPTYPE == 203)THEN !A STAGGERED E-GRID - WRITE(igdout)203 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)136 - WRITE(igdout)CENLAT - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)64 - WRITE(igdout)0 - WRITE(igdout)0 - WRITE(igdout)0 - END IF - end if -! -! - - RETURN - END - - subroutine read_netcdf_3d_para(ncid,im,jm,jsta,jsta_2l,jend,jend_2u, & - spval,varname,buf,lm) - - use netcdf - implicit none - INCLUDE "mpif.h" - - character(len=20),intent(in) :: varname - real,intent(in) :: spval - integer,intent(in) :: ncid,im,jm,lm,jsta_2l,jend_2u,jsta,jend - real,intent(out) :: buf(im,jsta_2l:jend_2u,lm) - integer :: varid,iret,jj,i,j,l,kk - integer :: start(3), count(3), stride(3) - - iret = nf90_inq_varid(ncid,trim(varname),varid) - if (iret /= 0) then - print*,VarName," not found -Assigned missing values" -!$omp parallel do private(i,j,l) - do l=1,lm - do j=jsta,jend - do i=1,im - buf(i,j,l)=spval - enddo - enddo - enddo - else - start = (/1,jsta,1/) - jj=jend-jsta+1 - count = (/im,jj,lm/) - iret = nf90_get_var(ncid,varid,buf(1:im,jsta:jend,1:lm),start=start,count=count) - endif - - end subroutine read_netcdf_3d_para - - subroutine read_netcdf_2d_para(ncid,im,jsta,jsta_2l,jend,jend_2u, & - spval,VarName,buf) - - use netcdf - implicit none - INCLUDE "mpif.h" - - character(len=20),intent(in) :: VarName - real,intent(in) :: spval - integer,intent(in) :: ncid,im,jsta_2l,jend_2u,jsta,jend - real,intent(out) :: buf(im,jsta_2l:jend_2u) - integer :: varid,iret,jj,i,j - integer :: start(2), count(2) - - iret = nf90_inq_varid(ncid,trim(varname),varid) - if (iret /= 0) then - print*,VarName," not found -Assigned missing values" -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - buf(i,j)=spval - enddo - enddo - else - start = (/1,jsta/) - jj=jend-jsta+1 - count = (/im,jj/) - iret = nf90_get_var(ncid,varid,buf(:,jsta),start=start,count=count) - endif - - end subroutine read_netcdf_2d_para diff --git a/sorc/ncep_post.fd/INITPOST_GFS_SIGIO.f b/sorc/ncep_post.fd/INITPOST_GFS_SIGIO.f deleted file mode 100644 index b8ab8755f2..0000000000 --- a/sorc/ncep_post.fd/INITPOST_GFS_SIGIO.f +++ /dev/null @@ -1,3062 +0,0 @@ -!> @file -! . . . -!> SUBPROGRAM: INITPOST INITIALIZE POST FOR RUN -!! PRGRMMR: Hui-Ya Chuang DATE: 2007-03-01 -!! -!! ABSTRACT: THIS ROUTINE INITIALIZES CONSTANTS AND -!! VARIABLES AT THE START OF AN ETA MODEL OR POST -!! PROCESSOR RUN. -!! -!! REVISION HISTORY -!! 2011-02-07 Jun Wang add grib2 option -!! 2013-04-19 Jun Wang add changes to read wam tracers -!! 2013-05-04 Shrinivas Moorthi: real * 8 for pm1d and pi1d and pt=100hPa and some cosmetic changes -!! 2021-03-11 Bo Cui change local arrays to dimension (im,jsta:jend) -!! -!! USAGE: CALL INIT -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! LOOKUP -!! SOILDEPTH -!! -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! - SUBROUTINE INITPOST_GFS_SIGIO(lusig,iunit,iostatusFlux,iostatusD3D,idrt,sighead) - - use vrbls3d, only: ZINT, PINT, T, UH, VH, Q, O3, CWM, U, V, QQW, & - OMGA, PMID, PINT, ALPINT, ZMID, QQR, QQS, QQI, Q2, & - CFR, RLWTT, RSWTT, TCUCN, TCUCNS, TRAIN, EL_PBL, & - EXCH_H, VDIFFTT, VDIFFMOIS, DCONVMOIS, SCONVMOIS, & - NRADTT, O3VDIFF, O3PROD, O3TNDY, MWPV, UNKNOWN, & - VDIFFZACCE, ZGDRAG, CNVCTUMMIXING, VDIFFMACCE, & - MGDRAG, CNVCTDETMFLX,NCNVCTCFRAC, CNVCTUMFLX, & - CNVCTVMMIXING, CNVCTDMFLX, CNVCTZGDRAG, CNVCTMGDRAG - - use vrbls2d, only: F, PD, FIS, PBLH, USTAR, Z0, THS, QS, TWBS, QWBS, & - AVGCPRATE, CPRATE, AVGPREC, PREC, SR, LSPA, SNO, SI, & - CLDEFI, TH10, Q10, TSHLTR, PSHLTR, QSHLTR, ALBASE, & - AVGALBEDO,AVGTCDC, CZEN, CZMEAN, MXSNAL, RADOT, & - SIGT4, VEGFRC, CFRACL, CFRACM, AVGCFRACH, CFRACH, & - AVGCFRACL, AVGCFRACM, CNVCFR, ISLOPE, CMC, GRNFLX, & - SOILTB, TG, NCFRCV, ACFRCV, ASWINTOA, ACFRST, NCFRST,& - SSROFF, BGROFF, RLWIN, RLWTOA, ALWIN, ALWOUT, ALWTOA,& - RSWIN, RSWINC, RSWOUT, ASWIN, AUVBIN, AUVBINC, & - ASWOUT, ASWTOA, ASWINC, ASWOUTC, ASWTOAC, ASWINTOA, & - AVISBEAMSWIN, AVISDIFFSWIN, AIRBEAMSWIN, AIRDIFFSWIN,& - SFCSHX, SFCLHX, SUBSHX, SNOPCX, SFCUX, SFCVX, SFCUVX,& - SFCUGS, GTAUX, SFCVGS, GTAUY, POTEVP, U10, V10, & - SMSTAV, SMSTOT, IVGTYP, ISLTYP, SFCEVP, SFCEXC, & - ACSNOW, ACSNOM, SST, QZ0, UZ0, VZ0, PTOP, HTOP, PBOT,& - HBOT, PBOT, PTOPL, PBOTL, TTOPL, PTOPM, PBOTM, TTOPM,& - PTOPH, PBOTH, TTOPH, PBLCFR, CLDWORK, RUNOFF, & - MAXTSHLTR, MINTSHLTR, DZICE, SMCWLT, SUNTIME, & - FIELDCAPA, SNOWFALL, HTOPD, HBOTD, HTOPS, HBOTS, & - CUPPT, THZ0, MAXRHSHLTR, MINRHSHLTR, U10H, V10H - use soil, only: SLDPTH, SH2O, SMC, STC - use masks, only: LMV, LMH, HTM, VTM, GDLAT, GDLON, DX, DY, HBM2, SM, SICE - use physcons_post, only: CON_G, CON_FVIRT, CON_RD, CON_EPS, CON_EPSM1 - use masks, only: LMV, LMH, HTM, VTM, GDLAT, GDLON, DX, DY, HBM2, & - SM, SICE - use params_mod, only: RTD, ERAD, DTR, TFRZ, P1000, CAPA - use lookup_mod, only: THL, PLQ, PTBL, TTBL, RDQ, RDTH, RDP, RDTHE, PL, & - QS0, SQS, STHE, THE0, TTBLQ, RDPQ, RDTHEQ, STHEQ, & - THE0Q - use ctlblk_mod, only: ME, MPI_COMM_COMP, ICNT, IDSP,JEND_M, IHRST, IMIN,& - IDAT, SDAT, IFHR, IFMIN, FILENAME, TPREC, TCLOD, & - TRDLW, TRDSW, TSRFC, TMAXMIN, TD3D, RESTRT, & - IMP_PHYSICS, DT, NUM_PROCS, LP1, PDTOP, SPVAL, PT,& - NPHS, DTQ2, ARDLW, ARDSW, ASRFC, AVRAIN, AVCNVC, & - THEAT, GDSDEGR, SPL, LSM, ALSL, IM, JM, IM_JM, & - LM, JSTA_2L, JEND_2U, NSOIL, JSTA, JEND, ICU_PHYSICS - use gridspec_mod, only: MAPTYPE, GRIDTYPE, LATSTART, LATLAST, LONSTART, & - LONLAST, CENLON, DXVAL, DYVAL, TRUELAT2, & - TRUELAT1, CENLAT - use rqstfld_mod, only: IGDS, AVBL, IQ, IS - use sigio_module, only: SIGIO_HEAD - use sfcio_module, only: sfcio_head, sfcio_data, sfcio_srohdc - use upp_physics, only: fpvsnew -! use wrf_io_flags_mod -!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none -! - type(sigio_head):: sighead - !type(sigio_data):: sigdatai - type(sfcio_head):: head - type(sfcio_data):: data -! -! INCLUDE/SET PARAMETERS. -! - INCLUDE "mpif.h" - integer,parameter:: MAXPTS=1000000 ! max im*jm points -! -! real,parameter:: con_g =9.80665e+0! gravity -! real,parameter:: con_rv =4.6150e+2 ! gas constant H2O -! real,parameter:: con_rd =2.8705e+2 ! gas constant air -! real,parameter:: con_fvirt =con_rv/con_rd-1. -! real,parameter:: con_eps =con_rd/con_rv -! real,parameter:: con_epsm1 =con_rd/con_rv-1 -! -! This version of INITPOST shows how to initialize, open, read from, and -! close a NetCDF dataset. In order to change it to read an internal (binary) -! dataset, do a global replacement of _ncd_ with _int_. - - integer,intent(in) :: lusig,iostatusFlux,iostatusD3D,iunit,idrt - character(len=20) :: VarName - character(len=20) :: VcoordName - integer :: Status - character startdate*19,SysDepInfo*80,cgar*1 - character startdate2(19)*4 -! -! NOTE: SOME INTEGER VARIABLES ARE READ INTO DUMMY ( A REAL ). THIS IS OK -! AS LONG AS REALS AND INTEGERS ARE THE SAME SIZE. -! -! ALSO, EXTRACT IS CALLED WITH DUMMY ( A REAL ) EVEN WHEN THE NUMBERS ARE -! INTEGERS - THIS IS OK AS LONG AS INTEGERS AND REALS ARE THE SAME SIZE. - LOGICAL RUNB,SINGLRST,SUBPOST,NEST,HYDRO - LOGICAL IOOMG,IOALL - logical, parameter :: debugprint = .false. -! logical, parameter :: debugprint = .true. - CHARACTER*32 LABEL - CHARACTER*40 CONTRL,FILALL,FILMST,FILTMP,FILTKE,FILUNV & - , FILCLD,FILRAD,FILSFC - CHARACTER*4 RESTHR - CHARACTER FNAME*255,ENVAR*50,sfcfilename*256 - INTEGER IDATE(8),JDATE(8) - INTEGER JPDS(200),JGDS(200),KPDS(200),KGDS(200) - LOGICAL*1 LB(IM,JM) - INTEGER IRET -! REAL BUFF(IM_JM) -! -! INCLUDE COMMON BLOCKS. -! -! DECLARE VARIABLES. -! -! REAL fhour - integer nfhour ! forecast hour from nems io file - REAL RINC(5) - REAL u1d(LM), v1d(LM),omga1d(lm) - real*8 pm1d(lm), pi1d(lm+1) - REAL DUM1D (LM+1) -! REAL DUMMY ( IM, JM ) -! REAL DUMMY2 ( IM, JM ) - REAL, ALLOCATABLE :: dummy_h(:,:),dummy_p(:,:),dummy_px(:,:), & - dummy_py(:,:),dummy_t(:,:,:),dummy_u(:,:,:),dummy_v(:,:,:), & - dummy_d(:,:,:),dummy_trc(:,:,:,:), dummy(:,:), dummy2(:,:) -! dummy18(:,:,:),dummy19(:,:,:) - REAL, ALLOCATABLE :: dummy15(:,:),dummy16(:,:),dummy17(:,:,:) - real, allocatable :: d2d(:,:), u2d(:,:), v2d(:,:), omga2d(:,:), & - p2d(:,:), t2d(:,:), q2d(:,:), qs2d(:,:), & - cw2d(:,:), cfr2d(:,:) - real*8, allocatable :: pm2d(:,:), pi2d(:,:) - real, allocatable :: fi(:,:,:) - -! INTEGER IDUMMY(IM,JM) -!jw - integer ii,jj,js,je,iyear,imn,iday,itmp,ioutcount,istatus, & - I,J,L,ll,k,kf,irtn,igdout,n,Index,nframe, & - impf,jmpf,nframed2,iunitd3d - real TSTART,TLMH,TSPH,ES, FACT,soilayert,soilayerb,zhour,dum - - real, allocatable:: glat1d(:),glon1d(:),qstl(:) - integer ierr,idum -! integer ntrac,nci,ij,ijl,j1,j2 - integer lsta,lend - integer ijmc,ijxc,kna,kxa,kma - real,allocatable :: ri(:),cpi(:) -! integer ibuf(im,jsta_2l:jend_2u) -! real buf(im,jsta_2l:jend_2u),bufsoil(im,nsoil,jsta_2l:jend_2u) - real buf(im,jsta_2l:jend_2u) - real, allocatable :: buf3d(:,:,:), ta(:,:,:,:), tb(:,:,:,:) - real, allocatable :: wrk1(:,:), wrk2(:,:) -! real buf3d(im,lm,jsta:jend) - real tem,tvll,pmll - integer levs,ntrac,ncld,idvt,jcap,lnt2,ntoz,ntcw,ltrc -! -! DATA BLANK/' '/ -! -!*********************************************************************** -! START INIT HERE. -! - if (me == 0) WRITE(6,*)'INITPOST: ENTER INITPOST_GFS_SIGIO' - WRITE(6,*)'me=',me,'LMV=',size(LMV,1),size(LMV,2),'LMH=', & - size(LMH,1),size(LMH,2),'jsta_2l=',jsta_2l,'jend_2u=', & - jend_2u,'im=',im -! -! -! STEP 1. READ MODEL OUTPUT FILE -! -! -!*** -! -! LMH always = LM for sigma-type vert coord -! LMV always = LM for sigma-type vert coord - -!$omp parallel do private(i,j) - do j = jsta_2l, jend_2u - do i = 1, im - LMV ( i, j ) = lm - LMH ( i, j ) = lm - end do - end do - -! write(0,*),' LM=',LM,' LP1=',LP1 - -! HTM VTM all 1 for sigma-type vert coord - -!$omp parallel do private(i,j,l) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - HTM ( i, j, l ) = 1.0 - VTM ( i, j, l ) = 1.0 - end do - end do - end do - - allocate (dummy(im,jm), dummy2(im,jm)) - -! The end j row is going to be jend_2u for all variables except for V. - JS = JSTA_2L - JE = JEND_2U -! get start date - if (me == 0)then - idate(1) = sighead%idate(4) - idate(2) = sighead%idate(2) - idate(3) = sighead%idate(3) - idate(4) = sighead%idate(1) - idate(5) = 0 - nfhour = nint(sighead%fhour) - - allocate(glat1d(jm),glon1d(jm)) - -! call splat to compute lat for gaussian grid - call splat(idrt,jm,glat1d,glon1d) - -!$omp parallel do private(i,j,tem) - do j=1,jm - tem = asin(glat1d(j))*RTD - do i=1,im - dummy(i,j) = tem - dummy2(i,j) = 360./im*(i-1) - end do - end do - deallocate(glat1d,glon1d) - - print*,'idate before broadcast = ',(idate(i),i=1,7) - end if - call mpi_bcast(idate(1),7,MPI_INTEGER,0,mpi_comm_comp,iret) - call mpi_bcast(nfhour,1,MPI_INTEGER,0,mpi_comm_comp,iret) - if (me == 0) then - print*,'idate after broadcast = ',(idate(i),i=1,4) - print*,'nfhour = ',nfhour - endif - -! sample print point - ii = im/2 - jj = jm/2 - - call mpi_scatterv(dummy(1,1),icnt,idsp,mpi_real & - ,gdlat(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,ierr) - call mpi_scatterv(dummy2(1,1),icnt,idsp,mpi_real & - ,gdlon(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,ierr) - - -! write(0,*)'before call EXCH,mype=',me,'max(gdlat)=',maxval(gdlat),& -! 'max(gdlon)=', maxval(gdlon) - - CALL EXCH(gdlat(1,JSTA_2L)) - - print *,'after call EXCH,mype=',me - -!$omp parallel do private(i,j) - do j = jsta, jend_m - do i = 1, im-1 - DX( i,j) = ERAD*COS(GDLAT(I,J)*DTR)*(GDLON(I+1,J)-GDLON(I,J))*DTR - DY(i,j) = ERAD*(GDLAT(I,J)-GDLAT(I,J+1))*DTR ! like A*DPH -! F(I,J)=1.454441e-4*sin(gdlat(i,j)*DTR) ! 2*omeg*sin(phi) - end do - end do - if (me == 0) print*,'sample LATLON, DY, DY=',ii,jend, & - GDLAT(II,JEND),GDLON(II,JEND),DX(II,JEND),DY(II,JEND) -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - F(I,J) = 1.454441e-4*sin(gdlat(i,j)*DTR) ! 2*omeg*sin(phi) - end do - end do - - impf = im - jmpf = jm - if (me == 0) print*,'impf,jmpf= ',impf,jmpf -!Moo print*,'impf,jmpf,nframe= ',impf,jmpf,nframe - -! iyear=idate(4)+2000 ! older gfsio only has 2 digit year - iyear = idate(1) - imn = idate(2) ! ask Jun - iday = idate(3) ! ask Jun - ihrst = idate(4) - imin = idate(5) - jdate = 0 - idate = 0 -! -! read(startdate,15)iyear,imn,iday,ihrst,imin - 15 format(i4,1x,i2,1x,i2,1x,i2,1x,i2) - if (me == 0) then - print*,'start yr mo day hr min =',iyear,imn,iday,ihrst,imin - print*,'processing yr mo day hr min=' & - ,idat(3),idat(1),idat(2),idat(4),idat(5) - endif -! - idate(1) = iyear - idate(2) = imn - idate(3) = iday - idate(5) = ihrst - idate(6) = imin - SDAT(1) = imn - SDAT(2) = iday - SDAT(3) = iyear - jdate(1) = idat(3) - jdate(2) = idat(1) - jdate(3) = idat(2) - jdate(5) = idat(4) - jdate(6) = idat(5) -! -! CALL W3DIFDAT(JDATE,IDATE,2,RINC) -! ifhr=nint(rinc(2)) -! - CALL W3DIFDAT(JDATE,IDATE,0,RINC) -! - ifhr = nint(rinc(2)+rinc(1)*24.) - ifmin = nint(rinc(3)) -! if(ifhr /= nint(fhour))print*,'find wrong Grib file';stop - if (me == 0) then - print *,' idate=',idate - print *,' rinc=',rinc - print *,' ifhr=',ifhr - print*,' in INITPOST ifhr ifmin fileName=',ifhr,ifmin,fileName - -! GFS has the same accumulation bucket for precipitation and fluxes and it is written to header -! the header has the start hour information so post uses it to recontruct bucket - tprec = 6. - if(ifhr>240)tprec=12. - tclod = tprec - trdlw = tprec - trdsw = tprec - tsrfc = tprec - tmaxmin = tprec - td3d = tprec - print*,'tprec = ',tprec - end if - - call mpi_bcast(tprec,1,MPI_REAL,0,mpi_comm_comp,iret) - call mpi_bcast(tclod,1,MPI_REAL,0,mpi_comm_comp,iret) - call mpi_bcast(trdlw,1,MPI_REAL,0,mpi_comm_comp,iret) - call mpi_bcast(trdsw,1,MPI_REAL,0,mpi_comm_comp,iret) - call mpi_bcast(tsrfc,1,MPI_REAL,0,mpi_comm_comp,iret) - call mpi_bcast(tmaxmin,1,MPI_REAL,0,mpi_comm_comp,iret) - call mpi_bcast(td3d,1,MPI_REAL,0,mpi_comm_comp,iret) - -! Getting tstart - tstart = 0. - - print*,'tstart= ',tstart - -! Getiing restart - - RESTRT=.TRUE. ! set RESTRT as default - - IF(tstart > 1.0E-2)THEN - ifhr = ifhr+NINT(tstart) - rinc = 0 - idate = 0 - rinc(2) = -1.0*ifhr - call w3movdat(rinc,jdate,idate) - SDAT(1) = idate(2) - SDAT(2) = idate(3) - SDAT(3) = idate(1) - IHRST = idate(5) - print*,'new forecast hours for restrt run= ',ifhr - print*,'new start yr mo day hr min =',sdat(3),sdat(1) & - ,sdat(2),ihrst,imin - END IF - - imp_physics = 99 !set GFS mp physics to 99 for Zhao scheme - iCU_PHYSICS = 4 - print*,'MP_PHYSICS=,cu_physics=',imp_physics,icu_physics - -! Initializes constants for Ferrier microphysics - if(imp_physics==5 .or. imp_physics==85 .or. imp_physics==95)then - CALL MICROINIT(imp_physics) - end if - -! waiting to retrieve lat lon infor from raw GFS output -! VarName='DX' - -! VarName='DY' - -! GFS does not need DT to compute accumulated fields, set it to one -! VarName='DT' - DT = 1 -! GFS does not need truelat -! VarName='TRUELAT1' - -! VarName='TRUELAT2' - -! Specify maptype=4 for Gaussian grid -! maptype=4 -! write(6,*) 'maptype is ', maptype -! HBM2 is most likely not in Grib message, set them to ones - HBM2 = 1.0 - -! try to get kgds from flux grib file and then convert to igds that is used by GRIBIT.f - - if(me == 0)then - jpds = -1.0 - jgds = -1.0 - igds = 0 - call getgb(iunit,0,im_jm,0,jpds,jgds,kf & - ,k,kpds,kgds,lb,dummy,ierr) - if(ierr == 0)then - call R63W72(KPDS,KGDS,JPDS,IGDS(1:18)) - print*,'use IGDS from flux file for GFS= ',(IGDS(I),I=1,18) - else - print*,'no flux file, fill part of kgds with sigma file info' - kgds(1) = idrt - kgds(2) = im - kgds(3) = jm - end if - end if - call mpi_bcast(igds(1),18,MPI_INTEGER,0,mpi_comm_comp,iret) - call mpi_bcast(kgds(1),18,MPI_INTEGER,0,mpi_comm_comp,iret) - print*,'IGDS for GFS= ',(IGDS(I),I=1,18) - -! Specigy grid type -! if(iostatusFlux==0)then - if(IGDS(4) /= 0)then - maptype = IGDS(3) - else if((im/2+1) == jm)then - maptype = 0 !latlon grid - else - maptype = 4 ! default gaussian grid - end if - gridtype = 'A' - - write(6,*) 'maptype and gridtype is ', maptype,gridtype - if(idrt /= maptype)then - print*,'flux file and sigma file are on different grids - ', & - 'post processing isterminated' - call mpi_abort() - stop - end if - - levs = sighead%levs - ntrac = sighead%ntrac - ncld = sighead%ncldt - idvt = sighead%idvt - jcap = sighead%jcap - lnt2 = (jcap+1)*(jcap+2) - ntoz = mod(idvt,10) + 1 -!jw ntcw = idvt/10 + 1 - if( idvt/100 > 0 ) then - ntcw = 3 - else - ntcw = idvt/10 + 1 - endif - -! start reading sigma file -! decompose l to read different levs with different pes - call mptgen(me,num_procs,1,1,lm,lsta,lend,kxa,kma,kna) - - write(0,*)' me=',me,' lsta=',lsta,' lend=',lend,' kxa=',kxa, & - ' kma=',kma,' kna=',kna - ii = im/2 - jj = (jsta+jend)/2 - - print*,'lsta, lend= ',lsta,lend - if (lsta > lend) lend = lsta - - allocate(dummy_h(im,jm),dummy_p(im,jm),dummy_px(im,jm),dummy_py(im,jm) & - ,dummy_t(im,jm,lsta:lend),dummy_u(im,jm,lsta:lend) & - ,dummy_v(im,jm,lsta:lend),dummy_d(im,jm,lsta:lend) & - ,dummy_trc(im,jm,lsta:lend,ntrac)) - -! ,dummy12(im,jm,lsta:lend), & -! dummy13(im,jm,lsta:lend),dummy14(im,jm,lsta:lend), & -! dummy18(im,jm,lsta:lend),dummy19(im,jm,lsta:lend) ) - - if (me == 0) then - print*,'calling rtsig with lusig,lsta,lend,im_jm,kgds= ', & - lusig,lsta,lend,im_jm,kgds(1:20) - - write(0,*)' levs=',levs,' ntrac=',ntrac,' ncld=',ncld,' jcap=',jcap & - ,' lnt2=',lnt2,' ntoz=',ntoz,' ntcw=',ntcw - endif - - call rtsig(lusig,sighead,lsta,lend,kgds,im_jm, & ! input - levs,ntrac,jcap,lnt2,me, & ! input - dummy_h,dummy_p,dummy_px,dummy_py, & ! output - dummy_t,dummy_u,dummy_v,dummy_d, & ! output - dummy_trc,iret) ! output - write(0,*)'aft rtsig,iret=',iret - - if(iret /= 0)then - print*,'error reading sigma file, stopping' - print*,'error massage is ',iret - call mpi_abort() - end if - - if(Debugprint)print*,'done with rtsig, sample t,u,v,q,cwm= ', & - dummy_t(1,1,lsta:lend), dummy_u(1,1,lsta:lend), & - dummy_v(1,1,lsta:lend), dummy_trc(1,1,lsta:lend,1), & - dummy_trc(1,1,lsta:lend,3),' lsta=',lsta,'lend=',lend -! write(0,*)'bf allocate ' - -! set threads for rest of the code -! call getenv('POST_THREADS',ENVAR) -! read(ENVAR, '(I2)')idum -! idum = max(idum+0,1) -! write(0,*)' post_threads=', idum -! if (idum > 0 .and. idum <= 32) then -! call OMP_SET_NUM_THREADS(idum) -! endif - -! scatter to pes - allocate(dummy15(im,jsta_2l:jend_2u), & - dummy16(im,jsta_2l:jend_2u),dummy17(im,jsta_2l:jend_2u,lm)) - -! write(0,*)'af allocate ' - -! call mpi_scatterv(dummy_h(1,1),icnt,idsp,mpi_real & -! ,zint(1,jsta,lp1),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) -! call mpi_scatterv(dummy_p(1,1),icnt,idsp,mpi_real & -! ,pint(1,jsta,lp1),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) -! call mpi_scatterv(dummy_px(1,1),icnt,idsp,mpi_real & -! ,dummy15(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) -! call mpi_scatterv(dummy_py(1,1),icnt,idsp,mpi_real & -! ,dummy16(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) - -!$omp parallel do private(i,j) - do j=jsta, jend - do i=1, im - zint(i,j,lp1) = dummy_h(i,j) - pint(i,j,lp1) = dummy_p(i,j) - dummy15(i,j) = dummy_px(i,j) - dummy16(i,j) = dummy_py(i,j) - enddo - enddo - deallocate (dummy_h,dummy_p,dummy_px,dummy_py) - - write(0,*)'one scattering zs and ps',zint(ii,jj,lp1),pint(ii,jj,lp1) - - - ijmc = (jm-1)/num_procs+1 - ijxc = jend-jsta+1 - - allocate (ta(im,ijmc,kma,num_procs)) - allocate (tb(im,ijmc,kma,num_procs)) - allocate (buf3d(im,lm,jsta:jend)) - -! write(0,*)'be mptranr4' - if(ijxc > ijmc) print*,'ijxc larger than ijmc =',ijxc,ijmc - call mptranr4(MPI_COMM_COMP,num_procs,im,im,im, & - ijmc,jm,ijxc,jm,kma,kxa,lm,lm,dummy_t,buf3d,ta,tb) -! write(0,*)'be set buf3d' -!$omp parallel do private(i,j,l,ll) - do l=1, lm - ll = lm-l+1 - do j=jsta, jend - do i=1, im - T(i,j,l) = buf3d(i,ll,j) - end do - end do - end do - if (debugprint) then - do l=1, lm - print*,'sample i,j,l, T = ',ii,jj,l,t(ii,jj,l) - enddo - endif - -! write(0,*)'be set uh' - call mptranr4(MPI_COMM_COMP,num_procs,im,im,im, & - ijmc,jm,ijxc,jm,kma,kxa,lm,lm,dummy_u,buf3d,ta,tb) -!$omp parallel do private(i,j,l,ll) - do l=1, lm - ll = lm-l+1 - do j=jsta, jend - do i=1, im - uh(i,j,l) = buf3d(i,ll,j) - end do - end do - end do - if (debugprint) then - do l=1, lm - print*,'sample i,j,l,U = ',ii,jj,l,uh(ii,jj,l) - enddo - endif - -! write(0,*)'be set vh' - call mptranr4(MPI_COMM_COMP,num_procs,im,im,im, & - ijmc,jm,ijxc,jm,kma,kxa,lm,lm,dummy_v,buf3d,ta,tb) -!$omp parallel do private(i,j,l,ll) - do l=1, lm - ll = lm-l+1 - do j=jsta, jend - do i=1, im - vh(i,j,l) = buf3d(i,ll,j) - end do - end do - end do - if (debugprint) then - do l=1, lm - print*,'sample i,j,l,V = ',ii,jj,l,vh(ii,jj,l) - enddo - endif -! - -! ltrc = min(lsta,levs) ! For processors greater than levs - -! write(0,*)'be set q' - call mptranr4(MPI_COMM_COMP,num_procs,im,im,im,ijmc,jm, & - ijxc,jm,kma,kxa,lm,lm,dummy_trc(1,1,lsta,1),buf3d,ta,tb) -!$omp parallel do private(i,j,l,ll) - do l=1, lm - ll = lm-l+1 - do j=jsta, jend - do i=1, im - q(i,j,l) = buf3d(i,ll,j) - end do - end do - end do - if (debugprint) then - do l=1, lm - print*,'sample i,j,l,Q = ',ii,jj,l,q(ii,jj,l) - enddo - endif - -! write(0,*)'be set o3' - call mptranr4(MPI_COMM_COMP,num_procs,im,im,im,ijmc,jm, & - ijxc,jm,kma,kxa,lm,lm,dummy_trc(1,1,lsta,ntoz),buf3d,ta,tb) -!$omp parallel do private(i,j,l,ll) - do l=1, lm - ll = lm-l+1 - do j=jsta, jend - do i=1, im - o3(i,j,l) = buf3d (i,ll,j) - end do - end do - end do - if (debugprint) then - do l=1, lm - print*,'sample i,j,l,O3 = ',ii,jj,l,o3(ii,jj,l) - enddo - endif - -! write(0,*)'be set cld,ntcw=',ntcw - call mptranr4(MPI_COMM_COMP,num_procs,im,im,im,ijmc,jm, & - ijxc,jm,kma,kxa,lm,lm,dummy_trc(1,1,lsta,ntcw),buf3d,ta,tb) -! write(0,*)'aft mptranr4 cwm' -!$omp parallel do private(i,j,l,ll) - do l=1, lm - ll = lm-l+1 - do j=jsta, jend - do i=1, im - cwm(i,j,l ) = buf3d (i,ll,j) - end do - end do - end do - if (debugprint) then - do l=1, lm - print*,'sample i,j,l,CWM = ',ii,jj,l,cwm(ii,jj,l) - enddo - endif -! write(0,*)' cwm=',cwm(1,36,100:150)*1000 - -! write(0,*)'be set div' - call mptranr4(MPI_COMM_COMP,num_procs,im,im,im, & - ijmc,jm,ijxc,jm,kma,kxa,lm,lm,dummy_d,buf3d,ta,tb) -!$omp parallel do private(i,j,l) - do l=1, lm - do j=jsta, jend - do i=1, im - dummy17(i,j,l ) = buf3d(i,l,j) - end do - end do - end do - if (debugprint) then - do l=1, lm - print*,'sample i,j,l,DIV = ',ii,jj,l,dummy17(ii,jj,l) - enddo - endif - - deallocate(dummy_t,dummy_u,dummy_v,dummy_d,dummy_trc,ta,tb,buf3d) -! dummy18,dummy19) - -!$omp parallel do private(i,j,l) - do l=1,lm -! if(debugprint)print*,'sample T Q U V,CWM',l,VarName,' = ',l,t(ii,jj,l),& -! q(ii,jj,l),u(ii,jj,l),v(ii,jj,l),cwm(ii,jj,l) - do j=jsta,jend - do i=1,im - if(t(i,j,l) < (TFRZ-15.) ) then ! separating cloud water from ice - qqi(i,j,l) = cwm(i,j,l) - else - qqw(i,j,l) = cwm(i,j,l) - end if - end do - end do - end do ! for l loop - -! write(0,*)'be set qqi' -! write(0,*)' qqw=',qqw(1,36,100:150) -! write(0,*)' qqi=',qqi(1,36,100:150) - -! compute model level pressure and omega - - pdtop = spval -! pt = 0. - pt = 10000. ! this is for 100 hPa added by Moorthi - pd = spval ! GFS does not output PD - - allocate (d2d(im,lm),u2d(im,lm),v2d(im,lm),pi2d(im,lm+1), & - pm2d(im,lm),omga2d(im,lm)) - - do j=jsta,jend -!$omp parallel do private(i,l,ll) - do l=1,lm - ll = lm-l+1 - do i=1,im - u2d(i,l) = uh(i,j,ll) ! flipping u and v for calling modstuff - v2d(i,l) = vh(i,j,ll) - d2d(i,l) = dummy17(i,j,l) - end do - end do - call modstuff2(im,im,lm, & - sighead%idvc,sighead%idsl,sighead%nvcoord, & - sighead%vcoord,pint(1,j,lp1),dummy15(1,j), & - dummy16(1,j),d2d,u2d,v2d, & - pi2d,pm2d,omga2d,me) -!$omp parallel do private(i,l,ll) - do l=1,lm - ll = lm-l+1 - do i=1,im - omga(i,j,l) = omga2d(i,ll) - pmid(i,j,l) = pm2d(i,ll) - pint(i,j,l) = pi2d(i,ll+1) - enddo - enddo - enddo ! end of j loop -! write(0,*)'be set pint' - -! write(0,*)' PINT=',pint(ii,jj,:),' me=',me - - deallocate(dummy15,dummy16,dummy17) - deallocate (d2d,u2d,v2d,pi2d,pm2d,omga2d) - - allocate(wrk1(im,jsta:jend),wrk2(im,jsta:jend)) - allocate(fi(im,jsta:jend,2)) - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - alpint(i,j,lp1) = log(pint(i,j,lp1)) - wrk1(i,j) = log(PMID(I,J,LM)) - wrk2(i,j) = T(I,J,LM)*(Q(I,J,LM)*con_fvirt+1.0) - fis(i,j) = zint(i,j,lp1)*con_G - FI(I,J,1) = FIS(I,J) & - + wrk2(i,j)*con_rd*(ALPINT(I,J,Lp1)-wrk1(i,j)) - ZMID(I,J,LM) = FI(I,J,1)/con_G - enddo - enddo -! write(0,*)'be set zmid' - -! SECOND, INTEGRATE HEIGHT HYDROSTATICLY, GFS integrate height on mid-layer - ii = im/2 - jj = (jsta+jend)/2 - - DO L=LM,2,-1 ! omit computing model top height because it's infinity - ll = l - 1 -!$omp parallel do private(i,j,tvll,pmll,fact) - do j = jsta, jend -! write(0,*)' j=',j,' l=',l,' T=',T(1,j,l),' Q=',q(1,j,l), & -! ' pmid=',pmid(1,j,ll),pmid(1,j,l),' l=',l - do i = 1, im - -! if (me == 40) & -! write(0,*)' i=',i,' j=',j,' l=',l,' T=',T(i,j,l),' Q=',q(i,j,l),& -! ' pmid=',pmid(i,j,ll),pmid(i,j,l),' l=',l - - alpint(i,j,l) = log(pint(i,j,l)) - tvll = T(I,J,LL)*(Q(I,J,LL)*con_fvirt+1.0) - pmll = log(PMID(I,J,LL)) - - FI(I,J,2) = FI(I,J,1) + (0.5*con_rd)*(wrk2(i,j)+tvll) & - * (wrk1(i,j)-pmll) - ZMID(I,J,LL) = FI(I,J,2)/con_G -! - FACT = (ALPINT(I,J,L)-wrk1(i,j)) / (pmll-wrk1(i,j)) - ZINT(I,J,L) = ZMID(I,J,L) + (ZMID(I,J,LL)-ZMID(I,J,L)) * FACT - -! if(i==ii.and.j==jj) & -! print*,'L,sample T,Q,ALPMID(L+1),ALPMID(L),ZMID= ' & -! ,l,T(I,J,L),Q(I,J,L),LOG(PMID(I,J,L+1)), & -! LOG(PMID(I,J,L)),ZMID(I,J,L) - - FI(I,J,1) = FI(I,J,2) - wrk1(i,J) = pmll - wrk2(i,j) = tvll - ENDDO - ENDDO - - if (me == 0) print*,'L ZINT= ',l,zint(ii,jj,l), & - 'alpint=',ALPINT(ii,jj,l),'pmid=',LOG(PMID(Ii,Jj,L)),'pmid(l-1)=', & - LOG(PMID(Ii,Jj,L-1)),'zmd=',ZMID(Ii,Jj,L),'zmid(l-1)=',ZMID(Ii,Jj,L-1) - ENDDO - deallocate(wrk1,wrk2,fi) - -! write(0,*)'af sigma file' -! start retrieving data using getgb, first land/sea mask - - Index = 50 - VarName = avbl(index) - jpds = -1 - jgds = -1 - jpds(5) = iq(index) - jpds(6) = is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,sm) - where(sm /= spval) sm = 1.0 - sm ! convert to sea mask -! write(0,*)'get land-see mask' - - if(debugprint)print*,'sample ',VarName,' = ',sm(im/2,(jsta+jend)/2) - -! sea ice mask using getgb - Index = 51 - VarName = avbl(index) - jpds = -1.0 - jgds = -1.0 - jpds(5) = iq(index) - jpds(6) = is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,sice) - where(sm/=spval .and. sm==0.0) sice = 0.0 !specify sea ice=0 at land - - if(debugprint)print*,'sample ',VarName,' = ',sice(im/2,(jsta+jend)/2) - -! Zhao scheme does not produce suspended rain and snow - qqr = 0. - qqs = 0. - -! PBL height using getgb - Index = 221 - VarName = avbl(index) - jpds = -1.0 - jgds = -1.0 - jpds(5) = iq(index) - jpds(6) = is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,pblh) - - if(debugprint)print*,'sample ',VarName,' = ',pblh(im/2,(jsta+jend)/2) - -! frictional velocity using getgb - Index=45 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,ustar) - if(debugprint)print*,'sample ',VarName,' = ',ustar(im/2,(jsta+jend)/2) - -! roughness length using getgb - Index=44 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,z0) - if(debugprint)print*,'sample ',VarName,' = ',z0(im/2,(jsta+jend)/2) - -! surface potential T using getgb - Index=26 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,ths) - - -! where(ths/=spval)ths=ths*(p1000/pint(:,:,lp1))**CAPA ! convert to THS - -!$omp parallel do private(i,j) - do j=jsta,jend - do i=1,im - if (ths(i,j) /= spval) then -! write(0,*)' i=',i,' j=',j,' ths=',ths(i,j),' pint=',pint(i,j,lp1) - ths(i,j) = ths(i,j) * (p1000/pint(i,j,lp1))**capa - endif - enddo - enddo - - if(debugprint)print*,'sample ',VarName,' = ',ths(im/2,(jsta+jend)/2) - - QS = SPVAL ! GFS does not have surface specific humidity - twbs = SPVAL ! GFS does not have inst sensible heat flux - qwbs = SPVAL ! GFS does not have inst latent heat flux - -! GFS does not have time step and physics time step, make up ones since they -! are not really used anyway - NPHS = 2. - DT = 80. - DTQ2 = DT * NPHS !MEB need to get physics DT - TSPH = 3600./DT !MEB need to get DT - -! convective precip in m per physics time step using getgb - Index=272 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) -! jpds(16)=3 ! CFSRR uses 1 for fhr>1532 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,avgcprate) - where(avgcprate /= spval)avgcprate=avgcprate*dtq2/1000. ! convert to m - if(debugprint)print*,'sample ',VarName,' = ',avgcprate(im/2,(jsta+jend)/2) - - cprate=avgcprate - -! construct tprec from flux grib massage -! comment this out because you can't get precip bucket from flux file -! if(me==0 .and. iostatusFlux==0)then -! if(kpds(16)==3)then ! Grib1 can't specify accumulated field fhr>1532 -! if(KPDS(13)==1)then -! TPREC=float(KPDS(15)-KPDS(14)) -! else if(KPDS(13)==10)then -! TPREC=float(KPDS(15)-KPDS(14))*3.0 -! else if(KPDS(13)==11)then -! TPREC=float(KPDS(15)-KPDS(14))*6.0 -! else if(KPDS(13)==12)then -! TPREC=float(KPDS(15)-KPDS(14))*12.0 -! else if(KPDS(13)==2)then -! TPREC=float(KPDS(15)-KPDS(14))*24.0 -! else -! TPREC=float(KPDS(15)-KPDS(14)) -! end if -! else -! CALL GETENV('FHZER',ENVAR) -! read(ENVAR, '(I2)')idum -! tprec = idum * 1.0 -! print*,'TPREC from FHZER= ',tprec -! end if -! end if -! call mpi_bcast(tprec,1,MPI_REAL,0,mpi_comm_comp,iret) - -! precip rate in m per physics time step using getgb - Index=271 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,avgprec) - where(avgprec /= spval) avgprec = avgprec*dtq2/1000. ! convert to m - - if(debugprint)print*,'sample ',VarName,' = ',avgprec(im/2,(jsta+jend)/2) - -! inst precip rate in m per physics time step using sfcio - if(me==0)then - call getenv('SFCINPUT',sfcfilename) - print*,'opening sfcfile to read',sfcfilename - call sfcio_srohdc(35,sfcfilename,head,data,iret) - if(iret /=0 )then - print*,'fail to read ',sfcfilename - dummy = spval - dummy2 = spval - else - dummy = data%tprcp - print '(f8.2)',dummy(1,1) -! dummy2 = data%srflag - end if - end if - - call mpi_scatterv(dummy(1,1),icnt,idsp,mpi_real & - ,prec(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) - - print*,'sampe inst precip= ',prec(im/2,jsta) - - where(prec /= spval) prec = prec*dtq2/1000. ! convert to m - -! call mpi_scatterv(dummy2(1,1),icnt,idsp,mpi_real & -! ,sr(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) -! print*,'sampe GFS sr= ',sr(im/2,jsta) - - deallocate(dummy2) -! prec=avgprec !set avg cprate to inst one to derive other fields - -! GFS does not have accumulated total, gridscale, and convective precip, will use inst precip to derive in SURFCE.f - - - lspa = spval ! GFS does not have similated precip - -! inst snow water eqivalent using getgb - Index=119 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,sno) - - if(debugprint)print*,'sample ',VarName,' = ',sno(im/2,(jsta+jend)/2) - -! snow depth in mm using getgb - Index=224 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,si) - where(si /= spval) si = si*1000. ! convert to mm - - if(debugprint)print*,'sample ',VarName,' = ',si(im/2,(jsta+jend)/2) - - CLDEFI = SPVAL ! GFS does not have convective cloud efficiency - TH10 = SPVAL ! GFS does not have 10 m theta - Q10 = SPVAL ! GFS does not have 10 m humidity - -! 2m T using nemsio - Index=106 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=2 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,tshltr) - if(debugprint)print*,'sample ',VarName,' = ',tshltr(im/2,(jsta+jend)/2) - -! GFS does not have 2m pres, estimate it, also convert t to theta -!$omp parallel do private(i,j) - Do j=jsta,jend - Do i=1,im - if(tshltr(i,j) /= spval)then - -! if (me == 127) write(0,*)' i=',i,' j=',j,' tshltr=',tshltr(i,j) & -! ,' pint=',pint(I,J,lm+1) - - PSHLTR(I,J) = pint(I,J,lm+1)*EXP(-0.068283/tshltr(i,j)) - tshltr(i,j) = tshltr(i,j)*(p1000/PSHLTR(I,J))**CAPA ! convert to theta - else - PSHLTR(I,J) = spval - end if -! if (j==jm/2 .and. mod(i,50)==0) -! + print*,'sample 2m T and P after scatter= ' -! + ,i,j,tshltr(i,j),pshltr(i,j) - end do - end do - -! 2m specific humidity using gfsio -! VarName='spfh' -! VcoordName='2m above gnc' -! l=1 -! if(me == 0)then -! call gfsio_readrecvw34(gfile,trim(VarName),trim(VcoordName) & -! + ,l,dummy,iret=iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! dummy=spval -! end if -! end if -! call mpi_scatterv(dummy,icnt,idsp,mpi_real & -! + ,qshltr(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) -! if (iret /= 0)print*,'Error scattering array';stop - -! 2m specific humidity using nemsio - Index=112 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,qshltr) - if(debugprint)print*,'sample ',VarName,' = ',qshltr(im/2,(jsta+jend)/2) - - Q2 = SPVAL ! GFS does not have TKE because it uses GFS scheme - ! GFS does not have surface exchange coeff - ALBASE = SPVAL ! GFS does not have snow free albedo - -! mid day avg albedo in fraction using nemsio - Index=266 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,avgalbedo) - where(avgalbedo /= spval)avgalbedo=avgalbedo/100. ! convert to fraction - if(debugprint)print*,'sample ',VarName,' = ',avgalbedo(im/2,(jsta+jend)/2) - -! time averaged column cloud fractionusing nemsio - Index=144 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,avgtcdc) - where(avgtcdc /= spval)avgtcdc=avgtcdc/100. ! convert to fraction - if(debugprint)print*,'sample ',VarName,' = ',avgtcdc(im/2,(jsta+jend)/2) - -! if(me==0 .and. iostatusFlux==0)then -! if(KPDS(13)==1)then -! TCLOD=float(KPDS(15)-KPDS(14)) -! else if(KPDS(13)==10)then -! TCLOD=float(KPDS(15)-KPDS(14))*3.0 -! else if(KPDS(13)==11)then -! TCLOD=float(KPDS(15)-KPDS(14))*6.0 -! else if(KPDS(13)==12)then -! TCLOD=float(KPDS(15)-KPDS(14))*12.0 -! else if(KPDS(13)==2)then -! TCLOD=float(KPDS(15)-KPDS(14))*24.0 -! else -! TCLOD=float(KPDS(15)-KPDS(14)) -! end if -! end if -! call mpi_bcast(tclod,1,MPI_REAL,0,mpi_comm_comp,iret) -! print*,'TCLOD from flux grib massage= ',TCLOD - - Czen = spval ! GFS probably does not use zenith angle (What???) - CZMEAN = SPVAL - -! maximum snow albedo in fraction using nemsio - Index=227 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,mxsnal) - where(mxsnal /= spval)mxsnal=mxsnal/100. ! convert to fraction - if(debugprint)print*,'sample ',VarName,' = ',mxsnal(im/2,(jsta+jend)/2) - - radot = spval ! GFS does not have inst surface outgoing longwave - -! GFS probably does not use sigt4, set it to sig*t^4 -!$omp parallel do private(i,j,tlmh) - Do j=jsta,jend - Do i=1,im - TLMH = T(I,J,LM) - Sigt4(I,j) = 5.67E-8*TLMH*TLMH*TLMH*TLMH - End do - End do - -! TG is not used, skip it for now -! allocate(qstl(lm)) - allocate(p2d(im,lm),t2d(im,lm),q2d(im,lm),cw2d(im,lm), & - qs2d(im,lm),cfr2d(im,lm)) - do j=jsta,jend -!$omp parallel do private(i,k,es) - do k=1,lm - do i=1,im - p2d(i,k) = pmid(i,j,k)*0.01 - t2d(i,k) = t(i,j,k) - q2d(i,k) = q(i,j,k) - cw2d(i,k) = cwm(i,j,k) - es = min(fpvsnew(t(i,j,k)),pmid(i,j,k)) - qs2d(i,k) = con_eps*es/(pmid(i,j,k)+con_epsm1*es)!saturation q for GFS - enddo - enddo - call progcld1 & -!................................... -! --- inputs: - ( p2d,t2d,q2d,qs2d,cw2d,im,lm,0, & -! --- outputs: - cfr2d & - ) -!$omp parallel do private(i,k) - do k=1,lm - do i=1,im - cfr(i,j,k) = cfr2d(i,k) - enddo - end do - end do - deallocate(p2d,t2d,q2d,qs2d,cw2d,cfr2d) - -! ask moorthi if there is snow rate in GFS -! varname='SR' -! call retrieve_index(index,VarName,varname_all,nrecs,iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! SR=SPVAL -! else -! this_offset=file_offset(index+1)+(jsta_2l-1)*4*im -! this_length=im*(jend_2u-jsta_2l+1) -! call mpi_file_read_at(iunit,this_offset -! + ,sr,this_length,mpi_real4 -! + , mpi_status_ignore, ierr) -! if (ierr /= 0) then -! print*,"Error reading ", VarName,"Assigned missing values" -! SR=SPVAL -! end if -! end if - -! GFS does not have inst cloud fraction for high, middle, and low cloud - cfrach = spval - cfracl = spval - cfracm = spval - -! ave high cloud fraction using nemsio - Index=302 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,avgcfrach) - where(avgcfrach /= spval)avgcfrach=avgcfrach/100. ! convert to fraction - - if(debugprint)print*,'sample ',VarName,' = ',avgcfrach(im/2,(jsta+jend)/2) - -! ave low cloud fraction using nemsio - VarName='tcdc' - Index=300 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,avgcfracl) - where(avgcfracl /= spval)avgcfracl=avgcfracl/100. ! convert to fraction - if(debugprint)print*,'sample ',VarName,' = ',avgcfracl(im/2,(jsta+jend)/2) - -! ave middle cloud fraction using nemsio - VarName='tcdc' - VcoordName='mid cld lay' - Index=301 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,avgcfracm) - where(avgcfracm /= spval)avgcfracm=avgcfracm/100. ! convert to fraction - if(debugprint)print*,'sample ',VarName,' = ',avgcfracm(im/2,(jsta+jend)/2) - -! inst convective cloud fraction using nemsio - VarName='tcdc' - VcoordName='convect-cld laye' - Index=196 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=71 - jpds(6)=244 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvcfr) - where(cnvcfr /= spval)cnvcfr=cnvcfr/100. ! convert to fraction - if(debugprint)print*,'sample ',VarName,' = ',cnvcfr(im/2,(jsta+jend)/2) - -! slope type using nemsio - Index=223 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,buf) - where(buf /= spval)islope=nint(buf) - if(debugprint)print*,'sample ',VarName,' = ',islope(im/2,(jsta+jend)/2) - -! plant canopy sfc wtr in m using nemsio - VarName='cnwat' - VcoordName='sfc' - Index=118 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cmc) - where(cmc /= spval)cmc=cmc/1000. ! convert from kg*m^2 to m - if(debugprint)print*,'sample ',VarName,' = ',cmc(im/2,(jsta+jend)/2) - - grnflx = spval ! GFS does not have inst ground heat flux - -! GFS does not have snow cover yet -! VarName='gflux' -! VcoordName='sfc' -! l=1 -! if(me == 0)then -! call gfsio_readrecvw34(gfile,trim(VarName),trim(VcoordName) & -! + ,l,dummy,iret=iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! dummy=spval -! end if -! end if -! call mpi_scatterv(dummy,icnt,idsp,mpi_real & -! + , pctsno(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) -! if (iret /= 0)print*,'Error scattering array';stop - - soiltb = spval - tg = spval -! vegetation fraction in fraction. using nemsio - VarName='veg' - VcoordName='sfc' - Index=170 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,vegfrc) - where(vegfrc /= spval) - vegfrc = vegfrc/100. ! convert to fraction - elsewhere (vegfrc == spval) - vegfrc = 0. ! set to zero to be reasonable input for crtm - end where - if(debugprint)print*,'sample ',VarName,' = ',vegfrc(im/2,(jsta+jend)/2) - -! GFS doesn not yet output soil layer thickness, assign SLDPTH to be the same as nam - - SLDPTH(1) = 0.10 - SLDPTH(2) = 0.3 - SLDPTH(3) = 0.6 - SLDPTH(4) = 1.0 - -! liquid volumetric soil mpisture in fraction using nemsio - VarName='soill' - VcoordName='0-10 cm down' - Index=225 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - do l=1,nsoil - if(l == 1)then - jpds(7)=nint(sldpth(1)*100.) - else - soilayert=0 - do n=1,l-1 - soilayert=soilayert+sldpth(n)*100. - end do - soilayerb=soilayert+sldpth(l)*100. - jpds(7)=nint(soilayert*256.+soilayerb) - end if - - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,sh2o(1,jsta_2l,l)) - if(debugprint)print*,'sample l',VarName,' = ',l,sh2o(im/2,(jsta+jend)/2,1) - End do ! do loop for l - -! volumetric soil moisture using nemsio - VarName='soilw' - VcoordName='0-10 cm down' - Index=117 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - do l=1,nsoil - if(l == 1)then - jpds(7)=nint(sldpth(1)*100.) - else - soilayert=0 - do n=1,l-1 - soilayert=soilayert+sldpth(n)*100. - end do - soilayerb=soilayert+sldpth(l)*100. - jpds(7)=nint(soilayert*256.+soilayerb) - end if - - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,smc(1,jsta_2l,l)) - if(debugprint)print*,'sample l',VarName,' = ',l,smc(im/2,(jsta+jend)/2,1) - End do ! do loop for l - -! soil temperature using nemsio - VarName='tmp' - VcoordName='0-10 cm down' - Index=116 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=11 ! GFS used 11 for soil T instead of 85 - jpds(6)=is(index) - do l=1,nsoil - if(l == 1)then - jpds(7)=nint(sldpth(1)*100.) - else - soilayert=0 - do n=1,l-1 - soilayert=soilayert+sldpth(n)*100. - end do - soilayerb=soilayert+sldpth(l)*100. - jpds(7)=nint(soilayert*256.+soilayerb) - end if - - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,stc(1,jsta_2l,l)) - - if(debugprint)print*,'sample l','stc',' = ',1,stc(im/2,(jsta+jend)/2,1) - End do ! do loop for l - -! GFS does not output time averaged convective and strat cloud fraction, set acfrcv to spval, ncfrcv to 1 - acfrcv = spval - ncfrcv = 1.0 -! GFS does not output time averaged cloud fraction, set acfrst to spval, ncfrst to 1 - acfrst = spval - ncfrst = 1.0 - -! GFS does not have storm runoff - ssroff = spval - -! GFS does not have UNDERGROUND RUNOFF - bgroff = spval - -! GFS incoming sfc longwave has been averaged over 6 hr bucket, set ARDLW to 1 - ardlw = 1.0 -! trdlw=6.0 - -! GFS does not have inst incoming sfc longwave - rlwin = spval - -! GFS does not have inst model top outgoing longwave - rlwtoa = spval - -! time averaged incoming sfc longwave using nemsio - VarName='dlwrf' - VcoordName='sfc' - Index=127 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,alwin) - -! if(me==0 .and. iostatusFlux==0)then -! if(KPDS(13)==1)then -! TRDLW=float(KPDS(15)-KPDS(14)) -! else if(KPDS(13)==10)then -! TRDLW=float(KPDS(15)-KPDS(14))*3.0 -! else if(KPDS(13)==11)then -! TRDLW=float(KPDS(15)-KPDS(14))*6.0 -! else if(KPDS(13)==12)then -! TRDLW=float(KPDS(15)-KPDS(14))*12.0 -! else if(KPDS(13)==2)then -! TRDLW=float(KPDS(15)-KPDS(14))*24.0 -! else -! TRDLW=float(KPDS(15)-KPDS(14)) -! end if -! end if -! call mpi_bcast(TRDLW,1,MPI_REAL,0,mpi_comm_comp,iret) -! print*,'TRDLW from flux grib massage= ',TRDLW - -! time averaged outgoing sfc longwave using gfsio - VarName='ulwrf' - VcoordName='sfc' - Index=129 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,alwout) - where(alwout /= spval) alwout=-alwout ! CLDRAD puts a minus sign before gribbing - if(debugprint)print*,'sample l',VarName,' = ',1,alwout(im/2,(jsta+jend)/2) - -! time averaged outgoing model top longwave using gfsio - VarName='ulwrf' - VcoordName='nom. top' - Index=131 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,alwtoa) - if(debugprint)print*,'sample l',VarName,' = ',1,alwtoa(im/2,(jsta+jend)/2) - -! GFS does not have inst incoming sfc shortwave - rswin = spval - -! GFS does not have inst incoming clear sky sfc shortwave - rswinc = spval - -! GFS does not have inst outgoing sfc shortwave - rswout = spval - -! GFS incoming sfc longwave has been averaged, set ARDLW to 1 - ardsw = 1.0 -! trdsw=6.0 - -! time averaged incoming sfc shortwave using gfsio - Index=126 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,aswin) - if(debugprint)print*,'sample l',VarName,' = ',1,aswin(im/2,(jsta+jend)/2) - -! if(me==0 .and. iostatusFlux==0)then -! if(KPDS(13)==1)then -! TRDSW=float(KPDS(15)-KPDS(14)) -! else if(KPDS(13)==10)then -! TRDSW=float(KPDS(15)-KPDS(14))*3.0 -! else if(KPDS(13)==11)then -! TRDSW=float(KPDS(15)-KPDS(14))*6.0 -! else if(KPDS(13)==12)then -! TRDSW=float(KPDS(15)-KPDS(14))*12.0 -! else if(KPDS(13)==2)then -! TRDSW=float(KPDS(15)-KPDS(14))*24.0 -! else -! TRDSW=float(KPDS(15)-KPDS(14)) -! end if -! end if -! call mpi_bcast(trdsw,1,MPI_REAL,0,mpi_comm_comp,iret) -! print*,'TRDSW from flux grib massage= ',trdsw - -! time averaged incoming sfc uv-b using getgb - VarName='duvb' - VcoordName='sfc' - Index=298 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,auvbin) - if(debugprint)print*,'sample l',VarName,' = ',1,auvbin(im/2,(jsta+jend)/2) - -! time averaged incoming sfc clear sky uv-b using getgb - VarName='cduvb' - VcoordName='sfc' - Index=297 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,auvbinc) - if(debugprint)print*,'sample l',VarName,' = ',1,auvbinc(im/2,(jsta+jend)/2) - -! time averaged outgoing sfc shortwave using gfsio - VarName='uswrf' - VcoordName='sfc' - Index=128 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,aswout) - where(aswout /= spval) aswout=-aswout ! CLDRAD puts a minus sign before gribbing - if(debugprint)print*,'sample l',VarName,' = ',1,aswout(im/2,(jsta+jend)/2) - -! time averaged model top outgoing shortwave - VarName='uswrf' - VcoordName='nom. top' - Index=130 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,aswtoa) - if(debugprint)print*,'sample l',VarName,' = ',1,aswtoa(im/2,(jsta+jend)/2) - -! time averaged incoming clear sky sfc shortwave using getgb - Index=383 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - jpds(13)=3 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,aswinc) - -! time averaged outgoing clear sky sfc shortwave using getgb - Index=386 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - jpds(13)=3 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,aswoutc) - -! time averaged outgoing clear sky toa shortwave using getgb - Index=387 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - jpds(13)=3 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,aswtoac) - -! time averaged model top incoming shortwave - Index=388 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,aswintoa) - -! time averaged surface visible beam downward solar flux - Index=401 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,avisbeamswin) - -! time averaged surface visible diffuse downward solar flux - Index=402 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,avisdiffswin) - -! time averaged surface near IR beam downward solar flux - Index=403 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,airbeamswin) - -! time averaged surface near IR diffuse downward solar flux - Index=404 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,airdiffswin) - -! time averaged surface sensible heat flux, multiplied by -1 because wrf model flux -! has reversed sign convention using gfsio - VarName='shtfl' - VcoordName='sfc' - Index=43 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,sfcshx) - where (sfcshx /= spval)sfcshx=-sfcshx - if(debugprint)print*,'sample l',VarName,' = ',1,sfcshx(im/2,(jsta+jend)/2) - -! if(me==0 .and. iostatusFlux==0)then -! if(KPDS(13)==1)then -! TSRFC=float(KPDS(15)-KPDS(14)) -! else if(KPDS(13)==10)then -! TSRFC=float(KPDS(15)-KPDS(14))*3.0 -! else if(KPDS(13)==11)then -! TSRFC=float(KPDS(15)-KPDS(14))*6.0 -! else if(KPDS(13)==12)then -! TSRFC=float(KPDS(15)-KPDS(14))*12.0 -! else if(KPDS(13)==2)then -! TSRFC=float(KPDS(15)-KPDS(14))*24.0 -! else -! TSRFC=float(KPDS(15)-KPDS(14)) -! end if -! end if -! call mpi_bcast(tsrfc,1,MPI_REAL,0,mpi_comm_comp,iret) -! print*,'TSRFC from flux grib massage= ',tsrfc - -! GFS surface flux has been averaged, set ASRFC to 1 - asrfc=1.0 -! tsrfc=6.0 - -! time averaged surface latent heat flux, multiplied by -1 because wrf model flux -! has reversed sign vonvention using gfsio - Index=42 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,sfclhx) - where (sfclhx /= spval)sfclhx=-sfclhx - if(debugprint)print*,'sample l',VarName,' = ',1,sfclhx(im/2,(jsta+jend)/2) - -! time averaged ground heat flux using nemsio - VarName='gflux' - VcoordName='sfc' - Index=135 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,subshx) - if(debugprint)print*,'sample l',VarName,' = ',1,subshx(im/2,(jsta+jend)/2) - -! GFS does not have snow phase change heat flux - snopcx=spval - -! time averaged zonal momentum flux using gfsio - VarName='uflx' - VcoordName='sfc' - Index=269 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,sfcux) - if(debugprint)print*,'sample l',VarName,' = ',1,sfcux(im/2,(jsta+jend)/2) - -! time averaged meridional momentum flux using nemsio - VarName='vflx' - VcoordName='sfc' - Index=270 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,sfcvx) - if(debugprint)print*,'sample l',VarName,' = ',1,sfcvx(im/2,(jsta+jend)/2) - -! GFS does not use total momentum flux - sfcuvx=spval - -! time averaged zonal gravity wave stress using nemsio - VarName='u-gwd' - VcoordName='sfc' - Index=315 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,sfcugs) - gtaux=sfcugs - if(debugprint)print*,'sample l',VarName,' = ',1,gtaux(im/2,(jsta+jend)/2) - -! time averaged meridional gravity wave stress using getgb - VarName='v-gwd' - VcoordName='sfc' - Index=316 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,sfcvgs) - gtauy=sfcvgs - if(debugprint)print*,'sample l',VarName,' = ',1,gtauy(im/2,(jsta+jend)/2) - -! time averaged accumulated potential evaporation - VarName='pevpr' - VcoordName='sfc' - Index=242 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,potevp) - if(debugprint)print*,'sample l',VarName,' = ',1,potevp(im/2,(jsta+jend)/2) - -! GFS does not have temperature tendency due to long wave radiation - rlwtt=spval - -! GFS does not have temperature tendency due to solar radiation - rswtt=spval - -! GFS does not have temperature tendency due to latent heating from convection - tcucn=spval - tcucns=spval - -! set avrain to 1 - avrain=1.0 - avcnvc=1.0 - theat=6.0 ! just in case GFS decides to output T tendency - -! GFS does not have temperature tendency due to latent heating from grid scale - train=spval - -! 10 m u using nemsio - VarName='ugrd' - VcoordName='10 m above gnd' - Index=64 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=10 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,u10) - if(debugprint)print*,'sample l',VarName,' = ',1,u10(im/2,(jsta+jend)/2) - u10h=u10 -! 10 m v using gfsio - VarName='vgrd' - VcoordName='10 m above gnd' - Index=65 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=10 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,v10) - if(debugprint)print*,'sample l',VarName,' = ',1,v10(im/2,(jsta+jend)/2) - v10h=v10 -! GFS does not have soil moisture availability - smstav=spval - -! GFS does not have total soil moisture - smstot=spval - -! vegetation type, it's in GFS surface file, hopefully will merge into gfsio soon - VarName='vgtyp' - VcoordName='sfc' - Index=218 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,buf) - where (buf /= spval) - ivgtyp=nint(buf) - elsewhere - ivgtyp=0 !need to feed reasonable value to crtm - end where - if(debugprint)print*,'sample l',VarName,' = ',1,ivgtyp(im/2,(jsta+jend)/2) - -! soil type, it's in GFS surface file, hopefully will merge into gfsio soon - VarName='sotyp' - VcoordName='sfc' - Index=219 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,buf) - where (buf /= spval) - isltyp=nint(buf) - elsewhere - isltyp=0 !need to feed reasonable value to crtm - end where - if(debugprint)print*,'sample l',VarName,' = ',1,isltyp(im/2,(jsta+jend)/2) - -! GFS does not have accumulated surface evaporation - sfcevp=spval - -! GFS does not have surface exchange coeefficient - sfcexc=spval - -! GFS does not have averaged accumulated snow - acsnow=spval - -! GFS does not have snow melt - acsnom=spval - -! GFS does not have sst???? - sst=spval - -! GFS does not have mixing length - EL_PBL=spval - -! GFS does not output exchange coefficient - exch_h=spval - -! GFS does not have THZ0, use THS to substitute - thz0=ths - if(debugprint)print*,'sample l',VarName,' = ',1,thz0(im/2,(jsta+jend)/2) - -! GFS does not output humidity at roughness length - qz0=spval - -! GFS does not output u at roughness length - uz0=spval - -! GFS does not output humidity at roughness length - vz0=spval - -! retrieve inst convective cloud top, GFS has cloud top pressure instead of index, -! will need to modify CLDRAD.f to use pressure directly instead of index - VarName='pres' - VcoordName='convect-cld top' - Index=189 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,ptop) - if(debugprint)print*,'sample l',VarName,' = ',1,ptop(im/2,(jsta+jend)/2) - - htop = spval - do j=jsta,jend - do i=1,im - if(ptop(i,j) <= 0.0) ptop(i,j) = spval - if(ptop(i,j) < spval) then - do l=1,lm - if(ptop(i,j) <= pmid(i,j,l))then - htop(i,j) = l - exit - end if - end do - end if - end do - end do - if (me == 0) then - l = lm/2 - print*,'sample ptop,pmid pmid-1,pint= ', & - ptop(ii,jj),pmid(ii,jj,l),pmid(ii,jj,l-1),pint(ii,jj,l),htop(ii,jj) - endif - -! retrieve inst convective cloud bottom, GFS has cloud top pressure instead of index, -! will need to modify CLDRAD.f to use pressure directly instead of index - VarName='pres' - VcoordName='convect-cld bot' - Index=188 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,pbot) - if(debugprint)print*,'sample l',VarName,VcoordName,' = ',1,pbot(im/2,(jsta+jend)/2) - - hbot = spval - do j=jsta,jend - do i=1,im - if(pbot(i,j) <= 0.0) pbot(i,j) = spval -! if(.not.lb(i,j))print*,'false bitmask for pbot at ' -! + ,i,j,pbot(i,j) - if(pbot(i,j) < spval)then - do l=lm,1,-1 - if(pbot(i,j) >= pmid(i,j,l))then - hbot(i,j) = l - exit - end if - end do - end if - end do - end do - print*,'sample pbot,pmid= ', pbot(ii,jj),pmid(ii,jj,l),hbot(ii,jj) - -! retrieve time averaged low cloud top pressure using nemsio - VarName='pres' - VcoordName='low cld top' - Index=304 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,ptopl) - if(debugprint)print*,'sample l',VarName,' = ',1,ptopl(im/2,(jsta+jend)/2) - -! retrieve time averaged low cloud bottom pressure using nemsio - VarName='pres' - VcoordName='low cld bot' - Index=303 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,pbotl) - if(debugprint)print*,'sample l',VarName,' = ',1,pbotl(im/2,(jsta+jend)/2) - -! retrieve time averaged low cloud top temperature using nemsio - VarName='tmp' - VcoordName='low cld top' - Index=305 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,Ttopl) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,Ttopl(im/2,(jsta+jend)/2) - -! retrieve time averaged middle cloud top pressure using nemsio - Index=307 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,ptopm) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,ptopm(im/2,(jsta+jend)/2) - -! retrieve time averaged middle cloud bottom pressure using nemsio - VarName='pres' - VcoordName='mid cld bot' - Index=306 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,pbotm) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,pbotm(im/2,(jsta+jend)/2) - -! retrieve time averaged middle cloud top temperature using nemsio - VarName='tmp' - VcoordName='mid cld top' - Index=308 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,Ttopm) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,Ttopm(im/2,(jsta+jend)/2) - -! retrieve time averaged high cloud top pressure using nemsio ********* - VarName='pres' - VcoordName='high cld top' - Index=310 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,ptoph) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,ptoph(im/2,(jsta+jend)/2) - -! retrieve time averaged high cloud bottom pressure using nemsio - VarName='pres' - VcoordName='high cld bot' - Index=309 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,pboth) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,pboth(im/2,(jsta+jend)/2) - -! retrieve time averaged high cloud top temperature using nemsio - VarName='tmp' - VcoordName='high cld top' - Index=311 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,Ttoph) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,Ttoph(im/2,(jsta+jend)/2) - -! retrieve boundary layer cloud cover using nemsio - VarName='tcdc' - VcoordName='bndary-layer cld' - Index=342 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,pblcfr) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,pblcfr(im/2,(jsta+jend)/2) - where (pblcfr /= spval)pblcfr=pblcfr/100. ! convert to fraction - -! retrieve cloud work function using nemsio - Index=313 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cldwork) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,cldwork(im/2,(jsta+jend)/2) - -! retrieve water runoff using nemsio - VarName='watr' - VcoordName='sfc' - Index=343 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=0 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,runoff) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,runoff(im/2,(jsta+jend)/2) - -! retrieve shelter max temperature using nemsio - VarName='tmax' - VcoordName='2 m above gnd' - Index=345 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=2 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,maxtshltr) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,maxtshltr(im/2,(jsta+jend)/2) - -! retrieve shelter max temperature using nemsio - Index=346 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - jpds(7)=2 - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,mintshltr) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,mintshltr(im/2,(jsta+jend)/2) - - MAXRHSHLTR=SPVAL - MINRHSHLTR=SPVAL - -! bucket for max and min temperature and RH -! if(me==0 .and. iostatusFlux==0)then -! if(KPDS(13)==1)then -! TMAXMIN=float(KPDS(15)-KPDS(14)) -! else if(KPDS(13)==10)then -! TMAXMIN=float(KPDS(15)-KPDS(14))*3.0 -! else if(KPDS(13)==11)then -! TMAXMIN=float(KPDS(15)-KPDS(14))*6.0 -! else if(KPDS(13)==12)then -! TMAXMIN=float(KPDS(15)-KPDS(14))*12.0 -! else if(KPDS(13)==2)then -! TMAXMIN=float(KPDS(15)-KPDS(14))*24.0 -! else -! TMAXMIN=float(KPDS(15)-KPDS(14)) -! end if -! end if -! call mpi_bcast(TMAXMIN,1,MPI_REAL,0,mpi_comm_comp,iret) -! print*,'TMAXMIN from flux grib massage= ',TMAXMIN - -! retrieve ice thickness using nemsio - VarName='icetk' - VcoordName='sfc' - Index=349 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,dzice) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,dzice(im/2,(jsta+jend)/2) - -! retrieve wilting point using nemsio - VarName='wilt' - VcoordName='sfc' - Index=236 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,smcwlt) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,smcwlt(im/2,(jsta+jend)/2) - -! retrieve sunshine duration using nemsio - VarName='sunsd' - VcoordName='sfc' - Index=396 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,suntime) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,suntime(im/2,(jsta+jend)/2) - -! retrieve field capacity using nemsio - VarName='fldcp' - VcoordName='sfc' - Index=397 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,fieldcapa) - if(debugprint)print*,'sample l',VcoordName,VarName,' = ', & - 1,fieldcapa(im/2,(jsta+jend)/2) - -! retrieve snowfall rate using getgb - Index=405 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,snowfall) - -! retrieve frozen precipitation fraction using getgb - Index=172 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - call getgbandscatter(me,iunit,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,sr) - print*,'sampe GFS sr= ',sr(im/2,jsta) - -! GFS does not have deep convective cloud top and bottom fields - HTOPD = SPVAL - HBOTD = SPVAL - HTOPS = SPVAL - HBOTS = SPVAL - CUPPT = SPVAL - -!!!! DONE GETTING -! Will derive isobaric OMEGA from continuity equation later. -! OMGA=SPVAL -! retrieve d3d fields if it's listed - if (me == 0) print*,'iostatus for d3d file= ',iostatusD3D - if(iostatusD3D == 0) then ! start reading d3d file -! retrieve longwave tendency using getgb - Index=41 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - do l=1,lm - jpds(7)=l - ll = lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,rlwtt(1,jsta_2l,ll)) - end do - -! bucket for max and min temperature and RH -! if(me==0 .and. iostatusFlux==0)then -! if(KPDS(13)==1)then -! TD3D=float(KPDS(15)-KPDS(14)) -! else if(KPDS(13)==10)then -! TD3D=float(KPDS(15)-KPDS(14))*3.0 -! else if(KPDS(13)==11)then -! TD3D=float(KPDS(15)-KPDS(14))*6.0 -! else if(KPDS(13)==12)then -! TD3D=float(KPDS(15)-KPDS(14))*12.0 -! else if(KPDS(13)==2)then -! TD3D=float(KPDS(15)-KPDS(14))*24.0 -! else -! TD3D=float(KPDS(15)-KPDS(14)) -! end if -! end if -! call mpi_bcast(TD3D,1,MPI_REAL,0,mpi_comm_comp,iret) -! print*,'TD3D from D3D grib massage= ',TD3D - -! retrieve shortwave tendency using getgb - Index=40 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - do l=1,lm - jpds(7)=l - ll = lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,rswtt(1,jsta_2l,ll)) - end do - -! retrieve vertical diffusion tendency using getgb - Index=356 - VarName='VDIFF TNDY' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll = lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,vdifftt(1,jsta_2l,ll)) - end do - -! retrieve deep convective tendency using getgb - Index=79 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,tcucn(1,jsta_2l,ll)) - end do - -! retrieve shallow convective tendency using getgb - Index=358 - VarName='S CNVCT TNDY' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,tcucns(1,jsta_2l,ll)) - end do - -! retrieve grid scale latent heat tendency using getgb - Index=78 - VarName=avbl(index) - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=is(index) - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,train(1,jsta_2l,ll)) - end do - -! retrieve vertical diffusion moistening using getgb - Index=360 - VarName='Vertical diffusion moistening' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,vdiffmois(1,jsta_2l,ll)) - end do - -! retrieve deep convection moistening using getgb - Index=361 - VarName='deep convection moistening' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,dconvmois(1,jsta_2l,ll)) - end do - -! retrieve shallow convection moistening using getgb - Index=362 - VarName='shallow convection moistening' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,sconvmois(1,jsta_2l,ll)) - end do - -! retrieve non-radiation tendency using getgb - Index=363 - VarName='non-radiation tendency' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,nradtt(1,jsta_2l,ll)) - end do - -! retrieve Vertical diffusion of ozone using getgb - Index=364 - VarName='Vertical diffusion of ozone' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,o3vdiff(1,jsta_2l,ll)) - end do - -! retrieve ozone production using getgb - Index=365 - VarName='Ozone production' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,o3prod(1,jsta_2l,ll)) - end do - -! retrieve ozone tendency using getgb - Index=366 - VarName='Ozone tendency' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,o3tndy(1,jsta_2l,ll)) - end do - -! retrieve mass weighted PV using getgb - Index=367 - VarName='Mass weighted PV' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,mwpv(1,jsta_2l,ll)) - end do - -! retrieve OZONE TNDY using getgb - Index=368 - VarName='?' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,unknown(1,jsta_2l,ll)) - end do - -! retrieve vertical diffusion zonal acceleration - Index=369 - VarName='VDIFF Z ACCE' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,vdiffzacce(1,jsta_2l,ll)) - end do - -! retrieve gravity drag zonal acceleration - Index=370 - VarName='G DRAG Z ACCE' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,zgdrag(1,jsta_2l,ll)) - end do - -! retrieve convective U momemtum mixing - Index=371 - VarName='CNVCT U M MIX' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctummixing(1,jsta_2l,ll)) - end do - -! retrieve vertical diffusion meridional acceleration - Index=372 - VarName='VDIFF M ACCE' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,vdiffmacce(1,jsta_2l,ll)) - end do - -! retrieve gravity drag meridional acceleration - Index=373 - VarName='G DRAG M ACCE' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,mgdrag(1,jsta_2l,ll)) - end do - -! retrieve convective V momemtum mixing - Index=374 - VarName='CNVCT V M MIX' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctvmmixing(1,jsta_2l,ll)) - end do - -! retrieve nonconvective cloud fraction - Index=375 - VarName='N CNVCT CLD FRA' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,ncnvctcfrac(1,jsta_2l,ll)) - end do - -! retrieve convective upward mass flux - Index=391 - VarName='CNVCT U M FLX' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctumflx(1,jsta_2l,ll)) - end do - -! retrieve convective downward mass flux - Index=392 - VarName='CNVCT D M FLX' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctdmflx(1,jsta_2l,ll)) - end do - -! retrieve nonconvective detraintment flux - Index=393 - VarName='CNVCT DET M FLX' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctdetmflx(1,jsta_2l,ll)) - end do - -! retrieve cnvct gravity drag zonal acceleration - Index=394 - VarName='CNVCT G DRAG Z ACCE' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctzgdrag(1,jsta_2l,ll)) - end do - -! retrieve cnvct gravity drag meridional acceleration - Index=395 - VarName='CNVCT G DRAG M ACCE' - jpds=-1.0 - jgds=-1.0 - jpds(5)=iq(index) - jpds(6)=109 - do l=1,lm - jpds(7)=l - ll=lm-l+1 !flip 3d fields to count from top down - call getgbandscatter(me,iunitd3d,im,jm,im_jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,jpds,jgds,kpds,cnvctmgdrag(1,jsta_2l,ll)) - end do - - call baclose(iunitd3d,status) - if (me == 0) print*,'done reading D3D fields' - end if ! end of d3d file read - if (me == 0) print *,'after d3d files reading,mype=',me -! pos east - call collect_loc(gdlat,dummy) - if(me == 0) then - latstart=nint(dummy(1,1)*gdsdegr) - latlast=nint(dummy(im,jm)*gdsdegr) - print*,'laststart,latlast B bcast= ',latstart,latlast,'gdsdegr=',gdsdegr,& - 'dummy(1,1)=',dummy(1,1),dummy(im,jm),'gdlat=',gdlat(1,1) - end if - call mpi_bcast(latstart,1,MPI_INTEGER,0,mpi_comm_comp,irtn) - call mpi_bcast(latlast,1,MPI_INTEGER,0,mpi_comm_comp,irtn) - write(6,*) 'laststart,latlast,me A calling bcast=',latstart,latlast,me - call collect_loc(gdlon,dummy) - if(me==0)then - lonstart=nint(dummy(1,1)*gdsdegr) - lonlast=nint(dummy(im,jm)*gdsdegr) - end if - call mpi_bcast(lonstart,1,MPI_INTEGER,0,mpi_comm_comp,irtn) - call mpi_bcast(lonlast,1,MPI_INTEGER,0,mpi_comm_comp,irtn) - write(6,*)'lonstart,lonlast A calling bcast=',lonstart,lonlast -! -! ncdump -h - -!! -!! -!! - write(6,*) 'filename in INITPOST=', filename,' is' - -! status=nf_open(filename,NF_NOWRITE,ncid) -! write(6,*) 'returned ncid= ', ncid -! status=nf_get_att_real(ncid,varid,'DX',tmp) -! dxval=int(tmp) -! status=nf_get_att_real(ncid,varid,'DY',tmp) -! dyval=int(tmp) -! status=nf_get_att_real(ncid,varid,'CEN_LAT',tmp) -! cenlat=int(1000.*tmp) -! status=nf_get_att_real(ncid,varid,'CEN_LON',tmp) -! cenlon=int(1000.*tmp) -! status=nf_get_att_real(ncid,varid,'TRUELAT1',tmp) -! truelat1=int(1000.*tmp) -! status=nf_get_att_real(ncid,varid,'TRUELAT2',tmp) -! truelat2=int(1000.*tmp) -! status=nf_get_att_real(ncid,varid,'MAP_PROJ',tmp) -! maptype=int(tmp) -! status=nf_close(ncid) - -! dxval=30000. -! dyval=30000. -! -! write(6,*) 'dxval= ', dxval -! write(6,*) 'dyval= ', dyval -! write(6,*) 'cenlat= ', cenlat -! write(6,*) 'cenlon= ', cenlon -! write(6,*) 'truelat1= ', truelat1 -! write(6,*) 'truelat2= ', truelat2 -! write(6,*) 'maptype is ', maptype -! - -! close up shop -! call ext_int_ioclose ( DataHandle, Status ) - -! generate look up table for lifted parcel calculations - - THL = 210. - PLQ = 70000. - -! write(0,*)' bef TABLE PT=',PT,' THL=',THL - CALL TABLE(PTBL,TTBL,PT, & - RDQ,RDTH,RDP,RDTHE,PL,THL,QS0,SQS,STHE,THE0) - - CALL TABLEQ(TTBLQ,RDPQ,RDTHEQ,PLQ,THL,STHEQ,THE0Q) - - -! write(0,*)'end ini_gfs_sigio' -! -! - IF(ME==0)THEN - WRITE(6,*)' SPL (POSTED PRESSURE LEVELS) BELOW: ' - WRITE(6,51) (SPL(L),L=1,LSM) - 50 FORMAT(14(F4.1,1X)) - 51 FORMAT(8(F8.1,1X)) - ENDIF -! -! COMPUTE DERIVED TIME STEPPING CONSTANTS. -! -!MEB need to get DT -! DT = 120. !MEB need to get DT -! NPHS = 4 !MEB need to get physics DT -! TPREC=float(ifhr) -!MEB need to get DT - -!how am i going to get this information? -! NPREC = INT(TPREC *TSPH+D50) -! NHEAT = INT(THEAT *TSPH+D50) -! NCLOD = INT(TCLOD *TSPH+D50) -! NRDSW = INT(TRDSW *TSPH+D50) -! NRDLW = INT(TRDLW *TSPH+D50) -! NSRFC = INT(TSRFC *TSPH+D50) -!how am i going to get this information? -! -! IF(ME==0)THEN -! WRITE(6,*)' ' -! WRITE(6,*)'DERIVED TIME STEPPING CONSTANTS' -! WRITE(6,*)' NPREC,NHEAT,NSRFC : ',NPREC,NHEAT,NSRFC -! WRITE(6,*)' NCLOD,NRDSW,NRDLW : ',NCLOD,NRDSW,NRDLW -! ENDIF -! -! COMPUTE DERIVED MAP OUTPUT CONSTANTS. - DO L = 1,LSM - ALSL(L) = LOG(SPL(L)) - END DO -! -!HC WRITE IGDS OUT FOR WEIGHTMAKER TO READ IN AS KGDSIN - if(me==0)then - print*,'writing out igds' - igdout=110 -! open(igdout,file='griddef.out',form='unformatted' -! + ,status='unknown') - if(maptype == 1)THEN ! Lambert conformal - WRITE(igdout)3 - WRITE(6,*)'igd(1)=',3 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)0 - WRITE(igdout)64 - WRITE(igdout)TRUELAT2 - WRITE(igdout)TRUELAT1 - WRITE(igdout)255 - ELSE IF(MAPTYPE == 2)THEN !Polar stereographic - WRITE(igdout)5 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)0 - WRITE(igdout)64 - WRITE(igdout)TRUELAT2 !Assume projection at +-90 - WRITE(igdout)TRUELAT1 - WRITE(igdout)255 - ELSE IF(MAPTYPE == 3)THEN !Mercator - WRITE(igdout)1 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)latlast - WRITE(igdout)lonlast - WRITE(igdout)TRUELAT1 - WRITE(igdout)0 - WRITE(igdout)64 - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)255 - ELSE IF(MAPTYPE==0 .OR. MAPTYPE==203)THEN !A STAGGERED E-GRID - WRITE(igdout)203 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)136 - WRITE(igdout)CENLAT - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)64 - WRITE(igdout)0 - WRITE(igdout)0 - WRITE(igdout)0 - END IF - end if -! -! close all files - - call baclose(iunit,status) - - deallocate(dummy) - - RETURN - END - - diff --git a/sorc/ncep_post.fd/INITPOST_MPAS.F b/sorc/ncep_post.fd/INITPOST_MPAS.F new file mode 100644 index 0000000000..68db7b255c --- /dev/null +++ b/sorc/ncep_post.fd/INITPOST_MPAS.F @@ -0,0 +1,2867 @@ +!> @file +!> @brief initpost_mpas() initializes UPP for MPAS / MPASSIT output +!> +!> @author Jaymes Kenyon (GSL) @date 2024-08-30 +! +!> This routine initializes constants and variables +!> when using UPP on MPAS model output. Specifcally, +!> it processes output from netCDF files that have been +!> generated by MPASSIT. MPASSIT reads MPAS output +!> from an unstructured mesh and interpolates the output onto +!> a structured grid. Since many MPASSIT array names +!> follow WRF-ARW conventions, this routine (INITPOST_MPAS) +!> was adapted from INITPOST, which was used to process +!> WRF-ARW output. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2024-08-14 | Jaymes Kenyon| Copied INITPOST as INITPOST_MPAS (reference INITPOST history prior to this date) +!> 2024-08-30 | Jaymes Kenyon| Add processing for lat-lon projection +!> 2024-09-09 | Eric James | Add checks for missing values before entering some computations +!> 2024-10-16 | Jaymes Kenyon| Missing-value checks for wind interp, fix to LH flux +!> 2024-10-24 | Eric James | Reinstate reading of prec_acc_dt from MPASSIT output +!> 2024-10-28 | Jaymes Kenyon| Removing outdated processing for various "imp_physics" cases +!> 2024-12-05 | Jaymes Kenyon| Temporary hard coding of imp_physics=8 for RRFS-MPAS (required for +!> | brightness-temperature calculations in subroutine CALRAD_WCLOUD) +!> 2025-01-13 | Jaymes Kenyon| Add graupel number concentration (QQNG) +!> 2025-03-20 | Jaymes Kenyon| Remove some unused code carried over from INITPOST, +!> add/clarify comments, and modify several print/write statements +!> 2025-05-08 | Jaymes Kenyon| Add HAIL_BUCKET accumulation; remove old/unused blocks of code +!> 2025-06-16 | Jaymes Kenyon| Removing the calculation of PBLHGUST.  This array represented a PBL height +!> | obtained from the profile of virtual potential temperature (THV). In turn, +!> | PBLHGUST was used for the wind-gust diagnostic in RAPR. Calculation of a +!> | THV-based PBL height has now been ported into CALPBL +!> 2025-07-15 | Jeff Duda | Add max_compref, max_prate_1min, max_prate_1min, max_prate_5min, and max_prate_10min +!> 2025-08-25 | Jaymes Kenyon| Remove the read-in of the MU and MUB arrays; +!> | remove an unused procedure for adjusting surface pressure; +!> | correct the initial assignment of ZINT; +!> | simplify/refactor the re-assignment of ZINT using the hypsometric equation; +!> | add numerous descriptive comments. +!> +!> @author Jaymes Kenyon (GSL) @date 2024-08-14 + + SUBROUTINE INITPOST_MPAS + + use vrbls4d, only: dust, smoke + use vrbls3d, only: t, u, uh, v, vh, wh, q, pmid, t, omga, pint, alpint, & + qqr, qqs, qqi, qqg, qqnw, qqni, qqnr, qqng, cwm, qqw, qqi, qqr, qqs, extcof55,& + q2, zint, zmid, ttnd, cfr, cfr_raw, qc_bl, REF_10CM, & + qqnwfa,qqnifa,taod5503d,aextc55 + use vrbls2d, only: tmax, qrmax, htop, hbot, cuppt, fis, cfrach, cfracl, & + sr, cfrach, cfracm, wspd10max, w_up_max, w_dn_max, w_mean, refd_max, & + up_heli_max, up_heli_max16, grpl_max, up_heli, up_heli16, & + up_heli_min,up_heli_min16,up_heli_max02,up_heli_min02, & + up_heli_max03,up_heli_min03,rel_vort_max,rel_vort_max01, & + wspd10umax,wspd10vmax,refdm10c_max,max_compref, & + hail_max2d,hail_maxk1,hail_maxhailcast,ltg1_max, & + ltg2_max, ltg3_max, nci_ltg, nca_ltg, nci_wq, nca_wq, nci_refd, & + u10, v10, th10, q10, tshltr, & + prate_max,max_prate_1min,max_prate_5min,max_prate_10min, & + nca_refd, qv2m, qshltr, smstav, ssroff, bgroff, & + vegfrc, acsnow, cmc, sst, thz0, qs, qvg, & + z0, ustar, radot, ths, acsnom, cuprec, ancprc, acprec, & + rainc_bucket, pcp_bucket, cprate, prec, snownc, snow_bucket, & + graup_bucket, hail_bucket, swddni, swddif, mean_frp, & + acgraup, acfrain, & + graupelnc, albedo, rswin, rswout, swdnbc, swddnic, & + swddifc, swupbc, swupt, czen, czmean, rlwin, lwdnbc, lwupbc, & + rainnc_bucket, taod5502d, aerasy2d, aerssa2d, lwp, iwp, & + sigt4, rlwtoa, rswinc, aswin, aswout, alwin, alwout, alwtoa, aswtoa, & + tg, soiltb, twbs, qwbs,grnflx, sfcshx, sfclhx, subshx, snopcx, & + sfcuvx, potevp, ncfrcv, ncfrst, sno, si, pctsno, snonc, tsnow, & + ivgtyp, isltyp, pblh, f, & + QVl1,REFC_10CM,REF1KM_10CM,REF4KM_10CM, & + SWRADmean,U10mean,V10mean,SPDUV10mean,SWNORMmean,SNFDEN,SNDEPAC, & + hbotd,hbots,rainc_bucket1,rainnc_bucket1,pcp_bucket1,snow_bucket1, & + graup_bucket1, shdmin, shdmax, lai, htopd,htops + use soil, only: smc, sh2o, stc, sldpth, sllevel + use masks, only: lmv, lmh, vtm, sice, gdlat, gdlon, sm, dx, dy, htm + use ctlblk_mod, only: jsta_2l, jend_2u, filename, datahandle, datestr, & + ihrst, imin, idat, sdat, ifhr, ifmin, imp_physics, jsta, jend, & + spval,gdsdegr, modelname, pt, icu_physics, jsta_m, jend_m, nsoil, & + isf_surface_physics, nsoil, ardlw, ardsw, asrfc, me, mpi_comm_comp, & + nphs, smflag, spl, lsm, dt, prec_acc_dt, dtq2, tsrfc, trdlw, & + trdsw, theat, tclod, tprec, nprec, alsl, im, jm, lm, grib, & + prec_acc_dt1, submodelname + use params_mod, only: capa, g, rd, rog, d608, tfrz, stbol, & + p1000, pi, rtd, lheat, dtr, erad, h1m5, d01, d001 + use lookup_mod, only: thl, plq, ptbl, ttbl, rdq, rdth, rdp, rdthe, pl, & + qs0, sqs, sthe, the0, ttblq, rdpq, rdtheq, stheq, the0q + use gridspec_mod, only: gridtype, dxval, latstart, latlast, lonstart, & + lonlast, dyval, cenlat, cenlon, maptype, truelat1, truelat2, & + standlon, psmapf + use table_upp_mod, only : table + use tableq_upp_mod, only : tableq + use wrf_io_flags_mod, only: +!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + implicit none +! +! INCLUDE/SET PARAMETERS. +! + INCLUDE "mpif.h" +! +! This version of INITPOST shows how to initialize, open, read from, and +! close a NetCDF dataset. In order to change it to read an internal (binary) +! dataset, do a global replacement of _ncd_ with _int_. + + character(len=31) :: VarName + integer :: Status + character startdate*19,SysDepInfo*80 +! +! NOTE: SOME INTEGER VARIABLES ARE READ INTO DUMMY ( A REAL ). THIS IS OK +! AS LONG AS REALS AND INTEGERS ARE THE SAME SIZE. +! +! ALSO, EXTRACT IS CALLED WITH DUMMY ( A REAL ) EVEN WHEN THE NUMBERS ARE +! INTEGERS - THIS IS OK AS LONG AS INTEGERS AND REALS ARE THE SAME SIZE. + + INTEGER IDATE(8),JDATE(8) +! +! DECLARE VARIABLES. +! + REAL RINC(5) + REAL DUMMY ( IM, JM ) + REAL DUMMY2 ( IM, JM ) + real, allocatable:: msft(:,:) + INTEGER IDUMMY ( IM, JM ) + REAL,allocatable :: DUM3D ( :, :, : ) +! REAL DUM3D2 ( IM+1, JM+1, LM+1 ) + + integer js,je,jev,iyear,imn,iday,itmp,ioutcount,istatus, & + ii,jj,ll,i,j,l,nrdlw,nrdsw,n,igdout,irtn,idyvald, & + idxvald,NSRFC , lflip, k + real DZ,TSPH,TMP,DUMCST,TLMH + real t2,th2,x2m,p2m,tsk, fact, temp + real LAT + + integer jdn, numr, ic, jc, ierr + real sun_zenith,sun_azimuth, ptop_low, ptop_mid, ptop_high + +!*********************************************************************** +! START INIT HERE. +! + ALLOCATE ( DUM3D ( IM+1, JM+1, LM+1 ) ) + if (me==0) WRITE(6,*)'ENTER INITPOST_MPAS' +! + gridtype='A' + hbotd=0 + hbots=0 + htopd=0 + htops=0 + ttnd=0 + qs=0 +! STEP 1. READ MODEL OUTPUT FILE +! +! +!*** +! +! LMH always = LM for sigma-type vert coord +! LMV always = LM for sigma-type vert coord + + do j = jsta_2l, jend_2u + do i = 1, im + LMV ( i, j ) = lm + LMH ( i, j ) = lm + end do + end do + + +! HTM VTM all 1 for sigma-type vert coord + + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + HTM ( i, j, l ) = 1.0 + VTM ( i, j, l ) = 1.0 + end do + end do + end do + + call ext_ncd_ioinit(SysDepInfo,Status) +! print*,'called ioinit', Status + + call ext_ncd_open_for_read( trim(fileName), 0, 0, " ", & + DataHandle, Status) +! print*,'called open for read', Status + if ( Status /= 0 .and. me == 0 ) then + print*,'error opening ',fileName, ' Status = ', Status ; stop + endif + +! The end j row is going to be jend_2u for all variables except for V. + JS=JSTA_2L + JE=JEND_2U + IF (JEND_2U==JM) THEN + JEV=JEND_2U+1 + ELSE + JEV=JEND_2U + ENDIF +! +! Getting start time +#ifdef COMMCODE + call ext_ncd_get_dom_ti_char(DataHandle,'SIMULATION_START_DATE', & + startdate, status ) +#else + call ext_ncd_get_dom_ti_char(DataHandle,'START_DATE',startdate, & + status ) +#endif + if (me==0) print*,'startdate= ',startdate + jdate=0 + idate=0 + read(startdate,15)iyear,imn,iday,ihrst,imin + 15 format(i4,1x,i2,1x,i2,1x,i2,1x,i2) + if (me==0) then + print*,'start yr mo day hr min=',iyear,imn,iday,ihrst,imin + print*,'processing yr mo day hr min=' & + ,idat(3),idat(1),idat(2),idat(4),idat(5) + endif + idate(1)=iyear + idate(2)=imn + idate(3)=iday + idate(5)=ihrst + idate(6)=imin + SDAT(1)=imn + SDAT(2)=iday + SDAT(3)=iyear + jdate(1)=idat(3) + jdate(2)=idat(1) + jdate(3)=idat(2) + jdate(5)=idat(4) + jdate(6)=idat(5) +! CALL W3DIFDAT(JDATE,IDATE,2,RINC) +! ifhr=nint(rinc(2)) + CALL W3DIFDAT(JDATE,IDATE,0,RINC) + ifhr=nint(rinc(2)+rinc(1)*24.) + ifmin=nint(rinc(3)) + if (me==0) print*,'...In INITPOST_MPAS: ifhr ifmin fileName=',ifhr,ifmin,fileName +! OK, since all of the variables are dimensioned/allocated to be +! the same size, this means we have to be careful int getVariable +! to not try to get too much data. For example, +! DUM3D is dimensioned IM+1,JM+1,LM+1 but there might actually +! only be im,jm,lm points of data available for a particular variable. + + call ext_ncd_get_dom_ti_integer(DataHandle,'MP_PHYSICS' & + ,itmp,1,ioutcount,istatus) + IF (MODELNAME=='RAPR') itmp=8 ! J. Kenyon / 5 Dec 2024: Temporary hard code for RRFS-MPAS + imp_physics=itmp + if (me==0) print*,'MP_PHYSICS= ',itmp + + call ext_ncd_get_dom_ti_integer(DataHandle,'CU_PHYSICS' & + ,itmp,1,ioutcount,istatus) + icu_physics=itmp + if (me==0) print*,'CU_PHYSICS= ',icu_physics + +! get 3-D variables + if (me==0) print*,'im,jm,lm= ',im,jm,lm + ii=im/2 + jj=(jsta+jend)/2 + ll=lm + + VarName='T' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + if(dum3d(i,j,l)= jsta .and. jj<=jend)print*,'sample U= ',U(ii,jj,ll) + VarName='V' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JEV,LM) + do l = 1, lm + do j = jsta_2l, jev + do i = 1, im + v ( i, j, l ) = dum3d ( i, j, l ) + end do + end do +! fill up VH which is V at P-points including 2 row halo + do j = jsta_2l, jend_2u + do i = 1, im + if (dum3d(I,J,L) < SPVAL .AND. dum3d(I,J+1,L) < SPVAL) then + VH(I,J,L) = (dum3d(I,J,L)+dum3d(I,J+1,L))*0.5 + else + VH(I,J,L) = SPVAL + endif + end do + end do + end do +! if(jj>= jsta .and. jj<=jend)print*,'sample V= ',V(ii,jj,ll) + + VarName='W' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM+1) +! do l = 1, lm+1 +! do j = jsta_2l, jend_2u +! do i = 1, im +! w ( i, j, l ) = dum3d ( i, j, l ) +! end do +! end do +! end do +! fill up WH which is W at P-points including 2 row halo + DO L=1,LM + DO I=1,IM + DO J=JSTA_2L,JEND_2U + WH(I,J,L) = (DUM3D(I,J,L)+DUM3D(I,J,L+1))*0.5 + ENDDO + ENDDO + ENDDO + !print*,'finish reading W' + + VarName='QVAPOR' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im +!HC q ( i, j, l ) = dum3d ( i, j, l ) +!HC CONVERT MIXING RATIO TO SPECIFIC HUMIDITY +!mhu check !!!! if (dum3d(i,j,l) < 10E-12) dum3d(i,j,l) = 10E-12 + if(dum3d(i,j,l)= jsta .and. jj<=jend)print*,'sample Q= ',Q(ii,jj,ll) + +! Use the model-state hydrostatic pressure (P_HYD) to assign the +! mid-layer pressure array (PMID). Prior to Apr 2013 (in INITPOST), +! PMID was obtained from the sum of base-state pressure (PB) and +! perturbation pressure (P). Experience with 0-h HRRR fields motivated +! the use of hydrostatic pressure. +! --J Kenyon (6 Aug 2025): revising comments inherited from INITPOST.F + VarName='P_HYD' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM) + do L = 1, lm + do J = jsta_2l, jend_2u + do I = 1, im + if(DUM3D(I,J,L)D001) & + OMGA(I,J,L) = -WH(I,J,L)*PMID(I,J,L)*G/ & + (RD*T(I,J,L)*(1.+D608*Q(I,J,L))) + ! --J Kenyon (description added 6 Aug 2025) + else + PMID(I,J,L) = spval + T(I,J,L) = spval + OMGA(I,J,L) = spval + endif + end do + end do + end do + +!tgs - 6 June 2012 - added check on monotonic PMID + do l = 2, lm-1 + ll=lm-l+1 + do j = jsta_2l, jend_2u + do i = 1, im + if((PMID(I,J,ll-1) - PMID(I,J,ll))>=0.) then +! write(*,*) 'non-monotonic PMID, i,j,ll ', i,j,ll +! write(*,*) 'PMID: ll-1,ll,ll+1', PMID(I,J,LL-1) & +! ,PMID(I,J,LL), PMID(I,J,LL+1) + + PMID(I,J,LL)=0.5*(PMID(I,J,LL+1)+PMID(I,J,LL-1)) + +! write(*,*) 'after adjustment-i,j,ll ', i,j,ll +! write(*,*) 'PMID: ll-1,ll,ll+1', PMID(I,J,LL-1) & +! ,PMID(I,J,LL), PMID(I,J,LL+1) + endif + end do + end do + end do +! +! check the lowest level too: set l=1, then extroplate the lowest level +! based on znu +! znu(lm)=0.9990000, znu(lm-1)=0.9960001, znu(lm-2)=0.9905000 +! P(lm)=p(lm-2) + (p(lm-1)-p(lm-2))*(znu(lm)-znu(lm-2))/ & +! (znu(lm-1)-znu(lm-2)) +! where: (znu(lm)-znu(lm-2))/(znu(lm-1)-znu(lm-2))=17/11 +! Thus: P(lm)=p(lm-2) + (p(lm-1)-p(lm-2))*17/11 +! =p(lm-1) + (p(lm-1)-p(lm-2))*6/11 + fact=6.0/11.0 + ll=lm + do j = jsta_2l, jend_2u + do i = 1, im + if((PMID(I,J,ll-1) - PMID(I,J,ll))>=0.) then + ! write(*,*) 'non-monotonic PMID, i,j,ll ', i,j,ll + ! write(*,*) 'PMID: ll-2,ll-1,ll', PMID(I,J,LL-2) & + ! ,PMID(I,J,LL-1), PMID(I,J,LL) + + PMID(I,J,LL)=PMID(I,J,ll-1) + & + fact*(PMID(I,J,LL-1)-PMID(I,J,LL-2)) + + ! write(*,*) 'after adjustment-i,j,ll ', i,j,ll + ! write(*,*) 'PMID: ll-2,ll-1,ll', PMID(I,J,LL-2) & + ! ,PMID(I,J,LL-1), PMID(I,J,LL) + endif + end do + end do + +! end check + + DO L=2,LM + DO I=1,IM + DO J=JSTA_2L,JEND_2U + PINT(I,J,L)=(PMID(I,J,L-1)+PMID(I,J,L))*0.5 + ALPINT(I,J,L)=ALOG(PINT(I,J,L)) + ENDDO + ENDDO + ENDDO +!--- Compute max temperature in the column up to level 20 +!--- to be used later in precip type computation + do j = jsta_2l, jend_2u + do i = 1, im + tmax(i,j)=0. + end do + end do + + do l = 2,20 + lflip = lm - l + 1 + do j = jsta_2l, jend_2u + do i = 1, im + tmax(i,j)=max(tmax(i,j),t(i,j,lflip)) + end do + end do + end do + +! extinction coef for aerosol + extcof55=0. + aextc55=0. + + VarName='QCLOUD' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + qqw ( i, j, l ) = dum3d ( i, j, l ) + end do + end do + end do +! if(jj>= jsta .and. jj<=jend) +! + print*,'sample QCLOUD= ',QQW(ii,jj,ll) +! print*,'finish reading cloud mixing ratio' + + VarName='QICE' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + qqi ( i, j, l ) = dum3d ( i, j, l ) + end do + end do + end do +! if(jj>= jsta .and. jj<=jend) +! + print*,'sample QICE= ',qqi(ii,jj,ll) + + VarName='QRAIN' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + qqr ( i, j, l ) = dum3d ( i, j, l ) + end do + end do + end do +! if(jj>= jsta .and. jj<=jend) +! + print*,'sample QRAIN= ',qqr(ii,jj,ll) + +! Compute max QRAIN in the column to be used later in precip type computation + do j = jsta_2l, jend_2u + do i = 1, im + qrmax(i,j)=0. + end do + end do + + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + qrmax(i,j)=max(qrmax(i,j),qqr(i,j,l)) + end do + end do + end do + + VarName='QSNOW' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + qqs ( i, j, l ) = dum3d ( i, j, l ) + dummy(i,j)=dum3d(i,j,l) + end do + end do +! print*,'max snow= ',l,maxval(dummy) + end do + + VarName='QGRAUP' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + qqg ( i, j, l ) = dum3d ( i, j, l ) + end do + end do + end do +! if(jj>= jsta .and. jj<=jend) +! + print*,'sample QGRAUP= ',qqg(ii,jj,ll) + + VarName='QNICE' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + qqni ( i, j, l ) = dum3d ( i, j, l ) + !if(i==im/2.and.j==(jsta+jend)/2)print*,'sample QQNI= ', & + ! i,j,l,QQNI ( i, j, l ) + end do + end do + end do + + VarName='QNRAIN' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + qqnr ( i, j, l ) = dum3d ( i, j, l ) + !if(i==im/2.and.j==(jsta+jend)/2)print*,'sample QQNR= ', & + ! i,j,l,QQNR ( i, j, l ) + end do + end do + end do + + VarName='QNGRAUP' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + qqng ( i, j, l ) = dum3d ( i, j, l ) + !if(i==im/2.and.j==(jsta+jend)/2)print*,'sample QQNG= ', & + ! i,j,l,QQNG ( i, j, l ) + end do + end do + end do + +! For aerosol aware microphyscis + VarName='QNCLOUD' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + qqnw ( i, j, l ) = dum3d ( i, j, l ) + !if(i==im/2.and.j==(jsta+jend)/2)print*,'sample QQNW= ', & + ! i,j,l,QQNW ( i, j, l ) + end do + end do + end do + + VarName='QNWFA' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + qqnwfa ( i, j, l ) = dum3d ( i, j, l ) + !if(i==im/2.and.j==(jsta+jend)/2)print*,'sample QQNWFA= ', & + ! i,j,l,QQNWFA ( i, j, l ) + end do + end do + end do + + VarName='QNIFA' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + qqnifa ( i, j, l ) = dum3d ( i, j, l ) + !if(i==im/2.and.j==(jsta+jend)/2)print*,'sample QQNIFA= ', & + ! i,j,l,QQNIFA ( i, j, l ) + end do + end do + end do + +! Read in extinction coefficient for aerosol at 550 nm +! VarName='EXTCOF55' +! call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & +! IM+1,1,JM+1,LM+1,IM,JS,JE,LM) +! do l = 1, lm +! do j = jsta_2l, jend_2u +! do i = 1, im +! extcof55 ( i, j, l ) = dum3d ( i, j, l ) +! end do +! end do +! end do +! print*,'finish reading EXTCOF55' + +!HC SUM UP ALL CONDENSATE FOR CWM + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + IF(QQR(I,J,L)=0.) then + ! write(*,*) 'non-monotonic PINT, i,j,lm ', i,j,lm + ! write(*,*) 'PINT: lm,lm+1, PMID: lm', PINT(I,J,LM),DUMMY(I,J), PMID(I,J,LM) + DUMMY(I,J)=PMID(I,J,LM)*1.001 + ! write(*,*) 'after adjustment-i,j,lm+1 ', i,j,lm+1,DUMMY(I,J) + endif + PINT(I,J,LM+1)=DUMMY(I,J) + ALPINT(I,J,LM+1)=ALOG(PINT(I,J,LM+1)) + ENDDO + ENDDO + +!-- Derive / assign geopotential heights using the hysometric equation + IF(MODELNAME == 'RAPR')THEN + + if (me==0) print*,'Assigning geopotential heights using hypsometric equation...' + + ! Integrate heights hydrostatically; i.e., use the hypsometric equation + ! (which is the vertically integrated hydrostatic equation) to assign + ! geopotential heights based on the profile of virtual temperature. + ! See (for example) "An Introduction to Dynamic Meteorology" (Holton, + ! 4th edition), section 1.6.1 ("The Hydrostatic Equation"), particularly + ! Eqs. 1.20 and 1.21, or "Mid-Latitude Atmospheric Dynamics" (Martin, + ! 2006), section 3.1.1 ("The Hypsometric Equation"). + ! --J Kenyon (description added 6 Aug 2025 and slightly modified) + + do j = js, je + do i = 1, im + ! Begin DUMMY with the height of the lowest interfacial level + DUMMY(I,J)=ZINT(I,J,LM+1) + end do + end do + + do L = LM, 1, -1 ! Loop upward + do j = js, je + do i = 1, im + + ! The essential step of the hypsometric calculation occurs here, + ! where thickness is calculated for each model layer. This + ! thickness is then added to the height of the underlying + ! interfacial level. Note that DUMMY2 and DUMMY correspond to + ! z_upper and z_lower, respectively. Symbolically, this procedure + ! is: + ! + ! z_upper = z_lower + Rd * Tv * (1/g) * [ln(p_lower) - ln(p_upper)] + ! + DUMMY2(I,J)=DUMMY(I,J)+HTM(I,J,L)*ROG*T(I,J,L)*(Q(I,J,L)*D608+1.0)* & + (ALPINT(I,J,L+1)-ALPINT(I,J,L)) + + ! Compute/store the difference between the hypsometric-derived + ! heights and the model-state heights (for printing below) + DUM3D(I,J,L)=DUMMY2(I,J)-ZINT(I,J,L) + + ! Now replace (overwrite) the model-state heights with the hypsometric heights + ZINT(I,J,L)=DUMMY2(I,J) + + ! Lastly, update DUMMY with the value of DUMMY2, then repeat + ! (i.e., proceed upward to next level) + DUMMY(I,J)=DUMMY2(I,J) + + enddo + enddo + enddo + + if (me==0) then + print*,' Height adjustments in sampled column (top down):' + i=im/2 + j=(jend+jsta)/2 + do L=1,LM + print*,' ',nint(DUM3D(I,J,L)),'m at L=',L,', p=',nint(PMID(I,J,L)*D01),'hPa' + enddo + print*,'...Finished adjusting geopotential heights.' + endif + + ENDIF ! MODELNAME == 'RAPR' +!-- Done assigning heights using the hypsometric equation + + IF(MODELNAME == 'RAPR')THEN + + DO L=1,LM-1 + DO I=1,IM + DO J=JS,JE + FACT=(ALOG(PMID(I,J,L))-ALPINT(I,J,L))/ & + max(1.e-6,(ALPINT(I,J,L+1)-ALPINT(I,J,L))) + ZMID(I,J,L)=ZINT(I,J,L)+(ZINT(I,J,L+1)-ZINT(I,J,L))*FACT + dummy(i,j)=ZMID(I,J,L) + !if((ALPINT(I,J,L+1)-ALPINT(I,J,L)) < 1.e-6) print*, & + ! 'P(K+1) and P(K) are too close, i,j,L,', & + ! 'ALPINT(I,J,L+1),ALPINT(I,J,L),ZMID = ', & + ! i,j,l,ALPINT(I,J,L+1),ALPINT(I,J,L),ZMID(I,J,L) + ENDDO + ENDDO + !print*,'max/min ZMID= ',l,maxval(dummy),minval(dummy) + ENDDO + + DO I=1,IM + DO J=JS,JE + DO L=1,LM + ZINT(I,J,L+1) =AMIN1(ZINT(I,J,L)-2.,ZINT(I,J,L+1)) + ZMID(I,J,L)=(ZINT(I,J,L+1)+ZINT(I,J,L))*0.5 ! ave of z + ENDDO + dummy(i,j)=ZMID(I,J,LM) + ENDDO + ENDDO + !print*,'max/min ZMID= ',lm,maxval(ZMID(1:im,js:je,lm)), & + ! minval(ZMID(1:im,js:je,lm)) + ELSE + + DO L=1,LM + DO I=1,IM + DO J=JS,JE + ZMID(I,J,L)=(ZINT(I,J,L+1)+ZINT(I,J,L))*0.5 ! ave of z +! if(i==297.and.j==273) & +! print*,'i,j,L,ZMID = ', & +! i,j,l,ZMID(I,J,L) + ENDDO + ENDDO + ENDDO + ENDIF ! IF(MODELNAME == 'RAPR')THEN + +! +! E. James - 8 Dec 2017: this is for HRRR-smoke; it needs to be after ZINT +! is defined. +! + VarName='AOD3D_SMOKE' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM, JS,JE,LM) + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + taod5503d ( i, j, l ) = dum3d ( i, j, l ) + dz = ZINT( i, j, l ) - ZINT( i, j, l+1 ) + aextc55 ( i, j, l ) = taod5503d ( i, j, l ) / dz + + if( me==0 .and. i==im/2 .and. j==(jsta+jend)/2 ) then + print*,'sample TAOD5503D= ',i,j,l,TAOD5503D( i, j, l ) + print*,'sample dz= ',dz + print*,'sample AEXTC55= ',i,j,l,AEXTC55( i, j, l ) + endif + end do + end do + end do + +! get 3-d soil variables + VarName='SMOIS' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,NSOIL) + do l = 1, nsoil + do j = jsta_2l, jend_2u + do i = 1, im +! smc ( i, j, l ) = dum3d ( i, j, l ) +! flip soil layer again because wrf soil variable vertical indexing +! is the same with eta and vertical indexing was flipped for both +! atmospheric and soil layers within getVariable + smc ( i, j, l ) = dum3d ( i, j, nsoil-l+1) + end do + end do + end do + + VarName='SH2O' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,NSOIL) + do l = 1, nsoil + do j = jsta_2l, jend_2u + do i = 1, im + sh2o ( i, j, l ) = dum3d ( i, j, nsoil-l+1) + end do + end do + end do + + VarName='SEAICE' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + + do j = jsta_2l, jend_2u + do i = 1, im + SICE( i, j ) = dummy ( i, j ) + end do + end do + + VarName='TSLB' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,NSOIL) + do l = 1, nsoil + do j = jsta_2l, jend_2u + do i = 1, im +! stc ( i, j, l ) = dum3d ( i, j, l ) + stc ( i, j, l ) = dum3d ( i, j, nsoil-l+1) + end do + end do + end do + +! bitmask out high, middle, and low cloud cover + do j = jsta_2l, jend_2u + do i = 1, im + CFRACH ( i, j ) = SPVAL/100. + CFRACL ( i, j ) = SPVAL/100. + CFRACM ( i, j ) = SPVAL/100. + end do + end do + + do l = 1, lm + do j = jsta_2l, jend_2u + do i = 1, im + CFR( i, j, l ) = SPVAL + end do + end do + end do + + VarName='SR' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SR( i, j ) = dummy ( i, j ) + end do + end do + +! WRF EM outputs 3D cloud cover now + IF(MODELNAME == 'RAPR')THEN + VarName='CLDFRA_BL' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) + do l=1,lm + do j = jsta_2l, jend_2u + do i = 1, im + CFR ( i, j, l ) = dum3d ( i, j, l ) + end do + end do + end do + ELSE + VarName='CLDFRA' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) + do l=1,lm + do j = jsta_2l, jend_2u + do i = 1, im + CFR ( i, j, l ) = dum3d ( i, j, l ) + end do + end do + end do + END IF + + VarName='QC_BL' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) +! call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, +! & IM,1,JM,1,IM,JS,JE,1) + do l=1,lm + do j = jsta_2l, jend_2u + do i = 1, im + QC_BL ( i, j, l ) = dum3d ( i, j, l ) + end do + end do + end do + + IF(MODELNAME == 'RAPR')THEN +! J. Kenyon - 4 Apr 2019: revised cloud-cover diagnostics for RAP/HRRR + PTOP_LOW = 64200. + PTOP_MID = 35000. + PTOP_HIGH = 15000. + + do j = jsta_2l, jend_2u + do i = 1, im + CFRACL(I,J)=0. + CFRACM(I,J)=0. + CFRACH(I,J)=0. + + do k = 1,lm + if (PMID(I,J,K) >= PTOP_LOW) then + CFRACL(I,J)=max(CFRACL(I,J),cfr(i,j,k)) + elseif (PMID(I,J,K) < PTOP_LOW .and. PMID(I,J,K) >= PTOP_MID) then + CFRACM(I,J)=max(CFRACM(I,J),cfr(i,j,k)) + elseif (PMID(I,J,K) < PTOP_MID .and. PMID(I,J,K) >= PTOP_HIGH) then + CFRACH(I,J)=max(CFRACH(I,J),cfr(i,j,k)) + endif + enddo + + enddo + enddo + ENDIF + +! GRAUP +! E. James - 8 Dec 2017: SMOKE from WRF-CHEM +! + VarName='smoke' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) + do l = 1,lm + do j = jsta_2l, jend_2u + do i = 1, im + SMOKE ( i, j, l, 1) = dum3d ( i, j, l ) + end do + end do + end do +!! +!! E. James - 8 Dec 2017: tracer_2a is anthropogenic aerosol, not used +!! +! VarName='tracer_2a' +! call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & +! IM+1,1,JM+1,LM+1,IM,JS,JE,LM) +! do l=1,lm +! do j = jsta_2l, jend_2u +! do i = 1, im +! SMOKE ( i, j, l, 2) = dum3d ( i, j, l ) +! end do +! end do +! end do + +! CRA DUST FROM WRF-CHEM +if(1==2) then + VarName='DUST_1' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) +! call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, +! & IM,1,JM,1,IM,JS,JE,1) + do l=1,lm + do j = jsta_2l, jend_2u + do i = 1, im +! CLDFRA( i, j ) = dummy ( i, j ) + DUST ( i, j, l, 1) = dum3d ( i, j, l ) + end do + end do + end do + + VarName='DUST_2' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) +! call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, +! & IM,1,JM,1,IM,JS,JE,1) + do l=1,lm + do j = jsta_2l, jend_2u + do i = 1, im +! CLDFRA( i, j ) = dummy ( i, j ) + DUST ( i, j, l, 2) = dum3d ( i, j, l ) + end do + end do + end do + + VarName='DUST_3' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) +! call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, +! & IM,1,JM,1,IM,JS,JE,1) + do l=1,lm + do j = jsta_2l, jend_2u + do i = 1, im +! CLDFRA( i, j ) = dummy ( i, j ) + DUST ( i, j, l, 3) = dum3d ( i, j, l ) + end do + end do + end do + + VarName='DUST_4' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) +! call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, +! & IM,1,JM,1,IM,JS,JE,1) + do l=1,lm + do j = jsta_2l, jend_2u + do i = 1, im +! CLDFRA( i, j ) = dummy ( i, j ) + DUST ( i, j, l, 4) = dum3d ( i, j, l ) + end do + end do + end do + + VarName='DUST_5' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) +! call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, +! & IM,1,JM,1,IM,JS,JE,1) + do l=1,lm + do j = jsta_2l, jend_2u + do i = 1, im +! CLDFRA( i, j ) = dummy ( i, j ) + DUST ( i, j, l, 5) = dum3d ( i, j, l ) + end do + end do + end do +! CRA +! For HRRR-CHEM + VarName='PM2_5_DRY' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D,& + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) +! call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, +! & IM,1,JM,1,IM,JS,JE,1) + do l=1,lm + do j = jsta_2l, jend_2u + do i = 1, im + DUST ( i, j, l, 6) = dum3d ( i, j, l ) + end do + end do + end do + VarName='PM10' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D,& + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) +! call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, +! & IM,1,JM,1,IM,JS,JE,1) + do l=1,lm + do j = jsta_2l, jend_2u + do i = 1, im + DUST ( i, j, l, 7) = dum3d ( i, j, l ) + end do + end do + end do + + VarName='so2' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D,& + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) +! call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, +! & IM,1,JM,1,IM,JS,JE,1) + do l=1,lm + do j = jsta_2l, jend_2u + do i = 1, im + DUST ( i, j, l, 8) = dum3d ( i, j, l ) + end do + end do + end do +endif ! 1==2 +! END HRRR-CHEM + +! CRA + +! Soil layer/depth - extract thickness of soil layers + SLDPTH=0.0 !Assign bogus value + + IF(iSF_SURFACE_PHYSICS==3)then ! RUC LSM - use depths of center of soil layer + call getVariable(fileName,DateStr,DataHandle,'ZS',SLLEVEL, & + NSOIL,1,1,1,NSOIL,1,1,1) + if (me==0) print*,'SLLEVEL= ',(SLLEVEL(N),N=1,NSOIL) + ELSE ! Other LSMs (e.g., Noah) - use thicknesses of soil layers + call getVariable(fileName,DateStr,DataHandle,'DZS',SLDPTH, & + NSOIL,1,1,1,NSOIL,1,1,1) + if (me==0) print*,'SLDPTH= ',(SLDPTH(N),N=1,NSOIL) + END IF + +! SRD +! get 2-d variables + + VarName='WSPD10MAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + WSPD10MAX ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'WSPD10MAX at ',ii,jj,' = ',WSPD10MAX(ii,jj) + + VarName='WSPD10UMAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + WSPD10UMAX ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'WSPD10UMAX at ',ii,jj,' = ',WSPD10UMAX(ii,jj) + + VarName='WSPD10VMAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + WSPD10VMAX ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'WSPD10VMAX at ',ii,jj,' = ',WSPD10VMAX(ii,jj) + + VarName='W_UP_MAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + W_UP_MAX ( i, j ) = dummy ( i, j ) +! print *,' w_up_max, i,j, = ', w_up_max(i,j) + end do + end do +! print*,'W_UP_MAX at ',ii,jj,' = ',W_UP_MAX(ii,jj) + + VarName='W_DN_MAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + W_DN_MAX ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'W_DN_MAX at ',ii,jj,' = ',W_DN_MAX(ii,jj) + + VarName='W_MEAN' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + W_MEAN ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'W_MEAN at ',ii,jj,' = ',W_MEAN(ii,jj) + + VarName='REFD_MAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + REFD_MAX ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'REFD_MAX at ',ii,jj,' = ',REFD_MAX(ii,jj) + + VarName='REFDM10C_MAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + REFDM10C_MAX ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'REFDM10C_MAX at ',ii,jj,' = ',REFDM10C_MAX(ii,jj) + + + VarName='UP_HELI_MAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + UP_HELI_MAX ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'UP_HELI_MAX at ',ii,jj,' = ',UP_HELI_MAX(ii,jj) + + VarName='UP_HELI_MAX16' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + UP_HELI_MAX16 ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'UP_HELI_MAX16 at ',ii,jj,' = ',UP_HELI_MAX16(ii,jj) + + VarName='UP_HELI_MIN' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + UP_HELI_MIN ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'UP_HELI_MIN at ',ii,jj,' = ',UP_HELI_MIN(ii,jj) + + VarName='UP_HELI_MIN16' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + UP_HELI_MIN16 ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'UP_HELI_MIN16 at ',ii,jj,' = ',UP_HELI_MIN16(ii,jj) + + VarName='UP_HELI_MAX02' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + UP_HELI_MAX02 ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'UP_HELI_MAX02 at ',ii,jj,' = ',UP_HELI_MAX02(ii,jj) + + VarName='UP_HELI_MIN02' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + UP_HELI_MIN02 ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'UP_HELI_MIN02 at ',ii,jj,' = ',UP_HELI_MIN02(ii,jj) + + VarName='UP_HELI_MAX03' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + UP_HELI_MAX03 ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'UP_HELI_MAX03 at ',ii,jj,' = ',UP_HELI_MAX03(ii,jj) + + VarName='UP_HELI_MIN03' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + UP_HELI_MIN03 ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'UP_HELI_MIN03 at ',ii,jj,' = ',UP_HELI_MIN03(ii,jj) + + VarName='REL_VORT_MAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + REL_VORT_MAX ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'REL_VORT_MAX at ',ii,jj,' = ',REL_VORT_MAX(ii,jj) + + VarName='REL_VORT_MAX01' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + REL_VORT_MAX01 ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'REL_VORT_MAX01 at ',ii,jj,' = ',REL_VORT_MAX01(ii,jj) + + VarName='GRPL_MAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + GRPL_MAX ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'GRPL_MAX at ',ii,jj,' = ',GRPL_MAX(ii,jj) + + VarName='HAIL_MAXK1' ! maximum hail diameter at the surface (over diagnostic interval) + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + HAIL_MAXK1 ( i, j ) = dummy ( i, j ) * 0.001 ! convert mm to m + end do + end do +! print*,'HAIL_MAXK1 at ',ii,jj,' = ',HAIL_MAXK1(ii,jj) + + VarName='HAIL_MAX2D' ! maximum hail diameter in the column (over diagnostic interval) + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + HAIL_MAX2D ( i, j ) = dummy ( i, j ) * 0.001 ! convert mm to m + end do + end do +! print*,'HAIL_MAX2D at ',ii,jj,' = ',HAIL_MAX2D(ii,jj) + + VarName='HAILCAST_DIAM_MAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + HAIL_MAXHAILCAST ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'HAIL_MAXHAILCAST at ',ii,jj,' = ',HAIL_MAXHAILCAST(ii,jj) + + VarName='UH' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + UP_HELI ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'UP_HELI at ',ii,jj,' = ',UP_HELI(ii,jj) + + VarName='UH16' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + UP_HELI16 ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'UP_HELI16 at ',ii,jj,' = ',UP_HELI16(ii,jj) + + VarName='LTG1_MAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + LTG1_MAX ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'LTG1_MAX at ',ii,jj,' = ',LTG1_MAX(ii,jj) + + VarName='LTG2_MAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + LTG2_MAX ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'LTG2_MAX at ',ii,jj,' = ',LTG2_MAX(ii,jj) + + VarName='LTG3_MAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + LTG3_MAX ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'LTG3_MAX at ',ii,jj,' = ',LTG3_MAX(ii,jj) + + VarName='NCI_LTG' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + NCI_LTG ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'NCI_LTG at ',ii,jj,' = ',NCI_LTG(ii,jj) + + VarName='NCA_LTG' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + NCA_LTG ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'NCA_LTG at ',ii,jj,' = ',NCA_LTG(ii,jj) + + VarName='NCI_WQ' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + NCI_WQ ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'NCI_WQ at ',ii,jj,' = ',NCI_WQ(ii,jj) + + VarName='NCA_WQ' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + NCA_WQ ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'NCA_WQ at ',ii,jj,' = ',NCA_WQ(ii,jj) + + VarName='NCI_REFD' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + NCI_REFD ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'NCI_REFD at ',ii,jj,' = ',NCI_REFD(ii,jj) + + VarName='NCA_REFD' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + NCA_REFD ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'NCA_REFD at ',ii,jj,' = ',NCA_REFD(ii,jj) +! +! SRD +! +! CRA REFLECTIVITY VARIABLES + VarName='REFL_10CM' + call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D,& + IM+1,1,JM+1,LM+1,IM,JS,JE,LM) + do l=1,lm + do j = jsta_2l, jend_2u + do i = 1, im + REF_10CM ( i, j, l) = dum3d ( i, j, l ) + end do + end do + end do + deallocate(DUM3D) + + VarName='COMPOSITE_REFL_10CM' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + REFC_10CM ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='MAX_COMPOSITE_REFL' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + MAX_COMPREF( i, j ) = dummy ( i, j ) + end do + end do + + VarName='REFL_10CM_1KM' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + REF1KM_10CM ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='REFL_10CM_4KM' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + REF4KM_10CM ( i, j ) = dummy ( i, j ) + end do + end do +! CRA +! get 2-d variables + + VarName='U10' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + IF(SUBMODELNAME == 'RTMA' .and. MODELNAME == 'RAPR')THEN !use 1st level of unstaggered U for U10 + U10 ( i, j ) = uh ( i, j, lm ) + ELSE + U10 ( i, j ) = dummy( i, j ) + ENDIF + end do + end do + VarName='V10' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + IF( SUBMODELNAME == 'RTMA' .and. MODELNAME == 'RAPR')THEN!use 1st level of unstaggered V for V10 + V10 ( i, j ) = vh ( i, j, lm ) + ELSE + V10 ( i, j ) = dummy( i, j ) + ENDIF + end do + end do +! print*,'V10 at ',ii,jj,' = ',V10(ii,jj) + +! RAP/HRRR time-averaged wind + VarName='U10MEAN' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + U10mean ( i, j ) = dummy( i, j ) + end do + end do +! print*,'U10mean at ',ii,jj,' = ',U10mean(ii,jj) +! + VarName='V10MEAN' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + V10mean ( i, j ) = dummy( i, j ) + end do + end do +! print*,'V10mean at ',ii,jj,' = ',V10mean(ii,jj) +! + VarName='SPDUV10MEAN' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SPDUV10mean ( i, j ) = dummy( i, j ) + end do + end do +! print*,'SPDUV10mean at ',ii,jj,' = ',SPDUV10mean(ii,jj) +! + + do j = jsta_2l, jend_2u + do i = 1, im + TH10 ( i, j ) = SPVAL + Q10 ( i, j ) = SPVAL + end do + end do + +! get 2-m theta + VarName='TH2' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + TSHLTR ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'TSHLTR at ',ii,jj,' = ',TSHLTR(ii,jj) +! get 2-m mixing ratio + VarName='Q2' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + IF(MODELNAME == 'RAPR')THEN +! QV2M = first level QV +! QV2M ( i, j ) = q ( i, j, lm )/(1.-q ( i, j, lm )) ! 1st level mix. ratio +! QSHLTR ( i, j ) = q ( i, j, lm ) ! 1st level spec. humidity +! QV2M = diagnosed in WRF 2-m QV + QV2M ( i, j ) = dummy ( i, j ) ! 2-m mix. ratio + QSHLTR ( i, j ) = dummy ( i, j )/(1.0+dummy ( i, j )) ! 2-m spec. hum. + QVl1 ( i, j ) = q ( i, j, lm ) ! spec. humidity at lev. 1 + ELSE +!HC QSHLTR ( i, j ) = dummy ( i, j ) +!HC CONVERT FROM MIXING RATIO TO SPECIFIC HUMIDITY + QV2M ( i, j ) = dummy ( i, j ) + QSHLTR ( i, j ) = dummy ( i, j )/(1.0+dummy ( i, j )) + ENDIF + end do + end do +! print*,'QSHLTR at ',ii,jj,' = ',QSHLTR(ii,jj) + + IF(MODELNAME == 'RAPR')THEN + VarName='MAVAIL' + ELSE + VarName='SMSTAV' + END IF + + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SMSTAV ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='SFROFF' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SSROFF ( i, j ) = dummy ( i, j ) + end do + end do + VarName='UDROFF' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + BGROFF ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='VEGFRA' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + VEGFRC ( i, j ) = dummy ( i, j )/100. + end do + end do + if (me==0) print*,'VEGFRC at ',ii,jj,' = ',VEGFRC(ii,jj) + + VarName='SHDMIN' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + shdmin ( i, j ) = dummy ( i, j )/100. + end do + end do + if (me==0) print*,'SHDMIN at ',ii,jj,' = ',SHDMIN(ii,jj) + + VarName='SHDMAX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + shdmax ( i, j ) = dummy ( i, j )/100. + end do + end do + if (me==0) print*,'SHDMAX at ',ii,jj,' = ',SHDMAX(ii,jj) + + VarName='LAI' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + lai ( i, j ) = dummy ( i, j ) + end do + end do + if (me==0) print*,'LAI at ',ii,jj,' = ',LAI(ii,jj) + + VarName='ACSNOW' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + ACSNOW ( i, j ) = dummy ( i, j ) + end do + end do + if (me==0) print*,'maxval ACSNOW: ', maxval(ACSNOW) + VarName='ACSNOM' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + ACSNOM ( i, j ) = dummy ( i, j ) + end do + end do + VarName='CANWAT' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + CMC ( i, j ) = dummy ( i, j ) + end do + end do + VarName='SST' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SST ( i, j ) = dummy ( i, j ) + end do + end do +! print*,'SST at ',ii,jj,' = ',sst(ii,jj) + VarName='THZ0' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + THZ0 ( i, j ) = dummy ( i, j ) + end do + end do + + IF(MODELNAME == 'RAPR')THEN + VarName='ZNT' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + Z0( i, j ) = dummy ( i, j ) + end do + end do + ELSE + VarName='Z0' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + Z0( i, j ) = dummy ( i, j ) + end do + end do + END IF + + VarName='UST' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + USTAR( i, j ) = dummy ( i, j ) + end do + end do +! print*,'USTAR at ',ii,jj,' = ',USTAR(ii,jj) + + VarName='TSK' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im +! CHC: deriving outgoing longwave fluxes by assuming emmissitivity=1 + RADOT ( i, j ) = DUMMY(i,j)**4.0/STBOL +! HC: CONVERT SKIN TEMPERATURE TO SKIN POTENTIAL TEMPERATURE + THS ( i, j ) = dummy ( i, j ) & + *(P1000/PINT(I,J,NINT(LMH(I,J))+1))**CAPA + end do + end do +! print*,'THS at ',ii,jj,' = ',THS(ii,jj) + + VarName='EMISS' + IF(MODELNAME == 'RAPR')THEN +! Update "RADOT" variable (calculated above) using model emissivity + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + RADOT ( i, j ) = RADOT (i, j) * dummy ( i, j ) + end do + end do + END IF + +!C RAINC is "ACCUMULATED TOTAL CUMULUS PRECIPITATION" +!C RAINNC is "ACCUMULATED TOTAL GRID SCALE PRECIPITATION" + + VarName='RAINC' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + CUPREC ( i, j ) = dummy ( i, j ) * 0.001 + end do + end do +! print*,'CUPREC at ',ii,jj,' = ',CUPREC(ii,jj) + VarName='RAINNC' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + ANCPRC ( i, j ) = dummy ( i, j )* 0.001 + end do + end do +! print*,'ANCPRC at ',ii,jj,' = ',ANCPRC(ii,jj) + + do j = jsta_2l, jend_2u + do i = 1, im + ACPREC(I,J)=ANCPRC(I,J)+CUPREC(I,J) + end do + end do + +!-- RAINC_bucket is "ACCUMULATED CUMULUS PRECIPITATION OVER BUCKET_DT PERIODS OF TIME" + + if (me==0) write(6,*) 'getting PREC_ACC_C, [mm] ' +! VarName='RAINC_BUCKET' + VarName='PREC_ACC_C' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + rainc_bucket ( i, j ) = dummy ( i, j ) + end do + end do + +!-- RAINC_bucket1 is "ACCUMULATED CUMULUS PRECIPITATION OVER BUCKET_DT1 PERIODS OF TIME" + + if (me==0) write(6,*) 'getting PREC_ACC_C1, [mm] ' + VarName='PREC_ACC_C1' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + rainc_bucket1 ( i, j ) = dummy ( i, j ) + end do + end do + +!-- RAINNC_bucket is "ACCUMULATED GRID SCALE PRECIPITATION OVER BUCKET_DT PERIODS OF TIME" + + if (me==0) write(6,*) 'getting PREC_ACC_NC, [mm]' +! VarName='RAINNC_BUCKET' + VarName='PREC_ACC_NC' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + rainnc_bucket ( i, j ) = dummy ( i, j ) + end do + end do + +!-- RAINNC_bucket1 is "ACCUMULATED GRID SCALE PRECIPITATION OVER BUCKET_DT1 PERIODS OF TIME" + + if (me==0) write(6,*) 'getting PREC_ACC_NC1, [mm]' + VarName='PREC_ACC_NC1' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + rainnc_bucket1 ( i, j ) = dummy ( i, j ) + end do + end do + + do j = jsta_2l, jend_2u + do i = 1, im + PCP_BUCKET(I,J)=rainc_bucket(I,J)+rainnc_bucket(I,J) + PCP_BUCKET1(I,J)=rainc_bucket1(I,J)+rainnc_bucket1(I,J) + end do + end do + + VarName='PRATE_MAX' + DUMMY=0.0 + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + ! Units are direct from MPAS model output, which is mm/s + PRATE_MAX ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='MAX_1MIN_PRATE' + DUMMY=0.0 + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + ! Units are direct from MPAS model output, which is mm/s + MAX_PRATE_1MIN( i, j ) = dummy ( i, j ) + end do + end do + + VarName='MAX_5MIN_PRATE' + DUMMY=0.0 + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + ! Units are direct from MPAS model output, which is mm/s + MAX_PRATE_5MIN( i, j ) = dummy ( i, j ) + end do + end do + + VarName='MAX_10MIN_PRATE' + DUMMY=0.0 + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + ! Units are direct from MPAS model output, which is mm/s + MAX_PRATE_10MIN( i, j ) = dummy ( i, j ) + end do + end do + + VarName='RAINCV' + DUMMY=0.0 + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im +!-- CPRATE is in [m] per time step + CPRATE ( i, j ) = dummy ( i, j )* 0.001 + end do + end do + + + VarName='RAINNCV' + DUMMY2=0.0 + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY2, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im +!-- PREC is in [m] per time step + prec ( i, j ) = (dummy ( i, j )+dummy2(i,j))* 0.001 + end do + end do + + VarName='SNOWNCV' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im +!-- SNOW is in [m] per time sep + snownc ( i, j ) = dummy ( i, j ) * 0.001 + end do + end do + +!-- SNOW_bucket is "ACCUMULATED GRID SCALE SNOW OVER BUCKET_DT PERIODS OF TIME" + + if (me==0) write(6,*) 'getting SNOW_ACC_NC, [mm] ' + VarName='SNOW_ACC_NC' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + snow_bucket ( i, j ) = dummy ( i, j ) + end do + end do + +!-- SNOW_bucket1 is "ACCUMULATED GRID SCALE SNOW OVER BUCKET_DT1 PERIODS OF TIME" + + if (me==0) write(6,*) 'getting SNOW_ACC_NC1, [mm] ' + VarName='SNOW_ACC_NC1' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + snow_bucket1 ( i, j ) = dummy ( i, j ) + end do + end do + +!-- GRAUP_bucket is "ACCUMULATED GRID SCALE GRAUPEL OVER BUCKET_DT PERIODS OF TIME" + + if (me==0) write(6,*) 'getting GRAUP_ACC_NC, [mm] ' + VarName='GRAUP_ACC_NC' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + graup_bucket ( i, j ) = dummy ( i, j ) + end do + end do + +!-- GRAUP_bucket1 is "ACCUMULATED GRID SCALE GRAUPEL OVER BUCKET_DT1 PERIODS OF TIME" + + if (me==0) write(6,*) 'getting GRAUP_ACC_NC1, [mm] ' + VarName='GRAUP_ACC_NC1' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + graup_bucket1 ( i, j ) = dummy ( i, j ) + end do + end do + +!-- HAIL_BUCKET is "Maximum hail diameter at the surface accumulated over diagnostic output" + +! The reset interval (set in MPAS) for this array is not strictly equal to the interval used +! for other bucket accumulations (PREC_ACC_DT). However, it is functionally "like" a bucket +! accumulation, and a 60-min reset interval is anticipated. Therefore, "HAIL_ACC" is +! introcuded into UPP as another bucket accumulation. (J. Kenyon / GSL, 8 May 2025) + + if (me==0) write(6,*) 'getting HAIL_ACC, [mm] ' + VarName='HAIL_ACC' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + hail_bucket ( i, j ) = dummy ( i, j ) * 0.001 ! convert mm to m + end do + end do + + VarName='ACGRAUP' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + acgraup ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='ACFRAIN' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + acfrain ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='GRAUPELNCV' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im +!-- GRAUPEL in in [m] per time step + graupelnc ( i, j ) = dummy ( i, j ) * 0.001 + end do + end do + + VarName='ALBSOL' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + ALBEDO ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='SWDOWN' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im +! HCHUANG: SWDOWN is actually net downward shortwave in ncar wrf + RSWIN ( i, j ) = dummy ( i, j ) + RSWOUT ( i, j ) = RSWIN ( i, j ) * ALBEDO ( i, j ) + end do + end do + + VarName='SWDDNI' +! Shortwave surface downward direct normal irradiance + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SWDDNI ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='SWDDIF' +! Shortwave surface downward diffuse horizontal irradiance + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SWDDIF ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='SWDNBC' +! Shortwave surface downward clear-sky shortwave irradiance + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SWDNBC ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='SWDDNIC' +! Clear-sky shortwave surface downward direct normal irradiance + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SWDDNIC ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='SWDDIFC' +! Clear-sky shortwave surface downward diffuse horizontal irradiance + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SWDDIFC ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='SWUPBC' +! Clear-sky surface upwelling shortwave flux + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SWUPBC ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='SWUPT' +! Upward shortwave flux at top of atmosphere + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SWUPT ( i, j ) = dummy ( i, j ) + end do + end do + +! +! E. James - 8 Dec 2017: Fire Radiative Power from HRRR-smoke +! + VarName='MEAN_FRP' +! Mean fire radiative power + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + MEAN_FRP ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='TAOD5502D' +! Total aerosol optical depth + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + TAOD5502D ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='AERASY2D' +! Aerosol asymmetry parameter + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + AERASY2D ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='AERSSA2D' +! Aerosol single-scattering albedo + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + AERSSA2D ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='LWP' +! Liquid water path + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + LWP ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='IWP' +! Ice water path + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + IWP ( i, j ) = dummy ( i, j ) + end do + end do + +! time_averaged SWDOWN + VarName='SWRADMEAN' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im +! averaged incoming solar radiation + SWRADmean ( i, j ) = dummy ( i, j ) + end do + end do + if (me==0) print*,'SWRADmean at ',ii,jj,' = ',SWRADmean(ii,jj) + +! time_averaged SWNORM + VarName='SWNORMMEAN' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im +! averaged incoming solar radiation + SWNORMmean ( i, j ) = dummy ( i, j ) + end do + end do + if (me==0) print*,'SWNORMmean at ',ii,jj,' = ',SWNORMmean(ii,jj) + + VarName='GLW' +! Downwelling longwave flux at surface + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + RLWIN ( i, j ) = dummy ( i, j ) + end do + end do +! ncar wrf does not output sigt4 so make sig4=sigma*tlmh**4 + do j = jsta_2l, jend_2u + do i = 1, im + TLMH=T(I,J,NINT(LMH(I,J))) + SIGT4 ( i, j ) = 5.67E-8*TLMH*TLMH*TLMH*TLMH + end do + end do + + VarName='LWDNBC' +! Clear-sky downwelling longwave flux at surface + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + LWDNBC ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='LWUPBC' +! Clear-sky upwelling longwave flux at surface + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + LWUPBC ( i, j ) = dummy ( i, j ) + end do + end do + +! Top of the atmosphere outgoing LW radiation + VarName='OLR' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + RLWTOA ( i, j ) = dummy ( i, j ) + end do + end do + + +! NCAR WRF does not output accumulated fluxes so set the bitmap of these fluxes to 0 + do j = jsta_2l, jend_2u + do i = 1, im + RSWINC(I,J)=SPVAL + ASWIN(I,J)=SPVAL + ASWOUT(I,J)=SPVAL + ALWIN(I,J)=SPVAL + ALWOUT(I,J)=SPVAL + ALWTOA(I,J)=SPVAL + ASWTOA(I,J)=SPVAL + ARDLW=1.0 + ARDSW=1.0 + NRDLW=1 + NRDSW=1 + end do + end do + + VarName='TMN' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + TG ( i, j ) = dummy ( i, j ) + SOILTB ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='HFX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + TWBS(I,J)= dummy ( i, j ) +! SFCSHX ( i, j ) = dummy ( i, j ) +! ASRFC=1.0 + end do + end do + +! latent heat flux + VarName='LH' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + QWBS(I,J) = dummy ( i, j ) + end do + end do + +! ground heat fluxes + VarName='GRDFLX' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + GRNFLX(I,J) = dummy ( i, j ) + end do + end do + +! NCAR WRF does not output accumulated fluxes so bitmask out these fields + do j = jsta_2l, jend_2u + do i = 1, im + SFCSHX(I,J)=SPVAL + SFCLHX(I,J)=SPVAL + SUBSHX(I,J)=SPVAL + SNOPCX(I,J)=SPVAL + SFCUVX(I,J)=SPVAL + POTEVP(I,J)=SPVAL + NCFRCV(I,J)=SPVAL + NCFRST(I,J)=SPVAL + ASRFC=1.0 + NSRFC=1 + end do + end do + +! VarName='WEASD' +! Snow water equivalent + VarName='SNOW' ! WRF V2 replace WEASD with SNOW + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + if( dummy ( i, j ) < SPVAL) then + if( dummy ( i, j ) <= 5000.0 .and. dummy ( i, j ) >=0.0) then + SNO ( i, j ) = dummy ( i, j ) + elseif( dummy ( i, j ) > 5000.0) then + SNO ( i, j ) = 5000.0 + !write(*,*) 'too large SNOW=',i,j,dummy ( i, j ) + elseif( dummy ( i, j ) < 0.0 ) then + SNO ( i, j ) = 0.0 + write(*,*) 'negative SNOW=',i,j,dummy ( i, j ) + else + SNO ( i, j ) = 0.0 + write(*,*) 'strange SNOW=',i,j,dummy ( i, j ) + endif + endif + end do + end do +! Snow depth + VarName='SNOWH' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + if( dummy ( i, j ) < SPVAL) then + if( dummy ( i, j ) <= 50.0 .and. dummy ( i, j ) >=0.0) then + SI ( i, j ) = dummy ( i, j ) * 1000. + elseif( dummy ( i, j ) > 50.0) then + SI ( i, j ) = 50.0 * 1000. + !write(*,*) 'too large SNOWH=',i,j,dummy ( i, j ) + elseif( dummy ( i, j ) < 0.0 ) then + SI ( i, j ) = 0.0 + write(*,*) 'negative SNOWH=',i,j,dummy ( i, j ) + else + SI ( i, j ) = 0.0 + write(*,*) 'strange SNOWH=',i,j,dummy ( i, j ) + endif + endif + end do + end do + +! snow cover + VarName='SNOWC' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + PCTSNO ( i, j ) = dummy ( i, j ) + end do + end do + +! Accumulated grid-scale snow and ice precipitation + VarName='SNOWNC' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SNONC ( i, j ) = dummy ( i, j ) + end do + end do + +! snowfall density + VarName='RHOSNF' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SNFDEN ( i, j ) = max(0.,dummy ( i, j )) + end do + end do + if (me==0) print *,' MIN/MAX SNFDEN ',minval(SNFDEN),maxval(SNFDEN) + +! snowfall accumulation + VarName='SNOWFALLAC' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SNDEPAC ( i, j ) = dummy ( i, j ) + end do + end do + if (me==0) print *,' MIN/MAX SNDEPAC ',minval(SNDEPAC),maxval(SNDEPAC) + +! snow temperature at the interface of 2 snow layers + VarName='SOILT1' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + TSNOW ( i, j ) = dummy ( i, j ) + end do + end do + + call getVariable(fileName,DateStr,DataHandle,'IVGTYP',DUMMY, & + IM,1,JM,1,IM,JS,JE,1) +! print*,'sample VEG TYPE',DUMMY(20,20) + do j = jsta_2l, jend_2u + do i = 1, im + IVGTYP ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='ISLTYP' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + ISLTYP ( i, j ) = dummy ( i, j ) + end do + end do +! if (me==0) print*,'MAX ISLTYP=', maxval(dummy) + +! XLAND 1 land 2 sea + VarName='XLAND' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + SM ( i, j ) = dummy ( i, j ) - 1.0 + end do + end do + +! PBL depth + VarName='PBLH' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + PBLH ( i, j ) = dummy ( i, j ) + end do + end do + + VarName='XLAT' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + GDLAT ( i, j ) = dummy ( i, j ) +! compute F = 2*omg*sin(xlat) + f(i,j) = 1.454441e-4*sin(gdlat(i,j)*DTR) + end do + end do +! pos north +! print*,'GDLAT at ',ii,jj,' = ',GDLAT(ii,jj) +! print*,'read past GDLAT' + VarName='XLONG' + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + GDLON ( i, j ) = dummy ( i, j ) +! if(abs(GDLAT(i,j)-20.0)<0.5 .and. abs(GDLON(I,J) +! 1 +157.0)<5.)print* +! 2 ,'Debug:I,J,GDLON,GDLAT,SM,HGT,psfc= ',i,j,GDLON(i,j) +! 3 ,GDLAT(i,j),SM(i,j),FIS(i,j)/G,PINT(I,j,lm+1) + end do + end do +! print*,'GDLON at ',ii,jj,' = ',GDLON(ii,jj) +! print*,'read past GDLON' +! pos east + call collect_loc(gdlat,dummy) + if(me==0)then + latstart=nint(dummy(1,1)*gdsdegr) + latlast=nint(dummy(im,jm)*gdsdegr) +! print*,'LL corner from model output= ',dummy(1,1) +! print*,'LR corner from model output= ',dummy(im,1) +! print*,'UL corner from model output= ',dummy(1,jm) +! print*,'UR corner from model output= ',dummy(im,jm) + end if + if(me==0) write(6,*) 'laststart,latlast B calling bcast= ',latstart,latlast + call mpi_bcast(latstart,1,MPI_INTEGER,0,mpi_comm_comp,irtn) + call mpi_bcast(latlast,1,MPI_INTEGER,0,mpi_comm_comp,irtn) + if(me==0) write(6,*) 'laststart,latlast A calling bcast= ',latstart,latlast + call collect_loc(gdlon,dummy) + if(me==0)then + if(dummy(1,1)<0.0) dummy(1,1)=360.0+dummy(1,1) + if(dummy(im,jm)<0.0) dummy(im,jm)=360.0+dummy(im,jm) + lonstart=nint(dummy(1,1)*gdsdegr) + lonlast=nint(dummy(im,jm)*gdsdegr) +! print*,'LL corner from model output= ',dummy(1,1) +! print*,'LR corner from model output= ',dummy(im,1) +! print*,'UL corner from model output= ',dummy(1,jm) +! print*,'UR corner from model output= ',dummy(im,jm) + end if + if(me==0) write(6,*)'lonstart,lonlast B calling bcast=',lonstart,lonlast + call mpi_bcast(lonstart,1,MPI_INTEGER,0,mpi_comm_comp,irtn) + call mpi_bcast(lonlast,1,MPI_INTEGER,0,mpi_comm_comp,irtn) + if(me==0) write(6,*)'lonstart,lonlast A calling bcast= ',lonstart,lonlast +! +! obtain map scale factor + VarName='MAPFAC_M' + + allocate(msft(IM,jsta_2l:jend_2u)) + + call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & + IM,1,JM,1,IM,JS,JE,1) + do j = jsta_2l, jend_2u + do i = 1, im + MSFT ( i, j ) = dummy ( i, j ) + end do + end do + +! physics calling frequency + VarName='STEPBL' + call getIVariableN(fileName,DateStr,DataHandle,VarName,NPHS, & + 1,1,1,1,1,1,1,1) + + +! ncar wrf does not output zenith angle so make czen=czmean so that +! RSWIN can be output normally in SURFCE + IF(MODELNAME /= 'RAPR')THEN + do j = jsta_2l, jend_2u + do i = 1, im + CZEN ( i, j ) = 1.0 + CZMEAN ( i, j ) = CZEN ( i, j ) + end do + end do + ELSE + + call w3fs13(idat(3),idat(1),idat(2),jdn) + do j=jsta,jend + do i=1,im + call zensun(jdn,float(idat(4)),gdlat(i,j),gdlon(i,j) & + ,pi,sun_zenith,sun_azimuth) + temp=sun_zenith/rtd + czen(i,j)=cos(temp) + CZMEAN ( i, j ) = CZEN ( i, j ) + end do + end do + if (me==0) print*,'sample RAPR zenith angle=',acos(czen(ii,jj))*rtd + ENDIF + +! Get information related to map projection, grid spacing, etc. + call ext_ncd_get_dom_ti_integer(DataHandle,'MAP_PROJ',itmp, & + 1,ioutcount,istatus) + maptype=itmp + if(me==0) write(6,*) 'maptype= ', maptype + + call ext_ncd_get_dom_ti_real(DataHandle,'DX',tmp, & + 1,ioutcount,istatus) + if(maptype==0)then + dxval=tmp*gdsdegr ! grid length in degrees for lat-lon proj + if(me==0) write(6,*) 'dxval= ',tmp + else + dxval=nint(tmp) + if(me==0) write(6,*) 'dxval= ',dxval + endif + + call ext_ncd_get_dom_ti_real(DataHandle,'DY',tmp, & + 1,ioutcount,istatus) + if(maptype==0)then + dyval=tmp*gdsdegr ! grid length in degrees for lat-lon proj + if(me==0) write(6,*) 'dyval= ',tmp + else + dyval=nint(tmp) + if(me==0) write(6,*) 'dyval= ',dyval + endif + + call ext_ncd_get_dom_ti_real(DataHandle,'CEN_LAT',tmp, & + 1,ioutcount,istatus) + cenlat=nint(gdsdegr*tmp) + if(me==0) write(6,*) 'cenlat= ', cenlat + + call ext_ncd_get_dom_ti_real(DataHandle,'CEN_LON',tmp, & + 1,ioutcount,istatus) + if(tmp < 0) tmp=360.0 + tmp + cenlon=nint(gdsdegr*tmp) + if(me==0) write(6,*) 'cenlon= ', cenlon + + if(maptype/=6)then + call ext_ncd_get_dom_ti_real(DataHandle,'TRUELAT1',tmp, & + 1,ioutcount,istatus) + truelat1=nint(gdsdegr*tmp) + if(me==0) write(6,*) 'truelat1= ', truelat1 + + if(maptype/=2)then !PS projection excluded + call ext_ncd_get_dom_ti_real(DataHandle,'TRUELAT2',tmp, & + 1,ioutcount,istatus) + truelat2=nint(gdsdegr*tmp) + if(me==0) write(6,*) 'truelat2= ', truelat2 + endif + endif + + call ext_ncd_get_dom_ti_real(DataHandle,'STAND_LON',tmp, & + 1,ioutcount,istatus) + if(tmp < 0) tmp=360.0 + tmp + STANDLON=nint(gdsdegr*tmp) + if(me==0) write(6,*) 'STANDLON= ', STANDLON + +! Calculate the DX and DY arrays: Note that these are used elsewhere in UPP +! for finite-difference calculations. However, the grid-length information +! provided in the GRIB2 files is actually from the "dxval" and "dyval" values +! (calculated further above and below). + do j = jsta_2l, jend_2u + do i = 1, im + if(maptype==0)then + ! obatin DX and DY lengths from lat and lon + DX(i,j) = ERAD*COS(GDLAT(i,j)*DTR)*(GDLON(i+1,j)-GDLON(i,j))*DTR + DY(i,j) = ERAD*(GDLAT(i,j+1)-GDLAT(i,j))*DTR + else + ! obatin DX and DY lengths from scale factor + DX(i,j) = dxval/MSFT(i,j) + DY(i,j) = dyval/MSFT(i,j) + end if + end do + end do + + if (me==0) then + ii=im/2 + jj=(jend+jsta)/2 + print*,'Sample DX,DY arrays (meters): ',dx(ii,jj),dy(ii,jj) + print*,'Sample map scale factor:' ,msft(ii,jj) + end if + +! Convert DXVAL and DYVAL for ARW rotated latlon from meters to radian + if(maptype==6)then + dxval=(DXVAL * 360.)/(ERAD*2.*pi)*gdsdegr + dyval=(DYVAL * 360.)/(ERAD*2.*pi)*gdsdegr + + if (me==0) print*,'dx and dy for rotated latlon= ', & + dxval,dyval + end if + +!Set smoothing flag for isobaric output + IF(MODELNAME == 'RAPR')THEN + SMFLAG=.FALSE. + ! J. Kenyon (28 Aug 2024): smoothing is disabled for RAPR. + ! Note that this smoothing flag is present in several + ! subroutines (e.g., MDL2P, MDLFLD, and MAPSSLP). The + ! smoothing operation is formulated using "dxval", which + ! is a domain constant (e.g., 3000 m) that depends on + ! the grid length. The "dxval" value should not be + ! confused with the spatially varying "DX(i,j)" array. + ! + ! If smoothing is reactivated, "dxval" will likely + ! already be correctly specified for some projections + ! (e.g., Lambert conformal). However, "dxval" for + ! other projections (e.g., lat-lon) is expressed as an + ! angular width (in degrees). Accordingly, a suitable + ! "dxval" (distance) will need to be specified for + ! these smoothing instances, or these instances + ! will need to be reformulated without a dependence + ! on "dxval". + ! + ! For the lat-lon projection (maptype=0), the following + ! relationships should convert dxval and dyval from + ! angular (deg) to linear (m) widths and may be useful: + ! + ! if(maptype==0)then + ! dyval=ERAD*dyval/gdsdegr*dtr + ! dxval=ERAD*dxval/gdsdegr*dtr*COS(abs(cenlat/gdsdegr*dtr)) + ! print*,'For lat-lon: using dxval,dyval (meters)=',dxval,dyval + ! endif + ELSE + SMFLAG=.FALSE. + ENDIF + +! generate look up table for lifted parcel calculations + + THL=210. + PLQ=70000. + + CALL TABLE(PTBL,TTBL,PT, & + RDQ,RDTH,RDP,RDTHE,PL,THL,QS0,SQS,STHE,THE0) + + CALL TABLEQ(TTBLQ,RDPQ,RDTHEQ,PLQ,THL,STHEQ,THE0Q) + +! +! + IF(ME==0)THEN + WRITE(6,*)' SPL (POSTED PRESSURE LEVELS) BELOW: ' + WRITE(6,51) (SPL(L),L=1,LSM) + 50 FORMAT(14(F4.1,1X)) + 51 FORMAT(8(F8.1,1X)) + ENDIF +! +! COMPUTE DERIVED TIME STEPPING CONSTANTS. +! +!need to get DT + call ext_ncd_get_dom_ti_real(DataHandle,'DT',tmp,1,ioutcount,istatus) + DT=abs(tmp) + if (me==0) print*,'DT= ',DT + +!need to get period of time for precipitation buckets + call ext_ncd_get_dom_ti_real(DataHandle,'PREC_ACC_DT',tmp,1,ioutcount,istatus) + prec_acc_dt=abs(tmp) + if (me==0) print*,'PREC_ACC_DT= ',prec_acc_dt + +!need to get period of time for precipitation bucket 1 (15-min precip) +!talk to Tanya about getting this output in wrfout file + prec_acc_dt1=15.0 + if (me==0) print*,'PREC_ACC_DT1= ',prec_acc_dt1 + +! DT = 120. !MEB need to get DT + NPHS = 1 !CHUANG SET IT TO 1 BECAUSE ALL THE INST PRECIP ARE ACCUMULATED 1 TIME STEP + DTQ2 = DT * NPHS !MEB need to get physics DT + TSPH = 3600./DT !MEB need to get DT +! Randomly specify accumulation period because WRF EM does not +! output accumulation fluxes yet and accumulated fluxes are bit +! masked out + + TSRFC=1.0 + TRDLW=1.0 + TRDSW=1.0 + THEAT=1.0 + TCLOD=1.0 + + TPREC=float(NPREC)/TSPH + IF(NPREC==0)TPREC=float(ifhr) !in case buket does not get emptied + if (me==0) print*,'NPREC,TPREC = ',NPREC,TPREC + + if (me==0) print*,'TSRFC TRDLW TRDSW= ',TSRFC, TRDLW, TRDSW + +! COMPUTE DERIVED MAP OUTPUT CONSTANTS. + DO L = 1,LSM + ALSL(L) = ALOG(SPL(L)) + END DO + + deallocate (msft) + +! convert dxval, dyval from meters to millimeters +! (except for lat-lon grids; refer to explantion near the SMFLAG +! specification) + if ((grib=="grib2") .and. (maptype/=0)) then + dxval=dxval*1000. + dyval=dyval*1000. + endif +! + + RETURN + END diff --git a/sorc/ncep_post.fd/INITPOST_NEMS.f b/sorc/ncep_post.fd/INITPOST_NEMS.f index 51575df3a4..ff590469e6 100644 --- a/sorc/ncep_post.fd/INITPOST_NEMS.f +++ b/sorc/ncep_post.fd/INITPOST_NEMS.f @@ -1,39 +1,29 @@ !> @file -! . . . -!> SUBPROGRAM: INITPOST INITIALIZE POST FOR RUN -!! PRGRMMR: Hui-Ya Chuang DATE: 2008-03-26 -!! -!! ABSTRACT: THIS ROUTINE INITIALIZES CONSTANTS AND -!! VARIABLES AT THE START OF AN NEMS MODEL OR POST -!! PROCESSOR RUN. -!! -!! REVISION HISTORY -!! 21-03-11 Bo Cui - change local arrays to dimension (im,jsta:jend) -!! -!! USAGE: CALL INITPOST_NEMS -!! INPUT ARGUMENT LIST: -!! NREC -!! NFILE -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! LOOKUP -!! SOILDEPTH -!! -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief initpost_nems() initializes post for run. +!> +!> @author Hui-Ya Chuang @date 2007-03-26 +!> +!> This routine initializes constants and +!> variables at the start of an NEMS model or post +!> processor run. +!> +!> @param[in] NREC. +!> @param[inout] NFILE. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2007-03-01 | Hui-Ya Chuang | Initial +!> 2021-03-11 | Bo Cui | Change local arrays to dimension (im,jsta:jend) +!> +!> @author Hui-Ya Chuang @date 2007-03-26 +!---------------------------------------------------------------------- +!> @brief INITPOST_NEMS This routine initializes constants and +!> variables at the start of an NEMS model or post processor run. +!> +!> @param[in] NREC integer Number of records in file. +!> @param[inout] nfile nemsio_gfile Name of the NEMS-formatted model output file. +!---------------------------------------------------------------------- SUBROUTINE INITPOST_NEMS(NREC,nfile) use vrbls3d, only: t, q, uh, vh, q2, cwm, f_ice, f_rain, f_rimef, cfr, pint,& @@ -67,9 +57,11 @@ SUBROUTINE INITPOST_NEMS(NREC,nfile) use gridspec_mod, only: dyval, dxval, cenlat, cenlon, maptype, gridtype, latstart, latlast, latnw,& latse, lonstart, lonlast, lonnw, lonse, latstartv, latlastv, cenlatv, lonstartv,& lonlastv, cenlonv - use rqstfld_mod, only: use nemsio_module, only: nemsio_gfile, nemsio_getfilehead, nemsio_close, nemsio_getheadvar use upp_math, only: h2u + use exch_upp_mod, only: exch + use table_upp_mod, only : table + use tableq_upp_mod, only : tableq ! ! INCLUDE/SET PARAMETERS. implicit none @@ -1945,25 +1937,25 @@ SUBROUTINE INITPOST_NEMS(NREC,nfile) END DO if (me==0) then print*,'finish deriving geopotential in nmm' - write(0,*)' after ZINT lm=',lm,' js=',js,' je=',je,' im=',im - write(0,*)' zmid lbounds=',lbound(zmid),' ubounds=',ubound(zmid) - write(0,*)' zint lbounds=',lbound(zint),' ubounds=',ubound(zint) - write(0,*)' pmid lbounds=',lbound(pmid),' ubounds=',ubound(pmid) - write(0,*)' pint lbounds=',lbound(pint),' ubounds=',ubound(pint) + write(*,*)' after ZINT lm=',lm,' js=',js,' je=',je,' im=',im + write(*,*)' zmid lbounds=',lbound(zmid),' ubounds=',ubound(zmid) + write(*,*)' zint lbounds=',lbound(zint),' ubounds=',ubound(zint) + write(*,*)' pmid lbounds=',lbound(pmid),' ubounds=',ubound(pmid) + write(*,*)' pint lbounds=',lbound(pint),' ubounds=',ubound(pint) endif deallocate(fi) ! DO L=1,LM -! write(0,*)' zmid l=',l +! write(*,*)' zmid l=',l !$omp parallel do private(i,j,fact) DO J=Jsta,Jend -! write(0,*)' zmid j=',j +! write(*,*)' zmid j=',j DO I=1,IM -! write(0,*)' zmid i=',i +! write(*,*)' zmid i=',i ! ZMID(I,J,L)=(ZINT(I,J,L+1)+ZINT(I,J,L))*0.5 ! ave of z -! write(0,*)' pmid=',pmid(i,j,l) -! write(0,*)' pint=',pint(i,j,l),pint(i,j,l+1) -! write(0,*)' zint=',zint(i,j,l),zint(i,j,l+1) +! write(*,*)' pmid=',pmid(i,j,l) +! write(*,*)' pint=',pint(i,j,l),pint(i,j,l+1) +! write(*,*)' zint=',zint(i,j,l),zint(i,j,l+1) FACT = (LOG(PMID(I,J,L))-LOG(PINT(I,J,L))) & / (LOG(PINT(I,J,L+1))-LOG(PINT(I,J,L))) ZMID(I,J,L) = ZINT(I,J,L) + (ZINT(I,J,L+1)-ZINT(I,J,L))*FACT @@ -2846,7 +2838,7 @@ SUBROUTINE INITPOST_NEMS(NREC,nfile) ! close all files call nemsio_close(nfile,iret=status) ! - if(me==0)write(0,*)'end of INIT_NEMS' + if(me==0)write(*,*)'end of INIT_NEMS' RETURN END diff --git a/sorc/ncep_post.fd/INITPOST_NEMS_MPIIO.f b/sorc/ncep_post.fd/INITPOST_NEMS_MPIIO.f deleted file mode 100644 index 1d472c8091..0000000000 --- a/sorc/ncep_post.fd/INITPOST_NEMS_MPIIO.f +++ /dev/null @@ -1,2465 +0,0 @@ -!> @file -! . . . -!> SUBPROGRAM: INITPOST INITIALIZE POST FOR RUN -!! PRGRMMR: Hui-Ya Chuang DATE: 2008-03-26 -!! -!! ABSTRACT: THIS ROUTINE INITIALIZES CONSTANTS AND -!! VARIABLES AT THE START OF AN NEMS MODEL OR POST -!! PROCESSOR RUN. -!! -!! REVISION HISTORY -!! 21-03-11 Bo Cui - change local arrays to dimension (im,jsta:jend) -!! -!! USAGE: CALL INITPOST_NEMS -!! INPUT ARGUMENT LIST: -!! NREC -!! NFILE -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! LOOKUP -!! SOILDEPTH -!! -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! - SUBROUTINE INITPOST_NEMS_MPIIO() - - use vrbls3d, only: t, q, uh, vh, q2, cwm, f_ice, f_rain, f_rimef, cfr, pint,& - pint, alpint, pmid, pmidv, zint, zmid, wh, rlwtt, rswtt,& - ttnd, tcucn, train, el_pbl, exch_h, omga - use vrbls2d, only: f, pd, fis, pblh, mixht, ustar, z0, ths, qs, twbs, qwbs, prec,& - acprec, cuprec,ancprc, lspa, sno, snoavg, psfcavg, t10avg, t10m, akhsavg, akmsavg,& - refd_max, w_up_max, w_dn_max, up_heli_max, si, cldefi, th10, q10, pshltr,& - tshltr, qshltr, maxtshltr, mintshltr, maxrhshltr, minrhshltr, akhs, akms, albase,& - albedo, czen, cfracl, cfracm, islope, cmc, grnflx, pctsno, soiltb, vegfrc,& - acfrcv, acfrst, ssroff, bgroff, czmean, mxsnal, radot, sigt4, tg, sr, cfrach,& - rlwin, rlwtoa, alwin, alwout, alwtoa, rswin, rswinc, rswout, aswin,aswout,& - aswtoa, sfcshx, sfclhx, subshx, snopcx, sfcuvx, potevp, ncfrcv, ncfrst, u10h,& - u10, v10h, v10, u10max, v10max, smstav, smstot, sfcevp, ivgtyp, acsnow, acsnom,& - sst, thz0, qz0, uz0, vz0, htop, isltyp, sfcexc, hbot, htopd, htops, cuppt, cprate,& - hbotd, hbots - use soil, only: sldpth, sh2o, smc, stc - use masks, only: lmv, lmh, htm, vtm, dx, dy, hbm2, gdlat, gdlon, sm, sice - use kinds, only: i_llong - use wrf_io_flags_mod, only: - use params_mod, only: pi, dtr, g, d608, rd - use lookup_mod, only: thl, plq, ptbl, ttbl, rdq, rdth, rdp, rdthe, pl, qs0, sqs, sthe, the0,& - ttblq, rdpq, rdtheq, stheq, the0q - use ctlblk_mod, only: me, mpi_comm_comp, global, icnt, idsp, jsta, ihrst, imin, idat, sdat,& - ifhr, ifmin, filename, restrt, imp_physics, isf_surface_physics, icu_physics, jend,& - dt, spval, gdsdegr, grib, pdtop, pt, tmaxmin, nsoil, lp1, jend_m, nprec, nphs, avrain,& - avcnvc, ardlw, ardsw, asrfc, novegtype, spl, lsm, dtq2, tsrfc, trdlw, trdsw, theat, tclod,& - tprec, alsl, lm , im, jm, jsta_2l, jend_2u, ivegsrc, pthresh - use gridspec_mod, only: dyval, dxval, cenlat, cenlon, maptype, gridtype, latstart, latlast, latnw,& - latse, lonstart, lonlast, lonnw, lonse, latstartv, latlastv, cenlatv, lonstartv,& - lonlastv, cenlonv - use rqstfld_mod, only: -! use nemsio_module, only: nemsio_gfile, nemsio_getfilehead, nemsio_close, nemsio_getheadvar - use nemsio_module_mpi - use upp_math, only: h2u -! -! INCLUDE/SET PARAMETERS. - implicit none -! - type(nemsio_gfile) :: nfile -! - INCLUDE "mpif.h" -! This version of INITPOST shows how to initialize, open, read from, and -! close a NetCDF dataset. In order to change it to read an internal (binary) -! dataset, do a global replacement of _ncd_ with _int_. - - character(len=8) :: VarName - character(len=8) :: VcoordName - integer :: Status - integer fldsize,fldst,recn - character startdate*19,SysDepInfo*80,cgar*1 - character startdate2(19)*4 -! -! NOTE: SOME INTEGER VARIABLES ARE READ INTO DUMMY ( A REAL ). THIS IS OK -! AS LONG AS REALS AND INTEGERS ARE THE SAME SIZE. -! -! ALSO, EXTRACT IS CALLED WITH DUMMY ( A REAL ) EVEN WHEN THE NUMBERS ARE -! INTEGERS - THIS IS OK AS LONG AS INTEGERS AND REALS ARE THE SAME SIZE. - LOGICAL RUNB,SINGLRST,SUBPOST,NEST,HYDRO - LOGICAL IOOMG,IOALL - logical, parameter :: debugprint = .false. - logical fliplayer ! whether or not to flip layer - logical :: convert_rad_to_deg=.false. -! logical global - CHARACTER*32 LABEL - CHARACTER*40 CONTRL,FILALL,FILMST,FILTMP,FILTKE,FILUNV & - , FILCLD,FILRAD,FILSFC - CHARACTER*4 RESTHR - CHARACTER FNAME*80,ENVAR*50,BLANK*4 - integer nfhour ! forecast hour from nems io file - INTEGER IDATE(8),JDATE(8) -! -! DECLARE VARIABLES. -! - REAL FACT,tsph,tstart - REAL RINC(5) - REAL ETA1(LM+1), ETA2(LM+1) - REAL GARB - REAL DUM1D (LM+1) - REAL DUMMY ( IM, JM ) -! REAL DUMMY2 ( IM, JM ) - real, allocatable :: fi(:,:,:) - integer ibuf(im,jsta_2l:jend_2u) - real buf(im,jsta_2l:jend_2u) - character*8,allocatable:: recname(:) - character*8,allocatable :: reclevtyp(:) - integer,allocatable:: reclev(:) - real, allocatable:: bufy(:) - real, allocatable:: glat1d(:),glon1d(:) - real, allocatable:: tmp(:) -!jw - integer ii,jj,js,je,jev,iyear,imn,iday,itmp,ioutcount,istatus, & - nsrfc,nrdlw,nrdsw,nheat,nclod, & - iunit,nrec,I,J,L, iret,nframe,impf,jmpf,nframed2, & - igdout,ll,n,im1,jm1,iim1 -! - DATA BLANK/' '/ -! -!*********************************************************************** -! START INIT HERE. -! - WRITE(6,*)'INITPOST: ENTER INITPOST' -! -! -! STEP 1. READ MODEL OUTPUT FILE -! -!*** -! LMH always = LM for sigma-type vert coord -! LMV always = LM for sigma-type vert coord - - do j = jsta_2l, jend_2u - do i = 1, im - LMV ( i, j ) = lm - LMH ( i, j ) = lm - end do - end do - -! HTM VTM all 1 for sigma-type vert coord - - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - HTM ( i, j, l ) = 1.0 - VTM ( i, j, l ) = 1.0 - end do - end do - end do - -! The end j row is going to be jend_2u for all variables except for V. - JS=JSTA_2L - JE=JEND_2U - IF (JEND_2U==JM) THEN - JEV=JEND_2U+1 - ELSE - JEV=JEND_2U - ENDIF -! sample print point - ii=(1+im)/2 - jj=(1+jm)/2 -! initialize nemsio using mpi io module - call nemsio_init() - call nemsio_open(nfile,trim(filename),'read',mpi_comm_comp,iret=status) - if ( Status /= 0 ) then - print*,'error opening ',fileName, ' Status = ', Status ; stop - endif - call nemsio_getfilehead(nfile,iret=status,nrec=nrec) - print*,'nrec=',nrec - allocate(recname(nrec),reclevtyp(nrec),reclev(nrec)) - call nemsio_getfilehead(nfile,iret=iret & - ,recname=recname ,reclevtyp=reclevtyp,reclev=reclev) - if (me == 0)then - do i=1,nrec - print *,'recname,reclevtyp,reclev=',trim(recname(i)),' ', & - trim(reclevtyp(i)),reclev(i) - end do - end if - -! get start date - idate=0 -! if (me == 0)then - call nemsio_getfilehead(nfile,iret=iret & - ,idate=idate(1:7),nfhour=nfhour,nframe=nframe) - - impf=im+nframe*2 - jmpf=jm+nframe*2 - print*,'nframe,impf,jmpf= ',nframe,impf,jmpf - allocate(glat1d(impf*jmpf),glon1d(impf*jmpf) ) - call nemsio_getfilehead(nfile,dx=glat1d & - ,dy=glon1d,iret=iret) - if(iret/=0)print*,'did not find dx dy' - do j=jsta,jend - do i=1,im - ! dummy(i,j) = glat1d((j-1)*impf+i+nframe) - ! dummy2(i,j) = glon1d((j-1)*impf+i+nframe) - dx(i,j)= glat1d((j-1)*impf+i+nframe) - dy(i,j)= glon1d((j-1)*impf+i+nframe) - end do - end do - deallocate(glat1d,glon1d) - print*,'idate before broadcast = ',(idate(i),i=1,7) -! end if !for me=0 -! call mpi_bcast(idate(1),7,MPI_INTEGER,0,mpi_comm_comp,iret) -! call mpi_bcast(nfhour,1,MPI_INTEGER,0,mpi_comm_comp,iret) -! call mpi_bcast(nframe,1,MPI_INTEGER,0,mpi_comm_comp,iret) - - IF(.not. global)THEN - impf=im+nframe*2 - jmpf=jm+nframe*2 - ELSE - impf=im+1 ! post cut im off because it's the same as i=1 but data from model is till im - jmpf=jm - END IF - print*,'impf,jmpf,nframe for reading fields = ',impf,jmpf,nframe - print*,'idate after broadcast = ',(idate(i),i=1,7) - print*,'nfhour = ',nfhour - !call mpi_scatterv(dummy(1,1),icnt,idsp,mpi_real & - ! ,dx(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) - !call mpi_scatterv(dummy2(1,1),icnt,idsp,mpi_real & - ! ,dy(1,jsta),icnt(me),mpi_real,0,MPI_COMM_COMP,iret) - - - iyear = idate(1) - imn = idate(2) ! ask Jun - iday = idate(3) ! ask Jun - ihrst = idate(4) - imin = idate(5) - jdate = 0 - idate = 0 -! -! read(startdate,15)iyear,imn,iday,ihrst,imin - 15 format(i4,1x,i2,1x,i2,1x,i2,1x,i2) - print*,'start yr mo day hr min =',iyear,imn,iday,ihrst,imin - print*,'processing yr mo day hr min=' & - ,idat(3),idat(1),idat(2),idat(4),idat(5) -! - idate(1) = iyear - idate(2) = imn - idate(3) = iday - idate(5) = ihrst - idate(6) = imin - SDAT(1) = imn - SDAT(2) = iday - SDAT(3) = iyear - jdate(1) = idat(3) - jdate(2) = idat(1) - jdate(3) = idat(2) - jdate(5) = idat(4) - jdate(6) = idat(5) -! - print *,' idate=',idate - print *,' jdate=',jdate -! CALL W3DIFDAT(JDATE,IDATE,2,RINC) -! ifhr=nint(rinc(2)) -! - CALL W3DIFDAT(JDATE,IDATE,0,RINC) -! - print *,' rinc=',rinc - ifhr=nint(rinc(2)+rinc(1)*24.) - print *,' ifhr=',ifhr - ifmin=nint(rinc(3)) -! if(ifhr /= nfhour)print*,'find wrong Model input file';stop - print*,' in INITPOST ifhr ifmin fileName=',ifhr,ifmin,fileName - -! Getting tstart - tstart=0. - print*,'tstart= ',tstart - -! Getiing restart - - RESTRT=.TRUE. ! set RESTRT as default -! call ext_int_get_dom_ti_integer(DataHandle,'RESTARTBIN',itmp -! + ,1,ioutcount,istatus) - -! IF(itmp < 1)THEN -! RESTRT=.FALSE. -! ELSE -! RESTRT=.TRUE. -! END IF - -! print*,'status for getting RESTARTBIN= ',istatus - -! print*,'Is this a restrt run? ',RESTRT - - IF(tstart > 1.0E-2)THEN - ifhr=ifhr+NINT(tstart) - rinc=0 - idate=0 - rinc(2)=-1.0*ifhr - call w3movdat(rinc,jdate,idate) - SDAT(1)=idate(2) - SDAT(2)=idate(3) - SDAT(3)=idate(1) - IHRST=idate(5) - print*,'new forecast hours for restrt run= ',ifhr - print*,'new start yr mo day hr min =',sdat(3),sdat(1) & - ,sdat(2),ihrst,imin - END IF - - VarName='mp_physi' - !if(me == 0)then - call nemsio_getheadvar(nfile,trim(VarName),imp_physics,iret) - if (iret /= 0) then - print*,VarName," not found in file- go to 16 character " - VarName='mp_physics' - call nemsio_getheadvar(nfile,trim(VarName),imp_physics,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned 1000" - imp_physics=1000 - end if - end if - !end if - !call mpi_bcast(imp_physics,1,MPI_INTEGER,0,mpi_comm_comp,iret) - print*,'MP_PHYSICS= ',imp_physics - -! Initializes constants for Ferrier microphysics - if(imp_physics==5 .or. imp_physics==85 .or. imp_physics==95)then - CALL MICROINIT(imp_physics) - end if - - VarName='sf_surface_physi' - call nemsio_getheadvar(nfile,trim(VarName),iSF_SURFACE_PHYSICS,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned 2 for NOAH LSM as default" - iSF_SURFACE_PHYSICS=2 - end if - print*,'SF_SURFACE_PHYSICS= ',iSF_SURFACE_PHYSICS - -! IVEGSRC=1 for IGBP and 0 for USGS - VarName='IVEGSRC' - call nemsio_getheadvar(nfile,trim(VarName),IVEGSRC,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned 1 for IGBP as default" - IVEGSRC=1 - end if - print*,'IVEGSRC= ',IVEGSRC - -! set novegtype based on vegetation classification - if(ivegsrc==1)then - novegtype=20 - else if(ivegsrc==0)then - novegtype=24 - end if - print*,'novegtype= ',novegtype - - VarName='CU_PHYSICS' - call nemsio_getheadvar(nfile,trim(VarName),iCU_PHYSICS,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned 2 for BMJ as default" - iCU_PHYSICS=2 - end if - print*,'CU_PHYSICS= ',iCU_PHYSICS - - - allocate(bufy(jm)) - VarName='DX' -! if(me == 0)then -! call nemsio_getheadvar(nfile,trim(VarName),bufy,iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! dx=spval -! end if -! end if -! call mpi_bcast(bufy,jm,MPI_REAL,0,mpi_comm_comp,iret) -! do j=jsta,jend -! do i=1,im -! dx(i,j)=bufy(j) -! end do -! end do - if(debugprint)print*,'sample ',VarName,' = ',dx(im/2,(jsta+jend)/2) - - VarName='DY' -! if(me == 0)then -! call nemsio_getheadvar(nfile,trim(VarName),bufy,iret) -! if (iret /= 0) then -! print*,VarName," not found in file-Assigned missing values" -! dx=spval -! end if -! end if -! call mpi_bcast(bufy,jm,MPI_REAL,0,mpi_comm_comp,iret) -! do j=jsta,jend -! do i=1,im -! dy(i,j)=bufy(j) -! end do -! end do - if(debugprint)print*,'sample ',VarName,' = ',dy(im/2,(jsta+jend)/2) - deallocate(bufy) - - VarName='dt' - call nemsio_getheadvar(nfile,trim(VarName),garb,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned missing values" - dt=spval - else - dt=garb - end if - - VarName='dphd' - call nemsio_getheadvar(nfile,trim(VarName),garb,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned missing values" - dyval=spval - else - dyval=garb*gdsdegr - end if -! dyval=106 ! hard wire for AQ domain testing - - VarName='dlmd' - call nemsio_getheadvar(nfile,trim(VarName),garb,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned missing values" - dxval=spval - else - dxval=garb*gdsdegr - end if -! dxval=124 ! hard wire for AQ domain testing - - print*,'DX, DY, DT=',dxval,dyval,dt - - VarName='TPH0D' - call nemsio_getheadvar(nfile,trim(VarName),garb,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned missing values" - cenlat=spval - else - cenlat=nint(garb*gdsdegr) - end if - - VarName='TLM0D' - call nemsio_getheadvar(nfile,trim(VarName),garb,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned missing values" - cenlon=spval - else - if(grib=="grib2") then - cenlon=nint((garb+360.)*gdsdegr) - endif - end if - - varname='sg1' - call nemsio_getheadvar(nfile,trim(varname),eta1,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned missing values" - ETA1=SPVAL - end if - - varname='sg2' - call nemsio_getheadvar(nfile,trim(varname),eta2,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned missing values" - ETA2=SPVAL - end if - if(me==0)then - open(75,file='ETAPROFILE.txt',form='formatted', & - status='unknown') - DO L=1,lm+1 - write(75,1020)L, ETA1(lm+2-l), ETA2(lm+2-l) - END DO - 1020 format(I3,2E17.10) - close (75) - end if - - varname='pdtop' - call nemsio_getheadvar(nfile,trim(varname),pdtop,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned missing values" - pdtop=SPVAL - end if - - varname='pt' - call nemsio_getheadvar(nfile,trim(varname),pt,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned missing values" - pt=SPVAL - end if - print*,'PT, PDTOP= ',PT,PDTOP - - VarName='sldpth' - call nemsio_getheadvar(nfile,trim(varname),sldpth,iret) - print*,'SLDPTH= ',(SLDPTH(N),N=1,NSOIL) - -! set default to not empty buket - nprec=0 - nphs=0 - nclod=0 - nheat=0 - nrdlw=0 - nrdsw=0 - nsrfc=0 - - VarName='nprec' - call nemsio_getheadvar(nfile,trim(varname),nprec,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned zero" - end if - if(debugprint)print*,'sample ',VarName,' = ',nprec - - VarName='nphs' - call nemsio_getheadvar(nfile,trim(varname),nphs,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned zero" - end if - if(debugprint)print*,'sample ',VarName,' = ',nphs - - VarName='nclod' - call nemsio_getheadvar(nfile,trim(varname),nclod,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned zero" - end if - if(debugprint)print*,'sample ',VarName,' = ',nclod - - VarName='nheat' - call nemsio_getheadvar(nfile,trim(varname),nheat,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned zero" - end if - if(debugprint)print*,'sample ',VarName,' = ',nheat - - VarName='nrdlw' - call nemsio_getheadvar(nfile,trim(varname),nrdlw,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned zero" - end if - if(debugprint)print*,'sample ',VarName,' = ',nrdlw - - VarName='nrdsw' - call nemsio_getheadvar(nfile,trim(varname),nrdsw,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned zero" - end if - if(debugprint)print*,'sample ',VarName,' = ',nrdsw - - VarName='nsrfc' - call nemsio_getheadvar(nfile,trim(varname),nsrfc,iret) - if (iret /= 0) then - print*,VarName," not found in file-Assigned zero" - end if - if(debugprint)print*,'sample ',VarName,' = ',nsrfc - - IF(.not. global)THEN - maptype=205 ! for Arakawa-B grid - gridtype='B' - ELSE - maptype=0 ! for global NMMB on latlon grid - gridtype='A' ! will put wind on mass point for now to make regular latlon - END IF - print*,'maptype and gridtype= ',maptype,gridtype - - HBM2=1.0 - -! start reading nemsio files using parallel read - fldsize=(jend-jsta+1)*im - allocate(tmp(fldsize*nrec)) - print*,'allocate tmp successfully' - tmp=0. - call nemsio_denseread(nfile,1,im,jsta,jend,tmp,iret=iret) - if(iret/=0)then - print*,"fail to read nemsio file using mpi io read, stopping" - stop - end if - - varname='glat' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,gdlat) - - call collect_loc(gdlat,dummy) -! decides whether or not to convert to degree - if(me==0)then - if(maxval(abs(dummy))0. .and. gdlon(2,jsta)<0.)then - do j=jsta,jend - gdlon(1,j)=gdlon(1,j)-360.0 - end do - end if - end if - if(debugprint)print*,'sample ',VarName,' = ',(gdlon(i,(jsta+jend)/2),i=1,im,8) - if(debugprint)print*,'max min lon=',maxval(gdlon),minval(gdlon) - call collect_loc(gdlon,dummy) - if(me==0)then - if(grib=='grib2') then - if(dummy(1,1)<0) dummy(1,1)=dummy(1,1)+360. - if(dummy(im,jm)<0) dummy(im,jm)=dummy(im,jm)+360. - endif - lonstart=nint(dummy(1,1)*gdsdegr) - lonlast=nint(dummy(im,jm)*gdsdegr) - lonnw=nint(dummy(1,jm)*gdsdegr) - lonse=nint(dummy(im,1)*gdsdegr) -! dxval=nint((dummy(2,1)-dummy(1,1))*1000.) -! dxval=124 ! hard wire for AQ domain testing - if(mod(im,2)==0)then -! cenlon=nint((dummy(ii,jj)+dummy(ii+1,jj)+dummy(ii+1,jj+1)+dummy(ii,jj+1))/4.0*1000.) - else -! cenlon=nint(dummy(ii,jj)*1000.) - end if - end if - call mpi_bcast(lonstart,1,MPI_INTEGER,0,mpi_comm_comp,iret) - call mpi_bcast(lonlast,1,MPI_INTEGER,0,mpi_comm_comp,iret) -! call mpi_bcast(dxval,1,MPI_INTEGER,0,mpi_comm_comp,iret) -! call mpi_bcast(cenlon,1,MPI_INTEGER,0,mpi_comm_comp,iret) - write(6,*)'lonstart,lonlast A calling bcast=',lonstart,lonlast - print*,'dxval, cenlon= ',dxval, cenlon - - convert_rad_to_deg=.false. - varname='vlat' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,buf) - - if(debugprint)print*,'sample ',VarName,' = ',buf(im/2,(jsta+jend)/2) - if(debugprint)print*,'max min vlat=',maxval(buf),minval(buf) - call collect_loc(buf,dummy) - if(me==0)then - if(maxval(abs(dummy)) 27.0 .or. sfcevp(i,j)<1.0)print*, & -! 'bad vegtype=',i,j,sfcevp(i,j) -! end do -! end do - - where(sfcevp /= spval)IVGTYP=nint(sfcevp) - if(debugprint)print*,'sample ',VarName,' = ',IVGTYP(im/2,(jsta+jend)/2) - - sfcevp=spval - VarName='sltyp' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,sfcevp) ! temporary use sfcevp because it's real in nemsio - where(sfcevp /= spval)ISLTYP=nint(sfcevp) - if(debugprint)print*,'sample ',VarName,' = ',ISLTYP(im/2,(jsta+jend)/2) - - sfcevp=spval - VarName='sfcevp' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,sfcevp) - if(debugprint)print*,'sample ',VarName,' = ',sfcevp(im/2,(jsta+jend)/2) - - VarName='sfcexc' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,sfcexc) - if(debugprint)print*,'sample ',VarName,' = ',sfcexc(im/2,(jsta+jend)/2) - if(debugprint)print*,'MAX/MIN ',VarName,' = ' & - ,maxval(sfcexc),minval(sfcexc) - - VarName='acsnow' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,acsnow) - if(debugprint)print*,'sample ',VarName,' = ',acsnow(im/2,(jsta+jend)/2) - - VarName='acsnom' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,acsnom) - if(debugprint)print*,'sample ',VarName,' = ',acsnom(im/2,(jsta+jend)/2) - - VarName='tsea' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,sst) - if(debugprint)print*,'sample ',VarName,' = ',sst(im/2,(jsta+jend)/2) - -! VarName='EL_PBL' ! not in nems io yet - VarName='xlen_mix' - VcoordName='mid layer' - do l=1,lm -! ll=lm-l+1 - ll=l - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,ll,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,EL_PBL(1,jsta_2l,ll)) - if(debugprint)print*,'sample l ',VarName,' = ',ll,EL_PBL(im/2,(jsta+jend)/2,ll) - end do ! do loop for l - - VarName='exch_h' - VcoordName='mid layer' - do l=1,lm -! ll=lm-l+1 - ll=l - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,ll,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,exch_h(1,jsta_2l,ll)) - if(debugprint)print*,'sample l ',VarName,' = ',ll,exch_h(im/2,(jsta+jend)/2,ll) - end do ! do loop for l - - VarName='thz0' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,thz0) - if(debugprint)print*,'sample ',VarName,' = ',thz0(im/2,(jsta+jend)/2) - - VarName='qz0' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,qz0) - if(debugprint)print*,'sample ',VarName,' = ',qz0(im/2,(jsta+jend)/2) - - VarName='uz0' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,uz0) - if(debugprint)print*,'sample ',VarName,' = ',uz0(im/2,(jsta+jend)/2) - - VarName='vz0' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,vz0) - if(debugprint)print*,'sample ',VarName,' = ',vz0(im/2,(jsta+jend)/2) - -! -! Very confusing story ... -! -! Retrieve htop and hbot => They are named CNVTOP, CNVBOT in the model and -! with HBOTS,HTOPS (shallow conv) and HBOTD,HTOPD (deep conv) represent -! the 3 sets of convective cloud base/top arrays tied to the frequency -! that history files are written. -! -! IN THE *MODEL*, arrays HBOT,HTOP are similar to CNVTOP,CNVBOT but are -! used in radiation and are tied to the frequency of radiation updates. -! -! For historical reasons model arrays CNVTOP,CNVBOT are renamed HBOT,HTOP -! and manipulated throughout the post. - -! retrieve htop and hbot -! VarName='HTOP' - VarName='cnvtop' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,htop) - where(htop /= spval)htop=float(lm)-htop+1.0 -! where(htop /= spval .and. htop > lm)htop=lm*1.0 - if(debugprint)print*,'sample ',VarName,' = ',htop(im/2,(jsta+jend)/2) - -! VarName='HBOT' - VarName='cnvbot' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,hbot) - where(hbot /= spval)hbot=float(lm)-hbot+1.0 -! where(hbot /= spval .and. hbot > lm)hbot=lm*1.0 - if(debugprint)print*,'sample ',VarName,' = ',hbot(im/2,(jsta+jend)/2) - - VarName='htopd' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,htopd) - where(htopd /= spval)htopd=float(lm)-htopd+1.0 -! where(htopd /= spval .and. htopd > lm)htopd=lm*1.0 - if(debugprint)print*,'sample ',VarName,' = ',htopd(im/2,(jsta+jend)/2) - - VarName='hbotd' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,hbotd) - where(hbotd /= spval)hbotd=float(lm)-hbotd+1.0 -! where(hbotd /= spval .and. hbotd > lm)hbotd=lm*1.0 - if(debugprint)print*,'sample ',VarName,' = ',hbotd(im/2,(jsta+jend)/2) - - VarName='htops' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,htops) - where(htops /= spval)htops=float(lm)-htops+1.0 -! where(htops /= spval .and. htops > lm)htops=lm*1.0 - if(debugprint)print*,'sample ',VarName,' = ',htops(im/2,(jsta+jend)/2) - - VarName='hbots' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,hbots) - where(hbots /= spval)hbots=float(lm)-hbots+1.0 -! where(hbots /= spval .and. hbots > lm)hbots=lm*1.0 - if(debugprint)print*,'sample ',VarName,' = ',hbots(im/2,(jsta+jend)/2) - - VarName='cuppt' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,cuppt) - if(debugprint)print*,'sample ',VarName,' = ',cuppt(im/2,(jsta+jend)/2) - - VarName='cprate' - VcoordName='sfc' - l=1 - call assignnemsiovar(im,jsta,jend,jsta_2l,jend_2u & - ,l,nrec,fldsize,spval,tmp & - ,recname,reclevtyp,reclev,VarName,VcoordName & - ,cprate) - if(debugprint)print*,'sample ',VarName,' = ',cprate(im/2,(jsta+jend)/2) - - deallocate(tmp,recname,reclevtyp,reclev) -!!!! DONE GETTING - - do l = 1, lm - do j = jsta, jend - do i = 1, im - IF(ABS(T(I,J,L))>1.0E-3) & - OMGA(I,J,L) = -WH(I,J,L)*PMID(I,J,L)*G/ & - (RD*T(I,J,L)*(1.+D608*Q(I,J,L))) - - end do - end do - end do - write(0,*)' after OMGA' - - - THL=210. - PLQ=70000. - - CALL TABLE(PTBL,TTBL,PT, & - RDQ,RDTH,RDP,RDTHE,PL,THL,QS0,SQS,STHE,THE0) - - CALL TABLEQ(TTBLQ,RDPQ,RDTHEQ,PLQ,THL,STHEQ,THE0Q) - write(0,*)' after TABLEQ' - - -! -! - IF(ME==0)THEN - WRITE(6,*)' SPL (POSTED PRESSURE LEVELS) BELOW: ' - WRITE(6,51) (SPL(L),L=1,LSM) - 50 FORMAT(14(F4.1,1X)) - 51 FORMAT(8(F8.1,1X)) - ENDIF -! -! COMPUTE DERIVED TIME STEPPING CONSTANTS. -! -!MEB need to get DT -! DT = 120. !MEB need to get DT -! NPHS = 4 !MEB need to get physics DT - DTQ2 = DT * NPHS !MEB need to get physics DT - TSPH = 3600./DT !MEB need to get DT - - IF (PTHRESH>0.) THEN - PTHRESH=0.01*DTQ2/3.6E6 !-- Precip rate >= 0.01 mm/h -! PTHRESH=0.01*DTQ2/(3600.*39.37) !-- Precip rate >= 0.01 inches/h - ENDIF - - TSRFC=float(NSRFC)/TSPH - IF(NSRFC==0)TSRFC=float(ifhr) !in case buket does not get emptied - TRDLW=float(NRDLW)/TSPH - IF(NRDLW==0)TRDLW=float(ifhr) !in case buket does not get emptied - TRDSW=float(NRDSW)/TSPH - IF(NRDSW==0)TRDSW=float(ifhr) !in case buket does not get emptied - THEAT=float(NHEAT)/TSPH - IF(NHEAT==0)THEAT=float(ifhr) !in case buket does not get emptied - TCLOD=float(NCLOD)/TSPH - IF(NCLOD==0)TCLOD=float(ifhr) !in case buket does not get emptied - TPREC=float(NPREC)/TSPH - IF(NPREC==0)TPREC=float(ifhr) !in case buket does not get emptied -! TPREC=float(ifhr) - print*,'TSRFC TRDLW TRDSW THEAT TCLOD TPREC= ' & - ,TSRFC, TRDLW, TRDSW, THEAT, TCLOD, TPREC -!MEB need to get DT - -!how am i going to get this information? -! NPREC = INT(TPREC *TSPH+D50) -! NHEAT = INT(THEAT *TSPH+D50) -! NCLOD = INT(TCLOD *TSPH+D50) -! NRDSW = INT(TRDSW *TSPH+D50) -! NRDLW = INT(TRDLW *TSPH+D50) -! NSRFC = INT(TSRFC *TSPH+D50) -!how am i going to get this information? -! -! IF(ME==0)THEN -! WRITE(6,*)' ' -! WRITE(6,*)'DERIVED TIME STEPPING CONSTANTS' -! WRITE(6,*)' NPREC,NHEAT,NSRFC : ',NPREC,NHEAT,NSRFC -! WRITE(6,*)' NCLOD,NRDSW,NRDLW : ',NCLOD,NRDSW,NRDLW -! ENDIF -! -! COMPUTE DERIVED MAP OUTPUT CONSTANTS. - DO L = 1,LSM - ALSL(L) = ALOG(SPL(L)) - END DO - write(0,*)' after ALSL' -! -!HC WRITE IGDS OUT FOR WEIGHTMAKER TO READ IN AS KGDSIN - if(me==0)then - print*,'writing out igds' - igdout=110 -! open(igdout,file='griddef.out',form='unformatted' -! + ,status='unknown') - IF(MAPTYPE==203)THEN !A STAGGERED E-GRID - WRITE(igdout)203 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)136 - WRITE(igdout)CENLAT - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)64 - WRITE(igdout)0 - WRITE(igdout)0 - WRITE(igdout)0 - WRITE(igdout)LATLAST - WRITE(igdout)LONLAST - ELSE IF(MAPTYPE==205)THEN !A STAGGERED B-GRID - WRITE(igdout)205 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)136 - WRITE(igdout)CENLAT - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)64 - WRITE(igdout)LATLAST - WRITE(igdout)LONLAST - WRITE(igdout)0 - WRITE(igdout)0 - WRITE(igdout)0 - END IF - open(111,file='copygb_gridnav.txt',form='formatted' & - ,status='unknown') - IF(MAPTYPE==203)THEN !A STAGGERED E-GRID - write(111,1000) 2*IM-1,JM,LATSTART,LONSTART,CENLON, & - NINT(dxval*107.),NINT(dyval*110.),CENLAT,CENLAT - ELSE IF(MAPTYPE==205)THEN !A STAGGERED B-GRID - if(grib=="grib2") then - write(111,1000) IM,JM,LATSTART/1000,LONSTART/1000,CENLON/1000, & - NINT(dxval*107.)/1000,NINT(dyval*110.)/1000, & - CENLAT/1000,CENLAT/1000, & - LATLAST/1000,LONLAST/1000 - endif - END IF -1000 format('255 3 ',2(I4,x),I6,x,I7,x,'8 ',I7,x,2(I6,x),'0 64', & - 3(x,I6),x,I7) - close(111) -! - IF (MAPTYPE==205)THEN !A STAGGERED B-GRID - open(112,file='latlons_corners.txt',form='formatted' & - ,status='unknown') - if(grib=="grib2") then - write(112,1001)LATSTART/1000,(LONSTART/1000)-360000, & - LATSE/1000, & - LONSE/1000,LATNW/1000,LONNW/1000,LATLAST/1000, & - (LONLAST/1000)-360000 - endif -1001 format(4(I6,x,I7,x)) - close(112) - ENDIF - - end if - -! close all files - call nemsio_close(nfile,iret=status) - call nemsio_finalize() -! - write(0,*)'end of INIT_NEMS' - - RETURN - END diff --git a/sorc/ncep_post.fd/INITPOST_NETCDF.f b/sorc/ncep_post.fd/INITPOST_NETCDF.f index 090f266f00..7fbb290561 100644 --- a/sorc/ncep_post.fd/INITPOST_NETCDF.f +++ b/sorc/ncep_post.fd/INITPOST_NETCDF.f @@ -1,76 +1,128 @@ !> @file -! . . . -!> SUBPROGRAM: INITPOST_NETCDF INITIALIZE POST FOR RUN -!! PRGRMMR: Hui-Ya Chuang DATE: 2016-03-04 -!! -!! ABSTRACT: THIS ROUTINE INITIALIZES CONSTANTS AND -!! VARIABLES AT THE START OF GFS MODEL OR POST -!! PROCESSOR RUN. -!! -!! REVISION HISTORY -!! 2017-08-11 H Chuang start from INITPOST_GFS_NEMS_MPIIO.f -!! 2021-03-11 Bo Cui change local arrays to dimension (im,jsta:jend) -!! -!! USAGE: CALL INITPOST_NETCDF -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! LOOKUP -!! SOILDEPTH -!! -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! - SUBROUTINE INITPOST_NETCDF(ncid3d) +!> @brief initpost_netcdf() initializes post for run. +!> +!> @author Hui-Ya Chuang @date 2016-03-04 +!> +!> This routine initializes constants and +!> variables at the start of GFS model or post +!> processor run. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2007-03-01 | Hui-Ya Chuang | Initial. Start from INITPOST_GFS_NEMS_MPIIO.f +!> 2021-03-11 | Bo Cui | Change local arrays to dimension (im,jsta:jend) +!> 2021-10-26 | Jesse Meng | 2D DECOMPOSITION +!> 2022-02-07 | Wen Meng | Changes for parallel netcdf read +!> 2022-03-15 | Wen Meng | Unify regional and global interfaces +!> 2022-03-22 | Wen Meng | Read PWAT from model +!> 2022-04-08 | Bo Cui | 2D decomposition for unified fv3 read interfaces +!> 2022-06-05 | Hui-Ya Chuang | Modify dx/dy computation for RRFS domain over north pole +!> 2022-07-10 | Wen Meng | Output lat/lon on four coner points of rotated lat-lon grids in text file. +!> 2022-07-18 | Wen Meng | Read instant top of atmos ULWRF from model +!> 2022-09-18 | Li(Kate) Zhang| Add aerosol fileds for GEFS-Aerosols (gocart_on) and UFS-Aerosols(nasa_on) model +!> 2022-10-28 | Eric James | Modifications to allow passing through soil moisture availability field from RUC LSM for RRFS +!> 2022-11-08 | Kai Wang | Read time averaged PM2.5 and O3 concentration from model +!> 2022-11-08 | Wen Meng | Remove instant PM2.5 calculation +!> 2022-11-16 | Eric James | Read smoke, dust, biomass burning, and hourly wildfire potential from RRFS +!> 2022-12-07 | Wen Meng | Read AOD from AQM model +!> 2022-12-23 | Eric Aligo | Read six winter weather diagnostics from model +!> 2023-01-30 | Sam Trahan | Read cldfra or cldfra_bl, whichever is available +!> 2023-02-23 | Eric James | Read coarse PM and aodtot from RRFS +!> 2023-03-02 | Sam Trahan | Read lightning threat index fields +!> 2023-03-22 | WM Lewis | Read RRFS effective radii (EFFRL, EFFRI, EFFRS) +!> 2023-04-04 |Li(Kate Zhang) |Add namelist optoin for CCPP-Chem(UFS-Chem) +! and 2D diag. output (d2d_chem) for GEFS-Aerosols and CCPP-Chem model. +!> 2023-04-17 | Eric James | Read in unified ext550 extinction (and remove aodtot) for RRFS +!> 2023-04-21 | Eric James | Read in / calculate some fields needed for GSL p-type diagnosis for RRFS +!> 2023-05-31 | Wen Meng | Bug fix in qrmax initialization +!> 2023-06-14 | Wen Meng | Bug fix of reading seaswtc and modification of sndepac calculation +!> 2023-07-06 | Eric James | Read in SOILL on 9 levels for RRFS +!> 2023-07-24 | Hui-Ya Chuang | Bug fix in tke inialization +!> 2023-08-04 | Jaymes Kenyon | Read RRFS microphysics number concentrations (cloud water, cloud ice, rain) +!> 2023-08-31 | Li(Kate Zhang)| Add condition to include/exclude processing nitrate from model output +!> 2023-09-22 | Wen Meng | Bug fix in cwm initialization +!> 2023-10-17 | Eric James | Including hail mixing ratio in calculation of hydrometeor VIL +!> and cwm when present (NSSL microphysics) +!> 2023-10-23 | Jaymes Kenyon | Read HAILCAST diagnostic output from RRFS +!> 2024-01-12 | Wen Meng | Remove the hard-wired bucket for beyond F240 +!> 2024-02-07 | Eric James | Adding reading of direct and diffuse irradiance and LAI +!> 2024-02-20 | Jaymes Kenyon | Add calculation of PBLHGUST (from INITPOST.F) to support RRFS 10-m wind gust diagnostic +!> 2024-03-15 | Wen Meng | Add option to read 3D soil-related variables +!> 2024-03-25 | Eric James | Enabling reading of snow melt and surface albedo from RRFS +!> 2024-04-03 | Eric James | Add reading of hourly averaged smoke and dust +!> 2024-04-23 | Eric James | Updating smoke emissions to be 3D variable (ebu_smoke) +!> 2024-05-01 | Eric James | set "prec_acc_dt1" as 15 min for RRFS +!> 2024-05-09 | Eric James | Enable reading of clear-sky downwelling shortwave irradiance +!> 2024-05-10 | Karina Asmar | Read omega from model output and calculate HGT for hydrostatic runs +!> 2024-06-25 | Wen Meng | Add capability to read fhzero as either an integer or float +!> 2024-08-26 | Karina Asmar | Add temporal u/v, speed max wind components at 10m agl +!> 2024-10-11 | Sam Trahan | Fixed an incorrect array length in read_netcdf_3d_para +!> 2025-02-25 | Wen Meng | Remove duplicated declaraion for tshltr +!> 2024-03-25 | Biju Thomas | Bug fix float overlow in hafs_upp debug build run +!> 2025-04-23 ! Jesse Meng | Bug fix zmid calculation in very thin layers +!> 2025-06-16 | Jaymes Kenyon | Removing the calculation of PBLHGUST (i.e., reverting the update from 2024-02-20). +!> | PBLHGUST represented a PBL height obtained from the profile of virtual potential +!> | temperature (THV).  In turn, PBLHGUST was used for the wind-gust diagnostic in FV3R. +!> | Calculation of a THV-based PBL height has now been ported into CALPBL. +!> 2025-07-21 | Sam Trahan | If U10 and V10 are absent, calculate them from F10M if possible. +!> 2025-09-11 | Jili Dong | Read in surface specific humidity from history +!> 2025-10-07 | Chris Hill | Add capability to calculate and store cosine of solar zenith angle. +!> +!> @author Hui-Ya Chuang @date 2016-03-04 +!---------------------------------------------------------------------- +!> @brief INITPOST_NETCDF() This routine initializes constants and +!> variables at the start of GFS model or post processor run. +!> +!> @param[in] ncid2d integer netCDF ID of physics model output file. +!> @param[in] ncid3d integer netCDF ID of dynamics model output file. +!---------------------------------------------------------------------- + SUBROUTINE INITPOST_NETCDF(ncid2d,ncid3d) use netcdf - use vrbls4d, only: dust, SALT, SUSO, SOOT, WASO + use vrbls4d, only: dust, SALT, SUSO, SOOT, WASO, smoke, fv3dust, coarsepm, ebb, & + no3,nh4, PP25, PP10 use vrbls3d, only: t, q, uh, vh, pmid, pint, alpint, dpres, zint, zmid, o3, & - qqr, qqs, cwm, qqi, qqw, omga, rhomid, q2, cfr, rlwtt, rswtt, tcucn, & + qqr, qqnr, qqs, qqi, qqni, qqw, qqnw, qqg, qqh, cwm, & + omga, rhomid, q2, cfr, rlwtt, rswtt, tcucn, & tcucns, train, el_pbl, exch_h, vdifftt, vdiffmois, dconvmois, nradtt, & o3vdiff, o3prod, o3tndy, mwpv, unknown, vdiffzacce, zgdrag,cnvctummixing, & vdiffmacce, mgdrag, cnvctvmmixing, ncnvctcfrac, cnvctumflx, cnvctdmflx, & cnvctzgdrag, sconvmois, cnvctmgdrag, cnvctdetmflx, duwt, duem, dusd, dudp, & - wh, qqg, ref_10cm, pmtf, ozcon + dusv,ssem,sssd,ssdp,sswt,sssv,bcem,bcsd,bcdp,bcwt,bcsv,ocem,ocsd,ocdp,ocwt,ocsv, & + wh, ref_10cm, qqnifa, qqnwfa, avgpmtf, avgozcon, aextc55, taod5503d, & + effri, effrl, effrs use vrbls2d, only: f, pd, fis, pblh, ustar, z0, ths, qs, twbs, qwbs, avgcprate, & - cprate, avgprec, prec, lspa, sno, si, cldefi, th10, q10, tshltr, pshltr, & - tshltr, albase, avgalbedo, avgtcdc, czen, czmean, mxsnal, radot, sigt4, & - cfrach, cfracl, cfracm, avgcfrach, qshltr, avgcfracl, avgcfracm, cnvcfr, & + cprate, avgprec, prec, lspa, sno, sndepac, si, cldefi, th10, q10, tshltr, pshltr, & + albase, albedo, avgalbedo, avgtcdc, czen, czmean, mxsnal, landfrac, radot, & + sigt4,cfrach, cfracl, cfracm, avgcfrach, qshltr, avgcfracl, avgcfracm, cnvcfr, & islope, cmc, grnflx, vegfrc, acfrcv, ncfrcv, acfrst, ncfrst, ssroff, & bgroff, rlwin, rlwtoa, cldwork, alwin, alwout, alwtoa, rswin, rswinc, & rswout, aswin, auvbin, auvbinc, aswout, aswtoa, sfcshx, sfclhx, subshx, & - snopcx, sfcux, sfcvx, sfcuxi, sfcvxi, sfcuvx, gtaux, gtauy, potevp, u10, v10, smstav, & + snopcx, sfcux, sfcvx, sfcuxi, sfcvxi, sfcuvx, gtaux, gtauy, potevp, u10, v10, smstav,& smstot, ivgtyp, isltyp, sfcevp, sfcexc, acsnow, acsnom, sst, thz0, qz0, & uz0, vz0, ptop, htop, pbot, hbot, ptopl, pbotl, ttopl, ptopm, pbotm, ttopm, & - ptoph, pboth, pblcfr, ttoph, runoff, maxtshltr, mintshltr, maxrhshltr, & + ptoph, pboth, pblcfr, ttoph, runoff, tecan, tetran, tedir, twa, maxtshltr, & + mintshltr, maxrhshltr, fdnsst, acgraup, graup_bucket, acfrain, frzrn_bucket, & + snow_acm, snow_bkt, snownc, graupelnc, qrmax, swddif, swddni, xlaixy, & minrhshltr, dzice, smcwlt, suntime, fieldcapa, htopd, hbotd, htops, hbots, & cuppt, dusmass, ducmass, dusmass25, ducmass25, aswintoa,rel_vort_maxhy1, & maxqshltr, minqshltr, acond, sr, u10h, v10h,refd_max, w_up_max, w_dn_max, & up_heli_max,up_heli_min,up_heli_max03,up_heli_min03,rel_vort_max01,u10max, v10max, & - avgedir,avgecan,avgetrans,avgesnow,avgprec_cont,avgcprate_cont,rel_vort_max, & + avgedir,avgecan,paha,pahi,avgetrans,avgesnow,avgprec_cont,avgcprate_cont,rel_vort_max, & avisbeamswin,avisdiffswin,airbeamswin,airdiffswin,refdm10c_max,wspd10max, & alwoutc,alwtoac,aswoutc,aswtoac,alwinc,aswinc,avgpotevp,snoavg, & - ti,aod550,du_aod550,ss_aod550,su_aod550,oc_aod550,bc_aod550,prate_max - use soil, only: sldpth, sh2o, smc, stc + ti,aod550,du_aod550,ss_aod550,su_aod550,oc_aod550,bc_aod550,prate_max,maod,dustpm10, & + dustcb,bccb,occb,sulfcb,sscb,dustallcb,ssallcb,dustpm,sspm,pp25cb,pp10cb,no3cb,nh4cb,& + pwat, hwp, aqm_aod550, ltg1_max,ltg2_max,ltg3_max, hail_maxhailcast, & + smoke_ave, dust_ave, coarsepm_ave, wspd10umax, wspd10vmax, f10m + use soil, only: sldpth, sllevel, sh2o, smc, stc use masks, only: lmv, lmh, htm, vtm, gdlat, gdlon, dx, dy, hbm2, sm, sice use physcons_post, only: grav => con_g, fv => con_fvirt, rgas => con_rd, & eps => con_eps, epsm1 => con_epsm1 - use params_mod, only: erad, dtr, tfrz, h1, d608, rd, p1000, capa,pi + use params_mod, only: erad, dtr, tfrz, h1, d608, rd, p1000, capa, pi, small, rtd use lookup_mod, only: thl, plq, ptbl, ttbl, rdq, rdth, rdp, rdthe, pl, qs0, sqs, sthe, & ttblq, rdpq, rdtheq, stheq, the0q, the0 use ctlblk_mod, only: me, mpi_comm_comp, icnt, idsp, jsta, jend, ihrst, idat, sdat, ifhr, & @@ -78,13 +130,18 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) jend_m, imin, imp_physics, dt, spval, pdtop, pt, qmin, nbin_du, nphs, dtq2, ardlw,& ardsw, asrfc, avrain, avcnvc, theat, gdsdegr, spl, lsm, alsl, im, jm, im_jm, lm, & jsta_2l, jend_2u, nsoil, lp1, icu_physics, ivegsrc, novegtype, nbin_ss, nbin_bc, & - nbin_oc, nbin_su, gocart_on, pt_tbl, hyb_sigp, filenameFlux, fileNameAER, & - iSF_SURFACE_PHYSICS,rdaod, aqfcmaq_on + nbin_oc, nbin_su, nbin_no3, nbin_nh4, gocart_on,gccpp_on, nasa_on,pt_tbl,hyb_sigp,& + filenameFlux, fileNameAER, prec_acc_dt1, & + iSF_SURFACE_PHYSICS,rdaod, d2d_chem, modelname, aqf_on, & + ista, iend, ista_2l, iend_2u,iend_m use gridspec_mod, only: maptype, gridtype, latstart, latlast, lonstart, lonlast, cenlon, & dxval, dyval, truelat2, truelat1, psmapf, cenlat,lonstartv, lonlastv, cenlonv, & - latstartv, latlastv, cenlatv,latstart_r,latlast_r,lonstart_r,lonlast_r, STANDLON - use rqstfld_mod, only: igds, avbl, iq, is + latstartv, latlastv,cenlatv,latstart_r,latlast_r,lonstart_r,lonlast_r, STANDLON, & + latse,lonse,latnw,lonnw use upp_physics, only: fpvsnew + use exch_upp_mod, only: exch + use table_upp_mod, only : table + use tableq_upp_mod, only : tableq !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -116,7 +173,7 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) character(len=20) :: VarName, VcoordName integer :: Status, fldsize, fldst, recn, recn_vvel character startdate*19,SysDepInfo*80,cgar*1 - character startdate2(19)*4 + character startdate2(19)*4, flatlon*40 logical :: read_lonlat=.true. ! ! NOTE: SOME INTEGER VARIABLES ARE READ INTO DUMMY ( A REAL ). THIS IS OK @@ -141,8 +198,10 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) ! ! REAL fhour integer nfhour ! forecast hour from nems io file - integer fhzero !bucket + integer fhzero !bucket in integer + real fhzeror !bucket in real real dtp !physics time step + real dz REAL RINC(5) REAL DUMMY(IM,JM) @@ -150,7 +209,7 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) integer ii,jj,js,je,iyear,imn,iday,itmp,ioutcount,istatus, & I,J,L,ll,k,kf,irtn,igdout,n,Index,nframe, & nframed2,iunitd3d,ierr,idum,iret,nrec,idrt - integer ncid3d,ncid2d,varid,nhcas + integer ncid3d,ncid2d,varid,nhcas,varid_bl,iret_bl real TSTART,TLMH,TSPH,ES,FACT,soilayert,soilayerb,zhour,dum, & tvll,pmll,tv, tx1, tx2 @@ -160,19 +219,30 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) real, allocatable :: wrk1(:,:), wrk2(:,:) real, allocatable :: p2d(:,:), t2d(:,:), q2d(:,:), & qs2d(:,:), cw2d(:,:), cfr2d(:,:) - real(kind=4),allocatable :: vcoord4(:,:,:) real, dimension(lm+1) :: ak5, bk5 real*8, allocatable :: pm2d(:,:), pi2d(:,:) real, allocatable :: tmp(:) - real :: buf(im,jsta_2l:jend_2u) - real :: buf3d(im,jsta_2l:jend_2u,lm) - -! real buf(im,jsta_2l:jend_2u),bufsoil(im,nsoil,jsta_2l:jend_2u) & -! ,buf3d(im,jsta_2l:jend_2u,lm),buf3d2(im,lp1,jsta_2l:jend_2u) + real :: buf(ista_2l:iend_2u,jsta_2l:jend_2u) + real :: buf2(ista_2l:iend_2u,jsta_2l:jend_2u) + real :: buf3d(ista_2l:iend_2u,jsta_2l:jend_2u,lm) + real :: chem_2d(ista_2l:iend_2u,jsta_2l:jend_2u) + real :: chemT(ista_2l:iend_2u,jsta_2l:jend_2u,lm) + real :: dt1(ista_2l:iend_2u,jsta_2l:jend_2u,lm) + real :: dt2(ista_2l:iend_2u,jsta_2l:jend_2u,lm) + real :: dt3(ista_2l:iend_2u,jsta_2l:jend_2u,lm) + real :: dt4(ista_2l:iend_2u,jsta_2l:jend_2u,lm) + real :: dt5(ista_2l:iend_2u,jsta_2l:jend_2u,lm) + +! real buf(ista_2l:iend_2u,jsta_2l:jend_2u),bufsoil(im,nsoil,jsta_2l:jend_2u) & +! ,buf3d(ista_2l:iend_2u,jsta_2l:jend_2u,lm),buf3d2(im,lp1,jsta_2l:jend_2u) real LAT integer isa, jsa, latghf, jtem, idvc, idsl, nvcoord, ip1, nn, npass + integer jdn + integer, external :: iw3jdn + real sun_zenith, sun_azimuth, temp + integer, parameter :: npass2=5, npass3=30 real, parameter :: third=1.0/3.0 INTEGER, DIMENSION(2) :: ij4min, ij4max @@ -182,207 +252,31 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) real, allocatable :: div3d(:,:,:) real(kind=4),allocatable :: vcrd(:,:) real :: dum_const + real, allocatable :: ext550(:,:,:) -! AQF - - real, allocatable :: aacd(:,:,:), aalj(:,:,:) & - ,aalk1j(:,:,:), aalk2j(:,:,:) & - ,abnz1j(:,:,:), abnz2j(:,:,:), abnz3j(:,:,:) & - ,acaj(:,:,:), acet(:,:,:) & - ,acli(:,:,:), aclj(:,:,:), aclk(:,:,:) & - ,acors(:,:,:), acro_primary(:,:,:) & - ,acrolein(:,:,:), aeci(:,:,:) & - ,aecj(:,:,:), afej(:,:,:) & - ,aglyj(:,:,:) & - ,ah2oi(:,:,:), ah2oj(:,:,:), ah2ok(:,:,:) & - ,ah3opi(:,:,:), ah3opj(:,:,:), ah3opk(:,:,:) & - ,aiso1j(:,:,:), aiso2j(:,:,:), aiso3j(:,:,:) & - ,aivpo1j(:,:,:), akj(:,:,:) & - ,ald2(:,:,:), ald2_primary(:,:,:) & - ,aldx(:,:,:) & - ,alvoo1i(:,:,:), alvoo1j(:,:,:) & - ,alvoo2i(:,:,:), alvoo2j(:,:,:) & - ,alvpo1i(:,:,:), alvpo1j(:,:,:) & - ,amgj(:,:,:), amnj(:,:,:) & - ,amgk(:,:,:), akk(:,:,:), acak(:,:,:) & - ,anai(:,:,:), anaj(:,:,:), anak(:,:,:) & - ,anh4i(:,:,:), anh4j(:,:,:), anh4k(:,:,:) & - ,ano3i(:,:,:), ano3j(:,:,:), ano3k(:,:,:) & - ,aolgaj(:,:,:), aolgbj(:,:,:), aorgcj(:,:,:) & - ,aomi(:,:,:), aomj(:,:,:) & - ,aothri(:,:,:), aothrj(:,:,:) & - ,apah1j(:,:,:), apah2j(:,:,:), apah3j(:,:,:) & - ,apomi(:,:,:), apomj(:,:,:) & - ,apcsoj(:,:,:), aseacat(:,:,:), asij(:,:,:) & - ,aso4i(:,:,:), aso4j(:,:,:), aso4k(:,:,:) & - ,asoil(:,:,:), asqtj(:,:,:) & - ,asomi(:,:,:), asomj(:,:,:) & - ,asvoo1i(:,:,:), asvoo1j(:,:,:) & - ,asvoo2i(:,:,:), asvoo2j(:,:,:) & - ,asvoo3j(:,:,:) & - ,asvpo1i(:,:,:), asvpo1j(:,:,:) & - ,asvpo2i(:,:,:), asvpo2j(:,:,:) & - ,asvpo3j(:,:,:) & - ,atij(:,:,:) & - ,atol1j(:,:,:), atol2j(:,:,:), atol3j(:,:,:) & - ,atoti(:,:,:), atotj(:,:,:), atotk(:,:,:) & - ,atrp1j(:,:,:), atrp2j(:,:,:) & - ,axyl1j(:,:,:), axyl2j(:,:,:), axyl3j(:,:,:) & - ,pm25ac(:,:,:), pm25at(:,:,:), pm25co(:,:,:) - - - if (me == 0) print *,' aqfcmaq_on=', aqfcmaq_on - - if (aqfcmaq_on) then - - allocate(aacd(im,jsta_2l:jend_2u,lm)) - allocate(aalj(im,jsta_2l:jend_2u,lm)) - allocate(aalk1j(im,jsta_2l:jend_2u,lm)) - allocate(aalk2j(im,jsta_2l:jend_2u,lm)) - - allocate(abnz1j(im,jsta_2l:jend_2u,lm)) - allocate(abnz2j(im,jsta_2l:jend_2u,lm)) - allocate(abnz3j(im,jsta_2l:jend_2u,lm)) - - allocate(acaj(im,jsta_2l:jend_2u,lm)) - allocate(acet(im,jsta_2l:jend_2u,lm)) - - allocate(acli(im,jsta_2l:jend_2u,lm)) - allocate(aclj(im,jsta_2l:jend_2u,lm)) - allocate(aclk(im,jsta_2l:jend_2u,lm)) - - allocate(acors(im,jsta_2l:jend_2u,lm)) - allocate(acro_primary(im,jsta_2l:jend_2u,lm)) - allocate(acrolein(im,jsta_2l:jend_2u,lm)) - allocate(aeci(im,jsta_2l:jend_2u,lm)) - allocate(aecj(im,jsta_2l:jend_2u,lm)) - allocate(afej(im,jsta_2l:jend_2u,lm)) - allocate(aglyj(im,jsta_2l:jend_2u,lm)) - - allocate(ah2oi(im,jsta_2l:jend_2u,lm)) - allocate(ah2oj(im,jsta_2l:jend_2u,lm)) - allocate(ah2ok(im,jsta_2l:jend_2u,lm)) - - allocate(ah3opi(im,jsta_2l:jend_2u,lm)) - allocate(ah3opj(im,jsta_2l:jend_2u,lm)) - allocate(ah3opk(im,jsta_2l:jend_2u,lm)) - - allocate(aiso1j(im,jsta_2l:jend_2u,lm)) - allocate(aiso2j(im,jsta_2l:jend_2u,lm)) - allocate(aiso3j(im,jsta_2l:jend_2u,lm)) - - allocate(aivpo1j(im,jsta_2l:jend_2u,lm)) - allocate(akj(im,jsta_2l:jend_2u,lm)) - - allocate(ald2(im,jsta_2l:jend_2u,lm)) - allocate(ald2_primary(im,jsta_2l:jend_2u,lm)) - - allocate(aldx(im,jsta_2l:jend_2u,lm)) - - allocate(alvoo1i(im,jsta_2l:jend_2u,lm)) - allocate(alvoo1j(im,jsta_2l:jend_2u,lm)) - allocate(alvoo2i(im,jsta_2l:jend_2u,lm)) - allocate(alvoo2j(im,jsta_2l:jend_2u,lm)) - allocate(alvpo1i(im,jsta_2l:jend_2u,lm)) - allocate(alvpo1j(im,jsta_2l:jend_2u,lm)) - - allocate(amgj(im,jsta_2l:jend_2u,lm)) - allocate(amnj(im,jsta_2l:jend_2u,lm)) - - allocate(anai(im,jsta_2l:jend_2u,lm)) - allocate(anaj(im,jsta_2l:jend_2u,lm)) - allocate(anak(im,jsta_2l:jend_2u,lm)) - - allocate(anh4i(im,jsta_2l:jend_2u,lm)) - allocate(anh4j(im,jsta_2l:jend_2u,lm)) - allocate(anh4k(im,jsta_2l:jend_2u,lm)) - - allocate(ano3i(im,jsta_2l:jend_2u,lm)) - allocate(ano3j(im,jsta_2l:jend_2u,lm)) - allocate(ano3k(im,jsta_2l:jend_2u,lm)) - - allocate(aolgaj(im,jsta_2l:jend_2u,lm)) - allocate(aolgbj(im,jsta_2l:jend_2u,lm)) - - allocate(aomi(im,jsta_2l:jend_2u,lm)) - allocate(aomj(im,jsta_2l:jend_2u,lm)) - - allocate(aorgcj(im,jsta_2l:jend_2u,lm)) - - allocate(aothri(im,jsta_2l:jend_2u,lm)) - allocate(aothrj(im,jsta_2l:jend_2u,lm)) - - allocate(apah1j(im,jsta_2l:jend_2u,lm)) - allocate(apah2j(im,jsta_2l:jend_2u,lm)) - allocate(apah3j(im,jsta_2l:jend_2u,lm)) - - allocate(apcsoj(im,jsta_2l:jend_2u,lm)) - - allocate(apomi(im,jsta_2l:jend_2u,lm)) - allocate(apomj(im,jsta_2l:jend_2u,lm)) - - allocate(aseacat(im,jsta_2l:jend_2u,lm)) - allocate(asij(im,jsta_2l:jend_2u,lm)) - - allocate(aso4i(im,jsta_2l:jend_2u,lm)) - allocate(aso4j(im,jsta_2l:jend_2u,lm)) - allocate(aso4k(im,jsta_2l:jend_2u,lm)) - allocate(asoil(im,jsta_2l:jend_2u,lm)) - - allocate(asomi(im,jsta_2l:jend_2u,lm)) - allocate(asomj(im,jsta_2l:jend_2u,lm)) - - allocate(asqtj(im,jsta_2l:jend_2u,lm)) - - allocate(asvoo1i(im,jsta_2l:jend_2u,lm)) - allocate(asvoo1j(im,jsta_2l:jend_2u,lm)) - allocate(asvoo2i(im,jsta_2l:jend_2u,lm)) - allocate(asvoo2j(im,jsta_2l:jend_2u,lm)) - allocate(asvoo3j(im,jsta_2l:jend_2u,lm)) - - allocate(asvpo1i(im,jsta_2l:jend_2u,lm)) - allocate(asvpo1j(im,jsta_2l:jend_2u,lm)) - allocate(asvpo2i(im,jsta_2l:jend_2u,lm)) - allocate(asvpo2j(im,jsta_2l:jend_2u,lm)) - allocate(asvpo3j(im,jsta_2l:jend_2u,lm)) - - allocate(atij(im,jsta_2l:jend_2u,lm)) - - allocate(atol1j(im,jsta_2l:jend_2u,lm)) - allocate(atol2j(im,jsta_2l:jend_2u,lm)) - allocate(atol3j(im,jsta_2l:jend_2u,lm)) - - allocate(atoti(im,jsta_2l:jend_2u,lm)) - allocate(atotj(im,jsta_2l:jend_2u,lm)) - allocate(atotk(im,jsta_2l:jend_2u,lm)) - - allocate(atrp1j(im,jsta_2l:jend_2u,lm)) - allocate(atrp2j(im,jsta_2l:jend_2u,lm)) - - allocate(axyl1j(im,jsta_2l:jend_2u,lm)) - allocate(axyl2j(im,jsta_2l:jend_2u,lm)) - allocate(axyl3j(im,jsta_2l:jend_2u,lm)) - - allocate(pm25ac(im,jsta_2l:jend_2u,lm)) - allocate(pm25at(im,jsta_2l:jend_2u,lm)) - allocate(pm25co(im,jsta_2l:jend_2u,lm)) - + if (modelname == 'FV3R') then + allocate(ext550(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) endif !*********************************************************************** ! START INIT HERE. ! + if(me==0)then WRITE(6,*)'INITPOST: ENTER INITPOST_NETCDF' WRITE(6,*)'me=',me, & 'jsta_2l=',jsta_2l,'jend_2u=', & - jend_2u,'im=',im + jend_2u,'im=',im, & + 'ista_2l=',ista_2l,'iend_2u=',iend_2u, & + 'ista=',ista,'iend=',iend, & + 'iend_m=',iend_m + endif ! - isa = im / 2 + isa = (ista+iend) / 2 jsa = (jsta+jend) / 2 !$omp parallel do private(i,j) do j = jsta_2l, jend_2u - do i=1,im + do i= ista_2l, iend_2u buf(i,j) = spval enddo enddo @@ -394,20 +288,12 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) else if(me==0)print*,'ak5= ',ak5 end if - Status=nf90_get_att(ncid3d,nf90_global,'sf_surface_physi', & - iSF_SURFACE_PHYSICS) - if(Status/=0)then - print*,'sf_surface_physi not found; assigning to 2' - iSF_SURFACE_PHYSICS=2 !set LSM physics to 2 for NOAH - else - if(me==0)print*,'SF_SURFACE_PHYSICS= ',iSF_SURFACE_PHYSICS - endif Status=nf90_get_att(ncid3d,nf90_global,'idrt',idrt) if(Status/=0)then - print*,'idrt not in netcdf file,reading grid' + if(me==0)print*,'idrt not in netcdf file,reading grid' Status=nf90_get_att(ncid3d,nf90_global,'grid',varcharval) if(Status/=0)then - print*,'idrt and grid not in netcdf file, set default to latlon' + if(me==0)print*,'idrt and grid not in netcdf file, set default to latlon' idrt=0 MAPTYPE=0 else @@ -486,8 +372,8 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) dyval=dum_const*gdsdegr end if - print*,'lonstart,latstart,cenlon,cenlat,dyval,dxval', & - lonstart,latstart,cenlon,cenlat,dyval,dxval +! print*,'lonstart,latstart,cenlon,cenlat,dyval,dxval', & +! lonstart,latstart,cenlon,cenlat,dyval,dxval ! Jili Dong add support for regular lat lon (2019/03/22) start else if(trim(varcharval)=='latlon')then @@ -547,8 +433,8 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) dyval=dum_const*gdsdegr end if - print*,'lonstart,latstart,dyval,dxval', & - lonstart,lonlast,latstart,latlast,dyval,dxval +! print*,'lonstart,latstart,dyval,dxval', & +! lonstart,lonlast,latstart,latlast,dyval,dxval ! Jili Dong add support for regular lat lon (2019/03/22) end @@ -625,9 +511,13 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) end if STANDLON = cenlon - print*,'lonstart,latstart,cenlon,cenlat,truelat1,truelat2,stadlon,dyval,dxval', & - lonstart,latstart,cenlon,cenlat,truelat1,truelat2,standlon,dyval,dxval +! print*,'lonstart,latstart,cenlon,cenlat,truelat1,truelat2, & +! stadlon,dyval,dxval', & +! lonstart,latstart,cenlon,cenlat,truelat1,truelat2,standlon,dyval,dxval + else if(trim(varcharval)=='gaussian')then + MAPTYPE=4 + idrt=4 else ! setting default maptype MAPTYPE=0 idrt=0 @@ -644,7 +534,7 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) !$omp parallel do private(i,j) do j = jsta_2l, jend_2u - do i = 1, im + do i = ista_2l, iend_2u LMV(i,j) = lm LMH(i,j) = lm end do @@ -655,7 +545,7 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) !$omp parallel do private(i,j,l) do l = 1, lm do j = jsta_2l, jend_2u - do i = 1, im + do i = ista_2l, iend_2u HTM (i,j,l) = 1.0 VTM (i,j,l) = 1.0 end do @@ -664,17 +554,19 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) Status=nf90_get_att(ncid3d,nf90_global,'nhcas',nhcas) if(Status/=0)then - print*,'nhcas not in netcdf file, set default to nonhydro' + if(me==0) print*,'nhcas not in netcdf file, set default to nonhydro' nhcas=0 end if if(me==0)print*,'nhcas= ',nhcas if (nhcas == 0 ) then !non-hydrostatic case - nrec=14 + nrec=23 allocate (recname(nrec)) recname=[character(len=20) :: 'ugrd','vgrd','spfh','tmp','o3mr', & 'presnh','dzdt', 'clwmr','dpres', & 'delz','icmr','rwmr', & - 'snmr','grle'] + 'snmr','grle','hail','smoke', & + 'dust','coarsepm','ext550', & + 'ebu_smoke','nicp','water_nc','rain_nc'] else nrec=8 allocate (recname(nrec)) @@ -682,10 +574,9 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) 'hypres', 'clwmr','dpres'] endif -! write(0,*)'nrec=',nrec +! write(*,*)'nrec=',nrec !allocate(recname(nrec),reclevtyp(nrec),reclev(nrec)) allocate(glat1d(jm),glon1d(im)) - allocate(vcoord4(lm+1,3,2)) ! hardwire idate for now ! idate=(/2017,08,07,00,0,0,0,0/) @@ -697,9 +588,9 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) else Status=nf90_get_att(ncid3d,varid,'units',varcharval) if(Status/=0)then - print*,'time unit not available' + if(me==0)print*,'time unit not available' else - print*,'time unit read from netcdf file= ',varcharval + if(me==0)print*,'time unit read from netcdf file= ',varcharval ! assume use hours as unit ! idate_loc=index(varcharval,'since')+6 read(varcharval,101)idate(1),idate(2),idate(3),idate(4),idate(5) @@ -715,12 +606,12 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) ! end if end if 101 format(T13,i4,1x,i2,1x,i2,1x,i2,1x,i2) - print*,'idate= ',idate(1:5) + !print*,'idate= ',idate(1:5) ! Jili Dong check output format for coordinate reading Status=nf90_inq_varid(ncid3d,'grid_xt',varid) Status=nf90_inquire_variable(ncid3d,varid,ndims = numDims) - if(numDims==1) then + if(numDims==1.and.modelname=="FV3R") then read_lonlat=.true. else read_lonlat=.false. @@ -741,7 +632,7 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) if(numDims==1)then Status=nf90_get_var(ncid3d,varid,glon1d) do j=jsta,jend - do i=1,im + do i=ista,iend gdlon(i,j) = real(glon1d(i),kind=4) end do end do @@ -764,13 +655,13 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) if(maxval(abs(dummy))<2.0*pi)convert_rad_to_deg=.true. if(convert_rad_to_deg)then do j=jsta,jend - do i=1,im + do i=ista,iend gdlon(i,j) = real(dummy(i,j),kind=4)*180./pi end do end do else do j=jsta,jend - do i=1,im + do i=ista,iend gdlon(i,j) = real(dummy(i,j),kind=4) end do end do @@ -778,9 +669,13 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) if(convert_rad_to_deg)then lonstart = nint(dummy(1,1)*gdsdegr)*180./pi lonlast = nint(dummy(im,jm)*gdsdegr)*180./pi + lonse = nint(dummy(im,1)*gdsdegr)*180./pi + lonnw = nint(dummy(1,jm)*gdsdegr)*180./pi else lonstart = nint(dummy(1,1)*gdsdegr) lonlast = nint(dummy(im,jm)*gdsdegr) + lonse = nint(dummy(im,1)*gdsdegr) + lonnw = nint(dummy(1,jm)*gdsdegr) end if ! Jili Dong add support for regular lat lon (2019/03/22) start @@ -795,7 +690,7 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) ! Jili Dong add support for regular lat lon (2019/03/22) end end if - print*,'lonstart,lonlast ',lonstart,lonlast +! print*,'lonstart,lonlast ',lonstart,lonlast ! Jili Dong add support for new write component output ! get latitude if (read_lonlat) then @@ -810,7 +705,7 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) if(numDims==1)then Status=nf90_get_var(ncid3d,varid,glat1d) do j=jsta,jend - do i=1,im + do i=ista,iend gdlat(i,j) = real(glat1d(j),kind=4) end do end do @@ -821,13 +716,13 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) if(maxval(abs(dummy))1000.)print*,'bad T ',t(i,j,l) + if(wh(i,j,l) /= spval) then + if (omga(i,j,l) == spval .and. dpres(i,j,l) /= spval .and. buf3d(i,j,l) /=spval) & + omga(i,j,l) = (-1.) * wh(i,j,l) * dpres(i,j,l)/abs(buf3d(i,j,l)) + endif + enddo enddo enddo - enddo - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,recname(11) & - ,lm,qqi(1,jsta_2l,1)) - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,recname(12) & - ,lm,qqr(1,jsta_2l,1)) - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,recname(13) & - ,lm,qqs(1,jsta_2l,1)) - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,recname(14) & - ,lm,qqg(1,jsta_2l,1)) + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,recname(11),qqi(ista_2l,jsta_2l,1),lm) + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,recname(12),qqr(ista_2l,jsta_2l,1),lm) + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,recname(13),qqs(ista_2l,jsta_2l,1),lm) + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,recname(14),qqg(ista_2l,jsta_2l,1),lm) + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,recname(15),qqh(ista_2l,jsta_2l,1),lm) +! read for regional FV3 + if (modelname == 'FV3R') then + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,recname(16),smoke(ista_2l,jsta_2l,1,1),lm) + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,recname(17),fv3dust(ista_2l,jsta_2l,1,1),lm) + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,recname(18),coarsepm(ista_2l,jsta_2l,1,1),lm) + call read_netcdf_3d_para(ncid2d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,recname(19),ext550(ista_2l,jsta_2l,1),lm) + call read_netcdf_3d_para(ncid2d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,recname(20),ebb(ista_2l,jsta_2l,1,1),lm) + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,recname(21),qqni(ista_2l,jsta_2l,1),lm) + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,recname(22),qqnw(ista_2l,jsta_2l,1),lm) + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,recname(23),qqnr(ista_2l,jsta_2l,1),lm) + endif + +! Compute max QRAIN in the column to be used later in precip type computation + do j = jsta_2l, jend_2u + do i = ista_2l, iend_2u + qrmax(i,j)=0. + end do + end do ! calculate CWM from FV3 output do l=1,lm do j=jsta,jend - do i=1,im - cwm(i,j,l)=qqg(i,j,l)+qqs(i,j,l)+qqr(i,j,l)+qqi(i,j,l)+qqw(i,j,l) + do i=ista,iend + if(qqr(i,j,l) /= spval) then + qrmax(i,j)=max(qrmax(i,j),qqr(i,j,l)) + cwm(i,j,l)=qqg(i,j,l)+qqs(i,j,l)+qqr(i,j,l)+qqi(i,j,l)+qqw(i,j,l) + if(qqh(i,j,l) /= spval) then + cwm(i,j,l)=cwm(i,j,l)+qqh(i,j,l) + endif + endif enddo enddo if(debugprint)print*,'sample l,t,q,u,v,w= ',isa,jsa,l & @@ -1050,634 +971,179 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) cwm(isa,jsa,l) end do -!============================= -! For AQF Chemical species -!============================= - - if (aqfcmaq_on) then +! instantaneous 3D cloud fraction + if ( imp_physics==11) then !GFDL MP + VarName='cld_amt' + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,cfr(ista_2l,jsta_2l,1),lm) + else - ! *********** VarName need to be in lower case ************ - ! === It will cause problem if not use the lower case ===== - ! ********************************************************* + iret_bl = nf90_inq_varid(ncid2d,'cldfra_bl',varid_bl) + iret = nf90_inq_varid(ncid2d,'cldfra',varid) - !-------------------------------------------------------------- - !-- rename input o3 to NCO grib2 name ozcon ------------------- - - VarName='o3' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,ozcon(1,jsta_2l,1)) - - !-------------------------------------------------------------- - - VarName='aacd' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aacd(1,jsta_2l,1)) - - VarName='aalj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aalj(1,jsta_2l,1)) - - VarName='aalk1j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aalk1j(1,jsta_2l,1)) - - VarName='aalk2j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aalk2j(1,jsta_2l,1)) - - VarName='abnz1j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,abnz1j(1,jsta_2l,1)) - - VarName='abnz2j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,abnz2j(1,jsta_2l,1)) - - VarName='abnz3j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,abnz3j(1,jsta_2l,1)) - - VarName='acaj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,acaj(1,jsta_2l,1)) - - VarName='acet' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,acet(1,jsta_2l,1)) - - VarName='acli' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,acli(1,jsta_2l,1)) - - VarName='aclj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aclj(1,jsta_2l,1)) - - VarName='aclk' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aclk(1,jsta_2l,1)) - - VarName='acors' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,acors(1,jsta_2l,1)) - - VarName='acro_primary' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,acro_primary(1,jsta_2l,1)) - - VarName='acrolein' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,acrolein(1,jsta_2l,1)) - - VarName='aeci' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aeci(1,jsta_2l,1)) - - VarName='aecj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aecj(1,jsta_2l,1)) - - VarName='afej' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,afej(1,jsta_2l,1)) - - VarName='aglyj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aglyj(1,jsta_2l,1)) - - VarName='ah2oi' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,ah2oi(1,jsta_2l,1)) - - VarName='ah2oj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,ah2oj(1,jsta_2l,1)) - - VarName='ah2ok' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,ah2ok(1,jsta_2l,1)) - - VarName='ah3opi' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,ah3opi(1,jsta_2l,1)) - - VarName='ah3opj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,ah3opj(1,jsta_2l,1)) - - VarName='ah3opk' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,ah3opk(1,jsta_2l,1)) - - VarName='aiso1j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aiso1j(1,jsta_2l,1)) - - VarName='aiso2j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aiso2j(1,jsta_2l,1)) - - VarName='aiso3j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aiso3j(1,jsta_2l,1)) - - VarName='aivpo1j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aivpo1j(1,jsta_2l,1)) - - VarName='akj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,akj(1,jsta_2l,1)) - - VarName='ald2' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,ald2(1,jsta_2l,1)) - - VarName='ald2_primary' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,ald2_primary(1,jsta_2l,1)) - - VarName='aldx' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aldx(1,jsta_2l,1)) - - VarName='alvoo1i' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,alvoo1i(1,jsta_2l,1)) - - VarName='alvoo1j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,alvoo1j(1,jsta_2l,1)) - - VarName='alvoo2i' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,alvoo2i(1,jsta_2l,1)) - - VarName='alvoo2j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,alvoo2j(1,jsta_2l,1)) - - VarName='alvpo1i' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,alvpo1i(1,jsta_2l,1)) - - VarName='alvpo1j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,alvpo1j(1,jsta_2l,1)) - - VarName='amgj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,amgj(1,jsta_2l,1)) - - VarName='amnj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,amnj(1,jsta_2l,1)) - - VarName='anai' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,anai(1,jsta_2l,1)) - - VarName='anaj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,anaj(1,jsta_2l,1)) - - VarName='anh4i' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,anh4i(1,jsta_2l,1)) - - VarName='anh4j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,anh4j(1,jsta_2l,1)) - - VarName='anh4k' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,anh4k(1,jsta_2l,1)) - - VarName='ano3i' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,ano3i(1,jsta_2l,1)) - - VarName='ano3j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,ano3j(1,jsta_2l,1)) - - VarName='ano3k' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,ano3k(1,jsta_2l,1)) - - VarName='aolgaj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aolgaj(1,jsta_2l,1)) - - VarName='aolgbj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aolgbj(1,jsta_2l,1)) - - VarName='aorgcj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aorgcj(1,jsta_2l,1)) - - VarName='aothri' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aothri(1,jsta_2l,1)) - - VarName='aothrj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aothrj(1,jsta_2l,1)) - - VarName='apah1j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,apah1j(1,jsta_2l,1)) - - VarName='apah2j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,apah2j(1,jsta_2l,1)) - - VarName='apah3j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,apah3j(1,jsta_2l,1)) - - VarName='apcsoj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,apcsoj(1,jsta_2l,1)) - - VarName='aseacat' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aseacat(1,jsta_2l,1)) - - VarName='asij' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,asij(1,jsta_2l,1)) - - VarName='aso4i' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aso4i(1,jsta_2l,1)) - - VarName='aso4j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aso4j(1,jsta_2l,1)) - - VarName='aso4k' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,aso4k(1,jsta_2l,1)) - - VarName='asoil' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,asoil(1,jsta_2l,1)) - - VarName='asqtj' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,asqtj(1,jsta_2l,1)) - - VarName='asvoo1i' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,asvoo1i(1,jsta_2l,1)) - - VarName='asvoo1j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,asvoo1j(1,jsta_2l,1)) - - VarName='asvoo2i' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,asvoo2i(1,jsta_2l,1)) - - VarName='asvoo2j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,asvoo2j(1,jsta_2l,1)) - - VarName='asvoo3j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,asvoo3j(1,jsta_2l,1)) - - VarName='asvpo1i' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,asvpo1i(1,jsta_2l,1)) - - VarName='asvpo1j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,asvpo1j(1,jsta_2l,1)) - - VarName='asvpo2i' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,asvpo2i(1,jsta_2l,1)) - - VarName='asvpo2j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,asvpo2j(1,jsta_2l,1)) - - VarName='asvpo3j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,asvpo3j(1,jsta_2l,1)) - - VarName='atij' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,atij(1,jsta_2l,1)) - - VarName='atol1j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,atol1j(1,jsta_2l,1)) - - VarName='atol2j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,atol2j(1,jsta_2l,1)) - - VarName='atol3j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,atol3j(1,jsta_2l,1)) - - VarName='atrp1j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,atrp1j(1,jsta_2l,1)) - - VarName='atrp2j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,atrp2j(1,jsta_2l,1)) - - VarName='axyl1j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,axyl1j(1,jsta_2l,1)) - - VarName='axyl2j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,axyl2j(1,jsta_2l,1)) - - VarName='axyl3j' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,axyl3j(1,jsta_2l,1)) - - VarName='pm25ac' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,pm25ac(1,jsta_2l,1)) - - VarName='pm25at' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,pm25at(1,jsta_2l,1)) - - VarName='pm25co' - call read_netcdf_3d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,lm,pm25co(1,jsta_2l,1)) - -!========================= -! PM2.5 SPECIES -!========================= - - ! do l=1,lm - ! do j=jsta,jend - ! do i=1,im - ! pm25hp(i,j,l) = ( ah3opi(i,j,l)*pm25at(i,j,l) & - ! + ah3opj(i,j,l)*pm25ac(i,j,l) & - ! + ah3opk(i,j,l)*pm25co(i,j,l) ) / 19.0 - - ! pm25cl(i,j,l) = acli(i,j,l)*pm25at(i,j,l) & - ! + aclj(i,j,l)*pm25ac(i,j,l) & - ! + aclk(i,j,l)*pm25co(i,j,l) - - ! pm25ec(i,j,l) = aeci(i,j,l)*pm25at(i,j,l) & - ! + aecj(i,j,l)*pm25ac(i,j,l) - ! enddo - ! enddo - ! enddo - - - ! do l=1,lm - ! do j=jsta,jend - ! do i=1,im - - ! anak(i,j,l) = 0.8373 * aseacat(i,j,l) & - ! + 0.0626 * asoil(i,j,l) & - ! + 0.0023 * acors(i,j,l) - - ! pm25na(i,j,l) = anai(i,j,l)*pm25at(i,j,l) & - ! + anaj(i,j,l)*pm25ac(i,j,l) & - ! + anak(i,j,l)*pm25co(i,j,l) - ! enddo - ! enddo - ! enddo + if(iret_bl==NF90_NOERR .and. iret==NF90_NOERR) then + write(*,*) 'WARNING: BOTH cldfra_bl AND cldfra ARE AVAILABLE. USING cldfra.' + VarName='cldfra' + else if(iret_bl==NF90_NOERR) then + VarName='cldfra_bl' + else if(iret==NF90_NOERR) then + VarName='cldfra' + else + VarName='nope' + endif + + if(VarName /= 'nope') then + call read_netcdf_3d_para(ncid2d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,cfr(ista_2l,jsta_2l,1),lm) + endif + endif +! do l=1,lm +! if(debugprint)print*,'sample ',VarName,'isa,jsa,l =' & +! ,cfr(isa,jsa,l),isa,jsa,l +! enddo - do l=1,lm - do j=jsta,jend - do i=1,im - - apomi(i,j,l) = alvpo1i(i,j,l) & - +asvpo1i(i,j,l) + asvpo2i(i,j,l) - - apomj(i,j,l) = alvpo1j(i,j,l) & - +asvpo1j(i,j,l) + asvpo2j(i,j,l) + asvpo3j(i,j,l) & - +aivpo1j(i,j,l) - - asomi(i,j,l) = alvoo1i(i,j,l) + alvoo2i(i,j,l) & - +asvoo1i(i,j,l) + asvoo2i(i,j,l) - - asomj(i,j,l) = axyl1j(i,j,l) + axyl2j(i,j,l) + axyl3j(i,j,l) & - +atol1j(i,j,l) + atol2j(i,j,l) + atol3j(i,j,l) & - +abnz1j(i,j,l) + abnz2j(i,j,l) + abnz3j(i,j,l) & - +aiso1j(i,j,l) + aiso2j(i,j,l) + aiso3j(i,j,l) & - +atrp1j(i,j,l) + atrp2j(i,j,l) + asqtj(i,j,l) & - +aalk1j(i,j,l) + aalk2j(i,j,l) & - +apah1j(i,j,l) + apah2j(i,j,l) + apah3j(i,j,l) & - +aorgcj(i,j,l) + aolgbj(i,j,l) + aolgaj(i,j,l) & - +alvoo1j(i,j,l) + alvoo2j(i,j,l) & - +asvoo1j(i,j,l) + asvoo2j(i,j,l) + asvoo3j(i,j,l) & - +apcsoj(i,j,l) - - aomi(i,j,l) = apomi(i,j,l) + asomi(i,j,l) - aomj(i,j,l) = apomj(i,j,l) + asomj(i,j,l) - - atoti(i,j,l) = aso4i(i,j,l) + ano3i(i,j,l) + anh4i(i,j,l) & - + anai(i,j,l) + acli(i,j,l) + aeci(i,j,l) & - + aomi(i,j,l) +aothri(i,j,l) - - atotj(i,j,l) = aso4j(i,j,l) + ano3j(i,j,l) + anh4j(i,j,l) & - + anaj(i,j,l) + aclj(i,j,l) + aecj(i,j,l) & - + aomj(i,j,l) +aothrj(i,j,l) & - + afej(i,j,l) + asij(i,j,l) + atij(i,j,l) & - + acaj(i,j,l) + amgj(i,j,l) + amnj(i,j,l) & - + aalj(i,j,l) + akj(i,j,l) - - atotk(i,j,l) = asoil(i,j,l) + acors(i,j,l) + aseacat(i,j,l)& - + aclk(i,j,l) & - +aso4k(i,j,l) + ano3k(i,j,l) + anh4k(i,j,l) - - pmtf(i,j,l) = atoti(i,j,l)*pm25at(i,j,l) & - + atotj(i,j,l)*pm25ac(i,j,l) & - + atotk(i,j,l)*pm25co(i,j,l) - enddo - enddo - enddo +! WL add cieffr for Thompson scheme cloud ice effective radius + VarName='cieffr' + call read_netcdf_3d_para(ncid2d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,effri(ista_2l,jsta_2l,1),lm) - deallocate (aacd, aalj, aalk1j, aalk2j, abnz1j, abnz2j, abnz3j) - deallocate (acaj, acet, acli, aclj, aclk) - deallocate (acors, acro_primary, acrolein) +! WL add cleffr for Thompson scheme cloud water effective radius + VarName='cleffr' + call read_netcdf_3d_para(ncid2d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,effrl(ista_2l,jsta_2l,1),lm) - deallocate (aeci, aecj, afej, aglyj, ah2oi, ah2oj, ah2ok) - deallocate (ah3opi, ah3opj, ah3opk, aiso1j, aiso2j, aiso3j) +! WL add cseffr for Thompson scheme snow effective radius + VarName='cseffr' + call read_netcdf_3d_para(ncid2d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,effrs(ista_2l,jsta_2l,1),lm) - deallocate (aivpo1j, akj, ald2, ald2_primary, aldx) - deallocate (alvoo1i, alvoo1j, alvoo2i, alvoo2j, alvpo1i, alvpo1j) +!===================================== +! For AQF Hourly average field PM2.5 +!===================================== - deallocate (amgj, amnj, anai, anaj, anak) - deallocate (anh4i, anh4j, anh4k, ano3i, ano3j, ano3k) + if (aqf_on) then - deallocate (aolgaj, aolgbj, aomi, aomj) - deallocate (aorgcj, aothri, aothrj, apah1j, apah2j, apah3j) + ! *********** VarName need to be in lower case ************ + ! === It will cause problem if not use the lower case ===== + ! ********************************************************* - deallocate (apcsoj, apomi, apomj, aseacat, asij) - deallocate (aso4i, aso4j, aso4k, asoil, asomi, asomj, asqtj) + !-- rename input o3_ave and pm25_ave to NCO grib2 name OZCON and PMTF - deallocate (asvoo1i, asvoo1j, asvoo2i, asvoo2j, asvoo3j) - deallocate (asvpo1i, asvpo1j, asvpo2i, asvpo2j, asvpo3j) + VarName='o3_ave' + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,avgozcon(ista_2l,jsta_2l,1),lm) - deallocate (atij, atol1j, atol2j, atol3j, atrp1j, atrp2j) - deallocate (atoti, atotj, atotk, axyl1j, axyl2j, axyl3j) + VarName='pm25_ave' + call read_netcdf_3d_para(ncid3d,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,avgpmtf(ista_2l,jsta_2l,1),lm) - deallocate (pm25ac, pm25at, pm25co) + VarName='aod' + call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,aqm_aod550(ista_2l,jsta_2l)) - endif ! -- aqfcmaq_on + endif ! -- aqf_on !============================ +! read for regional FV3 + if (modelname == 'FV3R') then ! max hourly updraft velocity VarName='upvvelmax' - call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,w_up_max) + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,w_up_max(ista_2l,jsta_2l)) if(debugprint)print*,'sample ',VarName,' = ',w_up_max(isa,jsa) - ! max hourly downdraft velocity VarName='dnvvelmax' - call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,w_dn_max) + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,w_dn_max(ista_2l,jsta_2l)) if(debugprint)print*,'sample ',VarName,' = ',w_dn_max(isa,jsa) ! max hourly updraft helicity VarName='uhmax25' - call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,up_heli_max) + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,up_heli_max(ista_2l,jsta_2l)) if(debugprint)print*,'sample ',VarName,' = ',up_heli_max(isa,jsa) ! min hourly updraft helicity VarName='uhmin25' - call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,up_heli_min) + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,up_heli_min(ista_2l,jsta_2l)) if(debugprint)print*,'sample ',VarName,' = ',up_heli_min(isa,jsa) ! max hourly 0-3km updraft helicity VarName='uhmax03' - call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,up_heli_max03) + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,up_heli_max03(ista_2l,jsta_2l)) if(debugprint)print*,'sample ',VarName,' = ',up_heli_max03(isa,jsa) ! min hourly 0-3km updraft helicity VarName='uhmin03' - call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,up_heli_min03) + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,up_heli_min03(ista_2l,jsta_2l)) if(debugprint)print*,'sample ',VarName,' = ',up_heli_min03(isa,jsa) ! max 0-1km relative vorticity max VarName='maxvort01' - call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,rel_vort_max01) + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,rel_vort_max01(ista_2l,jsta_2l)) if(debugprint)print*,'sample ',VarName,' = ',rel_vort_max01(isa,jsa) ! max 0-2km relative vorticity max VarName='maxvort02' - call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,rel_vort_max) + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,rel_vort_max(ista_2l,jsta_2l)) if(debugprint)print*,'sample ',VarName,' =',rel_vort_max(isa,jsa) ! max hybrid lev 1 relative vorticity max VarName='maxvorthy1' - call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName,rel_vort_maxhy1) + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,rel_vort_maxhy1(ista_2l,jsta_2l)) if(debugprint)print*,'sample ',VarName,' =',rel_vort_maxhy1(isa,jsa) +! HAILCAST maximum hail diameter (mm) since last output + VarName='hailcast_dhail' + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,hail_maxhailcast(ista_2l,jsta_2l)) + if(debugprint)print*,'sample ',VarName,' =',hail_maxhailcast(isa,jsa) +! hourly wildfire potential + VarName='hwp_ave' + call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,hwp(ista_2l,jsta_2l)) + if(debugprint)print*,'sample ',VarName,' =',hwp(isa,jsa) +! hourly averaged smoke + VarName='smoke_ave' + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,smoke_ave(ista_2l,jsta_2l)) + if(debugprint)print*,'sample ',VarName,' =',smoke_ave(isa,jsa) +! hourly averaged dust + VarName='dust_ave' + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,dust_ave(ista_2l,jsta_2l)) + if(debugprint)print*,'sample ',VarName,' =',dust_ave(isa,jsa) +! hourly averaged coarsepm + VarName='coarsepm_ave' + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,coarsepm_ave(ista_2l,jsta_2l)) + if(debugprint)print*,'sample ',VarName,' =',coarsepm_ave(isa,jsa) + endif + +! lightning threat index 1 + VarName='ltg1_max' + call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,ltg1_max(ista_2l,jsta_2l)) + if(debugprint)print*,'sample ',VarName,' =',ltg1_max(isa,jsa) + +! lightning threat index 2 + VarName='ltg2_max' + call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,ltg2_max(ista_2l,jsta_2l)) + if(debugprint)print*,'sample ',VarName,' =',ltg2_max(isa,jsa) + +! lightning threat index 3 + VarName='ltg3_max' + call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,ltg3_max(ista_2l,jsta_2l)) + if(debugprint)print*,'sample ',VarName,' =',ltg3_max(isa,jsa) + ! surface pressure VarName='pressfc' - call read_netcdf_2d_scatter(me,ncid3d,1,im,jm,jsta,jsta_2l & - ,jend_2u,MPI_COMM_COMP,icnt,idsp,spval,VarName & - ,pint(1,jsta_2l,lp1)) + call read_netcdf_2d_para(ncid3d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,pint(ista_2l,jsta_2l,lp1)) do j=jsta,jend - do i=1,im -! if(pint(i,j,lp1)>1.0E6 .or. pint(1,jsta_2l,lp1)<50000.) & + do i=ista,iend +! if(pint(i,j,lp1)>1.0E6 .or. pint(ista_2l,jsta_2l,lp1)<50000.) & ! print*,'bad psfc ',i,j,pint(i,j,lp1) end do end do @@ -1686,14 +1152,14 @@ SUBROUTINE INITPOST_NETCDF(ncid3d) pt = ak5(1) do j=jsta,jend - do i=1,im + do i=ista,iend pint(i,j,1)= pt end do end do do l=2,lp1 do j=jsta,jend - do i=1,im + do i=ista,iend if (dpres(i,j,l-1) @brief read_netcdf_3d_para() reads dynamics variables from UFS model output. +!> +!> @param[in] ncid integer netCDF ID. +!> @param[in] im integer Full longitude domain. +!> @param[in] jm integer Full latitude domain. +!> @param[in] ista integer Start longitude latitude on a task subdomain. +!> @param[in] ista_2l integer Start longitude -2 of the subdomain. +!> @param[in] iend integer End longitude on a task subdomain. +!> @param[in] iend_2u integer End longitude +2 of the subdomain. +!> @param[in] jsta integer Start latitude on a task subdomain. +!> @param[in] jsta_2l integer Start latitude -2 of the subdomain. +!> @param[in] jend integer End latitude on a task subdomain. +!> @param[in] jend_2u integer End latitude +2 of the subdomain. +!> @param[in] spval real Missing value defined in UPP. +!> @param[in] varname character Variable name in netCDF file. +!> @param[out] buf real Variable values. +!> @param[in] lm integer Model levels. +!---------------------------------------------------------------------- + subroutine read_netcdf_3d_para(ncid,im,jm,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,varname,buf,lm) use netcdf + use ctlblk_mod, only : me + use params_mod, only : small implicit none INCLUDE "mpif.h" - character(len=20),intent(in) :: VarName + + character(len=*),intent(in) :: varname real,intent(in) :: spval - integer,intent(in) :: me,ncid,ifhr,im,jm,jsta_2l,jend_2u,jsta, & - MPI_COMM_COMP,lm - integer,intent(in) :: ICNT(0:1023), IDSP(0:1023) - real,intent(out) :: buf(im,jsta_2l:jend_2u,lm) - integer :: iret,i,j,jj,varid,l - real dummy(im,jm,lm),dummy2(im,jm,lm) - real,parameter :: spval_netcdf=-1.e+10 + integer,intent(in) :: ncid,im,jm,lm,jsta_2l,jend_2u,jsta,jend + integer,intent(in) :: ista_2l,iend_2u,ista,iend + real,intent(out) :: buf(ista_2l:iend_2u,jsta_2l:jend_2u,lm) + integer :: varid,iret,ii,jj,i,j,l,kk + integer :: start(3), count(3), stride(3) + real,parameter :: spval_netcdf=9.99e+20 real :: fill_value - real,parameter :: small=1.E-6 - if(me == 0) then - iret = nf90_inq_varid(ncid,trim(varname),varid) - if (iret /= 0) then - print*,VarName," not found -Assigned missing values" + iret = nf90_inq_varid(ncid,trim(varname),varid) + if (iret /= 0) then + if (me == 0) print*,VarName," not found -Assigned missing values" +!$omp parallel do private(i,j,l) do l=1,lm -!$omp parallel do private(i,j) - do j=1,jm - do i=1,im - dummy(i,j,l) = spval + do j=jsta,jend + do i=ista,iend + buf(i,j,l)=spval + enddo + enddo + enddo + else + iret = nf90_get_att(ncid,varid,"_FillValue",fill_value) + if (iret /= 0) fill_value = spval_netcdf + start = (/ista,jsta,1/) + ii=iend-ista+1 + jj=jend-jsta+1 + count = (/ii,jj,lm/) + iret = nf90_get_var(ncid,varid,buf(ista:iend,jsta:jend,1:lm),start=start,count=count) + if (iret /= 0) then + print*," iret /=0, Error in reading varid " + endif + do l=1,lm + do j=jsta,jend + do i=ista,iend + if(abs(buf(i,j,l)-fill_value) @brief read_netcdf_2d_para() reads physics variables from UFS model output. +!> +!> @param[in] ncid integer netCDF ID. +!> @param[in] ista integer Start longitude latitude on a task subdomain. +!> @param[in] ista_2l integer Start longitude -2 of the subdomain. +!> @param[in] iend integer End longitude on a task subdomain. +!> @param[in] iend_2u integer End longitude +2 of the subdomain. +!> @param[in] jsta integer Start latitude on a task subdomain. +!> @param[in] jsta_2l integer Start latitude -2 of the subdomain. +!> @param[in] jend integer End latitude on a task subdomain. +!> @param[in] jend_2u integer End latitude +2 of the subdomain. +!> @param[in] spval real Missing value defined in UPP. +!> @param[in] varname character Variable name in netCDF file. +!> @param[out] buf real Variable values. +!---------------------------------------------------------------------- + + subroutine read_netcdf_2d_para(ncid,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, & + spval,VarName,buf) use netcdf + use ctlblk_mod, only : me + use params_mod, only : small implicit none INCLUDE "mpif.h" - character(len=20),intent(in) :: VarName + + character(len=*),intent(in) :: VarName real,intent(in) :: spval - integer,intent(in) :: me,ncid,ifhr,im,jm,jsta_2l,jend_2u,jsta, & - MPI_COMM_COMP - integer,intent(in) :: ICNT(0:1023), IDSP(0:1023) - real,intent(out) :: buf(im,jsta_2l:jend_2u) - integer :: iret,i,j,jj,varid + integer,intent(in) :: ncid,jsta_2l,jend_2u,jsta,jend,ista_2l,iend_2u,ista,iend + real,intent(out) :: buf(ista_2l:iend_2u,jsta_2l:jend_2u) + integer :: varid,iret,ii,jj,i,j,l,kk + integer :: start(2), count(2) real,parameter :: spval_netcdf=9.99e+20 -! dong for hgtsfc 2d var but with 3d missing value - real,parameter :: spval_netcdf_3d=-1.e+10 - real,parameter :: small=1.E-6 real :: fill_value - real dummy(im,jm),dummy2(im,jm) - if(me == 0) then - iret = nf90_inq_varid(ncid,trim(varname),varid) - if (iret /= 0) then - print*,VarName, " not found -Assigned missing values" + iret = nf90_inq_varid(ncid,trim(varname),varid) + if (iret /= 0) then + if (me==0) print*,VarName," not found -Assigned missing values" !$omp parallel do private(i,j) - do j=1,jm - do i=1,im - dummy(i,j) = spval - end do + do j=jsta,jend + do i=ista,iend + buf(i,j)=spval + enddo + enddo + else + iret = nf90_get_att(ncid,varid,"_FillValue",fill_value) + if (iret /= 0) fill_value = spval_netcdf + start = (/ista,jsta/) + ii=iend-ista+1 + jj=jend-jsta+1 + count = (/ii,jj/) + iret = nf90_get_var(ncid,varid,buf(ista:iend,jsta:jend),start=start,count=count) + if (iret /= 0) then + print*," iret /=0, Error in reading varid " + endif + do j=jsta,jend + do i=ista,iend + if(abs(buf(i,j)-fill_value) @file -! -!> SUBPROGRAM: INITPOST INITIALIZE POST FOR RUN -!! PRGRMMR: RUSS TREADON ORG: W/NP2 DATE: 93-11-10 -!! -!! ABSTRACT: THIS ROUTINE INITIALIZES CONSTANTS AND -!! VARIABLES AT THE START OF AN ETA MODEL OR POST -!! PROCESSOR RUN. -!! -!! THIS ROUTINE ASSUMES THAT INTEGERS AND REALS ARE THE SAME SIZE -!! -!! PROGRAM HISTORY LOG: -!! 93-11-10 RUSS TREADON - ADDED DOCBLOC -!! 98-05-29 BLACK - CONVERSION OF POST CODE FROM 1-D TO 2-D -!! 99-01 20 TUCCILLO - MPI VERSION -!! 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -!! 02-06-19 MIKE BALDWIN - WRF VERSION -!! 02-08-15 H CHUANG - UNIT CORRECTION AND GENERALIZE PROJECTION OPTIONS -!! 03-07-25 H CHUANG - MODIFIED TO PROCESS NMM WRF -!! 05-12-05 H CHUANG - ADD CAPABILITY TO OUTPUT OFF-HOUR FORECAST WHICH HAS -!! NO INPACTS ON ON-HOUR FORECAST -!! 21-03-11 Bo Cui - change local arrays to dimension (im,jsta:jend) -!! -!! USAGE: CALL INIT -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! LOOKUP -!! SOILDEPTH -!! -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! - SUBROUTINE INITPOST_NMM - - use vrbls3d, only: t, u, uh, v, vh, q, cwm, f_ice, f_rain, f_rimef, q,& - qqw, qqr, qqs, qqi, qqg, qqw, cwm , q2, wh, pint, alpint, pmid,& - omga, pmidv, zmid, rlwtt, rswtt, ttnd, tcucn, train, exch_h,& - el_pbl, cfr, zint, REF_10CM, qqni, qqnr, qrimef - use vrbls2d, only: fis, cfrach, cfracl, cfracm, u10h, u10, v10h, v10,th10,& - q10, tshltr, qshltr, pshltr, smstav, smstot, acfrcv, acfrst, ncfrcv,& - ncfrst, ssroff, bgroff, sfcevp, sfcexc, vegfrc, acsnow, acsnom,& - cmc, sst, mdltaux, mdltauy, thz0, qz0, uz0, vz0, qs, z0, pblh, mixht,& - ustar, akhs, akms, ths, prec, cuprec, acprec, ancprc, cprate, cuppt,& - lspa, cldefi, htop, hbot, htopd, czmean, rswout, rlwin, rlwtoa, sigt4,& - radot, aswin, aswout, alwin, alwout, alwtoa, aswtoa, hbotd, htops,& - hbots, sr, rswin, rswinc, czen, tg, soiltb, twbs, sfcshx, qwbs,& - sfclhx, grnflx, subshx, potevp, sno, si, pctsno, ivgtyp, isltyp,& - islope, albedo, albase, mxsnal, epsr, f, REFC_10CM, REFD_MAX, & - RSWTOA, SWUPT, ACSWUPT, SWDNT, ACSWDNT, CD10, CH10 - use soil, only: smc, sh2o, stc, sldpth, sllevel - use masks, only: lmv, lmh, htm, vtm, hbm2, sm, sice, gdlat, gdlon, dx, dy - use params_mod, only: tfrz, g, rd, d608, rtd, dtr, erad - use lookup_mod, only: thl, plq, ptbl, ttbl, rdq, rdth, rdp, rdthe, pl,& - qs0, sqs, sthe, the0, ttblq, rdpq, rdtheq, stheq, the0q - use ctlblk_mod, only: jsta, jend, nprec, jsta_2l, jend_2u, filename,& - datahandle, datestr, ihrst, imin, sdat, spval, imp_physics, pt,& - icu_physics, pdtop, nsoil, isf_surface_physics, jsta_m, jend_m,& - avrain, avcnvc, ardsw, ardlw, asrfc, me, mpi_comm_comp, nphs, spl,& - lsm, dt, dtq2,tsrfc, trdlw, trdsw, idat, ifhr, ifmin, restrt,& - theat, tclod, tprec, alsl, lm, im, jm , submodelname - use gridspec_mod, only: latstart, latlast, cenlat, lonstart, lonlast,& - cenlon, dxval, dyval, maptype, gridtype, truelat1, truelat2,& - psmapf -! use wrf_io_flags_mod -! - implicit none -! -! INCLUDE/SET PARAMETERS. -! - INCLUDE "mpif.h" -! -! This version of INITPOST shows how to initialize, open, read from, and -! close a NetCDF dataset. In order to change it to read an internal (binary) -! dataset, do a global replacement of _ncd_ with _int_. - real :: dcenlat, dcenlon - character(len=31) :: VarName - integer :: Status, cen1, cen2 - character startdate*19,SysDepInfo*80 -! -! NOTE: SOME INTEGER VARIABLES ARE READ INTO DUMMY ( A REAL ). THIS IS OK -! AS LONG AS REALS AND INTEGERS ARE THE SAME SIZE. -! -! ALSO, EXTRACT IS CALLED WITH DUMMY ( A REAL ) EVEN WHEN THE NUMBERS ARE -! INTEGERS - THIS IS OK AS LONG AS INTEGERS AND REALS ARE THE SAME SIZE. - CHARACTER*4 RESTHR - INTEGER IDATE(8),JDATE(8) - INTEGER :: i_parent_start, j_parent_start -! -! DECLARE VARIABLES. -! - REAL RINC(5) - REAL ETA1(LM), ETA2(LM) - REAL DUMMY ( IM, JM ) -! REAL DUMMY2 ( IM, JM ) - real, allocatable :: fi(:,:,:) - REAL DUM3D ( IM+1, JM+1, LM+1 ) - REAL DUM3D2 ( IM+1, JM+1, LM+1 ) -!mp - INTEGER IDUMMY ( IM, JM ) -! -!jw - integer ii,jj,js,je,jev,iyear,imn,iday,itmp,ioutcount,istatus, & - nsrfc,nrdlw,nrdsw,nheat,nclod, & - I,J,L,LL,N,LONEND,LATEND,IMM,INAV,IRTN, & - IFDX,IFDY,IGDOUT,ICEN,JCEN -! integer iw, ie - real TSPH,fact,dumcst,tstart,tmp - real LAT -! -! Declarations for : -! putting 10 m wind on V points because copygb assume such - INTEGER IE, IW -!code from R.Rozumalski - INTEGER latnm, latsm, lonem, lonwm, idxave, dlat, dlon, nlat, nlon - -!*********************************************************************** -! START INIT HERE. -! - WRITE(6,*)'INITPOST: ENTER INITPOST' - print*,'im,jm,lm= ',im,jm,lm - - ii=im/2 ! diagnostic print indices - jj=(jsta+jend)/2 - ll=lm/2 -! -! STEP 1. READ MODEL OUTPUT FILE -! -! -!*** -! -! set default to not empty buket - NSRFC=0 - NRDLW=0 - NRDSW=0 - NHEAT=0 - NCLOD=0 - NPREC=0 - -! LMH always = LM for sigma-type vert coord -! LMV always = LM for sigma-type vert coord - - do j = jsta_2l, jend_2u - do i = 1, im - LMV ( i, j ) = lm - LMH ( i, j ) = lm - end do - end do - - -! HTM VTM all 1 for sigma-type vert coord - - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - HTM ( i, j, l ) = 1.0 - VTM ( i, j, l ) = 1.0 - end do - end do - end do -! -! how do I get the filename? -! fileName = '/ptmp/wx20mb/wrfout_01_030500' -! DateStr = '2002-03-05_18:00:00' -! how do I get the filename? - call ext_ncd_ioinit(SysDepInfo,Status) - print*,'called ioinit', Status - call ext_ncd_open_for_read( trim(fileName), 0, 0, " ", & - DataHandle, Status) - print*,'called open for read', Status - if ( Status /= 0 ) then - print*,'error opening ',fileName, ' Status = ', Status ; stop - endif -! get date/time info -! this routine will get the next time from the file, not using it - print *,'DateStr before calling ext_ncd_get_next_time=',DateStr -! call ext_ncd_get_next_time(DataHandle, DateStr, Status) - print *,'DateStri,Status,DataHandle = ',DateStr,Status,DataHandle - -! The end j row is going to be jend_2u for all variables except for V. - JS=JSTA_2L - JE=JEND_2U - IF (JEND_2U==JM) THEN - JEV=JEND_2U+1 - ELSE - JEV=JEND_2U - ENDIF -! -! Getting start time - call ext_ncd_get_dom_ti_char(DataHandle,'START_DATE',startdate, & - status ) -! patch for NMM WRF because it does not have start-date in output yet -! startdate='2003-04-17T00:00:00' - print*,'startdate= ',startdate -! - jdate=0 - idate=0 - read(startdate,15)iyear,imn,iday,ihrst,imin - 15 format(i4,1x,i2,1x,i2,1x,i2,1x,i2) - print*,'start yr mo day hr min =',iyear,imn,iday,ihrst,imin - print*,'processing yr mo day hr min=',idat(3),idat(1),idat(2), & - idat(4),idat(5) - idate(1)=iyear - idate(2)=imn - idate(3)=iday - idate(5)=ihrst - idate(6)=imin - SDAT(1)=imn - SDAT(2)=iday - SDAT(3)=iyear -! - jdate(1)=idat(3) - jdate(2)=idat(1) - jdate(3)=idat(2) - jdate(5)=idat(4) - jdate(6)=idat(5) -! CALL W3DIFDAT(JDATE,IDATE,2,RINC) -! ifhr=nint(rinc(2)) - CALL W3DIFDAT(JDATE,IDATE,0,RINC) - ifhr=nint(rinc(2)+rinc(1)*24.) - ifmin=nint(rinc(3)) - print*,' in INITPOST ifhr ifmin fileName=',ifhr,ifmin,fileName - -! Getting tstart - call ext_ncd_get_dom_ti_real(DataHandle,'TSTART',tmp,1,ioutcount, & - istatus) - if(istatus==0)then - tstart=tmp - else - tstart=0. - end if - print*,'status for getting TSTART= ',istatus - print*,'TSTART= ',TSTART - -! Getting restart - - RESTRT=.TRUE. ! set RESTRT default - call ext_ncd_get_dom_ti_integer(DataHandle,'RESTARTBIN',itmp,1, & - ioutcount,istatus) - - IF(itmp < 1)THEN - RESTRT=.FALSE. - ELSE - RESTRT=.TRUE. - END IF - - print*,'status for getting RESTARTBIN= ',istatus - print*,'Is this a restrt run? ',RESTRT - -! IF(RESTRT)THEN -! ifhr=ifhr+NINT(tstart) -! print*,'new forecast hours for restrt run= ',ifhr -! END IF - - IF(tstart > 1.0E-2)THEN - ifhr=ifhr+NINT(tstart) - rinc=0 - idate=0 - rinc(2)=-1.0*ifhr - call w3movdat(rinc,jdate,idate) - SDAT(1)=idate(2) - SDAT(2)=idate(3) - SDAT(3)=idate(1) - IHRST=idate(5) - print*,'new forecast hours for restrt run= ',ifhr - print*,'new start yr mo day hr min =',sdat(3),sdat(1), & - sdat(2),ihrst,imin - END IF - - VarName='HBM2' - HBM2=SPVAL - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - HBM2 ( i, j ) = dummy ( i, j ) - end do - end do - -! OK, since all of the variables are dimensioned/allocated to be -! the same size, this means we have to be careful int getVariable -! to not try to get too much data. For example, -! DUM3D is dimensioned IM+1,JM+1,LM+1 but there might actually -! only be im,jm,lm points of data available for a particular variable. - -! get 3-D variables - VarName='T' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - t ( i, j, l ) = dum3d ( i, j, l ) -! if(l==1)print*,'Debug: I,J,T= ',i,j,t ( i, j, l ) -! t ( i, j, l ) = dum3d ( i, j, l ) + 300. -! th ( i, j, l ) = dum3d ( i, j, l ) + 300. - end do - end do - end do - do l=1,lm - if(jj>= jsta .and. jj<=jend)print*,'sample L,T= ',L,T(ii,jj,l) - end do - -! VarName='T_ADJ' -! call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, -! & IM+1,1,JM+1,LM+1,IM,JS,JE,LM) -! do l = 1, lm -! do j = jsta_2l, jend_2u -! do i = 1, im -! t_ADJ ( i, j, l ) = dum3d ( i, j, l ) -! end do -! end do -! end do -! do l=1,lm -! if(jj>= jsta .and. jj<=jend)print*,'sample L,T_ADJ= ',L -! &,T_ADJ(ii,jj,l) -! end do - - - VarName='U' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - u ( i, j, l ) = dum3d ( i, j, l ) - UH( i, j, l ) = dum3d ( i, j, l ) -! if(l==1)print*,'Debug: I,J,U= ',i,j,u( i, j, l ) - end do - end do -! fill up UH which is U at P-points including 2 row halo -! do j = jsta_2l, jend_2u -! do i = 1, im -! UH (I,J,L) = (dum3d(I,J,L)+dum3d(I+1,J,L))*0.5 -! end do -! end do - end do - if(jj>= jsta .and. jj<=jend)print*,'sample U= ',U(ii,jj,ll) - VarName='V' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - v ( i, j, l ) = dum3d ( i, j, l ) - VH( i, j, l ) = dum3d ( i, j, l ) - end do - end do -! fill up VH which is V at P-points including 2 row halo -! do j = jsta_2l, jend_2u -! do i = 1, im -! VH(I,J,L) = (dum3d(I,J,L)+dum3d(I,J+1,L))*0.5 -! end do -! end do - end do - if(jj>= jsta .and. jj<=jend)print*,'sample V= ',V(ii,jj,ll) - - call ext_ncd_get_dom_ti_integer(DataHandle,'MP_PHYSICS' & - ,itmp,1,ioutcount,istatus) - imp_physics=itmp -! Chuang: will initialize microphysics constants differently for 85 now -! if(imp_physics == 85) imp_physics=5 !HWRF - print*,'MP_PHYSICS= ',imp_physics - -! Initializes constants for Ferrier microphysics - if(imp_physics==5 .or. imp_physics==15 .or. imp_physics==85 & - .or. imp_physics==95)then - CALL MICROINIT(imp_physics) - end if - - call ext_ncd_get_dom_ti_integer(DataHandle,'CU_PHYSICS' & - ,itmp,1,ioutcount,istatus) - icu_physics=itmp - if (icu_physics == 84 .or. icu_physics == 85) icu_physics = 4 ! HWRF - print*,'CU_PHYSICS= ',icu_physics - - ! Set these values to SPVAL to insure they are initialized a - ! fact that the code relies on later.... - qqw=spval - qqr=spval - qqs=spval - qqi=spval - qqg=spval - -!KRF: NMM and ARW direct read of radar ref for microphysic options -! mp options: 2,4,6,7,8,10,14,16 -! REFL_10cm --> REF_10CM -! REFD_MAX --> REFD_MAX - VarName='REFL_10CM' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - REF_10CM ( i, j, l ) = dum3d ( i, j, l ) - end do - end do - end do - do l=1,lm - if(jj>= jsta .and. jj<=jend)print*,'sample L,T= ',L,T(ii,jj,l) - end do - - VarName='REFD_MAX' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - REFD_MAX ( i, j ) = dummy ( i, j ) - end do - end do -! print*,'REFD_MAX at ',ii,jj,' = ',REFD_MAX(ii,jj) -! END KRF - - if(imp_physics==5 .or. imp_physics==15 .or. imp_physics==85 .or. imp_physics==95)then - - VarName='Q' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - if (dum3d(i,j,l) < 10E-12) dum3d(i,j,l) = 10E-12 - q ( i, j, l ) = dum3d ( i, j, l ) - end do - end do - end do - print*,'finish reading specific humidity' - if(jj>= jsta .and. jj<=jend)print*,'sample Q= ',Q(ii,jj,ll) - - else - VarName='QVAPOR' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im -! q ( i, j, l ) = dum3d ( i, j, l ) -! if(l==1)print*,'Debug: I,J,Q= ',i,j,q( i, j, l ) -!CHC CONVERT MIXING RATIO TO SPECIFIC HUMIDITY - if (dum3d(i,j,l) < 10E-12) dum3d(i,j,l) = 10E-12 - q ( i, j, l ) = dum3d ( i, j, l )/(1.0+dum3d ( i, j, l )) - end do - end do - end do - print*,'finish reading specific humidity' - if(jj>= jsta .and. jj<=jend)print*,'sample Q= ',Q(ii,jj,ll) - endif - - if(imp_physics==5 .or. imp_physics==85 .or. imp_physics==95)then - VarName='CWM' !????? - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - cwm ( i, j, l ) = dum3d ( i, j, l ) - end do - end do - end do - print*,'finish reading cloud mixing ratio' - - VarName='F_ICE' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - F_ICE ( i, j, l ) = dum3d ( i, j, l ) - end do - end do - end do - - VarName='F_RAIN' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - F_RAIN ( i, j, l ) = dum3d ( i, j, l ) - end do - end do - end do - - VarName='F_RIMEF' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - F_RIMEF ( i, j, l ) = dum3d ( i, j, l ) - end do - end do - end do - - else ! retrieve hydrometeo fields directly for non-Ferrier - cwm=spval !make sure set - F_RimeF=spval !make sure set - - if(imp_physics/=0)then - VarName='QCLOUD' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im -! partition cloud water and ice for WSM3 - if(imp_physics==3)then - if(t(i,j,l) >= TFRZ)then - qqw ( i, j, l ) = dum3d ( i, j, l ) - else - qqi ( i, j, l ) = dum3d ( i, j, l ) - end if - else ! bug fix provided by J CASE - qqw ( i, j, l ) = dum3d ( i, j, l ) - end if - cwm(i,j,l)=dum3d(i,j,l) - end do - end do - end do - end if - if(jj>= jsta .and. jj<=jend)print*,'sample qqw= ' & - ,Qqw(ii,jj,ll) - - if(imp_physics/=1 .and. imp_physics/=3 & - .and. imp_physics/=0)then - VarName='QICE' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - qqi ( i, j, l ) = dum3d ( i, j, l ) - cwm(i,j,l)=cwm(i,j,l)+dum3d(i,j,l) - end do - end do - end do - end if - if(jj>= jsta .and. jj<=jend)print*,'sample qqi= ' & - ,Qqi(ii,jj,ll) - - if(imp_physics==15) then - VarName='QRIMEF' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - qrimef ( i, j, l ) = dum3d ( i, j, l ) - end do - end do - end do - end if - if(jj>= jsta .and. jj<=jend)print*,'sample qrimef= ' & - ,Qrimef(ii,jj,ll) - - if(imp_physics/=0)then - VarName='QRAIN' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im -! partition rain and snow for WSM3 - if(imp_physics == 3)then - if(t(i,j,l) >= TFRZ)then - qqr ( i, j, l ) = dum3d ( i, j, l ) - else - qqs ( i, j, l ) = dum3d ( i, j, l ) - end if - else ! bug fix provided by J CASE - qqr ( i, j, l ) = dum3d ( i, j, l ) - end if - cwm(i,j,l)=cwm(i,j,l)+dum3d(i,j,l) - end do - end do - end do - end if - if(jj>= jsta .and. jj<=jend)print*,'sample qqr= ' & - ,Qqr(ii,jj,ll) - - if(imp_physics/=1 .and. imp_physics/=3 & - .and. imp_physics/=0)then - VarName='QSNOW' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - qqs ( i, j, l ) = dum3d ( i, j, l ) - cwm(i,j,l)=cwm(i,j,l)+dum3d(i,j,l) - end do - end do - end do - end if - if(jj>= jsta .and. jj<=jend)print*,'sample qqs= ' & - ,Qqs(ii,jj,ll) - - if(imp_physics==2 .or. imp_physics==6 & - .or. imp_physics==8 .or. imp_physics==28)then - VarName='QGRAUP' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - qqg ( i, j, l ) = dum3d ( i, j, l ) - cwm(i,j,l)=cwm(i,j,l)+dum3d(i,j,l) - end do - end do - end do - end if - if(jj>= jsta .and. jj<=jend)print*,'sample qqg= ' & - ,Qqg(ii,jj,ll) - -! KRS: Add concentrations for HWRF output - if(imp_physics==8 .or. imp_physics==9)then - VarName='QNICE' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM, JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - qqni ( i, j, l ) = dum3d ( i, j, l ) - if(i==im/2.and.j==(jsta+jend)/2)print*,'sample QQNI= ', & - i,j,l,QQNI ( i, j, l ) - end do - end do - end do - VarName='QNRAIN' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM, JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - qqnr ( i, j, l ) = dum3d ( i, j, l ) - if(i==im/2.and.j==(jsta+jend)/2)print*,'sample QQNR= ', & - i,j,l,QQNR ( i, j, l ) - end do - end do - end do - end if -! KRS: End add concentrations for HWRF - - end if ! end of retrieving hydrometeo for different MP options - - -! call getVariable(fileName,DateStr,DataHandle,'TKE_PBL',DUM3D, - call getVariable(fileName,DateStr,DataHandle,'Q2',DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - q2 ( i, j, l ) = dum3d ( i, j, l ) - end do - end do - end do - VarName='W' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM+1) -! & IM+1,1,JM+1,LM+1,IM,JS,JE,LM) -! do l = 1, lm+1 -! do j = jsta_2l, jend_2u -! do i = 1, im -! w ( i, j, l ) = dum3d ( i, j, l ) -! end do -! end do -! end do -! fill up WH which is W at P-points including 2 row halo - DO L=1,LM - DO I=1,IM - DO J=JSTA_2L,JEND_2U -! WH(I,J,L) = (W(I,J,L)+W(I,J,L+1))*0.5 - wh ( i, j, l ) = dum3d ( i, j, l+1 ) - ENDDO - ENDDO - ENDDO - print*,'finish reading W' - -!MEB call getVariable(fileName,DateStr,DataHandle,'QRAIN',new) - - VarName='PINT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM+1) -! VarName='P' -! call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D2, -! & IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm+1 - do j = jsta_2l, jend_2u - do i = 1, im -! PMID(I,J,L)=DUM3D(I,J,L)+DUM3D2(I,J,L) - PINT(I,J,L)=DUM3D(I,J,L) - ALPINT(I,J,L)=ALOG(PINT(I,J,L)) - end do - end do - end do -! do l = 1, lm+1 -! if(jj>= jsta .and. jj<=jend)print*,'sample PINT= ' -! & ,PINT(ii,jj,l) -! end do -! - DO L=1,LM - DO I=1,IM - DO J=JSTA_2L,JEND_2U - PMID(I,J,L)=(PINT(I,J,L)+PINT(I,J,L+1))*0.5 -! TH(I,J,L)=T(I,J,L)*(1.E5/PMID(I,J,L))**CAPA - IF(ABS(T(I,J,L))>1.0E-3) & - OMGA(I,J,L) = -WH(I,J,L)*PMID(I,J,L)*G/ & - (RD*T(I,J,L)*(1.+D608*Q(I,J,L))) -! -! PINT(I,J,L)=EXP((ALOG(PMID(I,J,L-1))+ -! & ALOG(PMID(I,J,L)))*0.5) ! ave of ln p -! ALPINT(I,J,L)=ALOG(PINT(I,J,L)) - ENDDO - ENDDO - ENDDO -! - do l = 1, lm - do j = jsta, jend - do i = 1, im-MOD(J,2) - IF(J == 1 .AND. I < IM)THEN !SOUTHERN BC - PMIDV(I,J,L)=0.5*(PMID(I,J,L)+PMID(I+1,J,L)) - ELSE IF(J==JM .AND. I1.0e-5)print*,'nonzero ncfrcv',ncfrcv(i,j) - end do - end do - - VarName='NCFRST' - write(6,*) 'call getIVariable for : ', VarName - call getIVariableN(fileName,DateStr,DataHandle,VarName,IDUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ncfrst ( i, j ) = float(idummy ( i, j )) -! if(ncfrst(i,j)>1.0e-5)print*,'nonzero ncfrst',ncfrst(i,j) - end do - end do - - VarName='SSROFF' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SSROFF ( i, j ) = dummy ( i, j ) - end do - end do - VarName='UDROFF' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - BGROFF ( i, j ) = dummy ( i, j ) - end do - end do - - VarName='SFCEVP' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SFCEVP( i, j ) = dummy ( i, j ) - end do - end do -! print*,'SFCEVP at ',ii,jj,' = ',SFCEVP(ii,jj) - - VarName='CD10' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,& - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - CD10( i, j ) = dummy ( i, j ) - end do - end do -! print*,'CD10 at ',ii,jj,' = ',CD10(ii,jj) - - VarName='CH10' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,& - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - CH10( i, j ) = dummy ( i, j ) - end do - end do -! print*,'CD10 at ',ii,jj,' = ',CD10(ii,jj) - - VarName='SFCEXC' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SFCEXC( i, j ) = dummy ( i, j ) - end do - end do -! print*,'SFCEXC at ',ii,jj,' = ',SFCEXC(ii,jj) - VarName='VEGFRC' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - VEGFRC ( i, j ) = dummy ( i, j ) - end do - end do - print*,'VEGFRC at ',ii,jj,' = ',VEGFRC(ii,jj) - VarName='ACSNOW' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ACSNOW ( i, j ) = dummy ( i, j ) - end do - end do - VarName='ACSNOM' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ACSNOM ( i, j ) = dummy ( i, j ) - end do - end do -! VarName='CANWAT' - VarName='CMC' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - CMC ( i, j ) = dummy ( i, j ) - end do - end do - VarName='SST' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SST ( i, j ) = dummy ( i, j ) - end do - end do - print*,'SST at ',ii,jj,' = ',sst(ii,jj) - - VarName='TAUX' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - MDLTAUX ( i, j ) = dummy ( i, j ) - end do - end do - print*,'MDLTAUX at ',ii,jj,' = ',mdltaux(ii,jj) - - VarName='TAUY' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - MDLTAUY ( i, j ) = dummy ( i, j ) - end do - end do - print*,'MDLTAUY at ',ii,jj,' = ',mdltauy(ii,jj) - - VarName='EXCH_H' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - EXCH_H ( i, j, l ) = dum3d ( i, j, l ) - dummy(i,j)=dum3d ( i, j, l ) - end do - end do - print*,'l, max exch = ',l,maxval(dummy) - end do - do l=1,lm - print*,'sample EXCH_H= ',EXCH_H(ii,jj,l) - end do - - VarName='EL_PBL' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - EL_PBL ( i, j, l ) = dum3d ( i, j, l ) - dummy(i,j)=dum3d ( i, j, l ) - end do - end do - print*,'l, max EL_PBL = ',l,maxval(dummy) - end do - - - VarName='THZ0' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - THZ0 ( i, j ) = dummy ( i, j ) - end do - end do - print*,'THZ0 at ',ii,jj,' = ',THZ0(ii,jj) - VarName='QZ0' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - QZ0 ( i, j ) = dummy ( i, j ) - end do - end do - print*,'QZ0 at ',ii,jj,' = ',QZ0(ii,jj) - VarName='UZ0' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - UZ0 ( i, j ) = dummy ( i, j ) - end do - end do - print*,'UZ0 at ',ii,jj,' = ',UZ0(ii,jj) - VarName='VZ0' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - VZ0 ( i, j ) = dummy ( i, j ) - end do - end do - print*,'VZ0 at ',ii,jj,' = ',VZ0(ii,jj) -! VarName='QSFC' - VarName='QS' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - QS ( i, j ) = dummy ( i, j ) -! if(qs(i,j)>1.0e-7)print*,'nonzero qsfc' - end do - end do - - VarName='Z0' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - Z0 ( i, j ) = dummy ( i, j ) - end do - end do - - VarName='PBLH' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - PBLH( i, j ) = dummy ( i, j ) - end do - end do -! write(6,*) 'PBLH(ii,jj): ', DUMMY(ii,jj) - - VarName='MIXHT' !PLee (3/07) - MIXHT=SPVAL !Init value to detect read failure - call getVariable(filename,DateStr,DataHandle,Varname,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - MIXHT( i, j ) = dummy ( i, j ) - end do - end do - - VarName='USTAR' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - USTAR( i, j ) = dummy ( i, j ) - end do - end do - - print*,'USTAR at ',ii,jj,' = ',USTAR(ii,jj) - VarName='AKHS_OUT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - AKHS ( i, j ) = dummy ( i, j ) - end do - end do - print*,'max akhs= ',maxval(akhs) - VarName='AKMS_OUT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - AKMS ( i, j ) = dummy ( i, j ) - end do - end do - print*,'max akms= ',maxval(akms) - -! -! In my version, variable is TSK (skin temp, not skin pot temp) -! -!mp call getVariable(fileName,DateStr,DataHandle,'THSK',DUMMY, -! VarName='TSK' - VarName='THS' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - THS ( i, j ) = dummy ( i, j ) - end do - end do - print*,'THS at ',ii,jj,' = ',THS(ii,jj) - -!C -!CMP -!C -!C RAINC is "ACCUMULATED TOTAL CUMULUS PRECIPITATION" -!C RAINNC is "ACCUMULATED TOTAL GRID SCALE PRECIPITATION" - - write(6,*) 'getting RAINC' - - VarName='PREC' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im -! CUPREC ( i, j ) = dummy ( i, j ) * 0.001 - PREC ( i, j ) = dummy ( i, j ) - end do - end do - print*,'PREC at ',ii,jj,' = ',PREC(ii,jj) - -! VarName='RAINC' - VarName='CUPREC' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im -! CUPREC ( i, j ) = dummy ( i, j ) * 0.001 - CUPREC ( i, j ) = dummy ( i, j ) - end do - end do - print*,'CUPREC at ',ii,jj,' = ',CUPREC(ii,jj) - write(6,*) 'getting RAINTOTAL' -! VarName='RAINNC' - VarName='ACPREC' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ACPREC( i, j ) = dummy ( i, j ) - ANCPRC ( i, j ) = ACPREC(I,J)-CUPREC(I,J) - end do - end do - print*,'ACPREC at ',ii,jj,' = ',ACPREC(ii,jj) - print*,'ANCPRC at ',ii,jj,' = ',ANCPRC(ii,jj) -! -! hoping to read instantanous convective precip rate soon, initialize it to spval -! for now - - VarName='CPRATE' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - CPRATE(I,J)=dummy(i,j) - enddo - enddo - - VarName='CUPPT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - CUPPT ( i, j ) = dummy ( i, j ) - end do - end do - print*,'maxval CUPPT: ', maxval(DUMMY) - -! adding land surface precipitation accumulation for Yin's precip assimilation - - VarName='LSPA' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - LSPA ( i, j ) = dummy ( i, j ) - end do - end do - print*,'maxval LSPA: ', maxval(DUMMY) - - - VarName='CLDEFI' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - CLDEFI ( i, j ) = dummy ( i, j ) - end do - end do - print*,'maxval CLDEFI: ', maxval(DUMMY) - -! -! Very confusing story ... -! -! Retrieve htop and hbot => They are named CNVTOP, CNVBOT in the model and -! with HBOTS,HTOPS (shallow conv) and HBOTD,HTOPD (deep conv) represent -! the 3 sets of convective cloud base/top arrays tied to the frequency -! that history files are written. -! -! IN THE *MODEL*, arrays HBOT,HTOP are similar to CNVTOP,CNVBOT but are -! used in radiation and are tied to the frequency of radiation updates. -! -! For historical reasons model arrays CNVTOP,CNVBOT are renamed HBOT,HTOP -! and manipulated throughout the post. - -! VarName='HTOP' - VarName='CNVTOP' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - HTOP ( i, j ) = float(LM)-dummy(i,j)+1.0 - HTOP ( i, j ) = max(1.0,min(HTOP(I,J),float(LM))) - end do - end do - print*,'maxval HTOP: ', maxval(DUMMY) - -! VarName='HBOT' - VarName='CNVBOT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - HBOT ( i, j ) = float(LM)-dummy(i,j)+1.0 - HBOT ( i, j ) = max(1.0,min(HBOT(I,J),float(LM))) - end do - end do - print*,'maxval HBOT: ', maxval(DUMMY) - - VarName='HTOPD' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - HTOPD ( i, j ) = float(LM)-dummy(i,j)+1.0 - end do - end do - print*,'maxval HTOPD: ', maxval(DUMMY) - - VarName='HBOTD' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - HBOTD ( i, j ) = float(LM)-dummy(i,j)+1.0 - end do - end do - print*,'maxval HBOTD: ', maxval(DUMMY) - - VarName='HTOPS' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - HTOPS ( i, j ) = float(LM)-dummy(i,j)+1.0 - end do - end do - print*,'maxval HTOPS: ', maxval(DUMMY) - - VarName='HBOTS' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - HBOTS ( i, j ) = float(LM)-dummy(i,j)+1.0 - end do - end do - print*,'maxval HBOTS: ', maxval(DUMMY) - - VarName='CLDFRA' - call getVariable(fileName,DateStr,DataHandle,VarName,DUM3D, & - IM+1,1,JM+1,LM+1,IM,JS,JE,LM) - do l = 1, lm - do j = jsta_2l, jend_2u - do i = 1, im - CFR ( i, j, l ) = dum3d ( i, j, l ) - end do - end do - end do - - - VarName='SR' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SR ( i, j ) = dummy(i,j) - end do - end do - print*,'maxval SR: ', maxval(DUMMY) - -! call getVariable(fileName,DateStr,DataHandle,'RAINCV',DUMMY, -! & IM,1,JM,1,IM,JS,JE,1) -! do j = jsta_2l, jend_2u -! do i = 1, im -! CUPPT ( i, j ) = dummy ( i, j )* 0.001 -! end do -! end do -! -! VarName='GSW' - VarName='RSWIN' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - RSWIN ( i, j ) = dummy ( i, j ) -! if(abs(dummy(i,j))> 0.0)print*,'rswin=',dummy(i,j) - end do - end do - - VarName='RSWINC' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - RSWINC ( i, j ) = dummy ( i, j ) -! if(abs(dummy(i,j))> 0.0)print*,'rswin=',dummy(i,j) - end do - end do - -! read in zenith angle - VarName='CZEN' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - CZEN ( i, j ) = dummy ( i, j ) -! if(abs(czen(i,j))> 0.0)print*,'czen=',czen(i,j) - end do - end do - - VarName='CZMEAN' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - CZMEAN ( i, j ) = dummy ( i, j ) -! if(abs(dummy(i,j))> 0.0)print*,'czmean=',dummy(i,j) - end do - end do - - VarName='RSWOUT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - RSWOUT ( i, j ) = dummy ( i, j ) -! if(abs(dummy(i,j))> 0.0)print*,'rswout=',dummy(i,j) - end do - end do - -! VarName='GLW' - VarName='RLWIN' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - RLWIN ( i, j ) = dummy ( i, j ) - end do - end do - - VarName='RLWTOA' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - RLWTOA ( i, j ) = dummy ( i, j ) - end do - end do - - VarName='SIGT4' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SIGT4 ( i, j ) = dummy ( i, j ) - end do - end do - - VarName='RADOT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - RADOT ( i, j ) = dummy ( i, j ) - end do - end do - -! accumulated incoming short wave - VarName='ASWIN' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ASWIN ( i, j ) = dummy ( i, j ) - end do - end do - -! accumulated outgoing short wave - VarName='ASWOUT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ASWOUT ( i, j ) = dummy ( i, j ) -! if(abs(dummy(i,j))> 0.0)print*,'aswout=',dummy(i,j) - end do - end do - -! shortwave accumulation frequency - VarName='NRDSW' - call getIVariableN(fileName,DateStr,DataHandle,VarName,NRDSW, & - 1,1,1,1,1,1,1,1) - print*,'NRDSW in INITPOST_NMM=',NRDSW - - VarName='ARDSW' - call getVariable(fileName,DateStr,DataHandle,VarName,ARDSW, & - 1,1,1,1,1,1,1,1) - print*,'ARDSW ARDLW in INITPOST_NMM=',ARDSW, ARDLW -! accumulated incoming long wave - VarName='ALWIN' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ALWIN ( i, j ) = dummy ( i, j ) - end do - end do - -! accumulated outgoing long wave - VarName='ALWOUT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ALWOUT ( i, j ) = dummy ( i, j ) - end do - end do - -! longwave accumulation frequency - VarName='NRDLW' - call getIVariableN(fileName,DateStr,DataHandle,VarName,NRDLW, & - 1,1,1,1,1,1,1,1) - print*,'NRDLW= ',NRDLW - -! longwave accumulation counts - VarName='ARDLW' - call getVariable(fileName,DateStr,DataHandle,VarName,ARDLW, & - 1,1,1,1,1,1,1,1) - -! obtain time averaged radition at the top of atmosphere - VarName='ALWTOA' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ALWTOA ( i, j ) = dummy ( i, j ) - end do - end do - - VarName='ASWTOA' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ASWTOA ( i, j ) = dummy ( i, j ) - end do - end do - -! KRS: Add RSWTOA to radiation variable options - VarName='RSWTOA' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - RSWTOA ( i, j ) = dummy ( i, j ) - end do - end do - -! KRS: RRTMG variables for HWRF - VarName='SWUPT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SWUPT ( i, j ) = dummy ( i, j ) - end do - end do - - VarName='ACSWUPT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ACSWUPT ( i, j ) = dummy ( i, j ) - end do - end do - - VarName='SWDNT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SWDNT ( i, j ) = dummy ( i, j ) - end do - end do - - VarName='ACSWDNT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ACSWDNT ( i, j ) = dummy ( i, j ) - end do - end do - -! END KRS RRTMG Vars - - -! VarName='TMN' -! VarName='TG' - VarName='TGROUND' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - TG ( i, j ) = dummy ( i, j ) - end do - end do - - VarName='SOILTB' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SOILTB ( i, j ) = dummy ( i, j ) - end do - end do - -! sensible heat fluxes - VarName='TWBS' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - TWBS ( i, j ) = dummy ( i, j ) - end do - end do - -! accumulated sensible heat fluxes -! VarName='HFX' - VarName='SFCSHX' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SFCSHX ( i, j ) = dummy ( i, j ) - end do - end do - -! fluxes accumulation frequency - VarName='NSRFC' - call getIVariableN(fileName,DateStr,DataHandle,VarName,NSRFC, & - 1,1,1,1,1,1,1,1) - print*,'NSRFC= ',NSRFC -! fluxes accumulation counts - VarName='ASRFC' - call getVariable(fileName,DateStr,DataHandle,VarName,ASRFC, & - 1,1,1,1,1,1,1,1) - -! instantanous latent heat fluxes - VarName='QWBS' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - QWBS ( i, j ) = dummy ( i, j ) - end do - end do - -! accumulated latent heat fluxes -! VarName='QFX' - VarName='SFCLHX' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SFCLHX ( i, j ) = dummy ( i, j ) - end do - end do - -! instantanous ground heat fluxes - VarName='GRNFLX' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - GRNFLX ( i, j ) = dummy ( i, j ) - end do - end do - -! accumulated ground heat fluxes - VarName='SUBSHX' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SUBSHX ( i, j ) = dummy ( i, j ) - end do - end do - -! accumulated ground heat fluxes - VarName='POTEVP' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - POTEVP ( i, j ) = dummy ( i, j ) - end do - end do - -! VarName='SNOWC' -! VarName='SNO' - VarName='WEASD' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) -! do j = jsta_2l, jend_2u -! do i = 1, im -! SNO ( i, j ) = dummy ( i, j ) -! end do -! end do - - VarName='SNO' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SNO ( i, j ) = dummy ( i, j ) - end do - end do - - VarName='SI' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SI ( i, j ) = dummy ( i, j ) - end do - end do - -! snow cover - VarName='PCTSNO' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - PCTSNO ( i, j ) = dummy ( i, j ) - if(dummy(i,j) > 1.0e-5)print*,'nonzero pctsno' - end do - end do - - -! GET VEGETATION TYPE - -! call getVariable(fileName,DateStr,DataHandle,'IVGTYP',DUMMY -! & ,IM,1,JM,1,IM,JS,JE,1) -! print*,'sample VEG TYPE',DUMMY(20,20) -! XLAND 1 land 2 sea -! VarName='XLAND' - - VarName='IVGTYP' - call getIVariableN(fileName,DateStr,DataHandle,VarName,IDUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - IVGTYP ( i, j ) = idummy ( i, j ) - end do - end do - print*,'MAX IVGTYP=', maxval(idummy) - - VarName='ISLTYP' - call getIVariableN(fileName,DateStr,DataHandle,VarName,IDUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ISLTYP ( i, j ) = idummy ( i, j ) - end do - end do - print*,'MAX ISLTYP=', maxval(idummy) - - VarName='ISLOPE' - call getIVariableN(fileName,DateStr,DataHandle,VarName,IDUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ISLOPE( i, j ) = idummy ( i, j ) - end do - end do - - VarName='SM' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SM ( i, j ) = dummy ( i, j ) - end do - end do - - VarName='SICE' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - SICE ( i, j ) = dummy ( i, j ) - end do - end do - - VarName='ALBEDO' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ALBEDO( i, j ) = dummy ( i, j ) - end do - end do - - VarName='ALBASE' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - ALBASE( i, j ) = dummy ( i, j ) - end do - end do - - VarName='MXSNAL' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - MXSNAL( i, j ) = dummy ( i, j ) - end do - end do - - VarName='EPSR' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - EPSR( i, j ) = dummy ( i, j ) - end do - end do - -! VarName='XLAT' - VarName='GLAT' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - f(i,j) = 1.454441e-4*sin(dummy(i,j)) - GDLAT ( i, j ) = dummy ( i, j ) * RTD - end do - end do -! pos north - print*,'GDLAT at ',ii,jj,' = ',GDLAT(ii,jj) - print*,'read past GDLAT' -! VarName='XLONG' - VarName='GLON' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - GDLON ( i, j ) = dummy ( i, j ) * RTD -! if(j==1 .or. j==jm)print*,'I,J,GDLON,GDLAT= ',i,j -! 1 ,GDLON( i, j ),GDLAT ( i, j ) -! if(abs(GDLAT(i,j)-20.0)<0.5 .and. abs(GDLON(I,J) -! 1 +157.0)<5.)print* -! 2 ,'Debug:I,J,GDLON,GDLAT,SM,HGT,psfc= ',i,j,GDLON(i,j) -! 3 ,GDLAT(i,j),SM(i,j),FIS(i,j)/G,PINT(I,j,lm+1) - end do - end do - print*,'GDLON at ',ii,jj,' = ',GDLON(ii,jj) - print*,'read past GDLON' -! pos east - call collect_loc(gdlat,dummy) - get_dcenlat: if(me==0)then - latstart=nint(dummy(1,1)*1000.) ! lower left - latlast=nint(dummy(im,jm)*1000.) ! upper right - - icen=im/2 !center grid - jcen=jm/2 -print *, 'dummy(icen,jcen) = ', dummy(icen,jcen) -print *, 'dummy(icen-1,jcen) = ', dummy(icen-1,jcen) -print *, 'dummy(icen+1,jcen) = ', dummy(icen+1,jcen) - - ! Grid navigation for copygb - R.Rozumalski - latnm = nint(dummy(icen,jm)*1000.) - latsm = nint(dummy(icen,1)*1000.) -print *, 'latnm, latsm', latnm, latsm - - ! temporary patch for nmm wrf for moving nest - ! cenlat = glat(im/2,jm/2) -Gopal - - if(mod(im,2)/=0)then !per Pyle, jm is always odd - if(mod(jm+1,4)/=0)then - dcenlat=dummy(icen,jcen) - else - dcenlat=0.5*(dummy(icen-1,jcen)+dummy(icen,jcen)) - end if - else - if(mod(jm+1,4)/=0)then - dcenlat=0.5*(dummy(icen,jcen)+dummy(icen+1,jcen)) - else - dcenlat=dummy(icen,jcen) - end if - end if - endif get_dcenlat - write(6,*) 'laststart,latlast,dcenlat B calling bcast= ', & - latstart,latlast,dcenlat - call mpi_bcast(latstart,1,MPI_INTEGER,0,mpi_comm_comp,irtn) - call mpi_bcast(latlast,1,MPI_INTEGER,0,mpi_comm_comp,irtn) - call mpi_bcast(dcenlat,1,MPI_REAL,0,mpi_comm_comp,irtn) - write(6,*) 'laststart,latlast A calling bcast= ',latstart,latlast - - call collect_loc(gdlon,dummy) - get_dcenlon: if(me==0)then - lonstart=nint(dummy(1,1)*1000.) - lonlast=nint(dummy(im,jm)*1000.) - - ! icen, jcen set above -print *, 'lon dummy(icen,jcen) = ', dummy(icen,jcen) -print *, 'lon dummy(icen-1,jcen) = ', dummy(icen-1,jcen) -print *, 'lon dummy(icen+1,jcen) = ', dummy(icen+1,jcen) - - ! Grid navigation for copygb - R.Rozumalski - lonem = nint(dummy(icen,jm)*1000.) - lonwm = nint(dummy(icen,1)*1000.) - - if(mod(im,2)/=0)then !per Pyle, jm is always odd - if(mod(jm+1,4)/=0)then - cen1=dummy(icen,jcen) - cen2=cen1 - else - cen1=min(dummy(icen-1,jcen),dummy(icen,jcen)) - cen2=max(dummy(icen-1,jcen),dummy(icen,jcen)) - end if - else - if(mod(jm+1,4)/=0)then - cen1=min(dummy(icen+1,jcen),dummy(icen,jcen)) - cen2=max(dummy(icen+1,jcen),dummy(icen,jcen)) - else - cen1=dummy(icen,jcen) - cen2=cen1 - end if - end if - ! Trahan fix: Pyle's code broke at the dateline. - if(cen2-cen1>180) then - ! We're near the dateline - dcenlon=mod(0.5*(cen2+cen1+360)+3600+180,360.)-180. - else - ! We're not near the dateline. Use the original code, - ! unmodified, to maintain bitwise identicality. - dcenlon=0.5*(cen1+cen2) - endif - end if get_dcenlon ! rank 0 - write(6,*)'lonstart,lonlast,cenlon B calling bcast= ',lonstart, & - lonlast,cenlon - call mpi_bcast(lonstart,1,MPI_INTEGER,0,mpi_comm_comp,irtn) - call mpi_bcast(lonlast,1,MPI_INTEGER,0,mpi_comm_comp,irtn) - call mpi_bcast(dcenlon,1,MPI_REAL,0,mpi_comm_comp,irtn) - write(6,*)'lonstart,lonlast,cenlon A calling bcast= ',lonstart, & - lonlast,cenlon - - if(me==0) then - open(1013,file='this-domain-center.ksh.inc',form='formatted',status='unknown') -1013 format(A,'=',F0.3) - write(1013,1013) 'clat',dcenlat - write(1013,1013) 'clon',dcenlon - endif -! -! OBTAIN DX FOR NMM WRF - VarName='DX_NMM' - call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & - IM,1,JM,1,IM,JS,JE,1) - do j = jsta_2l, jend_2u - do i = 1, im - DX ( i, j ) = dummy ( i, j ) - if(DX(i,j)<0.1)print*,'zero dx in INIT: I,J,DX= ',i,j & - ,DX( i, j ) -! if(j==1 .or. j==jm)print*,'I,J,DX= ',i,j -! 1 ,DX( i, j ) - end do - end do - - varname='ETA1' - write(6,*) 'call getVariable for : ', VarName - call getVariable(fileName,DateStr,DataHandle,VarName,ETA1, & - LM,1,1,1,LM,1,1,1) - - varname='ETA2' - write(6,*) 'call getVariable for : ', VarName - call getVariable(fileName,DateStr,DataHandle,VarName,ETA2, & - LM,1,1,1,LM,1,1,1) - - open(75,file='ETAPROFILE.txt',form='formatted',status='unknown') - DO L=1,lm+1 - IF(L == 1)THEN - write(75,1020)L, 0., 0. - ELSE - write(75,1020)L, ETA1(lm+2-l), ETA2(lm+2-l) - END IF -! print*,'L, ETA1, ETA2= ',L, ETA1(l), ETA2(l) - END DO - 1020 format(I3,2E17.10) - close (75) - -! physics calling frequency - VarName='NPHS0' - call getIVariableN(fileName,DateStr,DataHandle,VarName,NPHS, & - 1,1,1,1,1,1,1,1) - print*,'NPHS= ',NPHS -! physics calling frequency - VarName='NCLOD' - call getIVariableN(fileName,DateStr,DataHandle,VarName,NCLOD, & - 1,1,1,1,1,1,1,1) - -! physics calling frequency - VarName='NPREC' - call getIVariableN(fileName,DateStr,DataHandle,VarName,NPREC, & - 1,1,1,1,1,1,1,1) - -! physics calling frequency - VarName='NHEAT' - call getIVariableN(fileName,DateStr,DataHandle,VarName,NHEAT, & - 1,1,1,1,1,1,1,1) - print*,'NHEAT= ',NHEAT - - ! Compute f_* arrays from q* arrays - if(imp_physics==15) then - print *,'Convert from Q arrays to F arrays for advected Ferrier.' - call etamp_q2f(QRIMEF,QQI,QQR,QQW,CWM,F_RAIN,F_ICE,F_RIMEF,T) - endif -! -! ncdump -h - -!! -!! -!! - write(6,*) 'filename in INITPOST=', filename,' is' - -! status=nf_open(filename,NF_NOWRITE,ncid) -! write(6,*) 'returned ncid= ', ncid -! status=nf_get_att_real(ncid,varid,'DX',tmp) -! dxval=int(tmp) -! status=nf_get_att_real(ncid,varid,'DY',tmp) -! dyval=int(tmp) -! status=nf_get_att_real(ncid,varid,'CEN_LAT',tmp) -! cenlat=int(1000.*tmp) -! status=nf_get_att_real(ncid,varid,'CEN_LON',tmp) -! cenlon=int(1000.*tmp) -! status=nf_get_att_real(ncid,varid,'TRUELAT1',tmp) -! truelat1=int(1000.*tmp) -! status=nf_get_att_real(ncid,varid,'TRUELAT2',tmp) -! truelat2=int(1000.*tmp) -! status=nf_get_att_real(ncid,varid,'MAP_PROJ',tmp) -! maptype=int(tmp) -! status=nf_close(ncid) - -! dxval=30000. -! dyval=30000. -! -! write(6,*) 'dxval= ', dxval -! write(6,*) 'dyval= ', dyval -! write(6,*) 'cenlat= ', cenlat -! write(6,*) 'cenlon= ', cenlon -! write(6,*) 'truelat1= ', truelat1 -! write(6,*) 'truelat2= ', truelat2 -! write(6,*) 'maptype is ', maptype -! - call ext_ncd_get_dom_ti_real(DataHandle,'DX',tmp, & - 1,ioutcount,istatus) - dxval=nint(tmp*1000.) ! E-grid dlamda in degree - write(6,*) 'dxval= ', dxval - - call ext_ncd_get_dom_ti_real(DataHandle,'DY',tmp, & - 1,ioutcount,istatus) - dyval=nint(tmp*1000.) - write(6,*) 'dyval= ', dyval - - call ext_ncd_get_dom_ti_real(DataHandle,'CEN_LAT',tmp, & - 1,ioutcount,istatus) - cenlat=nint(tmp*1000.) ! E-grid dlamda in degree - write(6,*) 'cenlat= ', cenlat - - call ext_ncd_get_dom_ti_real(DataHandle,'CEN_LON',tmp, & - 1,ioutcount,istatus) - cenlon=nint(tmp*1000.) ! E-grid dlamda in degree - write(6,*) 'cenlon= ', cenlon - -! JW call ext_ncd_get_dom_ti_real(DataHandle,'TRUELAT1',tmp -! JW + ,1,ioutcount,istatus) -! JW truelat1=nint(1000.*tmp) -! JW write(6,*) 'truelat1= ', truelat1 -! JW call ext_ncd_get_dom_ti_real(DataHandle,'TRUELAT2',tmp -! JW + ,1,ioutcount,istatus) -! JW truelat2=nint(1000.*tmp) -! JW write(6,*) 'truelat2= ', truelat2 - call ext_ncd_get_dom_ti_integer(DataHandle,'MAP_PROJ',itmp, & - 1,ioutcount,istatus) - maptype=itmp - gridtype = 'E' - write(6,*) 'maptype, gridtype ', maptype, gridtype - gridtype='E' - - call ext_ncd_get_dom_ti_integer(DataHandle,'I_PARENT_START',itmp, & - 1,ioutcount,istatus) - i_parent_start=itmp - - call ext_ncd_get_dom_ti_integer(DataHandle,'J_PARENT_START',itmp, & - 1,ioutcount,istatus) - j_parent_start=itmp - - do j = jsta_2l, jend_2u - do i = 1, im -! DX ( i, j ) = dxval - DY ( i, j ) = dyval*DTR*ERAD*0.001 - end do - end do - -! generate look up table for lifted parcel calculations - - THL=210. - PLQ=70000. - - CALL TABLE(PTBL,TTBL,PT, & - RDQ,RDTH,RDP,RDTHE,PL,THL,QS0,SQS,STHE,THE0) - - CALL TABLEQ(TTBLQ,RDPQ,RDTHEQ,PLQ,THL,STHEQ,THE0Q) - -! -! - IF(ME==0)THEN - WRITE(6,*)' SPL (POSTED PRESSURE LEVELS) BELOW: ' - WRITE(6,51) (SPL(L),L=1,LSM) - 50 FORMAT(14(F4.1,1X)) - 51 FORMAT(8(F8.1,1X)) - ENDIF -! -! COMPUTE DERIVED TIME STEPPING CONSTANTS. -! - call ext_ncd_get_dom_ti_real(DataHandle,'DT',tmp, & - 1,ioutcount,istatus) - DT=tmp - print*,'DT= ',DT - DTQ2 = DT * NPHS - TSPH = 3600./DT - - TSRFC=float(NSRFC)/TSPH - IF(NSRFC==0)TSRFC=float(ifhr) !in case buket does not get emptied - TRDLW=float(NRDLW)/TSPH - IF(NRDLW==0)TRDLW=float(ifhr) !in case buket does not get emptied - TRDSW=float(NRDSW)/TSPH - IF(NRDSW==0)TRDSW=float(ifhr) !in case buket does not get emptied - THEAT=float(NHEAT)/TSPH - IF(NHEAT==0)THEAT=float(ifhr) !in case buket does not get emptied - TCLOD=float(NCLOD)/TSPH - IF(NCLOD==0)TCLOD=float(ifhr) !in case buket does not get emptied - TPREC=float(NPREC)/TSPH - IF(NPREC==0)TPREC=float(ifhr) !in case buket does not get emptied - print*,'TSRFC TRDLW TRDSW= ',TSRFC, TRDLW, TRDSW - -!how am i going to get this information? -! NPREC = INT(TPREC *TSPH+D50) -! NHEAT = INT(THEAT *TSPH+D50) -! NCLOD = INT(TCLOD *TSPH+D50) -! NRDSW = INT(TRDSW *TSPH+D50) -! NRDLW = INT(TRDLW *TSPH+D50) -! NSRFC = INT(TSRFC *TSPH+D50) -!how am i going to get this information? -! -! IF(ME==0)THEN -! WRITE(6,*)' ' -! WRITE(6,*)'DERIVED TIME STEPPING CONSTANTS' -! WRITE(6,*)' NPREC,NHEAT,NSRFC : ',NPREC,NHEAT,NSRFC -! WRITE(6,*)' NCLOD,NRDSW,NRDLW : ',NCLOD,NRDSW,NRDLW -! ENDIF -! -! COMPUTE DERIVED MAP OUTPUT CONSTANTS. - DO L = 1,LSM - ALSL(L) = ALOG(SPL(L)) - END DO -! - if(submodelname == 'NEST') then - print *,'NMM NEST mode: use projection center as projection center' - elseif(submodelname == 'MOAD') then - print *,'NMM MOAD mode: use domain center as projection center' - CENLAT=NINT(DCENLAT*1000) - CENLON=NINT(DCENLON*1000) - elseif(i_parent_start>1 .or. j_parent_start>1) then - print *,'No submodel specified for nested domain. Using projection center as projection center.' - else - print *,'No submodel specified for MOAD. Using domain center as projection center' - endif - - - if(me==0)then - ! write out copygb_gridnav.txt - ! provided by R.Rozumalski - NWS - - inav=10 - - TRUELAT1 = CENLAT - TRUELAT2 = CENLAT - - IFDX = NINT (dxval*107.) - IFDY = NINT (dyval*110.) - - open(inav,file='copygb_gridnav.txt',form='formatted', & - status='unknown') - - print *, ' MAPTYPE :',maptype - print *, ' IM :',IM*2-1 - print *, ' JM :',JM - print *, ' LATSTART :',LATSTART - print *, ' LONSTART :',LONSTART - print *, ' CENLAT :',CENLAT - print *, ' CENLON :',CENLON - print *, ' TRUELAT2 :',TRUELAT2 - print *, ' TRUELAT1 :',TRUELAT1 - print *, ' DX :',IFDX*0.001 - print *, ' DY :',IFDY*0.001 - - IF(MAPTYPE==0 .OR. MAPTYPE==203)THEN !A STAGGERED E-GRID - - IMM = 2*IM-1 - IDXAVE = ( IFDY + IFDX ) * 0.5 - - ! If the Center Latitude of the domain is located within 15 degrees - ! of the equator then use a a regular Lat/Lon navigation for the - ! remapped grid in copygb; otherwise, use a Lambert conformal. Make - ! sure to specify the correct pole for the S. Hemisphere (LCC). - ! - IF ( abs(CENLAT)>15000) THEN - write(6,*)' Copygb LCC Navigation Information' - IF (CENLAT >0) THEN ! Northern Hemisphere - write(6,1000) IMM,JM,LATSTART,LONSTART,CENLON, & - IFDX,IFDY,CENLAT,CENLAT - write(inav,1000) IMM,JM,LATSTART,LONSTART,CENLON, & - IFDX,IFDY,CENLAT,CENLAT - ELSE ! Southern Hemisphere - write(6,1001) IMM,JM,LATSTART,LONSTART,CENLON, & - IFDX,IFDY,CENLAT,CENLAT - write(inav,1001) IMM,JM,LATSTART,LONSTART,CENLON, & - IFDX,IFDY,CENLAT,CENLAT - END IF - ELSE - dlat = (latnm-latsm)/(JM-1) - nlat = INT (dlat) - - if (lonem < 0) lonem = 360000. + lonem - if (lonwm < 0) lonwm = 360000. + lonwm - - dlon = lonem-lonwm - if (dlon < 0.) dlon = dlon + 360000. - dlon = (dlon)/(IMM-1) - nlon = INT (dlon) - - write(6,*)' Copygb Lat/Lon Navigation Information' - write(6,2000) IMM,JM,latsm,lonwm,latnm,lonem,nlon,nlat - write(inav,2000) IMM,JM,latsm,lonwm,latnm,lonem,nlon,nlat - ENDIF - close(inav) - - 1000 format('255 3 ',2(I3,x),I6,x,I7,x,'8 ',I7,x,2(I6,x),'0 64', & - 2(x,I6)) - 1001 format('255 3 ',2(I3,x),I6,x,I7,x,'8 ',I7,x,2(I6,x),'128 64', & - 2(x,I6),' -90000 0') - 2000 format('255 0 ',2(I3,x),2(I7,x),'8 ',2(I7,x),2(I7,x),'64') - END IF ! maptype - - !HC WRITE IGDS OUT FOR WEIGHTMAKER TO READ IN AS KGDSIN - igdout=110 - if (maptype == 1)THEN ! Lambert conformal - WRITE(igdout)3 - WRITE(6,*)'igd(1)=',3 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)0 - WRITE(igdout)64 -! JW WRITE(igdout)TRUELAT2 -! JW WRITE(igdout)TRUELAT1 - WRITE(igdout)255 - ELSE IF(MAPTYPE == 2)THEN !Polar stereographic - WRITE(igdout)5 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)0 - WRITE(igdout)64 -! JW WRITE(igdout)TRUELAT2 !Assume projection at +-90 -! JW WRITE(igdout)TRUELAT1 - WRITE(igdout)255 - ! Note: The calculation of the map scale factor at the standard - ! lat/lon and the PSMAPF - ! Get map factor at 60 degrees (N or S) for PS projection, which will - ! be needed to correctly define the DX and DY values in the GRIB GDS - if (TRUELAT1 < 0.) THEN - LAT = -60. - else - LAT = 60. - end if - - CALL MSFPS (LAT,TRUELAT1*0.001,PSMAPF) - - ELSE IF(MAPTYPE == 3)THEN !Mercator - WRITE(igdout)1 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)8 - WRITE(igdout)latlast - WRITE(igdout)lonlast -! JW WRITE(igdout)TRUELAT1 - WRITE(igdout)0 - WRITE(igdout)64 - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)255 - ELSE IF(MAPTYPE==0 .OR. MAPTYPE==203)THEN !A STAGGERED E-GRID - WRITE(igdout)203 - WRITE(igdout)im - WRITE(igdout)jm - WRITE(igdout)LATSTART - WRITE(igdout)LONSTART - WRITE(igdout)136 - WRITE(igdout)CENLAT - WRITE(igdout)CENLON - WRITE(igdout)DXVAL - WRITE(igdout)DYVAL - WRITE(igdout)64 - WRITE(igdout)0 - WRITE(igdout)0 - WRITE(igdout)0 - -! following for hurricane wrf post - open(inav,file='copygb_hwrf.txt',form='formatted', & - status='unknown') - LATEND=LATSTART+(JM-1)*dyval - LONEND=LONSTART+(IMM-1)*dxval - write(10,1010) IMM,JM,LATSTART,LONSTART,LATEND,LONEND, & - dxval,dyval - -1010 format('255 0 ',2(I3,x),I6,x,I7,x,'136 ',I6,x,I7,x, & - 2(I6,x),'64') - close (inav) - - END IF - end if -! -! -! close up shop - call ext_ncd_ioclose ( DataHandle, Status ) - - RETURN - END diff --git a/sorc/ncep_post.fd/LFMFLD.f b/sorc/ncep_post.fd/LFMFLD.f index a5d83919bf..f44c8c5b9c 100644 --- a/sorc/ncep_post.fd/LFMFLD.f +++ b/sorc/ncep_post.fd/LFMFLD.f @@ -1,71 +1,54 @@ !> @file -! . . . -!> SUBPROGRAM: LFMFLD COMPUTES LAYER MEAN LFM FIELDS -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THREE LAYER MEAN RELATIVE HUMIDITIES -!! AND A PRECIPITABLE WATER FIELD FROM ETA LEVEL DATA. THE -!! COMPUTED FIELDS ARE INTENDED TO MIMIC SIMILAR FIELDS COM- -!! PUTED BY THE LFM. THE ALGORITHM USED HERE IS FAIRLY PRI- -!! MATIVE. IN EACH COLUMN ABOVE A MASS POINT ON THE ETA GRID -!! WE SET THE FOLLOWING TARGET PRESSURES: -!! SIGMA LAYER 1.00 PRESSURE: SURFACE PRESSURE -!! SIGMA LAYER 0.66 PRESSURE: 0.50 * SURFACE PRESSURE -!! SIGMA LAYER 0.33 PRESSURE: 0.4356 * SURFACE PRESSURE -!! GIVEN THESE PRESSURES A SURFACE UP SUMMATION IS MADE OF -!! RELATIVE HUMIDITY AND/OR PRECIPITABLE WATER BETWEEN THESE -!! TARGET PRESSURES. EACH TERM IN THE SUMMATION IS WEIGHTED -!! BY THE THICKNESS OF THE ETA LAYER. THE FINAL LAYER MEAN -!! IS THIS SUM NORMALIZED BY THE TOTAL DEPTH OF THE LAYER. -!! THERE IS, OBVIOUSLY, NO NORMALIZATION FOR PRECIPITABLE WATER. -!! -!! -!! PROGRAM HISTORY LOG: -!! 92-12-22 RUSS TREADON -!! 93-07-27 RUSS TREADON - MODIFIED SUMMATION LIMITS FROM -!! 0.66*PSFC TO 0.75*PSFC AND 0.33*PSFC -!! TO 0.50*PSFC, WHERE PSFC IS THE -!! SURFACES PRESSURE. THE REASON FOR -!! THIS CHANGE WAS RECOGNITION THAT IN -!! THE LFM 0.33 AND 0.66 WERE MEASURED -!! FROM THE SURFACE TO THE TROPOPAUSE, -!! NOT THE TOP OF THE MODEL. -!! 93-09-13 RUSS TREADON - RH CALCULATIONS WERE MADE INTERNAL -!! TO THE ROUTINE. -!! 96-03-04 MIKE BALDWIN - CHANGE PW CALC TO INCLUDE CLD WTR -!! 98-06-16 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 98-08-17 MIKE BALDWIN - COMPUTE RH OVER ICE -!! 98-12-22 MIKE BALDWIN - BACK OUT RH OVER ICE -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-04-24 MIKE BALDWIN - WRF VERSION -!! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT -!! 20-11-10 JESSE MENG - USE UPP_PHYSICS MODULE -!! -!! -!! USAGE: CALL LFMFLD(RH3310,RH6610,RH3366,PW3310) -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! RH3310 - SIGMA LAYER 0.33-1.00 MEAN RELATIVE HUMIDITY. -!! RH6610 - SIGMA LAYER 0.66-1.00 MEAN RELATIVE HUMIDITY. -!! RH3366 - SIGMA LAYER 0.33-0.66 MEAN RELATIVE HUMIDITY. -!! PW3310 - SIGMA LAYER 0.33-1.00 PRECIPITABLE WATER. -!! -!! OUTPUT FILES: -!! NONE -!! -!! LIBRARY: -!! COMMON - -!! MAPOT -!! LOOPS -!! OPTIONS -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief lfmfld() computes layer mean LFM fields. +!> +!> This routine computes three layer mean relative humidities +!> and a precipitable water field from ETA level data. The +!> computed fields are intended to mimic similar fields com- +!> puted by the LFM. The algorithm used here is fairly pri- +!> mative. +!>
+!> In each column above a mass point on the ETA grid we set the following target pressures:
+!>     Sigma layer 1.00 pressure:  Surface pressure
+!>     Sigma layer 0.66 pressure:  0.50 * Surface pressure
+!>     Sigma layer 0.33 pressure:  0.4356 * Surface pressure
+!> 
+!> Given there pressures a surface up summation is made of +!> relative humidity and/or precipitable water between these +!> target pressures. Each term in the summation is weighted +!> By the thickness of the ETA layer. The final layer mean +!> is this sum normalized by the total depth of the layer. +!> There is, obviously, no normalization for precipitable water. +!> +!> @param[out] RH3310 Sigma layer 0.33-1.00 mean relative humidity. +!> @param[out] RH6610 Sigma layer 0.66-1.00 mean relative humidity. +!> @param[out] RH3366 Sigma layer 0.33-0.66 mean relative humidity. +!> @param[out] PW3310 Sigma layer 0.33-1.00 precipitable water. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-22 | Russ Treadon | Initial +!> 1993-07-27 | Russ Treadon | Modified summation limits from 0.66*PSFC to 0.75*PSFC and 0.33*PSFC to 0.50*PSFC, where PSFC is the surfaces pressure. The reason for this change was recognition that in the LFM 0.33 and 0.66 were measured from the surface to the tropopause not the top of the model. +!> 1993-09-13 | Russ Treadon | RH calculations were made internal to the routine. +!> 1996-03-04 | Mike Baldwin | Change PW CALC to include CLD WTR +!> 1998-06-16 | T Black | Conversion from 1-D to 2-D +!> 1998-08-17 | Mike Baldwin | Compute RH over ice +!> 1998-12-22 | Mike Baldwin | Back out RH over ice +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-04-24 | Mike Baldwin | WRF Version +!> 2019-10-30 | Bo Cui | Remove "GOTO" statement +!> 2020-11-10 | Jesse Meng | Use UPP_PHYSICS Module +!> 2021-10-14 | JESSE MENG | 2D DECOMPOSITION +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 +!-------------------------------------------------------------------------------------- +!> LFMFLD() computes layer mean LFM fields. +!> +!> @param[out] RH3310 real Sigma layer 0.33-1.00 mean relative humidity. +!> @param[out] RH6610 real Sigma layer 0.66-1.00 mean relative humidity. +!> @param[out] RH3366 real Sigma layer 0.33-0.66 mean relative humidity. +!> @param[out] PW3310 real Sigma layer 0.33-1.00 precipitable water. +!> SUBROUTINE LFMFLD(RH3310,RH6610,RH3366,PW3310) ! @@ -73,7 +56,7 @@ SUBROUTINE LFMFLD(RH3310,RH6610,RH3366,PW3310) use vrbls3d, only: pint, alpint, zint, t, q, cwm use masks, only: lmh use params_mod, only: d00, d50, pq0, a2, a3, a4, h1, d01, gi - use ctlblk_mod, only: jsta, jend, modelname, spval, im + use ctlblk_mod, only: jsta, jend, modelname, spval, im, ista, iend use physcons_post, only: con_rd, con_rv, con_eps, con_epsm1 use upp_physics, only: FPVSNEW @@ -86,8 +69,8 @@ SUBROUTINE LFMFLD(RH3310,RH6610,RH3366,PW3310) ! DECLARE VARIABLES. ! REAL ALPM, DZ, ES, PM, PWSUM, QM, QS, TM, DP, RH - REAL,dimension(IM,jsta:jend),intent(inout) :: RH3310, RH6610, RH3366 - REAL,dimension(IM,jsta:jend),intent(inout) :: PW3310 + REAL,dimension(ista:iend,jsta:jend),intent(inout) :: RH3310, RH6610, RH3366 + REAL,dimension(ista:iend,jsta:jend),intent(inout) :: PW3310 real Z3310,Z6610,Z3366,P10,P33,P66 integer I,J,L,LLMH ! @@ -98,7 +81,7 @@ SUBROUTINE LFMFLD(RH3310,RH6610,RH3366,PW3310) ! LOOP OVER HORIZONTAL GRID. ! DO 30 J=JSTA,JEND - DO 30 I=1,IM + DO 30 I=ISTA,IEND ! ! ZERO VARIABLES. RH3310(I,J) = D00 diff --git a/sorc/ncep_post.fd/LFMFLD_GFS.f b/sorc/ncep_post.fd/LFMFLD_GFS.f index e89436e394..e23729898a 100644 --- a/sorc/ncep_post.fd/LFMFLD_GFS.f +++ b/sorc/ncep_post.fd/LFMFLD_GFS.f @@ -1,74 +1,56 @@ !> @file -! . . . -!> SUBPROGRAM: LFMFLD COMPUTES LAYER MEAN LFM FIELDS -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THREE LAYER MEAN RELATIVE HUMIDITIES -!! AND A PRECIPITABLE WATER FIELD FROM ETA LEVEL DATA. THE -!! COMPUTED FIELDS ARE INTENDED TO MIMIC SIMILAR FIELDS COM- -!! PUTED BY THE LFM. THE ALGORITHM USED HERE IS FAIRLY PRI- -!! MATIVE. IN EACH COLUMN ABOVE A MASS POINT ON THE ETA GRID -!! WE SET THE FOLLOWING TARGET PRESSURES: -!! SIGMA LAYER 1.00 PRESSURE: SURFACE PRESSURE -!! SIGMA LAYER 0.66 PRESSURE: 0.50 * SURFACE PRESSURE -!! SIGMA LAYER 0.33 PRESSURE: 0.4356 * SURFACE PRESSURE -!! GIVEN THESE PRESSURES A SURFACE UP SUMMATION IS MADE OF -!! RELATIVE HUMIDITY AND/OR PRECIPITABLE WATER BETWEEN THESE -!! TARGET PRESSURES. EACH TERM IN THE SUMMATION IS WEIGHTED -!! BY THE THICKNESS OF THE ETA LAYER. THE FINAL LAYER MEAN -!! IS THIS SUM NORMALIZED BY THE TOTAL DEPTH OF THE LAYER. -!! THERE IS, OBVIOUSLY, NO NORMALIZATION FOR PRECIPITABLE WATER. -!! -!! -!! PROGRAM HISTORY LOG: -!! 92-12-22 RUSS TREADON -!! 93-07-27 RUSS TREADON - MODIFIED SUMMATION LIMITS FROM -!! 0.66*PSFC TO 0.75*PSFC AND 0.33*PSFC -!! TO 0.50*PSFC, WHERE PSFC IS THE -!! SURFACES PRESSURE. THE REASON FOR -!! THIS CHANGE WAS RECOGNITION THAT IN -!! THE LFM 0.33 AND 0.66 WERE MEASURED -!! FROM THE SURFACE TO THE TROPOPAUSE, -!! NOT THE TOP OF THE MODEL. -!! 93-09-13 RUSS TREADON - RH CALCULATIONS WERE MADE INTERNAL -!! TO THE ROUTINE. -!! 96-03-04 MIKE BALDWIN - CHANGE PW CALC TO INCLUDE CLD WTR -!! 98-06-16 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 98-08-17 MIKE BALDWIN - COMPUTE RH OVER ICE -!! 98-12-22 MIKE BALDWIN - BACK OUT RH OVER ICE -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-04-24 MIKE BALDWIN - WRF VERSION -!! 06-11-06 H CHUANG - MODIFY TO OUTPUT GFS LFM FIELDS WHICH -!! HAVE DIFFERENT THICKNESS AS MESO AND USE DP -!! RATHER THAN DZ -!! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT -!! 20-11-10 JESSE MENG - USE UPP_PHYSICS MODULE -!! -!! -!! USAGE: CALL LFMFLD(RH3310,RH6610,RH3366,PW3310) -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! RH3310 - SIGMA LAYER 0.33-1.00 MEAN RELATIVE HUMIDITY. -!! RH6610 - SIGMA LAYER 0.66-1.00 MEAN RELATIVE HUMIDITY. -!! RH3366 - SIGMA LAYER 0.33-0.66 MEAN RELATIVE HUMIDITY. -!! PW3310 - SIGMA LAYER 0.33-1.00 PRECIPITABLE WATER. -!! -!! OUTPUT FILES: -!! NONE -!! -!! LIBRARY: -!! COMMON - -!! MAPOT -!! LOOPS -!! OPTIONS -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief lfmfld_gfs() computes layer mean LFM fields. +!> +!> This routine computes three layer mean relative humidities +!> and a precipitable water field from ETA level data. The +!> computed fields are intended to mimic similar fields com- +!> puted by the LFM. The algorithm used here is fairly pri- +!> mative. +!>
+!> In each column above a mass point on the ETA grid we set the following target pressures:
+!>     Sigma layer 1.00 pressure:  Surface pressure
+!>     Sigma layer 0.66 pressure:  0.50 * Surface pressure
+!>     Sigma layer 0.33 pressure:  0.4356 * Surface pressure
+!> 
+!> Given there pressures a surface up summation is made of +!> relative humidity and/or precipitable water between these +!> target pressures. Each term in the summation is weighted +!> By the thickness of the ETA layer. The final layer mean +!> is this sum normalized by the total depth of the layer. +!> There is, obviously, no normalization for precipitable water. +!> +!> @param[out] RH3310 Sigma layer 0.33-1.00 mean relative humidity. +!> @param[out] RH4410 Sigma layer 0.44-1.00 mean relative humidity. +!> @param[out] RH7294 Sigma layer 0.72-0.94 mean relative humidity. +!> @param[out] RH4472 Sigma layer 0.44-0.72 mean relative humidity. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-22 | Russ Treadon | Initial +!> 1993-07-27 | Russ Treadon | Modified summation limits from 0.66*PSFC to 0.75*PSFC and 0.33*PSFC to 0.50*PSFC, where PSFC is the surfaces pressure. The reason for this change was recognition that in the LFM 0.33 and 0.66 were measured from the surface to the tropopause not the top of the model. +!> 1993-09-13 | Russ Treadon | RH calculations were made internal to the routine. +!> 1996-03-04 | Mike Baldwin | Change PW CALC to include CLD WTR +!> 1998-06-16 | T Black | Conversion from 1-D to 2-D +!> 1998-08-17 | Mike Baldwin | Compute RH over ice +!> 1998-12-22 | Mike Baldwin | Back out RH over ice +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-04-24 | Mike Baldwin | WRF Version +!> 2006-11-06 | H CHUANG | Modify to output GFS LFM fields which have different thickness as MESO and use DP rather than DZ +!> 2019-10-30 | Bo Cui | Remove "GOTO" statement +!> 2020-11-10 | Jesse Meng | Use UPP_PHYSICS Module +!> 2021-10-14 | JESSE MENG | 2D DECOMPOSITION +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 +!--------------------------------------------------------------------------- +!> LFMFLD_GFS() computes layer mean LFM fields. +!> +!> @param[out] RH3310 Sigma layer 0.33-1.00 mean relative humidity. +!> @param[out] RH4410 Sigma layer 0.44-1.00 mean relative humidity. +!> @param[out] RH7294 Sigma layer 0.72-0.94 mean relative humidity. +!> @param[out] RH4472 Sigma layer 0.44-0.72 mean relative humidity. +!> +!--------------------------------------------------------------------------- SUBROUTINE LFMFLD_GFS(RH4410,RH7294,RH4472,RH3310) ! @@ -76,7 +58,7 @@ SUBROUTINE LFMFLD_GFS(RH4410,RH7294,RH4472,RH3310) use vrbls3d, only: pint, q, t, pmid use masks, only: lmh use params_mod, only: d00 - use ctlblk_mod, only: jsta, jend, spval, im + use ctlblk_mod, only: jsta, jend, spval, im, ista, iend use upp_physics, only: FPVSNEW ! implicit none @@ -92,7 +74,7 @@ SUBROUTINE LFMFLD_GFS(RH4410,RH7294,RH4472,RH3310) ! DECLARE VARIABLES. ! REAL ALPM, DZ, ES, PM, PWSUM, QM, QS - REAL,dimension(IM,jsta:jend),intent(out) :: RH4410, RH7294, RH4472 & + REAL,dimension(ista:iend,jsta:jend),intent(out) :: RH4410, RH7294, RH4472 & ,RH3310 ! integer I,J,L,LLMH @@ -106,7 +88,7 @@ SUBROUTINE LFMFLD_GFS(RH4410,RH7294,RH4472,RH3310) ! LOOP OVER HORIZONTAL GRID. ! DO 30 J=JSTA,JEND - DO 30 I=1,IM + DO 30 I=ISTA,IEND ! ! ZERO VARIABLES. RH4410(I,J) = D00 diff --git a/sorc/ncep_post.fd/LOOKUP.f b/sorc/ncep_post.fd/LOOKUP.f index 927b4d12ff..c55eda9800 100644 --- a/sorc/ncep_post.fd/LOOKUP.f +++ b/sorc/ncep_post.fd/LOOKUP.f @@ -1,15 +1,33 @@ +!> @file +!> @brief lookup_mod defines variables used to create lookup tables for pressure, temperature, and specific humidity. module lookup_mod ! implicit none ! - integer,parameter :: ITB=076,JTB=134,ITBQ=152,JTBQ=440 - real :: PL,THL,RDQ,RDTH,RDP,RDTHE,PLQ,RDPQ,RDTHEQ + integer,parameter :: ITB=076, & !< Table horizontal size (i index) + JTB=134, & !< Table vertical size (j index) + ITBQ=152, & !< _____? + JTBQ=440 !< _____? + + + real :: PL & !< Lower bound of pressure range + ,THL & !< Lower bound of potential temperature range + ,RDQ & !< Scaling factor for specific humidity + ,RDTH & !< Scaling factor for potential temperature + ,RDP & !< Scaling factor for pressure + ,RDTHE & !< Scaling factor for equivalent potential temperature + ,PLQ & !< Lower bound of pressure range for specific humidity _____? + ,RDPQ & !< Scaling factor for pressure and specific humidity _____? + ,RDTHEQ !< Scaling factor for equivalent potential temperature and specific humidity _____? - real,dimension(JTB) :: QS0,SQS - real,dimension(ITB) :: THE0,STHE - real,dimension(ITBQ) :: THE0Q,STHEQ - real,dimension(ITB,JTB) :: PTBL - real,dimension(JTB,ITB) :: TTBL - real,dimension(JTBQ,ITBQ) :: TTBLQ + real,dimension(JTB) :: QS0, & !< Base for specific humidity + SQS !< Scaling factor for specific humidity + real,dimension(ITB) :: THE0, & !< Base for equivalent potential temperature + STHE !< Range for equivalent potential temperature + real,dimension(ITBQ) :: THE0Q, & !< _____? + STHEQ !< _____? + real,dimension(ITB,JTB) :: PTBL !< Saturation pressure table + real,dimension(JTB,ITB) :: TTBL !< Temperature table + real,dimension(JTBQ,ITBQ) :: TTBLQ !< _____? ! end module lookup_mod diff --git a/sorc/ncep_post.fd/MAPSSLP.f b/sorc/ncep_post.fd/MAPSSLP.f index 3b0728a8f9..5d1ca0125d 100644 --- a/sorc/ncep_post.fd/MAPSSLP.f +++ b/sorc/ncep_post.fd/MAPSSLP.f @@ -10,7 +10,8 @@ SUBROUTINE MAPSSLP(TPRES) ! !----------------------------------------------------------------------- use ctlblk_mod, only: jsta, jend, spl, smflag, lm, im, jsta_2l, jend_2u, & - lsm, jm, grib, spval + lsm, jm, grib, spval, & + ista, iend, ista_2l, iend_2u use gridspec_mod, only: maptype, dxval use vrbls3d, only: pmid, t, pint use vrbls2d, only: pslp, fis @@ -21,11 +22,11 @@ SUBROUTINE MAPSSLP(TPRES) ! INCLUDE "mpif.h" ! - REAL TPRES(IM,JSTA_2L:JEND_2U,LSM) + REAL TPRES(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LSM) real LAPSES, EXPo,EXPINV,TSFCNEW - REAL,dimension(im, jsta_2l:jend_2u) :: T700 + REAL,dimension(ista_2l:iend_2u, jsta_2l:jend_2u) :: T700 real,dimension(im,2) :: sdummy REAL,dimension(im,jm) :: GRID1, TH700 INTEGER NSMOOTH @@ -42,13 +43,15 @@ SUBROUTINE MAPSSLP(TPRES) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM - if(SPL(L) == 70000. .and. TPRES(I,J,L) 100.) THEN @@ -110,7 +113,7 @@ SUBROUTINE MAPSSLP(TPRES) CALL SMOOTH(GRID1,SDUMMY,IM,JM,0.5) end do DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PSLP(I,J)=GRID1(I,J) ENDDO ENDDO diff --git a/sorc/ncep_post.fd/MASKS_mod.f b/sorc/ncep_post.fd/MASKS_mod.f index 24f97b4c13..2ce8b9ad28 100644 --- a/sorc/ncep_post.fd/MASKS_mod.f +++ b/sorc/ncep_post.fd/MASKS_mod.f @@ -1,9 +1,19 @@ +!> @file +!> @brief MASKS declares values used in masks module masks ! implicit none ! - REAL, ALLOCATABLE :: HBM2(:,:),SM(:,:),SICE(:,:) & - &,GDLAT(:,:),GDLON(:,:),LMH(:,:),LMV(:,:) & - &,HTM (:,:,:),VTM (:,:,:),DX(:,:),DY(:,:) + REAL, ALLOCATABLE :: HBM2(:,:) & !< _____? + ,SM(:,:) & !< Land-sea mask ? + ,SICE(:,:) & !< Sea ice mask + ,GDLAT(:,:) & !< Grid latitude + ,GDLON(:,:) & !< Grid longitude + ,LMH(:,:) & !< Mass point at ETA surface mask ? + ,LMV(:,:) & !< Velocity point at ETA surface mask ? + ,HTM (:,:,:) & !< Height topography mask array + ,VTM (:,:,:) & !< _____? + ,DX(:,:) & !< Grid spacing in the x-direction ? + ,DY(:,:) !< Grid spacing in the y-direction ? ! end module masks diff --git a/sorc/ncep_post.fd/MDL2AGL.f b/sorc/ncep_post.fd/MDL2AGL.f index b1f5254faf..19bfedb208 100644 --- a/sorc/ncep_post.fd/MDL2AGL.f +++ b/sorc/ncep_post.fd/MDL2AGL.f @@ -16,6 +16,10 @@ !! 21-03-11 B Cui - change local arrays to dimension (im,jsta:jend) !! 21-04-01 J MENG - computation on defined points only !! 21-07-26 W Meng - Restrict computation from undefined grids +!! 21-10-14 J MENG - 2D DECOMPOSITION +!! 2023-03-02 S TRAHAN - copy lightning threat index 3 element-by-element +!! 2023-10-23 J Kenyon - HAILCAST output enabled in RRFS +!! 2025-04-01 W Meng - Bug fix in HAILCAST !! !! USAGE: CALL MDL2P !! INPUT ARGUMENT LIST: @@ -61,9 +65,11 @@ SUBROUTINE MDL2AGL use params_mod, only: dbzmin, small, eps, rd use ctlblk_mod, only: spval, lm, modelname, grib, cfld, fld_info, datapd,& ifhr, global, jsta_m, jend_m, mpi_comm_comp, & - jsta_2l, jend_2u, im, jm, jsta, jend, imp_physics + jsta_2l, jend_2u, im, jm, jsta, jend, imp_physics, & + ista, iend, ista_2l, iend_2u, ista_m, iend_m use rqstfld_mod, only: iget, lvls, iavblfld, lvlsxml, id use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none INCLUDE "mpif.h" @@ -77,10 +83,10 @@ SUBROUTINE MDL2AGL ! DECLARE VARIABLES. ! LOGICAL IOOMG,IOALL - REAL,dimension(im,jsta_2l:jend_2u) :: grid1 - REAL,dimension(im,jsta_2l:jend_2u) :: UAGL, VAGL, tagl, pagl, qagl + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: grid1 + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: UAGL, VAGL, tagl, pagl, qagl ! - INTEGER,dimension(im,jsta_2l:jend_2u) :: NL1X + INTEGER,dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: NL1X integer,dimension(jm) :: IHE, IHW INTEGER LXXX,IERR, maxll, minll INTEGER ISTART,ISTOP,JSTART,JSTOP @@ -100,7 +106,7 @@ SUBROUTINE MDL2AGL ! ! REAL C1D(IM,JM),QW1(IM,JM),QI1(IM,JM),QR1(IM,JM) ! &, QS1(IM,JM) ,DBZ1(IM,JM) - REAL,dimension(im,jsta:jend) :: DBZ1, DBZR1, DBZI1, DBZC1, dbz1log + REAL,dimension(ista:iend,jsta:jend) :: DBZ1, DBZR1, DBZI1, DBZC1, dbz1log real,dimension(lagl) :: ZAGL real,dimension(lagl2) :: ZAGL2, ZAGL3 real PAGLU,PAGLL,TAGLU,TAGLL,QAGLU,QAGLL, pv, rho @@ -149,10 +155,10 @@ SUBROUTINE MDL2AGL IF (iget1 > 0 .or. iget2 > 0 .or. iget3 > 0 .or. iget4 > 0) then ! jj=float(jsta+jend)/2.0 - ii=float(im)/3.0 + ii=float(ista+iend)/3.0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND DBZ1(I,J) = SPVAL DBZR1(I,J) = SPVAL DBZI1(I,J) = SPVAL @@ -195,7 +201,7 @@ SUBROUTINE MDL2AGL ! DO 220 J=JSTA,JEND DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND LL = NL1X(I,J) !--------------------------------------------------------------------- !*** VERTICAL INTERPOLATION OF GEOPOTENTIAL, TEMPERATURE, SPECIFIC @@ -281,13 +287,13 @@ SUBROUTINE MDL2AGL IF((IGET(253)>0) )THEN if(MODELNAME=='RAPR') then DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=DBZ1LOG(I,J) ENDDO ENDDO else DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=DBZ1(I,J) ENDDO ENDDO @@ -296,13 +302,13 @@ SUBROUTINE MDL2AGL cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(253)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(253)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF !--- Radar reflectivity from rain IF((IGET(279)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=DBZR1(I,J) ENDDO ENDDO @@ -310,13 +316,13 @@ SUBROUTINE MDL2AGL cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(279)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(279)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF !--- Radar reflectivity from all ice habits (snow + graupel + sleet, etc.) IF((IGET(280)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=DBZI1(I,J) ENDDO ENDDO @@ -324,13 +330,13 @@ SUBROUTINE MDL2AGL cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(280)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(280)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF !--- Radar reflectivity from parameterized convection IF((IGET(281)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=DBZC1(I,J) ENDDO ENDDO @@ -338,7 +344,7 @@ SUBROUTINE MDL2AGL cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(281)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(281)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF ! @@ -355,7 +361,7 @@ SUBROUTINE MDL2AGL !--- Max Derived Radar Reflectivity IF((IGET(421)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=REFD_MAX(I,J) ENDDO ENDDO @@ -370,14 +376,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat=0 endif fld_info(cfld)%ntrange=1 - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF !--- Max Derived Radar Reflectivity at -10C IF((IGET(785)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=REFDM10C_MAX(I,J) ENDDO ENDDO @@ -391,14 +397,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat=0 endif fld_info(cfld)%ntrange=1 - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF !--- Max Updraft Helicity IF((IGET(420)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=UP_HELI_MAX(I,J) ENDDO ENDDO @@ -412,14 +418,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 0 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Max Updraft Helicity 1-6 km IF((IGET(700)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=UP_HELI_MAX16(I,J) ENDDO ENDDO @@ -433,14 +439,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Min Updraft Helicity IF((IGET(786)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=UP_HELI_MIN(I,J) ENDDO ENDDO @@ -454,14 +460,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 0 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Min Updraft Helicity 1-6 km IF((IGET(787)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=UP_HELI_MIN16(I,J) ENDDO ENDDO @@ -475,14 +481,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Max Updraft Helicity 0-2 km IF((IGET(788)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=UP_HELI_MAX02(I,J) ENDDO ENDDO @@ -496,13 +502,13 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 0 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Min Updraft Helicity 0-2 km IF((IGET(789)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=UP_HELI_MIN02(I,J) ENDDO ENDDO @@ -516,14 +522,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Max Updraft Helicity 0-3 km IF((IGET(790)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=UP_HELI_MAX03(I,J) ENDDO ENDDO @@ -537,14 +543,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 0 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Min Updraft Helicity 0-3 km IF((IGET(791)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=UP_HELI_MIN03(I,J) ENDDO ENDDO @@ -558,14 +564,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Max Relative Vertical Vorticity 0-2 km IF((IGET(792)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=REL_VORT_MAX(I,J) ENDDO ENDDO @@ -579,14 +585,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 0 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Max Relative Vertical Vorticity 0-1 km IF((IGET(793)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=REL_VORT_MAX01(I,J) ENDDO ENDDO @@ -600,13 +606,13 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 0 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Max Relative Vertical Vorticity @ hybrid level 1 IF((IGET(890)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=REL_VORT_MAXHY1(I,J) ENDDO ENDDO @@ -620,14 +626,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 0 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Max Hail Diameter in Column IF((IGET(794)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=HAIL_MAX2D(I,J) ENDDO ENDDO @@ -641,14 +647,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Max Hail Diameter at k=1 IF((IGET(795)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=HAIL_MAXK1(I,J) ENDDO ENDDO @@ -662,17 +668,19 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF -!--- Max hail diameter at surface from WRF HAILCAST algorithm (HRRR -!applications) -! (J. Kenyon/GSD, added 1 May 2019) +!--- Max hail diameter at surface from HAILCAST algorithm (HRRR and RRFS applications) IF((IGET(728)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND + IF(HAIL_MAXHAILCAST(I,J)0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=GRPL_MAX(I,J) ENDDO ENDDO @@ -706,14 +714,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Max Lightning Threat 1 IF((IGET(702)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=LTG1_MAX(I,J) ENDDO ENDDO @@ -727,14 +735,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Max Lightning Threat 2 IF((IGET(703)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=LTG2_MAX(I,J) ENDDO ENDDO @@ -748,14 +756,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif END IF !--- Max Lightning Threat 3 IF((IGET(704)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=LTG3_MAX(I,J) ENDDO ENDDO @@ -769,14 +777,21 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo endif + !datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) END IF !--- GSD Updraft Helicity IF((IGET(727)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=UP_HELI(I,J) ENDDO ENDDO @@ -784,14 +799,14 @@ SUBROUTINE MDL2AGL cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(727)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(727)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF !--- Updraft Helicity 1-6 km layer IF((IGET(701)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=UP_HELI16(I,J) ENDDO ENDDO @@ -799,14 +814,14 @@ SUBROUTINE MDL2AGL cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(701)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(701)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF !--- Convective Initiation Lightning IF((IGET(705)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=NCI_LTG(I,J)/60.0 ENDDO ENDDO @@ -820,14 +835,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF !--- Convective Activity Lightning IF((IGET(706)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=NCA_LTG(I,J)/60.0 ENDDO ENDDO @@ -841,14 +856,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF !--- Convective Initiation Vertical Hydrometeor Flux IF((IGET(707)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=NCI_WQ(I,J)/60.0 ENDDO ENDDO @@ -862,14 +877,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF !--- Convective Activity Vertical Hydrometeor Flux IF((IGET(708)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=NCA_WQ(I,J)/60.0 ENDDO ENDDO @@ -883,14 +898,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF !--- Convective Initiation Reflectivity IF((IGET(709)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=NCI_REFD(I,J)/60.0 ENDDO ENDDO @@ -904,14 +919,14 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF !--- Convective Activity Reflectivity IF((IGET(710)>0) )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=NCA_REFD(I,J)/60.0 ENDDO ENDDO @@ -925,7 +940,7 @@ SUBROUTINE MDL2AGL fld_info(cfld)%tinvstat = 1 endif fld_info(cfld)%ntrange = 1 - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF ! @@ -949,9 +964,9 @@ SUBROUTINE MDL2AGL IF(iget1 > 0 .or. iget2 > 0) THEN ! jj=(jsta+jend)/2 - ii=(im)/2 + ii=(ista+iend)/2 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND UAGL(I,J) = SPVAL VAGL(I,J) = SPVAL ! @@ -1000,13 +1015,13 @@ SUBROUTINE MDL2AGL END IF ENDDO IF(global)then - ISTART=1 - ISTOP=IM + ISTART=ISTA + ISTOP=IEND JSTART=JSTA JSTOP=JEND ELSE - ISTART=2 - ISTOP=IM-1 + ISTART=ISTA_M + ISTOP=IEND_M JSTART=JSTA_M JSTOP=JEND_M END IF @@ -1018,8 +1033,8 @@ SUBROUTINE MDL2AGL MINLL=LXXX ! print*,'exchange wind in MDL2AGL from ',MINLL DO LL=MINLL,LM - call exch(UH(1:IM,JSTA_2L:JEND_2U,LL)) - call exch(VH(1:IM,JSTA_2L:JEND_2U,LL)) + call exch(UH(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LL)) + call exch(VH(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LL)) END DO END IF DO 230 J=JSTART,JSTOP @@ -1128,7 +1143,7 @@ SUBROUTINE MDL2AGL !--- Wind Shear (wind speed difference in knots between sfc and 2000 ft) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ABS(UAGL(I,J)-SPVAL)>SMALL .AND. & ABS(VAGL(I,J)-SPVAL)>SMALL)THEN IF(GRIDTYPE=='B' .OR. GRIDTYPE=='E')THEN @@ -1149,7 +1164,7 @@ SUBROUTINE MDL2AGL cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(259)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(259)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ! ENDIF ! FOR LEVEL @@ -1178,9 +1193,9 @@ SUBROUTINE MDL2AGL ! jj = float(jsta+jend)/2.0 - ii = float(im)/3.0 + ii = float(ista+iend)/3.0 DO J=JSTA_2L,JEND_2U - DO I=1,IM + DO I=ISTA_2L,IEND_2U ! PAGL(I,J) = SPVAL TAGL(I,J) = SPVAL @@ -1224,7 +1239,7 @@ SUBROUTINE MDL2AGL !chc J=JHOLD(NN) ! DO 220 J=JSTA,JEND DO 240 J=JSTA_2L,JEND_2U - DO 240 I=1,IM + DO 240 I=ISTA_2L,IEND_2U LL = NL1X(I,J) !--------------------------------------------------------------------- !*** VERTICAL INTERPOLATION OF GEOPOTENTIAL, TEMPERATURE, SPECIFIC @@ -1295,7 +1310,7 @@ SUBROUTINE MDL2AGL !--- Wind Energy Potential -- 0.5 * moist air density * wind speed^3 IF((IGET(411)>0) ) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(QAGL(I,J)0) ) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=UAGL(I,J) ENDDO ENDDO @@ -1325,13 +1340,13 @@ SUBROUTINE MDL2AGL cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(412)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(412)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !--- V Component of wind IF((IGET(413)>0) ) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=VAGL(I,J) ENDDO ENDDO @@ -1339,7 +1354,7 @@ SUBROUTINE MDL2AGL cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(413)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(413)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! diff --git a/sorc/ncep_post.fd/MDL2P.f b/sorc/ncep_post.fd/MDL2P.f index 8f1d27d79d..e5e817f69e 100644 --- a/sorc/ncep_post.fd/MDL2P.f +++ b/sorc/ncep_post.fd/MDL2P.f @@ -1,93 +1,93 @@ !> @file -! . . . -!> SUBPROGRAM: MDL2P VERT INTRP OF MODEL LVLS TO PRESSURE -!! PRGRMMR: BLACK ORG: W/NP22 DATE: 99-09-23 -!! -!! ABSTRACT: -!! FOR MOST APPLICATIONS THIS ROUTINE IS THE WORKHORSE OF THE POST PROCESSOR. -!! IN A NUTSHELL IT INTERPOLATES DATA FROM MODEL TO PRESSURE SURFACES. -!! IT ORIGINATED FROM THE VERTICAL INTERPOLATION CODE IN THE OLD ETA -!! POST PROCESSOR SUBROUTINE OUTMAP AND IS A REVISION OF SUBROUTINE ETA2P. -!! -!! PROGRAM HISTORY LOG: -!! 99-09-23 T BLACK - REWRITTEN FROM ETA2P -!! 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -!! 02-06-12 MIKE BALDWIN - WRF VERSION -!! 02-07-29 H CHUANG - ADD UNDERGROUND FIELDS AND MEMBRANE SLP FOR WRF -!! 04-11-24 H CHUANG - ADD FERRIER'S HYDROMETEOR FIELD -!! 05-07-07 B ZHOU - ADD RSM MODEL for SLP -!! 05--8-30 B ZHOU - ADD AVIATION PRODUCTS: ICING, CAT, LLWS COMPUTATION -!! 08-01-01 H CHUANG - ADD GFS D3D FIELDS TO VERTICAL INTERPOLATION -!! 10-07-01 SMIRNOVA AND HU - ADD RR CHANGES -!! 10-12-30 H CHUANG - ADD HAINES INDEX TO SUPPORT FIRE WEATHER -!! 11-02-06 J Wang - ADD grib2 option TO SUPPORT FIRE WEATHER -!! 12-01-11 S LU - ADD GOCART AEROSOLS -!! 13-08-01 S Moorthi - some optimization -!! 14-02-26 S Moorthi - threading datapd assignment -!! 19-10-30 B CUI - REMOVE "GOTO" STATEMENT -!! 20-03-25 J MENG - remove grib1 -!! 20-05-20 J MENG - CALRH unification with NAM scheme -!! 20-11-10 J MENG - USE UPP_PHYSICS MODULE -!! 21-03-11 B Cui - change local arrays to dimension (im,jsta:jend) -!! 21-04-01 J MENG - COMPUTATION ON DEFINED POINTS ONLY -!! -!! USAGE: CALL MDL2P -!! INPUT ARGUMENT LIST: -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! SCLFLD - SCALE ARRAY ELEMENTS BY CONSTANT. -!! CALPOT - COMPUTE POTENTIAL TEMPERATURE. -!! CALRH - COMPUTE RELATIVE HUMIDITY. -!! CALDWP - COMPUTE DEWPOINT TEMPERATURE. -!! BOUND - BOUND ARRAY ELEMENTS BETWEEN LOWER AND UPPER LIMITS. -!! CALMCVG - COMPUTE MOISTURE CONVERGENCE. -!! CALVOR - COMPUTE ABSOLUTE VORTICITY. -!! CALSTRM - COMPUTE GEOSTROPHIC STREAMFUNCTION. -!! -!! LIBRARY: -!! COMMON - CTLBLK -!! RQSTFLD -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : IBM SP -!! +!> @brief mdl2p() computes vertical interpolation of model levels to pressure. +!> +!> For most applications this routine is the workhorse of the post processor. +!> In a nutshell it interpolates data from model to pressure surfaces. +!> It originated from the vertical interpolation code in the old ETA +!> post processor subroutine outmap() and is a revision of subroutine eta2p(). +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1999-09-23 | T Black | Rewritten from eta2p() +!> 2001-10-25 | H Chuang | Modified to process hybrid model output +!> 2002-06-12 | Mike Baldwin | WRF Version +!> 2002-07-29 | H Chuang | Add underground fields and membrane SLP for WRF +!> 2004-11-24 | H Chuang | Add FERRIER's hydrometeor field +!> 2005-07-07 | B Zhou | Add RSM model for SLP +!> 2005--8-30 | B Zhou | Add aviation products: ICING, CAT, LLWS computation +!> 2008-01-01 | H Chuang | Add GFS D3D fields to vertical interpolation +!> 2010-07-01 | Smirnova and Hu | Add RR changes +!> 2010-12-30 | H Chuang | Add Haines index to support fire weather +!> 2011-02-06 | J Wang | Add grib2 option to support fire weather +!> 2012-01-11 | S Lu | Add GOCART aerosols +!> 2013-08-01 | S Moorthi | Some optimization +!> 2014-02-26 | S Moorthi | Threading datapd assignment +!> 2019-10-30 | B Cui | Remove "GOTO" statement +!> 2020-03-25 | J Meng | Remove grib1 +!> 2020-05-20 | J Meng | CALRH unification with NAM scheme +!> 2020-11-10 | J Meng | Use UPP_PHYSICS module +!> 2021-03-11 | B Cui | Change local arrays to dimension (im,jsta:jend) +!> 2021-04-01 | J Meng | Computation on defined points only +!> 2021-07-07 | J MENG | 2D DECOMPOSITION +!> 2022-05-25 | Y Mao | Add WAFS icing/turbulence +!> 2022-08-03 | W Meng | Modify total cloud fraction(331) +!> 2022-09-22 | L Zhang | Remove DUSTSL +!> 2022-11-16 | E James | Adding dust from RRFS +!> 2022-12-21 | J Meng ! Adding snow density SDEN +!> 2023-02-23 | E James | Adding coarse PM from RRFS +!> 2023-08-24 | Y Mao | Add gtg_on option for GTG interpolation +!> 2023-09-12 | J Kenyon | Prevent spurious supercooled rain and cloud water +!> 2024-04-23 | E James | Adding smoke emissions (ebb) from RRFS +!> 2024-09-23 | K Asmar | Add velocity potential and streamfunction from wind vectors +!> 2024-12-12 | J Meng | Adding UUtah 2024 SLR algorithm +!> 2025-01-17 | J Kenyon | Add graupel number concentration (QQNG) +!> 2025-11-13 | L Pan | enable aerosols to be output on isobaric surfaces +!> 2025-11-17 | W Meng | Correct variable allocation +!> 2025-11-19 | W Meng | Relocate dxm calculation +!> 2026-01-06 | K Asmar | Add convective wind gust calculation +!> +!> @author T Black W/NP2 @date 1999-09-23 +!-------------------------------------------------------------------------------------- +!> MDL2P() computes vertical interpolation of model levels to pressure. +!> +!> @param[in] iostatusD3D integer No longer used/supported. +!> SUBROUTINE MDL2P(iostatusD3D) ! ! - use vrbls4d, only: DUST, SMOKE + use vrbls4d, only: DUST, SALT, SOOT, WASO, SUSO, SMOKE, FV3DUST, & + COARSEPM, EBB use vrbls3d, only: PINT, O3, PMID, T, Q, UH, VH, WH, OMGA, Q2, CWM, & QQW, QQI, QQR, QQS, QQG, DBZ, F_RIMEF, TTND, CFR, & - RLWTT, RSWTT, VDIFFTT, TCUCN, TCUCNS, & - TRAIN, VDIFFMOIS, DCONVMOIS, SCONVMOIS,NRADTT, & + QQNW, QQNI, QQNR, QQNG, RLWTT, RSWTT, VDIFFTT, TCUCN, & + TCUCNS, TRAIN, VDIFFMOIS, DCONVMOIS, SCONVMOIS,NRADTT,& O3VDIFF, O3PROD, O3TNDY, MWPV, UNKNOWN, VDIFFZACCE, & ZGDRAG, CNVCTVMMIXING, VDIFFMACCE, MGDRAG, & CNVCTUMMIXING, NCNVCTCFRAC, CNVCTUMFLX, CNVCTDETMFLX, & CNVCTZGDRAG, CNVCTMGDRAG, ZMID, ZINT, PMIDV, & - CNVCTDMFLX + CNVCTDMFLX, ICING_GFIP, ICING_GFIS,GTG,CAT=>CATEDR,MWT use vrbls2d, only: T500,T700,W_UP_MAX,W_DN_MAX,W_MEAN,PSLP,FIS,Z1000,Z700,& Z500 use masks, only: LMH, SM use physcons_post,only: CON_FVIRT, CON_ROG, CON_EPS, CON_EPSM1 use params_mod, only: H1M12, DBZMIN, H1, PQ0, A2, A3, A4, RHMIN, G, & RGAMOG, RD, D608, GI, ERAD, PI, SMALL, H100, & - H99999, GAMMA + H99999, GAMMA, TFRZ use ctlblk_mod, only: MODELNAME, LP1, ME, JSTA, JEND, LM, SPVAL, SPL, & ALSL, JEND_M, SMFLAG, GRIB, CFLD, FLD_INFO, DATAPD,& - TD3D, IFHR, IFMIN, IM, JM, NBIN_DU, JSTA_2L, & - JEND_2U, LSM, d3d_on, gocart_on, ioform, NBIN_SM, & - imp_physics + TD3D, IFHR, IFMIN, IM, JM, NBIN_DU, NBIN_SS, & + NBIN_BC, NBIN_OC, NBIN_SU, JSTA_2L, JEND_2U, & + LSM, d3d_on, nasa_on, ioform, NBIN_SM, & + imp_physics, ISTA, IEND, ISTA_M, IEND_M, ISTA_2L, & + IEND_2U, slrutah_on, gtg_on use rqstfld_mod, only: IGET, LVLS, ID, IAVBLFLD, LVLSXML use gridspec_mod, only: GRIDTYPE, MAPTYPE, DXVAL - use upp_physics, only: FPVSNEW, CALRH + use upp_physics, only: FPVSNEW, CALRH, CALVOR, CALSLR_ROEBBER, CALSLR_UUTAH, & + CALSLR_UUTAH2, CALCHIPSI + use exch_upp_mod, only: exch + !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! implicit none @@ -102,19 +102,26 @@ SUBROUTINE MDL2P(iostatusD3D) ! DECLARE VARIABLES. ! real,PARAMETER :: CAPA=0.28589641,P1000=1000.E2 - LOGICAL IOOMG,IOALL + LOGICAL IOOMG,IOALL, gtg_interpolation real, dimension(im,jm) :: GRID1, GRID2 - real, dimension(im,jsta_2l:jend_2u) :: FSL, TSL, QSL, OSL, USL, VSL & + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: FSL, TSL, QSL, OSL, USL, VSL & &, Q2SL, WSL, CFRSL, O3SL, TDSL & &, EGRID1, EGRID2 & &, FSL_OLD, USL_OLD, VSL_OLD & - &, OSL_OLD, OSL995 -! REAL D3DSL(IM,JM,27),DUSTSL(IM,JM,NBIN_DU) - REAL, allocatable :: D3DSL(:,:,:), DUSTSL(:,:,:), SMOKESL(:,:,:) + &, OSL_OLD, OSL995 & + &, ICINGFSL, ICINGVSL + REAL, allocatable :: D3DSL(:,:,:), SMOKESL(:,:,:), FV3DUSTSL(:,:,:) & + &, COARSEPMSL(:,:,:), EBBSL(:,:,:), DUSTSL(:,:,:) & + &, SALTSL(:,:,:), SOOTSL(:,:,:), WASOSL(:,:,:) & + &, SUSOSL(:,:,:) + REAL, allocatable :: GTGSL(:,:),CATSL(:,:),MWTSL(:,:) + REAL, allocatable :: WS850(:,:), WS950(:,:), GUSTCONV(:,:) ! integer,intent(in) :: iostatusD3D - INTEGER, dimension(im,jsta_2l:jend_2u) :: NL1X, NL1XF - real, dimension(IM,JSTA_2L:JEND_2U,LSM) :: TPRS, QPRS, FPRS + INTEGER, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: NL1X, NL1XF + real, dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LSM) :: TPRS, QPRS, FPRS + real, dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LSM) :: RHPRS + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: CHI, PSI ! INTEGER K, NSMOOTH ! @@ -127,16 +134,19 @@ SUBROUTINE MDL2P(iostatusD3D) ! QS1 - snow mixing ratio ! QG1 - graupel mixing ratio ! DBZ1 - radar reflectivity +! QQNW1 - number concentration of cloud drops +! QQNI1 - number concentration of ice particles +! QQNR1 - number concentration of rain particles ! - REAL, dimension(im,jsta_2l:jend_2u) :: C1D, QW1, QI1, QR1, QS1, QG1, DBZ1 & - , FRIME, RAD, HAINES + REAL, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: C1D, QW1, QI1, QR1, QS1, QG1, DBZ1 & + , FRIME, RAD, HAINES, QQNW1, QQNI1, QQNR1, QQNG1 REAL SDUMMY(IM,2) ! SAVE RH, U,V, for Icing, CAT, LLWS computation - REAL SAVRH(IM,jsta:jend) + REAL SAVRH(ista:iend,jsta:jend) !jw - integer I,J,L,LP,LL,LLMH,JJB,JJE,II,JJ,LI,IFINCR,ITD3D,ista,imois,luhi,la + integer I,J,L,LP,LL,LLMH,JJB,JJE,II,JJ,LI,IFINCR,ITD3D,istaa,imois,luhi,la real fact,ALPSL,PSFC,QBLO,PNL1,TBLO,TVRL,TVRBLO,FAC,PSLPIJ, & ALPTH,AHF,PDV,QL,TVU,TVD,GAMMAS,QSAT,RHL,ZL,TL,PL,ES,part,dum1 logical log1 @@ -151,37 +161,128 @@ SUBROUTINE MDL2P(iostatusD3D) else zero = h1m12 endif + +! Calculate dxm which will be used in smoothing + if(MAPTYPE == 6) then + if(grib=='grib2') then + dxm = (DXVAL / 360.)*(ERAD*2.*pi)/1.d6 ! [mm] + endif + else + dxm = dxval + endif + if(grib == 'grib2')then + dxm=dxm/1000.0 + endif + if (d3d_on) then - if (.not. allocated(d3dsl)) allocate(d3dsl(im,jm,27)) + if (.not. allocated(d3dsl)) allocate(d3dsl(ista_2l:iend_2u,jsta_2l:jend_2u,27)) !$omp parallel do private(i,j,l) do l=1,27 - do j=1,jm - do i=1,im + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u D3DSL(i,j,l) = SPVAL enddo enddo enddo endif - if (gocart_on) then - if (.not. allocated(dustsl)) allocate(dustsl(im,jm,nbin_du)) + if (.not. allocated(smokesl)) allocate(smokesl(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_sm)) +!$omp parallel do private(i,j,l) + do l=1,nbin_sm + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + SMOKESL(i,j,l) = SPVAL + enddo + enddo + enddo + if (.not. allocated(fv3dustsl)) allocate(fv3dustsl(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_sm)) +!$omp parallel do private(i,j,l) + do l=1,nbin_sm + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + FV3DUSTSL(i,j,l) = SPVAL + enddo + enddo + enddo + if (.not. allocated(coarsepmsl)) allocate(coarsepmsl(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_sm)) +!$omp parallel do private(i,j,l) + do l=1,nbin_sm + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + COARSEPMSL(i,j,l) = SPVAL + enddo + enddo + enddo + if (.not. allocated(ebbsl)) allocate(ebbsl(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_sm)) +!$omp parallel do private(i,j,l) + do l=1,nbin_sm + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + EBBSL(i,j,l) = SPVAL + enddo + enddo + enddo + if (nasa_on) then + if (.not. allocated(dustsl)) allocate(dustsl(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_du)) !$omp parallel do private(i,j,l) do l=1,nbin_du - do j=1,jm - do i=1,im + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u DUSTSL(i,j,l) = SPVAL enddo enddo enddo - endif - if (.not. allocated(smokesl)) allocate(smokesl(im,jm,nbin_sm)) + if (.not. allocated(saltsl)) allocate(saltsl(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_ss)) !$omp parallel do private(i,j,l) - do l=1,nbin_sm - do j=1,jm - do i=1,im - SMOKESL(i,j,l) = SPVAL + do l=1,nbin_ss + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + SALTSL(i,j,l) = SPVAL + enddo enddo enddo - enddo + if (.not. allocated(sootsl)) allocate(sootsl(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_bc)) +!$omp parallel do private(i,j,l) + do l=1,nbin_bc + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + SOOTSL(i,j,l) = SPVAL + enddo + enddo + enddo + if (.not. allocated(wasosl)) allocate(wasosl(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_oc)) +!$omp parallel do private(i,j,l) + do l=1,nbin_oc + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + WASOSL(i,j,l) = SPVAL + enddo + enddo + enddo + if (.not. allocated(susosl)) allocate(susosl(ista_2l:iend_2u,jsta_2l:jend_2u,nbin_su)) +!$omp parallel do private(i,j,l) + do l=1,nbin_su + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + SUSOSL(i,j,l) = SPVAL + enddo + enddo + enddo + endif + +! For GTG, should run MDL2P interpolation? + gtg_interpolation = .false. + if (gtg_on .and. (IGET(464) > 0 .OR. IGET(465) > 0 .OR. & + (IGET(466) > 0))) gtg_interpolation=.true. +! For GTG, allocate memories + if(gtg_interpolation) then + if (.not. allocated(GTGSL)) allocate(GTGSL(ista_2l:iend_2u,jsta_2l:jend_2u)) + if (.not. allocated(CATSL)) allocate(CATSL(ista_2l:iend_2u,jsta_2l:jend_2u)) + if (.not. allocated(MWTSL)) allocate(MWTSL(ista_2l:iend_2u,jsta_2l:jend_2u)) + endif +! Allocate HAFS wind speeds and gust factor + if (.not. allocated(ws850)) allocate(ws850(ista_2l:iend_2u,jsta_2l:jend_2u)) + if (.not. allocated(ws950)) allocate(ws950(ista_2l:iend_2u,jsta_2l:jend_2u)) + if (.not. allocated(gustconv)) allocate(gustconv(ista_2l:iend_2u,jsta_2l:jend_2u)) ! ! SET TOTAL NUMBER OF POINTS ON OUTPUT GRID. ! @@ -206,6 +307,8 @@ SUBROUTINE MDL2P(iostatusD3D) (IGET(257) > 0) .OR. (IGET(258) > 0) .OR. & (IGET(294) > 0) .OR. (IGET(268) > 0) .OR. & (IGET(331) > 0) .OR. (IGET(326) > 0) .OR. & + (IGET(1021) > 0) .OR. (IGET(1022) > 0) .OR. & + (IGET(1026) > 0) .OR. & ! add D3D fields (IGET(354) > 0) .OR. (IGET(355) > 0) .OR. & (IGET(356) > 0) .OR. (IGET(357) > 0) .OR. & @@ -221,12 +324,25 @@ SUBROUTINE MDL2P(iostatusD3D) (IGET(391) > 0) .OR. (IGET(392) > 0) .OR. & (IGET(393) > 0) .OR. (IGET(394) > 0) .OR. & (IGET(395) > 0) .OR. (IGET(379) > 0) .OR. & + IGET(1018) > 0 .OR. IGET(1019) > 0 .OR. & + IGET(1020) > 0 .OR. & ! ADD DUST FIELDS - (IGET(438) > 0) .OR. (IGET(439) > 0) .OR. & - (IGET(440) > 0) .OR. (IGET(441) > 0) .OR. & - (IGET(442) > 0) .OR. (IGET(455) > 0) .OR. & + (IGET(455) > 0) .OR. & +! ADD NASA FIELDS + (IGET(438) > 0) .OR. (IGET(439) > 0) .OR. & + (IGET(440) > 0) .OR. (IGET(441) > 0) .OR. & + (IGET(442) > 0) .OR. (IGET(589) > 0) .OR. & + (IGET(590) > 0) .OR. (IGET(591) > 0) .OR. & + (IGET(592) > 0) .OR. (IGET(593) > 0) .OR. & + (IGET(594) > 0) .OR. (IGET(595) > 0) .OR. & + (IGET(596) > 0) .OR. (IGET(597) > 0) .OR. & + (IGET(598) > 0) .OR. & +! Add WAFS hazard fields: Icing and GTG turbulence + (IGET(450) > 0) .OR. (IGET(480) > 0) .OR. & + gtg_interpolation .OR. & ! ADD SMOKE FIELDS - (IGET(738) > 0) .OR. (MODELNAME == 'RAPR') .OR.& + (IGET(738) > 0) .OR. (IGET(743) > 0) .OR. & + (MODELNAME == 'RAPR') .OR.& ! LIFTED INDEX needs 500 mb T (IGET(030)>0) .OR. (IGET(031)>0) .OR. (IGET(075)>0)) THEN ! @@ -239,8 +355,12 @@ SUBROUTINE MDL2P(iostatusD3D) ! print*,'LSM= ',lsm if(gridtype == 'B' .or. gridtype == 'E') & - call exch(PINT(1:IM,JSTA_2L:JEND_2U,LP1)) + call exch(PINT(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LP1)) +! wind speeds at 850 and 950 mb for HAFS wind gust + WS850 = SPVAL + WS950 = SPVAL + DO LP=1,LSM ! if(me == 0) print *,'in LP loop me=',me,'UH=',UH(1:10,JSTA,LP), & @@ -251,7 +371,7 @@ SUBROUTINE MDL2P(iostatusD3D) ! !$omp parallel do private(i,j,l) DO J=JSTA_2L,JEND_2U - DO I=1,IM + DO I=ISTA_2L,IEND_2U TSL(I,J) = SPVAL QSL(I,J) = SPVAL FSL(I,J) = SPVAL @@ -272,6 +392,18 @@ SUBROUTINE MDL2P(iostatusD3D) RAD(I,J) = SPVAL O3SL(I,J) = SPVAL CFRSL(I,J) = SPVAL + ICINGFSL(I,J) = SPVAL + ICINGVSL(I,J) = SPVAL + QQNW1(I,J) = SPVAL + QQNI1(I,J) = SPVAL + QQNR1(I,J) = SPVAL + QQNG1(I,J) = SPVAL + + if (gtg_interpolation) then + GTGSL(I,J) = SPVAL + CATSL(I,J) = SPVAL + MWTSL(I,J) = SPVAL + end if ! !*** LOCATE VERTICAL INDEX OF MODEL MIDLAYER JUST BELOW !*** THE PRESSURE LEVEL TO WHICH WE ARE INTERPOLATING. @@ -312,12 +444,12 @@ SUBROUTINE MDL2P(iostatusD3D) !hc J=JHOLD(NN) ! DO 220 J=JSTA,JEND - ii = im/2 + ii = (ista+iend)/2 jj = (jsta+jend)/2 !$omp parallel do private(i,j,k,l,ll,llmh,la,tvd,tvu,fact,fac,ahf,rhl,tl,pl,ql,zl,es,qsat,part,tvrl,tvrblo,tblo,qblo,gammas,pnl1) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND !--------------------------------------------------------------------- !*** VERTICAL INTERPOLATION OF GEOPOTENTIAL, TEMPERATURE, SPECIFIC !*** HUMIDITY, CLOUD WATER/ICE, OMEGA, WINDS, AND TKE. @@ -350,7 +482,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF(QQI(I,J,1) < SPVAL) QI1(I,J) = QQI(I,J,1) QI1(I,J) = MAX(QI1(I,J),zero) ! Cloud ice IF(QQR(I,J,1) < SPVAL) QR1(I,J) = QQR(I,J,1) - QR1(I,J) = MAX(QR1(I,J),zero) ! Rain + QR1(I,J) = MAX(QR1(I,J),zero) ! Rain IF(QQS(I,J,1) < SPVAL) QS1(I,J) = QQS(I,J,1) QS1(I,J) = MAX(QS1(I,J),zero) ! Snow (precip ice) IF(QQG(I,J,1) < SPVAL) QG1(I,J) = QQG(I,J,1) @@ -359,18 +491,50 @@ SUBROUTINE MDL2P(iostatusD3D) DBZ1(I,J) = MAX(DBZ1(I,J),DBZmin) IF(F_RimeF(I,J,1) < SPVAL) FRIME(I,J) = F_RimeF(I,J,1) FRIME(I,J) = MAX(FRIME(I,J),H1) + IF(QQNW(I,J,1) < SPVAL) QQNW1(I,J) = QQNW(I,J,1) + QQNW1(I,J) = MAX(QQNW1(I,J),zero) ! Cloud droplet number concentration + IF(QQNI(I,J,1) < SPVAL) QQNI1(I,J) = QQNI(I,J,1) + QQNI1(I,J) = MAX(QQNI1(I,J),zero) ! Ice number concentration + IF(QQNR(I,J,1) < SPVAL) QQNR1(I,J) = QQNR(I,J,1) + QQNR1(I,J) = MAX(QQNR1(I,J),zero) ! Rain number concentration + IF(QQNG(I,J,1) < SPVAL) QQNG1(I,J) = QQNG(I,J,1) + QQNG1(I,J) = MAX(QQNG1(I,J),zero) ! Graupel number concentration IF(TTND(I,J,1) < SPVAL) RAD(I,J) = TTND(I,J,1) IF(O3(I,J,1) < SPVAL) O3SL(I,J) = O3(I,J,1) IF(CFR(I,J,1) < SPVAL) CFRSL(I,J) = CFR(I,J,1) -! DUST - if (gocart_on) then - DO K = 1, NBIN_DU - IF(DUST(I,J,1,K) < SPVAL) DUSTSL(I,J,K) = DUST(I,J,1,K) - ENDDO +!GFIP + IF(ICING_GFIP(I,J,1) < SPVAL) ICINGFSL(I,J) = ICING_GFIP(I,J,1) + IF(ICING_GFIS(I,J,1) < SPVAL) ICINGVSL(I,J) = ICING_GFIS(I,J,1) +!GTG + if(gtg_interpolation) then + IF(GTG(I,J,1) < SPVAL) GTGSL(I,J) = GTG(I,J,1) + IF(CAT(I,J,1) < SPVAL) CATSL(I,J) = CAT(I,J,1) + IF(MWT(I,J,1) < SPVAL) MWTSL(I,J) = MWT(I,J,1) endif + DO K = 1, NBIN_SM IF(SMOKE(I,J,1,K) < SPVAL) SMOKESL(I,J,K)=SMOKE(I,J,1,K) + IF(FV3DUST(I,J,1,K) < SPVAL) FV3DUSTSL(I,J,K)=FV3DUST(I,J,1,K) + IF(COARSEPM(I,J,1,K) < SPVAL) COARSEPMSL(I,J,K)=COARSEPM(I,J,1,K) + IF(EBB(I,J,1,K) < SPVAL) EBBSL(I,J,K)=EBB(I,J,1,K) ENDDO + if (nasa_on) then + DO K = 1, NBIN_DU + IF(DUST(I,J,1,K) < SPVAL) DUSTSL(I,J,K) = DUST(I,J,1,K) + ENDDO + DO K = 1, NBIN_SS + IF(SALT(I,J,1,K) < SPVAL) SALTSL(I,J,K) = SALT(I,J,1,K) + ENDDO + DO K = 1, NBIN_BC + IF(SOOT(I,J,1,K) < SPVAL) SOOTSL(I,J,K) = SOOT(I,J,1,K) + ENDDO + DO K = 1, NBIN_OC + IF(WASO(I,J,1,K) < SPVAL) WASOSL(I,J,K) = WASO(I,J,1,K) + ENDDO + DO K = 1, NBIN_SU + IF(SUSO(I,J,1,K) < SPVAL) SUSOSL(I,J,K) = SUSO(I,J,1,K) + ENDDO + endif ! only interpolate GFS d3d fields when reqested ! if(iostatusD3D ==0 .and. d3d_on)then @@ -508,6 +672,68 @@ SUBROUTINE MDL2P(iostatusD3D) QG1(I,J) = QQG(I,J,LL) + (QQG(I,J,LL)-QQG(I,J,LL-1))*FACT QG1(I,J) = MAX(QG1(I,J),zero) ! GRAUPEL (precip ice) + ! ...Prevent spurious supercooled water (rain and + ! cloud water) from appearing on pressure levels + ! that are located just above melting levels... + ! + ! Added Sep 2023 by J. Kenyon (NOAA/GSL), in response to + ! a problem identified by G. Thompson (NCAR), described + ! below. + ! + ! Consider a situation in which: + ! (1) the target pressure level is contained between + ! two adjacent model levels that also contain a + ! melting level; i.e., the overlying model level + ! is subfreezing, and the underlying model level + ! is above freezing. + ! (2) the temperature on the target pressure level + ! (via interpolation) is subfreezing; i.e., the + ! target pressure level is located "just above" + ! the aforementioned melting level. + ! (3) rain water exists on the underlying model level + ! + ! This situation is often found in a classic melting- + ! snow thermal profile. The model level above the + ! melting level will typically contain snow, but no + ! rain. Meanwhile, the model level below the melting + ! level will contain rain. Importantly, model levels in + ! this situation do not contain supercooled rain, but + ! interpolation onto the target pressure level will + ! yield supercooled rain. In this sense, the supercooled + ! rain is an artifact of interpolation. Because + ! supercooled water poses a hazard to aviation, we seek + ! to prevent supercooled water on pressure levels + ! when none actually exists on the adjacent model levels. + ! + ! In the code below, we search for the condition in + ! which this artifact occurs. Then, the previously + ! interpolated value of Qrain is simply replaced by the + ! value from the overlying (subfreezing) model level. + ! The same approach is used for cloud water and cloud + ! ice. However, for snow and graupel, either the value from + ! the overlying model level or the interpolated value + ! is used, whichever is greater. Since model-level weighting + ! depends on the hydrometeor species, it is possible + ! that the total condensate on the pressure level may be + ! greater or less than that on both adjacent model levels + ! (i.e., a slight artificial gain/loss of total condensate + ! is possible). If this behavior must be avoided, simply + ! use the values from the overlying model level for + ! all species. + IF (MODELNAME == 'FV3R' .OR. MODELNAME == 'GFS') THEN + IF ( TSL(I,J) <= TFRZ .AND. & ! This pressure level is subfreezing and located just above a melting level; + T(I,J,LL-1) <= TFRZ .AND. & ! i.e., the overlying model level is subfreezing, + T(I,J,LL) > TFRZ ) THEN ! but the underlying model level is above freezing. + IF (QW1(I,J) 0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SPVAL - CFRSL(I,J) = MIN(MAX(0.0,CFRSL(I,J)),1.0) - IF(abs(CFRSL(I,J)-SPVAL) > SMALL) & - GRID1(I,J) = CFRSL(I,J)*H100 + IF(abs(CFRSL(I,J)-SPVAL) > SMALL) THEN + CFRSL(I,J) = MIN(MAX(0.0,CFRSL(I,J)),1.0) + GRID1(I,J) = CFRSL(I,J)*H100 + ENDIF ENDDO ENDDO if(grib == 'grib2')then cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET(331)) fld_info(cfld)%lvl = LVLSXML(LP,IGET(331)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1360,15 +1708,15 @@ SUBROUTINE MDL2P(iostatusD3D) IF(LVLS(LP,IGET(015)) > 0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EGRID2(I,J) = SPL(LP) ENDDO ENDDO ! - CALL CALDWP(EGRID2(1,jsta),QSL(1,jsta),EGRID1(1,jsta),TSL(1,jsta)) + CALL CALDWP(EGRID2(ista:iend,jsta:jend),QSL(ista:iend,jsta:jend),EGRID1(ista:iend,jsta:jend),TSL(ista:iend,jsta:jend)) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(TSL(I,J) < SPVAL) THEN GRID1(I,J) = EGRID1(I,J) ELSE @@ -1380,11 +1728,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(015)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(015)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1397,7 +1746,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF(LVLS(LP,IGET(016)) > 0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = QSL(I,J) ENDDO ENDDO @@ -1406,11 +1755,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(016)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(016)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1423,7 +1773,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF(LVLS(LP,IGET(020)) > 0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = OSL(I,J) ENDDO ENDDO @@ -1449,11 +1799,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(020)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(020)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1466,7 +1817,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF(LVLS(LP,IGET(284)) > 0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = WSL(I,J) ENDDO ENDDO @@ -1474,11 +1825,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(284)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(284)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1489,28 +1841,29 @@ SUBROUTINE MDL2P(iostatusD3D) ! IF(IGET(085) > 0)THEN IF(LVLS(LP,IGET(085)) > 0)THEN - CALL CALMCVG(QSL(1,jsta_2l),USL(1,jsta_2l),VSL(1,jsta_2l),EGRID1(1,jsta_2l)) + CALL CALMCVG(QSL(ista_2l,jsta_2l),USL(ista_2l,jsta_2l),VSL(ista_2l,jsta_2l),EGRID1(ista_2l,jsta_2l)) ! if(me == 0) print *,'after calmcvgme=',me,'USL=',USL(1:10,JSTA) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = EGRID1(I,J) ENDDO ENDDO !MEB NOT SURE IF I STILL NEED THIS ! CONVERT TO DIVERGENCE FOR GRIB UNITS ! -! CALL SCLFLD(GRID1,-1.0,IM,JM) +! CALL SCLFLD(GRID1(ista:iend,jsta:jend),-1.0,IM,JM) !MEB NOT SURE IF I STILL NEED THIS if(grib == 'grib2')then cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(085)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(085)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo ! if(me==0) print *,'in mdl2p,mconv, lp=',fld_info(cfld)%lvl,'lp=',lp @@ -1522,16 +1875,16 @@ SUBROUTINE MDL2P(iostatusD3D) ! IF(IGET(018) > 0.OR.IGET(019) > 0)THEN log1=.false. - IF(IGET(018) > 0.) then - if(LVLS(LP,IGET(018)) > 0 ) log1=.true. + IF(IGET(018) > 0) then + if(LVLS(LP,IGET(018)) > 0) log1=.true. endif IF(IGET(019) > 0) then - if(LVLS(LP,IGET(019)) > 0 ) log1=.true. + if(LVLS(LP,IGET(019)) > 0) log1=.true. endif if ( log1 ) then !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = USL(I,J) GRID2(I,J) = VSL(I,J) ENDDO @@ -1554,25 +1907,40 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(018)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(018)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(019)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(019)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif + +! WIND SPEED AT 850 AND 950 MB FOR HAFS WIND GUST + IF(IGET(1026)>0)THEN + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(GRID1(I,J) 0 .or. LVLS(LP,IGET(1022)) > 0) THEN + CALL CALCHIPSI(USL,VSL,CHI,PSI) +! print *,'me=',me,'EGRID1=',EGRID1(1:10,JSTA) +! +!*** CHI +! + IF (LVLS(LP,IGET(1021)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = CHI(I,J) + ENDDO + ENDDO + if(grib == 'grib2')then + cfld = cfld + 1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1021)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(1021)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF !CHI +! +!*** PSI +! + IF (LVLS(LP,IGET(1022)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = PSI(I,J) + ENDDO + ENDDO + if(grib == 'grib2')then + cfld = cfld + 1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1022)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(1022)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF !PSI + ENDIF !LVLS(CHIPSI) + ENDIF !CHIPSI +! +! ! GEOSTROPHIC STREAMFUNCTION. IF (IGET(086) > 0) THEN IF (LVLS(LP,IGET(086)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(FSL(I,J) 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = Q2SL(I,J) ENDDO ENDDO @@ -1672,11 +2100,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(022)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(022)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1691,7 +2120,7 @@ SUBROUTINE MDL2P(iostatusD3D) ! GFS does not seperate cloud water from ice, hoping to do that in Feb 08 implementation !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(QW1(I,J) < SPVAL .AND. QI1(I,J) < SPVAL) THEN GRID1(I,J) = QW1(I,J) + QI1(I,J) QI1(I,J) = spval @@ -1703,7 +2132,7 @@ SUBROUTINE MDL2P(iostatusD3D) ELSE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = QW1(I,J) ENDDO ENDDO @@ -1712,11 +2141,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(153)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(153)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1729,7 +2159,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(166)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = QI1(I,J) ENDDO ENDDO @@ -1737,11 +2167,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(166)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(166)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1753,7 +2184,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(183)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = QR1(I,J) ENDDO ENDDO @@ -1761,11 +2192,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(183)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(183)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1777,7 +2209,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(184)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = QS1(I,J) ENDDO ENDDO @@ -1785,11 +2217,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(184)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(184)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1801,7 +2234,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(416)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = QG1(I,J) ENDDO ENDDO @@ -1809,11 +2242,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(416)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(416)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1826,7 +2260,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(198)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = C1D(I,J) ENDDO ENDDO @@ -1834,11 +2268,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(198)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(198)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1850,7 +2285,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(263)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = FRIME(I,J) ENDDO ENDDO @@ -1858,11 +2293,88 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(263)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(263)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + ENDIF +! +!--- Number concentration for cloud water drops on isobaric surfaces + IF (IGET(1018) > 0) THEN + IF (LVLS(LP,IGET(1018)) > 0) THEN + if(grib == 'grib2')then + cfld = cfld + 1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1018)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(1018)) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = QQNW1(ii,jj) + enddo + enddo + endif + ENDIF + ENDIF +! +!--- Number concentration for ice particles on isobaric surfaces + IF (IGET(1019) > 0) THEN + IF (LVLS(LP,IGET(1019)) > 0) THEN + if(grib == 'grib2')then + cfld = cfld + 1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1019)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(1019)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = QQNI1(ii,jj) + enddo + enddo + endif + ENDIF + ENDIF +! +!--- Number concentration for rain on isobaric surfaces + IF (IGET(1020) > 0) THEN + IF (LVLS(LP,IGET(1020)) > 0) THEN + if(grib == 'grib2')then + cfld = cfld + 1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1020)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(1020)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = QQNR1(ii,jj) + enddo + enddo + endif + ENDIF + ENDIF +! +!--- Number concentration for graupel on isobaric surfaces + IF (IGET(1024) > 0) THEN + IF (LVLS(LP,IGET(1024)) > 0) THEN + if(grib == 'grib2')then + cfld = cfld + 1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1024)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(1024)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = QQNG1(ii,jj) enddo enddo endif @@ -1874,7 +2386,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(294)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RAD(I,J) ENDDO ENDDO @@ -1882,11 +2394,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(294)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(294)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1898,7 +2411,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(251)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = DBZ1(I,J) ENDDO ENDDO @@ -1906,11 +2419,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(251)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(251)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1920,11 +2434,11 @@ SUBROUTINE MDL2P(iostatusD3D) !--- IN-FLIGHT ICING CONDITION: ADD BY B. ZHOU IF(IGET(257) > 0)THEN IF(LVLS(LP,IGET(257)) > 0)THEN - CALL CALICING(TSL(1,jsta), SAVRH, OSL(1,jsta), EGRID1(1,jsta)) + CALL CALICING(TSL(ista:iend,jsta:jend), SAVRH, OSL(ista:iend,jsta:jend), EGRID1(ista:iend,jsta:jend)) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = EGRID1(I,J) ENDDO ENDDO @@ -1932,11 +2446,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(257)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(257)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1951,7 +2466,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF(LVLS(LP,IGET(258)) > 0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(FSL(I,J) 3. .OR. GRID1(I,J) < 0.) ! + print*,'bad CAT',i,j,GRID1(I,J) @@ -1975,11 +2490,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(258)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(258)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1988,9 +2504,133 @@ SUBROUTINE MDL2P(iostatusD3D) end if ! +!--- GFIP IN-FLIGHT ICING POTENTIAL: ADDED BY H CHUANG + IF(IGET(450) > 0)THEN + IF(LVLS(LP,IGET(450)) > 0)THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = ICINGFSL(I,J) + ENDDO + ENDDO + if(grib == 'grib2') then + cfld = cfld + 1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(450)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(450)) +!$omp parallel do private(i,j,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + ENDIF +!--- GFIP IN-FLIGHT ICING SEVERITY: ADDED BY Y MAO + IF(IGET(480) > 0) THEN + IF(LVLS(LP,IGET(480)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = ICINGVSL(I,J) + ENDDO + ENDDO + if(grib == 'grib2') then + cfld = cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(480)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(480)) +!$omp parallel do private(i,j,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + ENDIF +!GTG + IF(gtg_interpolation) THEN +!--- GTG EDR turbulence: ADDED BY Y. MAO + IF(IGET(464) > 0) THEN + IF(LVLS(LP,IGET(464)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = GTGSL(I,J) + ENDDO + ENDDO + if(grib == 'grib2') then + cfld = cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(464)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(464)) +!$omp parallel do private(i,j,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + ENDIF +!--- GTG CAT turbulence: ADDED BY Y. MAO + IF(IGET(465) > 0) THEN + IF(LVLS(LP,IGET(465)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = CATSL(I,J) + ENDDO + ENDDO + if(grib == 'grib2') then + cfld = cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(465)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(465)) +!$omp parallel do private(i,j,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + ENDIF +!--- GTG MWT turbulence: ADDED BY Y. MAO + IF(IGET(466) > 0) THEN + IF(LVLS(LP,IGET(466)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = MWTSL(I,J) + ENDDO + ENDDO + if(grib == 'grib2') then + cfld = cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(466)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(466)) +!$omp parallel do private(i,j,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + ENDIF + ENDIF + !$omp parallel do private(i,j) DO J=JSTA_2L,JEND_2U - DO I=1,IM + DO I=ISTA_2L,IEND_2U USL_OLD(I,J) = USL(I,J) VSL_OLD(I,J) = VSL(I,J) IF(FSL(I,J) 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = O3SL(I,J) ENDDO ENDDO @@ -2016,11 +2656,12 @@ SUBROUTINE MDL2P(iostatusD3D) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(268)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(268)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2032,9 +2673,9 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(738)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(SMOKESL(I,J,1) 0) THEN + IF (LVLS(LP,IGET(743)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(FV3DUSTSL(I,J,1) 0) THEN + IF (LVLS(LP,IGET(1013)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(COARSEPMSL(I,J,1) 0) THEN + IF (LVLS(LP,IGET(1016)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = EBBSL(I,J,1)/(1E9) + ENDDO + ENDDO + if(grib == 'grib2')then + cfld = cfld + 1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1016)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(1016)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + ENDIF + + if (nasa_on) then !--- DUST IF (IGET(438) > 0) THEN IF (LVLS(LP,IGET(438)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = DUSTSL(I,J,1) + DO I=ISTA,IEND + IF(DUSTSL(I,J,1) 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = DUSTSL(I,J,2) + DO I=ISTA,IEND + IF(DUSTSL(I,J,2) 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = DUSTSL(I,J,3) + DO I=ISTA,IEND + IF(DUSTSL(I,J,3) 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = DUSTSL(I,J,4) + DO I=ISTA,IEND + IF(DUSTSL(I,J,4) 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = DUSTSL(I,J,5) + DO I=ISTA,IEND + IF(DUSTSL(I,J,5) 0) THEN + IF (LVLS(LP,IGET(589)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(SALTSL(I,J,1) 0) THEN + IF (LVLS(LP,IGET(590)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(SALTSL(I,J,2) 0) THEN + IF (LVLS(LP,IGET(591)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(SALTSL(I,J,3) 0) THEN + IF (LVLS(LP,IGET(592)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(SALTSL(I,J,4) 0) THEN + IF (LVLS(LP,IGET(593)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(SALTSL(I,J,5) 0) THEN + IF (LVLS(LP,IGET(594)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(SUSOSL(I,J,1) 0) THEN + IF (LVLS(LP,IGET(595)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(WASOSL(I,J,1) 0) THEN + IF (LVLS(LP,IGET(596)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(WASOSL(I,J,2) 0) THEN + IF (LVLS(LP,IGET(597)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(SOOTSL(I,J,1) 0) THEN + IF (LVLS(LP,IGET(598)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(SOOTSL(I,J,2) 0) THEN IF (LVLS(LP,IGET(355)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,1) ENDDO ENDDO @@ -2211,11 +3239,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2226,7 +3255,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(354)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,2) ENDDO ENDDO @@ -2258,11 +3287,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2273,7 +3303,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(356)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,3) ENDDO ENDDO @@ -2305,11 +3335,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2320,7 +3351,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(357)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,4) ENDDO ENDDO @@ -2352,11 +3383,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2367,7 +3399,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(358)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,5) ENDDO ENDDO @@ -2399,11 +3431,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2414,7 +3447,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(359)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,6) ENDDO ENDDO @@ -2446,11 +3479,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2461,7 +3495,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(360)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,7) ENDDO ENDDO @@ -2493,11 +3527,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2508,7 +3543,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(361)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,8) ENDDO ENDDO @@ -2540,11 +3575,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2555,7 +3591,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(362)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,9) ENDDO ENDDO @@ -2587,11 +3623,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2602,7 +3639,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(363)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,10) ENDDO ENDDO @@ -2635,11 +3672,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2650,7 +3688,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(364)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,11) ENDDO ENDDO @@ -2683,11 +3721,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2698,7 +3737,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(365)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,12) ENDDO ENDDO @@ -2731,11 +3770,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2746,7 +3786,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(366)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,13) ENDDO ENDDO @@ -2779,11 +3819,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2794,7 +3835,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(367)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,14) ENDDO ENDDO @@ -2827,11 +3868,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2842,7 +3884,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(368)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,15) ENDDO ENDDO @@ -2875,11 +3917,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2890,7 +3933,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(369)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,16) ENDDO ENDDO @@ -2922,11 +3965,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2937,7 +3981,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(370)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,17) ENDDO ENDDO @@ -2970,11 +4014,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2985,7 +4030,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(371)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,18) ENDDO ENDDO @@ -3018,11 +4063,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3033,7 +4079,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(372)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,19) ENDDO ENDDO @@ -3065,11 +4111,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3080,7 +4127,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(373)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,20) ENDDO ENDDO @@ -3113,11 +4160,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3128,7 +4176,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(374)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,21) ENDDO ENDDO @@ -3161,11 +4209,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3176,7 +4225,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(375)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,22) ENDDO ENDDO @@ -3208,11 +4257,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3223,7 +4273,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(379)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(D3DSL(i,j,1)/=SPVAL)THEN GRID1(I,J) = D3DSL(i,j,1) + D3DSL(i,j,2) & + D3DSL(i,j,3) + D3DSL(i,j,4) & @@ -3261,11 +4311,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3276,7 +4327,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(391)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,23) ENDDO ENDDO @@ -3309,11 +4360,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3324,7 +4376,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(392)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,24) ENDDO ENDDO @@ -3357,11 +4409,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3372,7 +4425,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(393)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,25) ENDDO ENDDO @@ -3405,11 +4458,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3420,7 +4474,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(394)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,26) ENDDO ENDDO @@ -3453,11 +4507,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3468,7 +4523,7 @@ SUBROUTINE MDL2P(iostatusD3D) IF (LVLS(LP,IGET(395)) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = D3DSL(i,j,27) ENDDO ENDDO @@ -3501,11 +4556,12 @@ SUBROUTINE MDL2P(iostatusD3D) fld_info(cfld)%ntrange=(IFHR-ID(18))/ITD3D endif fld_info(cfld)%tinvstat=ITD3D -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3515,7 +4571,7 @@ SUBROUTINE MDL2P(iostatusD3D) ! CHUANG: COMPUTE HAINES INDEX IF (IGET(455) > 0) THEN - ii=im/2+100 + ii=(ista+iend)/2+100 jj=(jsta+jend)/2-100 IF(ABS(SPL(LP)-50000.) 17. .AND. DUM1 <= 21.) THEN - ISTA = 2 + ISTAA = 2 ELSE - ISTA = 3 + ISTAA = 3 END IF DUM1 = TSL(I,J)-TDSL(I,J) IF(DUM1 <= 14.) THEN @@ -3551,7 +4607,7 @@ SUBROUTINE MDL2P(iostatusD3D) IMOIS = 3 END IF IF(TSL(I,J) 5. .AND. DUM1 <= 10.) THEN - ISTA = 2 + ISTAA = 2 ELSE - ISTA = 3 + ISTAA = 3 END IF DUM1 = TSL(I,J)-TDSL(I,J) IF(DUM1 <= 5.) THEN @@ -3597,7 +4653,7 @@ SUBROUTINE MDL2P(iostatusD3D) ! if(i==570 .and. j==574)print*,'mid haines index:',i,j,luhi,tsl(i,j) & ! ,tprs(i,j,luhi),tdsl(i,j),ista,imois,spl(luhi),spl(lp),haines(i,j) IF(TSL(I,J) 3. .AND. DUM1 <=7. ) THEN - ISTA = 2 + ISTAA = 2 ELSE - ISTA = 3 + ISTAA = 3 END IF DUM1 = TSL(I,J)-TDSL(I,J) IF(DUM1 <=5. ) THEN @@ -3641,7 +4697,7 @@ SUBROUTINE MDL2P(iostatusD3D) ! if(i==570 .and. j==574)print*,'low haines index:',i,j,luhi,tsl(i,j) & ! ,tprs(i,j,luhi),tdsl(i,j),ista,imois,spl(luhi),spl(lp),haines(i,j) IF(TSL(I,J) WONT DERIVE MESINGER SLP' END IF !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = PSLP(I,J) ENDDO ENDDO @@ -3795,11 +4851,12 @@ SUBROUTINE MDL2P(iostatusD3D) if(grib == 'grib2')then cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET(023)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3807,22 +4864,22 @@ SUBROUTINE MDL2P(iostatusD3D) ! OUTPUT of MAPS SLP IF(IGET(445) > 0)THEN - if(me==0)PRINT*,'CALLING MAPS SLP' CALL MAPSSLP(TPRS) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = PSLP(I,J) ENDDO ENDDO if(grib == 'grib2') then cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET(445)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3843,7 +4900,7 @@ SUBROUTINE MDL2P(iostatusD3D) ! because MOS can't adjust to the much lower H !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(FSL(I,J)0 ) THEN + egrid1=spval + call calslr_uutah2(EGRID1) +! call calslr_uutah(EGRID1) +! call calslr_roebber(TPRS,RHPRS,EGRID1) +!$omp parallel do private(i,j) + do j=jsta,jend + do i=ista,iend + grid1(i,j)=spval + if(egrid1(i,j) < spval) then + if(egrid1(i,j)>=1.) then + grid1(i,j)=1000./egrid1(i,j) + else + grid1(i,j)=spval + endif + endif + enddo + enddo + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1006)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + +! +! *** HAFS WIND GUST +! + IF (IGET(1026) > 0) THEN + CALL CALGUSTCONV(WS850,WS950,GUSTCONV) +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = GUSTCONV(I,J) + ENDDO + ENDDO + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1026)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF ! if(allocated(d3dsl)) deallocate(d3dsl) -if(allocated(dustsl)) deallocate(dustsl) if(allocated(smokesl)) deallocate(smokesl) +if(allocated(fv3dustsl)) deallocate(fv3dustsl) +if(allocated(coarsepmsl)) deallocate(coarsepmsl) +if(allocated(ebbsl)) deallocate(ebbsl) +if(allocated(dustsl)) deallocate(dustsl) +if(allocated(saltsl)) deallocate(saltsl) +if(allocated(sootsl)) deallocate(sootsl) +if(allocated(wasosl)) deallocate(wasosl) +if(allocated(susosl)) deallocate(susosl) +! GTG +if(allocated(GTGSL)) deallocate(GTGSL) +if(allocated(CATSL)) deallocate(CATSL) +if(allocated(MWTSL)) deallocate(MWTSL) +! HAFS winds and gust factor +if(allocated(WS850)) deallocate(WS850) +if(allocated(WS950)) deallocate(WS950) +if(allocated(GUSTCONV)) deallocate(GUSTCONV) ! END OF ROUTINE. ! RETURN diff --git a/sorc/ncep_post.fd/MDL2SIGMA.f b/sorc/ncep_post.fd/MDL2SIGMA.f index 50bae24bc4..f34e6b861c 100644 --- a/sorc/ncep_post.fd/MDL2SIGMA.f +++ b/sorc/ncep_post.fd/MDL2SIGMA.f @@ -20,6 +20,8 @@ !! 11-02064 J WANG - ADD GRIB2 option !! 20-03-25 J MENG - remove grib1 !! 21-03-11 B Cui - change local arrays to dimension (im,jsta:jend) +!! 21-10-14 J MENG - 2D DECOMPOSITION +!! 2022-09-01 S Trahan - fixed bugs where extreme atmospheric conditions can cause out-of-bounds access !! !! USAGE: CALL MDL2P !! INPUT ARGUMENT LIST: @@ -62,9 +64,10 @@ SUBROUTINE MDL2SIGMA h1m12, d00, h2, rd, g, gi, h99999 use ctlblk_mod, only: jsta_2l, jend_2u, spval, lp1, jsta, jend, lm, & grib, cfld, datapd, fld_info, me, jend_m, im, & - jm, im_jm + jm, im_jm, ista, iend, ista_2l, iend_2u, ista_m, iend_m use rqstfld_mod, only: iget, lvls, id, iavblfld, lvlsxml use gridspec_mod, only :gridtype + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -80,14 +83,14 @@ SUBROUTINE MDL2SIGMA LOGICAL READTHK LOGICAL IOOMG,IOALL LOGICAL DONEFSL1,TSLDONE - real, dimension(im,jsta_2l:jend_2u) :: FSL, TSL, QSL, OSL, USL, VSL, Q2SL, & + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: FSL, TSL, QSL, OSL, USL, VSL, Q2SL, & FSL1, CFRSIG, EGRID1, EGRID2 REAL GRID1(IM,JM) - real, dimension(im,jsta_2l:jend_2u) :: grid2 + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: grid2 REAL SIGO(LSIG+1),DSIGO(LSIG),ASIGO(LSIG) ! - INTEGER,dimension(im,jsta_2l:jend_2u) :: NL1X,NL1XF + INTEGER,dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: NL1X,NL1XF ! ! !--- Definition of the following 2D (horizontal) dummy variables @@ -98,7 +101,7 @@ SUBROUTINE MDL2SIGMA ! QR1 - rain mixing ratio ! QS1 - snow mixing ratio ! - real, dimension(im,jsta_2l:jend_2u) :: C1D, QW1, QI1, QR1, QS1, QG1, AKH + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: C1D, QW1, QI1, QR1, QS1, QG1, AKH ! integer I,J,L,LL,LP,LLMH,II,JJ,JJB,JJE,NHOLD real PFSIGO,APFSIGO,PSIGO,APSIGO,PNL1,PU,ZU,TU,QU,QSAT, & @@ -196,7 +199,7 @@ SUBROUTINE MDL2SIGMA END IF ! OBTAIN GEOPOTENTIAL AT 1ST LEVEL DO J=JSTA_2L,JEND_2U - DO I=1,IM + DO I=ISTA_2L,IEND_2U FSL(I,J)=SPVAL AKH(I,J)=SPVAL NL1XF(I,J)=LP1 @@ -208,7 +211,7 @@ SUBROUTINE MDL2SIGMA END DO END DO DO 167 J=JSTA,JEND - DO 167 I=1,IM + DO 167 I=ISTA_2L,IEND_2U DONEFSL1=.FALSE. PFSIGO=PTSIGO APFSIGO=LOG(PFSIGO) @@ -276,8 +279,9 @@ SUBROUTINE MDL2SIGMA AHF =D00 FAC =D00 DONEFSL1=.TRUE. - ELSEIF(T(I,J,NL1XF(I,J))0) THEN !$omp parallel do DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(FSL1(I,J)0) THEN !$omp parallel do DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=AKH(I,J) ENDDO ENDDO if(grib=="grib2" )then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(243)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif if(me==0)print*,'output Heat Diffusivity' @@ -353,7 +358,7 @@ SUBROUTINE MDL2SIGMA NHOLD=0 ! DO J=JSTA_2L,JEND_2U - DO I=1,IM + DO I=ISTA_2L,IEND_2U ! TSL(I,J)=SPVAL @@ -407,7 +412,7 @@ SUBROUTINE MDL2SIGMA !hc J=JHOLD(NN) DO 220 J=JSTA,JEND ! Moorthi on Nov 26 2014 ! DO 220 J=JSTA_2L,JEND_2U - DO 220 I=1,IM + DO 220 I=ISTA,IEND LL=NL1X(I,J) !--------------------------------------------------------------------- !*** VERTICAL INTERPOLATION OF GEOPOTENTIAL, TEMPERATURE, SPECIFIC @@ -555,7 +560,7 @@ SUBROUTINE MDL2SIGMA ! ! OBTAIN GEOPOTENTIAL AND KH ON INTERFACES DO J=JSTA_2L,JEND_2U - DO I=1,IM + DO I=ISTA_2L,IEND_2U FSL(I,J)=SPVAL AKH(I,J)=SPVAL NL1XF(I,J)=LP1 @@ -571,7 +576,7 @@ SUBROUTINE MDL2SIGMA ! ! DO J=JSTA_2L,JEND_2U DO J=JSTA,JEND ! Moorthi on 26 Nov 2014 - DO I=1,IM + DO I=ISTA,IEND DONEFSL1=.FALSE. TSLDONE=.FALSE. LLMH = NINT(LMH(I,J)) @@ -655,8 +660,9 @@ SUBROUTINE MDL2SIGMA TSLDONE=.TRUE. ! ! - ELSEIF(T(I,J,NL1XF(I,J))0)THEN !$omp parallel do DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(FSL(I,J)0) THEN !$omp parallel do DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=AKH(I,J) IF(LP==(LSIG+1))GRID1(I,J)=0.0 !! NO SLIP ASSUMTION FOR CMAQ ENDDO @@ -962,7 +1010,7 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(243)) fld_info(cfld)%lvl=LVLSXML(LP+1,IGET(243)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif if(me==0)print*,'output Heat Diffusivity' ENDIF @@ -973,7 +1021,7 @@ SUBROUTINE MDL2SIGMA IF(IGET(206)>0) THEN IF(LVLS(LP,IGET(206))>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=TSL(I,J) ENDDO ENDDO @@ -981,7 +1029,7 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(206)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(206)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -992,7 +1040,7 @@ SUBROUTINE MDL2SIGMA IF(LVLS(LP,IGET(216))>0)THEN !$omp parallel do DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND LLMH = NINT(LMH(I,J)) GRID1(I,J)=PTSIGO+ASIGO(LP)*(PINT(I,J,LLMH+1)-PTSIGO) ENDDO @@ -1001,7 +1049,7 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(216)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(216)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1011,7 +1059,7 @@ SUBROUTINE MDL2SIGMA IF(IGET(207)>0)THEN IF(LVLS(LP,IGET(207))>0)THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=QSL(I,J) ENDDO ENDDO @@ -1020,7 +1068,7 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(207)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(207)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1030,7 +1078,7 @@ SUBROUTINE MDL2SIGMA IF(IGET(210)>0)THEN IF(LVLS(LP,IGET(210))>0)THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=OSL(I,J) ENDDO ENDDO @@ -1038,7 +1086,7 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(210)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(210)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1048,7 +1096,7 @@ SUBROUTINE MDL2SIGMA IF(IGET(208)>0.OR.IGET(209)>0)THEN IF(LVLS(LP,IGET(208))>0.OR.LVLS(LP,IGET(209))>0) then DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=USL(I,J) GRID2(I,J)=VSL(I,J) ENDDO @@ -1057,11 +1105,11 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(208)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(208)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(209)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(209)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID2(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1071,7 +1119,7 @@ SUBROUTINE MDL2SIGMA IF (IGET(217)>0) THEN IF (LVLS(LP,IGET(217))>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=Q2SL(I,J) ENDDO ENDDO @@ -1079,7 +1127,7 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(217)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(217)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1089,7 +1137,7 @@ SUBROUTINE MDL2SIGMA IF (IGET(211)>0) THEN IF (LVLS(LP,IGET(211))>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=QW1(I,J) ENDDO ENDDO @@ -1097,7 +1145,7 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(211)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(211)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1107,7 +1155,7 @@ SUBROUTINE MDL2SIGMA IF (IGET(212)>0) THEN IF (LVLS(LP,IGET(212))>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=QI1(I,J) ENDDO ENDDO @@ -1115,7 +1163,7 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(212)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(212)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1124,7 +1172,7 @@ SUBROUTINE MDL2SIGMA IF (IGET(213)>0) THEN IF (LVLS(LP,IGET(213))>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=QR1(I,J) ENDDO ENDDO @@ -1132,7 +1180,7 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(213)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(213)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1141,7 +1189,7 @@ SUBROUTINE MDL2SIGMA IF (IGET(214)>0) THEN IF (LVLS(LP,IGET(214))>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=QS1(I,J) ENDDO ENDDO @@ -1149,7 +1197,7 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(214)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(214)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1158,7 +1206,7 @@ SUBROUTINE MDL2SIGMA IF (IGET(255)>0) THEN IF (LVLS(LP,IGET(255))>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=QG1(I,J) ENDDO ENDDO @@ -1166,7 +1214,7 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(255)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(255)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1175,7 +1223,7 @@ SUBROUTINE MDL2SIGMA IF (IGET(215)>0) THEN IF (LVLS(LP,IGET(215))>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=C1D(I,J) ENDDO ENDDO @@ -1183,7 +1231,7 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(215)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(215)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1192,7 +1240,7 @@ SUBROUTINE MDL2SIGMA IF (IGET(222)>0) THEN IF (LVLS(LP,IGET(222))>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=CFRSIG(I,J) ENDDO ENDDO @@ -1200,7 +1248,7 @@ SUBROUTINE MDL2SIGMA cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(222)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(222)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF diff --git a/sorc/ncep_post.fd/MDL2SIGMA2.f b/sorc/ncep_post.fd/MDL2SIGMA2.f index 1efa8da736..a02107e109 100644 --- a/sorc/ncep_post.fd/MDL2SIGMA2.f +++ b/sorc/ncep_post.fd/MDL2SIGMA2.f @@ -20,6 +20,7 @@ !! 20-03-25 J MENG - remove grib1 !! 21-03-11 B Cui - change local arrays to dimension (im,jsta:jend) !! 21-07-26 W Meng - Restrict compuatation from undefined grids +!! 21-10-14 J MENG - 2D DECOMPOSITION !! !! USAGE: CALL MDL2P !! INPUT ARGUMENT LIST: @@ -50,7 +51,8 @@ SUBROUTINE MDL2SIGMA2 use masks, only: lmh use params_mod, only: pq0, a2, a3, a4, rgamog use ctlblk_mod, only: pt, jsta_2l, jend_2u, spval, lp1, lm, jsta, jend,& - grib, cfld, datapd, fld_info, im, jm, im_jm + grib, cfld, datapd, fld_info, im, jm, im_jm, & + ista, iend, ista_2l, iend_2u use rqstfld_mod, only: iget, lvls, id, iavblfld, lvlsxml ! implicit none @@ -61,12 +63,12 @@ SUBROUTINE MDL2SIGMA2 ! LOGICAL READTHK ! REAL,dimension(im,jm) :: FSL, TSL, QSL, osl, usl, vsl, q2sl, fsl1, & - REAL,dimension(im,jsta_2l:jend_2u) :: TSL - REAL,dimension(im,jsta_2l:jend_2u) :: grid1 + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: TSL + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: grid1 REAL SIGO(LSIG+1),DSIGO(LSIG),ASIGO(LSIG) ! ! INTEGER,dimension(im,jm) :: IHOLD,JHOLD,NL1X,NL1XF - INTEGER,dimension(im,jsta_2l:jend_2u) :: NL1X + INTEGER,dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: NL1X ! ! !--- Definition of the following 2D (horizontal) dummy variables @@ -134,7 +136,7 @@ SUBROUTINE MDL2SIGMA2 NHOLD=0 ! DO J=JSTA_2L,JEND_2U - DO I=1,IM + DO I=ISTA_2L,IEND_2U ! TSL(I,J)=SPVAL @@ -175,7 +177,7 @@ SUBROUTINE MDL2SIGMA2 ! DO 220 J=JSTA,JEND ! DO 220 J=JSTA_2L,JEND_2U DO 220 J=JSTA,JEND ! Moorthi on Nov 26, 2014 - DO 220 I=1,IM + DO 220 I=ISTA,IEND LL=NL1X(I,J) !--------------------------------------------------------------------- !*** VERTICAL INTERPOLATION OF GEOPOTENTIAL, TEMPERATURE, SPECIFIC @@ -264,7 +266,7 @@ SUBROUTINE MDL2SIGMA2 IF(IGET(296)>0) THEN IF(LVLS(LP,IGET(296))>0)THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=TSL(I,J) ENDDO ENDDO @@ -272,7 +274,7 @@ SUBROUTINE MDL2SIGMA2 cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(296)) fld_info(cfld)%lvl=LVLSXML(LP,IGET(296)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF diff --git a/sorc/ncep_post.fd/MDL2STD_P.f b/sorc/ncep_post.fd/MDL2STD_P.f deleted file mode 100644 index bcb81f375e..0000000000 --- a/sorc/ncep_post.fd/MDL2STD_P.f +++ /dev/null @@ -1,582 +0,0 @@ -!> @file -! . . . -!> SUBPROGRAM: MDL2STD_P VERT INTRP OF MODEL LVLS TO STANDARD ATMOSPEHRIC PRESSURE -!! PRGRMMR: Y Mao ORG: W/NP22 DATE: Sep 2019 -!! -!! ABSTRACT: -!! ORIGINATED FROM MISCLN.f. THIS ROUTINE INTERPOLATE TO STANDARD -!! ATMOSPHERIC PRESSURE, INSTEAD OF MODEL PRESSURE -!! -!! PROGRAM HISTORY LOG: -!! 19-09-24 Y Mao - REWRITTEN FROM MISCLN.f -!! 20-05-20 J MENG - CALRH unification with NAM scheme -!! 20-11-10 J MENG - USE UPP_PHYSICS MODULE -!! 21-03-11 B Cui - change local arrays to dimension (im,jsta:jend) -!! -!! USAGE: CALL MDL2STD_P -!! INPUT ARGUMENT LIST: -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! FDLVL_UV - COMPUTE FD LEVEL WIND (AGL OR MSL). -!! FDLVL_MASS - COMPUTE FD LEVEL MASS (AGL OR MSL). -!! -!! LIBRARY: -!! COMMON - CTLBLK -!! RQSTFLD -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : IBM SP -!! - SUBROUTINE MDL2STD_P() - -! - use vrbls3d, only: pint, pmid, zmid - use vrbls3d, only: t, q, uh, vh, omga, cwm, qqw, qqi, qqr, qqs, qqg - - use vrbls3d, only: ICING_GFIP, ICING_GFIS, catedr, mwt, gtg - use ctlblk_mod, only: grib, cfld, fld_info, datapd, im, jsta, jend, jm, & - lm, htfd, spval, nfd, me,& - jsta_2l, jend_2u, MODELNAME - use rqstfld_mod, only: iget, lvls, iavblfld, lvlsxml - use grib2_module, only: pset - use upp_physics, only: CALRH - -!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! - implicit none - - real, external :: P2H, relabel - - real,dimension(im,jsta_2l:jend_2u) :: grid1 - real,dimension(im,jsta_2l:jend_2u) :: EGRID1,EGRID2,EGRID3,EGRID4 - -! - integer I,J,jj,L,ITYPE,IFD,ITYPEFDLVL(NFD) - -! Variables introduced to allow FD levels from control file - Y Mao - integer :: N,NFDCTL - REAL, allocatable :: HTFDCTL(:) - integer, allocatable :: ITYPEFDLVLCTL(:) - real, allocatable :: QIN(:,:,:,:), QFD(:,:,:,:) - character, allocatable :: QTYPE(:) - real, allocatable :: VAR3D1(:,:,:), VAR3D2(:,:,:) - - integer, parameter :: NFDMAX=50 ! Max number of fields with the same HTFDCTL - integer :: IDS(NFDMAX) ! All field IDs with the same HTFDCTL - integer :: nFDS ! How many fields with the same HTFDCTL in the control file - integer :: iID ! which field with HTFDCTL - integer :: N1, N2 -! -!****************************************************************************** -! -! START MDL2STD_P. -! - -! --------------WAFS block---------------------- -! 450 ICIP -! 480 ICSEV -! 464 EDPARM -! 465 CAT -! 466 MWTURB -! 518 HGT -! 519 TMP -! 520 UGRD -! 521 VGRD -! 522 RH -! 523 VVEL -! 524 ABSV -! 525 CLWMR=QQW+QQR+QQS+QQG+QQI - IF(IGET(450)>0 .or. IGET(480)>0 .or. & - IGET(464)>0 .or. IGET(465)>0 .or. IGET(466)>0 .or. & - IGET(518)>0 .or. IGET(519)>0 .or. IGET(520)>0 .or. & - IGET(521)>0 .or. IGET(522)>0 .or. IGET(523)>0 .or. & - IGET(524)>0 .or. IGET(525)>0) then - -! STEP 1 -- U V (POSSIBLE FOR ABSV) INTERPLOCATION - IF(IGET(520)>0 .or. IGET(521)>0 .or. IGET(524) > 0 ) THEN -! U/V are always paired, use any for HTFDCTL - iID=520 - N = IAVBLFLD(IGET(iID)) - NFDCTL=size(pset%param(N)%level) - if(allocated(ITYPEFDLVLCTL)) deallocate(ITYPEFDLVLCTL) - allocate(ITYPEFDLVLCTL(NFDCTL)) - DO IFD = 1,NFDCTL - ITYPEFDLVLCTL(IFD)=LVLS(IFD,IGET(iID)) - ENDDO - if(allocated(HTFDCTL)) deallocate(HTFDCTL) - allocate(HTFDCTL(NFDCTL)) - HTFDCTL=pset%param(N)%level - DO i = 1, NFDCTL - HTFDCTL(i)=P2H(HTFDCTL(i)/100.) - ENDDO - if(allocated(VAR3D1)) deallocate(VAR3D1) - if(allocated(VAR3D2)) deallocate(VAR3D2) - allocate(VAR3D1(IM,JSTA_2L:JEND_2U,NFDCTL)) - allocate(VAR3D2(IM,JSTA_2L:JEND_2U,NFDCTL)) - VAR3D1=SPVAL - VAR3D2=SPVAL - - call FDLVL_UV(ITYPEFDLVLCTL,NFDCTL,HTFDCTL,VAR3D1,VAR3D2) - - DO IFD = 1,NFDCTL - ! U - IF (LVLS(IFD,IGET(520)) > 0) THEN -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=VAR3D1(I,J,IFD) - ENDDO - ENDDO - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(520)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(520)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - ENDIF - ! V - IF (LVLS(IFD,IGET(521)) > 0) THEN -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=VAR3D2(I,J,IFD) - ENDDO - ENDDO - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(521)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(521)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - ENDIF - ! ABSV - IF (LVLS(IFD,IGET(524)) > 0) THEN - EGRID1=VAR3D1(1:IM,JSTA_2L:JEND_2U,IFD) - EGRID2=VAR3D2(1:IM,JSTA_2L:JEND_2U,IFD) - call CALVOR(EGRID1,EGRID2,EGRID3) -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=EGRID3(I,J) - ENDDO - ENDDO - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(524)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(524)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - ENDIF - ENDDO - - deallocate(VAR3D1) - deallocate(VAR3D2) - - ENDIF - -! STEP 2 -- MASS FIELDS INTERPOLATION EXCEPT: -! HGT(TO BE FIXED VALUES) -! RH ABSV (TO BE CACULATED) - - if(allocated(QIN)) deallocate(QIN) - if(allocated(QTYPE)) deallocate(QTYPE) - ALLOCATE(QIN(IM,JSTA:JEND,LM,NFDMAX)) - ALLOCATE(QTYPE(NFDMAX)) - -! INITIALIZE INPUTS - nFDS = 0 - IF(IGET(450) > 0) THEN - nFDS = nFDS + 1 - IDS(nFDS) = 450 - QIN(1:IM,JSTA:JEND,1:LM,nFDS)=icing_gfip(1:IM,JSTA:JEND,1:LM) - QTYPE(nFDS)="O" - end if - IF(IGET(480) > 0) THEN - nFDS = nFDS + 1 - IDS(nFDS) = 480 - QIN(1:IM,JSTA:JEND,1:LM,nFDS)=icing_gfis(1:IM,JSTA:JEND,1:LM) - QTYPE(nFDS)="O" - end if - IF(IGET(464) > 0) THEN - nFDS = nFDS + 1 - IDS(nFDS) = 464 - QIN(1:IM,JSTA:JEND,1:LM,nFDS)=gtg(1:IM,JSTA:JEND,1:LM) - QTYPE(nFDS)="O" - end if - IF(IGET(465) > 0) THEN - nFDS = nFDS + 1 - IDS(nFDS) = 465 - QIN(1:IM,JSTA:JEND,1:LM,nFDS)=catedr(1:IM,JSTA:JEND,1:LM) - QTYPE(nFDS)="O" - end if - IF(IGET(466) > 0) THEN - nFDS = nFDS + 1 - IDS(nFDS) = 466 - QIN(1:IM,JSTA:JEND,1:LM,nFDS)=mwt(1:IM,JSTA:JEND,1:LM) - QTYPE(nFDS)="O" - end if - IF(IGET(519) > 0) THEN - nFDS = nFDS + 1 - IDS(nFDS) = 519 - QIN(1:IM,JSTA:JEND,1:LM,nFDS)=T(1:IM,JSTA:JEND,1:LM) - QTYPE(nFDS)="T" - end if - IF(IGET(523) > 0) THEN - nFDS = nFDS + 1 - IDS(nFDS) = 523 - QIN(1:IM,JSTA:JEND,1:LM,nFDS)=OMGA(1:IM,JSTA:JEND,1:LM) - QTYPE(nFDS)="W" - end if - IF(IGET(525) > 0) THEN - nFDS = nFDS + 1 - IDS(nFDS) = 525 - QIN(1:IM,JSTA:JEND,1:LM,nFDS)=QQW(1:IM,JSTA:JEND,1:LM)+ & - QQR(1:IM,JSTA:JEND,1:LM)+ & - QQS(1:IM,JSTA:JEND,1:LM)+ & - QQG(1:IM,JSTA:JEND,1:LM)+ & - QQI(1:IM,JSTA:JEND,1:LM) - QTYPE(nFDS)="C" - end if - -! FOR WAFS, ALL LEVLES OF DIFFERENT VARIABLES ARE THE SAME, USE ANY - iID=IDS(1) - N = IAVBLFLD(IGET(iID)) - NFDCTL=size(pset%param(N)%level) - if(allocated(ITYPEFDLVLCTL)) deallocate(ITYPEFDLVLCTL) - allocate(ITYPEFDLVLCTL(NFDCTL)) - DO IFD = 1,NFDCTL - ITYPEFDLVLCTL(IFD)=LVLS(IFD,IGET(iID)) - ENDDO - if(allocated(HTFDCTL)) deallocate(HTFDCTL) - allocate(HTFDCTL(NFDCTL)) - HTFDCTL=pset%param(N)%level - DO i = 1, NFDCTL - HTFDCTL(i)=P2H(HTFDCTL(i)/100.) - ENDDO - - if(allocated(QFD)) deallocate(QFD) - ALLOCATE(QFD(IM,JSTA:JEND,NFDCTL,nFDS)) - QFD=SPVAL - - call FDLVL_MASS(ITYPEFDLVLCTL,NFDCTL,pset%param(N)%level,HTFDCTL,nFDS,QIN,QTYPE,QFD) - -! Adjust values before output - N1 = -1 - DO N=1,nFDS - iID=IDS(N) - -! Icing Potential - if(iID==450) then - N1=N - DO IFD = 1,NFDCTL - DO J=JSTA,JEND - DO I=1,IM - if(QFD(I,J,IFD,N) < SPVAL) then - QFD(I,J,IFD,N)=max(0.0,QFD(I,J,IFD,N)) - QFD(I,J,IFD,N)=min(1.0,QFD(I,J,IFD,N)) - endif - ENDDO - ENDDO - ENDDO - endif - - - if(iID==525) then - N1=N - DO IFD = 1,NFDCTL - DO J=JSTA,JEND - DO I=1,IM - if(QFD(I,J,IFD,N) < SPVAL) then - QFD(I,J,IFD,N)=max(0.0,QFD(I,J,IFD,N)) - endif - ENDDO - ENDDO - ENDDO - endif - -! Icing severity categories -! 0 = none (0, 0.08) -! 1 = trace [0.08, 0.21] -! 2 = light (0.21, 0.37] -! 3 = moderate (0.37, 0.67] -! 4 = severe (0.67, 1] -! http://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_table4-207.shtml - if(iID==480) then - DO IFD = 1,NFDCTL - DO J=JSTA,JEND - DO I=1,IM - if(N1 > 0) then - ! Icing severity is 0 when icing potential is too small - if(QFD(I,J,IFD,N1) < 0.001) QFD(I,J,IFD,N)=0. - endif - if(QFD(I,J,IFD,N) == SPVAL) cycle - if (QFD(I,J,IFD,N) < 0.08) then - QFD(I,J,IFD,N) = 0.0 - elseif (QFD(I,J,IFD,N) <= 0.21) then - QFD(I,J,IFD,N) = 1. - else if(QFD(I,J,IFD,N) <= 0.37) then - QFD(I,J,IFD,N) = 2.0 - else if(QFD(I,J,IFD,N) <= 0.67) then - QFD(I,J,IFD,N) = 3.0 - else - QFD(I,J,IFD,N) = 4.0 - endif - ENDDO - ENDDO - ENDDO - endif - -! GTG turbulence: EDRPARM, CAT, MWTURB - if(iID==464 .or. iID==465 .or. iID==466) then - DO IFD = 1,NFDCTL - DO J=JSTA,JEND - DO I=1,IM - if(QFD(I,J,IFD,N) < SPVAL) then - QFD(I,J,IFD,N)=max(0.0,QFD(I,J,IFD,N)) - QFD(I,J,IFD,N)=min(1.0,QFD(I,J,IFD,N)) - endif - ENDDO - ENDDO - ENDDO - endif - - ENDDO - -! Output - DO N=1,nFDS - iID=IDS(N) - DO IFD = 1,NFDCTL - IF (LVLS(IFD,IGET(iID)) > 0) THEN -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=QFD(I,J,IFD,N) - ENDDO - ENDDO - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(iID)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(iID)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - ENDIF - ENDDO - ENDDO - - DEALLOCATE(QIN,QFD) - DEALLOCATE(QTYPE) - -! STEP 3 - MASS FIELDS CALCULATION -! HGT(TO BE FIXED VALUES) -! RH ABSV (TO BE CACULATED) - ! HGT - IF(IGET(518) > 0) THEN - iID=518 - N = IAVBLFLD(IGET(iID)) - NFDCTL=size(pset%param(N)%level) - if(allocated(HTFDCTL)) deallocate(HTFDCTL) - allocate(HTFDCTL(NFDCTL)) - HTFDCTL=pset%param(N)%level - DO i = 1, NFDCTL - HTFDCTL(i)=P2H(HTFDCTL(i)/100.) - ENDDO - - DO IFD = 1,NFDCTL - IF (LVLS(IFD,IGET(iID)) > 0) THEN -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=HTFDCTL(IFD) - ENDDO - ENDDO - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(iID)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(iID)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - ENDIF - ENDDO - ENDIF - - ! RH - IF(IGET(522) > 0) THEN - iID=522 - N = IAVBLFLD(IGET(iID)) - NFDCTL=size(pset%param(N)%level) - if(allocated(ITYPEFDLVLCTL)) deallocate(ITYPEFDLVLCTL) - allocate(ITYPEFDLVLCTL(NFDCTL)) - DO IFD = 1,NFDCTL - ITYPEFDLVLCTL(IFD)=LVLS(IFD,IGET(iID)) - ENDDO - if(allocated(HTFDCTL)) deallocate(HTFDCTL) - allocate(HTFDCTL(NFDCTL)) - HTFDCTL=pset%param(N)%level - DO i = 1, NFDCTL - HTFDCTL(i)=P2H(HTFDCTL(i)/100.) - ENDDO - - if(allocated(QIN)) deallocate(QIN) - if(allocated(QTYPE)) deallocate(QTYPE) - ALLOCATE(QIN(IM,JSTA:JEND,LM,2)) - ALLOCATE(QTYPE(2)) - QIN(1:IM,JSTA:JEND,1:LM,1)=T(1:IM,JSTA:JEND,1:LM) - QIN(1:IM,JSTA:JEND,1:LM,2)=Q(1:IM,JSTA:JEND,1:LM) - QTYPE(1)="T" - QTYPE(2)="Q" - - if(allocated(QFD)) deallocate(QFD) - ALLOCATE(QFD(IM,JSTA:JEND,NFDCTL,2)) - QFD=SPVAL - - print *, "wafs levels",pset%param(N)%level - call FDLVL_MASS(ITYPEFDLVLCTL,NFDCTL,pset%param(N)%level,HTFDCTL,2,QIN,QTYPE,QFD) - - HTFDCTL=pset%param(N)%level ! Save back to pressure - - DO IFD = 1,NFDCTL - IF (LVLS(IFD,IGET(iID)) > 0) THEN -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - EGRID2(I,J) = HTFDCTL(IFD) ! P - ENDDO - ENDDO - - EGRID3(1:IM,JSTA:JEND)=QFD(1:IM,JSTA:JEND,IFD,1) ! T - EGRID4(1:IM,JSTA:JEND)=QFD(1:IM,JSTA:JEND,IFD,2) ! Q - EGRID1 = SPVAL - - CALL CALRH(EGRID2(1,jsta),EGRID3(1,jsta),EGRID4(1,jsta),EGRID1(1,jsta)) - -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - IF(EGRID1(I,J) < SPVAL) THEN - GRID1(I,J) = EGRID1(I,J)*100. - ELSE - GRID1(I,J) = EGRID1(I,J) - ENDIF - ENDDO - ENDDO - - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(iID)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(iID)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - ENDIF - ENDDO - deallocate(QIN,QFD) - deallocate(QTYPE) - ENDIF - - - ! Relabel the pressure level to reference levels -! IDS = 0 - IDS = (/ 450,480,464,465,466,518,519,520,521,522,523,524,525,(0,I=14,50) /) - do i = 1, NFDMAX - iID=IDS(i) - if(iID == 0) exit - N = IAVBLFLD(IGET(iID)) - NFDCTL=size(pset%param(N)%level) - do j = 1, NFDCTL - pset%param(N)%level(j) = relabel(pset%param(N)%level(j)) - end do - end do - - ENDIF - -! -! END OF ROUTINE. -! - RETURN - END - - FUNCTION P2H(p) - implicit none - real, intent(in) :: p - real :: P2H -! To convert pressure levels (hPa) to geopotantial heights -! Uses ICAO standard atmosphere parameters as defined here: -! https://www.nen.nl/pdfpreview/preview_29424.pdf - real, parameter :: lapse = 0.0065 - real, parameter :: surf_temp = 288.15 - real, parameter :: gravity = 9.80665 - real, parameter :: moles_dry_air = 0.02896442 - real, parameter :: gas_const = 8.31432 - real, parameter :: surf_pres = 1013.25 - real, parameter :: power_const = (gravity * moles_dry_air) & - / (gas_const * lapse) - - P2H = (surf_temp/lapse)*(1-(p/surf_pres)**(1/power_const)) - END - - function relabel(p) - implicit none - real, intent(in) :: p - real :: relabel - relabel=p - if(p == 10040.) relabel=10000 - if(p == 12770.) relabel=12500 - if(p == 14750.) relabel=15000 - if(p == 17870.) relabel=17500 - if(p == 19680.) relabel=20000 - if(p == 22730.) relabel=22500 - if(p == 27450.) relabel=27500 - if(p == 30090.) relabel=30000 - if(p == 34430.) relabel=35000 - if(p == 39270.) relabel=40000 - if(p == 44650.) relabel=45000 - if(p == 50600.) relabel=50000 - if(p == 59520.) relabel=60000 - if(p == 69680.) relabel=70000 - if(p == 75260.) relabel=75000 - if(p == 81200.) relabel=80000 - if(p == 84310.) relabel=85000 - END diff --git a/sorc/ncep_post.fd/MDL2THANDPV.f b/sorc/ncep_post.fd/MDL2THANDPV.f index bc5d6efefe..2f6517dbce 100644 --- a/sorc/ncep_post.fd/MDL2THANDPV.f +++ b/sorc/ncep_post.fd/MDL2THANDPV.f @@ -1,44 +1,32 @@ !> @file -! -!> SUBPROGRAM: MDL2THANDPV VERT INTRP OF MODEL LVLS TO ISENTROPIC AND PV -!! PRGRMMR: CHUANG ORG: W/NP22 DATE: 07-03-26 -!! -!! ABSTRACT: -!! FOR MOST APPLICATIONS THIS ROUTINE IS THE WORKHORSE -!! OF THE POST PROCESSOR. IN A NUTSHELL IT INTERPOLATES -!! DATA FROM MODEL TO THETA AND PV SURFACES. -!! -!! PROGRAM HISTORY -!! 11-02-06 J. WANG ADD GRIB2 OPTION -!! 14-03-06 S. Moorthi - updated for threading and some optimization -!! 16-12-19 G.P. Lou - Added A-grid regional models -!! 20-03-25 J MENG - remove grib1 -!! 20-03-25 J MENG - remove grib1 -!! 20-11-10 J MENG - USE UPP_MATH and UPP_PHYSICS MODULES -!! 21-03-11 B Cui - change local arrays to dimension (im,jsta:jend) -!! -!! -!! USAGE: CALL MDL2THANDPV -!! INPUT ARGUMENT LIST: -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! PVETC - -!! P2TH - -!! P2PV - -!! COMMON - CTLBLK -!! RQSTFLD -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : IBM SP -!! +!> @brief mdl2thandpv() vertical interpolation of model levels to isentropic and PV levels. +!> +!> For most applications this routine is the workhorse +!> of the post processor. In a nutshell it interpolates +!> data from model to THETA and PV surfaces. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2007-03-26 | Chuang | Initial +!> 2011-02-06 | J. Wang | Add GRIB2 Option +!> 2014-03-06 | S. Moorthi | Updated for threading and some optimization +!> 2016-12-19 | G.P. Lou | Added A-grid regional models +!> 2020-03-25 | J Meng | Remove grib1 +!> 2020-03-25 | J Meng | Remove grib1 +!> 2020-11-10 | J Meng | Use UPP_MATH and UPP_PHYSICS Modules +!> 2021-03-11 | B Cui | Change local arrays to dimension (im,jsta:jend) +!> 2021-10-26 | J MENG | 2D DECOMPOSITION +!> +!> @author Chuang W/NP22 @date 2007-03-26 +!----------------------------------------------------------------------------------------------------- +!> mdl2thandpv() vertical interpolation of model levels to isentropic and potential vorticity levels. +!> +!> @param[in] kth integer Number of isentropic levels. +!> @param[in] kpv integer Number of potential vorticity levels. +!> @param[in] th real (kth) Isentropic levels (K). +!> @param[in] pv real (kpv) Potential vorticity (in PV units: 10**-6*K*m**2/kg/s). +!> SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) ! @@ -48,12 +36,14 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) use masks, only: gdlat, gdlon, dx, dy use physcons_post, only: con_eps, con_epsm1 use params_mod, only: dtr, small, erad, d608, rhmin - use CTLBLK_mod, only: spval, lm, jsta_2l, jend_2u, jsta_2l, grib, cfld, datapd, fld_info,& - im, jm, jsta, jend, jsta_m, jend_m, modelname, global,gdsdegr,me + use CTLBLK_mod, only: spval, lm, jsta_2l, jend_2u, grib, cfld, datapd, fld_info,& + im, jm, jsta, jend, jsta_m, jend_m, modelname, global,gdsdegr,me,& + ista, iend, ista_m, iend_m, ista_2l, iend_2u use RQSTFLD_mod, only: iget, lvls, id, iavblfld, lvlsxml use gridspec_mod, only: gridtype,dyval use upp_physics, only: FPVSNEW use upp_math, only: DVDXDUDY, DDVDX, DDUDY, UUAVG, h2u + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -61,7 +51,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) ! integer,intent(in) :: kth, kpv real, intent(in) :: th(kth), pv(kpv) - real, dimension(im,jsta:jend) :: grid1, grid2 + real, dimension(ista:iend,jsta:jend) :: grid1, grid2 real, dimension(kpv) :: pvpt, pvpb LOGICAL IOOMG,IOALL @@ -72,11 +62,14 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) , DUM1D9(:), DUM1D10(:),DUM1D11(:) & , DUM1D12(:),DUM1D13(:),DUM1D14(:) ! - real, dimension(IM,JSTA:JEND,KTH) :: UTH, VTH, HMTH, TTH, PVTH, & + real, dimension(ISTA:IEND,JSTA:JEND,KTH) :: UTH, VTH, HMTH, TTH, PVTH, & SIGMATH, RHTH, OTH - real, dimension(IM,JSTA:JEND,KPV) :: UPV, VPV, HPV, TPV, PPV, SPV + real, dimension(ISTA:IEND,JSTA:JEND,KPV) :: UPV, VPV, HPV, TPV, PPV, SPV + real, dimension(IM,2) :: GLATPOLES, COSLPOLES, PVPOLES + real, dimension(IM,2,LM) :: UPOLES, TPOLES, PPOLES + real, dimension(IM,JSTA:JEND) :: COSLTEMP, PVTEMP ! - real, allocatable :: wrk1(:,:), wrk2(:,:), wrk3(:,:), wrk4(:,:), cosl(:,:) + real, allocatable :: wrk1(:,:), wrk2(:,:), wrk3(:,:), wrk4(:,:), cosl(:,:), dum2d(:,:) real, allocatable :: tuv(:,:,:),pmiduv(:,:,:) ! integer, dimension(im) :: iw, ie @@ -88,7 +81,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) !****************************************************************************** ! ! START MDL2TH. -! +! ! SET TOTAL NUMBER OF POINTS ON OUTPUT GRID. ! !--------------------------------------------------------------- @@ -119,7 +112,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) do k=1,kth !$omp parallel do private(i,j) do j=jsta,jend - do i=1,im + do i=ista,iend UTH(i,j,k) = SPVAL VTH(i,j,k) = SPVAL HMTH(i,j,k) = SPVAL @@ -134,7 +127,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) do k=1,kpv !$omp parallel do private(i,j) do j=jsta,jend - do i=1,im + do i=ista,iend UPV(i,j,k) = SPVAL VPV(i,j,k) = SPVAL HPV(i,j,k) = SPVAL @@ -151,20 +144,24 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) ALLOCATE(DUM1D14(LM)) ! DO L=1,LM - CALL EXCH(PMID(1:IM,JSTA_2L:JEND_2U,L)) - CALL EXCH(T(1:IM,JSTA_2L:JEND_2U,L)) - CALL EXCH(UH(1:IM,JSTA_2L:JEND_2U,L)) + CALL EXCH(PMID(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L)) + CALL EXCH(T(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L)) + CALL EXCH(UH(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L)) + CALL EXCH(VH(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L)) END DO - CALL EXCH(GDLAT(1,JSTA_2L)) + CALL EXCH(GDLAT(ISTA_2L,JSTA_2L)) + CALL EXCH(GDLON(ISTA_2L,JSTA_2L)) ! print *,' JSTA_2L=',JSTA_2L,' JSTA=',JSTA_2L,' JEND_2U=', & ! &JEND_2U,' JEND=',JEND,' IM=',IM ! print *,' GDLATa=',gdlat(1,:) ! print *,' GDLATb=',gdlat(im,:) ! - allocate (wrk1(im,jsta:jend), wrk2(im,jsta:jend), & - & wrk3(im,jsta:jend), cosl(im,jsta_2l:jend_2u)) - allocate (wrk4(im,jsta:jend)) + allocate (wrk1(ista:iend,jsta:jend), wrk2(ista:iend,jsta:jend), & + & wrk3(ista:iend,jsta:jend), cosl(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate (dum2d(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate (wrk4(ista:iend,jsta:jend)) + imb2 = im /2 eradi = 1.0 / erad @@ -175,12 +172,12 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) ie(i) = i + 1 iw(i) = i - 1 enddo - iw(1) = im - ie(im) = 1 +! iw(1) = im +! ie(im) = 1 ! !$omp parallel do private(i,j,ip1,im1) DO J=JSTA,JEND - do i=1,im + do i=ISTA,IEND ip1 = ie(i) im1 = iw(i) cosl(i,j) = cos(gdlat(i,j)*dtr) @@ -197,27 +194,31 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) wrk4(i,j) = wrk1(i,j) * wrk2(i,j) ! 1/dx enddo enddo -! CALL EXCH(cosl(1,JSTA_2L)) CALL EXCH(cosl) + + call fullpole(cosl,coslpoles) + call fullpole(gdlat(ista_2l:iend_2u,jsta_2l:jend_2u),glatpoles) !$omp parallel do private(i,j,ii,tem) DO J=JSTA,JEND if (j == 1) then - do i=1,im + do i=ISTA,IEND ii = i + imb2 if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J+1)-GDLAT(II,J))*DTR) !1/dphi + ! wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J+1)-GDLAT(II,J))*DTR) !1/dphi + wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J+1)-GLATPOLES(II,1))*DTR) !1/dphi enddo elseif (j == JM) then - do i=1,im + do i=ISTA,IEND ii = i + imb2 if (ii > im) ii = ii - im - wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J-1)+GDLAT(II,J))*DTR) !1/dphi + ! wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J-1)+GDLAT(II,J))*DTR) !1/dphi + wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J-1)+GLATPOLES(II,2))*DTR) !1/dphi enddo else !print *,' j=',j,' GDLATJm1=',gdlat(:,j-1) !print *,' j=',j,' GDLATJp1=',gdlat(:,j+1) - do i=1,im + do i=ISTA,IEND tem = GDLAT(I,J-1) - GDLAT(I,J+1) if (abs(tem) > small) then wrk3(i,j) = 1.0 / (tem*DTR) !1/dphi @@ -232,7 +233,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) else !!global? !$omp parallel do private(i,j) DO J=JSTA_m,Jend_m - DO I=2,im-1 + DO I=ISTA_M,IEND_M wrk2(i,j) = 0.5 / DX(I,J) wrk3(i,j) = 0.5 / DY(I,J) END DO @@ -241,20 +242,26 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) ! need to put T and P on V points for computing dp/dx for e grid IF(GRIDTYPE == 'E')THEN - allocate(tuv(1:im,jsta_2l:jend_2u,lm)) - allocate(pmiduv(1:im,jsta_2l:jend_2u,lm)) + allocate(tuv(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + allocate(pmiduv(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) do l=1,lm - call h2u(t(1:im,jsta_2l:jend_2u,l),tuv(1:im,jsta_2l:jend_2u,l)) - call h2u(pmid(1:im,jsta_2l:jend_2u,l),pmiduv(1:im,jsta_2l:jend_2u,l)) + call h2u(t(ista_2l:iend_2u,jsta_2l:jend_2u,l),tuv(ista_2l:iend_2u,jsta_2l:jend_2u,l)) + call h2u(pmid(ista_2l:iend_2u,jsta_2l:jend_2u,l),pmiduv(ista_2l:iend_2u,jsta_2l:jend_2u,l)) end do end if !add A-grid regional models IF(GRIDTYPE == 'A')THEN IF(MODELNAME == 'GFS' .or. global) THEN + + DO L=1,LM + CALL FULLPOLE(PMID(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L),PPOLES(:,:,L)) + CALL FULLPOLE( T(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L),TPOLES(:,:,L)) + CALL FULLPOLE( UH(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L),UPOLES(:,:,L)) + ENDDO !!$omp parallel do private(i,j,ip1,im1,ii,jj,l,es,dum1d1,dum1d2,dum1d3,dum1d4,dum1d5,dum1d6,dum1d14,tem) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ip1 = ie(i) im1 = iw(i) ii = i + imb2 @@ -270,10 +277,13 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) DUM1D14(L) = Q(I,J,L) * (PMID(I,J,L)+CON_EPSM1*ES)/(CON_EPS*ES) ! RH DUM1D1(L) = (PMID(ip1,J,L)- PMID(im1,J,L)) * wrk4(i,j) !dp/dx DUM1D3(L) = (T(ip1,J,L) - T(im1,J,L)) * wrk4(i,j) !dt/dx - DUM1D2(L) = (PMID(II,J,L) - PMID(I,J+1,L)) * tem !dp/dy - DUM1D4(L) = (T(II,J,L) - T(I,J+1,L)) * tem !dt/dy + ! DUM1D2(L) = (PMID(II,J,L) - PMID(I,J+1,L)) * tem !dp/dy + DUM1D2(L) = (PPOLES(II,1,L) - PMID(I,J+1,L)) * tem !dp/dy + ! DUM1D4(L) = (T(II,J,L) - T(I,J+1,L)) * tem !dt/dy + DUM1D4(L) = (TPOLES(II,1,L) - T(I,J+1,L)) * tem !dt/dy DUM1D6(L) = ((VH(ip1,J,L)-VH(im1,J,L))*wrk2(i,j) & - & + (UH(II,J,L)*COSL(II,J) & + !& ! + (UH(II,J,L)*COSL(II,J) & + & + (UPOLES(II,1,L)*COSLPOLES(II,1) & & + UH(I,J+1,L)*COSL(I,J+1))*wrk3(i,j))*wrk1(i,j) & & + F(I,J) END DO @@ -305,11 +315,14 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) DUM1D14(L) = Q(I,J,L) * (PMID(I,J,L)+CON_EPSM1*ES)/(CON_EPS*ES) ! RH DUM1D1(L) = (PMID(ip1,J,L)- PMID(im1,J,L)) * wrk4(i,j) !dp/dx DUM1D3(L) = (T(ip1,J,L) - T(im1,J,L)) * wrk4(i,j) !dt/dx - DUM1D2(L) = (PMID(I,J-1,L)-PMID(II,J,L)) * tem !dp/dy - DUM1D4(L) = (T(I,J-1,L)-T(II,J,L)) * tem !dt/dy + ! DUM1D2(L) = (PMID(I,J-1,L)-PMID(II,J,L)) * tem !dp/dy + DUM1D2(L) = (PMID(I,J-1,L)-PPOLES(II,2,L)) * tem !dp/dy + ! DUM1D4(L) = (T(I,J-1,L)-T(II,J,L)) * tem !dt/dy + DUM1D4(L) = (T(I,J-1,L)-TPOLES(II,2,L)) * tem !dt/dy DUM1D6(L) = ((VH(ip1,J,L)-VH(im1,J,L))* wrk2(i,j) & & + (UH(I,J-1,L)*COSL(I,J-1) & - & + UH(II,J,L)*COSL(II,J))*wrk3(i,j))*wrk1(i,j) & + !& ! + UH(II,J,L)*COSL(II,J))*wrk3(i,j))*wrk1(i,j) & + & + UPOLES(II,2,L)*COSLPOLES(II,2))*wrk3(i,j))*wrk1(i,j) & & + F(I,J) END DO ELSE !pole point, compute at j=jm-1 @@ -350,31 +363,11 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) END DO END IF - - IF(I==IM/2 .AND. J==JM/2)then - PRINT*,'SAMPLE PVETC INPUT ', & - 'p,dpdx,dpdy,tv,dtdx,dtdy,h,u,v,vort= ' - DO L=1,LM - print*,pmid(i,j,l),dum1d1(l),dum1d2(l),dum1d5(l) & - ,dum1d3(l),dum1d4(l),zmid(i,j,l),uh(i,j,l),vh(i,j,l) & - ,dum1d6(l) - end do - end if - CALL PVETC(LM,PMID(I,J,1:LM),DUM1D1,DUM1D2 & ,DUM1D5,DUM1D3,DUM1D4,ZMID(I,J,1:LM),UH(I,J,1:LM) & ,VH(I,J,1:LM),DUM1D6 & ,DUM1D7,DUM1D8,DUM1D9,DUM1D10,DUM1D11,DUM1D12,DUM1D13)!output - IF(I==IM/2 .AND. J==JM/2)then - PRINT*,'SAMPLE PVETC OUTPUT ' & - ,'hm,s,bvf2,pvn,theta,sigma,pvu= ' - DO L=1,LM - print*,dum1d7(l),dum1d8(l),dum1d9(l),dum1d10(l),dum1d11(l) & - ,dum1d12(l),dum1d13(l) - end do - end if - IF((IGET(332) > 0).OR.(IGET(333) > 0).OR. & (IGET(334) > 0).OR.(IGET(335) > 0).OR. & (IGET(351) > 0).OR.(IGET(352) > 0).OR. & @@ -410,7 +403,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) DO J=JSTA_m,Jend_m JMT2=JM/2+1 TPHI=(J-JMT2)*(DYVAL/gdsdegr)*DTR - DO I=2,im-1 + DO I=ISTA_M,IEND_M ip1 = i + 1 im1 = i - 1 tem = wrk3(i,j) * eradi @@ -429,31 +422,11 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) & + F(I,J) END DO - IF(I==IM/2 .AND. J==JM/2)then - PRINT*,'SAMPLE PVETC INPUT for regional ', & - 'p,dpdx,dpdy,tv,dtdx,dtdy,h,u,v,vort ', & - 'JSTA_m,Jend_m, L= ' - DO L=1,LM - print*,pmid(i,j,l),dum1d1(l),dum1d2(l),dum1d5(l) & - ,dum1d3(l),dum1d4(l),zmid(i,j,l),uh(i,j,l),vh(i,j,l) & - ,dum1d6(l),JSTA_m,Jend_m,L - end do - end if - CALL PVETC(LM,PMID(I,J,1:LM),DUM1D1,DUM1D2 & ,DUM1D5,DUM1D3,DUM1D4,ZMID(I,J,1:LM),UH(I,J,1:LM) & ,VH(I,J,1:LM),DUM1D6 & ,DUM1D7,DUM1D8,DUM1D9,DUM1D10,DUM1D11,DUM1D12,DUM1D13)!output - IF(I==IM/2 .AND. J==JM/2)then - PRINT*,'SAMPLE PVETC OUTPUT ' & - ,'hm,s,bvf2,pvn,theta,sigma,pvu,pvort= ' - DO L=1,LM - print*,dum1d7(l),dum1d8(l),dum1d9(l),dum1d10(l),dum1d11(l) & - ,dum1d12(l),dum1d13(l),DUM1D6(l) - end do - end if - IF((IGET(332) > 0).OR.(IGET(333) > 0).OR. & (IGET(334) > 0).OR.(IGET(335) > 0).OR. & (IGET(351) > 0).OR.(IGET(352) > 0).OR. & @@ -486,14 +459,15 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) ENDIF !regional models and A-grid end here !----------------------------------------------------------------- ELSE IF (GRIDTYPE == 'B')THEN - allocate(DVDXL(1:im,jsta_m:jend_m,lm)) - allocate(DUDYL(1:im,jsta_m:jend_m,lm)) - allocate(UAVGL(1:im,jsta_m:jend_m,lm)) + allocate(DVDXL(ista_m:iend_m,jsta_m:jend_m,lm)) + allocate(DUDYL(ista_m:iend_m,jsta_m:jend_m,lm)) + allocate(UAVGL(ista_m:iend_m,jsta_m:jend_m,lm)) DO L=1,LM - CALL EXCH(VH(1:IM,JSTA_2L:JEND_2U,L)) + CALL EXCH(VH(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L)) + CALL EXCH(UH(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,L)) CALL DVDXDUDY(UH(:,:,L),VH(:,:,L)) DO J=JSTA_m,Jend_m - DO I=2,im-1 + DO I=ISTA_M,IEND_M DVDXL(I,J,L) = DDVDX(I,J) DUDYL(I,J,L) = DDUDY(I,J) UAVGL(I,J,L) = UUAVG(I,J) @@ -503,7 +477,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) DO J=JSTA_m,Jend_m JMT2=JM/2+1 TPHI=(J-JMT2)*(DYVAL/gdsdegr)*DTR - DO I=2,im-1 + DO I=ISTA_M,IEND_M ip1 = i + 1 im1 = i - 1 DO L=1,LM @@ -523,29 +497,11 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) END DO -! IF(I==IM/2 .AND. J==JM/2)then -! PRINT*,'SAMPLE PVETC INPUT ' & -! ,'p,dpdx,dpdy,tv,dtdx,dtdy,h,u,v,vort= ' -! DO L=1,LM -! print*,pmid(i,j,l),dum1d1(l),dum1d2(l),dum1d5(l) & -! ,dum1d3(l),dum1d4(l),zmid(i,j,l),uh(i,j,l),vh(i,j,l) & -! ,dum1d6(l) -! end do -! end if - CALL PVETC(LM,PMID(I,J,1:LM),DUM1D1,DUM1D2 & ,DUM1D5,DUM1D3,DUM1D4,ZMID(I,J,1:LM),UH(I,J,1:LM) & ,VH(I,J,1:LM),DUM1D6 & ,DUM1D7,DUM1D8,DUM1D9,DUM1D10,DUM1D11,DUM1D12,DUM1D13)!output -! IF(I==IM/2 .AND. J==JM/2)then -! PRINT*,'SAMPLE PVETC OUTPUT ' & -! ,'hm,s,bvf2,pvn,theta,sigma,pvu= ' -! DO L=1,LM -! print*,dum1d7(l),dum1d8(l),dum1d9(l),dum1d10(l),dum1d11(l) & -! ,dum1d12(l),dum1d13(l) -! end do -! end if IF((IGET(332)>0).OR.(IGET(333)>0).OR. & (IGET(334)>0).OR.(IGET(335)>0).OR. & (IGET(351)>0).OR.(IGET(352)>0).OR. & @@ -580,7 +536,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) TPHI = (J-JMT2)*(DYVAL/gdsdegr)*DTR IHW= - MOD(J,2) IHE = IHW + 1 - DO I=2,im-1 + DO I=ISTA_M,IEND_M ip1 = i + 1 im1 = i - 1 DO L=1,LM @@ -600,29 +556,11 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) DUM1D6(L)=DVDX-DUDY+F(I,J)+UAVG*TAN(TPHI)/ERAD !vort END DO - IF(I==IM/2 .AND. J==JM/2)then - PRINT*,'SAMPLE PVETC INPUT ' & - ,'p,dpdx,dpdy,tv,dtdx,dtdy,h,u,v,vort= ' - DO L=1,LM - print*,pmid(i,j,l),dum1d1(l),dum1d2(l),dum1d5(l) & - ,dum1d3(l),dum1d4(l),zmid(i,j,l),uh(i,j,l),vh(i,j,l) & - ,dum1d6(l) - end do - end if - CALL PVETC(LM,PMID(I,J,1:LM),DUM1D1,DUM1D2 & ,DUM1D5,DUM1D3,DUM1D4,ZMID(I,J,1:LM),UH(I,J,1:LM) & ,VH(I,J,1:LM),DUM1D6 & ,DUM1D7,DUM1D8,DUM1D9,DUM1D10,DUM1D11,DUM1D12,DUM1D13)!output - IF(I==IM/2 .AND. J==JM/2)then - PRINT*,'SAMPLE PVETC OUTPUT ' & - ,'hm,s,bvf2,pvn,theta,sigma,pvu= ' - DO L=1,LM - print*,dum1d7(l),dum1d8(l),dum1d9(l),dum1d10(l),dum1d11(l) & - ,dum1d12(l),dum1d13(l) - end do - end if IF((IGET(332) > 0).OR.(IGET(333) > 0).OR. & (IGET(334) > 0).OR.(IGET(335) > 0).OR. & (IGET(351) > 0).OR.(IGET(352) > 0).OR. & @@ -673,7 +611,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) IF(LVLS(LP,IGET(332)) > 0 .OR. LVLS(LP,IGET(333)) > 0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = UTH(I,J,LP) GRID2(I,J) = VTH(I,J,LP) ENDDO @@ -682,21 +620,23 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET(332)) fld_info(cfld)%lvl = LVLSXML(lp,IGET(332)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET(333)) fld_info(cfld)%lvl = LVLSXML(lp,IGET(333)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif @@ -731,7 +671,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) ! END IF !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = TTH(I,J,LP) ENDDO ENDDO @@ -739,11 +679,12 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) cfld = cfld + 1 fld_info(cfld)%ifld=IAVBLFLD(IGET(334)) fld_info(cfld)%lvl=LVLSXML(lp,IGET(334)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -754,14 +695,30 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) ! IF(IGET(335) > 0) THEN IF(LVLS(LP,IGET(335)) > 0)THEN - call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1:IM,JSTA:JEND) & - ,SPVAL,PVTH(1:IM,JSTA:JEND,LP)) - IF(1>=jsta .and. 1<=jend)print*,'PVTH at N POLE= ' & - ,pvth(1,1,lp),pvth(im/2,1,lp) & - ,pvth(10,10,lp),pvth(im/2,10,lp),SPVAL,grib,LP + ! call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1:IM,JSTA:JEND) & + ! ,SPVAL,PVTH(1:IM,JSTA:JEND,LP)) + ! IF(1>=jsta .and. 1<=jend)print*,'PVTH at N POLE= ' & + ! ,pvth(1,1,lp),pvth(im/2,1,lp) & + ! ,pvth(10,10,lp),pvth(im/2,10,lp),SPVAL,grib,LP + DUM2D(ISTA:IEND,JSTA:JEND)=PVTH(ISTA:IEND,JSTA:JEND,LP) + CALL EXCH(DUM2D) + CALL FULLPOLE(DUM2D,PVPOLES) + COSLTEMP=SPVAL + IF(JSTA== 1) COSLTEMP(1:IM, 1)=COSLPOLES(1:IM,1) + IF(JEND==JM) COSLTEMP(1:IM,JM)=COSLPOLES(1:IM,2) + PVTEMP=SPVAL + IF(JSTA== 1) PVTEMP(1:IM, 1)=PVPOLES(1:IM,1) + IF(JEND==JM) PVTEMP(1:IM,JM)=PVPOLES(1:IM,2) + + call poleavg(IM,JM,JSTA,JEND,SMALL,COSLTEMP(1:IM,JSTA:JEND) & + ,SPVAL,PVTEMP(1:IM,JSTA:JEND)) + + IF(JSTA== 1) PVTH(ISTA:IEND, 1,LP)=PVTEMP(ISTA:IEND, 1) + IF(JEND==JM) PVTH(ISTA:IEND,JM,LP)=PVTEMP(ISTA:IEND,JM) + !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(PVTH(I,J,LP) /= SPVAL)THEN GRID1(I,J) = PVTH(I,J,LP)*1.0E-6 ELSE @@ -773,11 +730,12 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(335)) fld_info(cfld)%lvl=LVLSXML(lp,IGET(335)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -790,7 +748,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) IF(LVLS(LP,IGET(353)) > 0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = HMTH(I,J,LP) ENDDO ENDDO @@ -798,11 +756,12 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(353)) fld_info(cfld)%lvl=LVLSXML(lp,IGET(353)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -815,7 +774,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) IF(LVLS(LP,IGET(351)) > 0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SIGMATH(I,J,LP) ENDDO ENDDO @@ -823,11 +782,12 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(351)) fld_info(cfld)%lvl=LVLSXML(lp,IGET(351)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -840,7 +800,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) IF(LVLS(LP,IGET(352)) > 0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(RHTH(I,J,LP) /= SPVAL) THEN GRID1(I,J) = 100.0 * MIN(1.,MAX(RHmin,RHTH(I,J,LP))) ELSE @@ -852,11 +812,12 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(352)) fld_info(cfld)%lvl=LVLSXML(lp,IGET(352)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -869,7 +830,7 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) IF(LVLS(LP,IGET(378)) > 0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = OTH(I,J,LP) ENDDO ENDDO @@ -877,11 +838,12 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(378)) fld_info(cfld)%lvl=LVLSXML(lp,IGET(378)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -895,11 +857,27 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) IF(IGET(336) > 0.OR.IGET(337) > 0)THEN IF(LVLS(LP,IGET(336)) > 0.OR.LVLS(LP,IGET(337)) > 0)THEN ! GFS use lon avg as one scaler value for pole point - call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1:IM,JSTA:JEND) & - ,SPVAL,VPV(1:IM,JSTA:JEND,LP)) + ! call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1:IM,JSTA:JEND) & + ! ,SPVAL,VPV(1:IM,JSTA:JEND,LP)) + DUM2D(ISTA:IEND,JSTA:JEND)=VPV(ISTA:IEND,JSTA:JEND,LP) + CALL EXCH(DUM2D) + CALL FULLPOLE(DUM2D,PVPOLES) + COSLTEMP=SPVAL + IF(JSTA== 1) COSLTEMP(1:IM, 1)=COSLPOLES(1:IM,1) + IF(JEND==JM) COSLTEMP(1:IM,JM)=COSLPOLES(1:IM,2) + PVTEMP=SPVAL + IF(JSTA== 1) PVTEMP(1:IM, 1)=PVPOLES(1:IM,1) + IF(JEND==JM) PVTEMP(1:IM,JM)=PVPOLES(1:IM,2) + + call poleavg(IM,JM,JSTA,JEND,SMALL,COSLTEMP(1:IM,JSTA:JEND) & + ,SPVAL,PVTEMP(1:IM,JSTA:JEND)) + + IF(JSTA== 1) VPV(ISTA:IEND, 1,LP)=PVTEMP(ISTA:IEND, 1) + IF(JEND==JM) VPV(ISTA:IEND,JM,LP)=PVTEMP(ISTA:IEND,JM) + !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = UPV(I,J,LP) GRID2(I,J) = VPV(I,J,LP) ENDDO @@ -908,21 +886,23 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(336)) fld_info(cfld)%lvl=LVLSXML(lp,IGET(336)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(337)) fld_info(cfld)%lvl=LVLSXML(lp,IGET(337)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif @@ -935,11 +915,27 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) IF(IGET(338) > 0)THEN IF(LVLS(LP,IGET(338)) > 0)THEN ! GFS use lon avg as one scaler value for pole point - call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1:IM,JSTA:JEND) & - ,SPVAL,TPV(1:IM,JSTA:JEND,LP)) + ! call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1:IM,JSTA:JEND) & + ! ,SPVAL,TPV(1:IM,JSTA:JEND,LP)) + DUM2D(ISTA:IEND,JSTA:JEND)=TPV(ISTA:IEND,JSTA:JEND,LP) + CALL EXCH(DUM2D) + CALL FULLPOLE(DUM2D,PVPOLES) + COSLTEMP=SPVAL + IF(JSTA== 1) COSLTEMP(1:IM, 1)=COSLPOLES(1:IM,1) + IF(JEND==JM) COSLTEMP(1:IM,JM)=COSLPOLES(1:IM,2) + PVTEMP=SPVAL + IF(JSTA== 1) PVTEMP(1:IM, 1)=PVPOLES(1:IM,1) + IF(JEND==JM) PVTEMP(1:IM,JM)=PVPOLES(1:IM,2) + + call poleavg(IM,JM,JSTA,JEND,SMALL,COSLTEMP(1:IM,JSTA:JEND) & + ,SPVAL,PVTEMP(1:IM,JSTA:JEND)) + + IF(JSTA== 1) TPV(ISTA:IEND, 1,LP)=PVTEMP(ISTA:IEND, 1) + IF(JEND==JM) TPV(ISTA:IEND,JM,LP)=PVTEMP(ISTA:IEND,JM) + !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = TPV(I,J,LP) ENDDO ENDDO @@ -947,11 +943,12 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(338)) fld_info(cfld)%lvl=LVLSXML(lp,IGET(338)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -963,11 +960,27 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) IF(IGET(339) > 0) THEN IF(LVLS(LP,IGET(339)) > 0)THEN ! GFS use lon avg as one scaler value for pole point - call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1:IM,JSTA:JEND) & - ,SPVAL,HPV(1:IM,JSTA:JEND,LP)) + ! call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1:IM,JSTA:JEND) & + ! ,SPVAL,HPV(1:IM,JSTA:JEND,LP)) + DUM2D(ISTA:IEND,JSTA:JEND)=HPV(ISTA:IEND,JSTA:JEND,LP) + CALL EXCH(DUM2D) + CALL FULLPOLE(DUM2D,PVPOLES) + COSLTEMP=SPVAL + IF(JSTA== 1) COSLTEMP(1:IM, 1)=COSLPOLES(1:IM,1) + IF(JEND==JM) COSLTEMP(1:IM,JM)=COSLPOLES(1:IM,2) + PVTEMP=SPVAL + IF(JSTA== 1) PVTEMP(1:IM, 1)=PVPOLES(1:IM,1) + IF(JEND==JM) PVTEMP(1:IM,JM)=PVPOLES(1:IM,2) + + call poleavg(IM,JM,JSTA,JEND,SMALL,COSLTEMP(1:IM,JSTA:JEND) & + ,SPVAL,PVTEMP(1:IM,JSTA:JEND)) + + IF(JSTA== 1) HPV(ISTA:IEND, 1,LP)=PVTEMP(ISTA:IEND, 1) + IF(JEND==JM) HPV(ISTA:IEND,JM,LP)=PVTEMP(ISTA:IEND,JM) + !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = HPV(I,J,LP) ENDDO ENDDO @@ -975,11 +988,12 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(339)) fld_info(cfld)%lvl=LVLSXML(lp,IGET(339)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -991,11 +1005,27 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) IF(IGET(340) > 0) THEN IF(LVLS(LP,IGET(340)) > 0)THEN ! GFS use lon avg as one scaler value for pole point - call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1:IM,JSTA:JEND) & - ,SPVAL,PPV(1:IM,JSTA:JEND,LP)) + ! call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1:IM,JSTA:JEND) & + ! ,SPVAL,PPV(1:IM,JSTA:JEND,LP)) + DUM2D(ISTA:IEND,JSTA:JEND)=PPV(ISTA:IEND,JSTA:JEND,LP) + CALL EXCH(DUM2D) + CALL FULLPOLE(DUM2D,PVPOLES) + COSLTEMP=SPVAL + IF(JSTA== 1) COSLTEMP(1:IM, 1)=COSLPOLES(1:IM,1) + IF(JEND==JM) COSLTEMP(1:IM,JM)=COSLPOLES(1:IM,2) + PVTEMP=SPVAL + IF(JSTA== 1) PVTEMP(1:IM, 1)=PVPOLES(1:IM,1) + IF(JEND==JM) PVTEMP(1:IM,JM)=PVPOLES(1:IM,2) + + call poleavg(IM,JM,JSTA,JEND,SMALL,COSLTEMP(1:IM,JSTA:JEND) & + ,SPVAL,PVTEMP(1:IM,JSTA:JEND)) + + IF(JSTA== 1) PPV(ISTA:IEND, 1,LP)=PVTEMP(ISTA:IEND, 1) + IF(JEND==JM) PPV(ISTA:IEND,JM,LP)=PVTEMP(ISTA:IEND,JM) + !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = PPV(I,J,LP) ENDDO ENDDO @@ -1003,11 +1033,12 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(340)) fld_info(cfld)%lvl=LVLSXML(lp,IGET(340)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1019,11 +1050,27 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) IF(IGET(341) > 0) THEN IF(LVLS(LP,IGET(341)) > 0)THEN ! GFS use lon avg as one scaler value for pole point - call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1:IM,JSTA:JEND) & - ,SPVAL,SPV(1:IM,JSTA:JEND,LP)) + ! call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1:IM,JSTA:JEND) & + ! ,SPVAL,SPV(1:IM,JSTA:JEND,LP)) + DUM2D(ISTA:IEND,JSTA:JEND)=SPV(ISTA:IEND,JSTA:JEND,LP) + CALL EXCH(DUM2D) + CALL FULLPOLE(DUM2D,PVPOLES) + COSLTEMP=SPVAL + IF(JSTA== 1) COSLTEMP(1:IM, 1)=COSLPOLES(1:IM,1) + IF(JEND==JM) COSLTEMP(1:IM,JM)=COSLPOLES(1:IM,2) + PVTEMP=SPVAL + IF(JSTA== 1) PVTEMP(1:IM, 1)=PVPOLES(1:IM,1) + IF(JEND==JM) PVTEMP(1:IM,JM)=PVPOLES(1:IM,2) + + call poleavg(IM,JM,JSTA,JEND,SMALL,COSLTEMP(1:IM,JSTA:JEND) & + ,SPVAL,PVTEMP(1:IM,JSTA:JEND)) + + IF(JSTA== 1) SPV(ISTA:IEND, 1,LP)=PVTEMP(ISTA:IEND, 1) + IF(JEND==JM) SPV(ISTA:IEND,JM,LP)=PVTEMP(ISTA:IEND,JM) + !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SPV(I,J,LP) ENDDO ENDDO @@ -1031,11 +1078,12 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(341)) fld_info(cfld)%lvl=LVLSXML(lp,IGET(341)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1046,10 +1094,9 @@ SUBROUTINE MDL2THANDPV(kth,kpv,th,pv) DEALLOCATE(DUM1D1,DUM1D2,DUM1D3,DUM1D4,DUM1D5,DUM1D6,DUM1D7, & DUM1D8,DUM1D9,DUM1D10,DUM1D11,DUM1D12,DUM1D13, & - DUM1D14,wrk1, wrk2, wrk3, wrk4, cosl) + DUM1D14,wrk1, wrk2, wrk3, wrk4, cosl, dum2d) END IF ! end of selection for isentropic and constant PV fields - if(me==0)print *,'end of MDL2THandpv' ! ! ! END OF ROUTINE. diff --git a/sorc/ncep_post.fd/MDLFLD.f b/sorc/ncep_post.fd/MDLFLD.f index b86e9131ab..3207552bf6 100644 --- a/sorc/ncep_post.fd/MDLFLD.f +++ b/sorc/ncep_post.fd/MDLFLD.f @@ -43,6 +43,36 @@ !! 20-11-10 J MENG - USE UPP_MATH MODULE !! 20-11-10 J MENG - USE UPP_PHYSICS MODULE !! 21-04-01 J MENG - COMPUTATION ON DEFINED POINTS ONLY +!! 21-07-07 J MENG - 2D DECOMPOSITION +!! 22-05-25 Y Mao - Add WAFS icing/turbulence on pressure levels +!! 22-09-22 L Zhang - ADD NO3 and NH4 output for UFS-Aerosols model +!! 22-10-20 W Meng - Bug fix for cloud fraction and vertically integrated liquid +!! 22-11-08 W Meng - Output hourly averaged PM2.5 and O3 for AQM model only (aqf_on) +!! 22-11-16 E James - Adding dust from RRFS +!! 23-02-10 E James - Adding an extra IGET value to if statement for NGMSLP calculation +!! 23-02-23 E James - Adding coarse PM from RRFS +!! 23-03-03 S Trahan - Avoid out-of-bounds access in U2H & V2H by using USTORE & VSTORE with halo bounds +!! 23-04-04 | Li(Kate Zhang) |Add namelist optoin for CCPP-Chem (UFS-Chem) +!! 23-06-26 | W Meng | Output composite radar reflectivity when GFS uses Thompson MP +!! 23-08-16 | Y Mao | For gtg_algo, add tke as an input and cit as an output +!! 23-08-16 | Y Mao | For GTG, replace iget(ID) with namelist option 'gtg_on'. +!! 23-10-04 | W Meng | Read 3D radar reflectivity from model when GFS use Thmopson MP +!! 23-10-17 | E James| Include hail hydrometeors in parm 769 computation when available +!! 24-01-07 | Y Mao | Add EDPARM IDs to the condition to call gtg_algo() +!! 24-01-24 | H Lin | switching GTG max (gtg) to gtgx3 from gtgx2 per gtg_algo() call +!! 24-02-20 | J Kenyon | Apply the PBLHGUST-related calculations to RRFS +!! 24-04-23 | E James| Adding smoke emissions (ebb) from RRFS +!! 24-10-07 | H Lin | Change inputs for gtg_algo from averaged (sfcshx, sfclhx) to instantaenous (twbs, qwbs) +!! 25-01-13 | J Kenyon | Add graupel number concentration (QQNG) +!! 25-04-22 | J Kenyon | Remove parameter 770 (GSL's reflectivity-derived VIL), since a functionally identical +!! | | calculation is available via paramater 581. +!! 25-06-10 | J Kenyon | Adding descriptive comments for parameter 769. This parameter previously had the +!! | shortname "GSD_VIL_ON_ENTIRE_ATMOS" (hydrometeor-based VIL), but is now +!! | "TCOLP_ON_ENTIRE_ATMOS". +!! 25-06-16 | J Kenyon | Updated calls to CALPBL; these now specify the PBL height formulation to +!! | apply (RI or THV). Restricted the smoothing of PBL height (for gust calculations) to +!! | RAP/HRRR-era applications only. Additionally, added several descriptive in-code comments. +!! 25-07-15 | J Duda | Read/process hourly-maximum composite reflectivity !! !! USAGE: CALL MDLFLD !! INPUT ARGUMENT LIST: @@ -80,27 +110,29 @@ SUBROUTINE MDLFLD ! - use vrbls4d, only: dust, salt, suso, waso, soot, smoke + use vrbls4d, only: dust, salt, suso, waso, soot, no3, nh4, smoke, fv3dust,& + coarsepm, ebb use vrbls3d, only: zmid, t, pmid, q, cwm, f_ice, f_rain, f_rimef, qqw, qqi,& - qqr, qqs, cfr, cfr_raw, dbz, dbzr, dbzi, dbzc, qqw, nlice, nrain, qqg, zint, qqni,& - qqnr, qqnw, qqnwfa, qqnifa, uh, vh, mcvg, omga, wh, q2, ttnd, rswtt, & + qqr, qqs, cfr, cfr_raw, dbz, dbzr, dbzi, dbzc, qqw, nlice, nrain, qqg, qqh, zint,& + qqni, qqnr, qqng, qqnw, qqnwfa, qqnifa, uh, vh, mcvg, omga, wh, q2, ttnd, rswtt, & rlwtt, train, tcucn, o3, rhomid, dpres, el_pbl, pint, icing_gfip, icing_gfis, & - catedr,mwt,gtg, REF_10CM, pmtf, ozcon + catedr,mwt,gtg,cit, REF_10CM, avgpmtf, avgozcon - use vrbls2d, only: slp, hbot, htop, cnvcfr, cprate, cnvcfr, sfcshx,sfclhx,ustar,z0,& + use vrbls2d, only: slp, hbot, htop, cnvcfr, cprate, cnvcfr, twbs, qwbs,ustar,z0,& sr, prec, vis, czen, pblh, pblhgust, u10, v10, avgprec, avgcprate, & - REF1KM_10CM,REF4KM_10CM,REFC_10CM,REFD_MAX + REF1KM_10CM,REF4KM_10CM,REFC_10CM,REFD_MAX,max_compref use masks, only: lmh, gdlat, gdlon,sm,sice,dx,dy use params_mod, only: rd, gi, g, rog, h1, tfrz, d00, dbzmin, d608, small,& h100, h1m12, h99999,pi,ERAD use pmicrph_mod, only: r1, const1r, qr0, delqr0, const2r, ron, topr, son,& tops, dsnow, drain,const_ng1, const_ng2, gon, topg, dgraupel use ctlblk_mod, only: jsta_2l, jend_2u, lm, jsta, jend, grib, cfld, datapd,& - fld_info, modelname, imp_physics, dtq2, spval, icount_calmict,& - me, dt, avrain, theat, ifhr, ifmin, avcnvc, lp1, im, jm, aqfcmaq_on + fld_info, modelname, submodelname, imp_physics, dtq2, spval, icount_calmict,& + me, dt, avrain, theat, ifhr, ifmin, avcnvc, lp1, im, jm, & + ista, iend, ista_2l, iend_2u, aqf_on, gocart_on, gccpp_on, nasa_on, gtg_on use rqstfld_mod, only: iget, id, lvls, iavblfld, lvlsxml use gridspec_mod, only: gridtype,maptype,dxval - use upp_physics, only: CALRH, CALCAPE + use upp_physics, only: CALRH, CALCAPE, CALVOR use upp_math, only: H2U, H2V, U2H, V2H ! @@ -120,7 +152,7 @@ SUBROUTINE MDLFLD REAL CC(10), PPT(10) DATA CC / 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0 / DATA PPT/ 0., .14, .31, .70, 1.6, 3.4, 7.7, 17., 38., 85. / - INTEGER, dimension(im,jsta_2l:jend_2u) :: ICBOT, ICTOP, LPBL + INTEGER, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: ICBOT, ICTOP, LPBL ! ! DECLARE VARIABLES. @@ -129,7 +161,7 @@ SUBROUTINE MDLFLD LOGICAL NMM_GFSmicro LOGiCAL Model_Radar real, dimension(im,jm) :: GRID1, GRID2 - real, dimension(im,jsta_2l:jend_2u) :: EGRID1, EGRID2, EGRID3, EGRID4, EGRID5,& + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: EGRID1, EGRID2, EGRID3, EGRID4, EGRID5,& EL0, P1D, T1D, Q1D, C1D, & FI1D, FR1D, FS1D, QW1, QI1, & QR1, QS1, CUREFL_S, & @@ -137,10 +169,10 @@ SUBROUTINE MDLFLD DBZI1, DBZC1, EGRID6, EGRID7, NLICE1, & QI, QINT, TT, PPP, QV, & QCD, QICE1, QRAIN1, QSNO1, refl, & - QG1, refl1km, refl4km, RH, GUST, NRAIN1,Zm10c + QG1, refl1km, refl4km, RH, GUST, NRAIN1,Zm10c, & + USTORE, VSTORE ! T700, TH700 -! - REAL, ALLOCATABLE :: EL(:,:,:),RICHNO(:,:,:) ,PBLRI(:,:), PBLREGIME(:,:) + REAL, ALLOCATABLE :: EL(:,:,:),RICHNO(:,:,:),PBLRI(:,:),PBLTHV(:,:),PBLREGIME(:,:) ! integer I,J,L,Lctop,LLMH,IICE,LL,II,JJ,IFINCR,ITHEAT,NC,NMOD,LLL & ,iz1km,iz4km, LCOUNT, HCOUNT, ITYPE, item @@ -160,8 +192,8 @@ SUBROUTINE MDLFLD integer ks,nsmooth REAL SDUMMY(IM,2),dxm ! added to calculate cape and cin for icing - real, dimension(im,jsta:jend) :: dummy, cape, cin - integer idummy(IM,jsta:jend) + real, dimension(ista:iend,jsta:jend) :: dummy, cape, cin + integer idummy(ista:iend,jsta:jend) real, PARAMETER :: ZSL=0.0, TAUCR=RD*GI*290.66, CONST=0.005*G/RD, GORD=G/RD logical, parameter :: debugprint = .false. @@ -181,12 +213,21 @@ SUBROUTINE MDLFLD ! ! ALLOCATE LOCAL ARRAYS ! +! Initialize halo regions of USTORE & VSTORE for cases when the halo extends +! beyond the computational domain boundary. +!$OMP PARALLEL DO COLLAPSE(2) + DO J=jsta_2l,jend_2u + DO I=ista_2l,iend_2u + USTORE(I,J) = 0 + VSTORE(I,J) = 0 + ENDDO + ENDDO ! Set up logical flag to indicate whether model outputs radar directly Model_Radar = .false. ! IF (ABS(MAXVAL(REF_10CM)-SPVAL)>SMALL)Model_Radar=.True. check_ref: DO L=1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend IF(ABS(REF_10CM(I,J,L)-SPVAL)>SMALL) THEN Model_Radar=.True. exit check_ref @@ -196,27 +237,32 @@ SUBROUTINE MDLFLD ENDDO check_ref if(debugprint .and. me==0)print*,'Did post read in model derived radar ref ',Model_Radar, & 'MODELNAME=',trim(MODELNAME),' imp_physics=',imp_physics - ALLOCATE(EL (IM,JSTA_2L:JEND_2U,LM)) - ALLOCATE(RICHNO (IM,JSTA_2L:JEND_2U,LM)) - ALLOCATE(PBLRI (IM,JSTA_2L:JEND_2U)) -! + + ALLOCATE(EL (ista_2l:iend_2u,JSTA_2L:JEND_2U,LM)) + ALLOCATE(RICHNO (ista_2l:iend_2u,JSTA_2L:JEND_2U,LM)) + ALLOCATE(PBLRI (ista_2l:iend_2u,JSTA_2L:JEND_2U)) + ALLOCATE(PBLTHV (ista_2l:iend_2u,JSTA_2L:JEND_2U)) + ! SECOND, STANDARD NGM SEA LEVEL PRESSURE. + IF (IGET(023) > 0 .OR. IGET(105) > 0 .OR. IGET(445) > 0) THEN + CALL NGMSLP ! this value is used in some later calculation. + ENDIF IF (IGET(105) > 0) THEN - CALL NGMSLP !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = SLP(I,J) ENDDO ENDDO if(grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(105)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -231,7 +277,7 @@ SUBROUTINE MDLFLD ! print*,'DTQ2 in MDLFLD= ',DTQ2 RDTPHS=24.*3.6E6/DTQ2 DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend IF ((HBOT(I,J)-HTOP(I,J)) <= 1.0) THEN ICBOT(I,J)=0 ICTOP(I,J)=0 @@ -259,7 +305,7 @@ SUBROUTINE MDLFLD ! CNVCFR(I,J)=100.*CFRdum CNVCFR(I,J)=CFRdum ENDIF !--- End IF (HBOT(I,J)-HTOP(I,J) <= 1.0) ... - ENDDO !--- DO I=1,IM + ENDDO !--- DO I=ista,iend ENDDO !--- DO J=JSTA,JEND ENDIF !-- IF (MODELNAME=='NMM' .OR. imp_physics==5) THEN ! @@ -277,7 +323,7 @@ SUBROUTINE MDLFLD .or. NMM_GFSmicro)THEN RDTPHS=3.6E6/DTQ2 DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend CUPRATE=RDTPHS*CPRATE(I,J) !--- Cu precip rate, R (mm/h) ! CUPRATE=CUPPT(I,J)*1000./TRDLW !--- mm/h Zfrz(I,J)=ZMID(I,J,NINT(LMH(I,J))) !-- Initialize to lowest model level @@ -313,7 +359,7 @@ SUBROUTINE MDLFLD if(icount_calmict==0)then !only call calmict once in multiple grid processing DO L=1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend P1D(I,J)=PMID(I,J,L) T1D(I,J)=T(I,J,L) Q1D(I,J)=Q(I,J,L) @@ -366,7 +412,7 @@ SUBROUTINE MDLFLD refl_miss: IF (Model_Radar) THEN ! - Model output DBZ is present - proceed with calc DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend IF(P1D(I,J) LLMH) THEN QQW(I,J,L) = D00 @@ -493,7 +539,7 @@ SUBROUTINE MDLFLD ELSE IF(MODELNAME == 'NMM' .and. GRIDTYPE=='B' .and. imp_physics==99)THEN !NMMB+Zhao DO L=1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend LLMH = NINT(LMH(I,J)) IF (L > LLMH) THEN QQW(I,J,L) = D00 @@ -521,7 +567,7 @@ SUBROUTINE MDLFLD ELSE IF(MODELNAME == 'NMM' .and. GRIDTYPE=='B' .and. imp_physics==6)THEN !NMMB+WSM6 DO L=1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend LLMH = NINT(LMH(I,J)) IF (L > LLMH) THEN QQW(I,J,L)=D00 @@ -556,11 +602,14 @@ SUBROUTINE MDLFLD ENDDO END DO - ELSE IF(((MODELNAME == 'NMM' .and. GRIDTYPE=='B') .OR. MODELNAME == 'FV3R') & - .and. imp_physics==8)THEN !NMMB or FV3R +THOMPSON + ELSE IF(((MODELNAME == 'NMM' .and. GRIDTYPE=='B') & + .OR. MODELNAME == 'RAPR' & ! (RAPR includes WRF-ARW and MPAS eras) + .OR. MODELNAME == 'FV3R' & + .OR. MODELNAME == 'GFS') & + .and. (imp_physics==8 .or. imp_physics==17 .or. imp_physics==18))THEN !NMMB, RAPR, FV3R or GFS + THOMPSON DO L=1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend DBZ(I,J,L)=REF_10CM(I,J,L) ENDDO ENDDO @@ -568,7 +617,7 @@ SUBROUTINE MDLFLD ELSE IF(imp_physics==99 .or. imp_physics==98)THEN ! Zhao MP DO L=1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend DBZ(I,J,L)=SPVAL ENDDO ENDDO @@ -581,12 +630,11 @@ SUBROUTINE MDLFLD ELSE IICE = 1 END IF - PRINT*,'IICE= ',IICE ! Chuang: add convective contribution for all MP schemes RDTPHS=3.6E6/DTQ2 DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend CUPRATE=RDTPHS*CPRATE(I,J) !--- Cu precip rate, R (mm/h) Zfrz(I,J)=ZMID(I,J,NINT(LMH(I,J))) !-- Initialize to lowest model level DO L=1,NINT(LMH(I,J)) !-- Start from the top, work down @@ -618,7 +666,7 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j,l,curefl,fctr,dens,llmh,lctop,delz,ze_nc) DO L=1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend !--- Estimate radar reflectivity factor from convection at level L ! CUREFL(I,J)=0. @@ -735,7 +783,7 @@ SUBROUTINE MDLFLD ze_gmax = -1.E30 DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend refl(i,j) = -10. ze_max = -10. @@ -873,7 +921,6 @@ SUBROUTINE MDLFLD ze_smax = 10.*log10(ze_smax*1.e18) ze_gmax = 10.*log10(ze_gmax*1.e18) - write (6,*) 'dbze_max-r/s/g',ze_rmax,ze_smax,ze_gmax ENDIF !tgs endif for Thompson scheme END IF @@ -883,7 +930,7 @@ SUBROUTINE MDLFLD ! ABSOLUTE VORTICITY ON MDL SURFACES. ! ! - allocate (RH3D(im,jsta_2l:jend_2u,lm)) + allocate (RH3D(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) IF ( (IGET(001)>0).OR.(IGET(077)>0).OR. & (IGET(002)>0).OR.(IGET(003)>0).OR. & (IGET(004)>0).OR.(IGET(005)>0).OR. & @@ -904,11 +951,13 @@ SUBROUTINE MDLFLD (IGET(752)>0).OR.(IGET(754)>0).OR. & (IGET(278)>0).OR.(IGET(264)>0).OR. & (IGET(450)>0).OR.(IGET(480)>0).OR. & + (IGET(479)>0).OR.(IGET(481)>0).OR. & (IGET(774)>0).OR.(IGET(747)>0).OR. & (IGET(464)>0).OR.(IGET(467)>0).OR. & + (IGET(470)>0).OR.(IGET(476)>0).OR. & (IGET(629)>0).OR.(IGET(630)>0).OR. & - (IGET(470)>0).OR. & (IGET(909)>0).OR.(IGET(737)>0).OR. & + (IGET(742)>0).OR. & (IGET(994)>0).OR.(IGET(995)>0) ) THEN DO 190 L=1,LM @@ -919,7 +968,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = PMID(I,J,LL) ENDDO ENDDO @@ -927,11 +976,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(001)) fld_info(cfld)%lvl=LVLSXML(L,IGET(001)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -946,7 +996,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = QQW(I,J,LL) if(GRID1(I,J)<1e-20) GRID1(I,J) = 0.0 ENDDO @@ -955,11 +1005,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(124)) fld_info(cfld)%lvl=LVLSXML(L,IGET(124)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -971,9 +1022,9 @@ SUBROUTINE MDLFLD IF (IGET(125) > 0) THEN IF (LVLS(L,IGET(125)) > 0) THEN LL=LM-L+1 -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = QQI(I,J,LL) if(GRID1(I,J)<1e-20) GRID1(I,J) = 0.0 ENDDO @@ -982,11 +1033,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(125)) fld_info(cfld)%lvl=LVLSXML(L,IGET(125)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1000,7 +1052,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = QQR(I,J,LL) if(GRID1(I,J)<1e-20) GRID1(I,J) = 0.0 ENDDO @@ -1009,11 +1061,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(181)) fld_info(cfld)%lvl=LVLSXML(L,IGET(181)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1027,7 +1080,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = QQS(I,J,LL) if(GRID1(I,J)<1e-20) GRID1(I,J) = 0.0 ENDDO @@ -1036,11 +1089,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(182)) fld_info(cfld)%lvl=LVLSXML(L,IGET(182)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1054,7 +1108,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend if(QQG(I,J,LL) < 1.e-12) QQG(I,J,LL) = 0. !tgs GRID1(I,J) = QQG(I,J,LL) ENDDO @@ -1063,11 +1117,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(415)) fld_info(cfld)%lvl=LVLSXML(L,IGET(415)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1081,7 +1136,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend if(QQNW(I,J,LL) < 1.e-8) QQNW(I,J,LL) = 0. !tgs GRID1(I,J) = QQNW(I,J,LL) ENDDO @@ -1090,11 +1145,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(747)) fld_info(cfld)%lvl=LVLSXML(L,IGET(747)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1108,7 +1164,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend if(QQNI(I,J,LL) < 1.e-8) QQNI(I,J,LL) = 0. !tgs GRID1(I,J) = QQNI(I,J,LL) ENDDO @@ -1117,11 +1173,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(752)) fld_info(cfld)%lvl=LVLSXML(L,IGET(752)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1135,7 +1192,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend if(QQNR(I,J,LL) < 1.e-8) QQNR(I,J,LL) = 0. !tgs GRID1(I,J) = QQNR(I,J,LL) ENDDO @@ -1144,23 +1201,53 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(754)) fld_info(cfld)%lvl=LVLSXML(L,IGET(754)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + ENDIF +! +!--- QNGRAUP ON MDL SURFACE +! + IF (IGET(1023) > 0) THEN + IF (LVLS(L,IGET(1023)) > 0)THEN + LL=LM-L+1 +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ista,iend + if(QQNG(I,J,LL) < 1.e-8) QQNG(I,J,LL) = 0. + GRID1(I,J) = QQNG(I,J,LL) + ENDDO + ENDDO + if(grib=="grib2" )then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1023)) + fld_info(cfld)%lvl=LVLSXML(L,IGET(1023)) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF ENDIF + ! QNWFA ON MDL SURFACE --tgs ! IF (IGET(766) > 0) THEN IF (LVLS(L,IGET(766)) > 0)THEN LL=LM-L+1 DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend if(QQNWFA(I,J,LL)<1.e-8)QQNWFA(I,J,LL)=0. !tgs GRID1(I,J)=QQNWFA(I,J,LL) ENDDO @@ -1169,7 +1256,7 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(766)) fld_info(cfld)%lvl=LVLSXML(L,IGET(766)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1180,7 +1267,7 @@ SUBROUTINE MDLFLD IF (LVLS(L,IGET(767)) > 0)THEN LL=LM-L+1 DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend if(QQNIFA(I,J,LL)<1.e-8)QQNIFA(I,J,LL)=0. !tgs GRID1(I,J)=QQNIFA(I,J,LL) ENDDO @@ -1189,7 +1276,7 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(767)) fld_info(cfld)%lvl=LVLSXML(L,IGET(767)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1201,9 +1288,12 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM - IF(abs(CFR(I,J,LL)-SPVAL) > SMALL) & - & GRID1(I,J) = CFR(I,J,LL)*H100 + DO I=ista,iend + IF(abs(CFR(I,J,LL)-SPVAL) > SMALL) THEN + GRID1(I,J) = CFR(I,J,LL)*H100 + ELSE + GRID1(I,J) = SPVAL + ENDIF ENDDO ENDDO CALL BOUND(GRID1,D00,H100) @@ -1211,11 +1301,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(145)) fld_info(cfld)%lvl=LVLSXML(L,IGET(145)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1229,7 +1320,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend IF(MODELNAME == 'RAPR') THEN GRID1(I,J) = CFR(I,J,LL) ELSE @@ -1241,11 +1332,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(774)) fld_info(cfld)%lvl=LVLSXML(L,IGET(774)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1268,14 +1360,14 @@ SUBROUTINE MDLFLD IF(IMP_PHYSICS == 8 .or. IMP_PHYSICS == 28) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = REF_10CM(I,J,LL) ENDDO ENDDO ELSE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = DBZ(I,J,LL) ENDDO ENDDO @@ -1286,11 +1378,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(250)) fld_info(cfld)%lvl=LVLSXML(L,IGET(250)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1305,7 +1398,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = CWM(I,J,LL) ENDDO ENDDO @@ -1313,11 +1406,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(199)) fld_info(cfld)%lvl=LVLSXML(L,IGET(199)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1331,7 +1425,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = F_rain(I,J,LL) ENDDO ENDDO @@ -1339,11 +1433,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(185)) fld_info(cfld)%lvl=LVLSXML(L,IGET(185)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1357,7 +1452,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = F_ice(I,J,LL) ENDDO ENDDO @@ -1365,11 +1460,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(186)) fld_info(cfld)%lvl=LVLSXML(L,IGET(186)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1384,7 +1480,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = F_RimeF(I,J,LL) ENDDO ENDDO @@ -1392,11 +1488,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(187)) fld_info(cfld)%lvl=LVLSXML(L,IGET(187)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1410,7 +1507,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = ZMID(I,J,LL) ENDDO ENDDO @@ -1418,11 +1515,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(077)) fld_info(cfld)%lvl=LVLSXML(L,IGET(077)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1436,7 +1534,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = T(I,J,LL) ENDDO ENDDO @@ -1444,11 +1542,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(002)) fld_info(cfld)%lvl=LVLSXML(L,IGET(002)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1462,7 +1561,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend IF(T(I,J,LL) 0) item = LVLS(L,IGET(006)) - IF (item > 0 .OR. IGET(450) > 0 .OR. IGET(480) > 0) THEN + IF (item > 0 .OR. IGET(450) > 0 .OR. IGET(480) > 0 .OR. & + IGET(479) > 0 .OR. IGET(481) > 0 ) THEN LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend P1D(I,J) = PMID(I,J,LL) T1D(I,J) = T(I,J,LL) Q1D(I,J) = Q(I,J,LL) ENDDO ENDDO - CALL CALRH(P1D(1,jsta),T1D(1,jsta),Q1D(1,jsta),EGRID4(1,jsta)) + CALL CALRH(P1D(ista:iend,jsta:jend),T1D(ista:iend,jsta:jend),Q1D(ista:iend,jsta:jend),EGRID4(ista:iend,jsta:jend)) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend IF(P1D(I,J)0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J)=0.0 DO L=1,NINT(LMH(I,J)) if(zint(i,j,l) < spval .and.zint(i,j,l+1)0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J)=DBZmin DO L=1,NINT(LMH(I,J)) GRID1(I,J)=MAX( GRID1(I,J), DBZR(I,J,L) ) @@ -2952,11 +3279,12 @@ SUBROUTINE MDLFLD if(grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(276)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2967,7 +3295,7 @@ SUBROUTINE MDLFLD ! IF (IGET(277)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J)=DBZmin DO L=1,NINT(LMH(I,J)) GRID1(I,J)=MAX( GRID1(I,J), DBZI(I,J,L) ) @@ -2977,11 +3305,12 @@ SUBROUTINE MDLFLD if(grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(277)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2994,7 +3323,7 @@ SUBROUTINE MDLFLD ! IF (IGET(278)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J)=DBZmin DO L=1,NINT(LMH(I,J)) GRID1(I,J)=MAX( GRID1(I,J), DBZC(I,J,L) ) @@ -3004,11 +3333,43 @@ SUBROUTINE MDLFLD if(grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(278)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + +! +!-- MAXIMUM COMPOSITE REFLECTIVITY SINCE LAST OUTPUT TIME +! + IF (IGET(244)>0) THEN + if (me==0) write(6,*) "Processing time-maximum composite reflectivity" + DO J=JSTA,JEND + DO I=ista,iend + ! GRID1(I,J)=DBZmin + GRID1(I,J)=MAX_COMPREF(I,J) + ENDDO + ENDDO + if(grib=="grib2") then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(244)) + if (IFHR > 0) then + fld_info(cfld)%tinvstat=1 + else + fld_info(cfld)%tinvstat=0 + endif + fld_info(cfld)%ntrange=1 +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3020,7 +3381,7 @@ SUBROUTINE MDLFLD IF (IGET(426)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J)=0.0 DO L=1,NINT(LMH(I,J)) IF (DBZ(I,J,L)>=18.0) THEN @@ -3033,11 +3394,12 @@ SUBROUTINE MDLFLD if(grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(426)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3055,7 +3417,7 @@ SUBROUTINE MDLFLD IF (IGET(768) > 0) THEN IF(MODELNAME == 'RAPR' .AND. (IMP_PHYSICS == 8 .or. IMP_PHYSICS == 28)) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = -999. DO L=1,NINT(LMH(I,J)) IF (REF_10CM(I,J,L)>=18.0) THEN @@ -3084,7 +3446,7 @@ SUBROUTINE MDLFLD ENDDO ELSE DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = -999. DO L=1,NINT(LMH(I,J)) IF (DBZ(I,J,L) >= 18.0) THEN @@ -3098,30 +3460,42 @@ SUBROUTINE MDLFLD if(grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(768)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF -! -! Vertically integrated liquid in kg/m^2 -! + +! -- Total column-integrated precip (rain, snow, graupel, and hail; kg m-2) +! J. Kenyon / 10 Jun 2025: Parm 769 was previously associated with the shortname "GSD_VIL_ON_ENTIRE_ATMOS". +! It is a 'VIL-like' quantity, obtained from integrating the mixing ratios of precip hydrometeors (i.e., +! it excludes cloud water, cloud ice, and water vapor). To help distinguish this field from true +! "VIL" (as obtained from reflectivity columns via parm 581), parm 769 is now labeled as "TCOLP". + IF (IGET(769)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J)=0.0 DO L=1,NINT(LMH(I,J)) IF(QQR(I,J,L) 0) THEN - IF(MODELNAME == 'RAPR' .AND. (IMP_PHYSICS == 8 .or. IMP_PHYSICS == 28)) THEN - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = 0.0 - DO L=1,NINT(LMH(I,J)) - IF (REF_10CM(I,J,L) > -10.0 ) THEN - GRID1(I,J) = GRID1(I,J) + 0.00344 * & - (10.**(REF_10CM(I,J,L)/10.))**0.57143 * & - (ZINT(I,J,L)-ZINT(I,J,L+1))/1000. - ENDIF - ENDDO - ENDDO - ENDDO - ELSE - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = 0.0 - DO L=1,NINT(LMH(I,J)) - GRID1(I,J) = GRID1(I,J) + 0.00344 * & - (10.**(DBZ(I,J,L)/10.))**0.57143 * & - (ZINT(I,J,L)-ZINT(I,J,L+1))/1000. - ENDDO - ENDDO - ENDDO - ENDIF - if(grib=="grib2") then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(770)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - ENDIF -! CRA - ! !--- VISIBILITY ! @@ -3194,7 +3524,7 @@ SUBROUTINE MDLFLD !--- Needed values at 1st level above ground (Jin, '01; Ferrier, Feb '02) ! DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend LLMH=NINT(LMH(I,J)) Q1D(I,J)=Q(I,J,LLMH) if(Q1D(I,J)<=0.) Q1D(I,J)=0. !tgs @@ -3262,7 +3592,7 @@ SUBROUTINE MDLFLD ! !-- Visibility using Warner-Stoelinga algorithm (Jin, '01) ! - ii=im/2 + ii=(ista+iend)/2 jj=(jsta+jend)/2 ! print*,'Debug: Visbility ',Q1D(ii,jj),QW1(ii,jj),QR1(ii,jj) ! +,QI1(ii,jj) ,QS1(ii,jj),T1D(ii,jj),P1D(ii,jj) @@ -3274,7 +3604,7 @@ SUBROUTINE MDLFLD ! DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend IF(vis(i,j)/=spval.and.abs(vis(i,j))>24135.1)print*,'bad visbility' & , i,j,Q1D(i,j),QW1(i,j),QR1(i,j),QI1(i,j) & , QS1(i,j),T1D(i,j),P1D(i,j),vis(i,j) @@ -3286,7 +3616,7 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(180)) fld_info(cfld)%lvl=LVLSXML(1,IGET(180)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -3296,7 +3626,7 @@ SUBROUTINE MDLFLD IF (IGET(410)>0) THEN CALL CALVIS_GSD(CZEN,VIS) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J)=VIS(I,J) END DO END DO @@ -3304,7 +3634,7 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(410)) fld_info(cfld)%lvl=LVLSXML(1,IGET(410)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3319,7 +3649,7 @@ SUBROUTINE MDLFLD GRID1 = -20.0 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = REF1KM_10CM(I,J) END DO END DO @@ -3327,7 +3657,7 @@ SUBROUTINE MDLFLD ELSE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = refl1km(I,J) END DO END DO @@ -3338,7 +3668,7 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(748)) fld_info(cfld)%lvl=LVLSXML(1,IGET(748)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -3353,7 +3683,7 @@ SUBROUTINE MDLFLD IF(MODELNAME == 'RAPR' .AND. (IMP_PHYSICS == 8 .or. IMP_PHYSICS == 28)) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = REF4KM_10CM(I,J) END DO END DO @@ -3361,7 +3691,7 @@ SUBROUTINE MDLFLD ELSE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = refl4km(I,J) END DO END DO @@ -3372,7 +3702,7 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(757)) fld_info(cfld)%lvl=LVLSXML(1,IGET(757)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -3380,7 +3710,7 @@ SUBROUTINE MDLFLD IF (IGET(912)>0) THEN Zm10c=spval DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend ! dong handle missing value if (slp(i,j) < spval) then Zm10c(I,J)=ZMID(I,J,NINT(LMH(I,J))) @@ -3404,22 +3734,22 @@ SUBROUTINE MDLFLD IF(IMP_PHYSICS==8 .or. IMP_PHYSICS==28) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J)=spval ! dong handle missing value if (slp(i,j) < spval) then - GRID1(I,J)=REF_10CM(I,J,Zm10c(I,J)) + GRID1(I,J)=REF_10CM(I,J,NINT(Zm10c(I,J))) end if ! spval ENDDO ENDDO ELSE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J)=spval ! dong handle missing value if (slp(i,j) < spval) then - GRID1(I,J)=DBZ(I,J,Zm10c(I,J)) + GRID1(I,J)=DBZ(I,J,NINT(Zm10c(I,J))) end if ! spval ENDDO ENDDO @@ -3431,7 +3761,7 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(912)) fld_info(cfld)%lvl=LVLSXML(L,IGET(912)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3448,14 +3778,14 @@ SUBROUTINE MDLFLD IF (IGET(147)>0) THEN ! DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = EL0(I,J) ENDDO ENDDO if(grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(147)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -3468,7 +3798,7 @@ SUBROUTINE MDLFLD !$omp parallel do private(i,j,l) DO L=1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend EL(I,J,L) = D00 ENDDO ENDDO @@ -3479,7 +3809,7 @@ SUBROUTINE MDLFLD ELSE IF(MODELNAME == 'NMM')THEN DO L=1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend EL(I,J,L)=EL_PBL(I,J,L) !NOW EL COMES OUT OF WRF NMM ENDDO ENDDO @@ -3502,7 +3832,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = EL(I,J,LL) ENDDO ENDDO @@ -3510,11 +3840,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(146)) fld_info(cfld)%lvl=LVLSXML(L,IGET(146)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3529,7 +3860,7 @@ SUBROUTINE MDLFLD LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = RICHNO(I,J,LL) ENDDO ENDDO @@ -3537,11 +3868,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(111)) fld_info(cfld)%lvl=LVLSXML(L,IGET(111)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3554,26 +3886,49 @@ SUBROUTINE MDLFLD ! ENDIF ENDIF -! -! COMPUTE PBL HEIGHT BASED ON RICHARDSON NUMBER -! + +! -- COMPUTE/ASSIGN PBL HEIGHT ARRAY(S) -- +! +! J Kenyon (16 Jun 2025): +! Note that the PBL heights assigned below are subsequently used for +! other diagnostic calculations (e.g., 10-m wind gust, GTG fields). +! In some models (e.g., RAPR, FV3R), these PBL heights are only used +! internally within UPP, since a separate PBL height (calculated in +! the model) is provided in the GRIB2 output. Refer also to comments +! in CALPBL.f + IF ( (IGET(289)>0) .OR. (IGET(389)>0) .OR. (IGET(454)>0) & .OR. (IGET(245)>0) .or. IGET(464)>0 .or. IGET(467)>0 & - .or. IGET(470)>0 ) THEN -! should only compute pblri if pblh from model is not computed based on Ri -! post does not yet read pbl scheme used by model. Will do this soon -! For now, compute PBLRI for non GFS models. + .or. IGET(470)>0 .or. IGET(476)>0) THEN + + !-- Regardless of model, assign / calculate PBLRI (PBL height based on Richardson number) IF(MODELNAME == 'GFS')THEN PBLRI=PBLH ELSE - CALL CALPBL(PBLRI) + CALL CALPBL(PBLRI,'RI') END IF - END IF + + !-- Additionally, for RAPR and FV3 only, assign PBLTHV (PBL height based on + ! virtual potential temperature). For these models, PBLTHV is used for the + ! wind-gust diagnostic. PBLTHV is assigned as follows: + IF((MODELNAME == 'RAPR').AND.(SUBMODELNAME /= 'MPAS')) THEN + ! For older RAPR applications (with WRF-ARW): + ! PBLHGUST is calculated in the associated INITPOST* routine; + ! simply pass PBLHGUST to PBLTHV + PBLTHV=PBLHGUST + ELSE IF ((MODELNAME == 'FV3R').OR. & + ((MODELNAME == 'RAPR').AND.(SUBMODELNAME == 'MPAS'))) THEN + ! For FV3R and newer RAPR applications (with MPAS): + ! calculate PBLTHV by calling CALPBL + CALL CALPBL(PBLTHV,'THV') + END IF + + END IF IF (IGET(289) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = PBLRI(I,J) ! PBLH(I,J) = PBLRI(I,J) ENDDO @@ -3581,11 +3936,12 @@ SUBROUTINE MDLFLD if(grib=="grib2") then Cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(289)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3598,7 +3954,7 @@ SUBROUTINE MDLFLD IF ( (IGET(389) > 0) .OR. (IGET(454) > 0) ) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend IF(PBLRI(I,J) 0.)THEN GRID1(I,J) = EGRID1(I,J)/EGRID2(I,J) ELSE GRID1(I,J) = U10(I,J) ! IF NO MIX LAYER, SPECIFY 10 M WIND, PER DIMEGO, END IF + USTORE(I,J) = GRID1(I,J) END DO END DO ! compute v component now - CALL H2V(EGRID3(1:im,JSTA_2L:JEND_2U),EGRID4) + CALL H2V(EGRID3(ista_2l:iend_2u,JSTA_2L:JEND_2U),EGRID4) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend EGRID1(i,j) = 0. EGRID2(i,j) = 0. EGRID5(i,j) = 0. @@ -3664,12 +4018,12 @@ SUBROUTINE MDLFLD END DO END DO vert_loopv: DO L=LM,1,-1 - CALL H2V(ZMID(1:IM,JSTA_2L:JEND_2U,L), EGRID5) - CALL H2V(PINT(1:IM,JSTA_2L:JEND_2U,L+1),EGRID6) - CALL H2V(PINT(1:IM,JSTA_2L:JEND_2U,L), EGRID7) + CALL H2V(ZMID(ista_2l:iend_2u,JSTA_2L:JEND_2U,L), EGRID5) + CALL H2V(PINT(ista_2l:iend_2u,JSTA_2L:JEND_2U,L+1),EGRID6) + CALL H2V(PINT(ista_2l:iend_2u,JSTA_2L:JEND_2U,L), EGRID7) HCOUNT=0 DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend if (EGRID4(I,J) 0.)THEN GRID2(I,J) = EGRID1(I,J)/EGRID2(I,J) ELSE GRID2(I,J) = V10(I,J) ! IF NO MIX LAYER, SPECIFY 10 M WIND, PER DIMEGO, END IF + VSTORE(I,J) = GRID2(I,J) END DO END DO - CALL U2H(GRID1(1,JSTA_2L),EGRID1) - CALL V2H(GRID2(1,JSTA_2L),EGRID2) + CALL U2H(USTORE,EGRID1) + CALL V2H(VSTORE,EGRID2) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend ! EGRID1 is transport wind speed ! prevent floating overflow if either component is undefined @@ -3711,33 +4066,29 @@ SUBROUTINE MDLFLD ELSe EGRID3(I,J) = SPVAL END IF - -! if (mod(I,20) == 0 .and. mod(J,20) == 0) then -! write(0,*) 'wind speed ', I,J, EGRID1(I,J) -! endif - ENDDO ENDDO -! write(0,*) 'min, max of GRID1 (u comp transport wind): ', minval(grid1),maxval(grid1) IF(IGET(389) > 0)THEN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(389)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(390)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii=ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif @@ -3751,10 +4102,9 @@ SUBROUTINE MDLFLD IF ( (IGET(454) > 0) ) THEN -! write(0,*) 'IM is: ', IM !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend IF (PBLRI(I,J) /= SPVAL .and. EGRID3(I,J)/=SPVAL) then GRID1(I,J) = EGRID3(I,J)*PBLRI(I,J) @@ -3762,34 +4112,30 @@ SUBROUTINE MDLFLD GRID1(I,J) = 0. ENDIF -! if ( (I >= 15 .and. I <= 17) .and. J >= 193 .and. J <= 195) then -! write(0,*) 'I,J,EGRID1(I,J) (wind speed): ', I,J, EGRID1(I,J) -! write(0,*) 'I,J,PBLH: ', I,J, EGRID4(I,J) -! write(0,*) 'I,J,GRID1 (ventilation rate): ', I,J, GRID1(I,J) -! endif - ENDDO ENDDO if(grib=='grib2') then Cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(454)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF -! -! CALCULATE Gust based on Ri PBL - IF (IGET(245)>0 .or. IGET(464)>0 .or. IGET(467)>0.or. IGET(470)>0) THEN - IF(MODELNAME=='RAPR') THEN -!tgs - 24may17 - smooth PBLHGUST + +! PREPARE FOR OTHER CALCULATIONS THAT REQUIRE PBL HEIGHT (PBLRI or PBLTHV) + IF (IGET(245)>0 .or. IGET(464)>0 .or. IGET(467)>0.or. IGET(470)>0 .or. IGET(476)>0) THEN + + IF (MODELNAME=='RAPR' .AND. SUBMODELNAME/='MPAS') THEN + ! Early RAPR applications (e.g., RAP/HRRR): smooth PBLTHV prior to wind-gust calculation if(MAPTYPE == 6) then if(grib=='grib2') then dxm = (DXVAL / 360.)*(ERAD*2.*pi)/1.d6 ! [mm] @@ -3803,8 +4149,8 @@ SUBROUTINE MDLFLD ! if(me==0)print *,'dxm=',dxm NSMOOTH = nint(5.*(13500./dxm)) do j = jsta_2l, jend_2u - do i = 1, im - GRID1(i,j)=PBLHGUST(i,j) + do i = ista_2l, iend_2u + GRID1(i,j)=PBLTHV(i,j) enddo enddo call AllGETHERV(GRID1) @@ -3812,27 +4158,34 @@ SUBROUTINE MDLFLD CALL SMOOTH(GRID1,SDUMMY,IM,JM,0.5) end do do j = jsta_2l, jend_2u - do i = 1, im - PBLHGUST(i,j)=GRID1(i,j) + do i = ista_2l, iend_2u + PBLTHV(i,j)=GRID1(i,j) enddo enddo - ENDIF + ENDIF ! end of smoothing of PBLTHV + !--These J,I loops: prepare arguments for CALGUST call DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend LPBL(I,J)=LM if(ZINT(I,J,NINT(LMH(I,J))+1) PBLHOLD+ZSFC)THEN LPBL(I,J)=L+1 IF(LPBL(I,J)>=LP1) LPBL(I,J) = LM @@ -3843,18 +4196,21 @@ SUBROUTINE MDLFLD else LPBL(I,J) = LM endif - if(lpbl(i,j)<1)print*,'zero lpbl',i,j,pblri(i,j),lpbl(i,j) + if(lpbl(i,j)<1)print*,'zero lpbl',i,j,pblri(i,j),pblthv(:,:),lpbl(i,j) ENDDO ENDDO - IF(MODELNAME=='RAPR') THEN - CALL CALGUST(LPBL,PBLHGUST,GUST) + !--Done preparing arguments for CALGUST call + + !--Now call CALGUST + IF (MODELNAME=='RAPR' .OR. MODELNAME=='FV3R') THEN + CALL CALGUST(LPBL,PBLTHV,GUST) ELSE CALL CALGUST(LPBL,PBLRI,GUST) END IF IF (IGET(245)>0) THEN -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend ! if(GUST(I,J) > 200. .and. gust(i,j)0) THEN - allocate(PBLREGIME(im,jsta_2l:jend_2u)) + allocate(PBLREGIME(ista_2l:iend_2u,jsta_2l:jend_2u)) CALL CALPBLREGIME(PBLREGIME) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J) = PBLREGIME(I,J) ENDDO ENDDO if(grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(344)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3904,7 +4262,7 @@ SUBROUTINE MDLFLD ! IF(IGET(400)>0)THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend !Initialed as 'undetected'. Nov. 17, 2014, B. ZHOU: !changed from SPVAL to -5000. to distinguish missing grids and undetected ! GRID1(I,J) = SPVAL @@ -3932,11 +4290,12 @@ SUBROUTINE MDLFLD if(grib=="grib2") then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(400)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3944,21 +4303,29 @@ SUBROUTINE MDLFLD ! ! ! COMPUTE NCAR GTG turbulence - IF(IGET(464)>0 .or. IGET(467)>0 .or. IGET(470)>0)THEN - i=IM/2 + IF(gtg_on .and. (IGET(464) > 0 .or. IGET(467) > 0 .or. IGET(470) > 0)) then + i=(ista+iend)/2 j=(jsta+jend)/2 ! if(me == 0) print*,'sending input to GTG i,j,hgt,gust',i,j,ZINT(i,j,LP1),gust(i,j) ! Use the existing 3D local arrays as cycled variables - EL=SPVAL RICHNO=SPVAL call gtg_algo(im,jm,lm,jsta,jend,jsta_2L,jend_2U,& - uh,vh,wh,zmid,pmid,t,q,qqw,qqr,qqs,qqg,qqi,& - ZINT(1:IM,JSTA_2L:JEND_2U,LP1),pblh,sfcshx,sfclhx,ustar,& - z0,gdlat,gdlon,dx,dy,u10,v10,GUST,avgprec,sm,sice,catedr,mwt,EL,gtg,RICHNO,item) - - i=IM/2 + uh(ista:iend,:,:),vh(ista:iend,:,:),wh(ista:iend,:,:),& + zmid(ista:iend,:,:),pmid(ista:iend,:,:),t(ista:iend,:,:),& + q(ista:iend,:,:),qqw(ista:iend,:,:),qqr(ista:iend,:,:),& + qqs(ista:iend,:,:),qqg(ista:iend,:,:),qqi(ista:iend,:,:),& + q2(ista:iend,:,:),& + ZINT(ista:iend,:,LP1),pblh(ista:iend,:),twbs(ista:iend,:),& + qwbs(ista:iend,:),ustar(ista:iend,:),& + z0(ista:iend,:),gdlat(ista:iend,:),gdlon(ista:iend,:),& + dx(ista:iend,:),dy(ista:iend,:),u10(ista:iend,:),v10(ista:iend,:),& + GUST(ista:iend,:),avgprec(ista:iend,:),sm(ista:iend,:),sice(ista:iend,:),& + catedr(ista:iend,:,:),mwt(ista:iend,:,:),cit(ista:iend,:,:),& + RICHNO(ista:iend,:,:),gtg(ista:iend,:,:),item) + + i=iend j=jend ! 321,541 ! print*,'GTG output: l,cat,mwt,gtg at',i,j ! do l=1,lm @@ -3971,7 +4338,7 @@ SUBROUTINE MDLFLD IF (LVLS(L,IGET(470))>0) THEN LL=LM-L+1 DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J)=gtg(i,j,LL) ENDDO ENDDO @@ -3979,18 +4346,19 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(470)) fld_info(cfld)%lvl=LVLSXML(L,IGET(470)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J)=catedr(i,j,LL) ENDDO ENDDO @@ -3998,17 +4366,18 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(471)) fld_info(cfld)%lvl=LVLSXML(L,IGET(471)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend GRID1(I,J)=mwt(i,j,LL) ENDDO ENDDO @@ -4016,11 +4385,12 @@ SUBROUTINE MDLFLD cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(472)) fld_info(cfld)%lvl=LVLSXML(L,IGET(472)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -4030,7 +4400,7 @@ SUBROUTINE MDLFLD end IF ! COMPUTE NCAR FIP - IF(IGET(450)>0 .or. IGET(480)>0)THEN + IF(IGET(450)>0 .or. IGET(480)>0 .or. IGET(479)>0 .or. IGET(481)>0)THEN ! cape and cin ITYPE = 1 @@ -4043,7 +4413,7 @@ SUBROUTINE MDLFLD icing_gfip = spval icing_gfis = spval DO J=JSTA,JEND - DO I=1,IM + DO I=ista,iend if(debugprint .and. i==50 .and. j==jsta .and. me == 0) then print*,'sending input to FIP ',i,j,lm,gdlat(i,j),gdlon(i,j), & zint(i,j,lp1),cprate(i,j),prec(i,j),avgcprate(i,j),cape(i,j),cin(i,j) @@ -4077,17 +4447,17 @@ SUBROUTINE MDLFLD ! do l=1,lm ! if(LVLS(L,IGET(450))>0 .or. LVLS(L,IGET(480))>0)then ! do j=jsta,jend -! do i=1,im +! do i=ista,iend ! grid1(i,j)=icing_gfip(i,j,l) ! end do ! end do ! ID(1:25) = 0 -! CALL GRIBIT(IGET(450),L,GRID1,IM,JM) +! CALL GRIBIT(IGET(450),L,GRIDista,iend,JM) ! end if ! end do ENDIF - DEALLOCATE(EL, RICHNO, PBLRI) + DEALLOCATE(EL, RICHNO, PBLRI, PBLTHV) if (allocated(rh3d)) deallocate(rh3d) ! ! END OF ROUTINE. diff --git a/sorc/ncep_post.fd/MISCLN.f b/sorc/ncep_post.fd/MISCLN.f index c333ad586e..9ffeae8168 100644 --- a/sorc/ncep_post.fd/MISCLN.f +++ b/sorc/ncep_post.fd/MISCLN.f @@ -1,105 +1,83 @@ !> @file -! -!> SUBPROGRAM: MISCLN POSTS MISCELLANEOUS FIELDS -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-20 -!! -!! ABSTRACT: -!! THIS ROUTINE HAS BECOME THE CATCH-ALL FOR MISCELLANEOUS -!! OUTPUT FIELDS POSTED BY THE ETA POST PROCESSOR. -!! CURRENTLY THIS ROUTINE POSTS THE FOLLOWING FIELDS: -!! (1) TROPOPAUSE LEVEL Z,P, T, U, V, AND VERTICAL WIND SHEAR, -!! (2) MAX WIND LEVEL Z, P, U, AND V, -!! (3) FD LEVEL T, Q, U, AND V, -!! (4) FREEZING LEVEL Z AND RH, -!! (5) CONSTANT MASS (BOUNDARY) FIELDS, -!! (6) LFM LOOK-ALIKE FIELDS, AND -!! (7) NGM LOOK-ALIKE FIELDS. -!! -!! -!! PROGRAM HISTORY LOG: -!! 92-12-20 RUSS TREADON -!! 93-06-19 RUSS TREADON - ADDED TYPE 2 CAPE POSTING. -!! 94-11-07 MIKE BALDWIN - ADDED HELICITY POSTING. -!! 96-03-26 MIKE BALDWIN - CHANGE ETA BOUNDARY LAYER LABELS FOR GRIB -!! 96-11-19 MIKE BALDWIN - BACK OUT PREVIOUS CHANGE -!! 97-04-25 MIKE BALDWIN - CHANGE ETA BOUNDARY LAYER LABELS FOR GRIB -!! 97-04-29 GEOFF MANIKIN - ADDED TROPOPAUSE HEIGHT AND -!! MAX WIND LEVEL FIELDS -!! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 98-07-17 MIKE BALDWIN - REMOVED LABL84 -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-04-23 MIKE BALDWIN - WRF VERSION -!! 11-02-06 JUN WANG - ADD GRIB2 OPTION -!! 11-10-16 SARAH LU - ADD FD LEVEL DUST/ASH -!! 12-04-03 Jun Wang - FIXED LVLSXML for fields at FD height (spec_hgt_lvl_above_grnd) -!! 13-05-3 Shrinivas Moorthi - Fix some bugs and make more efficient code -!! 14-02-21 Shrinivas Moorthi - Add more threading -!! 14-02-26 S Moorthi - threading datapd assignment and some cleanup & -!! bug fix -!! 15-11-18 S Moorthi - fixed some logical errors in the helicity and -!! i storm motion part of the code -!! 17-06-01 Y Mao - ADD FD levels for GTG(EDPARM CATEDR MWTURB) and allow -!! levels input from control file -!! 19-09-03 J Meng - ADD CAPE related variables for HRRR -!! 20-03-24 J Meng - remove grib1 -!! 20-11-10 J Meng - USE UPP_PHYSICS MODULE -!! 21-03-25 E Colon - 3D-RTMA-specific SPC fields added as output -!! 21-04-01 J Meng - computation on defined points only -!! 21-09-01 E Colon - Correction to the effective layer top and -!! bottoma calculation which is only employed -!! for RTMA usage. -!! -!! USAGE: CALL MISCLN -!! INPUT ARGUMENT LIST: -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! TRPAUS - COMPUTE TROPOPAUSE LEVEL FIELDS. -!! CALMXW - COMPUTE MAX WIND LEVEL FIELDS. -!! SCLFLD - SCALE ARRAY ELEMENTS BY CONSTANT. -!! GRIBIT - OUTPUT FIELD TO GRIB FILE. -!! CALPOT - CALCULATE POTENTIAL TEMPERATURE. -!! FDLVL - COMPUTE FD LEVEL DATA (AGL OR MSL). -!! FRZLVL - COMPUTE FREEZING LEVEL DATA. -!! BOUND - BOUND ARRAY ELEMENTS BETWEEN MINIMUM AND MAXIMUM VALUES. -!! BNDLYR - COMPUTE BOUNDARY LAYER FIELDS. -!! CALDWP - CALCULATE DEWPOINT TEMPERATURE. -!! OTLFT - COMPUTE LIFTED INDEX AT 500MB. -!! CALLCL - COMPUTE LCL DATA. -!! LFMFLD - COMPUTE LFM LOOK-ALIKE FIELDS. -!! NGMFLD - COMPUTE NGM LOOK-ALIKE FIELDS. -!! CALTHTE - COMPUTE THETA-E. -!! CALHEL - COMPUTE HELICITY AND STORM MOTION. -!! -!! LIBRARY: -!! COMMON - RQSTFLD -!! CTLBLK -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief MISCLN posts miscellaneous fields +!> +!> This routine has become the catch-all for miscellaneous output fields posted by the ETA post-processor. +!> Currently this routine posts the following fields: +!> -# TROPOPAUSE LEVEL Z,P, T, U, V, AND VERTICAL WIND SHEAR, +!> -# MAX WIND LEVEL Z, P, U, AND V, +!> -# FD LEVEL T, Q, U, AND V, +!> -# FREEZING LEVEL Z AND RH, +!> -# CONSTANT MASS (BOUNDARY) FIELDS, +!> -# LFM LOOK-ALIKE FIELDS, AND +!> -# NGM LOOK-ALIKE FIELDS. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!! 1992-12-20 | RUSS TREADON | Original file +!! 1993-06-19 | RUSS TREADON | ADDED TYPE 2 CAPE POSTING. +!! 1994-11-07 | MIKE BALDWIN | ADDED HELICITY POSTING. +!! 1996-03-26 | MIKE BALDWIN | CHANGE ETA BOUNDARY LAYER LABELS FOR GRIB +!! 1996-11-19 | MIKE BALDWIN | BACK OUT PREVIOUS CHANGE +!! 1997-04-25 | MIKE BALDWIN | CHANGE ETA BOUNDARY LAYER LABELS FOR GRIB +!! 1997-04-29 | GEOFF MANIKIN | ADDED TROPOPAUSE HEIGHT AND MAX WIND LEVEL FIELDS +!! 1998-06-15 | T BLACK | CONVERSION FROM 1-D TO 2-D +!! 1998-07-17 | MIKE BALDWIN | REMOVED LABL84 +!! 2000-01-04 | JIM TUCCILLO | MPI VERSION +!! 2002-04-23 | MIKE BALDWIN | WRF VERSION +!! 2011-02-06 | JUN WANG | ADD GRIB2 OPTION +!! 2011-10-16 | SARAH LU | ADD FD LEVEL DUST/ASH +!! 2012-04-03 | Jun Wang | FIXED LVLSXML for fields at FD height (spec_hgt_lvl_above_grnd) +!! 2013-05-3 | Shrinivas Moorthi | Fix some bugs and make more efficient code +!! 2014-02-21 | Shrinivas Moorthi | Add more threading +!! 2014-02-26 | S Moorthi | threading datapd assignment and some cleanup & bug fix +!! 2015-11-18 | S Moorthi | fixed some logical errors in the helicity and storm motion part of the code +!! 2017-06-01 | Y Mao | ADD FD levels for GTG(EDPARM CATEDR MWTURB) and allow levels input from control file +!! 2019-09-03 | J Meng | ADD CAPE related variables for HRRR +!! 2020-03-24 | J Meng | remove grib1 +!! 2020-11-10 | J Meng | USE UPP_PHYSICS MODULE +!! 2021-03-25 | E Colon | 3D-RTMA-specific SPC fields added as output +!! 2021-04-01 | J Meng | computation on defined points only +!! 2021-09-01 | E Colon | Correction to the effective layer top and bottoma calculation which is only employed for RTMA usage. +!! 2021-10-14 | J MENG | 2D DECOMPOSITION +!! 2022-09-22 | L Zhang | Li(Kate) Zhang - Remove Dust=> AERFD +!! 2022-10-06 | W Meng | Generate SPC fields with RRFS input +!! 2023-01-24 | Sam Trahan | when IFI is enabled, calculate and store CAPE & CIN. Add allocate_cape_arrays +!! 2023-04-03 | E Colon | Added additional array assignments to resolve SPC fields crashes for RRFS input +!! 2023-08-16 | Y Mao | Updated interpolation to flight levels for regional GTG fields +!! 2023-08-24 | Y Mao | Add gtg_on option for GTG interpolation +!! 2024-01-07 | H LIN | Add CIT output in NCAR GTG turbulence calculation +!! 2024-01-09 | Y Mao | Correct the height level of EDPARM (ID=467) on 0m to index 52 from the control file, instead of 0. +!! 2024-04-09 | Y Mao | Change the mnemonics of EDPARM (ID=467) on 0m to MXEDPRM (ID=476) on the entire atmoshpere +!! 2025-07-22 | K Halbert / E Colon | Updated mixed-layer CAPE/CINH to include 2m fielfd +!! 2025-12-16 | B Blake | Add capecin_2m option to calculate CAPE and CIN with 2-m fields +!! 2026-02-20 | B Blake | Turn on downdraft CAPE for RRFS and 3DRTMA +!> +!> @author RUSS TREADON +!> @date 1992-12-20 +!----------------------------------------------------------------------------------------------------- +!> @brief MISCLN posts miscellaneous fields SUBROUTINE MISCLN ! ! use vrbls3d, only: pmid, uh, vh, t, zmid, zint, pint, alpint, q, omga - use vrbls3d, only: catedr,mwt,gtg + use vrbls3d, only: catedr,mwt,gtg, cit use vrbls2d, only: pblh, cprate, fis, T500, T700, Z500, Z700,& - teql,ieql + teql,ieql, cape,cin,tshltr,pshltr,qshltr use masks, only: lmh use params_mod, only: d00, d50, h99999, h100, h1, h1m12, pq0, a2, a3, a4, & - rhmin, rgamog, tfrz, small, g + rhmin, rgamog, tfrz, small, g, capa, p1000 use ctlblk_mod, only: grib, cfld, fld_info, datapd, im, jsta, jend, jm, jsta_m, jend_m, & nbnd, nbin_du, lm, htfd, spval, pthresh, nfd, petabnd, me,& - jsta_2l, jend_2u, MODELNAME, SUBMODELNAME + jsta_2l, jend_2u, MODELNAME, SUBMODELNAME, & + ista, iend, ista_m, iend_M, ista_2l, iend_2u, & + ifi_flight_levels, gtg_on, capecin_2m use rqstfld_mod, only: iget, lvls, id, iavblfld, lvlsxml use grib2_module, only: pset - use upp_physics, only: FPVSNEW,CALRH_PW,CALCAPE,CALCAPE2,TVIRTUAL + use upp_physics, only: FPVSNEW,CALRH_PW,CALCAPE,CALCAPE2 use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -122,26 +100,25 @@ SUBROUTINE MISCLN ! ! DECLARE VARIABLES. ! - LOGICAL NORTH, FIELD1,FIELD2 - LOGICAL, dimension(IM,JSTA:JEND) :: DONE, DONE1 + LOGICAL NORTH, FIELD1,FIELD2, NEED_IFI + LOGICAL, dimension(ISTA:IEND,JSTA:JEND) :: DONE, DONE1 INTEGER, allocatable :: LVLBND(:,:,:),LB2(:,:) ! INTEGER LVLBND(IM,JM,NBND),LB2(IM,JM),LPBL(IM,JM) real,dimension(im,jm) :: GRID1, GRID2 - real,dimension(im,jsta:jend) :: P1D, T1D, Q1D, U1D, V1D, SHR1D, Z1D, & + real,dimension(ista:iend,jsta:jend) :: P1D, T1D, Q1D, U1D, V1D, SHR1D, Z1D, & RH1D, EGRID1, EGRID2, EGRID3, EGRID4, & EGRID5, EGRID6, EGRID7, EGRID8, & - MLCAPE,MLCIN,MLLCL,MUCAPE,MUCIN,MUMIXR, & + MLCAPE,MLCIN,MLLCL,MUCAPE,MUCIN, & FREEZELVL,MUQ1D,SLCL,THE,MAXTHE - integer,dimension(im,jsta:jend) :: MAXTHEPOS + integer,dimension(ista:iend,jsta:jend) :: MAXTHEPOS real, dimension(:,:,:),allocatable :: OMGBND, PWTBND, QCNVBND, & PBND, TBND, QBND, & UBND, VBND, RHBND, & WBND, T7D, Q7D, & U7D, V6D, P7D, & - ICINGFD,GTGFD,CATFD,MWTFD - real, dimension(:,:,:,:),allocatable :: AERFD + ICINGFD,MIDCAL real, dimension(:,:),allocatable :: QM8510, RH4710, RH8498, & RH4796, RH1847, UST, VST, & @@ -154,26 +131,23 @@ SUBROUTINE MISCLN real, dimension(:,:), allocatable :: USHR1, VSHR1, USHR6, VSHR6, & MAXWP, MAXWZ, MAXWU, MAXWV, & MAXWT - INTEGER,dimension(:,:),allocatable :: LLOW, LUPP + INTEGER,dimension(:,:),allocatable :: LLOW,LUPP,LLOW_ZINT,IEQL_ZINT, & + Z_MIDCAL REAL, dimension(:,:),allocatable :: CANGLE,ESHR,UVECT,VVECT,& EFFUST,EFFVST,FSHR,HTSFC,& - ESRH + ESRH,Z_TEMP ! - integer I,J,jj,L,ITYPE,ISVALUE,LBND,ILVL,IFD,ITYPEFDLVL(NFD), & + integer I,J,ii,jj,L,ITYPE,ISVALUE,LBND,ILVL,IFD,ITYPEFDLVL(NFD), & iget1, iget2, iget3, LLMH,imax,jmax,lmax real DPBND,PKL1,PKU1,FAC1,FAC2,PL,TL,QL,QSAT,RHL,TVRL,TVRBLO, & ES1,ES2,QS1,QS2,RH1,RH2,ZSF,DEPTH(2),work1,work2,work3, & SCINtmp,MUCAPEtmp,MUCINtmp,MLLCLtmp,ESHRtmp,MLCAPEtmp,STP,& - FSHRtmp,MLCINtmp,SLCLtmp,LAPSE,SHIP + FSHRtmp,MLCINtmp,SLCLtmp,LAPSE,SHIP,t2m,q2m -! Variables introduced to allow FD levels from control file - Y Mao - integer :: N,NFDCTL - REAL, allocatable :: HTFDCTL(:) - integer, allocatable :: ITYPEFDLVLCTL(:) integer IE,IW,JN,JS,IVE(JM),IVW(JM),JVN,JVS - integer ISTART,ISTOP,JSTART,JSTOP,MIDCAL - real dummy(IM,jsta:jend) - integer idummy(IM,jsta:jend) + integer ISTART,ISTOP,JSTART,JSTOP + real dummy(ista:iend,jsta:jend) + integer idummy(ista:iend,jsta:jend) ! NEW VARIABLES USED FOR EFFECTIVE LAYER INTEGER,dimension(:,:),allocatable :: EL_BASE, EL_TOPS LOGICAL,dimension(:,:),allocatable :: FOUND_BASE, FOUND_TOPS @@ -194,17 +168,29 @@ SUBROUTINE MISCLN REAL, DIMENSION(:), ALLOCATABLE :: P_AMB, T_AMB, Q_AMB, ZINT_AMB REAL, DIMENSION(:,:,:), ALLOCATABLE :: TPAR_BASE, TPAR_TOPS +! Variables introduced to allow FD levels from control file - Y Mao + integer :: N,NFDCTL + REAL, allocatable :: HTFDCTL(:) + integer, allocatable :: ITYPEFDLVLCTL(:) + real, allocatable :: QIN(:,:,:,:), QFD(:,:,:,:) + character, allocatable :: QTYPE(:) + + integer, parameter :: NFDMAX=10 ! Max number of fields with the same HTFDCTL + integer :: IDS(NFDMAX) ! All field IDs with the same HTFDCTL + integer :: nFDS ! How many fields with the same HTFDCTL in the control file + integer :: iID ! which field with HTFDCTL ! !**************************************************************************** ! START MISCLN HERE. ! debugprint = .FALSE. + NEED_IFI = IGET(1007)>0 .or. IGET(1008)>0 .or. IGET(1009)>0 .or. IGET(1010)>0 - allocate(USHR1(IM,jsta_2l:jend_2u),VSHR1(IM,jsta_2l:jend_2u), & - USHR6(IM,jsta_2l:jend_2u),VSHR6(IM,jsta_2l:jend_2u)) - allocate(UST(IM,jsta_2l:jend_2u),VST(IM,jsta_2l:jend_2u), & - HELI(IM,jsta_2l:jend_2u,2),FSHR(IM,jsta_2l:jend_2u)) + allocate(USHR1(ista_2l:iend_2u,jsta_2l:jend_2u),VSHR1(ista_2l:iend_2u,jsta_2l:jend_2u), & + USHR6(ista_2l:iend_2u,jsta_2l:jend_2u),VSHR6(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(UST(ista_2l:iend_2u,jsta_2l:jend_2u),VST(ista_2l:iend_2u,jsta_2l:jend_2u), & + HELI(ista_2l:iend_2u,jsta_2l:jend_2u,2),FSHR(ista_2l:iend_2u,jsta_2l:jend_2u)) ! ! HELICITY AND STORM MOTION. iget1 = IGET(162) @@ -221,7 +207,7 @@ SUBROUTINE MISCLN IF (iget2 > 0) then !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = HELI(I,J,1) ENDDO ENDDO @@ -229,11 +215,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(iget1) fld_info(cfld)%lvl=LVLSXML(1,iget1) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -242,7 +229,7 @@ SUBROUTINE MISCLN IF (iget3 > 0) then !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = HELI(I,J,2) ENDDO ENDDO @@ -250,11 +237,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(iget1) fld_info(cfld)%lvl=LVLSXML(2,iget1) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -263,18 +251,19 @@ SUBROUTINE MISCLN IF (IGET(163) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = UST(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(163)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -282,18 +271,19 @@ SUBROUTINE MISCLN IF (IGET(164) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = VST(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(164)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -303,15 +293,16 @@ SUBROUTINE MISCLN ! UPDRAFT HELICITY if (IGET(427) > 0) THEN - CALL CALUPDHEL(GRID1(1,jsta_2l)) + CALL CALUPDHEL(GRID1(ista_2l:iend_2u,jsta_2l:jend_2u)) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(427)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -328,25 +319,26 @@ SUBROUTINE MISCLN ! 0-6 km shear magnitude !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND FSHR(I,J) = SQRT(USHR6(I,J)**2+VSHR6(I,J)**2) ENDDO ENDDO IF(IGET(430) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = USHR1(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(430)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -354,18 +346,19 @@ SUBROUTINE MISCLN IF(IGET(431) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = VSHR1(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(431)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -373,18 +366,19 @@ SUBROUTINE MISCLN IF(IGET(432) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = USHR6(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(432)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -392,18 +386,19 @@ SUBROUTINE MISCLN IF(IGET(433) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = VSHR6(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(433)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -429,7 +424,7 @@ SUBROUTINE MISCLN ! Chuang: Use GFS algorithm per Iredell's and DiMego's decision on unification !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(PMID(I,J,1) 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = P1D(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(054)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -475,16 +471,17 @@ SUBROUTINE MISCLN ! ICAO HEIGHT OF TROPOPAUSE IF (IGET(399)>0) THEN - CALL ICAOHEIGHT(P1D, GRID1(1,jsta)) + CALL ICAOHEIGHT(P1D, GRID1(ista:iend,jsta:jend)) ! print*,'sample TROPOPAUSE ICAO HEIGHTS',GRID1(im/2,(jsta+jend)/2) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(399)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -494,18 +491,19 @@ SUBROUTINE MISCLN IF (IGET(177) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = Z1D(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(177)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -515,18 +513,19 @@ SUBROUTINE MISCLN IF (IGET(055) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = T1D(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(055)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -534,15 +533,16 @@ SUBROUTINE MISCLN ! ! TROPOPAUSE POTENTIAL TEMPERATURE. IF (IGET(108) > 0) THEN - CALL CALPOT(P1D,T1D,GRID1(1,jsta)) + CALL CALPOT(P1D,T1D,GRID1(ista:iend,jsta:jend)) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(108)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -552,7 +552,7 @@ SUBROUTINE MISCLN IF ((IGET(056) > 0).OR.(IGET(057) > 0)) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=U1D(I,J) GRID2(I,J)=V1D(I,J) ENDDO @@ -561,22 +561,24 @@ SUBROUTINE MISCLN if(IGET(056)>0) then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(056)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif if(IGET(057)>0) then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(057)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif @@ -587,18 +589,19 @@ SUBROUTINE MISCLN IF (IGET(058) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SHR1D(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(058)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -612,11 +615,11 @@ SUBROUTINE MISCLN IF ((IGET(173)>0) .OR. (IGET(174)>0) .OR. & (IGET(175)>0) .OR. (IGET(176)>0)) THEN - allocate(MAXWP(IM,jsta:jend), MAXWZ(IM,jsta:jend), & - MAXWU(IM,jsta:jend), MAXWV(IM,jsta:jend),MAXWT(IM,jsta:jend)) + allocate(MAXWP(ista:iend,jsta:jend), MAXWZ(ista:iend,jsta:jend), & + MAXWU(ista:iend,jsta:jend), MAXWV(ista:iend,jsta:jend),MAXWT(ista:iend,jsta:jend)) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND MAXWP(I,J)=SPVAL MAXWZ(I,J)=SPVAL MAXWU(I,J)=SPVAL @@ -628,7 +631,7 @@ SUBROUTINE MISCLN ! Chuang: Use GFS algorithm per Iredell's and DiMego's decision on unification !$omp parallel do private(i,j) DO J=JSTA,JEND - loopI:DO I=1,IM + loopI:DO I=ISTA,IEND DO L=1,LM IF (ABS(PMID(I,J,L)-SPVAL)<=SMALL .OR. & ABS(UH(I,J,L)-SPVAL)<=SMALL .OR. & @@ -651,34 +654,36 @@ SUBROUTINE MISCLN IF (IGET(173) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = MAXWP(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(173)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF ! ICAO HEIGHT OF MAX WIND LEVEL IF (IGET(398)>0) THEN - CALL ICAOHEIGHT(MAXWP, GRID1(1,jsta)) + CALL ICAOHEIGHT(MAXWP, GRID1(ista:iend,jsta:jend)) ! print*,'sample MAX WIND ICAO HEIGHTS',GRID1(im/2,(jsta+jend)/2) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(398)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -687,18 +692,19 @@ SUBROUTINE MISCLN IF (IGET(174) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = MAXWZ(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(174)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -708,7 +714,7 @@ SUBROUTINE MISCLN IF ((IGET(175) > 0).OR.(IGET(176) > 0)) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = MAXWU(I,J) GRID2(I,J) = MAXWV(I,J) ENDDO @@ -716,20 +722,22 @@ SUBROUTINE MISCLN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(175)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(176)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif @@ -738,18 +746,19 @@ SUBROUTINE MISCLN IF (IGET(314) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=MAXWT(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(314)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -763,14 +772,11 @@ SUBROUTINE MISCLN IF ( (IGET(059)>0.or.IGET(586)>0).OR.IGET(911)>0.OR. & (IGET(060)>0.or.IGET(576)>0).OR. & (IGET(061)>0.or.IGET(577)>0).OR. & - (IGET(601)>0.or.IGET(602)>0.or.IGET(603)>0).OR. & - (IGET(604)>0.or.IGET(605)>0).OR. & (IGET(451)>0.or.IGET(578)>0).OR.IGET(580)>0 ) THEN - ALLOCATE(T7D(IM,JSTA:JEND,NFD), Q7D(IM,JSTA:JEND,NFD), & - U7D(IM,JSTA:JEND,NFD), V6D(IM,JSTA:JEND,NFD), & - P7D(IM,JSTA:JEND,NFD), ICINGFD(IM,JSTA:JEND,NFD) & - ,AERFD(IM,JSTA:JEND,NFD,NBIN_DU)) + ALLOCATE(T7D(ISTA:IEND,JSTA:JEND,NFD), Q7D(ISTA:IEND,JSTA:JEND,NFD), & + U7D(ISTA:IEND,JSTA:JEND,NFD), V6D(ISTA:IEND,JSTA:JEND,NFD), & + P7D(ISTA:IEND,JSTA:JEND,NFD), ICINGFD(ISTA:IEND,JSTA:JEND,NFD)) ! ! DETERMINE WHETHER TO DO MSL OR AGL FD LEVELS @@ -813,29 +819,13 @@ SUBROUTINE MISCLN if(LVLS(IFD,IGET(587))>0) ITYPEFDLVL(IFD)=2 ENDIF - IF (IGET(601)>0) THEN - IF (LVLS(IFD,IGET(601))>1) ITYPEFDLVL(IFD)=2 - ENDIF - IF (IGET(602)>0) THEN - IF (LVLS(IFD,IGET(602))>1) ITYPEFDLVL(IFD)=2 - ENDIF - IF (IGET(603)>0) THEN - IF (LVLS(IFD,IGET(603))>1) ITYPEFDLVL(IFD)=2 - ENDIF - IF (IGET(604)>0) THEN - IF (LVLS(IFD,IGET(604))>1) ITYPEFDLVL(IFD)=2 - ENDIF - IF (IGET(605)>0) THEN - IF (LVLS(IFD,IGET(605))>1) ITYPEFDLVL(IFD)=2 - ENDIF - ENDDO ! print *,'call FDLVL with ITYPEFDLVL: ', ITYPEFDLVL,'for tmp,lvls=',LVLS(1:15,iget(59)), & ! 'grib2tmp lvs=',LVLS(1:15,iget(586)) - - CALL FDLVL(ITYPEFDLVL,T7D,Q7D,U7D,V6D,P7D,ICINGFD,AERFD) + + CALL FDLVL(ITYPEFDLVL,T7D,Q7D,U7D,V6D,P7D,ICINGFD) ! - DO 10 IFD = 1,NFD + loop_10: DO IFD = 1,NFD ! ! FD LEVEL TEMPERATURE. iget1 = IGET(059) @@ -855,7 +845,7 @@ SUBROUTINE MISCLN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = T7D(I,J,IFD) ENDDO ENDDO @@ -864,11 +854,12 @@ SUBROUTINE MISCLN cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET1) fld_info(cfld)%lvl = LVLSXML(IFD,IGET1) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -878,11 +869,12 @@ SUBROUTINE MISCLN cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET2) fld_info(cfld)%lvl = LVLSXML(IFD,IGET2) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -894,7 +886,7 @@ SUBROUTINE MISCLN IF (IGET(911)>0) THEN IF (LVLS(IFD,IGET(911))>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if ( T7D(I,J,IFD) > 600 ) then GRID1(I,J)=SPVAL else @@ -908,7 +900,7 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(911)) fld_info(cfld)%lvl=LVLSXML(IFD,IGET(911)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -932,7 +924,7 @@ SUBROUTINE MISCLN IF (work1 > 0 .or. work2 > 0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = Q7D(I,J,IFD) ENDDO ENDDO @@ -941,11 +933,12 @@ SUBROUTINE MISCLN cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET1) fld_info(cfld)%lvl = LVLSXML(IFD,IGET1) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -955,11 +948,12 @@ SUBROUTINE MISCLN cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET2) fld_info(cfld)%lvl = LVLSXML(IFD,IGET2) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -984,7 +978,7 @@ SUBROUTINE MISCLN IF (work1 > 0 .or. work2 > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = P7D(I,J,IFD) ENDDO ENDDO @@ -993,11 +987,12 @@ SUBROUTINE MISCLN cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET1) fld_info(cfld)%lvl = LVLSXML(IFD,IGET1) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1007,11 +1002,12 @@ SUBROUTINE MISCLN cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET2) fld_info(cfld)%lvl = LVLSXML(IFD,IGET2) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1036,7 +1032,7 @@ SUBROUTINE MISCLN IF (work1 > 0 .or. work2 > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ICINGFD(I,J,IFD) ENDDO ENDDO @@ -1045,11 +1041,12 @@ SUBROUTINE MISCLN cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET1) fld_info(cfld)%lvl = LVLSXML(IFD,IGET1) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1059,11 +1056,12 @@ SUBROUTINE MISCLN cfld = cfld + 1 fld_info(cfld)%ifld = IAVBLFLD(IGET2) fld_info(cfld)%lvl = LVLSXML(IFD,IGET2) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1072,131 +1070,6 @@ SUBROUTINE MISCLN ENDIF ENDIF ! -! ADD FD LEVEL DUST/ASH (GOCART) - IF (IGET(601)>0) THEN ! DUST 1 - IF (LVLS(IFD,IGET(601))>0) THEN -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=AERFD(I,J,IFD,1) - ENDDO - ENDDO - if(iget(601)>0) then - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(601)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(601)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - endif - ENDIF - ENDIF - - IF (IGET(602)>0) THEN ! DUST 2 - IF (LVLS(IFD,IGET(602))>0) THEN -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=AERFD(I,J,IFD,2) - ENDDO - ENDDO - if(iget(602)>0) then - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(602)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(602)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - endif - ENDIF - ENDIF - - IF (IGET(603)>0) THEN ! DUST 3 - IF (LVLS(IFD,IGET(603))>0) THEN -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=AERFD(I,J,IFD,3) - ENDDO - ENDDO - if(iget(603)>0) then - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(603)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(603)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - endif - ENDIF - ENDIF - - IF (IGET(604)>0) THEN ! DUST 4 - IF (LVLS(IFD,IGET(604))>0) THEN -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=AERFD(I,J,IFD,4) - ENDDO - ENDDO - if(iget(604)>0) then - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(604)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(604)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - endif - ENDIF - ENDIF - - IF (IGET(605)>0) THEN ! DUST 5 - IF (LVLS(IFD,IGET(605))>0) THEN -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=AERFD(I,J,IFD,5) - ENDDO - ENDDO - if(iget(605)>0) then - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(605)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(605)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - endif - ENDIF - ENDIF ! ! @@ -1204,7 +1077,7 @@ SUBROUTINE MISCLN IF ((IGET(060)>0).OR.(IGET(061)>0)) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=U7D(I,J,IFD) GRID2(I,J)=V6D(I,J,IFD) ENDDO @@ -1215,11 +1088,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(060)) fld_info(cfld)%lvl=LVLSXML(IFD,IGET(060)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1231,11 +1105,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(061)) fld_info(cfld)%lvl=LVLSXML(IFD,IGET(061)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif @@ -1247,7 +1122,7 @@ SUBROUTINE MISCLN IF ((IGET(576)>0).OR.(IGET(577)>0)) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = U7D(I,J,IFD) GRID2(I,J) = V6D(I,J,IFD) ENDDO @@ -1258,11 +1133,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(576)) fld_info(cfld)%lvl=LVLSXML(IFD,IGET(576)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1274,11 +1150,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(577)) fld_info(cfld)%lvl=LVLSXML(IFD,IGET(577)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif @@ -1286,131 +1163,152 @@ SUBROUTINE MISCLN ENDIF ENDIF - 10 CONTINUE - DEALLOCATE(T7D,Q7D,U7D,V6D,P7D,ICINGFD,AERFD) + END DO loop_10 + DEALLOCATE(T7D,Q7D,U7D,V6D,P7D,ICINGFD) ENDIF ! ! ***BLOCK 3-2: FD LEVEL (from control file) GTG ! - IF(IGET(467)>0.or.IGET(468)>0.or.IGET(469)>0) THEN - if(IGET(467)>0) THEN ! GTG - N=IAVBLFLD(IGET(467)) - NFDCTL=size(pset%param(N)%level) - if(allocated(ITYPEFDLVLCTL)) deallocate(ITYPEFDLVLCTL) - allocate(ITYPEFDLVLCTL(NFDCTL)) - DO IFD = 1,NFDCTL - ITYPEFDLVLCTL(IFD)=LVLS(IFD,IGET(467)) - enddo - if(allocated(HTFDCTL)) deallocate(HTFDCTL) - allocate(HTFDCTL(NFDCTL)) - HTFDCTL=pset%param(N)%level -! print *, "GTG 467 levels=",pset%param(N)%level - allocate(GTGFD(IM,JSTA:JEND,NFDCTL)) - call FDLVL_MASS(ITYPEFDLVLCTL,NFDCTL,HTFDCTL,GTG,GTGFD) -! print *, "GTG 467 Done GTGFD=",me,GTGFD(IM/2,jend,1:NFDCTL) - DO IFD = 1,NFDCTL - IF (LVLS(IFD,IGET(467))>0) THEN -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=GTGFD(I,J,IFD) - ENDDO - ENDDO - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(467)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(467)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - ENDIF - ENDDO - endif - - if(IGET(468)>0) THEN ! CAT - N=IAVBLFLD(IGET(468)) - NFDCTL=size(pset%param(N)%level) - if(allocated(ITYPEFDLVLCTL)) deallocate(ITYPEFDLVLCTL) - allocate(ITYPEFDLVLCTL(NFDCTL)) - DO IFD = 1,NFDCTL - ITYPEFDLVLCTL(IFD)=LVLS(IFD,IGET(468)) - enddo - if(allocated(HTFDCTL)) deallocate(HTFDCTL) - allocate(HTFDCTL(NFDCTL)) - HTFDCTL=pset%param(N)%level - allocate(CATFD(IM,JSTA:JEND,NFDCTL)) - call FDLVL_MASS(ITYPEFDLVLCTL,NFDCTL,HTFDCTL,catedr,CATFD) - DO IFD = 1,NFDCTL - IF (LVLS(IFD,IGET(468))>0) THEN -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=CATFD(I,J,IFD) - ENDDO - ENDDO - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(468)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(468)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - ENDIF - ENDDO - endif - - if(IGET(469)>0) THEN ! MWT - N=IAVBLFLD(IGET(469)) - NFDCTL=size(pset%param(N)%level) - if(allocated(ITYPEFDLVLCTL)) deallocate(ITYPEFDLVLCTL) - allocate(ITYPEFDLVLCTL(NFDCTL)) - DO IFD = 1,NFDCTL - ITYPEFDLVLCTL(IFD)=LVLS(IFD,IGET(469)) - enddo - if(allocated(HTFDCTL)) deallocate(HTFDCTL) - allocate(HTFDCTL(NFDCTL)) - HTFDCTL=pset%param(N)%level - allocate(MWTFD(IM,JSTA:JEND,NFDCTL)) - call FDLVL_MASS(ITYPEFDLVLCTL,NFDCTL,HTFDCTL,MWT,MWTFD) + IF(gtg_on .and. (IGET(467)>0.or.IGET(468)>0.or.IGET(469)>0.or.IGET(477)>0)) THEN + ! MASS FIELDS INTERPOLATION + if(allocated(QIN)) deallocate(QIN) + if(allocated(QTYPE)) deallocate(QTYPE) + ALLOCATE(QIN(ISTA:IEND,JSTA:JEND,LM,NFDMAX)) + ALLOCATE(QTYPE(NFDMAX)) + +! INITIALIZE INPUTS + nFDS = 0 + IF(IGET(467) > 0) THEN + nFDS = nFDS + 1 + IDS(nFDS) = 467 + QIN(ISTA:IEND,JSTA:JEND,1:LM,nFDS)=gtg(ISTA:IEND,JSTA:JEND,1:LM) + QTYPE(nFDS)="O" + end if + IF(IGET(468) > 0) THEN + nFDS = nFDS + 1 + IDS(nFDS) = 468 + QIN(ISTA:IEND,JSTA:JEND,1:LM,nFDS)=catedr(ISTA:IEND,JSTA:JEND,1:LM) + QTYPE(nFDS)="O" + end if + IF(IGET(469) > 0) THEN + nFDS = nFDS + 1 + IDS(nFDS) = 469 + QIN(ISTA:IEND,JSTA:JEND,1:LM,nFDS)=mwt(ISTA:IEND,JSTA:JEND,1:LM) + QTYPE(nFDS)="O" + end if + + IF(IGET(477) > 0) THEN + nFDS = nFDS + 1 + IDS(nFDS) = 477 + QIN(ISTA:IEND,JSTA:JEND,1:LM,nFDS)=cit(ISTA:IEND,JSTA:JEND,1:LM) + QTYPE(nFDS)="O" + end if + + +! FOR Regional GTG, ALL LEVLES OF DIFFERENT VARIABLES ARE THE SAME + iID=467 + N = IAVBLFLD(IGET(iID)) + NFDCTL=size(pset%param(N)%level) + if(allocated(ITYPEFDLVLCTL)) deallocate(ITYPEFDLVLCTL) + allocate(ITYPEFDLVLCTL(NFDCTL)) + DO IFD = 1,NFDCTL + ITYPEFDLVLCTL(IFD)=LVLS(IFD,IGET(iID)) + ENDDO + if(allocated(HTFDCTL)) deallocate(HTFDCTL) + allocate(HTFDCTL(NFDCTL)) + HTFDCTL=pset%param(N)%level + + if(allocated(QFD)) deallocate(QFD) + ALLOCATE(QFD(ISTA:IEND,JSTA:JEND,NFDCTL,nFDS)) + QFD=SPVAL + + ! pset%param(N)%level will not be used in FDLVL_MASS() because QTYPE='O' + call FDLVL_MASS(ITYPEFDLVLCTL,NFDCTL,pset%param(N)%level,HTFDCTL,nFDS,QIN,QTYPE,QFD) + +! Adjust values before output + DO N=1,nFDS + iID=IDS(N) + if(iID==467 .or. iID==468 .or. iID==469 .or. iID==477) then + DO IFD = 1,NFDCTL + DO J=JSTA,JEND + DO I=ISTA,IEND + if(QFD(I,J,IFD,N) < SPVAL) then + QFD(I,J,IFD,N)=max(0.0,QFD(I,J,IFD,N)) + QFD(I,J,IFD,N)=min(1.0,QFD(I,J,IFD,N)) + endif + ENDDO + ENDDO + ENDDO + endif + ENDDO + +! Output + DO N=1,nFDS + iID=IDS(N) + +! For regional GTG, output the max value of EDPARM(ID=467) in the whole vertical column +! to MXEDPRM(ID=476) + if (iID == 467 .and. iget(476) > 0) then + EGRID1 = SPVAL + DO IFD = 1,NFDCTL + DO J=JSTA,JEND + DO I=ISTA,IEND + work1=QFD(I,J,IFD,N) + if(EGRID1(I,J)>=SPVAL) then + EGRID1(I,J)=work1 + elseif(work10) THEN + IF (LVLS(IFD,IGET(iID)) > 0) THEN !$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=MWTFD(I,J,IFD) - ENDDO - ENDDO - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(469)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(469)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - ENDIF + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J)=QFD(I,J,IFD,N) + ENDDO + ENDDO + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(iID)) + fld_info(cfld)%lvl=LVLSXML(IFD,IGET(iID)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF ENDDO - endif - - if(allocated(GTGFD)) deallocate(GTGFD) - if(allocated(CATFD)) deallocate(CATFD) - if(allocated(MWTFD)) deallocate(MWTFD) + ENDDO + DEALLOCATE(QIN,QFD) + DEALLOCATE(QTYPE) if(allocated(ITYPEFDLVLCTL)) deallocate(ITYPEFDLVLCTL) if(allocated(HTFDCTL)) deallocate(HTFDCTL) @@ -1426,7 +1324,7 @@ SUBROUTINE MISCLN IF (IGET(062)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=Z1D(I,J) IF (SUBMODELNAME == 'RTMA') THEN FREEZELVL(I,J)=GRID1(I,J) @@ -1437,11 +1335,12 @@ SUBROUTINE MISCLN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(062)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1451,20 +1350,21 @@ SUBROUTINE MISCLN IF (IGET(063)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RH1D(I,J) ENDDO ENDDO - CALL SCLFLD(GRID1,H100,IM,JM) + CALL SCLFLD(GRID1(ista:iend,jsta:jend),H100,IM,JM) CALL BOUND(GRID1,H1,H100) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(063)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1474,18 +1374,19 @@ SUBROUTINE MISCLN IF (IGET(753)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = P1D(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(753)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1500,7 +1401,7 @@ SUBROUTINE MISCLN IF (IGET(165)>0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=Z1D(I,J) ENDDO ENDDO @@ -1508,11 +1409,12 @@ SUBROUTINE MISCLN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(165)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1523,7 +1425,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(RH1D(I,J) < spval) GRID1(I,J)=RH1D(I,J)*100. ENDDO ENDDO @@ -1531,11 +1433,12 @@ SUBROUTINE MISCLN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(350)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1545,18 +1448,19 @@ SUBROUTINE MISCLN IF (IGET(756)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = P1D(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(756)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1573,7 +1477,7 @@ SUBROUTINE MISCLN IF (IGET(776)>0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=Z1D(I,J) ENDDO ENDDO @@ -1581,11 +1485,12 @@ SUBROUTINE MISCLN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(776)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1596,7 +1501,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(RH1D(I,J) < spval) GRID1(I,J)=RH1D(I,J)*100. ENDDO ENDDO @@ -1604,11 +1509,12 @@ SUBROUTINE MISCLN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(777)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1618,18 +1524,19 @@ SUBROUTINE MISCLN IF (IGET(778)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=P1D(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(778)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1646,7 +1553,7 @@ SUBROUTINE MISCLN IF (IGET(779)>0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=Z1D(I,J) ENDDO ENDDO @@ -1654,11 +1561,12 @@ SUBROUTINE MISCLN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(779)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1669,7 +1577,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(RH1D(I,J) < spval) GRID1(I,J)=RH1D(I,J)*100. ENDDO ENDDO @@ -1677,11 +1585,12 @@ SUBROUTINE MISCLN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(780)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1691,18 +1600,19 @@ SUBROUTINE MISCLN IF (IGET(781)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=P1D(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(781)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1710,10 +1620,10 @@ SUBROUTINE MISCLN ENDIF ! - allocate(PBND(IM,jsta:jend,NBND), TBND(IM,jsta:jend,NBND), & - QBND(IM,jsta:jend,NBND), UBND(IM,jsta:jend,NBND), & - VBND(IM,jsta:jend,NBND), RHBND(IM,jsta:jend,NBND), & - WBND(IM,jsta:jend,NBND)) + allocate(PBND(ista:iend,jsta:jend,NBND), TBND(ista:iend,jsta:jend,NBND), & + QBND(ista:iend,jsta:jend,NBND), UBND(ista:iend,jsta:jend,NBND), & + VBND(ista:iend,jsta:jend,NBND), RHBND(ista:iend,jsta:jend,NBND), & + WBND(ista:iend,jsta:jend,NBND)) ! ! ***BLOCK 5: BOUNDARY LAYER FIELDS. @@ -1726,38 +1636,35 @@ SUBROUTINE MISCLN (IGET(090)>0).OR.(IGET(075)>0).OR. & (IGET(109)>0).OR.(IGET(110)>0).OR. & (IGET(031)>0).OR.(IGET(032)>0).OR. & - (IGET(573)>0).OR. & + (IGET(573)>0).OR. NEED_IFI .OR. & (IGET(107)>0).OR.(IGET(091)>0).OR. & (IGET(092)>0).OR.(IGET(093)>0).OR. & (IGET(094)>0).OR.(IGET(095)>0).OR. & (IGET(096)>0).OR.(IGET(097)>0).OR. & (IGET(098)>0).OR.(IGET(221)>0) ) THEN ! - allocate(OMGBND(IM,jsta:jend,NBND),PWTBND(IM,jsta:jend,NBND), & - QCNVBND(IM,jsta:jend,NBND),LVLBND(IM,jsta:jend,NBND), & - LB2(IM,jsta:jend)) - + call allocate_cape_arrays ! COMPUTE ETA BOUNDARY LAYER FIELDS. CALL BNDLYR(PBND,TBND,QBND,RHBND,UBND,VBND, & WBND,OMGBND,PWTBND,QCNVBND,LVLBND) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EGRID2(i,j) = SPVAL ENDDO ENDDO ! ! LOOP OVER NBND BOUNDARY LAYERS. - DO 20 LBND = 1,NBND + boundary_layer_loop: DO LBND = 1,NBND ! ! BOUNDARY LAYER PRESSURE. IF (IGET(067)>0) THEN IF (LVLS(LBND,IGET(067))>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = PBND(I,J,LBND) ENDDO ENDDO @@ -1765,11 +1672,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(067)) fld_info(cfld)%lvl=LVLSXML(LBND,IGET(067)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1781,7 +1689,7 @@ SUBROUTINE MISCLN IF (LVLS(LBND,IGET(068))>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=TBND(I,J,LBND) ENDDO ENDDO @@ -1789,11 +1697,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(068)) fld_info(cfld)%lvl=LVLSXML(LBND,IGET(068)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1803,16 +1712,17 @@ SUBROUTINE MISCLN ! BOUNDARY LAYER POTENTIAL TEMPERATURE. IF (IGET(069)>0) THEN IF (LVLS(LBND,IGET(069))>0) THEN - CALL CALPOT(PBND(1,jsta,LBND),TBND(1,jsta,LBND),GRID1(1,jsta)) + CALL CALPOT(PBND(ista,jsta,LBND),TBND(ista,jsta,LBND),GRID1(ista:iend,jsta:jend)) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(069)) fld_info(cfld)%lvl=LVLSXML(IFD,IGET(069)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1824,21 +1734,22 @@ SUBROUTINE MISCLN IF (LVLS(LBND,IGET(072))>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=RHBND(I,J,LBND) ENDDO ENDDO - CALL SCLFLD(GRID1,H100,IM,JM) + CALL SCLFLD(GRID1(ista:iend,jsta:jend),H100,IM,JM) CALL BOUND(GRID1,H1,H100) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%lvl=LVLSXML(LBND,IGET(072)) fld_info(cfld)%ifld=IAVBLFLD(IGET(072)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1848,17 +1759,18 @@ SUBROUTINE MISCLN ! BOUNDARY LAYER DEWPOINT TEMPERATURE. IF (IGET(070)>0) THEN IF (LVLS(LBND,IGET(070))>0) THEN - CALL CALDWP(PBND(1,jsta,LBND), QBND(1,jsta,LBND), & - GRID1(1,jsta), TBND(1,jsta,LBND)) + CALL CALDWP(PBND(ista:iend,jsta:jend,LBND), QBND(ista:iend,jsta:jend,LBND), & + GRID1(ista:iend,jsta:jend), TBND(ista:iend,jsta:jend,LBND)) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(070)) fld_info(cfld)%lvl=LVLSXML(LBND,IGET(070)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1870,7 +1782,7 @@ SUBROUTINE MISCLN IF (LVLS(LBND,IGET(071))>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=QBND(I,J,LBND) ENDDO ENDDO @@ -1879,11 +1791,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(071)) fld_info(cfld)%lvl=LVLSXML(LBND,IGET(071)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1895,7 +1808,7 @@ SUBROUTINE MISCLN IF (LVLS(LBND,IGET(088))>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = QCNVBND(I,J,LBND) ENDDO ENDDO @@ -1903,11 +1816,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(088)) fld_info(cfld)%lvl=LVLSXML(LBND,IGET(088)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1929,7 +1843,7 @@ SUBROUTINE MISCLN IF(FIELD1.OR.FIELD2)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = UBND(I,J,LBND) GRID2(I,J) = VBND(I,J,LBND) ENDDO @@ -1941,11 +1855,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(073)) fld_info(cfld)%lvl=LVLSXML(LBND,IGET(073)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1957,11 +1872,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(074)) fld_info(cfld)%lvl=LVLSXML(LBND,IGET(074)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif @@ -1974,7 +1890,7 @@ SUBROUTINE MISCLN IF (LVLS(LBND,IGET(090))>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = OMGBND(I,J,LBND) ENDDO ENDDO @@ -1982,11 +1898,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(090)) fld_info(cfld)%lvl=LVLSXML(LBND,IGET(090)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endiF @@ -1998,7 +1915,7 @@ SUBROUTINE MISCLN IF (LVLS(LBND,IGET(089))>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = PWTBND(I,J,LBND) ENDDO ENDDO @@ -2007,11 +1924,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(089)) fld_info(cfld)%lvl=LVLSXML(LBND,IGET(089)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2020,19 +1938,20 @@ SUBROUTINE MISCLN ! ! BOUNDARY LAYER LIFTED INDEX. IF (IGET(075)>0 .OR. IGET(031)>0 .OR. IGET(573)>0) THEN - CALL OTLFT(PBND(1,jsta,LBND),TBND(1,jsta,LBND), & - QBND(1,jsta,LBND),GRID1(1,jsta)) + CALL OTLFT(PBND(ista,jsta,LBND),TBND(ista,jsta,LBND), & + QBND(ista,jsta,LBND),GRID1(ista:iend,jsta:jend)) IF(IGET(075)>0)THEN IF (LVLS(LBND,IGET(075))>0) THEN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(075)) fld_info(cfld)%lvl=LVLSXML(LBND,IGET(075)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2041,7 +1960,7 @@ SUBROUTINE MISCLN IF(IGET(031)>0 .or. IGET(573)>0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EGRID2(I,J) = MIN(EGRID2(I,J),GRID1(I,J)) END DO END DO @@ -2049,14 +1968,14 @@ SUBROUTINE MISCLN ENDIF ! ! END OF ETA BOUNDARY LAYER LOOP. - 20 CONTINUE + END DO boundary_layer_loop deallocate(OMGBND,PWTBND,QCNVBND) ! ! BEST LIFTED INDEX FROM BOUNDARY LAYER FIELDS. ! IF (IGET(031)>0 .OR. IGET(573)>0 ) THEN ! DO J=JSTA,JEND -! DO I=1,IM +! DO I=ISTA,IEND ! EGRID1(I,J) = H99999 ! EGRID2(I,J) = H99999 ! ENDDO @@ -2066,14 +1985,14 @@ SUBROUTINE MISCLN ! CALL OTLFT(PBND(1,1,LBND),TBND(1,1,LBND), & ! QBND(1,1,LBND),EGRID2) ! DO J=JSTA,JEND -! DO I=1,IM +! DO I=ISTA,IEND ! EGRID1(I,J)=AMIN1(EGRID1(I,J),EGRID2(I,J)) ! ENDDO ! ENDDO ! 50 CONTINUE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=EGRID2(I,J) ENDDO ENDDO @@ -2083,7 +2002,7 @@ SUBROUTINE MISCLN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(031)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif endif @@ -2091,11 +2010,12 @@ SUBROUTINE MISCLN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(573)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2127,23 +2047,24 @@ SUBROUTINE MISCLN ! LVLSXML(1,IGET(566)),'LVLSXML(1,IGET(567)=', & ! LVLSXML(1,IGET(567)),'field1=',field1,'field2=',field2 ! - IF(FIELD1.OR.FIELD2)THEN + IF(FIELD1.OR.FIELD2.OR.NEED_IFI)THEN ITYPE = 2 + call allocate_cape_arrays ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EGRID1(I,J) = -H99999 EGRID2(I,J) = -H99999 ENDDO ENDDO ! - DO 80 LBND = 1,NBND - CALL CALTHTE(PBND(1,jsta,LBND),TBND(1,jsta,LBND), & - QBND(1,jsta,LBND),EGRID1) + loop_80: DO LBND = 1,NBND + CALL CALTHTE(PBND(ista,jsta,LBND),TBND(ista,jsta,LBND), & + QBND(ista,jsta,LBND),EGRID1) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (EGRID1(I,J) > EGRID2(I,J)) THEN EGRID2(I,J) = EGRID1(I,J) LB2(I,J) = LVLBND(I,J,LBND) @@ -2153,42 +2074,52 @@ SUBROUTINE MISCLN ENDIF ENDDO ENDDO - 80 CONTINUE + ENDDO loop_80 ! DPBND = 0. CALL CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,LB2,EGRID1, & EGRID2,EGRID3,EGRID4,EGRID5) + ! - IF (IGET(566)>0) THEN -! dong add missing value for cape + IF(IGET(566)>0 .or. NEED_IFI) THEN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) GRID1(I,J) = EGRID1(I,J) ENDDO ENDDO - CALL BOUND(GRID1,D00,H99999) + CALL BOUND(GRID1,D00,H99999) +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + CAPE(I,J) = GRID1(I,J) + ENDDO + ENDDO + ENDIF + + IF (IGET(566)>0) THEN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(566)) fld_info(cfld)%lvl=LVLSXML(1,IGET(566)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = CAPE(ii,jj) enddo enddo endif ENDIF ! - IF (IGET(567) > 0) THEN -! dong add missing value for cape + IF (IGET(567) > 0 .or. NEED_IFI) THEN +! dong add missing value for CIN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) GRID1(I,J) = - EGRID2(I,J) ENDDO ENDDO @@ -2197,20 +2128,24 @@ SUBROUTINE MISCLN ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) GRID1(I,J) = - GRID1(I,J) + CIN(I,J) = GRID1(I,J) ENDDO ENDDO -! + ENDIF + + IF(IGET(567) > 0) THEN if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(567)) fld_info(cfld)%lvl=LVLSXML(1,IGET(567)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = CIN(ii,jj) enddo enddo endif @@ -2222,18 +2157,19 @@ SUBROUTINE MISCLN IF(IGET(221) > 0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = PBLH(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(221)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2242,24 +2178,25 @@ SUBROUTINE MISCLN ! EGRID1 IS LCL PRESSURE. EGRID2 IS LCL HEIGHT. ! IF ( (IGET(109)>0).OR.(IGET(110)>0) ) THEN - CALL CALLCL(PBND(1,jsta,1),TBND(1,jsta,1), & - QBND(1,jsta,1),EGRID1,EGRID2) + CALL CALLCL(PBND(ista,jsta,1),TBND(ista,jsta,1), & + QBND(ista,jsta,1),EGRID1,EGRID2) IF (IGET(109)>0) THEN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(TBND(I,J,1) < spval) GRID1(I,J) = EGRID2(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(109)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2268,18 +2205,19 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(TBND(I,J,1) < spval) GRID1(I,J) = EGRID1(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(110)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2294,15 +2232,15 @@ SUBROUTINE MISCLN (IGET(096)>0).OR.(IGET(097)>0).OR. & (IGET(098)>0) ) THEN - allocate(T78483(im,jsta:jend), T89671(im,jsta:jend), & - P78483(im,jsta:jend), P89671(im,jsta:jend)) + allocate(T78483(ista:iend,jsta:jend), T89671(ista:iend,jsta:jend), & + P78483(ista:iend,jsta:jend), P89671(ista:iend,jsta:jend)) ! ! COMPUTE SIGMA 0.89671 AND 0.78483 TEMPERATURES ! INTERPOLATE LINEAR IN LOG P IF (IGET(097)>0.OR.IGET(098)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND P78483(I,J) = LOG(PINT(I,J,NINT(LMH(I,J)))*0.78483) P89671(I,J) = LOG(PINT(I,J,NINT(LMH(I,J)))*0.89671) ENDDO @@ -2312,7 +2250,7 @@ SUBROUTINE MISCLN !!$omp parallel do private(fac1,fac2,pkl1,pku1,t78483,t89671) DO L=2,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PKL1=0.5*(ALPINT(I,J,L)+ALPINT(I,J,L+1)) PKU1=0.5*(ALPINT(I,J,L)+ALPINT(I,J,L-1)) ! IF(I==1 .AND. J==1)PRINT*,'L,P89671,PKL1,PKU1= ', & @@ -2336,7 +2274,7 @@ SUBROUTINE MISCLN ! print*,'done(1,1)= ',done(1,1) !$omp parallel do private(i,j,pl,tl,ql,qsat,rhl) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(.NOT. DONE(I,J)) THEN PL = PINT(I,J,LM-1) TL = 0.5*(T(I,J,LM-2)+T(I,J,LM-1)) @@ -2406,7 +2344,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T(I,J,LM) < spval) GRID1(I,J) = T89671(I,J) ! IF(T89671(I,J)>350.)PRINT*,'LARGE T89671 ', & ! I,J,T89671(I,J) @@ -2416,11 +2354,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(097)) fld_info(cfld)%lvl=LVLSXML(1,IGET(097)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2431,7 +2370,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T(I,J,LM) < spval) GRID1(I,J) = T78483(I,J) ENDDO ENDDO @@ -2439,11 +2378,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(098)) fld_info(cfld)%lvl=LVLSXML(1,IGET(098)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2465,18 +2405,19 @@ SUBROUTINE MISCLN IF (IGET(091)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = PBND(I,J,1) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(091)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2486,7 +2427,7 @@ SUBROUTINE MISCLN IF (IGET(092)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = TBND(I,J,1) ENDDO ENDDO @@ -2494,11 +2435,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(092)) fld_info(cfld)%lvl=LVLSXML(1,IGET(092)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2508,7 +2450,7 @@ SUBROUTINE MISCLN IF (IGET(093)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = QBND(I,J,1) ENDDO ENDDO @@ -2517,11 +2459,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(093)) fld_info(cfld)%lvl=LVLSXML(1,IGET(093)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2531,21 +2474,22 @@ SUBROUTINE MISCLN IF (IGET(094)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RHBND(I,J,1) ENDDO ENDDO - CALL SCLFLD(GRID1,H100,IM,JM) + CALL SCLFLD(GRID1(ista:iend,jsta:jend),H100,IM,JM) CALL BOUND(GRID1,H1,H100) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(094)) fld_info(cfld)%lvl=LVLSXML(1,IGET(094)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2555,7 +2499,7 @@ SUBROUTINE MISCLN IF ((IGET(095)>0).OR.(IGET(096)>0)) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = UBND(I,J,1) GRID2(I,J) = VBND(I,J,1) ENDDO @@ -2565,11 +2509,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(095)) fld_info(cfld)%lvl=LVLSXML(1,IGET(095)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2579,11 +2524,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(096)) fld_info(cfld)%lvl=LVLSXML(1,IGET(096)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif @@ -2609,29 +2555,30 @@ SUBROUTINE MISCLN ! IF ( (IGET(066)>0).OR.(IGET(081)>0).OR. & (IGET(082)>0).OR.(IGET(104)>0) ) THEN - allocate(RH3310(IM,jsta:jend),RH6610(IM,jsta:jend), & - RH3366(IM,jsta:jend),PW3310(IM,jsta:jend)) + allocate(RH3310(ista:iend,jsta:jend),RH6610(ista:iend,jsta:jend), & + RH3366(ista:iend,jsta:jend),PW3310(ista:iend,jsta:jend)) CALL LFMFLD(RH3310,RH6610,RH3366,PW3310) ! ! SIGMA 0.33-1.00 MEAN RELATIVE HUMIIDITY. IF (IGET(066)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RH3310(I,J) ENDDO ENDDO - CALL SCLFLD(GRID1,H100,IM,JM) + CALL SCLFLD(GRID1(ista:iend,jsta:jend),H100,IM,JM) CALL BOUND(GRID1,H1,H100) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(066)) fld_info(cfld)%lvl=LVLSXML(1,IGET(066)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo ! print *,'in miscln,RH0.33-1.0,cfld=',cfld,'fld=', & @@ -2643,21 +2590,22 @@ SUBROUTINE MISCLN IF (IGET(081)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RH6610(I,J) ENDDO ENDDO - CALL SCLFLD(GRID1,H100,IM,JM) + CALL SCLFLD(GRID1(ista:iend,jsta:jend),H100,IM,JM) CALL BOUND(GRID1,H1,H100) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(081)) fld_info(cfld)%lvl=LVLSXML(1,IGET(081)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2667,21 +2615,22 @@ SUBROUTINE MISCLN IF (IGET(082)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RH3366(I,J) ENDDO ENDDO - CALL SCLFLD(GRID1,H100,IM,JM) + CALL SCLFLD(GRID1(ista:iend,jsta:jend),H100,IM,JM) CALL BOUND(GRID1,H1,H100) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(082)) fld_info(cfld)%lvl=LVLSXML(1,IGET(082)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2691,7 +2640,7 @@ SUBROUTINE MISCLN IF (IGET(104)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = PW3310(I,J) ENDDO ENDDO @@ -2700,11 +2649,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(104)) fld_info(cfld)%lvl=LVLSXML(1,IGET(104)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2717,9 +2667,9 @@ SUBROUTINE MISCLN IF ( (IGET(099)>0).OR.(IGET(100)>0).OR. & (IGET(101)>0).OR.(IGET(102)>0).OR. & (IGET(103)>0) ) THEN - allocate(RH4710(IM,jsta_2l:jend_2u),RH4796(IM,jsta_2l:jend_2u), & - RH1847(IM,jsta_2l:jend_2u)) - allocate(RH8498(IM,jsta_2l:jend_2u),QM8510(IM,jsta_2l:jend_2u)) + allocate(RH4710(ista_2l:iend_2u,jsta_2l:jend_2u),RH4796(ista_2l:iend_2u,jsta_2l:jend_2u), & + RH1847(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(RH8498(ista_2l:iend_2u,jsta_2l:jend_2u),QM8510(ista_2l:iend_2u,jsta_2l:jend_2u)) CALL NGMFLD(RH4710,RH4796,RH1847,RH8498,QM8510) ! @@ -2727,21 +2677,22 @@ SUBROUTINE MISCLN IF (IGET(099)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RH4710(I,J) ENDDO ENDDO - CALL SCLFLD(GRID1,H100,IM,JM) + CALL SCLFLD(GRID1(ista:iend,jsta:jend),H100,IM,JM) CALL BOUND(GRID1,H1,H100) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(099)) fld_info(cfld)%lvl=LVLSXML(1,IGET(099)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2751,21 +2702,22 @@ SUBROUTINE MISCLN IF (IGET(100)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RH4796(I,J) ENDDO ENDDO - CALL SCLFLD(GRID1,H100,IM,JM) + CALL SCLFLD(GRID1(ista:iend,jsta:jend),H100,IM,JM) CALL BOUND(GRID1,H1,H100) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(100)) fld_info(cfld)%lvl=LVLSXML(1,IGET(100)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2775,21 +2727,22 @@ SUBROUTINE MISCLN IF (IGET(101)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RH1847(I,J) ENDDO ENDDO - CALL SCLFLD(GRID1,H100,IM,JM) + CALL SCLFLD(GRID1(ista:iend,jsta:jend),H100,IM,JM) CALL BOUND(GRID1,H1,H100) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(101)) fld_info(cfld)%lvl=LVLSXML(1,IGET(101)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2799,21 +2752,22 @@ SUBROUTINE MISCLN IF (IGET(102)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RH8498(I,J) ENDDO ENDDO - CALL SCLFLD(GRID1,H100,IM,JM) + CALL SCLFLD(GRID1(ista:iend,jsta:jend),H100,IM,JM) CALL BOUND(GRID1,H1,H100) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(102)) fld_info(cfld)%lvl=LVLSXML(1,IGET(102)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2825,7 +2779,7 @@ SUBROUTINE MISCLN ! CONVERT TO DIVERGENCE FOR GRIB !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(QM8510(I,J) < spval) GRID1(I,J) = -1.0*QM8510(I,J) ENDDO ENDDO @@ -2833,11 +2787,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(103)) fld_info(cfld)%lvl=LVLSXML(1,IGET(103)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2849,8 +2804,8 @@ SUBROUTINE MISCLN IF ( (IGET(318)>0).OR.(IGET(319)>0).OR. & (IGET(320)>0))THEN - allocate(RH4410(IM,jsta:jend),RH7294(IM,jsta:jend), & - RH4472(IM,jsta:jend),RH3310(IM,jsta:jend)) + allocate(RH4410(ista:iend,jsta:jend),RH7294(ista:iend,jsta:jend), & + RH4472(ista:iend,jsta:jend),RH3310(ista:iend,jsta:jend)) CALL LFMFLD_GFS(RH4410,RH7294,RH4472,RH3310) ! ! SIGMA 0.44-1.00 MEAN RELATIVE HUMIIDITY. @@ -2858,7 +2813,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(RH4410(I,J) < spval) GRID1(I,J) = RH4410(I,J)*100. ENDDO ENDDO @@ -2867,11 +2822,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(318)) fld_info(cfld)%lvl=LVLSXML(1,IGET(318)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2882,7 +2838,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(RH7294(I,J) < spval) GRID1(I,J) = RH7294(I,J)*100. ENDDO ENDDO @@ -2891,11 +2847,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(319)) fld_info(cfld)%lvl=LVLSXML(1,IGET(319)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2906,7 +2863,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(RH4472(I,J) < spval) GRID1(I,J)=RH4472(I,J)*100. ENDDO ENDDO @@ -2915,11 +2872,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(320)) fld_info(cfld)%lvl=LVLSXML(1,IGET(320)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2933,7 +2891,7 @@ SUBROUTINE MISCLN (IGET(325)>0).OR.(IGET(326)>0)) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EGRID2(I,J) = 0.995*PINT(I,J,LM+1) EGRID1(I,J) = LOG(PMID(I,J,LM)/EGRID2(I,J)) & / LOG(PMID(I,J,LM)/PMID(I,J,LM-1)) @@ -2954,7 +2912,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T(I,J,LM)0) THEN GRID1=spval DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) GRID1(I,J)=EGRID2(I,J) IF (SUBMODELNAME == 'RTMA') MLLCL(I,J) = GRID1(I,J) ENDDO @@ -3230,7 +3214,7 @@ SUBROUTINE MISCLN ! ! IF (IGET(110)>0) THEN ! DO J=JSTA,JEND -! DO I=1,IM +! DO I=ISTA,IEND ! GRID1(I,J)=EGRID1(I,J) ! ENDDO ! ENDDO @@ -3262,12 +3246,13 @@ SUBROUTINE MISCLN FIELD2=.TRUE. ENDIF ! - IF(FIELD1.OR.FIELD2)THEN + IF(FIELD1.OR.FIELD2.OR.NEED_IFI)THEN ITYPE = 1 + call allocate_cape_arrays ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EGRID1(I,J) = -H99999 EGRID2(I,J) = -H99999 ENDDO @@ -3276,16 +3261,15 @@ SUBROUTINE MISCLN DPBND = 300.E2 CALL CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,LB2,EGRID1, & EGRID2,EGRID3,EGRID4,EGRID5) - IF (SUBMODELNAME == 'RTMA') MUMIXR(I,J) = Q1D(I,J) - IF (IGET(584)>0) THEN + IF (IGET(584)>0 .or. NEED_IFI) THEN ! dong add missing value to cin GRID1 = spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) THEN - GRID1(I,J) = EGRID1(I,J) - IF (SUBMODELNAME == 'RTMA') MUCAPE(I,J)=GRID1(I,J) + GRID1(I,J) = EGRID1(I,J) + IF (SUBMODELNAME == 'RTMA') MUCAPE(I,J)=GRID1(I,J) ENDIF ENDDO ENDDO @@ -3293,33 +3277,40 @@ SUBROUTINE MISCLN ! IF (SUBMODELNAME == 'RTMA') THEN ! CALL BOUND(MUCAPE,D00,H99999) ! ENDIF - if(grib=='grib2') then +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + CAPE(I,J) = GRID1(I,J) + ENDDO + ENDDO + if(IGET(584)>0 .and. grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(584)) fld_info(cfld)%lvl=LVLSXML(1,IGET(584)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF - IF (IGET(585)>0) THEN + IF (IGET(585)>0 .or. NEED_IFI) THEN ! dong add missing value to cin GRID1 = spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) GRID1(I,J) = - EGRID2(I,J) ENDDO ENDDO CALL BOUND(GRID1,D00,H99999) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) THEN GRID1(I,J) = - GRID1(I,J) IF (SUBMODELNAME == 'RTMA')THEN @@ -3329,15 +3320,24 @@ SUBROUTINE MISCLN ENDIF ENDDO ENDDO - if(grib=='grib2') then + +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + CIN(I,J) = GRID1(I,J) + ENDDO + ENDDO + + if(IGET(585)>0 .and. grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(585)) fld_info(cfld)%lvl=LVLSXML(1,IGET(585)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3349,7 +3349,7 @@ SUBROUTINE MISCLN GRID1 = spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) GRID1(I,J) = EGRID4(I,J) ENDDO ENDDO @@ -3357,11 +3357,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(443)) fld_info(cfld)%lvl=LVLSXML(1,IGET(443)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3369,7 +3370,7 @@ SUBROUTINE MISCLN !Equilibrium Temperature IF (IGET(982)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = TEQL(I,J) ENDDO ENDDO @@ -3377,11 +3378,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(982)) fld_info(cfld)%lvl=LVLSXML(1,IGET(982)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3394,7 +3396,7 @@ SUBROUTINE MISCLN GRID1 = spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) GRID1(I,J) = EGRID3(I,J) ENDDO ENDDO @@ -3405,11 +3407,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(246)) fld_info(cfld)%lvl=LVLSXML(1,IGET(246)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3420,7 +3423,7 @@ SUBROUTINE MISCLN GRID1 = spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(CPRATE(I,J) < spval) THEN IF (CPRATE(I,J) > PTHRESH) THEN GRID1(I,J) = EGRID5(I,J) @@ -3435,11 +3438,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(444)) fld_info(cfld)%lvl=LVLSXML(1,IGET(444)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3453,13 +3457,13 @@ SUBROUTINE MISCLN ! --- Effective (inflow) Layer (EL) ! - ALLOCATE(EL_BASE(IM,JSTA_2L:JEND_2U)) - ALLOCATE(EL_TOPS(IM,JSTA_2L:JEND_2U)) - ALLOCATE(FOUND_BASE(IM,JSTA_2L:JEND_2U)) - ALLOCATE(FOUND_TOPS(IM,JSTA_2L:JEND_2U)) + ALLOCATE(EL_BASE(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U)) + ALLOCATE(EL_TOPS(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U)) + ALLOCATE(FOUND_BASE(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U)) + ALLOCATE(FOUND_TOPS(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U)) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EL_BASE(I,J) = LM EL_TOPS(I,J) = LM FOUND_BASE(I,J) = .FALSE. @@ -3477,7 +3481,7 @@ SUBROUTINE MISCLN ! SET AIR PARCELS FOR LEVEL L !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EGRID1(I,J) = -H99999 EGRID2(I,J) = -H99999 IDUMMY(I,J) = 0 @@ -3496,7 +3500,7 @@ SUBROUTINE MISCLN !--- CHECK CAPE/CIN OF EACH AIR PARCELS WITH EL CRITERIA !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF ( .NOT. FOUND_BASE(I,J) ) THEN IF ( EGRID1(I,J) >= 100. .AND. EGRID2(I,J) >= -250. ) THEN EL_BASE(I,J) = L @@ -3541,7 +3545,7 @@ SUBROUTINE MISCLN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IREC = IREC + 1 IREC2 = IREC2 + 1 WRITE(IUNIT,'(1x,I6,2x,I6,2(2x,I6,2x,F12.3))') I, J, & @@ -3577,6 +3581,10 @@ SUBROUTINE MISCLN IF(IGET(951)>0)THEN FIELD2=.TRUE. ENDIF + IF(SUBMODELNAME == 'RTMA') THEN + FIELD1=.TRUE. + FIELD2=.TRUE. + ENDIF ! ! IF(FIELD1)ITYPE=2 ! IF(FIELD2)ITYPE=2 @@ -3584,10 +3592,12 @@ SUBROUTINE MISCLN IF(FIELD1.OR.FIELD2)THEN ITYPE = 2 + call allocate_cape_arrays + ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EGRID1(I,J) = -H99999 EGRID2(I,J) = -H99999 EGRID3(I,J) = -H99999 @@ -3599,12 +3609,30 @@ SUBROUTINE MISCLN ! ENDDO ! ENDDO ! DO J=JSTA,JEND -! DO I=1,IM +! DO I=ISTA,IEND LB2(I,J) = (LVLBND(I,J,1) + LVLBND(I,J,2) + & LVLBND(I,J,3))/3 - P1D(I,J) = (PBND(I,J,1) + PBND(I,J,2) + PBND(I,J,3))/3 - T1D(I,J) = (TBND(I,J,1) + TBND(I,J,2) + TBND(I,J,3))/3 - Q1D(I,J) = (QBND(I,J,1) + QBND(I,J,2) + QBND(I,J,3))/3 + P1D(I,J) = spval + T1D(I,J) = spval + Q1D(I,J) = spval + IF (PBND(I,J,1) < spval .and. PBND(I,J,2) < spval .and. & + PBND(I,J,3) < spval .and. TBND(I,J,1) < spval .and. & + TBND(I,J,2) < spval .and. TBND(I,J,3) < spval .and. & + QBND(I,J,1) < spval .and. QBND(I,J,2) < spval .and. & + QBND(I,J,3) < spval) THEN + IF (capecin_2m) THEN + P1D(I,J) = (PBND(I,J,1) + PBND(I,J,2) + PBND(I,J,3) + & + PSHLTR(I,J))/4 + T1D(I,J) = (TBND(I,J,1) + TBND(I,J,2) + TBND(I,J,3) + & + TSHLTR(I,J)*(PSHLTR(I,J)/P1000)**CAPA)/4 + Q1D(I,J) = (QBND(I,J,1) + QBND(I,J,2) + QBND(I,J,3) + & + max(0.0,QSHLTR(I,J)))/4 + ELSE + P1D(I,J) = (PBND(I,J,1) + PBND(I,J,2) + PBND(I,J,3))/3 + T1D(I,J) = (TBND(I,J,1) + TBND(I,J,2) + TBND(I,J,3))/3 + Q1D(I,J) = (QBND(I,J,1) + QBND(I,J,2) + QBND(I,J,3))/3 + ENDIF + ENDIF ENDDO ENDDO @@ -3621,7 +3649,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) GRID1(I,J) = EGRID1(I,J) ENDDO ENDDO @@ -3630,11 +3658,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(950)) fld_info(cfld)%lvl=LVLSXML(1,IGET(950)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3645,7 +3674,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) GRID1(I,J) = - EGRID2(I,J) ENDDO ENDDO @@ -3654,7 +3683,7 @@ SUBROUTINE MISCLN ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) GRID1(I,J) = - GRID1(I,J) ENDDO ENDDO @@ -3663,11 +3692,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(951)) fld_info(cfld)%lvl=LVLSXML(1,IGET(951)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3679,7 +3709,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) GRID1(I,J) = EGRID3(I,J) ENDDO ENDDO @@ -3688,11 +3718,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(952)) fld_info(cfld)%lvl=LVLSXML(1,IGET(952)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3701,11 +3732,14 @@ SUBROUTINE MISCLN ! EFFECTIVE STORM RELATIVE HELICITY AND STORM MOTION. - allocate(UST(IM,jsta_2l:jend_2u),VST(IM,jsta_2l:jend_2u), & - HELI(IM,jsta_2l:jend_2u,2)) - allocate(LLOW(IM,jsta_2l:jend_2u),LUPP(IM,jsta_2l:jend_2u), & - CANGLE(IM,jsta_2l:jend_2u)) - + allocate(UST(ista_2l:iend_2u,jsta_2l:jend_2u),VST(ista_2l:iend_2u,jsta_2l:jend_2u), & + HELI(ista_2l:iend_2u,jsta_2l:jend_2u,2)) + allocate(LLOW(ista_2l:iend_2u,jsta_2l:jend_2u),LUPP(ista_2l:iend_2u,jsta_2l:jend_2u), & + CANGLE(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(LLOW_ZINT(ista_2l:iend_2u,jsta_2l:jend_2u), & + IEQL_ZINT(ista_2l:iend_2u,jsta_2l:jend_2u),Z_TEMP(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(MIDCAL(ista_2l:iend_2u,jsta_2l:jend_2u,1:LM)) + allocate(Z_MIDCAL(ista_2l:iend_2u,jsta_2l:jend_2u)) iget1 = IGET(953) iget2 = -1 iget3 = -1 @@ -3713,16 +3747,16 @@ SUBROUTINE MISCLN iget2 = LVLS(1,iget1) iget3 = LVLS(2,iget1) endif - if(me==0) write(0,*) '953 ',iget1,iget2,iget3 + if(me==0) write(*,*) '953 ',iget1,iget2,iget3 IF (iget1 > 0 .OR. IGET(162) > 0 .OR. IGET(953) > 0) THEN DEPTH(1) = 3000.0 DEPTH(2) = 1000.0 - IF (SUBMODELNAME == 'RTMA') THEN + IF (MODELNAME == 'RAPR' .AND. SUBMODELNAME == 'RTMA') THEN !--- IF USSING EL BASE & TOP COMPUTED BY NEW SCHEME FOR THE !RELATED VARIABLES !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND LLOW(I,J) = EL_BASE(I,J) LUPP(I,J) = EL_TOPS(I,J) ENDDO @@ -3730,7 +3764,7 @@ SUBROUTINE MISCLN ELSE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND LLOW(I,J) = INT(EGRID4(I,J)) LUPP(I,J) = INT(EGRID5(I,J)) ENDDO @@ -3747,9 +3781,8 @@ SUBROUTINE MISCLN IREC=0 OPEN(IUNIT,FILE=TRIM(ADJUSTL(EFFL_FNAME)),FORM='FORMATTED') DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IREC = IREC + 1 -! WRITE(IUNIT,'(1x,I6,2x,I6,2x,I6,2x,I6)')I,J,LLOW(I,J),LUPP(I,J) WRITE(IUNIT,'(1x,I6,2x,I6,2(2x,I6,2x,F12.3))') I, J, & LLOW(I,J),PMID(I,J,LLOW(I,J)), & LUPP(I,J),PMID(I,J,LUPP(I,J)) @@ -3759,26 +3792,25 @@ SUBROUTINE MISCLN ENDIF -! CALL CALHEL(DEPTH,UST,VST,HELI,USHR1,VSHR1,USHR6,VSHR6) CALL CALHEL2(LLOW,LUPP,DEPTH,UST,VST,HELI,CANGLE) ! IF (iget2 > 0) then !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = HELI(I,J,1) - ! GRID1(I,J) = HELI(I,J,2) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(iget1) fld_info(cfld)%lvl=LVLSXML(1,iget1) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3791,14 +3823,14 @@ SUBROUTINE MISCLN !EL field allocation - allocate(ESHR(IM,jsta_2l:jend_2u),UVECT(IM,jsta_2l:jend_2u),& - VVECT(IM,jsta_2l:jend_2u),HTSFC(IM,jsta_2l:jend_2u)) - allocate(EFFUST(IM,jsta_2l:jend_2u),EFFVST(IM,jsta_2l:jend_2u),& - ESRH(IM,jsta_2l:jend_2u)) + allocate(ESHR(ista_2l:iend_2u,jsta_2l:jend_2u),UVECT(ista_2l:iend_2u,jsta_2l:jend_2u),& + VVECT(ista_2l:iend_2u,jsta_2l:jend_2u),HTSFC(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(EFFUST(ista_2l:iend_2u,jsta_2l:jend_2u),EFFVST(ista_2l:iend_2u,jsta_2l:jend_2u),& + ESRH(ista_2l:iend_2u,jsta_2l:jend_2u)) ! DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND MAXTHE(I,J)=-H99999 THE(I,J)=-H99999 MAXTHEPOS(I,J)=0 @@ -3808,7 +3840,7 @@ SUBROUTINE MISCLN DO L=LM,1,-1 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EGRID1(I,J) = -H99999 P1D(I,J)=PMID(I,J,L) T1D(I,J)=T(I,J,L) @@ -3817,7 +3849,7 @@ SUBROUTINE MISCLN ENDDO CALL CALTHTE(P1D,T1D,Q1D,EGRID1) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND THE(I,J)=EGRID1(I,J) IF(THE(I,J)>=MAXTHE(I,J))THEN MAXTHE(I,J)=THE(I,J) @@ -3826,8 +3858,17 @@ SUBROUTINE MISCLN ENDIF ENDDO ENDDO - + DO J=JSTA,JEND + DO I=ISTA,IEND + LLOW(I,J) = EL_BASE(I,J) + LLOW_ZINT(I,J)=ZINT(I,J,LLOW(I,J)) + IEQL_ZINT(I,J)=ZINT(I,J,IEQL(I,J)) + Z_TEMP(I,J)=LLOW_ZINT(I,J)+D50*(IEQL_ZINT(I,J)-LLOW_ZINT(I,J)) + MIDCAL(I,J,L)=ABS(ZINT(I,J,L)-Z_TEMP(I,J)) + ENDDO + ENDDO ENDDO + Z_MIDCAL=MINLOC(MIDCAL,DIM=3) ! !get surface height @@ -3838,8 +3879,8 @@ SUBROUTINE MISCLN IVE(J) = MOD(J,2) IVW(J) = IVE(J)-1 enddo - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M ELSE IF(gridtype == 'B')THEN @@ -3849,8 +3890,8 @@ SUBROUTINE MISCLN IVE(J)=1 IVW(J)=0 enddo - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M ELSE @@ -3860,13 +3901,13 @@ SUBROUTINE MISCLN IVE(J) = 0 IVW(J) = 0 enddo - ISTART = 1 - ISTOP = IM + ISTART = ISTA + ISTOP = IEND JSTART = JSTA JSTOP = JEND END IF - IF(gridtype /= 'A') CALL EXCH(FIS(1:IM,JSTA:JEND)) + IF(gridtype /= 'A') CALL EXCH(FIS(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U)) DO J=JSTART,JSTOP DO I=ISTART,ISTOP IE = I+IVE(J) @@ -3885,7 +3926,7 @@ SUBROUTINE MISCLN IF (IGET(979)>0) THEN GRID1=spval DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ZINT(I,J,LLOW(I,J))0) THEN GRID1=spval DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ZINT(I,J,LUPP(I,J))0) THEN GRID1=spval DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(LLOW(I,J)0) THEN GRID1=spval DO J=JSTA,JEND - DO I=1,IM - IF(LLOW(I,J)0) THEN GRID1=spval DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(UVECT(I,J)0) THEN GRID1=spval DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(LLOW(I,J)0) THEN GRID1=spval DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(LLOW(I,J)0) THEN GRID1=spval DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(LLOW(I,J)0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (MLLCL(I,J)>D2000) THEN MLLCLtmp=D00 ELSEIF (MLLCL(I,J)0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND LLMH = NINT(LMH(I,J)) P1D(I,J) = PMID(I,J,LLMH) T1D(I,J) = T(I,J,LLMH) @@ -4151,7 +4204,7 @@ SUBROUTINE MISCLN ENDDO CALL CALLCL(P1D,T1D,Q1D,EGRID1,EGRID2) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND SLCL(I,J)=EGRID2(I,J) ENDDO ENDDO @@ -4164,7 +4217,7 @@ SUBROUTINE MISCLN EGRID3,dummy,dummy) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (SLCL(I,J)>D2000) THEN SLCLtmp=D00 ELSEIF (SLCL(I,J)<=D1000) THEN @@ -4202,20 +4255,21 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(990)) fld_info(cfld)%lvl=LVLSXML(1,IGET(990)) -! $omp parallel do private(i,j,jj) +! $omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF -!Effective Layer Supercell Parameter +!Effective Layer Significant Tornado Parameter IF (IGET(991)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (ESHR(I,J)<10.) THEN ESHRtmp=D00 ELSEIF (ESHR(I,J)>20.0) THEN @@ -4244,11 +4298,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(991)) fld_info(cfld)%lvl=LVLSXML(1,IGET(991)) -! $omp parallel do private(i,j,jj) +! $omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -4259,7 +4314,7 @@ SUBROUTINE MISCLN IF (IGET(992)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EGRID1(I,J) = -H99999 EGRID2(I,J) = -H99999 EGRID3(I,J) = -H99999 @@ -4270,11 +4325,27 @@ SUBROUTINE MISCLN EGRID8(I,J) = -H99999 LB2(I,J) = (LVLBND(I,J,1) + LVLBND(I,J,2) + & LVLBND(I,J,3))/3 - P1D(I,J) = (PBND(I,J,1) + PBND(I,J,2) + PBND(I,J,3))/3 - T1D(I,J) = (TVIRTUAL(TBND(I,J,1),QBND(I,J,1)) + & - TVIRTUAL(TBND(I,J,2),QBND(I,J,2)) + & - TVIRTUAL(TBND(I,J,3),QBND(I,J,3)))/3 - Q1D(I,J) = (QBND(I,J,1) + QBND(I,J,2) + QBND(I,J,3))/3 + P1D(I,J) = spval + T1D(I,J) = spval + Q1D(I,J) = spval + IF (PBND(I,J,1) < spval .and. PBND(I,J,2) < spval .and. & + PBND(I,J,3) < spval .and. TBND(I,J,1) < spval .and. & + TBND(I,J,2) < spval .and. TBND(I,J,3) < spval .and. & + QBND(I,J,1) < spval .and. QBND(I,J,2) < spval .and. & + QBND(I,J,3) < spval) THEN + IF (capecin_2m) THEN + P1D(I,J) = (PBND(I,J,1) + PBND(I,J,2) + PBND(I,J,3) + & + PSHLTR(I,J))/4 + T1D(I,J) = (TBND(I,J,1) + TBND(I,J,2) + TBND(I,J,3) + & + TSHLTR(I,J)*(PSHLTR(I,J)/P1000)**CAPA)/4 + Q1D(I,J) = (QBND(I,J,1) + QBND(I,J,2) + QBND(I,J,3) + & + max(0.0,QSHLTR(I,J)))/4 + ELSE + P1D(I,J) = (PBND(I,J,1) + PBND(I,J,2) + PBND(I,J,3))/3 + T1D(I,J) = (TBND(I,J,1) + TBND(I,J,2) + TBND(I,J,3))/3 + Q1D(I,J) = (QBND(I,J,1) + QBND(I,J,2) + QBND(I,J,3))/3 + ENDIF + ENDIF ENDDO ENDDO @@ -4287,7 +4358,7 @@ SUBROUTINE MISCLN GRID1=spval DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval) GRID1(I,J) = EGRID3(I,J) ENDDO ENDDO @@ -4296,11 +4367,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(992)) fld_info(cfld)%lvl=LVLSXML(1,IGET(992)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -4311,7 +4383,7 @@ SUBROUTINE MISCLN !$omp parallel do private(i,j) ! EGRID3 is Virtual LFC DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = Q1D(I,J) ENDDO ENDDO @@ -4319,11 +4391,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(763)) fld_info(cfld)%lvl=LVLSXML(1,IGET(763)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -4333,7 +4406,7 @@ SUBROUTINE MISCLN IF (IGET(993)>0) THEN GRID1=spval DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND LAPSE=-((T700(I,J)-T500(I,J))/((Z700(I,J)-Z500(I,J)))) SHIP=(MUCAPE(I,J)*D1000*MUQ1D(I,J)*LAPSE*(T500(I,J)-K2C)*FSHR(I,J))/HCONST IF (MUCAPE(I,J)<1300.)THEN @@ -4352,11 +4425,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(993)) fld_info(cfld)%lvl=LVLSXML(1,IGET(993)) -! $omp parallel do private(i,j,jj) +! $omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -4371,7 +4445,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval ) GRID1(I,J) = CANGLE(I,J) ! IF(EGRID1(I,J)<100. .OR. EGRID2(I,J)>-250.) THEN ! GRID1(I,J) = 0. @@ -4382,11 +4456,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(957)) fld_info(cfld)%lvl=LVLSXML(1,IGET(957)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -4398,7 +4473,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval ) GRID1(I,J) = EGRID7(I,J) ENDDO ENDDO @@ -4407,11 +4482,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(955)) fld_info(cfld)%lvl=LVLSXML(1,IGET(955)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -4423,7 +4499,7 @@ SUBROUTINE MISCLN GRID1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T1D(I,J) < spval ) GRID1(I,J) = EGRID8(I,J) ENDDO ENDDO @@ -4432,11 +4508,12 @@ SUBROUTINE MISCLN cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(956)) fld_info(cfld)%lvl=LVLSXML(1,IGET(956)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -4444,45 +4521,46 @@ SUBROUTINE MISCLN ! Downdraft CAPE -! ITYPE = 1 -! DO J=JSTA,JEND -! DO I=1,IM -! LB2(I,J) = (LVLBND(I,J,1) + LVLBND(I,J,2) + & -! LVLBND(I,J,3))/3 -! P1D(I,J) = (PBND(I,J,1) + PBND(I,J,2) + PBND(I,J,3))/3 -! T1D(I,J) = (TBND(I,J,1) + TBND(I,J,2) + TBND(I,J,3))/3 -! Q1D(I,J) = (QBND(I,J,1) + QBND(I,J,2) + QBND(I,J,3))/3 -! ENDDO -! ENDDO - -! DPBND = 400.E2 -! CALL CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,LB2, & -! EGRID1,EGRID2,EGRID3,EGRID4,EGRID5, & -! EGRID6,EGRID7,EGRID8) - - IF (IGET(954)>0) THEN - GRID1 = spval -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - IF(T1D(I,J) < spval) GRID1(I,J) = -EGRID6(I,J) - ENDDO + ITYPE = 1 + DO J=JSTA,JEND + DO I=ISTA,IEND + LB2(I,J) = (LVLBND(I,J,1) + LVLBND(I,J,2) + & + LVLBND(I,J,3))/3 + P1D(I,J) = (PBND(I,J,1) + PBND(I,J,2) + PBND(I,J,3))/3 + T1D(I,J) = (TBND(I,J,1) + TBND(I,J,2) + TBND(I,J,3))/3 + Q1D(I,J) = (QBND(I,J,1) + QBND(I,J,2) + QBND(I,J,3))/3 ENDDO - CALL BOUND(GRID1,D00,H99999) - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(954)) - fld_info(cfld)%lvl=LVLSXML(1,IGET(954)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif + ENDDO - ENDIF !954 + DPBND = 400.E2 + CALL CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,LB2, & + EGRID1,EGRID2,EGRID3,EGRID4,EGRID5, & + EGRID6,EGRID7,EGRID8) + + IF (IGET(954)>0) THEN + GRID1 = spval +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(T1D(I,J) < spval) GRID1(I,J) = -EGRID6(I,J) + ENDDO + ENDDO + CALL BOUND(GRID1,D00,H99999) + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(954)) + fld_info(cfld)%lvl=LVLSXML(1,IGET(954)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + + ENDIF !954 if (allocated(ushr1)) deallocate(ushr1) if (allocated(vshr1)) deallocate(vshr1) @@ -4502,6 +4580,14 @@ SUBROUTINE MISCLN if (allocated(esrh)) deallocate(esrh) if (allocated(htsfc)) deallocate(htsfc) if (allocated(fshr)) deallocate(fshr) + if (allocated(llow_zint)) deallocate(llow_zint) + if (allocated(ieql_zint)) deallocate(ieql_zint) + if (allocated(z_temp)) deallocate(z_temp) + if (allocated(midcal)) deallocate(midcal) + if (allocated(z_midcal)) deallocate(z_midcal) + if (allocated(el_base)) deallocate(el_base) + if (allocated(el_tops)) deallocate(el_tops) + ENDIF if (allocated(pbnd)) deallocate(pbnd) @@ -4513,19 +4599,21 @@ SUBROUTINE MISCLN if (allocated(wbnd)) deallocate(wbnd) if (allocated(lvlbnd)) deallocate(lvlbnd) if (allocated(lb2)) deallocate(lb2) + ! ! ! RELATIVE HUMIDITY WITH RESPECT TO PRECIPITABLE WATER IF (IGET(749)>0) THEN - CALL CALRH_PW(GRID1(1,jsta)) + CALL CALRH_PW(GRID1(ista:iend,jsta:jend)) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(749)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -4535,4 +4623,14 @@ SUBROUTINE MISCLN ! END OF ROUTINE. ! RETURN - END + CONTAINS +!> @brief allocate_cape_arrays - store CAPE in arrays + subroutine allocate_cape_arrays + if(.not.allocated(OMGBND)) allocate(OMGBND(ista:iend,jsta:jend,NBND)) + if(.not.allocated(PWTBND)) allocate(PWTBND(ista:iend,jsta:jend,NBND)) + if(.not.allocated(QCNVBND)) allocate(QCNVBND(ista:iend,jsta:jend,NBND)) + if(.not.allocated(LVLBND)) allocate(LVLBND(ista:iend,jsta:jend,NBND)) + if(.not.allocated(LB2)) allocate(LB2(ista:iend,jsta:jend)) + end subroutine allocate_cape_arrays + + END SUBROUTINE MISCLN diff --git a/sorc/ncep_post.fd/MIXLEN.f b/sorc/ncep_post.fd/MIXLEN.f index 33c02dd7e8..767bcad0e2 100644 --- a/sorc/ncep_post.fd/MIXLEN.f +++ b/sorc/ncep_post.fd/MIXLEN.f @@ -10,6 +10,7 @@ SUBROUTINE MIXLEN(EL0,EL) ! 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT ! 02-06-19 MIKE BALDWIN - WRF VERSION ! 21-03-11 B Cui - change local arrays to dimension (im,jsta:jend) +! 21-09-30 J MENG - 2D DECOMPOSITION ! ! ! INPUT: @@ -42,7 +43,8 @@ SUBROUTINE MIXLEN(EL0,EL) use masks, only: lmh, htm use params_mod, only: EPSQ2, CAPA use ctlblk_mod, only: jsta, jend, jsta_m, jend_m, im, jm, jsta_2l, jend_2u,& - lm, lm1, spval + lm, lm1, spval,& + ista, iend, ista_m, iend_m, ista_2l, iend_2u !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none @@ -54,9 +56,9 @@ SUBROUTINE MIXLEN(EL0,EL) ! ! ------------------------------------------------------------------ ! - real,intent(in) :: el0(im,jsta_2l:jend_2u) - real,intent(out) :: EL(IM,jsta_2l:jend_2u,LM) - real HGT(IM,JSTA:JEND),APE(IM,JSTA_M:JEND_M,2) + real,intent(in) :: el0(ista_2l:iend_2u,jsta_2l:jend_2u) + real,intent(out) :: EL(ista_2l:iend_2u,jsta_2l:jend_2u,LM) + real HGT(ISTA:IEND,JSTA:JEND),APE(ISTA_M:IEND_M,JSTA_M:JEND_M,2) ! integer I,J,L real ZL,VKRMZ,ENSQ,Q2KL,ELST,ZIAG,ELVGD @@ -66,13 +68,13 @@ SUBROUTINE MIXLEN(EL0,EL) !$omp parallel do DO L=1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EL(I,J,L)=0. ENDDO ENDDO ENDDO DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND HGT(I,J)=ZINT(I,J,NINT(LMH(I,J))+1) ENDDO ENDDO @@ -83,7 +85,7 @@ SUBROUTINE MIXLEN(EL0,EL) !$omp parallel do private(i,j,l,vkrmz,zl) DO L=1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(HGT(I,J) @file -! -!> SUBPROGRAM: MPI_FIRST SET UP MESSGAE PASSING INFO +!> +!> SUBPROGRAM: MPI_FIRST SET UP MESSAGE PASSING INFO !! PRGRMMR: TUCCILLO ORG: IBM !! !! ABSTRACT: !! SETS UP MESSAGE PASSING INFO !! -!! PROGRAM HISTORY LOG: -!! 14-12-01 WM LEWIS: ADDED ADDNL VARIABLES FOR SAT OUTPUT -!! 00-01-06 TUCCILLO - ORIGINAL -!! 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -!! 02-06-19 MIKE BALDWIN - WRF VERSION -!! 11-12-16 SARAH LU - MODIFIED TO INITIALIZE AEROSOL FIELDS -!! 12-01-07 SARAH LU - MODIFIED TO INITIALIZE AIR DENSITY/LAYER THICKNESS +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2014-12-01 | WM LEWIS | ADDED ADDNL VARIABLES FOR SAT OUTPUT +!> 2000-01-06 | TUCCILLO | ORIGINAL +!> 2001-10-25 | H CHUANG | MODIFIED TO PROCESS HYBRID MODEL OUTPUT +!> 2002-06-19 | MIKE BALDWIN | WRF VERSION +!> 2011-12-16 | SARAH LU | MODIFIED TO INITIALIZE AEROSOL FIELDS +!> 2012-01-07 | SARAH LU | MODIFIED TO INITIALIZE AIR DENSITY/LAYER THICKNESS +!> 2021-07-07 | JESSE MENG | 2D DECOMPOSITION +!> 2022-09-22 | Li(Kate) Zhang | Add new aerosols fields for UFS-Aerosols +!> 2023-03-22 | WM LEWIS | ADDED EFFRI, EFFRS, EFFRL !! !! USAGE: CALL MPI_FIRST !! INPUT ARGUMENT LIST: @@ -34,10 +39,13 @@ !! MACHINE : IBM RS/6000 SP !! !@PROCESS NOEXTCHK +!----------------------------------------------------------------------- +!> @brief MPI_FIRST() Sets up message passing info (MPI). +!----------------------------------------------------------------------- SUBROUTINE MPI_FIRST() ! - use vrbls4d, only: dust, salt, soot, waso, suso, pp25, pp10 + use vrbls4d, only: dust, salt, soot, waso, suso, no3, nh4, pp25, pp10 use vrbls3d, only: u, v, t, q, uh, vh, wh, pmid, pmidv, pint, alpint, zmid, & zint, q2, omga, t_adj, ttnd, rswtt, rlwtt, exch_h, train, tcucn, & el_pbl, cwm, f_ice, f_rain, f_rimef, qqw, qqi, qqr, qqs,qqg, qqni, qqnr, & @@ -47,7 +55,8 @@ SUBROUTINE MPI_FIRST() mgdrag, cnvctvmmixing, ncnvctcfrac, cnvctumflx, cnvctdmflx, cnvctdetmflx,& cnvctzgdrag, cnvctmgdrag, icing_gfip, asy, ssa, duem, dusd, dudp, & duwt, suem, susd, sudp, suwt, ocem, ocsd, ocdp, ocwt, bcem, bcsd, & - bcdp, bcwt, ssem, sssd, ssdp, sswt, ext, dpres, rhomid + bcdp, bcwt, ssem, sssd, ssdp, sswt, ext, dpres, rhomid, effri, effrl, & + effrs use vrbls2d, only: wspd10max, w_up_max, w_dn_max, w_mean, refd_max, up_heli_max, & prate_max, fprate_max, swupt, & up_heli_max16, grpl_max, up_heli, up_heli16, ltg1_max, ltg2_max, & @@ -55,7 +64,7 @@ SUBROUTINE MPI_FIRST() up_heli_min03, rel_vort_max, rel_vort_max01, wspd10umax, wspd10vmax, & refdm10c_max, hail_max2d, hail_maxk1, ltg3_max,rel_vort_maxhy1, & nci_ltg, nca_ltg, nci_wq, nca_wq, nci_refd, & - u10, v10, tshltr, qshltr, mrshltr, smstav, ssroff, bgroff, & + u10, v10, tshltr, qshltr, smstav, ssroff, bgroff, & nca_refd, vegfrc, acsnow, acsnom, cmc, sst, qz0, thz0, uz0, vz0, qs, ths,& sno, snonc, snoavg, psfcavg, t10m, t10avg, akmsavg, akhsavg, u10max, & v10max, u10h, v10h, akms, akhs, cuprec, acprec, ancprc, cuppt, & @@ -79,25 +88,38 @@ SUBROUTINE MPI_FIRST() ocsmass25, occmass25, bcsmass, bccmass, bcsmass25, bccmass25, & sssmass, sscmass, sssmass25, sscmass25, ducmass25, & dustcb, sscb, bccb, occb, sulfcb, dustallcb, ssallcb,dustpm,sspm, pp25cb,& - pp10cb, ti + no3cb, nh4cb, dustpm10, pp10cb, maod, ti use soil, only: smc, stc, sh2o, sldpth, rtdpth, sllevel use masks, only: htm, vtm, hbm2, sm, sice, lmh, gdlat, gdlon, dx, dy, lmv - use ctlblk_mod, only: me, num_procs, jm, jsta, jend, jsta_m, jsta_m2, & - jend_m, jend_m2, iup, idn, icnt, im, idsp, jsta_2l, jend_2u, & - jvend_2u, lm, lp1, jsta_2l, jend_2u, nsoil, nbin_du, nbin_ss, & - nbin_bc, nbin_oc, nbin_su + use ctlblk_mod, only: me, num_procs, jm, jsta, jend, jsta_m, jsta_m2,ista,iend , & + jend_m, jend_m2, iup, idn, icnt, im, idsp, jsta_2l, jend_2u,idsp2,icnt2, & + jvend_2u, lm, lp1, jsta_2l, jend_2u, nsoil, nbin_du, nbin_ss, & + nbin_bc, nbin_oc, nbin_su, nbin_no3, nbin_nh4, & + ISTA_M,IEND_M,ISTA_M2,IEND_M2, iSTA_M,IEND_M,ISTA_M2,IEND_M2, & + ileft,iright,ileftb,irightb,ibsize,ibsum, isxa,iexa,jsxa,jexa, & + icoords,ibcoords,bufs,ibufs, rbufs, rcoords,rbcoords, & + ISTA_2L, IEND_2U,IVEND_2U,numx,MODELNAME ! ! use params_mod !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none -! + include 'mpif.h' ! - integer ierr,i,jsx,jex -! + integer ierr,i,jsx,jex,isx,iex,j + integer size,ubound,lbound + integer isumm,isum ,ii,jj,isumm2 + integer , allocatable :: ibuff(:) + real , allocatable :: rbuff(:) + integer, allocatable :: ipole(:),ipoles(:,:) + real , allocatable :: rpole(:),rpoles(:,:) + + isumm=0 + isumm2=0 + if ( me == 0 ) then -! print *, ' NUM_PROCS = ',num_procs + write(*,*) ' NUM_PROCS,NUMX,NUMY = ',num_procs,numx,num_procs/numx end if if ( num_procs > 1024 ) then @@ -105,75 +127,297 @@ SUBROUTINE MPI_FIRST() call mpi_abort(MPI_COMM_WORLD,1,ierr) stop end if -! + ! error check -! + if ( num_procs > JM/2 ) then print *, ' too many MPI tasks, max is ',jm/2,' stopping' call mpi_abort(MPI_COMM_WORLD,1,ierr) stop end if -! + ! global loop ranges ! - call para_range(1,jm,num_procs,me,jsta,jend) +! para_range2 supports a 2D decomposition. +! The X decomposition is specified by the third +! argument and the Y decoposition is specified by +! the fourth argument. The product of the third and fourth arguments +! must be num_procs and the third and fourth arguments must be integral +! factors of num_procs. +! +! for the special case of 1D decomposition, numx is set to 1 and the +! fourth argument becomes the number of MPI ranks for the job. numx=1 +! makes the code fully compatible with the old 1D decomposition. + + + call para_range2(im,jm,numx,num_procs/numx,me,ista,iend,jsta,jend) + jsta_m = jsta jsta_m2 = jsta jend_m = jend jend_m2 = jend - if ( me == 0 ) then - jsta_m = 2 - jsta_m2 = 3 + ista_m = ista + ista_m2 = ista + iend_m = iend + iend_m2 = iend + + if (me=(num_procs-numx))then + jend_m=jm-1 + jend_m2=jm-2 + end if + + if(mod(me+1,numx)==0)then + iend_m=im-1 + iend_m2=im-2 + end if + + 102 format(6i10,a20) + +! if ( me == 0 ) then - idn = MPI_PROC_NULL + idn = MPI_PROC_NULL end if if ( me == num_procs - 1 ) then - iup = MPI_PROC_NULL + iup = MPI_PROC_NULL end if ! -! print *, ' ME, NUM_PROCS = ',me,num_procs -! print *, ' ME, JSTA, JSTA_M, JSTA_M2 = ',me,jsta,jsta_m,jsta_m2 -! print *, ' ME, JEND, JEND_M, JEND_M2 = ',me,jend,jend_m,jend_m2 -! print *, ' ME, IUP, IDN = ',me,iup,idn -! -! counts, disps for gatherv and scatterv -! - do i = 0, num_procs - 1 - call para_range(1,jm,num_procs,i,jsx,jex) - icnt(i) = (jex-jsx+1)*im - idsp(i) = (jsx-1)*im - if ( me == 0 ) then - print *, ' i, icnt(i),idsp(i) = ',i,icnt(i), & - idsp(i) - end if +! GWV. Array of i/j coordinates for bookkeeping tests. Not used in +! calculations but to check if scatter,gather, and exchanges are doing as +! expected. Both real and integer arrays are sent. Integer will be needed +! for very large domains because real mantissas overflow and both coordinates' +! information can't be packed into a real mantisa. Real is easier to use +! because the datatype is the same as for actual data + + allocate(icoords(im,jm)) + allocate(rcoords(im,jm)) + allocate(ibuff(im*jm)) + allocate(rbuff(im*jm)) + do j=1,jm + do i=1,im + icoords(i,j)=10000*I+j ! both I and J information is in each element + rcoords(i,j)=4000*i+j ! both I and J information is in each element but it overflows for large I I to 3600 is safe + end do end do + +! end COORDS test + +! counts, disps for gatherv and scatterv + + isum=1 + allocate(isxa(0:num_procs-1) ) + allocate(jsxa(0:num_procs-1) ) + allocate(iexa(0:num_procs-1) ) + allocate(jexa(0:num_procs-1) ) + do i = 0, num_procs - 1 + call para_range2(im,jm,numx,num_procs/numx,i,isx,iex,jsx,jex) + icnt(i) = ((jex-jsx)+1)*((iex-isx)+1) + isxa(i)=isx + iexa(i)=iex + jsxa(i)=jsx + jexa(i)=jex + + idsp(i)=isumm + isumm=isumm+icnt(i) + if(jsx .eq. 1 .or. jex .eq. jm) then + icnt2(i) = (iex-isx+1) + else + icnt2(i)=0 + endif + idsp2(i)=isumm2 + if(jsx .eq. 1 .or. jex .eq. jm) isumm2=isumm2+(iex-isx+1) + +! GWV Create send buffer for scatter. This is now needed because we are no +! longer sending contiguous slices of the im,jm full state arrays to the +! processors with scatter. Instead we are sending a slice of I and a slice of J +! and so have to reshape the send buffer below to make it contiguous groups of +! isx:iex,jsx:jex arrays + + do jj=jsx,jex + do ii=isx,iex + ibuff(isum)=icoords(ii,jj) + rbuff(isum)=rcoords(ii,jj) + isum=isum+1 + end do + end do + + end do ! enddo of num_procs ! ! extraction limits -- set to two rows ! jsta_2l = max(jsta - 2, 1 ) jend_2u = min(jend + 2, jm ) + if(modelname=='GFS') then + ista_2l=max(ista-2,0) + iend_2u=min(iend+2,im+1) + else + ista_2l=max(ista-2,1) + iend_2u=min(iend+2,im) + endif + ! special for c-grid v jvend_2u = min(jend + 2, jm+1 ) -! special for c-grid v -! print *, ' me, jvend_2u = ',me,jvend_2u ! +! NEW neighbors + + ileft = me - 1 + iright = me + 1 + iup=MPI_PROC_NULL + idn=MPI_PROC_NULL + + !if(mod(me,numx) .eq. 0) print *,' LEFT POINT',me + !if(mod(me+1,numx) .eq. 0) print *,' RIGHT POINT',me + if(mod(me,numx) .eq. 0) ileft=MPI_PROC_NULL + if(mod(me,numx) .eq. 0) ileftb=me+numx-1 + if(mod(me+1,numx) .eq. 0 .or. me .eq. num_procs-1) iright=MPI_PROC_NULL + if(mod(me+1,numx) .eq. 0 .or. me .eq. num_procs-1) irightb=me-numx+1 + if(me .ge. numx) idn=me-numx + if(me+1 .le. num_procs-numx) iup=me+numx + + !print 102,me,ileft,iright,iup,idn,num_procs,'GWVX BOUNDS' + ! allocate arrays + + ibsize = ( (iend-ista) +1) * ( (jend-jsta)+1) + allocate(ibcoords(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(rbcoords(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(ibufs(ibsize)) + allocate(rbufs(ibsize)) + call mpi_scatterv(ibuff,icnt,idsp,mpi_integer & + ,ibufs,icnt(me),mpi_integer ,0,MPI_COMM_WORLD,j) + call mpi_scatterv(rbuff,icnt,idsp,mpi_real & + ,rbufs,icnt(me),mpi_real ,0,MPI_COMM_WORLD,j) + ! +!GWV reshape the receive subdomain + + isum=1 + do j=jsta,jend + do i=ista,iend + ibcoords(i,j)=ibufs(isum) + rbcoords(i,j)=rbufs(isum) + isum=isum+1 + end do + end do + +!GWV end reshape + do j=jsta,jend + do i=ista,iend + ii=ibcoords(i,j)/10000 + jj=ibcoords( i,j)-(ii*10000) + if(ii .ne. i .or. jj .ne. j) then + print *,i,j,ii,jj,ibcoords(i,j),' GWVX FAIL ' + else + continue + endif + end do + end do + + allocate(ipoles(im,2),ipole(ista:iend)) + allocate(rpoles(im,2),rpole(ista:iend)) + ipole=9900000 + ipoles=-999999999 + + do i=ista,iend + if(me .lt. num_procs/2. .and. jsta_2l .le. 1 .and. icnt2(me) .gt. 0) ipole(i)=ibcoords(i,1) + if(me .lt. num_procs/2. .and. jsta_2l .le. 1 .and. icnt2(me) .gt. 0) rpole(i)=rbcoords(i,1) + if(me .gt. num_procs/2. .and. jend_2u .ge. jm .and. icnt2(me) .gt. 0) ipole(i)=ibcoords(i,jm) + if(me .gt. num_procs/2. .and. jend_2u .ge. jm .and. icnt2(me) .gt. 0) rpole(i)=rbcoords(i,jm) + +! check code to be removed upon debugging + if(me .lt. num_procs/2. .and. jsx .eq. 1) then + continue + endif + if(me .gt. num_procs/2. .and. jend_2u .ge. jm) then + continue + endif + end do ! end check code + +! test pole gather + !print 105,' GWVX GATHER DISP ',icnt2(me),idsp2(me),me + 105 format(a30,3i12) + + call mpi_gatherv(ipole(ista),icnt2(me),MPI_INTEGER, ipoles,icnt2,idsp2,MPI_INTEGER,0,MPI_COMM_WORLD, ierr ) + call mpi_gatherv(rpole(ista),icnt2(me),MPI_REAL , rpoles,icnt2,idsp2,MPI_REAL ,0,MPI_COMM_WORLD, ierr ) + + if(me .eq. 0) then + do j=1,2 + do i=1,im + ii=rpoles(i,j)/4000 + jj=rpoles(i,j) -ii*4000 + if(ii .ne. i .or. jj .ne. 1 .and. jj .ne. jm ) then + write(*,169)' IPOLES BAD POINT',rpoles(i,j),ii,i,jj,' jm= ',jm + else + continue +! write(*,169)' IPOLES GOOD POINT',rpoles(i,j),ii,i,jj,' jm= ',jm + endif + end do + end do + endif + + 107 format(a20,10i10) + 169 format(a25,f20.1,3i10,a10,4i10) ! -! FROM VRBLS3D +! print *, ' me, jsta_2l, jend_2u = ',me,jsta_2l, jend_2u, & +! 'jvend_2u=',jvend_2u,'im=',im,'jm=',jm,'lm=',lm, & +! 'lp1=',lp1 +! write(*,'(A,5I10)') 'MPI_FIRST me,jsta,jend,ista,iend,=',me,jsta,jend,ista,iend + + end + +! subroutine sub(a) +! return +! end + + +!---------------------------------------------------------------------- +!> @brief fullpole() +!> +!> @param[inout] a real +!> @param[inout] rpoles real +!---------------------------------------------------------------------- + + subroutine fullpole(a,rpoles) + + use ctlblk_mod, only: num_procs, jend, iup, jsta, idn, mpi_comm_comp, im,MODELNAME,numx,& + icoords,ibcoords,rbcoords,bufs,ibufs,me, & + jsta_2l,jend_2u,ileft,iright,ista_2l,iend_2u,ista,iend,jm,icnt2,idsp2 +!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + implicit none ! - print *, ' me, jsta_2l, jend_2u = ',me,jsta_2l, jend_2u, & - 'jvend_2u=',jvend_2u,'im=',im,'jm=',jm,'lm=',lm, & - 'lp1=',lp1 + include 'mpif.h' +! + real,intent(inout) :: a ( ista_2l:iend_2u,jsta_2l:jend_2u ),rpoles(im,2) + real, allocatable :: rpole(:) + + integer status(MPI_STATUS_SIZE) + integer ierr + integer size,ubound,lbound + integer i,ii,jj, ibl,ibu,jbl,jbu,icc,jcc + integer ifirst + data ifirst/0/ + integer iwest,ieast + data iwest,ieast/0,0/ + allocate(rpole(ista:iend)) + + do i=ista,iend + if(me .lt. num_procs/2. .and. jsta_2l .le. 1 .and. icnt2(me) .gt. 0) rpole(i)=a(i,1) + if(me .ge. num_procs/2. .and. jend_2u .ge. jm .and. icnt2(me) .gt. 0) rpole(i)=a(i,jm) + end do + + call mpi_allgatherv(rpole(ista),icnt2(me),MPI_REAL,rpoles,icnt2,idsp2,MPI_REAL, MPI_COMM_COMP,ierr) + + call mpi_barrier(mpi_comm_comp,ierr) + ifirst=1 end + diff --git a/sorc/ncep_post.fd/MSFPS.f b/sorc/ncep_post.fd/MSFPS.f index 06b2bc63d6..f010d19fb0 100644 --- a/sorc/ncep_post.fd/MSFPS.f +++ b/sorc/ncep_post.fd/MSFPS.f @@ -1,25 +1,28 @@ !> @file -! . . . -!> SUBPROGRAM: MSFPS Computes the map scale factor for a Polar -!! Stereographic grid at a give latitude. -!! -!! ABSTRACT: -!! Computes the map scale factor for a Polar Stereographic -!! grid at a give latitude. -!! -!! PROGRAM HISTORY LOG: -!! 06-11-01 SWIPED FROM WRF SI PACKAGE BY ROZUMALSKI -!! -!! INPUT ARGUMENT LIST: -!! LAT - LATITUDE AT WHICH MAP FACTOR IS VALID -!! TRUELAT1 - TRUELAT 1 -!! -!! OUTPUT ARGUMENT LIST: -!! MSF - MAP SCALE FACTOR -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! +!> @brief msfps() computes the map scale factor for a polar stereographic grid at a give latitude. +!> +!> This subroutine computes the map scale factor for a polar stereographic grid at a give latitude. +!> +!> @param[in] LAT Latitude at which map factor is valid. +!> @param[in] TRUELAT1 TRUELAT 1. +!> @param[out] MSF Map scale factor. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2006-11-01 | Rozumalski | Swiped from WRF si package +!> +!> @author Rozumalski @date 2006-11-01 + +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +!> msfps() computes the map scale factor for a polar stereographic grid at a give latitude. +!> +!> This subroutine computes the map scale factor for a polar stereographic grid at a give latitude. +!> +!> @param[in] LAT Latitude at which map factor is valid. +!> @param[in] TRUELAT1 TRUELAT 1. +!> @param[out] MSF Map scale factor. + SUBROUTINE MSFPS(LAT,TRUELAT1,MSF) diff --git a/sorc/ncep_post.fd/NGMFLD.f b/sorc/ncep_post.fd/NGMFLD.f index 7bd962e146..171f44a3f6 100644 --- a/sorc/ncep_post.fd/NGMFLD.f +++ b/sorc/ncep_post.fd/NGMFLD.f @@ -1,81 +1,61 @@ !> @file -! . . . -!> SUBPROGRAM: NGMFLD COMPUTES LAYER MEAN NGM FIELDS -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES A HANDFUL OF NGM LAYER MEAN -!! FIELDS. THIS IS DONE TO PROVIDE A FULLY COMPLETE -!! ETA NGM LOOK-ALIKE OUTPUT FILE. THE SIGMA (LAYER) -!! FIELDS COMPUTED BY THIS ROUTINE ARE TABULATED BELOW. -!! -!! SIGMA (LAYER) FIELD(S) -!! --------------- -------------- -!! 0.47191-1.00000 RH -!! 0.47171-0.96470 RH -!! 0.18019-0.47191 RH -!! 0.84368-0.98230 RH -!! 0.85000-1.00000 MCONV -!! WHERE -!! RH = RELATIVE HUMIDITY -!! MCONV = MOISTURE CONVERGENCE -!! -!! LAYER MEANS ARE A SUMMATION OVER ETA LAYERS MAPPING INTO -!! THE PRESSURE RANGE CORRESPONDING TO THE SIGMA RANGE ABOVE. -!! THE CALCULATION OF THESE BOUNDING PRESSURES IS DONE AT -!! EACH HORIZONTAL GRID POINT BASED ON THE SURFACE PRESSURE. -!! EACH TERM IN THE SUMMATION IS WEIGHTED BY THE THICKNESS OF -!! THE ETA LAYER. THE FINAL LAYER MEAN IS THIS SUM NORMALIZED -!! BY THE TOTAL DEPTH OF THE LAYER. +!> @brief ngmfld() computes layer mean NGM fields +!> +!> This routine computes a handful of NGM layer mean +!> fields. This is done to provide a fully complete +!> ETA NGM look-alike output file. +!> ### The sigma (layer) fields computed by this routine are tabulated below. +!> Sigma (layer) | Field(s) | +!> --------------|----------| +!> 0.47191 - 1.00000 | RH | +!> 0.47171 - 0.96470 | RH | +!> 0.18019 - 0.47191 | RH | +!> 0.84368 - 0.98230 | RH | +!> 0.85000 - 1.00000 | MCONV | +!> where RH = Relative humidity and MCONV = Moisture convergence +!> +!> Layer means are a summation over ETA layers mapping into +!> The pressure range corresponding to the sigma range above. +!> The calculation of these bounding pressures is done at +!> each horizontal grid point based on the surface pressure. +!> Each term in the summation is weighted by the thickness of +!> the ETA layer. The final layer mean is this sum normalized +!> by the total depth of the layer. +!> +!> @param[out] RH4710 Sigma layer 0.47-1.00 mean relative humidity. +!> @param[out] RH4796 Sigma layer 0.47-0.96 mean relative humidity. +!> @param[out] RH1847 Sigma layer 0.18-0.47 mean relative humidity. +!> @param[out] RH8498 Sigma layer 0.84-0.98 mean relative humidity. +!> @param[out] QM8510 Sigma layer 0.85-1.00 mean moisture convergence. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-22 | Russ Treadon | Initial +!> 1993-07-27 | Russ Treadon | Modified summation limits from 0.66*PSFC to 0.75*PSFC and 0.33*PSFC to 0.50*PSFC, where PSFC is the surfaces pressure. The reason for this change was recognition that in the LFM 0.33 and 0.66 were measured from the surface to the tropopause not the top of the model. +!> 1993-09-13 | Russ Treadon | RH calculations were made internal to the routine. +!> 1996-03-04 | Mike Baldwin | Change PW CALC to include CLD WTR +!> 1998-06-16 | T Black | Conversion from 1-D to 2-D +!> 1998-08-17 | Mike Baldwin | Compute RH over ice +!> 1998-12-22 | Mike Baldwin | Back out RH over ice +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-04-24 | Mike Baldwin | WRF Version +!> 2021-09-30 | JESSE MENG | 2D DECOMPOSITION +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 + +!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +!> ngmfld() computes layer mean NGM fields +!> +!> This routine computes a handful of NGM layer mean +!> fields. +!> +!> @param[out] RH4710 Sigma layer 0.47-1.00 mean relative humidity. +!> @param[out] RH4796 Sigma layer 0.47-0.96 mean relative humidity. +!> @param[out] RH1847 Sigma layer 0.18-0.47 mean relative humidity. +!> @param[out] RH8498 Sigma layer 0.84-0.98 mean relative humidity. +!> @param[out] QM8510 Sigma layer 0.85-1.00 mean moisture convergence. -!! -!! -!! PROGRAM HISTORY LOG: -!! 92-12-22 RUSS TREADON -!! 93-07-27 RUSS TREADON - MODIFIED SUMMATION LIMITS FROM -!! 0.66*PSFC TO 0.75*PSFC AND 0.33*PSFC -!! TO 0.50*PSFC, WHERE PSFC IS THE -!! SURFACES PRESSURE. THE REASON FOR -!! THIS CHANGE WAS RECOGNITION THAT IN -!! THE LFM 0.33 AND 0.66 WERE MEASURED -!! FROM THE SURFACE TO THE TROPOPAUSE, -!! NOT THE TOP OF THE MODEL. -!! 93-09-13 RUSS TREADON - RH CALCULATIONS WERE MADE INTERNAL -!! TO THE ROUTINE. -!! 98-06-16 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 98-08-18 MIKE BALDWIN - COMPUTE RH OVER ICE -!! 98-12-22 MIKE BALDWIN - BACK OUT RH OVER ICE -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-04-24 MIKE BALDWIN - WRF VERSION -!! -!! -!! USAGE: CALL NGMFLD(RH4710,RH4796,RH1847,RH8498,QM8510) -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! RH4710 - SIGMA LAYER 0.47-1.00 MEAN RELATIVE HUMIDITY. -!! RH4796 - SIGMA LAYER 0.47-0.96 MEAN RELATIVE HUMIDITY. -!! RH1847 - SIGMA LAYER 0.18-0.47 MEAN RELATIVE HUMIDITY. -!! RH8498 - SIGMA LAYER 0.84-0.98 MEAN RELATIVE HUMIDITY. -!! QM8510 - SIGMA LAYER 0.85-1.00 MEAN MOISTURE CONVERGENCE. -!! -!! OUTPUT FILES: -!! NONE -!! -!! LIBRARY: -!! COMMON - -!! MASKS -!! OPTIONS -!! LOOPS -!! MAPOT -!! DYNAMD -!! INDX -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! SUBROUTINE NGMFLD(RH4710,RH4796,RH1847,RH8498,QM8510) ! @@ -85,7 +65,8 @@ SUBROUTINE NGMFLD(RH4710,RH4796,RH1847,RH8498,QM8510) use masks, only: lmh use params_mod, only: d00, d50, h1m12, pq0, a2, a3, a4, h1, d01, small use ctlblk_mod, only: jsta, jend, lm, jsta_2l, jend_2u, jsta_m2, jend_m2,& - spval, im + spval, im, & + ista, iend, ista_2l, iend_2u, ista_m2, iend_m2, ista_m, iend_m ! !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none @@ -96,10 +77,10 @@ SUBROUTINE NGMFLD(RH4710,RH4796,RH1847,RH8498,QM8510) ! ! DECLARE VARIABLES. LOGICAL GOT8510,GOT4710,GOT4796,GOT1847,GOT8498 - REAL,dimension(IM,jsta_2l:jend_2u),intent(out) :: QM8510,RH4710,RH8498, & + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(out) :: QM8510,RH4710,RH8498, & RH4796,RH1847 - REAL,dimension(im,jsta_2l:jend_2u) :: Z8510,Z4710,Z8498,Z4796,Z1847 - real,dimension(im,jsta_2l:jend_2u) :: Q1D, U1D, V1D, QCNVG + REAL,dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: Z8510,Z4710,Z8498,Z4796,Z1847 + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: Q1D, U1D, V1D, QCNVG ! integer I,J,L real P100,P85,P98,P96,P84,P47,P18,ALPM,DE,PM,TM,QM, & @@ -110,7 +91,7 @@ SUBROUTINE NGMFLD(RH4710,RH4796,RH1847,RH8498,QM8510) ! INITIALIZE ARRAYS. !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND QM8510(I,J) = D00 RH4710(I,J) = D00 RH8498(I,J) = D00 @@ -137,7 +118,7 @@ SUBROUTINE NGMFLD(RH4710,RH4796,RH1847,RH8498,QM8510) ! COMPUTE MOISTURE CONVERGENCE !$omp parallel do private(i,j) DO J=JSTA_2L,JEND_2U - DO I=1,IM + DO I=ISTA_2L,IEND_2U Q1D(I,J) = Q(I,J,L) U1D(I,J) = UH(I,J,L) V1D(I,J) = VH(I,J,L) @@ -146,7 +127,7 @@ SUBROUTINE NGMFLD(RH4710,RH4796,RH1847,RH8498,QM8510) CALL CALMCVG(Q1D,U1D,V1D,QCNVG) ! COMPUTE MOISTURE CONVERGENCE DO J=JSTA_M2,JEND_M2 - DO I=2,IM-1 + DO I=ISTA_M,IEND_M ! ! SET TARGET PRESSURES. @@ -220,7 +201,7 @@ SUBROUTINE NGMFLD(RH4710,RH4796,RH1847,RH8498,QM8510) ENDDO ! DO J=JSTA_M2,JEND_M2 - DO I=2,IM-1 + DO I=ISTA_M,IEND_M ! NORMALIZE TO GET LAYER MEAN VALUES. IF (Z8510(I,J)>0) THEN QM8510(I,J) = QM8510(I,J)/Z8510(I,J) diff --git a/sorc/ncep_post.fd/NGMSLP.f b/sorc/ncep_post.fd/NGMSLP.f index 56fdda56c0..40f8bdb1cc 100644 --- a/sorc/ncep_post.fd/NGMSLP.f +++ b/sorc/ncep_post.fd/NGMSLP.f @@ -65,6 +65,7 @@ !! CONSISTENT WITH MESINGER SLP !! 02-06-13 MIKE BALDWIN - WRF VERSION !! 06-12-18 H CHUANG - BUG FIX TO CORRECT TAU AT SFC +!! 21-09-30 J MENG - 2D DECOMPOSITION !! !! USAGE: CALL NGMSLP !! INPUT ARGUMENT LIST: @@ -93,7 +94,7 @@ SUBROUTINE NGMSLP use vrbls2d, only: slp, fis, z1000 use masks, only: lmh use params_mod, only: rd, gi, g, h1, d608, gamma, d50, p1000 - use ctlblk_mod, only: jsta, jend, im, jm, spval + use ctlblk_mod, only: jsta, jend, im, jm, spval, ista, iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -117,7 +118,7 @@ SUBROUTINE NGMSLP !!$omp& tau,tauavg,tausfc,tausl,tavg,tvrbar,tvrsfc,tvrsl, !!$omp& tvrt,tvrtal,zbar,zl,zsfc) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND LLMH = NINT(LMH(I,J)) if( PINT(I,J,LLMH+1) @file -! -!> SUBPROGRAM: OTLFT COMPUTES LIFTED INDEX -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-03-10 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES LIFTS A PARCEL SPECIFIED BY THE -!! PASSED PRESSURE, TEMPERATURE, AND SPECIFIC HUMIDITY TO -!! 500MB AND THEN COMPUTES A LIFTED INDEX. THIS LIFTED -!! LIFTED INDEX IS THE DIFFERENCE BETWEEN THE LIFTED -!! PARCEL'S TEMPERATURE AT 500MB AND THE AMBIENT 500MB -!! TEMPERATURE. -!! -!! PROGRAM HISTORY LOG: -!! 93-03-10 RUSS TREADON - MODIFIED OTLIFT2 TO LIFT PARCELS -!! SPECIFIED BY PASSED P, T, AND Q. -!! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-06-17 MIKE BALDWIN - WRF VERSION -!! 11-04-12 GEOFF MANIKIN - USE VIRTUAL TEMPERATURE -!! 20-11-10 JESSE MENG - USE UPP_PHYSICS MODULE -!! -!! USAGE: CALL OTLFT(PBND,TBND,QBND,SLINDX) -!! INPUT ARGUMENT LIST: -!! PBND - PARCEL PRESSURE. -!! TBND - PARCEL TEMPERATURE. -!! QBND - PARCEL SPECIFIC HUMIDITY. -!! -!! OUTPUT ARGUMENT LIST: -!! SLINDX - LIFTED INDEX. -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! LOOPS -!! MASKS -!! PHYS -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief otlft() computes lifted index. +!> +!> This routine lifts a parcel specified by the +!> passed pressure, temperature, and specific humidity to +!> 500mb and then computes a lifted index. This +!> lifted index is the difference between the lifted +!> parcel's temperature at 500mb and the ambient 500mb +!> temperature. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1993-03-10 | Russ Treadon | Initial. Modified OTLIFT2 to lift parcels specified by passed P, T, and Q. +!> 1998-06-15 | T Black | Conversion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-06-17 | Mike Baldwin | WRF Version +!> 2011-04-12 | Geoff Manikin | Use virtual temperature +!> 2020-11-10 | Jesse Meng | Use UPP_PHYSICS Module +!> 2021-09-30 | JESSE MENG | 2D DECOMPOSITION +!> +!> @author Russ Treadon W/NP2 @date 1993-03-10 +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +!> @brief Computes lifted index at 500mb. +!> +!> @param[in] PBND Parcel pressure. +!> @param[in] TBND Parcel temperature. +!> @param[in] QBND Parcel specific humidity. +!> @param[out] SLINDX Lifted index. + SUBROUTINE OTLFT(PBND,TBND,QBND,SLINDX) ! @@ -52,7 +35,7 @@ SUBROUTINE OTLFT(PBND,TBND,QBND,SLINDX) use vrbls2d, only: T500 use lookup_mod, only: THL, RDTH, JTB, QS0, SQS, RDQ, ITB, PTBL, & PL, RDP, THE0, STHE, RDTHE, TTBL - use ctlblk_mod, only: JSTA, JEND, IM, spval + use ctlblk_mod, only: JSTA, JEND, IM, spval, ISTA, IEND use params_mod, only: D00, H10E5, CAPA, ELOCP, EPS, ONEPS use upp_physics, only: FPVSNEW !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -63,8 +46,8 @@ SUBROUTINE OTLFT(PBND,TBND,QBND,SLINDX) ! ! DECLARE VARIABLES. - real,dimension(IM,jsta:jend),intent(in) :: PBND,TBND,QBND - real,dimension(IM,jsta:jend),intent(out) :: SLINDX + real,dimension(ista:iend,jsta:jend),intent(in) :: PBND,TBND,QBND + real,dimension(ista:iend,jsta:jend),intent(out) :: SLINDX REAL :: TVP, ESATP, QSATP REAL :: BQS00, SQS00, BQS10, SQS10, P00, P10, P01, P11, BQ, SQ, TQ REAL :: BTHE00, STHE00, BTHE10, STHE10, BTH, STH, TTH @@ -81,7 +64,7 @@ SUBROUTINE OTLFT(PBND,TBND,QBND,SLINDX) ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND SLINDX(I,J) = D00 ENDDO ENDDO @@ -89,7 +72,7 @@ SUBROUTINE OTLFT(PBND,TBND,QBND,SLINDX) !--------------FIND EXNER IN BOUNDARY LAYER----------------------------- ! DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND TBT = TBND(I,J) QBT = QBND(I,J) ! diff --git a/sorc/ncep_post.fd/OTLIFT.f b/sorc/ncep_post.fd/OTLIFT.f index f1abe65750..7a2ae67747 100644 --- a/sorc/ncep_post.fd/OTLIFT.f +++ b/sorc/ncep_post.fd/OTLIFT.f @@ -1,44 +1,40 @@ !> @file -! -!> SUBPROGRAM: OTLIFT COMPUTES SFC TO 500MB LIFTED INDEX -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-03-10 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES A SURFACE TO 500MB LIFTED INDEX. -!! THE LIFTED PARCEL IS FROM THE FIRST ATMOSPHERIC ETA -!! LAYER (IE, THE ETA LAYER CLOSEST TO THE MODEL GROUND). -!! THE LIFTED INDEX IS THE DIFFERENCE BETWEEN THIS PARCEL'S -!! TEMPERATURE AT 500MB AND THE AMBIENT 500MB TEMPERATURE. -!! -!! PROGRAM HISTORY LOG: -!! ??-??-?? ??? - SUBROUTINE OTLIFT IN ETA MODEL. -!! 93-03-10 RUSS TREADON - ADAPTED OTLIFT FOR USE WITH NEW POST. -!! 98-06-18 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -!! 02-06-11 MIKE BALDWIN - WRF VERSION -!! 11-04-12 GEOFF MANIKIN - USE VIRTUAL TEMPERATURE -!! 20-11-10 JESSE MENG - USE UPP_PHYSICS MODULE -!! -!! USAGE: CALL OTLIFT(SLINDX) -!! INPUT ARGUMENT LIST: -!! -!! OUTPUT ARGUMENT LIST: -!! SLINDX - LIFTED INDEX. -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief otlift() computes SFC to 500mb lifted index. +!> +!> This routine computes a surface to 500mb lifted index. +!> The lifted parcel is from the first atmospheric ETA +!> layer (ie, the ETA layer closest to the model ground). +!> The lifted index is the difference between this parcel's +!> temperature at 500mb and the ambient 500mb temperature. +!> +!> @param[out] SLINDX lifted index. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> ????-??-?? | ??? | Subroutine OTLIFT in ETA model. +!> 1993-03-10 | Russ Treadon | Adapted OTLIFT for use with new post. +!> 1998-06-18 | T Black | Conversion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2001-10-25 | H Chuang | Modified to process hybrid model output +!> 2002-06-11 | Mike Baldwin | WRF Version +!> 2011-04-12 | Geoff Manikin | Use virtual temperature +!> 2020-11-10 | Jesse Meng | Use UPP_PHYSICS Module +!> 2021-09-30 | JESSE MENG | 2D DECOMPOSITION +!> +!> @author Russ Treadon W/NP2 @date 1993-03-10 + +! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +!> otlift() computes SFC to 500mb lifted index. +!> +!> This routine computes a surface to 500mb lifted index. +!> The lifted parcel is from the first atmospheric ETA +!> layer (ie, the ETA layer closest to the model ground). +!> The lifted index is the difference between this parcel's +!> temperature at 500mb and the ambient 500mb temperature. +!> +!> @param[out] SLINDX lifted index. + SUBROUTINE OTLIFT(SLINDX) ! @@ -47,7 +43,7 @@ SUBROUTINE OTLIFT(SLINDX) use masks, only: LMH use lookup_mod, only: THL, RDTH, JTB, QS0, SQS, RDQ,ITB, PTBL, PL, & RDP, THE0, STHE, RDTHE, TTBL - use ctlblk_mod, only: JSTA, JEND, IM, SPVAL + use ctlblk_mod, only: JSTA, JEND, IM, SPVAL, ISTA, IEND use params_mod, only: D00,H10E5, CAPA, ELOCP, EPS, ONEPS use upp_physics, only: FPVSNEW ! @@ -60,7 +56,7 @@ SUBROUTINE OTLIFT(SLINDX) ! ! DECLARE VARIABLES. - real,intent(out) :: SLINDX(IM,jsta:jend) + real,intent(out) :: SLINDX(ista:iend,jsta:jend) REAL :: TVP, ESATP, QSATP REAL :: TTH, TP, APESP, PARTMP, THESP, TPSP REAL :: BQS00, SQS00, BQS10, SQS10, BQ, SQ, TQ @@ -77,13 +73,13 @@ SUBROUTINE OTLIFT(SLINDX) ! INTIALIZE LIFTED INDEX ARRAY TO ZERO. !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND SLINDX(I,J) = D00 ENDDO ENDDO !--------------FIND EXNER AT LOWEST LEVEL------------------------------- DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND LBTM=NINT(LMH(I,J)) IF(T(I,J,LBTM) @file -! -!> SUBPROGRAM: PARA_RANGE SET UP DECOMPOSITION VALUES -!! PRGRMMR: TUCCILLO ORG: IBM -!! -!! ABSTRACT: -!! SETS UP DECOMOSITION VALUES -!! -!! PROGRAM HISTORY LOG: -!! 00-01-06 TUCCILLO - ORIGINAL -!! -!! USAGE: CALL PARA_RANGE (N1,N2,NPROCS,IRANK,ISTA,IEND)(A) -!! INPUT ARGUMENT LIST: -!! N1 - FIRST INTERATE VALUE -!! N2 - LAST INTERATE VALUE -!! NPROCS - NUMBER OF MPI TASKS -!! IRANK - MY TAKS ID -!! -!! OUTPUT ARGUMENT LIST: -!! ISTA - FIRST LOOP VALUE -!! IEND - LAST LOOP VALUE -!! -!! OUTPUT FILES: -!! STDOUT - RUN TIME STANDARD OUT. -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : IBM RS/6000 SP -!! +!> @brief Subroutines in this file set up decomposition values for 1D and 2D decomposition. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2000-01-06 | Jim Tuccillo | Initial +!> +!> @author Jim Tuccillo IBM @date 2000-01-06 +!----------------------------------------------------------------- +!> @brief Sets up decomposition values. +!> +!> @param[in] N1 First interate value. +!> @param[in] N2 Last interate value. +!> @param[in] NPROCS Number of MPI tasks. +!> @param[in] IRANK My taks ID. +!> @param[out] ISTA First loop value. +!> @param[out] IEND Last loop value. +!> SUBROUTINE PARA_RANGE (N1,N2,NPROCS,IRANK,ISTA,IEND) implicit none @@ -47,3 +32,31 @@ SUBROUTINE PARA_RANGE (N1,N2,NPROCS,IRANK,ISTA,IEND) return end +! ---------------------------------------------------------------------------------------------------- +!> @brief para_range2() sets up 2D decomposition values +!> @param[in] N1 - LAAT INTERATE VALUE I dimension +!> @param[in] N2 - LAST INTERATE VALUE J dimension +!> @param[in] NX NUMBER OF subdomains in Z dimension (NX * NY should be the total number of MPI procs) +!> @param[in] NY NUMBER OF subdomains in Y dimension (NX * NY should be the total number of MPI procs) +!> @param[in] NRANK - MY TASK ID +!> @param[out] ISTA - FIRST LOOP VALUE I +!> @param[out] IEND - LAST LOOP VALUE I +!> @param[out] JSTA - FIRST LOOP VALUE J +!> @param[out] JEND - LAST LOOP VALUE J + subroutine para_range2(im,jm,nx,ny,nrank,ista,iend,jsta,jend) + + implicit none + integer,intent(in) :: im,jm,nx,ny,nrank + integer,intent(out) :: ista,iend,jsta,jend + integer :: ix,jx + + jx=nrank/nx + ix=nrank-(jx*nx) + call para_range(1,im,nx,ix,ista,iend) + call para_range(1,jm,ny,jx,jsta,jend) +! print 101,n,ix,jx,ista,iend,jsta,jend +! 101 format(16i8) + return + end + + diff --git a/sorc/ncep_post.fd/PMICRPH.f b/sorc/ncep_post.fd/PMICRPH.f index 47feb1a8c5..10d7813aed 100644 --- a/sorc/ncep_post.fd/PMICRPH.f +++ b/sorc/ncep_post.fd/PMICRPH.f @@ -1,4 +1,8 @@ - module PMICRPH_mod +!> @file +!> @brief PMICRPH_mod assigns constants related to microphysics +!> (computed in paramr.f) +!----------------------------------------------------------------- + module PMICRPH_mod ! ----- Constants related to microphysics ! -- computed in paramr.f @@ -8,27 +12,128 @@ module PMICRPH_mod implicit none - REAL PI,RON,SON,GON,BR,BS,BG,DRAIN,DSNOW, & - DGRAUPEL,RON2,DIACE_min, & - drain2,dsnow2, & - TOPR,TOPS,TOPG,ARAIN,ASNOW,AGRAUPEL, & - TNO,ATO,XSMAX,BERC1,BP,AP,CNP,FRD1,FRA1,EFIS, & - EFIR,EFSR,EFCS,EFGI,EFGC,EFGR,EFGS,EFCR,ACRIS, & - BACRIS,CIR,CIRF,cpiacr0,cpiacr1,cpiacr2,cpiacr3, & - FRAIN,FSNOW,FGRAUPEL,CSR,CRS, & - ACRCS,BACRCS,RMC,ACRLS,BACLS,ACRCG,BACRCG,ACRIG, & - BACRIG,CRG,CSG,DEPG1,DEPG2,DEPG3,DEPG4,DEPS1, & - DEPS2,DEPS3,DEPS4,ACRCR,BACRCR,DEPR1,DEPR2,DEPR3, & - DEPR4,PSM1,PSM2,PSM3,PSM4,PGM1,PGM2,PGM3,PGM4, & - CW,HGFR,XM01,CNP1,DICE,C1,ALPHA1,BETA1,GAMMA3 & + REAL PI !< Mathematical contant pi (3.14159...) + REAL RON !< slope intercept for rain (original M-P value) + REAL SON !< slope intercept for snow + REAL GON !< slope intercept for graupel (original M-P value) + REAL BR !< exponent for rain in fall speed (V(D)=A*D^B) + REAL BS !< exponent for snow in fall speed (V(D)=A*D^B) + REAL BG !< exponent for graupel in fall speed (V(D)=A*D^B) + REAL DRAIN !< density of rain + REAL DSNOW !< density of snow + REAL DGRAUPEL !< density of graupel + REAL RON2 !< slope intercept for rain (modified) + REAL DIACE_min !< minimum mass of ice + REAL drain2 !< square of rain density + REAL dsnow2 !< square of snow density + REAL TOPR !< top of slope (numerator Marshall-Palmer slope parameter) for rain + REAL TOPS !< top of slope (numerator Marshall-Palmer slope parameter) for snow + REAL TOPG !< top of slope (numerator Marshall-Palmer slope parameter) for graupel + REAL ARAIN !< A in fall speed for rain + REAL ASNOW !< A in fall speed for snow + REAL AGRAUPEL !< A in fall speed for graupel + REAL TNO !< constant in Cooper and Fletcher curves + REAL ATO !< constant in Cooper Fletcher curves (not used) + REAL XSMAX !< autoconversion to snow + REAL BERC1 !< constant for Bergeron process (not used) + REAL BP !< B Prime (B') constant for computing freezing rate of cloud droplets + REAL AP !< A Prime (A') constant for computing freezing rate of cloud droplets + REAL CNP !< constant for computing cloud drop shape parameter + REAL FRD1 !< Related to freezing of rain droplets (Lin, et al., 45) + REAL FRA1 !< Related to freezing of rain droplets (Lin, et al., 45) + REAL EFIS !< collection efficiency of cloud ice by snow + REAL EFIR !< collection efficiency of cloud ice by rain + REAL EFSR !< collection efficiency of snow by rain + REAL EFCS !< collection efficiency of cloud water by snow + REAL EFGI !< collection efficiency of cloud ice by graupel + REAL EFGC !< collection efficiency of cloud water by graupel + REAL EFGR !< collection efficiency of graupel by rain + REAL EFGS !< collection efficiency of graupel by snow + REAL EFCR !< collection efficiency of cloud water by rain + REAL ACRIS !< Related to collection of cloud ice by snow + REAL BACRIS !< Related to collection of cloud ice by snow + REAL CIR !< collection of cloud ice by rain + REAL CIRF !< rate at which rain is frozen by collision with cloud ice + REAL cpiacr0 !< constant for PIACR (not used) + REAL cpiacr1 !< constant for PIACR (not used) + REAL cpiacr2 !< constant for PIACR (not used) + REAL cpiacr3 !< constant for PIACR (not used) + REAL FRAIN !< mean fall speed of rain + REAL FSNOW !< mean fall speed of snow + REAL FGRAUPEL !< mean fall speed of graupel + REAL CSR !< collection of snow by rain + REAL CRS !< collection of rain by snow + REAL ACRCS !< Related to collection of cloud water by snow using old particle size distribution + REAL BACRCS !< Related to collection of cloud water by snow using old particle size distribution + REAL RMC !< constant - no longer used/supported + REAL ACRLS !< Related to loss of snow due to collision with cloud water + REAL BACLS !< Related to loss of snow due to collision with cloud water + REAL ACRCG !< Related to collection of cloud water by graupel using old particle size distribution + REAL BACRCG !< Related to collection of cloud water by graupel using old particle size distribution + REAL ACRIG !< Related to collection of cloud ice by graupel + REAL BACRIG !< Related to collection of cloud ice by graupel + REAL CRG !< collection of rain by graupel + REAL CSG !< collection of snow by graupel + REAL DEPG1 !< Depositional growth of graupel + REAL DEPG2 !< Depositional growth of graupel + REAL DEPG3 !< Depositional growth of graupel + REAL DEPG4 !< Depositional growth of graupel + REAL DEPS1 !< Depositional growth of snow + REAL DEPS2 !< Depositional growth of snow + REAL DEPS3 !< Depositional growth of snow + REAL DEPS4 !< Depositional growth of snow + REAL ACRCR !< Related to collection of cloud water by rain + REAL BACRCR !< Related to collection of cloud water by rain + REAL DEPR1 !< Depositional growth of rain + REAL DEPR2 !< Depositional growth of rain + REAL DEPR3 !< Depositional growth of rain + REAL DEPR4 !< Depositional growth of rain + REAL PSM1 !< Related to melting of snow + REAL PSM2 !< Related to melting of snow + REAL PSM3 !< Related to melting of snow + REAL PSM4 !< Related to melting of snow + REAL PGM1 !< Related to melting of graupel + REAL PGM2 !< Related to melting of graupel + REAL PGM3 !< Related to melting of graupel + REAL PGM4 !< Related to melting of graupel + REAL CW !< constant for enhanced melting of graupel by rain and cloud water + REAL HGFR !< constant for homogeneous freezing of cloud droplets + REAL XM01 !< constant used to calculate the minimum mass of ice + REAL CNP1 !< Not used/no longer supported + REAL DICE !< density of ice + REAL C1 !< aggregation of cloud ice + REAL ALPHA1 !< constant used to calculate collection of snow by rain + REAL BETA1 !< constant used to calculate collection of snow by rain + REAL GAMMA3 !< constant used to calculate collection of snow by rain !jmb--removed INT0 frm the real declaration since declared integer blo - ,CONST1A,CONST1B,XM0S,XR0S,XM0G & - ,ACRCS_new,BACRCS_new,ACRCG_new,BACRCG_new & - ,const_ns1,const_ns2,const_ng1,const_ng2,xr0g & - ,r1,slor_r1,slos_r1,slog_r1,rho_not & - ,qck1,qcth,ron_min,qr0,delqr0,const1r,const2r & - ,xnu + REAL CONST1A !< constant for variable ‘son’ (slope intercept for snow) + REAL CONST1B !< constant for variable ‘son’ (slope intercept for snow) + REAL XM0S !< minimum mass of snow + REAL XR0S !< smallest size of snow + REAL XM0G !< minimum mass of graupel + REAL ACRCS_new !< Related to collection of cloud water by snow using new particle size distribution for snow (Roy R, Jul 99) + REAL BACRCS_new !< Related to collection of cloud water by snow using new particle size distribution for snow (Roy R, Jul 99) + REAL ACRCG_new !< Related to collection of cloud water by graupel using new particle size distribution for graupel (Roy R, Jul 99) + REAL BACRCG_new !< Related to collection of cloud water by graupel using new particle size distribution for graupel (Roy R, Jul 99) + REAL const_ns1 !< constant for variable ‘son’ (slope intercept for snow) + REAL const_ns2 !< constant for variable ‘son’ (slope intercept for snow) + REAL const_ng1 !< constant for variable ‘gon’ (slope intercept for graupel) + REAL const_ng2 !< constant for variable ‘gon’ (slope intercept for graupel) + REAL xr0g !< smallest size of graupel + REAL r1 !< minimum value for hydrometeor mixing ratios + REAL slor_r1 !< inverse slope value when rain mixing ratio is small + REAL slos_r1 !< inverse slope value when snow mixing ratio is small + REAL slog_r1 !< inverse slope value when graupel mixing ratio is small + REAL rho_not !< Standard density (p/RT, values from ICAO standard atmosphere) used in computing density correction to fall speeds + REAL qck1 !< Constant - no longer used/supported + REAL qcth !< Constant - no longer used/supported + REAL ron_min !< minimum allowed value for ron + REAL qr0 !< center value of rain mixing ratio for transition from M-P slope-intercept for drizzle formed by a collision-coalescence process to M-P slope-intercept for traditional rain + REAL delqr0 !< governs the sharpness of qr0 transition: small delt_qr0 makes the transition sharper + REAL const1r !< constant for variable ‘ron’ (slope intercept for rain) + REAL const2r !< constant for variable ‘ron’ (slope intercept for rain) + REAL xnu !< cloud drop shape parameter - INTEGER INT0 + INTEGER INT0 !< constant for Bergeron process - end module PMICRPH_mod + end module PMICRPH_mod \ No newline at end of file diff --git a/sorc/ncep_post.fd/PROCESS.f b/sorc/ncep_post.fd/PROCESS.f index 034de6caf5..a9bc453b06 100644 --- a/sorc/ncep_post.fd/PROCESS.f +++ b/sorc/ncep_post.fd/PROCESS.f @@ -1,62 +1,56 @@ !> @file -! -!> SUBPROGRAM: PROCESS DRIVER FOR MAJOR POST ROUTINES. -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-21 -!! -!! ABSTRACT: -!! THIS ROUTINE CALLS THE MAJOR POST PROCESSOR ROUTINES. -!! THESE ROUTINES ARE -!! MDLFLD - CALCULATE NMC SLP, SET BELOW SURFACE FIELDS, -!! AND POSTS DATA ON MODEL SURFACES. -!! MDL2P - POSTS DATA ON ISOBARIC SURFACES. -!! SURFCE - POSTS SOUNDING DATA, SURFACE BASED FIELDS, -!! AND STATIC OR FIXED FIELDS. -!! CLDRAD - POST SOUNDING/CLOUD/RADIATION FIELDS. -!! MISCLN - POST MISCELLANEOUS (SPECIAL) FIELDS. -!! FIXED - POST FIXED FIELDS. -!! -!! PROGRAM HISTORY LOG: -!! 92-12-21 RUSS TREADON -!! 98-06-01 T BLACK - CONVERSION OF POST FROM 1-D TO 2-D -!! 00-01-05 JIM TUCCILLO - MPI VERSION -!! 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -!! 02-06-19 MIKE BALDWIN - WRF VERSION -!! 11-02-04 Jun Wang - add grib2 option -!! -!! USAGE: CALL PROCESS -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! MDLFLD - POST DATA MDL SURFACES. -!! MDL2P - POST DATA ON PRESSURE SURFACES. -!! SURFCE - POST SURFACE BASED FIELDS. -!! CLDRAD - POST SOUNDING/CLOUD/RADIATION FIELDS. -!! MISCLN - POST MISCELLANEOUS FIELDS. -!! FIXED - POST FIXED FIELDS. -!! LIBRARY: -!! COMMON - OUTGRD -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief process() is a driver for major post routines. +!> +!> This routine calls the major post processor routines. +!>
+!> These routines are
+!> MDLFLD  - Calculate NMC SLP, set below surface fields,
+!>           and posts data on model surfaces.
+!> MDL2P   - Posts data on isobaric surfaces.
+!> SURFCE  - Posts sounding data  surface based fields,
+!>           and static or fixed fields.
+!> CLDRAD  - Post sounding/cloud/radiation fields.
+!> MISCLN  - Post miscellaneous (special) fields.
+!> FIXED   - Post fixed fields.
+!> 
+!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-21 | Russ Treadon | Initial +!> 1998-06-01 | T Black | Conversion from 1-D to 2-D +!> 2000-01-05 | Jim Tuccillo | MPI Version +!> 2001-10-25 | H CHUANG | Modified to process hybrid model output +!> 2002-06-19 | Mike Baldwin | WRF Version +!> 2011-02-04 | Jun Wang | Add grib2 option +!> 2023-01-24 | Sam Trahan | run IFI and compute its runtime +!> 2023-08-24 | Yali Mao | Remove running MDL2STD_P +!> + MODULE PROCESS_UPP_MOD + + implicit none + + contains + +!> @author Russ Treadon W/NP2 @date 1992-12-21 +!---------------------------------------------------------------------------- +!> process() is a driver for major post routines. +!> +!> @param[in] kth integer Number of isentropic levels. +!> @param[in] kpv integer Number of potential vorticity levels. +!> @param[in] th real Isentropic levels (K). +!> @param[in] pv real Potential vorticity (PV units). +!> @param[in] iostatusD3D integer No longer used/supported. +!> SUBROUTINE PROCESS(kth,kpv,th,pv,iostatusD3D) ! !---------------------------------------------------------------------------- ! use mpi, only: mpi_wtime - + use upp_ifi_mod, only: run_ifi use CTLBLK_mod, only: cfld, etafld2_tim, eta2p_tim, mdl2sigma_tim, surfce2_tim,& - mdl2agl_tim, mdl2std_tim, mdl2thandpv_tim, calrad_wcloud_tim,& - cldrad_tim, miscln_tim, fixed_tim, ntlfld, me + mdl2agl_tim, mdl2thandpv_tim, calrad_wcloud_tim,& + cldrad_tim, miscln_tim, fixed_tim, ntlfld, me, run_ifi_tim !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -76,37 +70,45 @@ SUBROUTINE PROCESS(kth,kpv,th,pv,iostatusD3D) ! START SUBROUTINE PROCESS. ! cfld=0 + if(me==0) write(*,*) "PROCESS starts" ! ! COMPUTE/POST FIELDS ON MDL SURFACES. ! btim = mpi_wtime() CALL MDLFLD + if(me==0) write(*,*) "PROCESS MDLFLD done" ETAFLD2_tim = ETAFLD2_tim +(mpi_wtime() - btim) ! ! COMPUTE/POST FIELDS ON PRESSURE SURFACES. btim = mpi_wtime() CALL MDL2P(iostatusD3D) + if(me==0) write(*,*) "PROCESS MDL2P done" ETA2P_tim = ETA2P_tim +(mpi_wtime() - btim) ! ! COMPUTE/POST FIELDS ON SIGMA SURFACES. btim = mpi_wtime() CALL MDL2SIGMA + if(me==0) write(*,*) "PROCESS MDL2SIGMA done" CALL MDL2SIGMA2 + if(me==0) write(*,*) "PROCESS MDL2SIGMA2 done" MDL2SIGMA_tim = MDL2SIGMA_tim +(mpi_wtime() - btim) ! ! COMPUTE/POST FIELDS ON AGL SURFCES. btim = mpi_wtime() CALL MDL2AGL + if(me==0) write(*,*) "PROCESS MDL2AGL done" MDL2AGL_tim = MDL2AGL_tim +(mpi_wtime() - btim) ! ! COMPUTE/POST SURFACE RELATED FIELDS. btim = mpi_wtime() CALL SURFCE + if(me==0) write(*,*) "PROCESS SURFCE done" SURFCE2_tim = SURFCE2_tim +(mpi_wtime() - btim) ! ! COMPUTE/POST SOUNDING AND CLOUD RELATED FIELDS. btim = mpi_wtime() CALL CLDRAD + if(me==0) write(*,*) "PROCESS CLDRAD done" CLDRAD_tim = CLDRAD_tim +(mpi_wtime() - btim) ! ! COMPUTE/POST TROPOPAUSE DATA, FD LEVEL FIELDS, @@ -114,34 +116,39 @@ SUBROUTINE PROCESS(kth,kpv,th,pv,iostatusD3D) ! AND LFM-NGM LOOK-ALIKE FIELDS. btim = mpi_wtime() CALL MISCLN + if(me==0) write(*,*) "PROCESS MISCLN done" MISCLN_tim = MISCLN_tim +(mpi_wtime() - btim) -! COMPUTE/POST TROPOPAUSE DATA, FD LEVEL FIELDS, -! FREEZING LEVEL HEIGHT AND RH, BOUNDARY LAYER FIELDS, -! AND LFM-NGM LOOK-ALIKE FIELDS. - btim = mpi_wtime() - CALL MDL2STD_P - MDL2STD_tim = MDL2STD_tim +(mpi_wtime() - btim) -! ! POST FIXED FIELDS. btim = mpi_wtime() CALL FIXED + if(me==0) write(*,*) "PROCESS FIXED done" FIXED_tim = FIXED_tim +(mpi_wtime() - btim) ! ! COMPUTE/POST FIELDS ON SIGMA SURFACES. btim = mpi_wtime() CALL MDL2THANDPV(kth,kpv,th,pv) + if(me==0) write(*,*) "PROCESS MDL2THANDPV done" MDL2THANDPV_tim = MDL2THANDPV_tim +(mpi_wtime() - btim) ! ! POST RADIANCE AND BRIGHTNESS FIELDS. btim = mpi_wtime() CALL CALRAD_WCLOUD + if(me==0) write(*,*) "PROCESS CALRAD_WCLOUD done" CALRAD_WCLOUD_tim = CALRAD_WCLOUD_tim +(mpi_wtime() - btim) ! +! IN-FLIGHT ICING PRODUCTS + btim = mpi_wtime() + CALL RUN_IFI + RUN_IFI_tim = RUN_IFI_tim +(mpi_wtime()-btim) +! ! END OF ROUTINE. ! NTLFLD=cfld if(me==0)print *,'nTLFLD=',NTLFLD + if(me==0) write(*,*) "PROCESS done" ! RETURN END + + END MODULE PROCESS_UPP_MOD diff --git a/sorc/ncep_post.fd/READCNTRL.F b/sorc/ncep_post.fd/READCNTRL.F deleted file mode 100644 index 5be7189010..0000000000 --- a/sorc/ncep_post.fd/READCNTRL.F +++ /dev/null @@ -1,240 +0,0 @@ -!> @file -! -!> SUBPROGRAM: READCNTRL READS CONTROL FILE -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-20 -!! -!! ABSTRACT: -!! THIS ROUTINE READS THE CONTROL FILE SPECIFYING -!! DATA FORMAT(S) AND FIELD(S) TO POST. THE -!! ORDER OF OPERATIONS IS -!! (1) READ HEADER BLOCK OF CONTROL FILE, -!! (2) SET FLAGS, CLOSE OPEN UNITS -!! (3) READ BODY OF CONTROL FILE (FIELD SPECIFICATIONS) -!! -!! PROGRAM HISTORY LOG: -!! 92-12-20 RUSS TREADON -!! 93-06-15 RUSS TREADON - ADD PROJECTION CONTROL CARD -!! 98-06-01 BLACK - CONVERSION OF POST FROM 1-D TO 2-D -!! 98-07-17 MIKE BALDWIN - REMOVED PACK84 -!! 01-10-22 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -!! 02-01-16 MIKE BALDWIN - WRF VERSION -!! 21-03-11 B Cui - change local arrays to dimension (im,jsta:jend) -!! -!! USAGE: CALL READCNTRL(IEOF) -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! IEOF - INTEGER FLAG FOR EOF IN CONTROL FILE. -!! IEOF=0 WHEN AN EOF IS READ IN THE -!! CONTROL FILE. IEOF=1 OTHERWISE. -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! -!! LIBRARY: -!! COMMON - RQSTFLD -!! CTLBLK -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! - SUBROUTINE READCNTRL(kth,IEOF) -! - -! -! -! INCLUDE ETA GRID DIMENSIONS. SET/DERIVE PARAMETERS. -! - use lookup_mod,only: ITB,JTB,ITBQ,JTBQ - use ctlblk_mod, only: me, ifhr, ihrst, sdat, imdlty, im, jm - use rqstfld_mod, only: mxfld, iget, kgtype, datset, ritehd, & - field, dec, lvls, mxlvl, avbl, ident, nfld -!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none -! - real,PARAMETER :: DTR=1.745329E-2,RTD=1./DTR -! -! DECLARE VARIABLES. -! - LOGICAL NORTH - CHARACTER*2 CHAR2 - CHARACTER*4 CHAR4 - CHARACTER*80 LINE -!jw - integer, intent(in) :: KTH - integer, intent(inout) :: IEOF - integer LCNTRL,LUNOUT,ISUM,L,IFLD,IAVBL -! -!****************************************************************************** -! START READCNTRL HERE. -! - - LCNTRL=14 - LUNOUT=60 - - IF(ME==0)THEN - WRITE(6,*)'READCNTRL: POSTING FCST HR ',IFHR,' FROM ', & - IHRST,'UTC ',SDAT(1),'-',SDAT(2),'-',SDAT(3),' RUN' - ENDIF -! -! INITIALIZE VARIABLES. -! IEOF IS THE END OF FILE FLAG FOR THE CONTROL FILE. -! ARRAY IGET IS THE "GET FIELD" FLAG ARRAY. -! - IEOF=0 - DO 100 IFLD=1,MXFLD - IGET(IFLD)=-1 - 100 CONTINUE -! - if(me==0)print*,'start reading control file' -! - READ(LCNTRL,1000,ERR=990,END=999) KGTYPE - READ(LCNTRL,1000,ERR=990,END=999) IMDLTY - READ(LCNTRL,1030,ERR=990,END=999) DATSET - 1000 FORMAT(T28,I5) - 1030 FORMAT(T28,A6) -! -! SET FLAG TO OPEN NEW OUTPUT FILE -! - RITEHD = .TRUE. -! -! ECHO HEADER INFO TO 6. -! - IF(ME==0)THEN - WRITE(6,*)'READCNTRL: HEADER INFORMATION' - WRITE(6,*)' KGTYPE : ',KGTYPE - WRITE(6,*)' IMDLTY : ',IMDLTY - WRITE(6,*)' DATSET : ',DATSET - WRITE(6,*)' RITEHD : ',RITEHD - ENDIF -! -! NOW READ WHICH FIELDS ON -! WHICH LEVELS TO INTERPOLATE TO THE OUTPUT GRID. THE -! CHARACTER STRING "DONE" MARKS THE END OF THE OUTPUT -! FIELD SPECIFICATIONS. -! - IFLD = 0 - 10 CONTINUE - READ(LCNTRL,1060,ERR=996) LINE - IF (INDEX(LINE,'DONE')/=0) GOTO 40 - IF (INDEX(LINE,'SCAL=')==0) GOTO 10 - IFLD = IFLD+1 - FIELD(IFLD) = LINE(3:22) - READ(LINE,1061) DEC(IFLD) - READ(LCNTRL,1090,ERR=996) (LVLS(L,IFLD),L=1,MXLVL) - 1060 FORMAT(A80) - 1061 FORMAT(30X,F4.1) - 1070 FORMAT(A4) - 1080 FORMAT(A2) - -#ifdef COMMCODE - 1090 FORMAT(T5,14(5I1,1X)) -#else - 1090 FORMAT(T5,100(5I1,1X)) -#endif -! -! SEE IF WE WANT THIS FIELD. THE SUM OF THE LEVELS -! INDICATORS MUST BE GREATER THAN ZERO IF WE WANT -! THIS FIELD. -! - ISUM = 0 - DO 15 L = 1,MXLVL - ISUM = ISUM + LVLS(L,IFLD) - 15 CONTINUE - IF (ISUM<1) THEN - IFLD = IFLD - 1 - GOTO 10 - ENDIF -! -! SEE IF REQUESTED FIELD IS AVAILABLE. IF NOT, -! WRITE MESSAGE TO 6 AND DECREMENT FIELD -! COUNTER BY ONE. THEN READ NEXT REQUESTED FIELD. -! - DO 20 IAVBL = 1,MXFLD - IF (INDEX(FIELD(IFLD),AVBL(IAVBL))/=0)GO TO 30 - 20 CONTINUE - IF(ME==0)THEN - WRITE(6,*)'FIELD ',FIELD(IFLD),' NOT AVAILABLE' - ENDIF - IFLD = IFLD-1 - GOTO 10 -! -! IF FIELD IS AVAILABLE, TURN THE GET SWITCH ON. -! - 30 CONTINUE - IGET(IAVBL) = IFLD - IDENT(IFLD) = IAVBL - GOTO 10 -! -! ALL DONE READING REQUESTED FIELDS FOR CURRENT OUTPUT GRID. -! SET NFLD TO TOTAL NUMBER OF REQUESTED OUTPUT FIELDS THAT -! ARE AVAILABLE. -! - 40 CONTINUE - - NFLD = IFLD -! skip creating ipv files if kth=0 and no isobaric fields are requested in ctl file - - - if(kth==0 .and. iget(013)<=0)go to 999 -! -! ECHO OUTPUT FIELDS/LEVELS TO 6. -! - IF(ME==0)THEN - WRITE(6,*)'BELOW ARE FIELD/LEVEL/SMOOTHING ', & - 'SPECIFICATIONS.,NFLD=',NFLD,'MXLVL=',MXLVL - ENDIF - DO 50 IFLD = 1,NFLD - IF(ME==0)THEN - WRITE(6,2060) FIELD(IFLD) - WRITE(6,2070) (LVLS(L,IFLD),L=1,MXLVL) - 2060 FORMAT('(',A20,')') - 2070 FORMAT('L=(',14(5I1,1X),')') - ENDIF - 50 CONTINUE -! -! WE HAVE AN OUTPUT GRID AND THE FIELDS TO GENERATE ON IT. -! SKIP OVER THE FOLLOWING EOF MESSAGE TO EXIT THIS ROUTINE. -! - GOTO 60 -! -! WE REACH THIS BLOCK ONLY IF THERE IS AN ERROR WHILE READING -! IN THE CONTROL FILE. PRINT AN ERROR MESSAGE TO STANDARD -! OUT AND CARRY ON. -! - 990 CONTINUE - IF(ME==0)THEN - WRITE(6,*)' READCNTRL: ERROR READING CNTRL HEADER INFO' - WRITE(6,*)' BELOW IS CNTRL GRID INFO' - WRITE(6,*)' KGTYPE,DATSET: ',KGTYPE,' ',DATSET - ENDIF - GOTO 999 - 996 CONTINUE - IF(ME==0)THEN - WRITE(6,*)' READCNTRL: ERROR READING CNTRL FLD/LVL INFO' - ENDIF -! -! WE REACH THIS BLOCK ONLY WHEN AN EOF HAS BEEN READ FROM -! THE CONTROL FILE. THAT MEANS WE'VE PROCESSED ALL GRIDS -! AND ALL FIELDS. WE'RE DONE. SET THE EOF FLAG TO ANY -! NONZERO INTEGER, SAY ONE. CLOSE THE UNIT CONNECTED TO -! THE LAST OUTPUT FILE AND EXIT THE ROUTINE. -! - 999 CONTINUE - IEOF=1 - CLOSE(LUNOUT) - IF(ME==0)THEN - WRITE(6,*)' READCNTRL: ALL GRIDS PROCESSED. ', & - 'CLOSED ',LUNOUT - ENDIF -! -! END OF ROUTINE. -! - 60 CONTINUE - RETURN - END diff --git a/sorc/ncep_post.fd/READ_xml.f b/sorc/ncep_post.fd/READ_xml.f index 843770d701..49e70a42c0 100644 --- a/sorc/ncep_post.fd/READ_xml.f +++ b/sorc/ncep_post.fd/READ_xml.f @@ -1,48 +1,23 @@ !> @file -! . . . -!> SUBPROGRAM: READCNTRLgrb2_xml READS POST xml CONTROL FILE -!! PRGRMMR: J. WANG ORG: NCEP/EMC DATE: 12-01-27 -!! -!! ABSTRACT: -!! THIS ROUTINE READS THE POST AVAILABLE FIELD XML FILE and -!! POST CONTROL XML FILE. EACH SET OF OUTPUT FIELDS GOING TO ONE -!! OUTPUT FILE WILL WILL BE SAVED AND PROCESSED LATER. IN OTHER -!! WORDS, POST CONTROL FILE WILL BE READ IN WHOLE ONCE. -!! -!! PROGRAM HISTORY LOG: -!! 01_27_2012 Jun Wang - INITIAL CODE -!! 03_10_2015 Lin Gan - Replace XML file with flat file implementation -!! with parameter marshalling -!! 07_08_2016 J. Carley - Clean up prints -!! -!! USAGE: CALL READ_XML() -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! NONE - -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! -!! LIBRARY: -!! COMMON - RQSTFLDGRB2 -!! CTLBLK -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : IBM -!! +!> @brief read_postxconfig() reads the post available field XML file and post control XML file. +!> Each set of output fields going to one output file will be saved and processed later. +!> In other words, post control file will be read in whole once. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2012-01-27 | Jun Wang | INITIAL CODE +!> 2015-03-10 | Lin Gan | Replace XML file with flat file implementation with parameter marshalling +!> 2016-07-08 | J. Carley | Clean up prints + + MODULE READ_XML_UPP_MOD + + IMPLICIT NONE + + CONTAINS + SUBROUTINE READ_xml() -! -! -! -! INCLUDE ETA GRID DIMENSIONS. SET/DERIVE PARAMETERS. -! use xml_perl_data,only: post_avblflds,paramset,read_postxconfig use grib2_module, only: num_pset use rqstfld_mod,only: num_post_afld,MXLVL,lvlsxml @@ -55,16 +30,11 @@ SUBROUTINE READ_xml() !****************************************************************************** ! START READCNTRL_XML HERE. ! -! READ post available field table - if (me==0) write(0,*)'in readxml,bf readxml,size(post_avblflds%param)=', & - size(post_avblflds%param) +!> @brief Read post available field table + call read_postxconfig() num_post_afld=size(paramset(1)%param) num_pset=size(paramset) - if (me==0) write(0,*)'in readxml, aft read flat file.xml,num_post_afld=', & - num_post_afld - if (me==0) write(0,*)'in readxml, aft read flat file.xml,num_pset=',num_pset - ! LinGan below line removed because now we only read one flat file ! @@ -72,18 +42,20 @@ SUBROUTINE READ_xml() ! call read_xml_file_post_t( 'post_avblflds.xml') ! num_post_afld=size(post_avblflds%param) ! allocate(lvlsxml(MXLVL,num_post_afld)) -! write(0,*)'in readxml, aft read post_avblflds.xml,num_post_afld=',num_post_afld +! write(*,*)'in readxml, aft read post_avblflds.xml,num_post_afld=',num_post_afld ! endif ! ! READ post cntrl file -! write(0,*)'in readxml,bf readxml,size(paramset)=',size(paramset) +! write(*,*)'in readxml,bf readxml,size(paramset)=',size(paramset) ! if(size(paramset)==0) then ! call read_xml_file_post_t( 'postcntrl.xml') ! num_pset=size(paramset) -! write(0,*)'in readxml, aft read postcntrl.xml,num_pset=',num_pset +! write(*,*)'in readxml, aft read postcntrl.xml,num_pset=',num_pset ! endif ! RETURN end subroutine read_xml + END MODULE READ_XML_UPP_MOD + diff --git a/sorc/ncep_post.fd/RHGRD.f b/sorc/ncep_post.fd/RHGRD.f index d1d35d9f82..90bb531a64 100644 --- a/sorc/ncep_post.fd/RHGRD.f +++ b/sorc/ncep_post.fd/RHGRD.f @@ -1,7 +1,9 @@ +!> @file +!> @brief RHGRD_mod defines the relative humidity threshold for onset of condensation module RHGRD_mod !----------------------------------------------------------------------- implicit none ! - real :: RHgrd + real :: RHgrd !< Grid-scale relative humidity threshold for onset of condensation !----------------------------------------------------------------------- end module RHGRD_mod diff --git a/sorc/ncep_post.fd/RQSTFLD.F b/sorc/ncep_post.fd/RQSTFLD.F deleted file mode 100644 index f5b82ad040..0000000000 --- a/sorc/ncep_post.fd/RQSTFLD.F +++ /dev/null @@ -1,2729 +0,0 @@ - module RQSTFLD_mod -!-------------------------------------------------------------------- -! revision history -! 2011-02-06 Jun Wang add grib2 option -! 2011-10-18 Sarah Lu add GOCART aerosol fields -! 2011-12-18 Sarah Lu add GOCART aerosol optical properties, mass -! fields, and production/removal fluxes -! 2011-12-29 Sarah Lu add GOCART AOD at multiple channels -! 2012-01-06 Sarah Lu add GOCART SS, OC, BC, SU aerosols -! 2012-01-07 Sarah Lu add air density and dpres -! 2012-01-27 Sarah Lu use index 601-700 for GOCART -! 2012-01-30 Jun Wang add post available fields from xml file for grib2 -! 2012-05-07 Tricia Slovacek use index 800-899 for satellite -! use index 900-949 for HWRF -! 2014-12-09 William Lewis added MSG/SEVIRI imager, -! GOES-13 and GOES-15 imagers, -! and completed SSMI and SSMIS (F13-F20) -! 2019-04-01 Sharon Nebuda added GOES-16 GOES-17 ABI IR Channels 7-16 -! 2019-04-22 Wen Meng increased model MXLVL to 500 -! 2019-05-08 Wen Meng added continuous accumulated precipitations(417, 418, -! 419). -! 2019-09-03 Jesse Meng added cape related variables for hrrr (950-957) -! 2021-08-31 Lin Zhu added ssmis-f17 channels 15-18 grib2 output -!-------------------------------------------------------------------- - - implicit none -! -! increase MXFLD each time you add a new field - INTEGER, PARAMETER :: MXFLD=1200 -#ifdef COMMCODE - INTEGER, PARAMETER :: MXLVL=70 -#else - INTEGER, PARAMETER :: MXLVL=500 -#endif - CHARACTER*20 AVBL(MXFLD),FIELD(MXFLD) - CHARACTER*50 AVBLGRB2(MXFLD) - CHARACTER*6 DATSET -! - LOGICAL RITEHD,RITE2 -! - integer :: KGTYPE,IOUTYP,SVALUE,NFLD,IGET(MXFLD), & - IQ(MXFLD),IS(MXFLD),ISMSTG(MXFLD), & - ISMFUL(MXFLD),ISMOUT(MXFLD),LVLS(MXLVL,MXFLD), & - IDENT(MXFLD),IFILV(MXFLD),IAVBLFLD(MXFLD), & - ID(25),IGDS(18) - real :: DEC(MXFLD) - integer :: num_post_afld - integer,allocatable :: LVLSXML(:,:) -! -!initialization -! -! THIS FILE CONTAINS ALL THE UNIQUE FIELDS THE -! ETA POST PROCESSOR CAN CURRENTLY GENERATE. -! -! IFILV IS FLAG FOR IDENTIFYING MASS OR VELOCITY POINT -! =0 DATA IS VELOCITY POINT -! =1 DATA IS MASS POINT -! AVBL IS CHARACTER STRING IDENTIFYING THE FIELD. -! IQ IS THE GRIB PDS OCTET 9 - PARAMETER (TABLE 2) -! IS IS THE GRIB PDS OCTET 10 - LEVEL TYPE (TABLE 3 & 3a) -! -! WANT MORE/DIFFERENT FIELDS? -! (1) ADD CODE TO CALCULATE FIELD(S) IN APPROPRIATE ROUTINE(S), -! (2) ADD FIELD(S) TO THIS LIST WITH A UNIQUE ITAG TAG, -! (3) EDIT INPUT (CONTROL) FILE ACCORDINGLY, -! (3) INCREASE PARAMETER MXFLD IN COMMON BLOCK RQSTFLD.comm. -! -! CURRENT NUMBER OF FIELDS LISTED: 180 -! -!0 1 2 3 4 5 6 7 -!234567890123456789012345678901234567890123456789012345678901234567890 -! - DATA IFILV(001),AVBL(001),IQ(001),IS(001),AVBLGRB2(001) & - & /1,'PRESS ON MDL SFCS ',001,109, & - & 'PRES ON hybrid_lvl'/ - DATA IFILV(077),AVBL(077),IQ(077),IS(077),AVBLGRB2(077) & - & /1,'HEIGHT ON MDL SFCS ',007,109, & - & 'HGT ON hybrid_lvl'/ - DATA IFILV(002),AVBL(002),IQ(002),IS(002),AVBLGRB2(002) & - & /1,'TEMP ON MDL SFCS ',011,109, & - & 'TMP ON hybrid_lvl'/ - DATA IFILV(003),AVBL(003),IQ(003),IS(003),AVBLGRB2(003) & - & /1,'POT TEMP ON MDL SFCS',013,109, & - & 'POT ON hybrid_lvl'/ - DATA IFILV(004),AVBL(004),IQ(004),IS(004),AVBLGRB2(004) & - & /1,'DWPT TEMP ON MDL SFC',017,109, & - & 'DPT ON hybrid_lvl'/ - DATA IFILV(005),AVBL(005),IQ(005),IS(005),AVBLGRB2(005) & - & /1,'SPEC HUM ON MDL SFCS',051,109, & - & 'SPF_H ON hybrid_lvl'/ - DATA IFILV(006),AVBL(006),IQ(006),IS(006),AVBLGRB2(006) & - & /1,'REL HUM ON MDL SFCS ',052,109, & - & 'RH ON hybrid_lvl'/ - DATA IFILV(083),AVBL(083),IQ(083),IS(083),AVBLGRB2(083) & - & /1,'MST CNVG ON MDL SFCS',135,109, & - & 'MCONV ON hybrid_lvl'/ - DATA IFILV(007),AVBL(007),IQ(007),IS(007),AVBLGRB2(007) & - & /0,'U WIND ON MDL SFCS ',033,109, & - & 'U_GRD ON hybrid_lvl'/ - DATA IFILV(008),AVBL(008),IQ(008),IS(008),AVBLGRB2(008) & - & /0,'V WIND ON MDL SFCS ',034,109, & - & 'V_GRD ON hybrid_lvl'/ - DATA IFILV(009),AVBL(009),IQ(009),IS(009),AVBLGRB2(009) & - & /1,'OMEGA ON MDL SFCS ',039,109, & - & 'V_VEL ON hybrid_lvl'/ - DATA IFILV(010),AVBL(010),IQ(010),IS(010),AVBLGRB2(010) & - & /1,'ABS VORT ON MDL SFCS',041,109, & - & 'ABS_V ON hybrid_lvl'/ - DATA IFILV(084),AVBL(084),IQ(084),IS(084),AVBLGRB2(084) & - & /1,'STRMFUNC ON MDL SFCS',035,109, & - & 'STRM ON hybrid_lvl'/ - DATA IFILV(011),AVBL(011),IQ(011),IS(011),AVBLGRB2(011) & - & /1,'TRBLNT KE ON MDL SFC',158,109, & - & 'TKE ON hybrid_lvl'/ - DATA IFILV(111),AVBL(111),IQ(111),IS(111),AVBLGRB2(111) & - & /1,'RCHDSN NO ON MDL SFC',254,109, & - & 'RI ON hybrid_lvl'/ - DATA IFILV(146),AVBL(146),IQ(146),IS(146),AVBLGRB2(146) & - & /1,'MASTER LENGTH SCALE ',226,109, & - & 'BMIXL ON hybrid_lvl'/ - DATA IFILV(147),AVBL(147),IQ(147),IS(147),AVBLGRB2(147) & - & /1,'ASYMPT MSTR LEN SCL ',227,109, & - & 'AMIXL ON hybrid_lvl'/ - DATA IFILV(012),AVBL(012),IQ(012),IS(012),AVBLGRB2(012) & - & /1,'HEIGHT OF PRESS SFCS',007,100, & - & 'HGT ON isobaric_sfc'/ - DATA IFILV(013),AVBL(013),IQ(013),IS(013),AVBLGRB2(013) & - & /1,'TEMP ON PRESS SFCS ',011,100, & - & 'TMP ON isobaric_sfc'/ - DATA IFILV(014),AVBL(014),IQ(014),IS(014),AVBLGRB2(014) & - & /1,'POT TEMP ON P SFCS ',013,100, & - & 'POT ON isobaric_sfc'/ - DATA IFILV(015),AVBL(015),IQ(015),IS(015),AVBLGRB2(015) & - & /1,'DWPT TEMP ON P SFCS ',017,100, & - & 'DPT ON isobaric_sfc'/ - DATA IFILV(016),AVBL(016),IQ(016),IS(016),AVBLGRB2(016) & - & /1,'SPEC HUM ON P SFCS ',051,100, & - & 'SPF_H ON isobaric_sfc'/ - DATA IFILV(017),AVBL(017),IQ(017),IS(017),AVBLGRB2(017) & - & /1,'REL HUMID ON P SFCS ',052,100, & - & 'RH ON isobaric_sfc'/ - DATA IFILV(085),AVBL(085),IQ(085),IS(085),AVBLGRB2(085) & - & /1,'MST CNVG ON P SFCS ',135,100, & - & 'MCONV ON isobaric_sfc'/ - DATA IFILV(018),AVBL(018),IQ(018),IS(018),AVBLGRB2(018) & - & /1,'U WIND ON PRESS SFCS',033,100, & - & 'U_GRD ON isobaric_sfc'/ - DATA IFILV(019),AVBL(019),IQ(019),IS(019),AVBLGRB2(019) & - & /1,'V WIND ON PRESS SFCS',034,100, & - & 'V_GRD ON isobaric_sfc'/ - DATA IFILV(020),AVBL(020),IQ(020),IS(020),AVBLGRB2(020) & - & /1,'OMEGA ON PRESS SFCS ',039,100, & - & 'V_VEL ON isobaric_sfc'/ - DATA IFILV(021),AVBL(021),IQ(021),IS(021),AVBLGRB2(021) & - & /1,'ABS VORT ON P SFCS ',041,100, & - & 'ABS_V ON isobaric_sfc'/ - DATA IFILV(086),AVBL(086),IQ(086),IS(086),AVBLGRB2(086) & - & /1,'STRMFUNC ON P SFCS ',035,100, & - & 'STRM ON isobaric_sfc'/ - DATA IFILV(022),AVBL(022),IQ(022),IS(022),AVBLGRB2(022) & - & /1,'TRBLNT KE ON P SFCS ',158,100, & - & 'TKE ON isobaric_sfc'/ - DATA IFILV(153),AVBL(153),IQ(153),IS(153),AVBLGRB2(153) & - & /1,'CLOUD WATR ON P SFCS',153,100, & - & 'CLWMR ON isobaric_sfc'/ - DATA IFILV(166),AVBL(166),IQ(166),IS(166),AVBLGRB2(166) & - & /1,'CLOUD ICE ON P SFCS ',058,100, & - & 'C_ICE ON isobaric_sfc'/ - DATA IFILV(023),AVBL(023),IQ(023),IS(023),AVBLGRB2(023) & - & /1,'MESINGER MEAN SLP ',130,102, & - & 'MSLET ON mean_sea_lvl'/ - DATA IFILV(105),AVBL(105),IQ(105),IS(105),AVBLGRB2(105) & - & /1,'SHUELL MEAN SLP ',002,102, & - & 'PRES ON mean_sea_lvl'/ - DATA IFILV(445),AVBL(445),IQ(445),IS(445),AVBLGRB2(445) & !445 - & /1,'MAPS SLP ',129,102, & - & 'MAPS PRMSL ON mean_sea_lvl'/ - DATA IFILV(138),AVBL(138),IQ(138),IS(138),AVBLGRB2(138) & - & /1,'SHELTER PRESSURE ',001,105, & - & 'PRES ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(106),AVBL(106),IQ(106),IS(106),AVBLGRB2(106) & - & /1,'SHELTER TEMPERATURE ',011,105, & - & 'TMP ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(112),AVBL(112),IQ(112),IS(112),AVBLGRB2(112) & - & /1,'SHELTER SPEC HUMID ',051,105, & - & 'SPF_H ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(414),AVBL(414),IQ(414),IS(414),AVBLGRB2(414) & - & /1,'SHELTER MIX RATIO ',053,105, & - & 'MIXR ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(113),AVBL(113),IQ(113),IS(113),AVBLGRB2(113) & - & /1,'SHELTER DEWPOINT ',017,105, & - & 'DPT ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(114),AVBL(114),IQ(114),IS(114),AVBLGRB2(114) & - & /1,'SHELTER REL HUMID ',052,105, & - & 'RH ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(064),AVBL(064),IQ(064),IS(064),AVBLGRB2(064) & - & /1,'U WIND AT ANEMOM HT ',033,105, & - & 'U_GRD ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(065),AVBL(065),IQ(065),IS(065),AVBLGRB2(065) & - & /1,'V WIND AT ANEMOM HT ',034,105, & - & 'V_GRD ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(158),AVBL(158),IQ(158),IS(158),AVBLGRB2(158) & - & /1,'POT TEMP AT 10 M ',013,105, & - & 'POT ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(159),AVBL(159),IQ(159),IS(159),AVBLGRB2(159) & - & /1,'SPEC HUM AT 10 M ',051,105, & - & 'SRF_H ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(024),AVBL(024),IQ(024),IS(024),AVBLGRB2(024) & - & /1,'SURFACE PRESSURE ',001,001, & - & 'PRES ON surface'/ - DATA IFILV(025),AVBL(025),IQ(025),IS(025),AVBLGRB2(025) & - & /1,'SURFACE HEIGHT ',007,001, & - & 'HGT ON surface'/ - DATA IFILV(027),AVBL(027),IQ(027),IS(027),AVBLGRB2(027) & - & /1,'SURFACE POT TEMP ',013,001, & - & 'POT ON surface'/ - DATA IFILV(028),AVBL(028),IQ(028),IS(028),AVBLGRB2(028) & - & /1,'SURFACE SPEC HUMID ',051,001, & - & 'SPF_H ON surface'/ - DATA IFILV(029),AVBL(029),IQ(029),IS(029),AVBLGRB2(029) & - & /1,'SURFACE DEWPOINT ',017,001, & - & 'DPT ON surface'/ - DATA IFILV(076),AVBL(076),IQ(076),IS(076),AVBLGRB2(076) & - & /1,'SURFACE REL HUMID ',052,001, & - & 'RH ON surface'/ - DATA IFILV(026),AVBL(026),IQ(026),IS(026),AVBLGRB2(026) & - & /1,'SFC (SKIN) TEMPRATUR',011,001, & - & 'TMP ON surface'/ - DATA IFILV(115),AVBL(115),IQ(115),IS(115),AVBLGRB2(115) & - & /1,'BOTTOM SOIL TEMP ',085,111, & - & 'TSOIL ON depth_bel_land_sfc'/ - DATA IFILV(116),AVBL(116),IQ(116),IS(116),AVBLGRB2(116) & - & /1,'SOIL TEMPERATURE ',085,112, & - & 'TSOIL ON depth_bel_land_sfc'/ - DATA IFILV(117),AVBL(117),IQ(117),IS(117),AVBLGRB2(117) & - & /1,'SOIL MOISTURE ',144,112, & - & 'SOILW ON depth_bel_land_sfc'/ - DATA IFILV(036),AVBL(036),IQ(036),IS(036),AVBLGRB2(036) & - & /1,'TOTAL SOIL MOISTURE ',086,112, & - & 'SOILM ON depth_bel_land_sfc'/ - DATA IFILV(118),AVBL(118),IQ(118),IS(118),AVBLGRB2(118) & - & /1,'PLANT CANOPY SFC WTR',223,001, & - & 'CNWAT ON surface'/ - DATA IFILV(119),AVBL(119),IQ(119),IS(119),AVBLGRB2(119) & - & /1,'SNOW WATER EQUIVALNT',065,001, & - & 'INST WEASD ON surface'/ - DATA IFILV(120),AVBL(120),IQ(120),IS(120),AVBLGRB2(120) & - & /1,'PERCENT SNOW COVER ',238,001, & - & 'SNOWC ON surface'/ - DATA IFILV(169),AVBL(169),IQ(169),IS(169),AVBLGRB2(169) & - & /1,'SFC EXCHANGE COEF ',208,001, & - & 'SFEXC ON surface'/ - DATA IFILV(170),AVBL(170),IQ(170),IS(170),AVBLGRB2(170) & - & /1,'GREEN VEG COVER ',087,001, & - & 'VEG ON surface'/ - DATA IFILV(171),AVBL(171),IQ(171),IS(171),AVBLGRB2(171) & - & /1,'SOIL MOISTURE AVAIL ',207,112, & - & 'MSTAV ON depth_bel_land_sfc'/ - DATA IFILV(152),AVBL(152),IQ(152),IS(152),AVBLGRB2(152) & - & /1,'INST GROUND HEAT FLX',155,001, & - & 'INST GFLUX ON surface'/ - DATA IFILV(030),AVBL(030),IQ(030),IS(030),AVBLGRB2(030) & - & /1,'LIFTED INDEX--SURFCE',131,101, & - & 'LFT_X ON isobaric_sfc'/ - DATA IFILV(031),AVBL(031),IQ(031),IS(031),AVBLGRB2(031) & - & /1,'LIFTED INDEX--BEST ',132,116, & - & '4LFTX ON spec_pres_above_grnd'/ - DATA IFILV(075),AVBL(075),IQ(075),IS(075),AVBLGRB2(075) & - & /1,'LIFTED INDEX--BNDLYR',024,116, & - & 'PLI ON spec_pres_above_grnd'/ - DATA IFILV(032),AVBL(032),IQ(032),IS(032),AVBLGRB2(032) & - & /1,'CNVCT AVBL POT ENRGY',157,001, & - & 'CAPE ON surface'/ - DATA IFILV(107),AVBL(107),IQ(107),IS(107),AVBLGRB2(107) & - & /1,'CNVCT INHIBITION ',156,001, & - & 'CIN ON surface'/ - DATA IFILV(080),AVBL(080),IQ(080),IS(080),AVBLGRB2(080) & - & /1,'PRECIPITABLE WATER ',054,200, & - & 'PWAT ON entire_atmos_single_lyr'/ - DATA IFILV(162),AVBL(162),IQ(162),IS(162),AVBLGRB2(162) & - & /1,'STORM REL HELICITY ',190,106, & - & 'HLCY ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(163),AVBL(163),IQ(163),IS(163),AVBLGRB2(163) & - & /1,'U COMP STORM MOTION ',196,106, & - & 'USTM ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(164),AVBL(164),IQ(164),IS(164),AVBLGRB2(164) & - & /1,'V COMP STORM MOTION ',197,106, & - & 'VSTM ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(087),AVBL(087),IQ(087),IS(087),AVBLGRB2(087) & - & /1,'ACM TOTAL PRECIP ',061,001, & - & 'ACM A_PCP ON surface'/ - DATA IFILV(033),AVBL(033),IQ(033),IS(033),AVBLGRB2(033) & - & /1,'ACM CONVCTIVE PRECIP',063,001, & - & 'ACM ACPCP ON surface'/ - DATA IFILV(034),AVBL(034),IQ(034),IS(034),AVBLGRB2(034) & - & /1,'ACM GRD SCALE PRECIP',062,001, & - & 'ACM NCPCP ON surface'/ - DATA IFILV(417),AVBL(417),IQ(417),IS(417),AVBLGRB2(417) & - & /1,'CACM TOTAL PRECIP ',061,001, & - & 'CACM A_PCP ON surface'/ - DATA IFILV(418),AVBL(418),IQ(418),IS(418),AVBLGRB2(418) & - & /1,'CACM CONVCTIVE PRECIP',063,001, & - & 'CACM ACPCP ON surface'/ - DATA IFILV(419),AVBL(419),IQ(419),IS(419),AVBLGRB2(419) & - & /1,'ACM GRD SCALE PRECIP',062,001, & - & 'CACM NCPCP ON surface'/ - DATA IFILV(035),AVBL(035),IQ(035),IS(035),AVBLGRB2(035) & - & /1,'ACM SNOWFALL ',065,001, & - & 'ACM WEASD ON surface'/ - DATA IFILV(746),AVBL(746),IQ(746),IS(746),AVBLGRB2(746) & - & /1,'ACM GRAUPEL ',079,001, & - & 'ACM WEAGD ON surface'/ - DATA IFILV(724),AVBL(724),IQ(724),IS(724),AVBLGRB2(724) & - & /1,'SNOWFALL DENSITY ',089,001, & - & 'SNOWFALL DEN surface '/ - DATA IFILV(725),AVBL(725),IQ(725),IS(725),AVBLGRB2(725) & - & /1,'ACM SNOW DEPTH ',066,001, & - & 'ACM SNOWDEP on surface'/ - DATA IFILV(244),AVBL(244),IQ(244),IS(244),AVBLGRB2(244) & - & /1,'ACM GRD SCALE SW ICE',079,001, & - & 'ACM SNO_L ON surface'/ - DATA IFILV(121),AVBL(121),IQ(121),IS(121),AVBLGRB2(121) & - & /1,'ACM SNOW TOTAL/MELT ',099,001, & - & 'ACM SNO_M ON surface'/ - DATA IFILV(122),AVBL(122),IQ(122),IS(122),AVBLGRB2(122) & - & /1,'ACM STORM SFC RNOFF ',235,001, & - & 'ACM SSRUN ON surface'/ - DATA IFILV(123),AVBL(123),IQ(123),IS(123),AVBLGRB2(123) & - & /1,'ACM BSFL-GDWR RNOFF ',234,001, & - & 'ACM BGRUN ON surface'/ - DATA IFILV(160),AVBL(160),IQ(160),IS(160),AVBLGRB2(160) & - & /1,'INSTANT PRECIP TYPE ',140,001, & - & 'INST CRAIN ON surface'/ - DATA IFILV(407),AVBL(407),IQ(407),IS(407),AVBLGRB2(407) & !407 - & /1,'GSD PRECIP TYPE ',140,001, & - & 'GSD INST CRAIN ON surface'/ - DATA IFILV(167),AVBL(167),IQ(167),IS(167),AVBLGRB2(167) & - & /1,'INSTANT PRECIP RATE ',059,001, & - & 'INST PRATE ON surface'/ - DATA IFILV(172),AVBL(172),IQ(172),IS(172),AVBLGRB2(172) & - & /1,'FROZEN FRAC CLD SCHM',194,001, & - & 'CPOFP ON surface'/ - DATA IFILV(124),AVBL(124),IQ(124),IS(124),AVBLGRB2(124) & - & /1,'CLD WTR ON MDL SFCS ',153,109, & - & 'CLWMR ON hybrid_lvl'/ - DATA IFILV(125),AVBL(125),IQ(125),IS(125),AVBLGRB2(125) & - & /1,'CLD ICE ON MDL SFCS ',058,109, & - & 'C_ICE ON hybrid_lvl'/ - DATA IFILV(145),AVBL(145),IQ(145),IS(145),AVBLGRB2(145) & - & /1,'CLD FRAC ON MDL SFCS',071,109, & - & 'T_CDC ON hybrid_lvl'/ - DATA IFILV(037),AVBL(037),IQ(037),IS(037),AVBLGRB2(037) & - & /1,'LOW CLOUD FRACTION ',073,214, & - & 'L_CDC ON low_cloud_lyr'/ - DATA IFILV(038),AVBL(038),IQ(038),IS(038),AVBLGRB2(038) & - & /1,'MID CLOUD FRACTION ',074,224, & - & 'M_CDC ON mid_cloud_lyr'/ - DATA IFILV(039),AVBL(039),IQ(039),IS(039),AVBLGRB2(039) & - & /1,'HIGH CLOUD FRACTION ',075,234, & - & 'H_CDC ON high_cloud_lyr'/ - DATA IFILV(161),AVBL(161),IQ(161),IS(161),AVBLGRB2(161) & - & /1,'TOTAL CLD FRACTION ',071,200, & - & 'INST T_CDC ON entire_atmos'/ - DATA IFILV(144),AVBL(144),IQ(144),IS(144),AVBLGRB2(144) & - & /1,'AVG TOTAL CLD FRAC ',071,200, & - & 'AVE T_CDC ON entire_atmos'/ - DATA IFILV(139),AVBL(139),IQ(139),IS(139),AVBLGRB2(139) & - & /1,'AVG STRAT CLD FRAC ',213,200, & - & 'AVE CDLYR ON entire_atmos'/ - DATA IFILV(143),AVBL(143),IQ(143),IS(143),AVBLGRB2(143) & - & /1,'AVG CNVCT CLD FRAC ',072,200, & - & 'AVE CDCON ON entire_atmos'/ - DATA IFILV(148),AVBL(148),IQ(148),IS(148),AVBLGRB2(148) & - & /1,'CLOUD BOT PRESSURE ',001,002, & - & 'PRES ON cloud_base'/ - DATA IFILV(798),AVBL(798),IQ(798),IS(798),AVBLGRB2(798) & - & /1,'GSD CLD BOT PRESSURE',001,002, & - & 'GSD PRES ON cloud_base'/ - DATA IFILV(149),AVBL(149),IQ(149),IS(149),AVBLGRB2(149) & - & /1,'CLOUD TOP PRESSURE ',001,003, & - & 'PRES ON cloud_top'/ - DATA IFILV(406),AVBL(406),IQ(406),IS(406),AVBLGRB2(406) & - & /1,'GSD CLD TOP PRESSURE',001,003, & - & 'PRES ON cloud_top'/ !406 - DATA IFILV(109),AVBL(109),IQ(109),IS(109),AVBLGRB2(109) & - & /1,'LCL AGL HEIGHT ',007,005, & - & 'HGT ON lvl_of_adiab_cond_from_sfc'/ - DATA IFILV(110),AVBL(110),IQ(110),IS(110),AVBLGRB2(110) & - & /1,'LCL PRESSURE ',001,005, & - & 'PRES ON lvl_of_adiab_cond_from_sfc'/ - DATA IFILV(078),AVBL(078),IQ(078),IS(078),AVBLGRB2(078) & - & /1,'AVE GRDSCL RN TMPTDY',241,109, & - & 'AVE LRGHR ON hybrid_lvl'/ - DATA IFILV(079),AVBL(079),IQ(079),IS(079),AVBLGRB2(079) & - & /1,'AVE CNVCT RN TMPTDY ',242,109, & - & 'AVE CNVHR ON hybrid_lvl'/ - DATA IFILV(168),AVBL(168),IQ(168),IS(168),AVBLGRB2(168) & - & /1,'CLOUD TOP TEMPS ',011,003, & - & 'TMP ON cloud_top'/ - DATA IFILV(140),AVBL(140),IQ(140),IS(140),AVBLGRB2(140) & - & /1,'RADFLX CNVG TMP TNDY',216,109, & - & 'TTRAD ON hybrid_lvl'/ - DATA IFILV(040),AVBL(040),IQ(040),IS(040),AVBLGRB2(040) & - & /1,'SW RAD TEMP TNDY ',250,109, & - & 'SWHR ON hybrid_lvl'/ - DATA IFILV(041),AVBL(041),IQ(041),IS(041),AVBLGRB2(041) & - & /1,'LW RAD TEMP TNDY ',251,109, & - & 'LWHR ON hybrid_lvl'/ - DATA IFILV(141),AVBL(141),IQ(141),IS(141),AVBLGRB2(141) & - & /1,'INSTN OUT SFC SW RAD',211,001, & - & 'INST USWRF ON surface'/ - DATA IFILV(142),AVBL(142),IQ(142),IS(142),AVBLGRB2(142) & - & /1,'INSTN OUT SFC LW RAD',212,001, & - & 'INST ULWRF ON surface'/ - DATA IFILV(126),AVBL(126),IQ(126),IS(126),AVBLGRB2(126) & - & /1,'AVE INCMG SFC SW RAD',204,001, & - & 'AVE DSWRF ON surface'/ - DATA IFILV(127),AVBL(127),IQ(127),IS(127),AVBLGRB2(127) & - & /1,'AVE INCMG SFC LW RAD',205,001, & - & 'AVE DLWRF ON surface'/ - DATA IFILV(128),AVBL(128),IQ(128),IS(128),AVBLGRB2(128) & - & /1,'AVE OUTGO SFC SW RAD',211,001, & - & 'AVE USWRF ON surface'/ - DATA IFILV(129),AVBL(129),IQ(129),IS(129),AVBLGRB2(129) & - & /1,'AVE OUTGO SFC LW RAD',212,001, & - & 'AVE ULWRF ON surface'/ - DATA IFILV(130),AVBL(130),IQ(130),IS(130),AVBLGRB2(130) & - & /1,'AVE OUTGO TOA SW RAD',211,008, & - & 'AVE USWRF ON top_of_atmos'/ - DATA IFILV(131),AVBL(131),IQ(131),IS(131),AVBLGRB2(131) & - & /1,'AVE OUTGO TOA LW RAD',212,008, & - & 'AVE ULWRF ON top_of_atmos'/ - DATA IFILV(156),AVBL(156),IQ(156),IS(156),AVBLGRB2(156) & - & /1,'INSTN INC SFC SW RAD',204,001, & - & 'INST DSWRF ON surface'/ - DATA IFILV(157),AVBL(157),IQ(157),IS(157),AVBLGRB2(157) & - & /1,'INSTN INC SFC LW RAD',205,001, & - & 'INST DLWRF ON surface'/ - DATA IFILV(044),AVBL(044),IQ(044),IS(044),AVBLGRB2(044) & - & /1,'ROUGHNESS LENGTH ',083,001, & - & 'SFC_R ON surface'/ - DATA IFILV(045),AVBL(045),IQ(045),IS(045),AVBLGRB2(045) & - & /1,'FRICTION VELOCITY ',253,001, & - & 'FRICV ON surface'/ - DATA IFILV(132),AVBL(132),IQ(132),IS(132),AVBLGRB2(132) & - & /1,'SFC DRAG COEFFICIENT',252,001, & - & 'CD ON surface'/ - DATA IFILV(133),AVBL(133),IQ(133),IS(133),AVBLGRB2(133) & - & /1,'SFC U WIND STRESS ',124,001, & - & 'U_FLX ON surface'/ - DATA IFILV(134),AVBL(134),IQ(134),IS(134),AVBLGRB2(134) & - & /1,'SFC V WIND STRESS ',125,001, & - & 'V_FLX ON surface'/ - DATA IFILV(043),AVBL(043),IQ(043),IS(043),AVBLGRB2(043) & - & /1,'AVE SFC SENHEAT FX ',122,001, & - & 'AVE SHTFL ON surface'/ - DATA IFILV(135),AVBL(135),IQ(135),IS(135),AVBLGRB2(135) & - & /1,'AVE GROUND HEAT FX ',155,001, & - & 'AVE GFLUX ON surface'/ - DATA IFILV(136),AVBL(136),IQ(136),IS(136),AVBLGRB2(136) & - & /1,'AVE SNO PHSCNG HT FX',229,001, & - & 'AVE SNOHF ON surface'/ - DATA IFILV(042),AVBL(042),IQ(042),IS(042),AVBLGRB2(042) & - & /1,'AVE SFC LATHEAT FX ',121,001, & - & 'AVE LHTFL ON surface'/ - DATA IFILV(046),AVBL(046),IQ(046),IS(046),AVBLGRB2(046) & - & /1,'AVE SFC MOMENTUM FX ',172,001, & - & 'AVE M_FLX ON surface'/ - DATA IFILV(047),AVBL(047),IQ(047),IS(047),AVBLGRB2(047) & - & /1,'ACC SFC EVAPORATION ',057,001, & - & 'ACM EVP ON surface'/ - DATA IFILV(137),AVBL(137),IQ(137),IS(137),AVBLGRB2(137) & - & /1,'ACC POT EVAPORATION ',228,001, & - & 'ACM PEVAP ON surface'/ - DATA IFILV(154),AVBL(154),IQ(154),IS(154),AVBLGRB2(154) & - & /1,'INST SFC SENHEAT FX ',122,001, & - & 'INST SHTFL ON surface'/ - DATA IFILV(155),AVBL(155),IQ(155),IS(155),AVBLGRB2(155) & - & /1,'INST SFC LATHEAT FX ',121,001, & - & 'INST LHTFL ON surface'/ - DATA IFILV(048),AVBL(048),IQ(048),IS(048),AVBLGRB2(048) & - & /1,'LATITUDE ',176,001, & - & 'NLAT ON surface'/ - DATA IFILV(049),AVBL(049),IQ(049),IS(049),AVBLGRB2(049) & - & /1,'LONGITUDE ',177,001, & - & 'ELON ON surface'/ - DATA IFILV(050),AVBL(050),IQ(050),IS(050),AVBLGRB2(050) & - & /1,'LAND/SEA MASK ',081,001, & - & 'LAND ON surface'/ - DATA IFILV(051),AVBL(051),IQ(051),IS(051),AVBLGRB2(051) & - & /1,'SEA ICE MASK ',091,001, & - & 'ICE_C ON surface'/ - DATA IFILV(052),AVBL(052),IQ(052),IS(052),AVBLGRB2(052) & - & /1,'MASS POINT MDL SFC ',173,001, & - & 'LMH ON surface'/ - DATA IFILV(053),AVBL(053),IQ(053),IS(053),AVBLGRB2(053) & - & /1,'VEL POINT MDL SFC ',174,001, & - & 'LMV ON surface'/ - DATA IFILV(150),AVBL(150),IQ(150),IS(150),AVBLGRB2(150) & - & /1,'SFC MIDDAY ALBEDO ',084,001, & - & 'ALBDO ON surface'/ - DATA IFILV(151),AVBL(151),IQ(151),IS(151),AVBLGRB2(151) & - & /1,'SEA SFC TEMPERATURE ',080,001, & - & 'WTMP ON surface'/ - DATA IFILV(054),AVBL(054),IQ(054),IS(054),AVBLGRB2(054) & - & /1,'PRESS AT TROPOPAUSE ',001,007, & - & 'PRES ON tropopause'/ - DATA IFILV(055),AVBL(055),IQ(055),IS(055),AVBLGRB2(055) & - & /1,'TEMP AT TROPOPAUSE ',011,007, & - & 'TMP ON tropopause'/ - DATA IFILV(108),AVBL(108),IQ(108),IS(108),AVBLGRB2(108) & - & /1,'POTENTL TEMP AT TROP',013,007, & - & 'POT ON tropopause'/ - DATA IFILV(056),AVBL(056),IQ(056),IS(056),AVBLGRB2(056) & - & /1,'U WIND AT TROPOPAUSE',033,007, & - & 'U_GRD ON tropopause'/ - DATA IFILV(057),AVBL(057),IQ(057),IS(057),AVBLGRB2(057) & - & /1,'V WIND AT TROPOPAUSE',034,007, & - & 'V_GRD ON tropopause'/ - DATA IFILV(058),AVBL(058),IQ(058),IS(058),AVBLGRB2(058) & - & /1,'SHEAR AT TROPOPAUSE ',136,007, & - & 'VW_SH ON tropopause'/ - DATA IFILV(059),AVBL(059),IQ(059),IS(059),AVBLGRB2(059) & - & /1,'TEMP AT FD HEIGHTS ',011,103, & - & 'TMP ON spec_alt_above_mean_sea_lvl'/ - DATA IFILV(060),AVBL(060),IQ(060),IS(060),AVBLGRB2(060) & - & /1,'U WIND AT FD HEIGHTS',033,103, & - & 'U_GRD ON spec_alt_above_mean_sea_lvl'/ - DATA IFILV(061),AVBL(061),IQ(061),IS(061),AVBLGRB2(061) & - & /1,'V WIND AT FD HEIGHTS',034,103, & - & 'V_GRD ON spec_alt_above_mean_sea_lvl'/ - DATA IFILV(062),AVBL(062),IQ(062),IS(062),AVBLGRB2(062) & - & /1,'HEIGHT OF FRZ LVL ',007,004, & - & 'HGT ON 0C_isotherm'/ - DATA IFILV(063),AVBL(063),IQ(063),IS(063),AVBLGRB2(063) & - & /1,'REL HUMID AT FRZ LVL',052,004, & - & 'RH ON 0C_isotherm'/ - DATA IFILV(165),AVBL(165),IQ(165),IS(165),AVBLGRB2(165) & - & /1,'HIGHEST FREEZE LVL ',007,204, & - & 'HGT ON hghst_trop_frz_lvl'/ - DATA IFILV(350),AVBL(350),IQ(350),IS(350),AVBLGRB2(350) & - & /1,'HIGHEST FRZ LVL RH ',052,204, & - & 'RH ON hghst_trop_frz_lvl'/ - DATA IFILV(067),AVBL(067),IQ(067),IS(067),AVBLGRB2(067) & - & /1,'PRESS IN BNDRY LYR ',001,116, & - & 'PRES ON spec_pres_above_grnd'/ - DATA IFILV(068),AVBL(068),IQ(068),IS(068),AVBLGRB2(068) & - & /1,'TEMP IN BNDRY LYR ',011,116, & - & 'TMP ON spec_pres_above_grnd'/ - DATA IFILV(069),AVBL(069),IQ(069),IS(069),AVBLGRB2(069) & - & /1,'POT TMP IN BNDRY LYR',013,116, & - & 'POT ON spec_pres_above_grnd'/ - DATA IFILV(070),AVBL(070),IQ(070),IS(070),AVBLGRB2(070) & - & /1,'DWPT IN BNDRY LYR ',017,116, & - & 'DPT ON spec_pres_above_grnd'/ - DATA IFILV(071),AVBL(071),IQ(071),IS(071),AVBLGRB2(071) & - & /1,'SPC HUM IN BNDRY LYR',051,116, & - & 'SPF_H ON spec_pres_above_grnd'/ - DATA IFILV(072),AVBL(072),IQ(072),IS(072),AVBLGRB2(072) & - & /1,'REL HUM IN BNDRY LYR',052,116, & - & 'RH ON spec_pres_above_grnd'/ - DATA IFILV(088),AVBL(088),IQ(088),IS(088),AVBLGRB2(088) & - & /1,'MST CNV IN BNDRY LYR',135,116, & - & 'MCONV ON spec_pres_above_grnd'/ - DATA IFILV(089),AVBL(089),IQ(089),IS(089),AVBLGRB2(089) & - & /1,'P WATER IN BNDRY LYR',054,116, & - & 'PWAT ON spec_pres_above_grnd'/ - DATA IFILV(073),AVBL(073),IQ(073),IS(073),AVBLGRB2(073) & - & /1,'U WIND IN BNDRY LYR ',033,116, & - & 'U_GRD ON spec_pres_above_grnd'/ - DATA IFILV(074),AVBL(074),IQ(074),IS(074),AVBLGRB2(074) & - & /1,'V WIND IN BNDRY LYR ',034,116, & - & 'V_GRD ON spec_pres_above_grnd'/ - DATA IFILV(090),AVBL(090),IQ(090),IS(090),AVBLGRB2(090) & - & /1,'OMEGA IN BNDRY LYR ',039,116, & - & 'V_VEL ON spec_pres_above_grnd'/ - DATA IFILV(066),AVBL(066),IQ(066),IS(066),AVBLGRB2(066) & - & /1,'LFM 0.33-1.00 RELHUM',052,108, & - & 'RH ON sigma_lvl'/ - DATA IFILV(081),AVBL(081),IQ(081),IS(081),AVBLGRB2(081) & - & /1,'LFM 0.66-1.00 RELHUM',052,108, & - & 'RH ON sigma_lvl'/ - DATA IFILV(082),AVBL(082),IQ(082),IS(082),AVBLGRB2(082) & - & /1,'LFM 0.33-0.66 RELHUM',052,108, & - & 'RH ON sigma_lvl'/ - DATA IFILV(104),AVBL(104),IQ(104),IS(104),AVBLGRB2(104) & - & /1,'LFM 0.33-1.00 PWAT ',054,108, & - & 'PWAT ON sigma_lvl'/ - DATA IFILV(091),AVBL(091),IQ(091),IS(091),AVBLGRB2(091) & - & /1,'NGM 0.98230 PRESSURE',001,107, & - & 'PRES ON sigma_lvl'/ - DATA IFILV(092),AVBL(092),IQ(092),IS(092),AVBLGRB2(092) & - & /1,'NGM 0.98230 TMPRATUR',011,107, & - & 'TMP ON sigma_lvl'/ - DATA IFILV(093),AVBL(093),IQ(093),IS(093),AVBLGRB2(093) & - & /1,'NGM 0.98230 SPC HUM ',051,107, & - & 'SPF_H ON sigma_lvl'/ - DATA IFILV(094),AVBL(094),IQ(094),IS(094),AVBLGRB2(094) & - & /1,'NGM 0.98230 REL HUM ',052,107, & - & 'RH ON sigma_lvl'/ - DATA IFILV(095),AVBL(095),IQ(095),IS(095),AVBLGRB2(095) & - & /1,'NGM 0.98230 U WIND ',033,107, & - & 'U_GRD ON sigma_lvl'/ - DATA IFILV(096),AVBL(096),IQ(096),IS(096),AVBLGRB2(096) & - & /1,'NGM 0.98230 V WIND ',034,107, & - & 'V_GRD ON sigma_lvl'/ - DATA IFILV(097),AVBL(097),IQ(097),IS(097),AVBLGRB2(097) & - & /1,'NGM 0.89671 TMPRATUR',011,107, & - & 'TMP ON sigma_lvl'/ - DATA IFILV(098),AVBL(098),IQ(098),IS(098),AVBLGRB2(098) & - & /1,'NGM 0.78483 TMPRATUR',011,107, & - & 'TMP ON sigma_lvl'/ - DATA IFILV(099),AVBL(099),IQ(099),IS(099),AVBLGRB2(099) & - & /1,'NGM 0.47-1.00 RELHUM',052,108, & - & 'RH ON sigma_lvl'/ - DATA IFILV(100),AVBL(100),IQ(100),IS(100),AVBLGRB2(100) & - & /1,'NGM 0.47-0.96 RELHUM',052,108, & - & 'RH ON sigma_lvl'/ - DATA IFILV(101),AVBL(101),IQ(101),IS(101),AVBLGRB2(101) & - & /1,'NGM 0.18-0.47 RELHUM',052,108, & - & 'RH ON sigma_lvl'/ - DATA IFILV(102),AVBL(102),IQ(102),IS(102),AVBLGRB2(102) & - & /1,'NGM 0.84-0.98 RELHUM',052,108, & - & 'RH ON sigma_lvl'/ - DATA IFILV(103),AVBL(103),IQ(103),IS(103),AVBLGRB2(103) & - & /1,'NGM 0.85-1.00 QCONVG',135,108, & - & 'MCONV ON sigma_lvl'/ - DATA IFILV(173),AVBL(173),IQ(173),IS(173),AVBLGRB2(173) & - & /1,'MAX WIND PRESS LEVEL',001,006, & - & 'PRES ON max_wind'/ - DATA IFILV(174),AVBL(174),IQ(174),IS(174),AVBLGRB2(174) & - & /1,'MAX WIND HGHT LEVEL ',007,006, & - & 'HGT ON max_wind'/ - DATA IFILV(175),AVBL(175),IQ(175),IS(175),AVBLGRB2(175) & - & /1,'U COMP MAX WIND ',033,006, & - & 'U_GRD ON max_wind'/ - DATA IFILV(176),AVBL(176),IQ(176),IS(176),AVBLGRB2(176) & - & /1,'V COMP MAX WIND ',034,006, & - & 'V_GRD ON max_wind'/ - DATA IFILV(177),AVBL(177),IQ(177),IS(177),AVBLGRB2(177) & - & /1,'HEIGHT AT TROPOPAUSE',007,007, & - & 'HGT ON tropopause'/ - DATA IFILV(178),AVBL(178),IQ(178),IS(178),AVBLGRB2(178) & - & /1,'CLOUD BOTTOM HEIGHT ',007,002, & - & 'HGT ON cloud_base'/ - DATA IFILV(179),AVBL(179),IQ(179),IS(179),AVBLGRB2(179) & - & /1,'CLOUD TOP HEIGHT ',007,003, & - & 'HGT ON cloud_top'/ - DATA IFILV(180),AVBL(180),IQ(180),IS(180),AVBLGRB2(180) & - & /1,'VISIBILITY ',020,001, & - & 'VIS ON surface'/ - DATA IFILV(408),AVBL(408),IQ(408),IS(408),AVBLGRB2(408) & - & /1,'GSD CLD BOT HEIGHT ',007,002, & - & 'GSD HGT ON cloud_base'/ !408 - DATA IFILV(409),AVBL(409),IQ(409),IS(409),AVBLGRB2(409) & - & /1,'GSD CLD TOP HEIGHT ',007,003, & - & 'GSD HGT ON cloud_top'/ !408 - DATA IFILV(410),AVBL(410),IQ(410),IS(410),AVBLGRB2(410) & - & /1,'GSD VISIBILITY ',020,003, & - & 'GSD VIS ON cloud top'/ !410 -! CRA - DATA IFILV(411),AVBL(411),IQ(411),IS(411),AVBLGRB2(411) & - & /1,'INSTN WIND POWER AGL',126,105, & - & 'INST WMIXE ON spec_hgt_lvl_above_grnd'/ !411 - DATA IFILV(412),AVBL(412),IQ(412),IS(412),AVBLGRB2(412) & - & /1,'U WIND AT 80M AGL ',049,105, & - & 'UGRD ON 80M spec_hgt_lvl_above_grnd'/ !412 - DATA IFILV(413),AVBL(413),IQ(413),IS(413),AVBLGRB2(413) & - & /1,'V WIND AT 80M AGL ',050,105, & - & 'VGRD ON 80M spec_hgt_lvl_above_grnd'/ !413 -! - DATA IFILV(181),AVBL(181),IQ(181),IS(181),AVBLGRB2(181) & - & /1,'RAIN ON MDL SFCS ',170,109, & - & 'RWMR ON hybrid_lvl'/ - DATA IFILV(182),AVBL(182),IQ(182),IS(182),AVBLGRB2(182) & - & /1,'SNOW ON MDL SFCS ',171,109, & - & 'SNMR ON hybrid_lvl'/ - DATA IFILV(183),AVBL(183),IQ(183),IS(183),AVBLGRB2(183) & - & /1,'RAIN ON P SFCS ',170,100, & - & 'RWMR ON isobaric_sfc'/ - DATA IFILV(184),AVBL(184),IQ(184),IS(184),AVBLGRB2(184) & - & /1,'SNOW ON P SFCS ',171,100, & - & 'SNMR ON isobaric_sfc'/ - DATA IFILV(415),AVBL(415),IQ(415),IS(415),AVBLGRB2(415) & - & /1,'GRAUPEL ON MDL SFCS ',179,109, & - & 'GRLE ON hybrid_lvl'/ !415 - DATA IFILV(416),AVBL(416),IQ(416),IS(416),AVBLGRB2(416) & - & /1,'GRAUPEL ON P SFCS ',179,100, & - & 'GRLE ON isobaric_sfc'/ !416 - -! SRD - DATA IFILV(420),AVBL(420),IQ(420),IS(420),AVBLGRB2(420) & - & /1,'MAX UPDRAFT HELICITY',236,106, & - & 'MAX UPHL ON spec_hgt_lvl_above_grnd'/ !420 - DATA IFILV(421),AVBL(421),IQ(421),IS(421),AVBLGRB2(421) & - & /1,'MAX 1km REFLECTIVITY',235,105, & - & 'MAX REF ON 1000M spec_hgt_lvl_above_grnd'/ !421 - DATA IFILV(422),AVBL(422),IQ(422),IS(422),AVBLGRB2(422) & - & /1,'MAX 10m WIND SPEED ',229,105, & - & 'MAX WIND ON 10M spec_hgt_lvl_above_grnd'/ !422 - DATA IFILV(423),AVBL(423),IQ(423),IS(423),AVBLGRB2(423) & - & /1,'MAX UPDRAFT VERT VEL',237,106, & - & 'MAX UPDZDT ON spec_hgt_lvl_above_grnd'/ !423 - DATA IFILV(424),AVBL(424),IQ(424),IS(424),AVBLGRB2(424) & - & /1,'MAX DNDRAFT VERT VEL',238,106, & - & 'MAX DNDZDT ON spec_hgt_lvl_above_grnd'/ !424 - DATA IFILV(425),AVBL(425),IQ(425),IS(425),AVBLGRB2(425) & - & /1,'MEAN VERT VEL ',040,108, & - & 'AVE DZDT ON spec_hgt_lvl_above_grnd'/ !425 - DATA IFILV(426),AVBL(426),IQ(426),IS(426),AVBLGRB2(426) & - & /1,'ECHO TOPS IN KFT ',007,105, & - & 'HGT ON spec_hgt_lvl_above_grnd'/ !426 - DATA IFILV(427),AVBL(427),IQ(427),IS(427),AVBLGRB2(427) & - & /1,'UPDRAFT HELICITY PRM',227,106, & - & 'UPHL ON spec_hgt_lvl_above_grnd'/ !427 - DATA IFILV(428),AVBL(428),IQ(428),IS(428),AVBLGRB2(428) & - & /1,'VERT INTEG GRAUP ',179,200, & - & 'TCOLG ON entire_atmos_single_lyr'/ !428 - DATA IFILV(429),AVBL(429),IQ(429),IS(429),AVBLGRB2(429) & - & /1,'MAX VERT INTEG GRAUP',239,200, & - & 'MAXVIG ON entire_atmos_single_lyr'/ !429 -! SRD -! CRA - DATA IFILV(430),AVBL(430),IQ(430),IS(430),AVBLGRB2(430) & - & /1,'U COMP 0-1 KM SHEAR ',045,106, & - & 'UUCSH ON spec_hgt_lvl_above_grnd'/ !430 - DATA IFILV(431),AVBL(431),IQ(431),IS(431),AVBLGRB2(431) & - & /1,'V COMP 0-1 KM SHEAR ',046,106, & - & 'VVCSH ON spec_hgt_lvl_above_grnd'/ !431 - DATA IFILV(432),AVBL(432),IQ(432),IS(432),AVBLGRB2(432) & - & /1,'U COMP 0-6 KM SHEAR ',045,106, & - & 'UUCSH ON spec_hgt_lvl_above_grnd'/ !432 - DATA IFILV(433),AVBL(433),IQ(433),IS(433),AVBLGRB2(433) & - & /1,'V COMP 0-6 KM SHEAR ',046,106, & - & 'VVCSH ON spec_hgt_lvl_above_grnd'/ !433 -! CRA - -! Add precipitation buckets between outputs - DATA IFILV(434),AVBL(434),IQ(434),IS(434),AVBLGRB2(434) & - & /1,'BUCKET TOTAL PRECIP ',061,001, & - & 'A_PCP ON surface'/ !434 - DATA IFILV(435),AVBL(435),IQ(435),IS(435),AVBLGRB2(435) & - & /1,'BUCKET CONV PRECIP ',063,001, & - & 'ACPCP ON surface'/ !435 - DATA IFILV(436),AVBL(436),IQ(436),IS(436),AVBLGRB2(436) & - & /1,'BUCKET GRDSCALE PRCP',062,001, & - & 'NCPCP ON surface'/ !436 - DATA IFILV(437),AVBL(437),IQ(437),IS(437),AVBLGRB2(437) & - & /1,'BUCKET SNOW PRECIP ',065,001, & - & 'WEASD ON surface'/ !437 - DATA IFILV(487),AVBL(487),IQ(487),IS(487),AVBLGRB2(487) & - & /1,'GSD CEILING ',008,002, & - & 'HGT ON cloud_ceiling'/ !487 -!JSK - add model-state cloud fraction; not the same as field 145 ("TCDC") - DATA IFILV(774),AVBL(774),IQ(774),IS(774),AVBLGRB2(774) & - & /1,'RAW CLD FRA MDL SFCS',071,109, & - & 'FRACCC ON hybrid_lvl'/ -!tgs - need to find the correct Grid table number for 775 field - DATA IFILV(775),AVBL(775),IQ(775),IS(775),AVBLGRB2(775) & - & /1,'BUCKET GRAUP PRECIP ',179,001, & !775 - & 'GRAUP ON surface'/ -!CRA - -10C and -20C isothermal heigths, RH, pressure - DATA IFILV(776),AVBL(776),IQ(776),IS(776),AVBLGRB2(776) & - & /1,'HIGHEST -10C LVL ',007,020, & - & 'HGT ON -10C_isotherm'/ !776 - DATA IFILV(777),AVBL(777),IQ(777),IS(777),AVBLGRB2(777) & - & /1,'HIGHEST -10C RH ',052,020, & - & 'RH ON -10C_isotherm'/ !777 - DATA IFILV(778),AVBL(778),IQ(778),IS(778),AVBLGRB2(778) & - & /1,'HIGHEST -10C PRES ',001,020, & - & 'PRES ON -10C_isotherm'/ !778 - DATA IFILV(779),AVBL(779),IQ(779),IS(779),AVBLGRB2(779) & - & /1,'HIGHEST -20C LVL ',007,020, & - & 'HGT ON -20C_isotherm'/ !779 - DATA IFILV(780),AVBL(780),IQ(780),IS(780),AVBLGRB2(780) & - & /1,'HIGHEST -20C RH ',052,020, & - & 'RH ON -20C_isotherm'/ !780 - DATA IFILV(781),AVBL(781),IQ(781),IS(781),AVBLGRB2(781) & - & /1,'HIGHEST -20C PRES ',001,020, & - & 'PRES ON -20C_isotherm'/ !781 - DATA IFILV(782),AVBL(782),IQ(782),IS(782),AVBLGRB2(782) & - & /1,'ACM FRAIN ',193,001, & - & 'ACM FRAIN ON surface'/ !782 -! CRA -! -!--- Added new cloud microphysics fields & displaying more -! convective cloud properties (Jin, '01; Ferrier, Feb '02) -! -! -!--- The following fields have been added to the post under -! PDS Octet 4 = 129. All other fields above are with PDS Octet -! 4 = 2. Most of the fields below, except for the cloud top -! and cloud base pressures, have PDS Octet 4 = 129. These new -! grib parameters are listed in Table 129 of the GRIB documentation. -! See Table 2 in Office Note 388 (ON388) for more details. -! -!--- F_rain, F_ice, F_RimeF => PDS Octet 4 = 129 -! - DATA IFILV(185),AVBL(185),IQ(185),IS(185),AVBLGRB2(185) & - & /1,'F_rain ON MDL SFCS ',131,109, & - & 'FRAIN ON hybrid_lvl'/ - DATA IFILV(186),AVBL(186),IQ(186),IS(186),AVBLGRB2(186) & - & /1,'F_ice ON MDL SFCS ',132,109, & - & 'FICE ON hybrid_lvl'/ - DATA IFILV(187),AVBL(187),IQ(187),IS(187),AVBLGRB2(187) & - & /1,'F_RimeF ON MDL SFCS ',133,109, & - & 'RIME ON hybrid_lvl'/ -! -!--- The following cloud pressure fields have PDS Octet 4 = 2 -! - DATA IFILV(188),AVBL(188),IQ(188),IS(188),AVBLGRB2(188) & - & /1,'CONV CLOUD BOT PRESS',001,242, & - & 'PRES ON convective_cloud_bot_lvl'/ - DATA IFILV(189),AVBL(189),IQ(189),IS(189),AVBLGRB2(189) & - & /1,'CONV CLOUD TOP PRESS',001,243, & - & 'PRES ON convective_cloud_top_lvl'/ - DATA IFILV(190),AVBL(190),IQ(190),IS(190),AVBLGRB2(190) & - & /1,'SHAL CU CLD BOT PRES',001,248, & - & 'PRES ON shall_convective_cloud_bot_lvl'/ - DATA IFILV(191),AVBL(191),IQ(191),IS(191),AVBLGRB2(191) & - & /1,'SHAL CU CLD TOP PRES',001,249, & - & 'PRES ON shall_convective_cloud_top_lvl'/ - DATA IFILV(192),AVBL(192),IQ(192),IS(192),AVBLGRB2(192) & - & /1,'DEEP CU CLD BOT PRES',001,251, & - & 'PRES ON deep_convective_cloud_bot_lvl'/ - DATA IFILV(193),AVBL(193),IQ(193),IS(193),AVBLGRB2(193) & - & /1,'DEEP CU CLD TOP PRES',001,252, & - & 'PRES ON deep_convective_cloud_top_lvl'/ - DATA IFILV(194),AVBL(194),IQ(194),IS(194),AVBLGRB2(194) & - & /1,'GRID CLOUD BOT PRESS',001,206, & - & 'PRES ON grid_scale_cloud_bot_lvl'/ - DATA IFILV(195),AVBL(195),IQ(195),IS(195),AVBLGRB2(195) & - & /1,'GRID CLOUD TOP PRESS',001,207, & - & 'PRES ON grid_scale_cloud_top_lvl'/ - DATA IFILV(196),AVBL(196),IQ(196),IS(196),AVBLGRB2(196) & - & /1,'CONV CLOUD FRACTION ',072,200, & - & 'T_CDC ON entire_atmos_single_lyr'/ -! DATA IFILV(196),AVBL(196),IQ(196),IS(196),AVBLGRB2(196) & -! & /1,'CONV CLOUD FRACTION ',072,200, & -! & 'T_CDC ON convective_cloud_lyr'/ -! -!--- These remaining fields have PDS Octet 4 = 129 (Table 129, ON388) -! - DATA IFILV(197),AVBL(197),IQ(197),IS(197),AVBLGRB2(197) & - & /1,'CU CLOUD EFFICIENCY ',134,200, & - & 'CUEFI ON entire_atmos_single_lyr'/ - DATA IFILV(198),AVBL(198),IQ(198),IS(198),AVBLGRB2(198) & - & /1,'CONDENSATE ON P SFCS',135,100, & - & 'TCOND ON isobaric_sfc'/ - DATA IFILV(199),AVBL(199),IQ(199),IS(199),AVBLGRB2(199) & - & /1,'CONDENSATE MDL SFCS ',135,109, & - & 'TCOND ON hybrid_lvl'/ - DATA IFILV(200),AVBL(200),IQ(200),IS(200),AVBLGRB2(200) & - & /1,'TOTAL COLUMN CLD WTR',136,200, & - & 'TCOLW ON entire_atmos_single_lyr'/ - DATA IFILV(201),AVBL(201),IQ(201),IS(201),AVBLGRB2(201) & - & /1,'TOTAL COLUMN CLD ICE',137,200, & - & 'TCOLI ON entire_atmos_single_lyr'/ - DATA IFILV(202),AVBL(202),IQ(202),IS(202),AVBLGRB2(202) & - & /1,'TOTAL COLUMN RAIN ',138,200, & - & 'TCOLR ON entire_atmos_single_lyr'/ - DATA IFILV(203),AVBL(203),IQ(203),IS(203),AVBLGRB2(203) & - & /1,'TOTAL COLUMN SNOW ',139,200, & - & 'TCOLS ON entire_atmos_single_lyr'/ - DATA IFILV(204),AVBL(204),IQ(204),IS(204),AVBLGRB2(204) & - & /1,'TOTAL COL CONDENSATE',140,200, & - & 'TCOLC ON entire_atmos_single_lyr'/ -! See below for total supercooled liquid & melting ice ... IFILV(285) -! H CHUANG--ADD INTERPOLATED FIELDS ON SIGMA LEVELS - DATA IFILV(205),AVBL(205),IQ(205),IS(205),AVBLGRB2(205) & - & /1,'HEIGHT OF SIGMA SFCS',007,107, & - & 'HGT ON sigma_lvl'/ - DATA IFILV(206),AVBL(206),IQ(206),IS(206),AVBLGRB2(206) & - & /1,'TEMP ON SIGMA SFCS ',011,107, & - & 'TMP ON sigma_lvl'/ - DATA IFILV(207),AVBL(207),IQ(207),IS(207),AVBLGRB2(207) & - & /1,'SPEC HUM ON S SFCS ',051,107, & - & 'SPF_H ON sigma_lvl'/ - DATA IFILV(208),AVBL(208),IQ(208),IS(208),AVBLGRB2(208) & - & /0,'U WIND ON SIGMA SFCS',033,107, & - & 'U_GRD ON sigma_lvl'/ - DATA IFILV(209),AVBL(209),IQ(209),IS(209),AVBLGRB2(209) & - & /0,'V WIND ON SIGMA SFCS',034,107, & - & 'V_GRD ON sigma_lvl'/ - DATA IFILV(210),AVBL(210),IQ(210),IS(210),AVBLGRB2(210) & - & /1,'OMEGA ON SIGMA SFCS ',039,107, & - & 'V_VEL ON sigma_lvl'/ - DATA IFILV(211),AVBL(211),IQ(211),IS(211),AVBLGRB2(211) & - & /1,'CLOUD WATR ON S SFCS',153,107, & - & 'CLWMR ON sigma_lvl'/ - DATA IFILV(212),AVBL(212),IQ(212),IS(212),AVBLGRB2(212) & - & /1,'CLOUD ICE ON S SFCS ',058,107, & - & 'C_ICE ON sigma_lvl'/ - DATA IFILV(213),AVBL(213),IQ(213),IS(213),AVBLGRB2(213) & - & /1,'RAIN ON S SFCS ',170,107, & - & 'RWMR ON sigma_lvl'/ - DATA IFILV(214),AVBL(214),IQ(214),IS(214),AVBLGRB2(214) & - & /1,'SNOW ON S SFCS ',171,107, & - & 'SNMR ON sigma_lvl'/ - DATA IFILV(215),AVBL(215),IQ(215),IS(215),AVBLGRB2(215) & - & /1,'CONDENSATE ON S SFCS',135,107, & - & 'TCOND ON sigma_lvl'/ - DATA IFILV(216),AVBL(216),IQ(216),IS(216),AVBLGRB2(216) & - & /1,'PRESS ON SIG SFCS ',001,107, & - & 'PRES ON sigma_lvl'/ - DATA IFILV(217),AVBL(217),IQ(217),IS(217),AVBLGRB2(217) & - & /1,'TRBLNT KE ON S SFCS ',158,107, & - & 'TKE ON sigma_lvl'/ - DATA IFILV(222),AVBL(222),IQ(222),IS(222),AVBLGRB2(222) & - & /1,'CLD FRAC ON SIG SFCS',071,107, & - & 'T_CDC ON sigma_lvl'/ - DATA IFILV(255),AVBL(255),IQ(255),IS(255),AVBLGRB2(255) & !255 - & /1,'GRAUPEL ON S SFCS ',179,107, & - & 'GRLE ON sigma_lvl'/ -! H CHUANG--ADD FIXED AND LSM FIELDS - DATA IFILV(218),AVBL(218),IQ(218),IS(218),AVBLGRB2(218) & - & /1,'VEGETATION TYPE ',225,001, & - & 'VGTYP ON surface'/ - DATA IFILV(219),AVBL(219),IQ(219),IS(219),AVBLGRB2(219) & - & /1,'SOIL TYPE ',224,001, & - & 'SOTYP ON surface'/ - DATA IFILV(220),AVBL(220),IQ(220),IS(220),AVBLGRB2(220) & - & /1,'CANOPY CONDUCTANCE ',181,001, & - & 'CCOND ON surface'/ - DATA IFILV(221),AVBL(221),IQ(221),IS(221),AVBLGRB2(221) & - & /1,'PBL HEIGHT ',221,001, & - & 'HPBL ON surface'/ - DATA IFILV(223),AVBL(223),IQ(223),IS(223),AVBLGRB2(223) & - & /1,'SLOPE TYPE ',222,001, & - & 'SLTYP ON surface'/ - DATA IFILV(224),AVBL(224),IQ(224),IS(224),AVBLGRB2(224) & - & /1,'SNOW DEPTH ',066,001, & - & 'SNO_D ON surface'/ - DATA IFILV(225),AVBL(225),IQ(225),IS(225),AVBLGRB2(225) & - & /1,'LIQUID SOIL MOISTURE',160,112, & - & 'SOILL ON depth_bel_land_sfc'/ - DATA IFILV(226),AVBL(226),IQ(226),IS(226),AVBLGRB2(226) & - & /1,'SNOW FREE ALBEDO ',170,001, & - & '/SNFALB ON surface'/ - DATA IFILV(227),AVBL(227),IQ(227),IS(227),AVBLGRB2(227) & - & /1,'MAXIMUM SNOW ALBEDO ',159,001, & - & 'MXSALB ON surface'/ - DATA IFILV(228),AVBL(228),IQ(228),IS(228),AVBLGRB2(228) & - & /1,'CANOPY WATER EVAP ',200,001, & - & 'EVCW ON surface'/ - DATA IFILV(229),AVBL(229),IQ(229),IS(229),AVBLGRB2(229) & - & /1,'DIRECT SOIL EVAP ',199,001, & - & 'EVBS ON surface'/ - DATA IFILV(230),AVBL(230),IQ(230),IS(230),AVBLGRB2(230) & - & /1,'PLANT TRANSPIRATION ',210,001, & - & 'TRANS ON surface'/ - DATA IFILV(231),AVBL(231),IQ(231),IS(231),AVBLGRB2(231) & - & /1,'SNOW SUBLIMATION ',198,001, & - & 'SBSNO ON surface'/ - DATA IFILV(232),AVBL(232),IQ(232),IS(232),AVBLGRB2(232) & - & /1,'AIR DRY SOIL MOIST ',231,001, & - & 'SMDRY ON surface'/ - DATA IFILV(233),AVBL(233),IQ(233),IS(233),AVBLGRB2(233) & - & /1,'SOIL MOIST POROSITY ',240,001, & - & 'POROS ON surface'/ - DATA IFILV(234),AVBL(234),IQ(234),IS(234),AVBLGRB2(234) & - & /1,'MIN STOMATAL RESIST ',203,001, & - & 'RSMIN ON surface'/ - DATA IFILV(235),AVBL(235),IQ(235),IS(235),AVBLGRB2(235) & - & /1,'NO OF ROOT LAYERS ',171,001, & - & 'RLYRS ON surface'/ - DATA IFILV(236),AVBL(236),IQ(236),IS(236),AVBLGRB2(236) & - & /1,'SOIL MOIST WILT PT ',219,001, & - & 'WILT ON surface'/ - DATA IFILV(237),AVBL(237),IQ(237),IS(237),AVBLGRB2(237) & - & /1,'SOIL MOIST REFERENCE',230,001, & - & 'SMREF ON surface'/ - DATA IFILV(238),AVBL(238),IQ(238),IS(238),AVBLGRB2(238) & - & /1,'CANOPY COND SOLAR ',246,001, & - & 'RCS ON surface'/ - DATA IFILV(239),AVBL(239),IQ(239),IS(239),AVBLGRB2(239) & - & /1,'CANOPY COND TEMP ',247,001, & - & 'RCT ON surface'/ - DATA IFILV(240),AVBL(240),IQ(240),IS(240),AVBLGRB2(240) & - & /1,'CANOPY COND HUMID ',248,001, & - & 'RCQ ON surface'/ - DATA IFILV(241),AVBL(241),IQ(241),IS(241),AVBLGRB2(241) & - & /1,'CANOPY COND SOILM ',249,001, & - & 'RCSOL ON surface'/ - DATA IFILV(242),AVBL(242),IQ(242),IS(242),AVBLGRB2(242) & - & /1,'POTENTIAL EVAP ',145,001, & - & 'PEVPR ON surface'/ - DATA IFILV(243),AVBL(243),IQ(243),IS(243),AVBLGRB2(243) & - & /1,'DIFFUSION H RATE S S',182,107, & - & 'VEDH ON sigma_lvl'/ -! - DATA IFILV(245),AVBL(245),IQ(245),IS(245),AVBLGRB2(245) & - & /1,'SFC WIND GUST ',180,001, & - & 'GUST ON surface'/ - DATA IFILV(246),AVBL(246),IQ(246),IS(246),AVBLGRB2(246) & - & /1,'LIFT PCL LVL PRESS ',141,116, & - & 'PLPL ON spec_pres_above_grnd'/ - DATA IFILV(247),AVBL(247),IQ(247),IS(247),AVBLGRB2(247) & - & /1,'LOW WET BULB ZERO HT',007,245, & - & 'HGT ON lwst_lvl_of_wet_bulb_zero'/ - DATA IFILV(248),AVBL(248),IQ(248),IS(248), AVBLGRB2(248) & - & /1,'EMISSIVITY ',193,001, & - 'EMISSIVITY ON surface'/ - DATA IFILV(249),AVBL(249),IQ(249),IS(249),AVBLGRB2(249) & - & /1,'CONV PRECIP RATE ',214,001, & - & 'CPRAT ON surface'/ -!--- USING Table 129 -! - DATA IFILV(250),AVBL(250),IQ(250),IS(250),AVBLGRB2(250) & - & /1,'RADAR REFL MDL SFCS ',211,109, & - & 'REFD ON hybrid_lvl'/ - DATA IFILV(251),AVBL(251),IQ(251),IS(251),AVBLGRB2(251) & - & /1,'RADAR REFL ON P SFCS',211,100, & - & 'REFD ON isobaric_sfc'/ - DATA IFILV(252),AVBL(252),IQ(252),IS(252),AVBLGRB2(252) & - & /1,'COMPOSITE RADAR REFL',212,200, & - & 'REFC ON entire_atmos_single_lyr'/ - DATA IFILV(253),AVBL(253),IQ(253),IS(253),AVBLGRB2(253) & - & /1,'RADAR REFL AGL ',211,105, & - & 'REFD ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(254),AVBL(254),IQ(254),IS(254),AVBLGRB2(254) & - & /1,'LEAF AREA INDEX ',182,001, & - & 'LAI ON surface'/ -! - DATA IFILV(256),AVBL(256),IQ(256),IS(256),AVBLGRB2(256) & - & /1,'ACM LSM PRECIP ',154,001, & - & 'ACM LSPA ON surface'/ -! -!--- FOLLOWINGS ARE AVIATION-RELATED FIELDS: ADDED BY BINBIN ZHOU -! - DATA IFILV(257),AVBL(257),IQ(257),IS(257),AVBLGRB2(257) & - & /1,'IN-FLIGHT ICING ',186,100, & - & 'TIPD ON isobaric_sfc'/ - DATA IFILV(258),AVBL(258),IQ(258),IS(258),AVBLGRB2(258) & - & /1,'CLEAR AIR TURBULENCE',185,100, & - & 'TPFI ON isobaric_sfc'/ - DATA IFILV(259),AVBL(259),IQ(259),IS(259),AVBLGRB2(259) & - & /1,'0-2000FT LLWS ',136,106, & - & 'VW_SH ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(260),AVBL(260),IQ(260),IS(260),AVBLGRB2(260) & - & /1,'CEILING ',007,215, & - & 'HGT ON cloud_ceilng'/ - DATA IFILV(261),AVBL(261),IQ(261),IS(261),AVBLGRB2(261) & - & /1,'FLIGHT RESTRICTION ',020,002, & - & 'VIS ON cloud_base'/ -! - DATA IFILV(262),AVBL(262),IQ(262),IS(262),AVBLGRB2(262) & - & /1,'INSTN CLR INC SFC SW',161,001, & - & 'INST CSDSF ON surface'/ - DATA IFILV(263),AVBL(263),IQ(263),IS(263),AVBLGRB2(263) & - & /1,'F_RimeF ON P SFCS ',133,100, & - & 'RIME ON isobaric_sfc'/ - DATA IFILV(264),AVBL(264),IQ(264),IS(264),AVBLGRB2(264) & - & /1,'W WIND ON MDL SFCS ',040,109, & - & 'DZDT ON hybrid_lvl'/ -! DATA IFILV(265),AVBL(265),IQ(265),IS(265),AVBLGRB2(265) & -! & /1,'BRIGHTNESS TEMP ',118,008, & - DATA IFILV(265),AVBL(265),IQ(265),IS(265),AVBLGRB2(265) & - & /1,'BRIGHTNESS TEMP ',213,008, & - & 'SBT122 ON top_of_atmos'/ -! H CHUANG--ADD GFS products - DATA IFILV(266),AVBL(266),IQ(266),IS(266),AVBLGRB2(266) & - & /1,'AVE ALBEDO ',084,001, & - & 'AVE ALBDO ON surface'/ - DATA IFILV(267),AVBL(267),IQ(267),IS(267),AVBLGRB2(267) & - & /1,'OZONE ON MDL SFCS ',154,109, & - & 'O3MR ON hybrid_lvl'/ - DATA IFILV(268),AVBL(268),IQ(268),IS(268),AVBLGRB2(268) & - & /1,'OZONE ON P SFCS ',154,100, & - & 'O3MR ON isobaric_sfc'/ - DATA IFILV(269),AVBL(269),IQ(269),IS(269),AVBLGRB2(269) & - & /1,'SFC ZONAL MOMEN FX ',124,001, & - & 'AVE U_FLX ON surface'/ - DATA IFILV(270),AVBL(270),IQ(270),IS(270),AVBLGRB2(270) & - & /1,'SFC MERID MOMEN FX ',125,001, & - & 'AVE V_FLX ON surface'/ - DATA IFILV(271),AVBL(271),IQ(271),IS(271),AVBLGRB2(271) & - & /1,'AVE PRECIP RATE ',059,001, & - & 'AVE PRATE ON surface'/ - DATA IFILV(272),AVBL(272),IQ(272),IS(272),AVBLGRB2(272) & - & /1,'AVE CONV PRECIP RATE',214,001, & - & 'AVE CPRAT ON surface'/ -! CMAQ requested fields - DATA IFILV(273),AVBL(273),IQ(273),IS(273),AVBLGRB2(273) & - & /1,'HYBRID SIGMA DP ',001,110, & - & 'PRES ON hybrid_lvl_1L'/ - DATA IFILV(274),AVBL(274),IQ(274),IS(274),AVBLGRB2(274) & - & /1,'INSTN OUT TOA LW RAD',212,008, & - & 'INST ULWRF ON top_of_atmos'/ -! DATA IFILV(275),AVBL(275),IQ(275),IS(275),AVBLGRB2(002) & -! & /1,'BRIGHTNESS TEMP NCAR',213,008, & - DATA IFILV(275),AVBL(275),IQ(275),IS(275),AVBLGRB2(275) & - & /1,'BRIGHTNESS TEMP NCAR',118,008, & - & 'BRTMP ON top_of_atmos'/ - DATA IFILV(282),AVBL(282),IQ(282),IS(282),AVBLGRB2(282) & - & /1,'MODEL TOP PRESSURE ',001,008, & - & 'PRES ON top_of_atmos'/ - DATA IFILV(283),AVBL(283),IQ(283),IS(283),AVBLGRB2(283) & - & /1,'HYBRID PRESSURE DP ',001,110, & - & 'PRES ON hybrid_lvl_LLM'/ -! -!--- USING Table 129 -! - DATA IFILV(276),AVBL(276),IQ(276),IS(276),AVBLGRB2(276) & - & /1,'COMPOSITE RAIN REFL ',165,200, & - & 'REFZR ON entire_atmos_single_lyr'/ - DATA IFILV(277),AVBL(277),IQ(277),IS(277),AVBLGRB2(277) & - & /1,'COMPOSITE ICE REFL ',166,200, & - & 'REFZI ON entire_atmos_single_lyr'/ - DATA IFILV(278),AVBL(278),IQ(278),IS(278),AVBLGRB2(278) & - & /1,'COMPOSITE CONV REFL ',167,200, & - & 'REFZC ON entire_atmos_single_lyr'/ - DATA IFILV(279),AVBL(279),IQ(279),IS(279),AVBLGRB2(279) & - & /1,'RAIN RADAR REFL AGL ',165,105, & - & 'REFZR ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(280),AVBL(280),IQ(280),IS(280),AVBLGRB2(280) & - & /1,'ICE RADAR REFL AGL ',166,105, & - & 'REFZI ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(281),AVBL(281),IQ(281),IS(281),AVBLGRB2(281) & - & /1,'CONV RADAR REFL AGL ',167,105, & - & 'REFZC ON spec_hgt_lvl_above_grnd'/ -! -!--- USING Table 2 -! - DATA IFILV(284),AVBL(284),IQ(284),IS(284),AVBLGRB2(284) & - & /1,'W WIND ON P SFCS ',040,100, & - & 'DZDT ON isobaric_sfc'/ -! -!--- USING Table 129 -! - DATA IFILV(285),AVBL(285),IQ(285),IS(285),AVBLGRB2(285) & - & /1,'TOTAL COLD LIQUID ',168,200, & - & 'TCLSW ON entire_atmos_single_lyr'/ - DATA IFILV(286),AVBL(286),IQ(286),IS(286),AVBLGRB2(286) & - & /1,'TOTAL MELTING ICE ',169,200, & - & 'TCOLM ON entire_atmos_single_lyr'/ -! -!--- USING Table 2 -! - DATA IFILV(287),AVBL(287),IQ(287),IS(287),AVBLGRB2(287) & - & /1,'COLD LIQ BOT HEIGHT ',007,253, & - & 'HGT ON lwst_bot_lvl_of_supercooled_liq_water_lyr'/ - DATA IFILV(288),AVBL(288),IQ(288),IS(288),AVBLGRB2(288) & - & /1,'COLD LIQ TOP HEIGHT ',007,254, & - & 'HGT ON hghst_top_lvl_of_supercooled_liq_water_lyr'/ - DATA IFILV(289),AVBL(289),IQ(289),IS(289),AVBLGRB2(289) & - & /1,'RICH NO PBL HEIGHT ',007,220, & - & 'HGT ON planetary_bound_lyr'/ -! -!---- New Column-integrated fields - DATA IFILV(290),AVBL(290),IQ(290),IS(290),AVBLGRB2(290) & - & /1,'TOT COL SW T TNDY ',250,200, & - & 'SWHR ON entire_atmos_single_lyr'/ - DATA IFILV(291),AVBL(291),IQ(291),IS(291),AVBLGRB2(291) & - & /1,'TOT COL LW T TNDY ',251,200, & - & 'LWHR ON entire_atmos_single_lyr'/ - DATA IFILV(292),AVBL(292),IQ(292),IS(292),AVBLGRB2(292) & - & /1,'TOT COL GRD T TNDY ',241,200, & - & 'AVE LRGHR ON entire_atmos_single_lyr'/ - DATA IFILV(293),AVBL(293),IQ(293),IS(293),AVBLGRB2(293) & - & /1,'TOT COL CNVCT T TNDY',242,200, & - & 'AVE CNVHR ON entire_atmos_single_lyr'/ - DATA IFILV(294),AVBL(294),IQ(294),IS(294),AVBLGRB2(294) & - & /1,'RADFLX TMP TNDY ON P',216,100, & - & 'TTRAD ON isobaric_sfc'/ - DATA IFILV(295),AVBL(295),IQ(295),IS(295),AVBLGRB2(295) & - & /1,'TOT COL MST CNVG ',135,200, & - & 'MCONV ON entire_atmos_single_lyr'/ - DATA IFILV(296),AVBL(296),IQ(296),IS(296),AVBLGRB2(296) & - & /1,'HPC T ON SIGMA SFCS ',011,107, & - & 'TMP ON sigma_lvl'/ -! H CHUANG--ADD GFS products - DATA IFILV(297),AVBL(297),IQ(297),IS(297),AVBLGRB2(297) & - & /1,'AVE CLR INC UV-B SW ',201,001, & - & 'AVE CDUVB ON surface'/ - DATA IFILV(298),AVBL(298),IQ(298),IS(298),AVBLGRB2(298) & - & /1,'AVE INC UV-B SW ',200,001, & - & 'AVE DUVB ON surface'/ - DATA IFILV(299),AVBL(299),IQ(299),IS(299),AVBLGRB2(299) & - & /1,'TOT COL OZONE ',010,200, & - & 'TOZNE ON entire_atmos_single_lyr'/ - DATA IFILV(300),AVBL(300),IQ(300),IS(300),AVBLGRB2(300) & - & /1,'AVE LOW CLOUD FRAC ',071,214, & - & 'AVE T_CDC ON low_cloud_lyr'/ - DATA IFILV(301),AVBL(301),IQ(301),IS(301),AVBLGRB2(301) & - & /1,'AVE MID CLOUD FRAC ',071,224, & - & 'AVE T_CDC ON mid_cloud_lyr'/ - DATA IFILV(302),AVBL(302),IQ(302),IS(302),AVBLGRB2(302) & - & /1,'AVE HIGH CLOUD FRAC ',071,234, & - & 'AVE T_CDC ON high_cloud_lyr'/ - DATA IFILV(303),AVBL(303),IQ(303),IS(303),AVBLGRB2(303) & - & /1,'AVE LOW CLOUD BOT P ',001,212, & - & 'AVE PRES ON low_cloud_bot_lvl'/ - DATA IFILV(304),AVBL(304),IQ(304),IS(304),AVBLGRB2(304) & - & /1,'AVE LOW CLOUD TOP P ',001,213, & - & 'AVE PRES ON low_cloud_top_lvl'/ - DATA IFILV(305),AVBL(305),IQ(305),IS(305),AVBLGRB2(305) & - & /1,'AVE LOW CLOUD TOP T ',011,213, & - & 'AVE TMP ON low_cloud_top_lvl'/ - DATA IFILV(306),AVBL(306),IQ(306),IS(306),AVBLGRB2(306) & - & /1,'AVE MID CLOUD BOT P ',001,222, & - & 'AVE PRES ON mid_cloud_bot_lvl'/ - DATA IFILV(307),AVBL(307),IQ(307),IS(307),AVBLGRB2(307) & - & /1,'AVE MID CLOUD TOP P ',001,223, & - & 'AVE PRES ON mid_cloud_top_lvl'/ - DATA IFILV(308),AVBL(308),IQ(308),IS(308),AVBLGRB2(308) & - & /1,'AVE MID CLOUD TOP T ',011,223, & - & 'AVE TMP ON mid_cloud_top_lvl'/ - DATA IFILV(309),AVBL(309),IQ(309),IS(309),AVBLGRB2(309) & - & /1,'AVE HIGH CLOUD BOT P',001,232, & - & 'AVE PRES ON high_cloud_bot_lvl'/ - DATA IFILV(310),AVBL(310),IQ(310),IS(310),AVBLGRB2(310) & - & /1,'AVE HIGH CLOUD TOP P',001,233, & - & 'AVE PRES ON high_cloud_top_lvl'/ - DATA IFILV(311),AVBL(311),IQ(311),IS(311),AVBLGRB2(311) & - & /1,'AVE HIGH CLOUD TOP T',011,233, & - & 'AVE TMP ON high_cloud_top_lvl'/ - DATA IFILV(312),AVBL(312),IQ(312),IS(312),AVBLGRB2(312) & - & /1,'TOT COL REL HUM ',052,200, & - & 'RH ON entire_atmos_single_lyr'/ - DATA IFILV(313),AVBL(313),IQ(313),IS(313),AVBLGRB2(313) & - & /1,'CLOUD WORK FUNCTION ',146,200, & - & 'AVE CWORK ON entire_atmos_single_lyr'/ - DATA IFILV(314),AVBL(314),IQ(314),IS(314),AVBLGRB2(314) & - & /1,'MAX WIND TEMPERATURE',011,006, & - & 'TMP ON max_wind'/ - DATA IFILV(315),AVBL(315),IQ(315),IS(315),AVBLGRB2(315) & - & /1,'AVE Z GRAVITY STRESS',147,001, & - & 'AVE U_GWD ON surface'/ - DATA IFILV(316),AVBL(316),IQ(316),IS(316),AVBLGRB2(316) & - & /1,'AVE M GRAVITY STRESS',148,001, & - & 'AVE V_GWD ON surface'/ - DATA IFILV(317),AVBL(317),IQ(317),IS(317),AVBLGRB2(317) & - & /1,'AVE PRECIP TYPE ',140,001, & - & 'AVE CRAIN ON surface'/ - DATA IFILV(318),AVBL(318),IQ(318),IS(318),AVBLGRB2(318) & - & /1,'LFM 0.44-1.00 RELHUM',052,108, & - & 'RH ON sigma_lvl'/ - DATA IFILV(319),AVBL(319),IQ(319),IS(319),AVBLGRB2(319) & - & /1,'LFM 0.72-0.94 RELHUM',052,108, & - & 'RH ON sigma_lvl'/ - DATA IFILV(320),AVBL(320),IQ(320),IS(320),AVBLGRB2(320) & - & /1,'LFM 0.44-0.72 RELHUM',052,108, & - & 'RH ON sigma_lvl'/ - DATA IFILV(321),AVBL(321),IQ(321),IS(321),AVBLGRB2(321) & - & /1,'NGM 0.9950 TEMP ',011,107, & - & 'TMP ON sigma_lvl'/ - DATA IFILV(322),AVBL(322),IQ(322),IS(322),AVBLGRB2(322) & - & /1,'NGM 0.9950 POT TEMP ',013,107, & - & 'POT ON sigma_lvl'/ - DATA IFILV(323),AVBL(323),IQ(323),IS(323),AVBLGRB2(323) & - & /1,'NGM 0.9950 REL HUM ',052,107, & - & 'RH ON sigma_lvl'/ - DATA IFILV(324),AVBL(324),IQ(324),IS(324),AVBLGRB2(324) & - & /1,'NGM 0.9950 U WIND ',033,107, & - & 'U_GRD ON sigma_lvl'/ - DATA IFILV(325),AVBL(325),IQ(325),IS(325),AVBLGRB2(325) & - & /1,'NGM 0.9950 V WIND ',034,107, & - & 'V_GRD ON sigma_lvl'/ - DATA IFILV(326),AVBL(326),IQ(326),IS(326),AVBLGRB2(326) & - & /1,'NGM 0.9950 OMEGA ',039,107, & - & 'V_VEL ON sigma_lvl'/ - DATA IFILV(327),AVBL(327),IQ(327),IS(327),AVBLGRB2(327) & - & /1,'GOES TB - CH 2 ',213,008, & !table 129 - & 'SBT122 ON top_of_atmos'/ - DATA IFILV(328),AVBL(328),IQ(328),IS(328),AVBLGRB2(328) & - & /1,'GOES TB - CH 3 ',214,008, & !table 129 - & 'SBT123 ON top_of_atmos'/ - DATA IFILV(329),AVBL(329),IQ(329),IS(329),AVBLGRB2(329) & - & /1,'GOES TB - CH 4 ',215,008, & !table 129 - & 'SBT124 ON top_of_atmos'/ - DATA IFILV(330),AVBL(330),IQ(330),IS(330),AVBLGRB2(330) & - & /1,'GOES TB - CH 5 ',216,008, & !table 129 - & 'SBT125 ON top_of_atmos'/ - DATA IFILV(331),AVBL(331),IQ(331),IS(331),AVBLGRB2(331) & - & /1,'CLD FRAC ON P SFCS ',071,100, & - & 'T_CDC ON isobaric_sfc'/ - DATA IFILV(332),AVBL(332),IQ(332),IS(332),AVBLGRB2(332) & - & /1,'U WIND ON THETA SFCS',033,113, & - & 'U_GRD ON isentropic_lvl'/ - DATA IFILV(333),AVBL(333),IQ(333),IS(333),AVBLGRB2(333) & - & /1,'V WIND ON THETA SFCS',034,113, & - & 'V_GRD ON isentropic_lvl'/ - DATA IFILV(334),AVBL(334),IQ(334),IS(334),AVBLGRB2(334) & - & /1,'TEMP ON THETA SFCS ',011,113, & - & 'TMP ON isentropic_lvl'/ - DATA IFILV(335),AVBL(335),IQ(335),IS(335),AVBLGRB2(335) & - & /1,'PV ON THETA SFCS ',004,113, & - & 'PVORT ON isentropic_lvl'/ - DATA IFILV(353),AVBL(353),IQ(353),IS(353),AVBLGRB2(353) & !353 - & /1,'M STRMFUNC ON THETA ',037,113, & - & 'MNTSF ON isentropic_lvl'/ - DATA IFILV(351),AVBL(351),IQ(351),IS(351),AVBLGRB2(351) & !351 - & /1,'S STAB ON THETA SFCS',019,113, & - & 'LAPR ON isentropic_lvl'/ - DATA IFILV(352),AVBL(352),IQ(352),IS(352),AVBLGRB2(352) & !352 - & /1,'RH ON THETA SFCS ',052,113, & - & 'RH ON isentropic_lvl'/ - DATA IFILV(336),AVBL(336),IQ(336),IS(336),AVBLGRB2(336) & - & /1,'U WIND ON PV SFCS ',033,117, & - & 'U_GRD ON pot_vort_sfc'/ - DATA IFILV(337),AVBL(337),IQ(337),IS(337),AVBLGRB2(337) & - & /1,'V WIND ON PV SFCS ',034,117, & - & 'V_GRD ON pot_vort_sfc'/ - DATA IFILV(338),AVBL(338),IQ(338),IS(338),AVBLGRB2(338) & - & /1,'TEMP ON PV SFCS ',011,117, & - & 'TMP ON pot_vort_sfc'/ - DATA IFILV(339),AVBL(339),IQ(339),IS(339),AVBLGRB2(339) & - & /1,'HEIGHT ON PV SFCS ',007,117, & - & 'HGT ON pot_vort_sfc'/ - DATA IFILV(340),AVBL(340),IQ(340),IS(340),AVBLGRB2(340) & - & /1,'PRESSURE ON PV SFCS ',001,117, & - & 'PRES ON pot_vort_sfc'/ - DATA IFILV(341),AVBL(341),IQ(341),IS(341),AVBLGRB2(341) & - & /1,'SHEAR ON PV SFCS ',136,117, & - & 'VW_SH ON pot_vort_sfc'/ - DATA IFILV(342),AVBL(342),IQ(342),IS(342),AVBLGRB2(342) & - & /1,'PBL CLD FRACTION ',071,211, & - & 'AVE T_CDC ON bound_lyr_cloud_lyr'/ - DATA IFILV(343),AVBL(343),IQ(343),IS(343),AVBLGRB2(343) & - & /1,'AVE WATER RUNOFF ',090,001, & - & 'AVE WATR ON surface'/ - DATA IFILV(344),AVBL(344),IQ(344),IS(344),AVBLGRB2(344) & - & /1,'PBL REGIME ',220,001, & - & 'PBLREG ON surface'/ - DATA IFILV(345),AVBL(345),IQ(345),IS(345),AVBLGRB2(345) & - & /1,'MAX SHELTER TEMP ',015,105, & - & 'TMAX ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(346),AVBL(346),IQ(346),IS(346),AVBLGRB2(346) & - & /1,'MIN SHELTER TEMP ',016,105, & - & 'TMIN ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(347),AVBL(347),IQ(347),IS(347),AVBLGRB2(347) & - & /1,'MAX SHELTER RH ',218,105, & !table129 - & 'RHMAX ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(348),AVBL(348),IQ(348),IS(348),AVBLGRB2(348) & - & /1,'MIN SHELTER RH ',217,105, & !table129 - & 'RHMIN ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(510),AVBL(510),IQ(510),IS(510),AVBLGRB2(510) & - & /1,'MAX SHELTER SPFH ',051,105, & !table129 - & 'QMAX ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(511),AVBL(511),IQ(511),IS(511),AVBLGRB2(511) & - & /1,'MIN SHELTER SPFH ',051,105, & !table129 - & 'QMIN ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(512),AVBL(512),IQ(512),IS(512),AVBLGRB2(512) & - & /1,'AERO CONDUCTANCE ',179,001, & !table129 - & 'ACOND ON surface'/ - DATA IFILV(349),AVBL(349),IQ(349),IS(349),AVBLGRB2(349) & - & /1,'ICE THICKNESS ',092,001, & - & 'ICETK ON surface'/ - DATA IFILV(354),AVBL(354),IQ(354),IS(354),AVBLGRB2(354) & - & /1,'SW TNDY ON P SFCS ',250,100, & - & 'SWHR ON isobaric_sfc'/ - DATA IFILV(355),AVBL(355),IQ(355),IS(355),AVBLGRB2(355) & - & /1,'LW TNDY ON P SFCS ',251,100, & - & 'LWHR ON isobaric_sfc'/ - DATA IFILV(356),AVBL(356),IQ(356),IS(356),AVBLGRB2(356) & - & /1,'VDIFF TNDY ON P SFCS',246,100, & - & 'VDFHR ON isobaric_sfc'/ - DATA IFILV(357),AVBL(357),IQ(357),IS(357),AVBLGRB2(357) & - & /1,'D CNVCT TNDY ON P SF',242,100, & - & 'CNVHR ON isobaric_sfc'/ - DATA IFILV(358),AVBL(358),IQ(358),IS(358),AVBLGRB2(358) & - & /1,'S CNVCT TNDY ON P SF',244,100, & - & 'SHAHR ON isobaric_sfc'/ - DATA IFILV(359),AVBL(359),IQ(359),IS(359),AVBLGRB2(359) & - & /1,'GRDSCL TNDY ON P SFC',241,100, & - & 'LRGHR ON isobaric_sfc'/ - DATA IFILV(360),AVBL(360),IQ(360),IS(360),AVBLGRB2(360) & - & /1,'VDIFF MOIS ON P SFCS',249,100, & - & 'VDFMR ON isobaric_sfc'/ - DATA IFILV(361),AVBL(361),IQ(361),IS(361),AVBLGRB2(361) & - & /1,'D CNVCT MOIS ON P SF',243,100, & - & 'CNVMR ON isobaric_sfc'/ - DATA IFILV(362),AVBL(362),IQ(362),IS(362),AVBLGRB2(362) & - & /1,'S CNVCT MOIS ON P SF',245,100, & - & 'SHAMR ON isobaric_sfc'/ - DATA IFILV(363),AVBL(363),IQ(363),IS(363),AVBLGRB2(363) & - & /1,'N RAD TNDY ON P SFCS',173,100, & - & 'LRGMR ON isobaric_sfc'/ - DATA IFILV(364),AVBL(364),IQ(364),IS(364),AVBLGRB2(364) & - & /1,'OZONE VDIFF ON P SFC',174,100, & - & 'VDFOZ ON isobaric_sfc'/ - DATA IFILV(365),AVBL(365),IQ(365),IS(365),AVBLGRB2(365) & - & /1,'OZONE PROD ON P SFCS',175,100, & - & 'POZ ON isobaric_sfc'/ - DATA IFILV(366),AVBL(366),IQ(366),IS(366),AVBLGRB2(366) & - & /1,'OZONE TNDY ON P SFCS',188,100, & - & 'TOZ ON isobaric_sfc'/ - DATA IFILV(367),AVBL(367),IQ(367),IS(367),AVBLGRB2(367) & - & /1,'MASS WEIGHTED PV ',139,100, & - & 'PV_MW ON isobaric_sfc'/ - DATA IFILV(368),AVBL(368),IQ(368),IS(368),AVBLGRB2(368) & - & /1,'UNKNOWN D3D ON P SFC',239,100, & - & 'SNOT ON isobaric_sfc'/ - DATA IFILV(369),AVBL(369),IQ(369),IS(369),AVBLGRB2(369) & - & /1,'VDIFF Z ACCE ON P SF',247,100, & - & 'VDFUA ON isobaric_sfc'/ - DATA IFILV(370),AVBL(370),IQ(370),IS(370),AVBLGRB2(370) & - & /1,'G DRAG Z ACCE ON P S',181,100, & - & 'GWDU ON isobaric_sfc'/ - DATA IFILV(371),AVBL(371),IQ(371),IS(371),AVBLGRB2(371) & - & /1,'CNVCT U M MIX ON P S',183,100, & - & 'CNVU ON isobaric_sfc'/ - DATA IFILV(372),AVBL(372),IQ(372),IS(372),AVBLGRB2(372) & - & /1,'VDIFF M ACCE ON P SF',248,100, & - & 'VDFVA ON isobaric_sfc'/ - DATA IFILV(373),AVBL(373),IQ(373),IS(373),AVBLGRB2(373) & - & /1,'G DRAG M ACCE ON P S',182,100, & - & 'GWDV ON isobaric_sfc'/ - DATA IFILV(374),AVBL(374),IQ(374),IS(374),AVBLGRB2(374) & - & /1,'CNVCT V M MIX ON P S',184,100, & - & 'CNVV ON isobaric_sfc'/ - DATA IFILV(375),AVBL(375),IQ(375),IS(375),AVBLGRB2(375) & - & /1,'N CNVCT CLD FRA ON P',213,100, & - & 'CDLYR ON isobaric_sfc'/ - DATA IFILV(376),AVBL(376),IQ(376),IS(376),AVBLGRB2(376) & - & /1,'GOES BRIGHTNESS-CH 3',221,008, & !table 129 - & 'SBC123 ON top_of_atmos'/ - DATA IFILV(377),AVBL(377),IQ(377),IS(377),AVBLGRB2(377) & - & /1,'GOES BRIGHTNESS-CH 4',222,008, & !table 129 - & 'SBC124 ON top_of_atmos'/ - DATA IFILV(378),AVBL(378),IQ(378),IS(378),AVBLGRB2(378) & - & /1,'OMEGA ON THETA SFCS ',039,113, & - & 'V_VEL ON isentropic_lvl'/ -! D3D fields - DATA IFILV(379),AVBL(379),IQ(379),IS(379),AVBLGRB2(379) & - & /1,'T DIAB TNDY ON P SFC',215,100, & - & 'TTDIA ON isobaric_sfc'/ - DATA IFILV(391),AVBL(391),IQ(391),IS(391),AVBLGRB2(391) & - & /1,'CNVCT U M FLX ON P S',202,100, & - & 'CNVUMF ON isobaric_sfc'/ - DATA IFILV(392),AVBL(392),IQ(392),IS(392),AVBLGRB2(392) & - & /1,'CNVCT D M FLX ON P S',209,100, & - & 'CNVDMF ON isobaric_sfc'/ - DATA IFILV(393),AVBL(393),IQ(393),IS(393),AVBLGRB2(393) & - & /1,'CNVCT DET M FLX ON P',219,100, & - & 'CNVDEMF ON isobaric_sfc'/ - DATA IFILV(394),AVBL(394),IQ(394),IS(394),AVBLGRB2(394) & - & /1,'CNVCT Z G DRAG ON P ',196,100, & - & 'CNGWDU ON isobaric_sfc'/ - DATA IFILV(395),AVBL(395),IQ(395),IS(395),AVBLGRB2(395) & - & /1,'CNVCT M G DRAG ON P ',197,100, & - & 'CNGWDV ON isobaric_sfc'/ -!---- Using table 129 !aqm PLee 1/07 - DATA IFILV(380),AVBL(380),IQ(380),IS(380),AVBLGRB2(380) & - & /1,'DIFFUSION H RATE MDL',182,109, & - & 'VEDH ON hybrid_lvl'/ -!---- Using table 2 !aqm PLee 3/07 - DATA IFILV(381),AVBL(381),IQ(381),IS(381),AVBLGRB2(381) & - & /1,'MIXHT HEIGHT ',067,001, & - & 'MIXHT ON surface'/ -! NEW GFS FLUX FILE FIELDS - DATA IFILV(382),AVBL(382),IQ(382),IS(382),AVBLGRB2(382) & - & /1,'AVE CLR INC SFC LW ',163,001, & - & 'AVE CSDLF ON surface'/ - DATA IFILV(383),AVBL(383),IQ(383),IS(383),AVBLGRB2(383) & - & /1,'AVE CLR INC SFC SW ',161,001, & - & 'AVE CSDSF ON surface'/ - DATA IFILV(384),AVBL(384),IQ(384),IS(384),AVBLGRB2(384) & - & /1,'AVE CLR OUT SFC LW ',162,001, & - & 'AVE CSULF ON surface'/ - DATA IFILV(385),AVBL(385),IQ(385),IS(385),AVBLGRB2(385) & - & /1,'AVE CLR OUT TOA LW ',162,008, & - & 'AVE CSULF ON top_of_atmos'/ - DATA IFILV(386),AVBL(386),IQ(386),IS(386),AVBLGRB2(386) & - & /1,'AVE CLR OUT SFC SW ',160,001, & - & 'AVE CSUSF ON surface'/ - DATA IFILV(387),AVBL(387),IQ(387),IS(387),AVBLGRB2(387) & - & /1,'AVE CLR OUT TOA SW ',160,008, & - & 'AVE CSUSF ON top_of_atmos'/ - DATA IFILV(388),AVBL(388),IQ(388),IS(388),AVBLGRB2(388) & - & /1,'AVE INC TOA SW ',204,008, & - & 'AVE DSWRF ON top_of_atmos'/ - DATA IFILV(389),AVBL(389),IQ(389),IS(389),AVBLGRB2(389) & - & /1,'TRANSPORT U WIND ',033,220, & - & 'U_GRD ON planetary_bound_lyr'/ - DATA IFILV(390),AVBL(390),IQ(390),IS(390),AVBLGRB2(390) & - & /1,'TRANSPORT V WIND ',034,220, & - & 'V_GRD ON planetary_bound_lyr'/ -! Add TIGGE FIELDS - DATA IFILV(396),AVBL(396),IQ(396),IS(396),AVBLGRB2(396) & - & /1,'SUNSHINE DURATION ',191,001, & !table 133 - & 'SUNSD ON surface'/ - DATA IFILV(397),AVBL(397),IQ(397),IS(397),AVBLGRB2(397) & - & /1,'FIELD CAPACITY ',220,001, & !table 130 - & 'FLDCP ON surface'/ -! Add ICAO FIELDS - DATA IFILV(398),AVBL(398),IQ(398),IS(398),AVBLGRB2(398) & - & /1,'ICAO HGHT MAX WIND ',005,006, & - & 'ICAHT ON max_wind'/ - DATA IFILV(399),AVBL(399),IQ(399),IS(399),AVBLGRB2(399) & - & /1,'ICAO HGHT AT TROP ',005,007, & - & 'ICAHT ON tropopause'/ - DATA IFILV(400),AVBL(400),IQ(400),IS(400),AVBLGRB2(400) & - & /1,'RADAR ECHO TOP ',240,200, & - & 'RETOP ON entire_atmos_single_lyr'/ -! -! Add MORE CFSRR FIELDS -! surface Visible beam downward solar flux - DATA IFILV(401),AVBL(401),IQ(401),IS(401),AVBLGRB2(401) & - & /1,'AVE IN SFC VIS SW BE',166,001, & - & 'AVE VBDSF ON surface'/ -!surface Visible diffuse downward solar flux - DATA IFILV(402),AVBL(402),IQ(402),IS(402),AVBLGRB2(402) & - & /1,'AVE IN SFC VIS SW DF',167,001, & - & 'AVE VDDSF ON surface'/ -!surface Near IR beam downward solar flux - DATA IFILV(403),AVBL(403),IQ(403),IS(403),AVBLGRB2(403) & - & /1,'AVE IN SFC IR SW BE ',168,001, & - & 'AVE NBDSF ON surface'/ -!surface Near IR diffuse downward solar flux - DATA IFILV(404),AVBL(404),IQ(404),IS(404),AVBLGRB2(404) & - & /1,'AVE IN SFC IR SW DF ',169,001, & - & 'AVE NDDSF ON surface'/ -! SNOWFALL RATE - DATA IFILV(405),AVBL(405),IQ(405),IS(405),AVBLGRB2(405) & - & /1,'AVE SNOWFALL RATE ',064,001, & - & 'AVE SRWEQ ON surface'/ -! ADD DUST FIELDS ON P SFCS (GOCART) - DATA IFILV(438),AVBL(438),IQ(438),IS(438),AVBLGRB2(438) & - & /1,'DUST 1 ON P SFCS ',240,100, & - & 'DU1 ON isobaric_sfc'/ - DATA IFILV(439),AVBL(439),IQ(439),IS(439),AVBLGRB2(439) & - & /1,'DUST 2 ON P SFCS ',241,100, & - & 'DU2 ON isobaric_sfc'/ - DATA IFILV(440),AVBL(440),IQ(440),IS(440),AVBLGRB2(440) & - & /1,'DUST 3 ON P SFCS ',242,100, & - & 'DU3 ON isobaric_sfc'/ - DATA IFILV(441),AVBL(441),IQ(441),IS(441),AVBLGRB2(441) & - & /1,'DUST 4 ON P SFCS ',243,100, & - & 'DU4 ON isobaric_sfc'/ - DATA IFILV(442),AVBL(442),IQ(442),IS(442),AVBLGRB2(442) & - & /1,'DUST 5 ON P SFCS ',244,100, & - & 'DU5 ON isobaric_sfc'/ -! - DATA IFILV(443),AVBL(443),IQ(443),IS(443),AVBLGRB2(443) & - & /1,'EQUIL LEVEL HEIGHT ',007,247, & - & 'HGT ON equil_lvl'/ - DATA IFILV(444),AVBL(444),IQ(444),IS(444),AVBLGRB2(444) & - & /1,'LIGHTNING ',187,001, & - & 'LTNG ON surface'/ - -! GOES WEST - DATA IFILV(446),AVBL(446),IQ(446),IS(446),AVBLGRB2(446) & - & /1,'GOES W TB - CH 2 ',241,008, & - & 'SBT112 ON top_of_atmos'/ !Table 130 - DATA IFILV(447),AVBL(447),IQ(447),IS(447),AVBLGRB2(447) & - & /1,'GOES W TB - CH 3 ',242,008, & - & 'SBT113 ON top_of_atmos'/ !Table 130 - DATA IFILV(448),AVBL(448),IQ(448),IS(448),AVBLGRB2(448) & - & /1,'GOES W TB - CH 4 ',243,008, & - & 'SBT114 ON top_of_atmos'/ !Table 130 - DATA IFILV(449),AVBL(449),IQ(449),IS(449),AVBLGRB2(449) & - & /1,'GOES W TB - CH 5 ',244,008, & - & 'SBT115 ON top_of_atmos'/ !Table 130 - -! NCAR GFIP - DATA IFILV(450),AVBL(450),IQ(450),IS(450),AVBLGRB2(450) & - & /1,'NCAR IN-FLIGHT ICING',168,100, & - & 'TIPD ON isobaric_sfc'/ -! Flight level Q - DATA IFILV(451),AVBL(451),IQ(451),IS(451),AVBLGRB2(451) & - & /1,'SPE HUM AT FD HEIGHT',051,103, & - & 'SPF_H ON spec_alt_above_mean_sea_lvl'/ -! Virtual T based CAPE - DATA IFILV(452),AVBL(452),IQ(452),IS(452),AVBLGRB2(452) & - & /1,'TV CNVCT AVBL POT EN',202,001, & - & 'VTCAPE ON surface'/ - DATA IFILV(453),AVBL(453),IQ(453),IS(453),AVBLGRB2(453) & - & /1,'TV CNVCT INHIBITION ',201,001, & - & 'VTCIN ON surface'/ - DATA IFILV(454),AVBL(454),IQ(454),IS(454),AVBLGRB2(454) & - & /1,'VENTILATION RATE ',241,220, & - & 'VRATE ON planetary_bound_lyr'/ - DATA IFILV(455),AVBL(455),IQ(455),IS(455),AVBLGRB2(455) & - & /1,'HAINES INDEX ',250,001, & - & 'HINDEX ON surface'/ - DATA IFILV(456),AVBL(456),IQ(456),IS(456),AVBLGRB2(456) & - & /1,'GOESE TB-2 NON NADIR',213,008, & - & 'SBT122 ON top_of_atmos'/ !table 129 - DATA IFILV(457),AVBL(457),IQ(457),IS(457),AVBLGRB2(457) & - & /1,'GOESE TB-3 NON NADIR',214,008, & - & 'SBT123 ON top_of_atmos'/ !table 129 - DATA IFILV(458),AVBL(458),IQ(458),IS(458),AVBLGRB2(458) & - & /1,'GOESE TB-4 NON NADIR',215,008, & - & 'SBT124 ON top_of_atmos'/ !table 129 - DATA IFILV(459),AVBL(459),IQ(459),IS(459),AVBLGRB2(459) & - & /1,'GOESE TB-5 NON NADIR',216,008, & - & 'SBT126 ON top_of_atmos'/ !table 129 - DATA IFILV(460),AVBL(460),IQ(460),IS(460),AVBLGRB2(460) & - & /1,'GOESW TB-2 NON NADIR',241,008, & - & 'SBT112 ON top_of_atmos'/ !table 130 - DATA IFILV(461),AVBL(461),IQ(461),IS(461),AVBLGRB2(461) & - & /1,'GOESW TB-3 NON NADIR',242,008, & - & 'SBT113 ON top_of_atmos'/ !table 130 - DATA IFILV(462),AVBL(462),IQ(462),IS(462),AVBLGRB2(462) & - & /1,'GOESW TB-4 NON NADIR',243,008, & - & 'SBT114 ON top_of_atmos'/ !table 130 - DATA IFILV(463),AVBL(463),IQ(463),IS(463),AVBLGRB2(463) & - & /1,'GOESW TB-5 NON NADIR',244,008, & - & 'SBT115 ON top_of_atmos'/ !table 130 - - -! NCAR GFIP Severity - DATA IFILV(480),AVBL(480),IQ(480),IS(480),AVBLGRB2(480) & - & /1,'NCAR INFLT ICING SEV',175,100, & - & 'SEV ON isobaric_sfc'/ !table 129 -! - DATA IFILV(482),AVBL(482),IQ(482),IS(482),AVBLGRB2(482) & - & /1,'PRESS AT FD HEIGHTS ',001,103, & - 'PRES ON spec_alt_above_mean_sea_lvl'/ - - DATA IFILV(483),AVBL(483),IQ(483),IS(483),AVBLGRB2(483) & - & /1,'AMSRE TB - CH 9 ',176,008, & - 'AMSRETBCH9 ON top_of_atmos'/ !table 133 - DATA IFILV(484),AVBL(484),IQ(484),IS(484),AVBLGRB2(484) & - & /1,'AMSRE TB - CH 10 ',177,008, & - 'AMSRETBCH10 ON top_of_atmos'/ !table 133 - DATA IFILV(485),AVBL(485),IQ(485),IS(485),AVBLGRB2(485) & - & /1,'AMSRE TB - CH 11 ',178,008, & - 'AMSRETBCH11 ON top_of_atmos'/ !table 133 - DATA IFILV(486),AVBL(486),IQ(486),IS(486),AVBLGRB2(486) & - & /1,'AMSRE TB - CH 12 ',179,008, & - 'AMSRETBCH12 ON top_of_atmos'/ !table 133 -! - DATA IFILV(488),AVBL(488),IQ(488),IS(488),AVBLGRB2(488) & - & /1,'TMI TB - CH 6 ',176,008, & - & 'TMITBCH6 ON top_of_atmos'/ !table 133 - DATA IFILV(489),AVBL(489),IQ(489),IS(489),AVBLGRB2(489) & - & /1,'TMI TB - CH 7 ',177,008, & - & 'TMITBCH7 ON top_of_atmos'/ !table 133 - DATA IFILV(490),AVBL(490),IQ(490),IS(490),AVBLGRB2(490) & - & /1,'TMI TB - CH 8 ',178,008, & - & 'TMITBCH8 ON top_of_atmos'/ !table 133 - DATA IFILV(491),AVBL(491),IQ(491),IS(491),AVBLGRB2(491) & - & /1,'TMI TB - CH 9 ',179,008, & - & 'TMITBCH9 ON top_of_atmos'/ !table 133 - -! -! NAMB additions - DATA IFILV(500),AVBL(500),IQ(500),IS(500),AVBLGRB2(500) & - & /1,'TIME AVG PCT SNW CVR',238,001, & - & 'AVG SNOWC ON surface' / - DATA IFILV(501),AVBL(501),IQ(501),IS(501),AVBLGRB2(501) & - & /1,'TIME AVG SFC PRESS ',001,001, & - & 'AVG PRES ON surface' / - DATA IFILV(502),AVBL(502),IQ(502),IS(502),AVBLGRB2(502) & - & /1,'TIME AVG TMP AT 10M ',011,105, & - & 'AVG TMP ON spec_hgt_lvl_above_grnd' / - DATA IFILV(503),AVBL(503),IQ(503),IS(503),AVBLGRB2(503) & - & /1,'TAVG MASS EXCH COEF ',185,001, & - & 'AVG AKHS ON surface' / - DATA IFILV(504),AVBL(504),IQ(504),IS(504),AVBLGRB2(504) & - & /1,'TAVG WIND EXCH COEF ',186,001, & - & 'AVG AKMS ON surface' / - DATA IFILV(505),AVBL(505),IQ(505),IS(505),AVBLGRB2(505) & - & /1,'TEMP AT 10 M ',011,105, & - & 'TMP ON spec_hgt_lvl_above_grnd' / - DATA IFILV(506),AVBL(506),IQ(506),IS(506),AVBLGRB2(506) & - & /1,'U COMP MAX 10 M WIND',253,105, & - & 'MAXUW ON spec_hgt_lvl_above_grnd' / - DATA IFILV(507),AVBL(507),IQ(507),IS(507),AVBLGRB2(507) & - & /1,'V COMP MAX 10 M WIND',254,105, & - & 'MAXVW ON spec_hgt_lvl_above_grnd' / - DATA IFILV(508),AVBL(508),IQ(508),IS(508),AVBLGRB2(508) & - & /1,'MAX PRECIP RATE ',059,001, & - & 'MAX PRATE ON surface' / - DATA IFILV(509),AVBL(509),IQ(509),IS(509),AVBLGRB2(509) & - & /1,'MAX FROZ PRECIP RATE',064,001, & - & 'MAX FROZ PRATE ON surface' / - DATA IFILV(513),AVBL(513),IQ(513),IS(513),AVBLGRB2(513) & - & /1,'AV CANOPY WATER EVAP',200,001, & - & 'AVE EVCW ON surface'/ - DATA IFILV(514),AVBL(514),IQ(514),IS(514),AVBLGRB2(514) & - & /1,'DIRECT SOIL EVAP ',199,001, & - & 'AVE EVBS ON surface'/ - DATA IFILV(515),AVBL(515),IQ(515),IS(515),AVBLGRB2(515) & - & /1,'PLANT TRANSPIRATION ',210,001, & - & 'AVE TRANS ON surface'/ - DATA IFILV(516),AVBL(516),IQ(516),IS(516),AVBLGRB2(516) & - & /1,'SNOW SUBLIMATION ',198,001, & - & 'AVE SBSNO ON surface'/ - DATA IFILV(517),AVBL(517),IQ(517),IS(517),AVBLGRB2(517) & - & /1,'AVE POTENTIAL EVAP ',145,001, & - & 'AVE PEVPR ON surface'/ - -! -! Reserving Index 550-600 for Jun Wang -! - -! -!for grid2 -!-- ADD for INST CRAIN, CSNOW,CICEP,CFRZR (CRAIN 160) - DATA IFILV(551),AVBL(551),IQ(551),IS(551),AVBLGRB2(551) & - & /1,'INST CATEG SNOW ',143,001, & - & 'INST CSNOW ON surface'/ - DATA IFILV(552),AVBL(552),IQ(552),IS(552),AVBLGRB2(552) & - & /1,'INST CATEG ICE PELLE',142,001, & - & 'INST CICEP ON surface'/ - DATA IFILV(553),AVBL(553),IQ(553),IS(553),AVBLGRB2(553) & - & /1,'INST CATEG FRZ RAIN ',141,001, & - & 'INST CFRZR ON surface'/ -! -!-- ADD for AVE CSNOW,CICEP,CFRZR, (CRAIN 317) - DATA IFILV(555),AVBL(555),IQ(555),IS(555),AVBLGRB2(555) & - & /1,'AVE CATEG SNOW ',143,001, & - & 'AVE CSNOW ON surface'/ - DATA IFILV(556),AVBL(556),IQ(556),IS(556),AVBLGRB2(556) & - & /1,'AVE CATEG ICE PELLE',142,001, & - & 'AVE CICEP ON surface'/ - DATA IFILV(557),AVBL(557),IQ(557),IS(557),AVBLGRB2(557) & - & /1,'AVE CATEG FRZ RAIN ',141,001, & - & 'AVE CFRZR ON surface'/ -! -!-- ADD for INST CRAIN, CSNOW,CICEP,CFRZR (CRAIN 160) - DATA IFILV(559),AVBL(559),IQ(559),IS(559),AVBLGRB2(559) & - & /1,'INST CATEG SNOW ',143,001, & - & 'INST CSNOW ON surface'/ - DATA IFILV(560),AVBL(560),IQ(560),IS(560),AVBLGRB2(560) & - & /1,'INST CATEG ICE PELLE',142,001, & - & 'INST CICEP ON surface'/ - DATA IFILV(561),AVBL(561),IQ(561),IS(561),AVBLGRB2(561) & - & /1,'INST CATEG FRZ RAIN ',141,001, & - & 'INST CFRZR ON surface'/ -! -!-- ADD for AVE CSNOW,CICEP,CFRZR, (CRAIN 317) - DATA IFILV(563),AVBL(563),IQ(563),IS(563),AVBLGRB2(563) & - & /1,'AVE CATEG SNOW ',143,001, & - & 'AVE CSNOW ON surface'/ - DATA IFILV(564),AVBL(564),IQ(564),IS(564),AVBLGRB2(564) & - & /1,'AVE CATEG ICE PELLET',142,001, & - & 'AVE CICEP ON surface'/ - DATA IFILV(565),AVBL(565),IQ(565),IS(565),AVBLGRB2(565) & - & /1,'AVE CATEG FRZ RAIN ',141,001, & - & 'AVE CFRZR ON surface'/ -! -!-- ADD BEST CAPE CIN - DATA IFILV(566),AVBL(566),IQ(566),IS(566),AVBLGRB2(566) & - & /1,'BEST CAPE ON PRESLEV',157,116, & - & 'CAPE ON spec_pres_above_grnd'/ - DATA IFILV(567),AVBL(567),IQ(567),IS(567),AVBLGRB2(567) & - & /1,'BEST CIN ON PRESLEV ',156,116, & - & 'CIN ON spec_pres_above_grnd'/ -!-- add PRES Mean sea level---gfs - DATA IFILV(568),AVBL(568),IQ(568),IS(568),AVBLGRB2(568) & - & /1,'PRES ON MEAN SLP ',001,102, & - & 'PRES ON mean_sea_lvl'/ -!-- add T_CDC on convective_cloud_lyr --gfs - DATA IFILV(569),AVBL(569),IQ(569),IS(569),AVBLGRB2(569) & - & /1,'AVG CNVCT CLDLY FRAC',072,200, & - & 'AVE T_CDC ON convective_cloud_lyr'/ -!-- add T_CDC on entire_atmos_single_lyr --gfs - DATA IFILV(570),AVBL(570),IQ(570),IS(570),AVBLGRB2(570) & - & /1,'CONV CLOUD FRACTION ',072,200, & - & 'T_CDC ON convective_cloud_lyr'/ -! -!-- GFS use different kpds5 and kpds6 for surface lifted index, -!-- best lifted index(surface), soil temperature(TMP), -!-- total column cloud water - DATA IFILV(571),AVBL(571),IQ(571),IS(571),AVBLGRB2(571) & - & /1,'BOTTOM SOIL TEMP ',085,111, & - & 'TMP ON depth_bel_land_sfc'/ -! Chuang: remove this redendent index after communicating with Smirnova -! DATA IFILV(572),AVBL(572),IQ(572),IS(572),AVBLGRB2(572) & -! & /1,'LIFTED INDEX--SURFCE',131,101, & -! & 'LFT_X ON surface'/ - DATA IFILV(573),AVBL(573),IQ(573),IS(573),AVBLGRB2(573) & - & /1,'LIFTED INDEX--BEST ',132,116, & - & '4LFTX ON surface'/ - DATA IFILV(574),AVBL(574),IQ(574),IS(574),AVBLGRB2(574) & - & /1,'GFS SOIL TEMPERATURE',085,112, & - & 'TMP ON depth_bel_land_sfc'/ - DATA IFILV(575),AVBL(575),IQ(575),IS(575),AVBLGRB2(575) & - & /1,'TOTAL COLUMN CLD WTR',136,200, & - & 'C_WAT ON entire_atmos_single_lyr'/ -!-- NMMB grib2 - DATA IFILV(576),AVBL(576),IQ(576),IS(576),AVBLGRB2(576) & - & /1,'UWD AT FDHEIGHTS HGT',033,105, & - & 'U_GRD ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(577),AVBL(577),IQ(577),IS(577),AVBLGRB2(577) & - & /1,'VWD AT FDHEIGHTS HGT',034,105, & - & 'V_GRD ON spec_hgt_lvl_above_grnd'/ -!grib2: use same fld #451 for two diffent level types - DATA IFILV(578),AVBL(578),IQ(578),IS(578),AVBLGRB2(578) & - & /1,'SPFH AT FDHEIGHT HGT',051,105, & - & 'SPF_H ON spec_hgt_lvl_above_grnd'/ -!grib2: use same fld #482 for two diffent level types - DATA IFILV(579),AVBL(579),IQ(579),IS(579),AVBLGRB2(579) & - & /1,'PRES AT FDHEIGHT HGT',001,105, & - 'PRES ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(580),AVBL(580),IQ(580),IS(580),AVBLGRB2(580) & - & /1,'ICING AT FD HEIGHTS ',168,103, & - 'ICI ON spec_alt_above_mean_sea_lvl'/ - DATA IFILV(581),AVBL(581),IQ(581),IS(581),AVBLGRB2(581) & - & /1,'RADAR DERIVED VIL ',206,200, & - 'VIL ON entire_atmos'/ -! -!-- ADD mixed layer CAPE CIN - DATA IFILV(582),AVBL(582),IQ(582),IS(582),AVBLGRB2(582) & - & /1,'MIXED LAYER CAPE ',157,116, & - & 'CAPE ON spec_pres_above_grnd'/ - DATA IFILV(583),AVBL(583),IQ(583),IS(583),AVBLGRB2(583) & - & /1,'MIXED LAYER CIN ',156,116, & - & 'CIN ON spec_pres_above_grnd'/ -!-- ADD MOST UNSTABLE CAPE/CIN -LOWEST 300 MB - DATA IFILV(584),AVBL(584),IQ(584),IS(584),AVBLGRB2(584) & - & /1,'MOST UNSTABLE CAPE ',157,116, & - & 'CAPE ON spec_pres_above_grnd'/ - DATA IFILV(585),AVBL(585),IQ(585),IS(585),AVBLGRB2(585) & - & /1,'MOST UNSTABLE CIN ',156,116, & - & 'CIN ON spec_pres_above_grnd'/ -!-- tmp at fd hgt (specified hgt level above ground) - DATA IFILV(586),AVBL(586),IQ(586),IS(586),AVBLGRB2(586) & - & /1,'TEMP AT FDHEIGHT HGT',011,105, & - & 'TMP ON spec_hgt_above_mean_sea_lvl'/ -!icing at fd hgt (specified hgt level above ground) - DATA IFILV(587),AVBL(587),IQ(587),IS(587),AVBLGRB2(587) & - & /1,'ICING FDHEIGHT HGT ',168,105, & - 'ICI ON spec_alt_above_mean_sea_lvl'/ -!icing vessel - - DATA IFILV(588),AVBL(588),IQ(588),IS(588),AVBLGRB2(588) & - & /1,'ICE GROWTH RATE AT FDHEIGHT HGT ', & - 097,001, & - & 'ICEG ON spec-hgt_above_mean_sea_lvl'/ - - -! Reserving Index 550-600 for grib2 - -! Reserving Index 601-700 for GOCART -! ADD DUST AT FD HEIGHTS (GOCART) - DATA IFILV(601),AVBL(601),IQ(601),IS(601),AVBLGRB2(601) & - & /1,'DUST 1 AT FD HEIGHTS',240,103, & - 'DU1 ON spec_alt_above_mean_sea_lvl'/ - DATA IFILV(602),AVBL(602),IQ(602),IS(602),AVBLGRB2(602) & - & /1,'DUST 2 AT FD HEIGHTS',241,103, & - 'DU2 ON spec_alt_above_mean_sea_lvl'/ - DATA IFILV(603),AVBL(603),IQ(603),IS(603),AVBLGRB2(603) & - & /1,'DUST 3 AT FD HEIGHTS',242,103, & - 'DU3 ON spec_alt_above_mean_sea_lvl'/ - DATA IFILV(604),AVBL(604),IQ(604),IS(604),AVBLGRB2(604) & - & /1,'DUST 4 AT FD HEIGHTS',243,103, & - 'DU4 ON spec_alt_above_mean_sea_lvl'/ - DATA IFILV(605),AVBL(605),IQ(605),IS(605),AVBLGRB2(605) & - & /1,'DUST 5 AT FD HEIGHTS',244,103, & - 'DU5 ON spec_alt_above_mean_sea_lvl'/ -! ADD AEROSOL OPTICAL PROPERTIES (GOCART) - DATA IFILV(606),AVBL(606),IQ(606),IS(606),AVBLGRB2(606) & - & /1,'AEROSOL EXTINCTION ',128,109, & - 'Aerosol extinction coefficient '/ - DATA IFILV(607),AVBL(607),IQ(607),IS(607),AVBLGRB2(607) & - & /1,'AER ASYMMETRY FACTOR',130,109, & - 'Aerosol asymmetry factor '/ - DATA IFILV(608),AVBL(608),IQ(608),IS(608),AVBLGRB2(608) & - & /1,'SINGLE SCATTER ALBD ',131,109, & - 'Aerosol single scatter albedo '/ -! ADD AEROSOL OPTICAL DEPTH AT 550 NM (GOCART) - DATA IFILV(609),AVBL(609),IQ(609),IS(609),AVBLGRB2(609) & - & /1,'AER OPT DEP AT 550 ',129,200, & - 'Total aerosol optical depth at 550'/ - DATA IFILV(610),AVBL(610),IQ(610),IS(610),AVBLGRB2(610) & - & /1,'DU AER OPT DEP 550 ',133,200, & - 'Dust aerosol optical depth at 550 '/ - DATA IFILV(611),AVBL(611),IQ(611),IS(611),AVBLGRB2(611) & - & /1,'SS AER OPT DEP 550 ',134,200, & - 'Seasalt aer optical depth at 550 '/ - DATA IFILV(612),AVBL(612),IQ(612),IS(612),AVBLGRB2(612) & - & /1,'SU AER OPT DEP 550 ',135,200, & - 'Sulfate aer optical depth at 550 '/ - DATA IFILV(613),AVBL(613),IQ(613),IS(613),AVBLGRB2(613) & - & /1,'OC AER OPT DEP 550 ',136,200, & - 'Organic carbon aer opt dep at 550 '/ - DATA IFILV(614),AVBL(614),IQ(614),IS(614),AVBLGRB2(614) & - & /1,'BC AER OPT DEP 550 ',137,200, & - 'Black carbon aer opt dep at 550 '/ -! ADD BC, OC, SULF AEROSOL COLUMN MASS DENSITY (GOCART) - DATA IFILV(616),AVBL(616),IQ(616),IS(616),AVBLGRB2(616) & - & /1,'BC COL MASS DEN ',151,200, & - 'fine bc col mass density '/ - DATA IFILV(617),AVBL(617),IQ(617),IS(617),AVBLGRB2(617) & - & /1,'OC COL MASS DEN ',152,200, & - 'fine oc col mass density '/ - DATA IFILV(618),AVBL(618),IQ(618),IS(618),AVBLGRB2(618) & - & /1,'SULF COL MASS DEN ',153,200, & - 'fine sulf col mass density '/ -! ADD AEROSOL SURFACE MASS CONCENTRATION (GOCART), use table 129 - DATA IFILV(619),AVBL(619),IQ(619),IS(619),AVBLGRB2(619) & - & /1,'PM10 SFC MASS CON ',154,001, & - 'coarse sfc mass concentration '/ - DATA IFILV(620),AVBL(620),IQ(620),IS(620),AVBLGRB2(620) & - & /1,'PM25 SFC MASS CON ',155,001, & - 'fine sfc mass concentration '/ -! ADD PM10 and PM25 AEROSOL COLUMN MASS DENSITY (GOCART) - DATA IFILV(621),AVBL(621),IQ(621),IS(621),AVBLGRB2(621) & - & /1,'PM10 COL MASS DEN ',156,200, & - 'coarse aerosol col mass density '/ - DATA IFILV(622),AVBL(622),IQ(622),IS(622),AVBLGRB2(622) & - & /1,'PM25 COL MASS DEN ',157,200, & - 'fine aerosol col mass density '/ -! ADD AEROSOL OPTICAL DEPTH AT OTHER CHANNELS (GOCART) - DATA IFILV(623),AVBL(623),IQ(623),IS(623),AVBLGRB2(623) & - & /1,'AER OPT DEP AT 340 ',129,200, & - 'Total aerosol optical depth at 340'/ - DATA IFILV(624),AVBL(624),IQ(624),IS(624),AVBLGRB2(624) & - & /1,'AER OPT DEP AT 440 ',129,200, & - 'Total aerosol optical depth at 440'/ - DATA IFILV(625),AVBL(625),IQ(625),IS(625),AVBLGRB2(625) & - & /1,'AER OPT DEP AT 660 ',129,200, & - 'Total aerosol optical depth at 660'/ - DATA IFILV(626),AVBL(626),IQ(626),IS(626),AVBLGRB2(626) & - & /1,'AER OPT DEP AT 860 ',129,200, & - 'Total aerosol optical depth at 860'/ - DATA IFILV(627),AVBL(627),IQ(627),IS(627),AVBLGRB2(627) & - & /1,'AER OPT DEP AT 1630 ',129,200, & - 'Total aer optical depth at 1630 '/ - DATA IFILV(628),AVBL(628),IQ(628),IS(628),AVBLGRB2(628) & - & /1,'AER OPT DEP AT 11100',129,200, & - 'Total aer optical dep at 11 micron'/ -! ADD DUST FIELDS ON MDL SFCS (GOCART) - DATA IFILV(629),AVBL(629),IQ(629),IS(629),AVBLGRB2(629) & - & /1,'DUST 1 ON MDL SFCS ',240,109, & - & 'DU1 ON hybrid_lvl'/ - DATA IFILV(630),AVBL(630),IQ(630),IS(630),AVBLGRB2(630) & - & /1,'DUST 2 ON MDL SFCS ',241,109, & - & 'DU2 ON hybrid_lvl'/ - DATA IFILV(631),AVBL(631),IQ(631),IS(631),AVBLGRB2(631) & - & /1,'DUST 3 ON MDL SFCS ',242,109, & - & 'DU3 ON hybrid_lvl'/ - DATA IFILV(632),AVBL(632),IQ(632),IS(632),AVBLGRB2(632) & - & /1,'DUST 4 ON MDL SFCS ',243,109, & - & 'DU4 ON hybrid_lvl'/ - DATA IFILV(633),AVBL(633),IQ(633),IS(633),AVBLGRB2(633) & - & /1,'DUST 5 ON MDL SFCS ',244,109, & - & 'DU5 ON hybrid_lvl'/ -! ADD NON-DUST AEROSOL FIELDS ON MDL SFCS (GOCART) - DATA IFILV(634),AVBL(634),IQ(634),IS(634),AVBLGRB2(634) & - & /1,'SEASALT 1 ON MDL SFC',245,109, & - & 'SS1 ON hybrid_lvl'/ - DATA IFILV(635),AVBL(635),IQ(635),IS(635),AVBLGRB2(635) & - & /1,'SEASALT 2 ON MDL SFC',246,109, & - & 'SS2 ON hybrid_lvl'/ - DATA IFILV(636),AVBL(636),IQ(636),IS(636),AVBLGRB2(636) & - & /1,'SEASALT 3 ON MDL SFC',247,109, & - & 'SS3 ON hybrid_lvl'/ - DATA IFILV(637),AVBL(637),IQ(637),IS(637),AVBLGRB2(637) & - & /1,'SEASALT 4 ON MDL SFC',248,109, & - & 'SS4 ON hybrid_lvl'/ - DATA IFILV(638),AVBL(638),IQ(638),IS(638),AVBLGRB2(638) & - & /1,'SEASALT 5 ON MDL SFC',253,109, & - & 'SS5 ON hybrid_lvl'/ - DATA IFILV(639),AVBL(639),IQ(639),IS(639),AVBLGRB2(639) & - & /1,'SULFATE ON MDL SFC ',254,109, & - & 'SO4 ON hybrid_lvl'/ - DATA IFILV(640),AVBL(640),IQ(640),IS(640),AVBLGRB2(640) & - & /1,'OC DRY ON MDL SFC ',249,109, & - & 'OC_DRY hybrid_lvl'/ - DATA IFILV(641),AVBL(641),IQ(641),IS(641),AVBLGRB2(641) & - & /1,'OC WET ON MDL SFC ',250,109, & - & 'OC_WET hybrid_lvl'/ - DATA IFILV(642),AVBL(642),IQ(642),IS(642),AVBLGRB2(642) & - & /1,'BC DRY ON MDL SFC ',251,109, & - & 'BC_DRY hybrid_lvl'/ - DATA IFILV(643),AVBL(643),IQ(643),IS(643),AVBLGRB2(643) & - & /1,'BC WET ON MDL SFC ',252,109, & - & 'BC_WET hybrid_lvl'/ -! ADD AIR DENSITY AND LAYER THICKNESS - DATA IFILV(644),AVBL(644),IQ(644),IS(644),AVBLGRB2(644) & - & /1,'AIR DEN ON MDL SFCS ',189,109, & - & 'AIRDEN hybrid_lvl'/ - DATA IFILV(645),AVBL(645),IQ(645),IS(645),AVBLGRB2(645) & - & /1,'DPRES ON MDL SFCS ',1,110, & - & 'DPRES hybrid_lvl '/ -! ADD OTHER PM2.5 AEROSOL COLUMN MASS DENSITY (GOCART) - DATA IFILV(646),AVBL(646),IQ(646),IS(646),AVBLGRB2(646) & - & /1,'DUST COL MASS DEN ',159,200, & - 'fine dust col mass density '/ - DATA IFILV(647),AVBL(647),IQ(647),IS(647),AVBLGRB2(647) & - & /1,'SEAS COL MASS DEN ',160,200, & - 'fine seas col mass density '/ - DATA IFILV(648),AVBL(648),IQ(648),IS(648),AVBLGRB2(648) & - & /1,'SINGLE SCAT ALBD 340',131,200, & - 'Aer single scatter alb at 340 nm'/ - DATA IFILV(649),AVBL(649),IQ(649),IS(649),AVBLGRB2(649) & - & /1,'AER ASYM FACTOR 340 ',130,200, & - 'Aerosol asymmetry factor at 340 nm'/ -! ADD AEROSOL SCATTERING AOT - DATA IFILV(650),AVBL(650),IQ(650),IS(650),AVBLGRB2(650) & - & /1,'AER SCAT OPT DEP 550',129,200, & - 'Total scat aer opt dep at 550 nm'/ - DATA IFILV(651),AVBL(651),IQ(651),IS(651),AVBLGRB2(651) & - & /1,'DU SCAT OPT DEP 550 ',129,200, & - 'DUST scat aer opt dep at 550 nm'/ - DATA IFILV(652),AVBL(652),IQ(652),IS(652),AVBLGRB2(652) & - & /1,'SS SCAT OPT DEP 550 ',129,200, & - 'SALT scat aer opt dep at 550 nm'/ - DATA IFILV(653),AVBL(653),IQ(653),IS(653),AVBLGRB2(653) & - & /1,'SU SCAT OPT DEP 550 ',129,200, & - 'SUSO scat aer opt dep at 550 nm'/ - DATA IFILV(654),AVBL(654),IQ(654),IS(654),AVBLGRB2(654) & - & /1,'OC SCAT OPT DEP 550 ',129,200, & - 'WASO scat aer opt dep at 550 nm'/ - DATA IFILV(655),AVBL(655),IQ(655),IS(655),AVBLGRB2(655) & - & /1,'BC SCAT OPT DEP 550 ',129,200, & - 'SOOT scat aer opt dep at 550 nm'/ -! ADD AEROSOL ANGTROM EXPONENT - DATA IFILV(656),AVBL(656),IQ(656),IS(656),AVBLGRB2(656) & - & /1,'ANGSTROM EXP 440_860',255,200, & - 'Angstrom exponent 440-860 nm '/ - -! ADD DUST,SS, OC,BC, SU PRODUCTION AND REMOVAL FLUXES (GOCART) - DATA IFILV(659),AVBL(659),IQ(659),IS(659),AVBLGRB2(659) & - & /1,'DUST EMISSION FLUX ',151,200, & - 'dust emission fluxes '/ - DATA IFILV(660),AVBL(660),IQ(660),IS(660),AVBLGRB2(660) & - & /1,'DUST SEDIMENTATION ',152,200, & - 'dust sedimentation fluxes '/ - DATA IFILV(661),AVBL(661),IQ(661),IS(661),AVBLGRB2(661) & - & /1,'DUST DRY DEPOSITION ',153,200, & - 'dust dry deposition fluxes '/ - DATA IFILV(662),AVBL(662),IQ(662),IS(662),AVBLGRB2(662) & - & /1,'DUST WET DEPOSITION ',154,200, & - 'dust wet deposition fluxes '/ - DATA IFILV(663),AVBL(663),IQ(663),IS(663),AVBLGRB2(663) & - & /1,'SS EMISSION FLUX ',151,200, & - 'seasalt emission fluxes '/ - DATA IFILV(664),AVBL(664),IQ(664),IS(664),AVBLGRB2(664) & - & /1,'SS SEDIMENTATION ',152,200, & - 'seasalt sedimentation fluxes '/ - DATA IFILV(665),AVBL(665),IQ(665),IS(665),AVBLGRB2(665) & - & /1,'SS DRY DEPOSITION ',153,200, & - 'seasalt dry deposition fluxes '/ - DATA IFILV(666),AVBL(666),IQ(666),IS(666),AVBLGRB2(666) & - & /1,'SS WET DEPOSITION ',154,200, & - 'seasalt wet deposition fluxes '/ - DATA IFILV(667),AVBL(667),IQ(667),IS(667),AVBLGRB2(667) & - & /1,'BC EMISSION FLUX ',151,200, & - 'black carbon emission fluxes '/ - DATA IFILV(668),AVBL(668),IQ(668),IS(668),AVBLGRB2(668) & - & /1,'BC SEDIMENTATION ',152,200, & - 'black carbon sedimentation fluxes '/ - DATA IFILV(669),AVBL(669),IQ(669),IS(669),AVBLGRB2(669) & - & /1,'BC DRY DEPOSITION ',153,200, & - 'black carbon dry deposition fluxes'/ - DATA IFILV(670),AVBL(670),IQ(670),IS(670),AVBLGRB2(670) & - & /1,'BC WET DEPOSITION ',154,200, & - 'black carbon wet deposition fluxes'/ - DATA IFILV(671),AVBL(671),IQ(671),IS(671),AVBLGRB2(671) & - & /1,'OC EMISSION FLUX ',151,200, & - 'pom emission fluxes '/ - DATA IFILV(672),AVBL(672),IQ(672),IS(672),AVBLGRB2(672) & - & /1,'OC SEDIMENTATION ',152,200, & - 'pom sedimentation fluxes '/ - DATA IFILV(673),AVBL(673),IQ(673),IS(673),AVBLGRB2(673) & - & /1,'OC DRY DEPOSITION ',153,200, & - 'pom dry deposition fluxes '/ - DATA IFILV(674),AVBL(674),IQ(674),IS(674),AVBLGRB2(674) & - & /1,'OC WET DEPOSITION ',154,200, & - 'pom wet deposition fluxes '/ - DATA IFILV(675),AVBL(675),IQ(675),IS(675),AVBLGRB2(675) & - & /1,'SU EMISSION FLUX ',151,200, & - 'suldate emission fluxes '/ - DATA IFILV(676),AVBL(676),IQ(676),IS(676),AVBLGRB2(676) & - & /1,'SU SEDIMENTATION ',152,200, & - 'sulfate sedimentation fluxes '/ - DATA IFILV(677),AVBL(677),IQ(677),IS(677),AVBLGRB2(677) & - & /1,'SU DRY DEPOSITION ',153,200, & - 'sulfate dry deposition fluxes '/ - DATA IFILV(678),AVBL(678),IQ(678),IS(678),AVBLGRB2(678) & - & /1,'SU WET DEPOSITION ',154,200, & - 'sulfate wet deposition fluxes '/ - DATA IFILV(679),AVBL(679),IQ(679),IS(679),AVBLGRB2(679) & - & /1,'DU SCAVENGING FLUX ',155,200, & - 'dust scavenging fluxes '/ - DATA IFILV(680),AVBL(680),IQ(680),IS(680),AVBLGRB2(680) & - & /1,'SS SCAVENGING FLUX ',156,200, & - 'seasalt scavenging fluxes '/ - DATA IFILV(681),AVBL(681),IQ(681),IS(681),AVBLGRB2(681) & - & /1,'BC SCAVENGING FLUX ',157,200, & - 'black carbon scavenging fluxes '/ - DATA IFILV(682),AVBL(682),IQ(682),IS(682),AVBLGRB2(682) & - & /1,'OC SCAVENGING FLUX ',158,200, & - 'organic carbon scavenging fluxes '/ -! DATA IFILV(683),AVBL(683),IQ(683),IS(683),AVBLGRB2(683) & -! & /1,'SS CR SFC MASS CON ',159,200, & -! 'seasalt cr sfc mass concentration '/ - DATA IFILV(684),AVBL(684),IQ(684),IS(684),AVBLGRB2(684) & - & /1,'SEAS25 SFC MASS CON ',159,200, & - 'seas pm25 sfc mass concentration '/ -! DATA IFILV(685),AVBL(685),IQ(685),IS(685),AVBLGRB2(685) & -! & /1,'DU CR SFC MASS CON ',160,001, & -! 'dust cr sfc mass con '/ - DATA IFILV(686),AVBL(686),IQ(686),IS(686),AVBLGRB2(686) & - & /1,'DUST25 SFC MASS CON ',161,001, & - 'dust pm25 sfc mass con '/ - DATA IFILV(687),AVBL(687),IQ(687),IS(687),AVBLGRB2(687) & - & /1,'BC SFC MASS CON ',162,001, & - 'black carbon sfc mass con '/ - DATA IFILV(688),AVBL(688),IQ(688),IS(688),AVBLGRB2(688) & - & /1,'OC SFC MASS CON ',163,001, & - 'organic carbon sfc mass con '/ - DATA IFILV(689),AVBL(689),IQ(689),IS(689),AVBLGRB2(689) & - & /1,'SU SFC MASS CON ',164,001, & - 'sulfate sfc mass con '/ - DATA IFILV(690),AVBL(690),IQ(690),IS(690),AVBLGRB2(690) & - & /1,'INST SU SFC MASS CON',164,001, & - 'instn sulfate sfc mass con '/ - DATA IFILV(691),AVBL(691),IQ(691),IS(691),AVBLGRB2(691) & - & /1,'INST OC SFC MASS CON',164,001, & - 'instn organic carbon sfc mass con '/ - DATA IFILV(692),AVBL(692),IQ(692),IS(692),AVBLGRB2(692) & - & /1,'INST BC SFC MASS CON',164,001, & - 'instn black carbon sfc mass con '/ - DATA IFILV(693),AVBL(693),IQ(693),IS(693),AVBLGRB2(693) & - & /1,'INST DU CR SMASS ',164,001, & - 'instn du coarse mode sfc mass con '/ - DATA IFILV(694),AVBL(694),IQ(694),IS(694),AVBLGRB2(694) & - & /1,'INST DU FN SMASS ',164,001, & - 'instn du fine mode sfc mass con '/ - DATA IFILV(695),AVBL(695),IQ(695),IS(695),AVBLGRB2(695) & - & /1,'INST SS CR SMASS ',164,001, & - 'instn ss coarse mode sfc mass con '/ - DATA IFILV(696),AVBL(696),IQ(696),IS(696),AVBLGRB2(696) & - & /1,'INST SS FN SMASS ',164,001, & - 'instn ss fine mode sfc mass con '/ - DATA IFILV(697),AVBL(697),IQ(697),IS(697),AVBLGRB2(697) & - & /1,'INST AER CR SMASS ',164,001, & - 'instn aer coarse mode sfc mass con'/ - DATA IFILV(698),AVBL(698),IQ(698),IS(698),AVBLGRB2(698) & - & /1,'INST AER FN SMASS ',164,001, & - 'instn aer fine mode sfc mass con '/ - DATA IFILV(711),AVBL(711),IQ(711),IS(711),AVBLGRB2(711) & - & /1,'GSD CLD BOT HEIGHT ',007,002, & - & 'GSD HGT ON cloud_base'/ -! Reserving Index 601-700 for GOCART -! - -! Reserve index 700-799 for GSD -! Chuang: remove DUST 1-5 output from GSD because GOCART also outputs -! the same variables above - DATA IFILV(771),AVBL(771),IQ(771),IS(771),AVBLGRB2(771) & - & /1,'FIRST LEVEL DEWPOINT',017,105, & - & 'DPT ON spec_hgt_lvl_above_grnd'/ - -! GSD HRRR-CHEM output - DATA IFILV(720),AVBL(720),IQ(720),IS(720),AVBLGRB2(720) & - & /1,'PM 2.5 ON MDL SFCS ',240,107, & - & 'PM 2.5 ON MDL SFCS '/ - DATA IFILV(721),AVBL(721),IQ(721),IS(721),AVBLGRB2(721) & - & /1,'PM 10 ON MDL SFCS ',241,107, & - & 'PM 10 ON MDL SFCS '/ - DATA IFILV(722),AVBL(722),IQ(722),IS(722),AVBLGRB2(722) & - & /1,'SO2 ON MDL SFCS ',242,107, & - & 'SO2 ON MDL SFCS '/ - DATA IFILV(723),AVBL(723),IQ(723),IS(723),AVBLGRB2(723) & - & /1,'PM 2.5 ON P SFCS ',240,100, & - & 'PM 2.5 ON MDL SFCS '/ -! no entry in GRIB table for NCLOUD use 147 - Zonal flux of gravity wave stress - DATA IFILV(747),AVBL(747),IQ(747),IS(747),AVBLGRB2(747) & - & /1,'NCCLOUD ON MDL SFCS ',147,109, & - & 'NCCLOUD ON MDL SFCS '/ - DATA IFILV(750),AVBL(750),IQ(750),IS(750),AVBLGRB2(750) & - & /1,'WV MIX R ON MDL SFCS',053,109, & - & 'WV MIX R ON MDL SFCS'/ - DATA IFILV(751),AVBL(751),IQ(751),IS(751),AVBLGRB2(751) & - & /1,'VP TEMP ON MDL SFCS ',189,109, & - & 'VP TEMP ON MDL SFCS '/ - DATA IFILV(752),AVBL(752),IQ(752),IS(752),AVBLGRB2(752) & - & /1,'NCICE ON MDL SFCS ',198,109, & - & 'NCICE ON MDL SFCS '/ - -! no entry in GRIB table for NRAIN, use 148 - Meridional flux of gravity wave stress - DATA IFILV(754),AVBL(754),IQ(754),IS(754),AVBLGRB2(754) & - & /1,'NCRAIN ON MDL SFCS ',148,109, & - & 'NCRAIN ON MDL SFCS '/ -! water friendly aerosol: entry 157, Table 129 - DATA IFILV(766),AVBL(766),IQ(766),IS(766),AVBLGRB2(766) & - & /1,'NWFA ON MDL SFCS ',157,109, & - & 'NWFA ON MDL SFCS '/ -! ice friendly aerosol: entry 156, Table 129 - DATA IFILV(767),AVBL(767),IQ(767),IS(767),AVBLGRB2(767) & - & /1,'NIFA ON MDL SFCS ',156,109, & - & 'NIFA ON MDL SFCS '/ - -! --- - DATA IFILV(546),AVBL(546),IQ(546),IS(546),AVBLGRB2(546) & - & /1,'SHELTER POT TEMP ',013,105, & - & 'SHELTER POT TEMP '/ - DATA IFILV(547),AVBL(547),IQ(547),IS(547),AVBLGRB2(547) & - & /1,'SHELTER DEWP DEPRES ',018,105, & - & 'SHELTER DEWP DEPRES '/ - DATA IFILV(548),AVBL(548),IQ(548),IS(548),AVBLGRB2(548) & - & /1,'SURFACE EQ POT TEMP ',014,001, & - & 'SURFACE EQ POT TEMP '/ - DATA IFILV(755),AVBL(755),IQ(755),IS(755),AVBLGRB2(755) & - & /1,'EQUIL LEVEL HEIGHT ',007,247, & - & 'EQUIL LEVEL HEIGHT '/ - DATA IFILV(753),AVBL(753),IQ(753),IS(753),AVBLGRB2(753) & - & /1,'PRESSURE OF FRZ LVL ',001,004, & - & 'PRESSURE OF FRZ LVL '/ - DATA IFILV(756),AVBL(756),IQ(756),IS(756),AVBLGRB2(756) & - & /1,'HIGHEST FRZ LVL PRES',001,204, & - & 'HIGHEST FRZ LVL PRES'/ - DATA IFILV(700),AVBL(700),IQ(700),IS(700),AVBLGRB2(700) & - & /1,'MAX UPDR HELICITY16 ',216,106, & - & 'MAX UPDR HELICITY16 '/ - DATA IFILV(701),AVBL(701),IQ(701),IS(701),AVBLGRB2(701) & - & /1,'UPDRAFT HELICITY16 ',214,106, & - & 'UPDRAFT HELICITY16 '/ - DATA IFILV(702),AVBL(702),IQ(702),IS(702),AVBLGRB2(702) & - & /1,'MAX LTG THREAT1 ',188,200, & - & 'MAX LTG THREAT1 '/ - DATA IFILV(703),AVBL(703),IQ(703),IS(703),AVBLGRB2(703) & - & /1,'MAX LTG THREAT2 ',186,200, & - & 'MAX LTG THREAT2 '/ - DATA IFILV(704),AVBL(704),IQ(704),IS(704),AVBLGRB2(704) & - & /1,'MAX LTG THREAT3 ',187,200, & - & 'MAX LTG THREAT3 '/ - DATA IFILV(705),AVBL(705),IQ(705),IS(705),AVBLGRB2(705) & - & /1,'NCI_LTG ',241,200, & - & 'NCI_LTG '/ - DATA IFILV(706),AVBL(706),IQ(706),IS(706),AVBLGRB2(706) & - & /1,'NCA_LTG ',242,200, & - & 'NCA_LTG '/ - DATA IFILV(707),AVBL(707),IQ(707),IS(707),AVBLGRB2(707) & - & /1,'NCI_WQ ',243,200, & - & 'NCI_WQ '/ - DATA IFILV(708),AVBL(708),IQ(708),IS(708),AVBLGRB2(708) & - & /1,'NCA_WQ ',244,200, & - & 'NCA_WQ '/ - DATA IFILV(709),AVBL(709),IQ(709),IS(709),AVBLGRB2(709) & - & /1,'NCI_REFL ',245,200, & - & 'NCI_REFL '/ - DATA IFILV(710),AVBL(710),IQ(710),IS(710),AVBLGRB2(710) & - & /1,'NCA_REFL ',246,200, & - & 'NCA_REFL '/ - -! Add variables to produce the same output as in RUC - DATA IFILV(749),AVBL(749),IQ(749),IS(749),AVBLGRB2(749) & - & /1,'RH WRT PRECIP WATER ',230,200, & - & 'RH WRT PRECIP WATER '/ - DATA IFILV(748),AVBL(748),IQ(748),IS(748),AVBLGRB2(748) & - & /1,'RADAR REFLECT - 1km ',211,105, & - & 'RADAR REFLECT - 1km '/ - DATA IFILV(757),AVBL(757),IQ(757),IS(757),AVBLGRB2(757) & - & /1,'RADAR REFLECT - 4km ',211,105, & - & 'RADAR REFLECT - 4km '/ - DATA IFILV(758),AVBL(758),IQ(758),IS(758),AVBLGRB2(758) & - & /1,'CONV CLD TOP HGHT ',007,243, & - & 'CONV CLD TOP HGHT '/ - DATA IFILV(760),AVBL(760),IQ(760),IS(760),AVBLGRB2(760) & - & /1,'SHELTER MIXING RATIO',053,105, & - & 'SHELTER MIXING RATIO'/ - DATA IFILV(762),AVBL(762),IQ(762),IS(762),AVBLGRB2(762) & - & /1,'SURFACE MIXING RATIO',053,001, & - & 'SURFACE MIXING RATIO'/ - DATA IFILV(761),AVBL(761),IQ(761),IS(761),AVBLGRB2(761) & - & /1,'TEMP INSIDE SNOW ',011,001, & - & 'TEMP INSIDE SNOW '/ - DATA IFILV(763),AVBL(763),IQ(763),IS(763),AVBLGRB2(763) & - & /1,'MIXING LAYER MIXING RATIO',053,001,& - & 'MIXING LAYER MIXING RATIO'/ -! CRA Add variables to produce NCAR fields - DATA IFILV(768),AVBL(768),IQ(768),IS(768),AVBLGRB2(768) & - & /1,'ECHOTOP ',240,200, & - & 'ECHOTOP '/ - DATA IFILV(769),AVBL(769),IQ(769),IS(769),AVBLGRB2(769) & - & /1,'VIL ',206,200, & - & 'VIL '/ - DATA IFILV(770),AVBL(770),IQ(770),IS(770),AVBLGRB2(770) & - & /1,'RADARVIL ',206,200, & - & 'RADARVIL '/ - DATA IFILV(727),AVBL(727),IQ(727),IS(727),AVBLGRB2(727) & - & /1,'GSD UPDRAFT HELICITY',227,106, & - & 'GSD UPHL ON spec_hgt_lvl_above_grnd'/ -! CRA -! CRA -! RAP/HRRR Time-averaged variables - DATA IFILV(730),AVBL(730),IQ(730),IS(730),AVBLGRB2(730) & - & /1,'AVE 10m WIND SPEED ',229,105, & - & 'AVE WIND ON 10M spec_hgt_lvl_above_grnd'/ !422 - DATA IFILV(731),AVBL(731),IQ(731),IS(731),AVBLGRB2(731) & - & /1,'AVE 10m U ',229,105, & - & 'AVE WIND ON 10M spec_hgt_lvl_above_grnd'/ !422 - DATA IFILV(732),AVBL(732),IQ(732),IS(732),AVBLGRB2(732) & - & /1,'AVE 10m V ',229,105, & - & 'AVE WIND ON 10M spec_hgt_lvl_above_grnd'/ !422 - DATA IFILV(733),AVBL(733),IQ(733),IS(733),AVBLGRB2(733) & - & /1,'AVE INCOMING SW RAD ',204,001, & - & 'AVE NSWRF ON surface'/ - DATA IFILV(734),AVBL(734),IQ(734),IS(734),AVBLGRB2(734) & - & /1,'AVE NORMAL SW RAD ',254,001, & - & 'AVE NSWRF ON surface'/ -! E. James -! 15 Jun 2016 -! Adding vertically-integrated smoke AOD - DATA IFILV(735),AVBL(735),IQ(735),IS(735),AVBLGRB2(735) & - & /1,'VRTCLY INTGRTD AOD ',129,200, & - & 'AOD ON entire_atmos_single_lyr'/ -! Adding vertically-integrated smoke variable - DATA IFILV(736),AVBL(736),IQ(736),IS(736),AVBLGRB2(736) & - & /1,'VRTCLY INTGRTD SMOKE',237,200, & - & 'SMOKE ON entire_atmos_single_lyr'/ -! Adding smoke variable on mdl surfaces - DATA IFILV(737),AVBL(737),IQ(737),IS(737),AVBLGRB2(737) & - & /1,'SMOKE ON MDL SURFCS ',203,109, & - & 'SM1 ON hybrid_lvl'/ -! Adding smoke variable on p surfaces - DATA IFILV(738),AVBL(738),IQ(738),IS(738),AVBLGRB2(738) & - & /1,'SMOKE ON P SURFCS ',203,100, & - & 'SM1 ON isobaric_sfc'/ -! Adding lowest model level smoke - DATA IFILV(739),AVBL(739),IQ(739),IS(739),AVBLGRB2(739) & - & /1,'SMOKE NEAR SURFACE ',203,105, & - & 'SM1 ON spec_hgt_lvl_above_grnd'/ -! Adding mean fire radiative power - DATA IFILV(740),AVBL(740),IQ(740),IS(740),AVBLGRB2(740) & - & /1,'MEAN FIRE RDIATV PWR',164,001, & - & 'MEAN FIRE RADIATIVE POWER ON surface'/ -! E. James -! 28 Mar 2016 -! Adding clear-sky surface up and downwelling short and longwave irradiance - DATA IFILV(742),AVBL(742),IQ(742),IS(742),AVBLGRB2(742) & - & /1,'INSTN CLRSKY SHWV DN',161,001, & - & 'INST SWDNBC ON surface'/ - DATA IFILV(743),AVBL(743),IQ(743),IS(743),AVBLGRB2(743) & - & /1,'INSTN CLRSKY SHWV UP',160,001, & - & 'INST SWUPBC ON surface'/ - DATA IFILV(744),AVBL(744),IQ(744),IS(744),AVBLGRB2(744) & - & /1,'INSTN CLRSKY LGWV DN',163,001, & - & 'INST LWDNBC ON surface'/ - DATA IFILV(745),AVBL(745),IQ(745),IS(745),AVBLGRB2(745) & - & /1,'INSTN CLRSKY LGWV UP',162,001, & - & 'INST LWUPBC ON surface'/ -! E. James -! 11 May 2015 -! Adding instantaneous direct normal and diffuse horizontal irradiance - DATA IFILV(772),AVBL(772),IQ(772),IS(772),AVBLGRB2(772) & - & /1,'INSTN DIR NOR IRRAD ',166,001, & - & 'INST SWDDNI ON surface'/ - DATA IFILV(773),AVBL(773),IQ(773),IS(773),AVBLGRB2(773) & - & /1,'INSTN DIF HOR IRRAD ',167,001, & - & 'INST SWDDIF ON surface'/ -! -! satellite index 800-899 - -! 2014-12-09 WM LEWIS ADDED SSMI_F13-F15, SSMIS_F16-F20 -! WITH LVLS-DRIVEN CONTROL OF CHANNEL SELECTION -! SSMI_F13 (L(1)-L(6) -> ID8: 176-181 -> 19H, 19V, 37H, 37V, 85H, 85V) - DATA IFILV(800),AVBL(800),IQ(800),IS(800),AVBLGRB2(800) & - & /1,'F13 SSMI NON-NADIR ',118,109, & - & 'SSMI TB top_of_atmos '/ !table 133 - -! SSMI_F14 (L(1)-L(6) -> ID8: 182-187 -> 19H, 19V, 37H, 37V, 85H, 85V) - DATA IFILV(806),AVBL(806),IQ(806),IS(806),AVBLGRB2(806) & - & /1,'F14 SSMI NON-NADIR ',118,109, & - & 'SSMI TB top_of_atmos '/ !table 133 - -! SSMI_F15 (L(1)-L(6) -> ID8: 188-193 -> 19H, 19V, 37H, 37V, 85H, 85V) - DATA IFILV(812),AVBL(812),IQ(812),IS(812),AVBLGRB2(812) & - & /1,'F15 SSMI NON-NADIR ',118,109, & - & 'SSMI TB top_of_atmos '/ !table 133 - -! SSMIS_F16 (L(1)-L(7) -> ID8: 194-200 -> 183H, 19H, 19V, 37H, 37V, 85H, 85V) - DATA IFILV(818),AVBL(818),IQ(818),IS(818),AVBLGRB2(818) & - & /1,'F16 SSMIS NON-NADIR ',118,109, & - & 'SSMIS TB top_of_atmos '/ !table 133 - -! SSMIS_F17 (SSMIS_F17 (CH15:37H, CH16:37V, CH17:91H, CH18:91V)) - DATA IFILV(825),AVBL(825),IQ(825),IS(825),AVBLGRB2(825) & - & /1,'F17 SSMIS CH15 NON-NADIR ',118,109, & - & 'SSMIS TB top_of_atmos '/ !table 133 - DATA IFILV(826),AVBL(826),IQ(826),IS(826),AVBLGRB2(826) & - & /1,'F17 SSMIS CH16 NON-NADIR ',118,109, & - & 'SSMIS TB top_of_atmos '/ !table 133 - DATA IFILV(827),AVBL(827),IQ(827),IS(827),AVBLGRB2(827) & - & /1,'F17 SSMIS CH17 NON-NADIR ',118,109, & - & 'SSMIS TB top_of_atmos '/ !table 133 - DATA IFILV(828),AVBL(828),IQ(828),IS(828),AVBLGRB2(828) & - & /1,'F17 SSMIS CH18 NON-NADIR ',118,109, & - & 'SSMIS TB top_of_atmos '/ !table 133 - -! SSMIS_F18 (L(1)-L(7) -> ID8: 208-214 -> 183H, 19H, 19V, 37H, 37V, 85H, 85V) - DATA IFILV(832),AVBL(832),IQ(832),IS(832),AVBLGRB2(832) & - & /1,'F18 SSMIS NON-NADIR ',118,109, & - & 'SSMIS TB top_of_atmos '/ !table 133 - -! SSMIS_F19 (L(1)-L(7) -> ID8: 215-221 -> 183H, 19H, 19V, 37H, 37V, 85H, 85V) - DATA IFILV(839),AVBL(839),IQ(839),IS(839),AVBLGRB2(839) & - & /1,'F19 SSMIS NON-NADIR ',118,109, & - & 'SSMIS TB top_of_atmos '/ !table 133 - -! SSMIS_F20 (L(1)-L(7) -> ID8: 222-228 -> 183H, 19H, 19V, 37H, 37V, 85H, 85V) - DATA IFILV(846),AVBL(846),IQ(846),IS(846),AVBLGRB2(846) & - & /1,'F20 SSMIS NON-NADIR ',118,109, & - & 'SSMIS TB top_of_atmos '/ !table 133 - -! Apparent Temperature, -! March 2013: use faked Grib1 and Grib2 IDs -! Sib will no longer support new Grib1 ID and -! is in the process of getting Grib2 ID from WMO. - DATA IFILV(808),AVBL(808),IQ(808),IS(808),AVBLGRB2(808) & - & /1,'APPARENT TEMPERATURE',168,105, & - & 'TIPD ON entire_atmos_single_lyr'/ - -! 2014-12-09 WM LEWIS MODIFIED MTSTAT-2 and MTSAT-1r to COMPLY WITH NEW -! LVLS-DRIVEN CHANNEL SELECTION (L(1)-L(4)> CH1-CH4) -! HWRF satellite additions: MTSAT-2 imager: - DATA IFILV(860),AVBL(860),IQ(860),IS(860),AVBLGRB2(860) & - & /1,'MTSAT2 NON-NADIR ',118,109, & !table 130 - & 'MTSAT2 CH1 NON NAD top_of_atmos'/ - -! LVLS-DRIVEN CHANNEL SELECTION (L(1)-L(4)> CH1-CH4) -! HWRF satellite additions: MTSAT-1r imager (MTSAT-2 backup satellite): - DATA IFILV(864),AVBL(864),IQ(864),IS(864),AVBLGRB2(864) & - & /1,'MTSAT1R NON-NADIR ',118,109, & !table 130 - & 'MTSAT1RCH1 NON NAD top_of_atmos'/ - -! LVLS-DRIVEN CHANNEL SELECTION (L(1)-L(4)> IR CH1-CH4) -! HWRF satellite additions: INSAT-3D imager - DATA IFILV(865),AVBL(865),IQ(865),IS(865),AVBLGRB2(865) & - & /1,'INSAT 3D NON-NADIR ',118,109, & !table 130 - & 'INSAT 3D NON NAD top_of_atmos'/ - -! 2014-12-09 WM LEWIS ADDED GOES-13, GOES-15, MSG-10 -! GOES-13 imager (L(1)-L(4) -> ID8: 237-240 -> CH2, CH3, CH4, CH5) - DATA IFILV(868),AVBL(868),IQ(868),IS(868),AVBLGRB2(868) & - & /1,'GOES-13 NON-NADIR ',118,109, & - & 'GOES-13 IMGR TB TOA '/ !Table 130 - -! GOES-15 imager (L(1)-L(4) -> ID8: 241-244 -> CH2, CH3, CH4, CH5) - DATA IFILV(872),AVBL(872),IQ(872),IS(872),AVBLGRB2(872) & - & /1,'GOES-15 NON-NADIR ',118,109, & - & 'GOES-15 IMGR TB TOA '/ !Table 130 - -! MSG/SEVIRI imager (L(1)-L(7) -> ID8: 230-236 -> -! CH5, CH6, CH7, CH8, CH9, CH10, CH11) - DATA IFILV(876),AVBL(876),IQ(876),IS(876),AVBLGRB2(876) & - & /1,'SEVIRI NON-NADIR ',118,109, & - & 'MSG/SEVIRI TB TOA '/ !Table 130 - -! HWRF additions (900-949) - DATA IFILV(900),AVBL(900),IQ(900),IS(900),AVBLGRB2(900) & - & /1,'MODEL SFC U WIND STR',124,001, & - & 'U_FLX ON surface' / - DATA IFILV(901),AVBL(901),IQ(901),IS(901),AVBLGRB2(901) & - & /1,'MODEL SFC V WIND STR',125,001, & - & 'V_FLX ON surface' / - DATA IFILV(902),AVBL(902),IQ(902),IS(902),AVBLGRB2(902) & - & /1,'INSTN OUT TOA SW RAD',211,008, & - & 'INST USWRF ON top_of_atmos'/ -! HWRF reflectivity output from wrf -! Passed-through wrf derived variable, works for non-ferrier -! physics. -! Use Table 129 (PDS Octet 4 = 129) - DATA IFILV(903),AVBL(903),IQ(903),IS(903),AVBLGRB2(903) & - & /1,'WRFOUT REFL 10CM MDL',211,109, & - & 'WRFOUT REFL 10CM ON model '/ - DATA IFILV(904),AVBL(904),IQ(904),IS(904),AVBLGRB2(904) & - & /1,'WRFOUT COMP MAX REF ',212,200, & - & 'WRFOUT COMP MAX REFLC'/ -! Add Radiation variables output from RRTMG and CAM -! radiation schemes in wrf. (SWUPT,ACSWUPT,SWDNT,ACSWDNT) - DATA IFILV(905),AVBL(905),IQ(905),IS(905),AVBLGRB2(905) & - & /1,'INST SW UP TOA RAD ',211,008, & - & 'INST SW UPWELL RAD top_of_atmos'/ - DATA IFILV(906),AVBL(906),IQ(906),IS(906),AVBLGRB2(906) & - & /1,'AVE SW UP TOA RAD ',211,008, & - & 'AVE SW UPWELL RAD top_of_atmos'/ - DATA IFILV(907),AVBL(907),IQ(907),IS(907),AVBLGRB2(907) & - & /1,'INST SW DOWN TOA RAD',204,008, & - & 'INST SW DOWNWELL RAD top_of_atmos'/ - DATA IFILV(908),AVBL(908),IQ(908),IS(908),AVBLGRB2(908) & - & /1,'AVE SW DOWN TOA RAD ',204,008, & - & 'AVE SW DOWNWELL RAD top_of_atmos'/ - DATA IFILV(909),AVBL(909),IQ(909),IS(909),AVBLGRB2(909) & - & /1,'VTEMP ON MDL SFCS ',012,109, & - & 'VTMP ON hybrid_lvl'/ - DATA IFILV(910),AVBL(910),IQ(910),IS(910),AVBLGRB2(910) & - & /1,'VTEMP ON PRESS SFCS ',012,100, & - & 'VTMP ON isobaric_sfc'/ - DATA IFILV(911),AVBL(911),IQ(911),IS(911),AVBLGRB2(911) & - & /1,'VTEMP AT FD HEIGHTS ',012,103, & - & 'VTMP ON spec_alt_above_mean_sea_lvl'/ -! CD and CH exchange coefficients - DATA IFILV(922),AVBL(922),IQ(922),IS(922),AVBLGRB2(922) & - & /1,'10M DRAG EXCH COEF ',252,105, & !table 2 - & '10M SFC DRAG EXCH COEF CD '/ - DATA IFILV(923),AVBL(923),IQ(923),IS(923),AVBLGRB2(923) & - & /1,'10M HEAT EXCH COEF ',144,105, & !table 128 - & '10M SFC HEAT EXCH COEF CH '/ -! Add GOES-16 & GOES-17 ABI IR Channels 7-16 -! Grib2 defines each channel as a separate output field - DATA IFILV(927),AVBL(927),IQ(927),IS(927),AVBLGRB2(927) & - & /1,'G16 CH7 NON-NADIR ',118,109, & - & 'G16 CH7 ABI TB TOA '/ !Table 130 - - DATA IFILV(928),AVBL(928),IQ(928),IS(928),AVBLGRB2(928) & - & /1,'G16 CH8 NON-NADIR ',118,109, & - & 'G16 CH8 ABI TB TOA '/ !Table 130 - - DATA IFILV(929),AVBL(929),IQ(929),IS(929),AVBLGRB2(929) & - & /1,'G16 CH9 NON-NADIR ',118,109, & - & 'G16 CH9 ABI TB TOA '/ !Table 130 - - DATA IFILV(930),AVBL(930),IQ(930),IS(930),AVBLGRB2(930) & - & /1,'G16 CH10 NON-NADIR ',118,109, & - & 'G16 CH10 ABI TB TOA '/ !Table 130 - - DATA IFILV(931),AVBL(931),IQ(931),IS(931),AVBLGRB2(931) & - & /1,'G16 CH11 NON-NADIR ',118,109, & - & 'G16 CH11 ABI TB TOA '/ !Table 130 - - DATA IFILV(932),AVBL(932),IQ(932),IS(932),AVBLGRB2(932) & - & /1,'G16 CH12 NON-NADIR ',118,109, & - & 'G16 CH12 ABI TB TOA '/ !Table 130 - - DATA IFILV(933),AVBL(933),IQ(933),IS(933),AVBLGRB2(933) & - & /1,'G16 CH13 NON-NADIR ',118,109, & - & 'G16 CH13 ABI TB TOA '/ !Table 130 - - DATA IFILV(934),AVBL(934),IQ(934),IS(934),AVBLGRB2(934) & - & /1,'G16 CH14 NON-NADIR ',118,109, & - & 'G16 CH14 ABI TB TOA '/ !Table 130 - - DATA IFILV(935),AVBL(935),IQ(935),IS(935),AVBLGRB2(935) & - & /1,'G16 CH15 NON-NADIR ',118,109, & - & 'G16 CH15 ABI TB TOA '/ !Table 130 - - DATA IFILV(936),AVBL(936),IQ(936),IS(936),AVBLGRB2(936) & - & /1,'G16 CH16 NON-NADIR ',118,109, & - & 'G16 CH16 ABI TB TOA '/ !Table 130 - - DATA IFILV(937),AVBL(937),IQ(937),IS(937),AVBLGRB2(937) & - & /1,'G17 CH7 NON-NADIR ',118,109, & - & 'G17 CH7 ABI TB TOA '/ !Table 130 - - DATA IFILV(938),AVBL(938),IQ(938),IS(938),AVBLGRB2(938) & - & /1,'G17 CH8 NON-NADIR ',118,109, & - & 'G17 CH8 ABI TB TOA '/ !Table 130 - - DATA IFILV(939),AVBL(939),IQ(939),IS(939),AVBLGRB2(939) & - & /1,'G17 CH9 NON-NADIR ',118,109, & - & 'G17 CH9 ABI TB TOA '/ !Table 130 - - DATA IFILV(940),AVBL(940),IQ(940),IS(940),AVBLGRB2(940) & - & /1,'G17 CH10 NON-NADIR ',118,109, & - & 'G17 CH10 ABI TB TOA '/ !Table 130 - - DATA IFILV(941),AVBL(941),IQ(941),IS(941),AVBLGRB2(941) & - & /1,'G17 CH11 NON-NADIR ',118,109, & - & 'G17 CH11 ABI TB TOA '/ !Table 130 - - DATA IFILV(942),AVBL(942),IQ(942),IS(942),AVBLGRB2(942) & - & /1,'G17 CH12 NON-NADIR ',118,109, & - & 'G17 CH12 ABI TB TOA '/ !Table 130 - - DATA IFILV(943),AVBL(943),IQ(943),IS(943),AVBLGRB2(943) & - & /1,'G17 CH13 NON-NADIR ',118,109, & - & 'G17 CH13 ABI TB TOA '/ !Table 130 - - DATA IFILV(944),AVBL(944),IQ(944),IS(944),AVBLGRB2(944) & - & /1,'G17 CH14 NON-NADIR ',118,109, & - & 'G17 CH14 ABI TB TOA '/ !Table 130 - - DATA IFILV(945),AVBL(945),IQ(945),IS(945),AVBLGRB2(945) & - & /1,'G17 CH15 NON-NADIR ',118,109, & - & 'G17 CH15 ABI TB TOA '/ !Table 130 - - DATA IFILV(946),AVBL(946),IQ(946),IS(946),AVBLGRB2(946) & - & /1,'G17 CH16 NON-NADIR ',118,109, & - & 'G17 CH16 ABI TB TOA '/ !Table 130 - -!-- ADD HRRR CAPE/CIN RELATED VARIABLES - DATA IFILV(950),AVBL(950),IQ(950),IS(950),AVBLGRB2(950) & - & /1,'CAPE 0-3KM ',157,116, & - & 'CAPE ON spec_hgt_above_grnd'/ - DATA IFILV(951),AVBL(951),IQ(951),IS(951),AVBLGRB2(951) & - & /1,'CIN 0-3KM ',156,116, & - & 'CIN ON spec_hgt_above_grnd'/ - DATA IFILV(952),AVBL(952),IQ(952),IS(952),AVBLGRB2(952) & - & /1,'LFC AGL HEIGHT ',007,014, & - & 'HGT ON lvl_of_free_convection'/ - DATA IFILV(953),AVBL(953),IQ(953),IS(953),AVBLGRB2(953) & - & /1,'STORM REL HELICITY ',190,255, & - & 'HLCY ON spec_hgt_lvl_above_grnd'/ - DATA IFILV(954),AVBL(954),IQ(954),IS(954),AVBLGRB2(954) & - & /1,'DOWNDRAFT CAPE ',157,116, & - & 'CAPE ON spec_pres_above_grnd'/ - DATA IFILV(955),AVBL(955),IQ(955),IS(955),AVBLGRB2(955) & - & /1,'DENDRITIC LAYER DEPTH',007,020, & - & 'THICHNESS -12C_-17C_isotherm'/ - DATA IFILV(956),AVBL(956),IQ(956),IS(956),AVBLGRB2(956) & - & /1,'ENHANCED STRETCHING POTENTIAL',157,116,& - & 'ESP ON spec_pres_above_grnd'/ - DATA IFILV(957),AVBL(957),IQ(957),IS(957),AVBLGRB2(957) & - & /1,'CRITICAL ANGLE ',157,116, & - & 'CRITICAL ANGLE ON spec_pres_above_grnd'/ - DATA IFILV(958),AVBL(958),IQ(958),IS(958),AVBLGRB2(958) & - & /1,'GR CH7 NADIR ',118,109, & - & 'GR CH7 ABI TB TOA '/ !Table 130 - - DATA IFILV(959),AVBL(959),IQ(959),IS(959),AVBLGRB2(959) & - & /1,'GR CH8 NADIR ',118,109, & - & 'GR CH8 ABI TB TOA '/ !Table 130 - - DATA IFILV(960),AVBL(960),IQ(960),IS(960),AVBLGRB2(960) & - & /1,'GR CH9 NADIR ',118,109, & - & 'GR CH9 ABI TB TOA '/ !Table 130 - - DATA IFILV(961),AVBL(961),IQ(961),IS(961),AVBLGRB2(961) & - & /1,'GR CH10 NADIR ',118,109, & - & 'GR CH10 ABI TB TOA '/ !Table 130 - - DATA IFILV(962),AVBL(962),IQ(962),IS(962),AVBLGRB2(962) & - & /1,'GR CH11 NADIR ',118,109, & - & 'GR CH11 ABI TB TOA '/ !Table 130 - - DATA IFILV(963),AVBL(963),IQ(963),IS(963),AVBLGRB2(963) & - & /1,'GR CH12 NADIR ',118,109, & - & 'GR CH12 ABI TB TOA '/ !Table 130 - - DATA IFILV(964),AVBL(964),IQ(964),IS(964),AVBLGRB2(964) & - & /1,'GR CH13 NADIR ',118,109, & - & 'GR CH13 ABI TB TOA '/ !Table 130 - - DATA IFILV(965),AVBL(965),IQ(965),IS(965),AVBLGRB2(965) & - & /1,'GR CH14 NADIR ',118,109, & - & 'GR CH14 ABI TB TOA '/ !Table 130 - - DATA IFILV(966),AVBL(966),IQ(966),IS(966),AVBLGRB2(966) & - & /1,'GR CH15 NADIR ',118,109, & - & 'GR CH15 ABI TB TOA '/ !Table 130 - - DATA IFILV(967),AVBL(967),IQ(967),IS(967),AVBLGRB2(967) & - & /1,'GR CH16 NADIR ',118,109, & - & 'GR CH16 ABI TB TOA '/ !Table 130 - DATA IFILV(968),AVBL(968),IQ(968),IS(968),AVBLGRB2(968) & - & /1,'SEA ICE SKI TEMPERATURE ',080,001, & - & 'ICETMP ON surface'/ -! LVLS-DRIVEN CHANNEL SELECTION (L(1)-L(10)> CRTM CH1-CH10 > AHI CH7-16) -! HWRF satellite additions: Himawari-8, replacement for MTSAT-2 - DATA IFILV(969),AVBL(969),IQ(969),IS(969),AVBLGRB2(969) & - & /1,'HIM-8 AHI CH7 NNADR',118,109, & !table 130 - & 'HIM-8 AHI CH7 NON-NADIR BRTEMP'/ - DATA IFILV(970),AVBL(970),IQ(970),IS(970),AVBLGRB2(970) & - & /1,'HIM-8 AHI CH8 NNADR',118,109, & !table 130 - & 'HIM-8 AHI CH8 NON-NADIR BRTEMP'/ - DATA IFILV(971),AVBL(971),IQ(971),IS(971),AVBLGRB2(971) & - & /1,'HIM-8 AHI CH9 NNADR',118,109, & !table 130 - & 'HIM-8 AHI CH9 NON-NADIR BRTEMP'/ - DATA IFILV(972),AVBL(972),IQ(972),IS(972),AVBLGRB2(972) & - & /1,'HIM-8 AHI CH10 NNADR',118,109, & !table 130 - & 'HIM-8 AHI CH10 NON-NADIR BRTEMP'/ - DATA IFILV(973),AVBL(973),IQ(973),IS(973),AVBLGRB2(973) & - & /1,'HIM-8 AHI CH11 NNADR',118,109, & !table 130 - & 'HIM-8 AHI CH11 NON-NADIR BRTEMP'/ - DATA IFILV(974),AVBL(974),IQ(974),IS(974),AVBLGRB2(974) & - & /1,'HIM-8 AHI CH12 NNADR',118,109, & !table 130 - & 'HIM-8 AHI CH12 NON-NADIR BRTEMP'/ - DATA IFILV(975),AVBL(975),IQ(975),IS(975),AVBLGRB2(975) & - & /1,'HIM-8 AHI CH13 NNADR',118,109, & !table 130 - & 'HIM-8 AHI CH13 NON-NADIR BRTEMP'/ - DATA IFILV(976),AVBL(976),IQ(976),IS(976),AVBLGRB2(976) & - & /1,'HIM-8 AHI CH14 NNADR',118,109, & !table 130 - & 'HIM-8 AHI CH14 NON-NADIR BRTEMP'/ - DATA IFILV(977),AVBL(977),IQ(977),IS(977),AVBLGRB2(977) & - & /1,'HIM-8 AHI CH15 NNADR',118,109, & !table 130 - & 'HIM-8 AHI CH15 NON-NADIR BRTEMP'/ - DATA IFILV(978),AVBL(978),IQ(978),IS(978),AVBLGRB2(978) & - & /1,'HIM-8 AHI CH16 NNADR',118,109, & !table 130 - & 'HIM-8 AHI CH16 NON-NADIR BRTEMP'/ - DATA IFILV(979),AVBL(979),IQ(979),IS(979),AVBLGRB2(979) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'EFSH ON effbot_lvl'/ - DATA IFILV(980),AVBL(980),IQ(980),IS(980),AVBLGRB2(980) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'EFSH ON efftop_lvl'/ - DATA IFILV(981),AVBL(981),IQ(981),IS(981),AVBLGRB2(981) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'ELMELT ON effbot_lvl'/ - DATA IFILV(982),AVBL(982),IQ(982),IS(982),AVBLGRB2(982) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'ELMELT ON efftop_lvl'/ - DATA IFILV(983),AVBL(983),IQ(983),IS(983),AVBLGRB2(983) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'ESHR ON effbot_lvl'/ - DATA IFILV(984),AVBL(984),IQ(984),IS(984),AVBLGRB2(984) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'UESH ON effbot_lvl'/ - DATA IFILV(985),AVBL(985),IQ(985),IS(985),AVBLGRB2(985) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'VESH ON effbot_lvl'/ - DATA IFILV(986),AVBL(986),IQ(986),IS(986),AVBLGRB2(986) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'VESH ON effbot_lvl'/ - DATA IFILV(987),AVBL(987),IQ(987),IS(987),AVBLGRB2(987) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'VESH ON effbot_lvl'/ - DATA IFILV(988),AVBL(988),IQ(988),IS(988),AVBLGRB2(988) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'VESH ON effbot_lvl'/ - DATA IFILV(989),AVBL(989),IQ(989),IS(989),AVBLGRB2(989) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'VESH ON effbot_lvl'/ - DATA IFILV(990),AVBL(990),IQ(990),IS(990),AVBLGRB2(990) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'VESH ON effbot_lvl'/ - DATA IFILV(991),AVBL(991),IQ(991),IS(991),AVBLGRB2(991) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'VESH ON effbot_lvl'/ - DATA IFILV(992),AVBL(992),IQ(992),IS(992),AVBLGRB2(992) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'VESH ON effbot_lvl'/ - DATA IFILV(993),AVBL(993),IQ(993),IS(993),AVBLGRB2(993) & - & /1,'EFFECTIVE LEVEL BOT',205,217, & - & 'VESH ON effbot_lvl'/ - -! AQF - DATA IFILV(994),AVBL(994),IQ(994),IS(994), AVBLGRB2(994) & - & /1,'OZCON ',167,109, & - & 'OZCON ON hybrid_lvl'/ - - DATA IFILV(995),AVBL(995),IQ(995),IS(995), AVBLGRB2(995) & - & /1,'PMTF ',167,109, & !table 141 - & 'PM25TOT ON Hybrid level'/ - -!end initialization -! - end module RQSTFLD_mod diff --git a/sorc/ncep_post.fd/RQSTFLD.f b/sorc/ncep_post.fd/RQSTFLD.f new file mode 100644 index 0000000000..9aeb37cde2 --- /dev/null +++ b/sorc/ncep_post.fd/RQSTFLD.f @@ -0,0 +1,46 @@ +!> @file +!> @brief RQSTFLD_mod declares variables related to the number of available fields +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2011-02-06 | Jun Wang | Add grib2 option +!> 2011-10-18 | Sarah Lu | Add GOCART aerosol fields +!> 2011-12-18 | Sarah Lu | Add GOCART aerosol optical properties, mass fields, and production/removal fluxes +!> 2011-12-29 | Sarah Lu | Add GOCART AOD at multiple channels +!> 2012-01-06 | Sarah Lu | Add GOCART SS, OC, BC, SU aerosols +!> 2012-01-07 | Sarah Lu | Add air density and dpres +!> 2012-01-27 | Sarah Lu | Use index 601-700 for GOCART +!> 2012-01-30 | Jun Wang | Add post available fields from xml file for grib2 +!> 2012-05-07 | Tricia Slovacek | Use index 800-899 for satellite use index 900-949 for HWRF +!> 2014-12-09 | William Lewis | Added MSG/SEVIRI imager, GOES-13 and GOES-15 imagers, and completed SSMI and SSMIS (F13-F20) +!> 2019-04-01 | Sharon Nebuda | Added GOES-16 GOES-17 ABI IR Channels 7-16 +!> 2019-04-22 | Wen Meng | Ancreased model MXLVL to 500 +!> 2019-05-08 | Wen Meng | Added continuous accumulated precipitations(417, 418, 419). +!> 2019-09-03 | Jesse Meng | Added cape related variables for hrrr (950-957) +!> 2021-08-31 | Lin Zhu | Added ssmis-f17 channels 15-18 grib2 output +!> 2021-11-03 | Tracy Hertneky | Removed all grib1 settings +!> 2024-07-15 | Wen Meng | Increase DATSET length +!-------------------------------------------------------------------- + module RQSTFLD_mod + + implicit none +! +! increase MXFLD each time you add a new field + INTEGER, PARAMETER :: MXFLD=1200 !< Available model field IDs + INTEGER, PARAMETER :: MXLVL=500 !< Available model levels + + CHARACTER*20 DATSET !< String set in the postcntrl.xml file DATSET parameter +! + LOGICAL RITEHD !< Flag to open new output file +! + integer :: NFLD & !< Number of requested output fields + ,IGET(MXFLD) & !< The "get field" flag array indicating which fields to get + ,LVLS(MXLVL,MXFLD) & !< 2D array of model and field levels + ,IDENT(MXFLD) & !< Array of UPP ID numbers corresponding to the GRIB2 fields produced by UPP + ,IAVBLFLD(MXFLD) & !< _____? + ,ID(25) !< IDs for various GRIB Product Definition Section (PDS) parameters: https://www.nco.ncep.noaa.gov/pmb/docs/on388/section1.html + integer :: num_post_afld !< Number of fields available in post_avblflds.xml _____? + integer,allocatable :: LVLSXML(:,:) !< _____? + + end module RQSTFLD_mod diff --git a/sorc/ncep_post.fd/SCLFLD.f b/sorc/ncep_post.fd/SCLFLD.f index fc4087ea87..5c1fc4091d 100644 --- a/sorc/ncep_post.fd/SCLFLD.f +++ b/sorc/ncep_post.fd/SCLFLD.f @@ -1,48 +1,41 @@ !> @file -! -!> SUBPROGRAM: SCLFLD SCALE ARRAY ELEMENT BY CONSTANT -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-09-13 -!! -!! ABSTRACT: -!! THIS ROUTINE MULTIPLES (SCALES) THE FIRST IMO*JMO -!! ELEMENTS OF ARRAY FLD BY THE REAL SCALAR SCALE. -!! ARRAY ELEMENTS WHICH EQUAL A SPECIAL VALUE WILL -!! NOT BE SCALED BY SCALE. THEY WILL BE LEFT AS IS. -!! THE SPECIAL VALUE, SPVAL, IS PASSED THROUGH COMMON -!! BLOCK OPTIONS. IT IS SET IN INCLUDE FILE OPTIONS. -!! -!! PROGRAM HISTORY LOG: -!! 92-09-13 RUSS TREADON -!! 00-01-04 JIM TUCCILLO -!! -!! USAGE: CALL SCLFLD(FLD,SCALE,IMO,JMO) -!! INPUT ARGUMENT LIST: -!! FLD - ARRAY WHOSE ELEMENTS ARE TO BE SCALED. -!! SCALE - CONSTANT BY WHICH TO SCALE ELEMENTS OF FLD. -!! IMO,JMO - DIMENSION OF ARRAY FLD. -!! -!! OUTPUT ARGUMENT LIST: -!! FLD - ARRAY WHOSE ELEMENTS HAVE BEEN SCALED BY SCALE. -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - OPTIONS -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief sclfld() scale array element by constant. +!> +!> @author Russ Treadon W/NP2 @date 1992-09-13 +!> This routine multiples (scales) the first IMO*JMO +!> elements of array fld by the real scalar scale. +!> Array elements which equal a special value will +!> not be scaled by scale. They will be left as is. +!> The special value, spval, is passed through common +!> block options. It is set in include file options. +!> +!> @param[inout] FLD Array whose elements are to be scaled. +!> @note sclfld() scales FLD array elements by scale before FLD is used as output. +!> @param[in] SCALE Constant by which to scale elements of fld. +!> @param[in] IMO,JMO Dimension of array fld. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-09-13 | Russ Treadon | Initial +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2021-09-29 | JESSE MENG | 2D DECOMPOSITION +!> +!> @author Russ Treadon W/NP2 @date 1992-09-13 +!------------------------------------------------------------- +!> sclfld() scale array element by constant. +!> +!> @param[inout] FLD Array whose elements are to be scaled. +!> @note sclfld() scales FLD array elements by scale before FLD is used as output. +!> @param[in] SCALE Constant by which to scale elements of fld. +!> @param[in] IMO,JMO Dimension of array fld. +!> SUBROUTINE SCLFLD(FLD,SCALE,IMO,JMO) ! ! use params_mod, only: small - use ctlblk_mod, only: jsta, jend, spval + use ctlblk_mod, only: jsta, jend, spval, ista, iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -50,7 +43,7 @@ SUBROUTINE SCLFLD(FLD,SCALE,IMO,JMO) ! integer,intent(in) :: IMO,JMO REAL,intent(in) :: SCALE - REAL,dimension(imo,jmo),intent(inout) :: FLD + REAL,dimension(ista:iend,jsta:jend),intent(inout) :: FLD integer I,J ! ! @@ -61,7 +54,7 @@ SUBROUTINE SCLFLD(FLD,SCALE,IMO,JMO) ! !$omp parallel do DO J=JSTA,JEND - DO I=1,IMO + DO I=ISTA,IEND IF(ABS(FLD(I,J)-SPVAL)>SMALL) FLD(I,J)=SCALE*FLD(I,J) ENDDO ENDDO diff --git a/sorc/ncep_post.fd/SELECT_CHANNELS.f b/sorc/ncep_post.fd/SELECT_CHANNELS.f index f788280440..5d5db03661 100644 --- a/sorc/ncep_post.fd/SELECT_CHANNELS.f +++ b/sorc/ncep_post.fd/SELECT_CHANNELS.f @@ -1,27 +1,28 @@ !> @file -! -!> SELECT_CHANNEL -!! @author HWRF @date 20120927 -!! -!! Verify channel information and print error to output file if -!! detected, finally excuting a program STOP - which may cause -!! a hang condifition if run on multiple processors. -!! If data passed validation the channel indices passed in via -!! the "channels" array are stored in the structure defining -!! the channel object -!! -!! @param[inout] channelinfo - structure defining channel object -!! @param[in] nchannels - number of channels for sensor -!! @param[in] channels -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: NONE -!! -!! LIBRARY: NONE -!! +!> @brief select_channels() verifies channel information. +!> +!> @author HWRF @date 2012-09-27 +!> This subroutine verifies channel information and print error to output file if +!> detected, finally excuting a program STOP - which may cause +!> a hang condifition if run on multiple processors. +!> +!> If data passed validation the channel indices passed in via +!> the "channels" array are stored in the structure defining +!> the channel object. +!> +!> @param[inout] channelinfo Structure defining channel object. +!> @param[in] nchannels Number of channels for sensor. +!> @param[in] channels. +!> +!> @author HWRF @date 2012-09-27 +!---------------------------------------------------------------------- +!> @brief select_channels() verifies channel information; no longer +!> used. Replaced by select_channels_L(). +!> +!> @param[inout] channelinfo Structure defining channel object. +!> @param[in] nchannels integer Number of channels for sensor. +!> @param[in] channels integer array Holds information on available channels. +!> subroutine SELECT_CHANNELS(channelinfo,nchannels,channels) use crtm_channelinfo_define, only: crtm_channelinfo_type @@ -52,6 +53,19 @@ subroutine SELECT_CHANNELS(channelinfo,nchannels,channels) end subroutine SELECT_CHANNELS +!----------------------------------------------------------------------- +!> @brief select_channels_L() verifies channel information. +!> +!> @param[inout] channelinfo Structure defining channel object. +!> @param[in] nchannels integer Number of channels for sensor. +!> @param[in] channels integer array Holds information on available channels. +!> @param L integer array with the same size as the number of channels; +!> if a channel c is requested for output, L[c]==1; +!> if the channel is not requested for output, then L[c]==0. +!> @param igot integer If > 0, then at least 1 channel was requested for that variable, +!> if 0 then no channels were selected for that variable. +!----------------------------------------------------------------------- + subroutine SELECT_CHANNELS_L(channelinfo,nchannels,channels,L,igot) ! 2014-12-09: WM LEWIS ADDED THIS SUBROUTINE TO SELECT CHANNELS diff --git a/sorc/ncep_post.fd/SETUP_SERVERS.f b/sorc/ncep_post.fd/SETUP_SERVERS.f index 9f2a2b0842..8dba44ab6e 100644 --- a/sorc/ncep_post.fd/SETUP_SERVERS.f +++ b/sorc/ncep_post.fd/SETUP_SERVERS.f @@ -1,56 +1,22 @@ !> @file -! . . . -!> SUBROUTINE: SETUP_SERVERS SETUP I/O SERVERS -!! PRGRMMR: TUCCILLO ORG: IBM DATE: 00-03-20 -!! -!! ABSTRACT: SETUP I/O SERVERS -!! -!! PROGRAM HISTORY LOG: -!! 00-03-11 TUCCILLO - ORIGINATOR -!! -!! USAGE: CALL SETUP_SERVERS(MYPE, -!! * NPES, -!! * INUMQ, -!! * MPI_COMM_COMP, -!! * MPI_COMM_INTER) -!! -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! MYPE - MY RANK -!! INUMQ - ARRAY THAT HOLDS THE NUMBER OF SERVERS IN EACH GROUP -!! NPES - NUMBER OF MPI TASKS FOR POSTING -!! MPI_COMM_COMP - THE NEW INTRACOMMUNICATOR FOR ALL TASKS -!! MPI_COMM_INTER - THE INTERCOMMUNICATOR FOR THE I/O SERVERS -!! -!! INPUT FILES: NONE -!! -!! OUTPUT FILES: -!! -!! SUBPROGRAMS CALLED: -!! UNIQUE: -!! PARA_RANGE -!! MPI_INIT -!! MPI_COMM_RANK -!! MPI_COMM_SIZE -!! MPI_COMM_DUP -!! MPI_COMM_SPLIT -!! MPI_COMM_GROUP -!! MPI_GROUP_EXCL -!! MPI_COMM_CREATE -!! MPI_GROUP_FREE -!! MPI_INTERCOMM_CREATE -!! MPI_BARRIER -!! -!! EXIT STATES: -!! COND = 0 - NORMAL EXIT -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : IBM SP -!! -!! +!> @brief setup_servers() setups I/O servers. +!> +!> @author Jim Tuccillo IBM @date 2000-03-20 + +!> This subroutine is to setup I/O servers. +!> +!> @param[out] MYPE My rank. +!> @param[out] INUMQ Array that holds the number of servers in each group. +!> @param[out] NPES Number of MPI tasks for posting. +!> @param[out] MPI_COMM_COMP The new intracommunicator for all tasks. +!> @param[out] MPI_COMM_INTER The intercommunicator for the I/O servers. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2000-03-20 | Jim Tuccillo | Initial +!> +!> @author Jim Tuccillo IBM @date 2000-03-20 SUBROUTINE SETUP_SERVERS(MYPE, & & NPES, & & INUMQ, & @@ -79,9 +45,9 @@ SUBROUTINE SETUP_SERVERS(MYPE, & ! call mpi_init(ierr) call mpi_comm_rank(MPI_COMM_WORLD,mype,ierr) - write(0,*)' mype=',mype,' ierr=',ierr + write(*,*)' mype=',mype,' ierr=',ierr call mpi_comm_size(MPI_COMM_WORLD,npes,ierr) - write(0,*)' npes=',npes,' ierr=',ierr + write(*,*)' npes=',npes,' ierr=',ierr ! ! SPECIFY ONE I/O SERVER AS LONG AS THERE ARE MORE THAN 1 MPI TASK ! @@ -201,7 +167,7 @@ SUBROUTINE SETUP_SERVERS(MYPE, & ! istaxx = iendxx + 1 ! end do end if - print *,'mype=',mype,'icolor=',icolor +! print *,'mype=',mype,'icolor=',icolor ! ! SPLIT THE COMMUNICATOR - THE NEW INTRACOMMUNICATOR FOR ALL TASKS ! IS MPI_COMM_COMP. MPI_COMM_WORLD IS STILL AVAILABLE BUT IT DOES @@ -209,7 +175,7 @@ SUBROUTINE SETUP_SERVERS(MYPE, & ! call mpi_comm_dup(MPI_COMM_WORLD,comdup,ierr) call mpi_comm_split(comdup,icolor,mype,mpi_comm_comp,ierr) - print *,'mype=',mype,'npes=',npes,'after comm split' +! print *,'mype=',mype,'npes=',npes,'after comm split' ! ! AT THIS POINT WE HAVE A NEW COMMUNICATOR, MPI_COMM_COMP, ! THAT CAN BE USED BY THE FORECASTS TASKS AND THE I/O SERVER TASKS diff --git a/sorc/ncep_post.fd/SET_LVLSXML.f b/sorc/ncep_post.fd/SET_LVLSXML.f index ed51e12d17..e5fc212812 100644 --- a/sorc/ncep_post.fd/SET_LVLSXML.f +++ b/sorc/ncep_post.fd/SET_LVLSXML.f @@ -1,53 +1,32 @@ +!> @file +!> @brief SET_LVLSXML() sets field levels (LVLS and LVLSXML) from POST xml CONTROL FILE requested fields +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2012-01-27 | Jun Wang | INITIAL CODE +!> 2012-04-03 | Jun Wang | add SPEC_PRES_ABOVE_GRND for different CAPE/CIN +!> 2013-08-06 | S Moorthi | fix index out of bound after iloop5 +!> 2013-10-03 | Jun Wang | add isentropic levels +!> 2015-03-10 | Lin Gan | Replace XML file with flat file implementation +!> 2016-07-08 | J. Carley | Comment out debug prints +!> 2017-06-01 | Y Mao | For MISCLN.f and FDLVL.f, allow FD levels input from control file +!> 2023-01-24 | Sam Trahan | IFI flight levels and related unit conversions +!--------------------------------------------------------------------------------- +!> @brief Sets field levels (LVLS and LVLSXML) from POST xml CONTROL FILE requested fields +!> @param[inout] param input field +!> @param[in] ifld field number in post control file +!> @param[inout] irec data fields number in output file +!> @param[in] kpv total number of potential vorticity levels +!> @param[in] pv potential vorticity levels +!> @param[in] kth total number of isentropic levels +!> @param[th] th isentropic levels subroutine SET_LVLSXML(param,ifld,irec,kpv,pv,kth,th) -! -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: SET_LVLCXML SET field levels from POST xml CONTROL FILE -! PRGRMMR: J. WANG ORG: NCEP/EMC DATE: 12-01-27 -! -! ABSTRACT: -! THIS ROUTINE SET THE LVLS and LVLSXML for contain request field. -! -! PROGRAM HISTORY LOG: -! 01_27_2012 Jun Wang - INITIAL CODE -! 04_03_2012 Jun Wang - add SPEC_PRES_ABOVE_GRND for different CAPE/CIN -! 08_06_2013 S Moorthi - fix index out of bound after iloop5 -! 10_03_2013 Jun Wang - add isentropic levels -! 03_10_2015 Lin Gan - Replace XML file with flat file implementation -! 07_08_2016 J. Carley - Comment out debug prints -! 06_01_2017 Y Mao - For MISCLN.f and FDLVL.f, allow FD levels input from control file -! -! USAGE: CALL SET_LVLSXML(param,ifld,irec,kpv,pv,kth,th) -! INPUT ARGUMENT LIST: -! param: input field -! ifld : field number in post control file -! irec : data fields number in output file -! kpv : total number of potential vorticity levels -! pv : potential vorticity levels -! kth : total number of isentropic levels -! th : isentropic levels -! -! OUTPUT ARGUMENT LIST: -! -! OUTPUT FILES: -! NONE -! -! SUBPROGRAMS CALLED: -! UTILITIES: -! -! LIBRARY: -! MODULE: - RQSTFLD_MOD -! CTLBLK_MOD -! xml_data_post_t -! SOIL -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN -! MACHINE : IBM -! + + use xml_perl_data, only: param_t use ctlblk_mod, only: lsm, spl, nsoil, isf_surface_physics, nfd, htfd, & - petabnd, nbnd + petabnd, nbnd, ifi_nflight, ifi_flight_levels use soil, only: SLDPTH,SLLEVEL use rqstfld_mod,only : mxlvl,LVLS,LVLSXML implicit none @@ -65,7 +44,7 @@ subroutine SET_LVLSXML(param,ifld,irec,kpv,pv,kth,th) real,parameter :: small2=1 integer,parameter :: LSIG1=22,LSIG2=5 integer i,j,l,nlevel,scalef,lvlcape,lvlcin - logical READTHK,logrec + logical READTHK,logrec,found REAL :: SIGO2(LSIG2+1),ASIGO2(LSIG2),DSIGO2(LSIG2) REAL :: SIGO1(LSIG1+1),ASIGO1(LSIG1),DSIGO1(LSIG1) ! @@ -187,23 +166,48 @@ subroutine SET_LVLSXML(param,ifld,irec,kpv,pv,kth,th) endif ! if(trim(param%fixed_sfc1_type)=='spec_alt_above_mean_sea_lvl') then - if(index(param%shortname,"GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL")<=0) then - do j=1, nlevel + if(index(param%shortname,"SPECIFIC_IFI_FLIGHT_LEVEL")>0) then + do j=1, nlevel + found=.false. + iloop411: do i=1, ifi_nflight + if(nint(param%level(j)/10)==nint(ifi_flight_levels(i)/10) )then + LVLS(i,ifld)=1 + LVLSXML(i,ifld)=j + !print *,'SPECIFIC_IFI_FLIGHT_LEVEL ',j,' is ',param%level(j) + irec=irec+1 + found=.true. + exit iloop411 + endif + enddo iloop411 + if(.not.found) then + write(*,*) 'ERROR: No such IFI flight level: ',param%level(j)/10 + LVLS(i,ifld)=0 + endif + enddo + else if(index(param%shortname,"IFI_FLIGHT_LEVEL")>0) then + do j=1, ifi_nflight + LVLS(j,ifld)=1 + LVLSXML(j,ifld)=j + !print *,'IFI_FLIGHT_LEVEL ',j,' is ',param%level(j) + irec=irec+1 + enddo + elseif(index(param%shortname,"GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL")<=0) then + do j=1, nlevel iloop4: do i=1, NFD - if(nint(param%level(j))==nint(HTFD(i)) )then - if(HTFD(i)>300.) then - LVLS(i,ifld)=1 - else - LVLS(i,ifld)=2 + if(nint(param%level(j))==nint(HTFD(i)) )then + if(HTFD(i)>300.) then + LVLS(i,ifld)=1 + else + LVLS(i,ifld)=2 + endif + LVLSXML(i,ifld)=j + irec=irec+1 + exit iloop4 endif - LVLSXML(i,ifld)=j - irec=irec+1 - exit iloop4 - endif - enddo iloop4 - enddo - return - endif + enddo iloop4 + enddo + return + endif ! Allow inputs of FD levels from control file. For GTG (EDPARM CATEDR MWTURB) ! SET LVLS to 1 do j=1, nlevel @@ -277,15 +281,16 @@ subroutine SET_LVLSXML(param,ifld,irec,kpv,pv,kth,th) endif enddo iloop41 enddo - return + return endif do j=1, nlevel - LVLS(j,ifld)=1 - LVLSXML(j,ifld)=j - irec=irec+1 + LVLS(j,ifld)=1 + LVLSXML(j,ifld)=j + irec=irec+1 enddo return endif +! !for hpc tmp at sigma lvl if(trim(param%shortname)=='TMP_ON_SIGMA_LVL_HPC') then IF(READTHK)THEN ! EITHER READ DSG THICKNESS diff --git a/sorc/ncep_post.fd/SET_OUTFLDS.f b/sorc/ncep_post.fd/SET_OUTFLDS.f index a12d60106d..fe1473e2f3 100644 --- a/sorc/ncep_post.fd/SET_OUTFLDS.f +++ b/sorc/ncep_post.fd/SET_OUTFLDS.f @@ -1,43 +1,31 @@ !> @file -! . . . -!> SUBPROGRAM: READCNTRLgrb2_xml READS POST xml CONTROL FILE -!! PRGRMMR: J. WANG ORG: NCEP/EMC DATE: 12-01-27 -!! -!! ABSTRACT: -!! THIS ROUTINE READS THE CONTROL FILE IN XML FORMAT SPECIFYING -!! FIELD(S) TO POST, AND SAVE ALL THE FIELD INFORMATION IN -!! A DATATYPE array PSET -!! -!! PROGRAM HISTORY LOG: -!! 01_27_2012 Jun Wang - INITIAL CODE -!! 03_10_2015 Lin Gan - Replace XML file with flat file implementation -!! 10_30_2019 Bo CUI - REMOVE "GOTO" STATEMENT - -!! -!! USAGE: CALL READCNTRL_XML(kth,kpv,pv,th) -!! INPUT ARGUMENT LIST: -!! KTH -!! TH -!! KPV -!! PV -!! -!! OUTPUT ARGUMENT LIST: -!! NONE - -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! -!! LIBRARY: -!! COMMON - RQSTFLDGRB2 -!! CTLBLK -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : IBM -!! +!> @brief set_outflds() reads the post XML control file. +!> +!> @author J. Wang NCEP/EMC @date 2012-01-27 +!> +!> This routine reads the control file in xml format specifying +!> field(s) to post, and save all the field information in +!> a datatype array PSET. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2012-01-27 | Jun Wang | Initial +!> 2015-03-10 | Lin Gan | Replace XML file with flat file implementation +!> 2019-10-30 | Bo Cui | Removw "GOTO" Statement +!--------------------------------------------------------------------------- + MODULE SET_OUTFLDS_UPP_MOD + + IMPLICIT NONE + + CONTAINS + +!> @brief Reads post XML control file. +!> +!> @param[in] KTH total number of isentropic levels +!> @param[in] TH isentropic levels +!> @param[in] KPV total number of potential vorticity levels +!> @param[in] PV potential vorticity levels SUBROUTINE SET_OUTFLDS(kth,th,kpv,pv) ! @@ -70,7 +58,7 @@ SUBROUTINE SET_OUTFLDS(kth,th,kpv,pv) ! WRITE(6,*)'READCNTRL_XML: POSTING FCST HR ',IFHR,' FROM ', & ! IHRST,'UTC ',SDAT(1),'-',SDAT(2),'-',SDAT(3),' RUN' ! ENDIF -! +! ! INITIALIZE VARIABLES. ! ARRAY IGET IS THE "GET FIELD" FLAG ARRAY. ! @@ -94,7 +82,6 @@ SUBROUTINE SET_OUTFLDS(kth,th,kpv,pv) ! pset = paramset(npset) datset = pset%datset - if (me==0)print *,'in SET_OUTFLDS, num_pset=',num_pset,'datset=',trim(pset%datset),'npset=',npset ! ! NOW READ WHICH FIELDS ON ! WHICH LEVELS TO INTERPOLATE TO THE OUTPUT GRID. THE @@ -108,13 +95,6 @@ SUBROUTINE SET_OUTFLDS(kth,th,kpv,pv) ! This is required for flat file solution to work for nmm post_avblflds%param =>paramset(npset)%param - if (me==0) then - write(0,*)'Size of pset is: ',MFLD - write(0,*)'datset is: ',datset - write(0,*)'MXFLD is: ',MXFLD - write(0,*)'size of lvlsxml: ',size(lvlsxml) - write(0,*)'size of post_avblflds param',size(post_avblflds%param) - endif if(size(post_avblflds%param) <= 0) then write(0,*)'WRONG: post available fields not ready!!!' return @@ -133,8 +113,8 @@ SUBROUTINE SET_OUTFLDS(kth,th,kpv,pv) FOUND_FLD = .false. -! write(0,*)'cntfile,i=',i,'fld shortname=',trim(pset%param(i)%shortname) -! write(0,*)'size(post_avblflds%param)=',size(post_avblflds%param) +! write(*,*)'cntfile,i=',i,'fld shortname=',trim(pset%param(i)%shortname) +! write(*,*)'size(post_avblflds%param)=',size(post_avblflds%param) IFLD = IFLD + 1 @@ -150,12 +130,12 @@ SUBROUTINE SET_OUTFLDS(kth,th,kpv,pv) ENDDO ! -! ALL DONE FOUNDING REQUESTED FIELDS FOR current OUTPUT GRID. +! ALL DONE FINDING REQUESTED FIELDS FOR current OUTPUT GRID. ! SET NFLD TO TOTAL NUMBER OF REQUESTED OUTPUT FIELDS THAT -! ARE AVAILABLE., SET NRECOUT to total number of OUTPUT records -! NOTE: here NFLD i s total number of fields found in post_avblfld_table, -! while nrecoutis the total number of grib messages that go -! into the output file. One fieldmay contain many different levels, +! ARE AVAILABLE. SET NRECOUT to total number of OUTPUT records +! NOTE: here NFLD is total number of fields found in post_avblfld_table, +! while nrecout is the total number of grib messages that go +! into the output file. One field may contain many different levels, ! which each different level will be counted as one record ! NFLD = IFLD @@ -171,7 +151,6 @@ SUBROUTINE SET_OUTFLDS(kth,th,kpv,pv) fld_info(i)%ntrange = 0 fld_info(i)%tinvstat = 0 enddo - if(me==0)write(0,*)'in readxml. nfld=',nfld,'nrecout=',nrecout ! ! skip creating ipv files if kth=0 and no isobaric fields are requested in ctl file ! if(kth == 0 .and. iget(013) <= 0) go to 999 @@ -185,10 +164,10 @@ SUBROUTINE SET_OUTFLDS(kth,th,kpv,pv) ! DO 50 IFLD = 1,NFLD ! IF(ME==0)THEN ! i=IAVBLFLD(IFLD) -! write(0,*)'readxml,ifld=',ifld,'iget(',IDENT(ifld),')=',iget(ident(ifld)),'iavbl=',IAVBLFLD(iget(ident(ifld))),'postvar=',trim(pset%param(i)%pname), & +! write(*,*)'readxml,ifld=',ifld,'iget(',IDENT(ifld),')=',iget(ident(ifld)),'iavbl=',IAVBLFLD(iget(ident(ifld))),'postvar=',trim(pset%param(i)%pname), & ! trim(pset%param(i)%fixed_sfc1_type),'lvls=',LVLS(:,ifld) ! if(size(pset%param(i)%level)>0) then -! WRITE(0,*) pset%param(i)%level +! WRITE(*,*) pset%param(i)%level ! endif ! ENDIF ! 50 CONTINUE @@ -197,6 +176,7 @@ SUBROUTINE SET_OUTFLDS(kth,th,kpv,pv) ! 999 CONTINUE - if(me==0)print *,'end of read_postcntrl_xml' RETURN END + + END MODULE SET_OUTFLDS_UPP_MOD diff --git a/sorc/ncep_post.fd/SLP_NMM.f b/sorc/ncep_post.fd/SLP_NMM.f deleted file mode 100644 index 9c8a3669e5..0000000000 --- a/sorc/ncep_post.fd/SLP_NMM.f +++ /dev/null @@ -1,411 +0,0 @@ - SUBROUTINE MEMSLP_NMM(TPRES,QPRES,FIPRES) -! -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBROUTINE: MEMSLP MEMBRANE SLP REDUCTION -! -! ABSTRACT: THIS ROUTINE COMPUTES THE SEA LEVEL PRESSURE -! REDUCTION USING THE MESINGER RELAXATION -! METHOD FOR SIGMA COORDINATES. -! A BY-PRODUCT IS THE -! SET OF VALUES FOR THE UNDERGROUND TEMPERATURES -! ON THE SPECIFIED PRESSURE LEVELS -! -! PROGRAM HISTORY LOG: -! 99-09-23 T BLACK - REWRITTEN FROM ROUTINE SLP (ETA -! COORDINATES) -! 02-07-26 H CHUANG - PARALLIZE AND MODIFIED FOR WRF A/C GRIDS -! ALSO REDUCE S.O.R. COEFF FROM 1.75 to 1.25 -! BECAUSE THERE WAS NUMERICAL INSTABILITY -! 02-08-21 H CHUANG - MODIFIED TO ALWAYS USE OLD TTV FOR RELAXATION -! SO THAT THERE WAS BIT REPRODUCIBILITY BETWEEN -! USING ONE AND MULTIPLE TASKS -! 13-12-06 H CHUANG - REMOVE EXTRA SMOOTHING OF SLP AT THE END -! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT -! -! USAGE: CALL SLPSIG FROM SUBROUITNE ETA2P -! -! INPUT ARGUMENT LIST: -! PD - SFC PRESSURE MINUS PTOP -! FIS - SURFACE GEOPOTENTIAL -! T - TEMPERATURE -! Q - SPECIFIC HUMIDITY -! FI - GEOPOTENTIAL -! PT - TOP PRESSURE OF DOMAIN -! -! OUTPUT ARGUMENT LIST: -! PSLP - THE FINAL REDUCED SEA LEVEL PRESSURE ARRAY -! -! SUBPROGRAMS CALLED: -! UNIQUE: -! NONE -! -!----------------------------------------------------------------------- - use vrbls3d, only: pint, zint, t, q - use vrbls2d, only: pslp, fis - use masks, only: lmh - use params_mod, only: overrc, ad05, cft0, g, rd, d608, h1, kslpd - use ctlblk_mod, only: jsta, jend, spl, num_procs, mpi_comm_comp, lsmp1, jsta_m2, jend_m2,& - lm, jsta_m, jend_m, im, jsta_2l, jend_2u, im_jm, lsm, jm -!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none -! - INCLUDE "mpif.h" -!----------------------------------------------------------------------- - integer, PARAMETER :: NFILL=0,NRLX1=500,NRLX2=100 -!----------------------------------------------------------------------- - real,dimension(IM,JSTA_2L:JEND_2U,LSM),intent(in) :: QPRES - real,dimension(IM,JSTA_2L:JEND_2U,LSM),intent(inout) :: TPRES,FIPRES - REAL :: TTV(IM,JSTA_2L:JEND_2U),TNEW(IM,JSTA_2L:JEND_2U) & - ,SLPX(IM,JSTA_2L:JEND_2U) & - ,P1(IM,JSTA_2L:JEND_2U),HTM2D(IM,JSTA_2L:JEND_2U) - REAL :: HTMO(IM,JSTA_2L:JEND_2U,LSM) - real P2,GZ1,GZ2,TLYR,SPLL,PCHK,PSFC,SLOPE,TVRT,DIS,TINIT -!----------------------------------------------------------------------- -!----------------------------------------------------------------------- - INTEGER :: KMNTM(LSM),IMNT(IM_JM,LSM),JMNT(IM_JM,LSM) & - ,LMHO(IM,JSTA_2L:JEND_2U) - INTEGER :: IHE(JM),IHW(JM),IVE(JM),IVW(JM),IHS(JM),IHN(JM) - integer ii,jj,I,J,L,N,KM,KS,KP,KMN,KMM,KOUNT,LP,LLMH,LHMNT & - ,LMHIJ,LMAP1,LXXX,IERR,NRLX,IHH2 -!----------------------------------------------------------------------- - LOGICAL :: DONE(IM,JSTA_2L:JEND_2U) - logical, parameter :: debugprint = .false. -!----------------------------------------------------------------------- -!----------------------------------------------------------------------- -!*** -!*** CALCULATE THE I-INDEX EAST-WEST INCREMENTS -!*** -! - ii=279 - jj=314 - DO J=1,JM - IHE(J)=MOD(J+1,2) - IHW(J)=IHE(J)-1 - ENDDO -! print*,'relaxation coeff= ',OVERRC -!----------------------------------------------------------------------- -!*** -!*** INITIALIZE ARRAYS. LOAD SLP ARRAY WITH SURFACE PRESSURE. -!*** -!$omp parallel do - DO J=JSTA,JEND - DO I=1,IM - LLMH=NINT(LMH(I,J)) - PSLP(I,J)=PINT(I,J,LLMH+1) - if(debugprint .and. i==ii .and. j==jj)print*,'Debug: FIS,IC for PSLP=' & - ,FIS(i,j),PSLP(I,J) - TTV(I,J)=0. - LMHO(I,J)=0 - DONE(I,J)=.FALSE. - ENDDO - ENDDO -! -!*** CALCULATE SEA LEVEL PRESSURE FOR PROFILES (AND POSSIBLY -!*** FOR POSTING BY POST PROCESSOR). -! -!-------------------------------------------------------------------- -!*** -!*** CREATE A 3-D "HEIGHT MASK" FOR THE SPECIFIED PRESSURE LEVELS -!*** (1 => ABOVE GROUND) AND A 2-D INDICATOR ARRAY THAT SAYS -!*** WHICH PRESSURE LEVEL IS THE LOWEST ONE ABOVE THE GROUND -!*** - DO 100 L=1,LSM - SPLL=SPL(L) -! - DO J=JSTA,JEND - DO I=1,IM - PSFC=PSLP(I,J) - PCHK=PSFC - IF(NFILL>0)THEN - PCHK=PINT(I,J,NINT(LMH(I,J))+1-NFILL) - ENDIF -! IF(SM(I,J)>0.5.AND.FIS(I,J)<1.)PCHK=PSLP(I,J) - IF(FIS(I,J)<1.)PCHK=PSLP(I,J) -! -! IF(SPLL1.AND.HTMO(I,J,L-1)>0.5)LMHO(I,J)=L-1 - ENDIF -! - IF(L==LSM.AND.HTMO(I,J,L)>0.5)LMHO(I,J)=LSM - if(debugprint .and. i==ii .and. j==jj)print*,'Debug: HTMO= ',HTMO(I,J,L) - ENDDO - ENDDO -! - 100 CONTINUE -! if(jj>=jsta.and.jj<=jend) -! +print*,'Debug: LMHO=',LMHO(ii,jj) -!-------------------------------------------------------------------- -!*** -!*** WE REACH THIS LINE IF WE WANT THE MESINGER ETA SLP REDUCTION -!*** BASED ON RELAXATION TEMPERATURES. THE FIRST STEP IS TO -!*** FIND THE HIGHEST LAYER CONTAINING MOUNTAINS. -!*** - loop210: DO L=LSM,1,-1 -! - DO J=JSTA,JEND - DO I=1,IM - IF(HTMO(I,J,L)<0.5) cycle loop210 - ENDDO - ENDDO -! - LHMNT=L+1 - exit loop210 - enddo loop210 - - if(debugprint)print*,'Debug in SLP: LHMNT=',LHMNT - if ( num_procs > 1 ) then - CALL MPI_ALLREDUCE & - (LHMNT,LXXX,1,MPI_INTEGER,MPI_MIN,MPI_COMM_COMP,IERR) - LHMNT = LXXX - end if - - IF(LHMNT==LSMP1)THEN - GO TO 325 - ENDIF - if(debugprint)print*,'Debug in SLP: LHMNT A ALLREDUCE=',LHMNT -!*** -!*** NOW GATHER THE ADDRESSES OF ALL THE UNDERGROUND POINTS. -!*** -!$omp parallel do private(kmn,kount) - DO 250 L=LHMNT,LSM - KMN=0 - KMNTM(L)=0 - KOUNT=0 - DO 240 J=JSTA_M2,JEND_M2 -! DO 240 J=JSTA_M,JEND_M - DO 240 I=2,IM-1 - KOUNT=KOUNT+1 - IMNT(KOUNT,L)=0 - JMNT(KOUNT,L)=0 - IF(HTMO(I,J,L)>0.5) CYCLE - KMN=KMN+1 - IMNT(KMN,L)=I - JMNT(KMN,L)=J - 240 CONTINUE - KMNTM(L)=KMN - 250 CONTINUE -! -! -!*** CREATE A TEMPORARY TV ARRAY, AND FOLLOW BY SEQUENTIAL -!*** OVERRELAXATION, DOING NRLX PASSES. -! -! IF(NTSD==1)THEN - NRLX=NRLX1 -! ELSE -! NRLX=NRLX2 -! ENDIF -! -!!$omp parallel do private(i,j,tinit,ttv) - DO 300 L=LHMNT,LSM -! - DO 270 J=JSTA,JEND - DO 270 I=1,IM - TTV(I,J)=TPRES(I,J,L) - IF(TTV(I,J)<150. .and. TTV(I,J)>325.0)print* & - ,'abnormal IC for T relaxation',i,j,TTV(I,J) - HTM2D(I,J)=HTMO(I,J,L) - 270 CONTINUE -! -!*** FOR GRID BOXES NEXT TO MOUNTAINS, COMPUTE TV TO USE AS -!*** BOUNDARY CONDITIONS FOR THE RELAXATION UNDERGROUND -! - CALL EXCH2(HTM2D(1,JSTA_2L)) !NEED TO EXCHANGE TWO ROW FOR E GRID - DO J=JSTA_M2,JEND_M2 - DO I=2,IM-1 - IF(HTM2D(I,J)>0.5.AND.HTM2D(I+IHW(J),J-1)*HTM2D(I+IHE(J),J-1) & - *HTM2D(I+IHW(J),J+1)*HTM2D(I+IHE(J),J+1) & - *HTM2D(I-1 ,J )*HTM2D(I+1 ,J ) & - *HTM2D(I ,J-2)*HTM2D(I ,J+2)<0.5)THEN -!HC MODIFICATION FOR C AND A GRIDS -!HC IF(HTM2D(I,J)>0.5.AND. -!HC 1 HTM2D(I-1,J)*HTM2D(I+1,J) -!HC 2 *HTM2D(I,J-1)*HTM2D(I,J+1) -!HC 3 *HTM2D(I-1,J-1)*HTM2D(I+1,J-1) -!HC 4 *HTM2D(I-1,J+1)*HTM2D(I+1,J+1)<0.5)THEN -! - TTV(I,J)=TPRES(I,J,L)*(1.+0.608*QPRES(I,J,L)) - ENDIF -! if(i==ii.and.j==jj)print*,'Debug:L,TTV B SMOO= ',l,TTV(I,J) - ENDDO - ENDDO -! - KMM=KMNTM(L) -! - DO 285 N=1,NRLX - CALL EXCH2(TTV(1,JSTA_2L)) -! print*,'Debug:L,KMM=',L,KMM - DO 280 KM=1,KMM - I=IMNT(KM,L) - J=JMNT(KM,L) - TINIT=TTV(I,J) - TNEW(I,J)=AD05*(4.*(TTV(I+IHW(J),J-1)+TTV(I+IHE(J),J-1) & - +TTV(I+IHW(J),J+1)+TTV(I+IHE(J),J+1)) & - +TTV(I-1,J) +TTV(I+1,J) & - +TTV(I,J-2) +TTV(I,J+2)) & - -CFT0*TTV(I,J) -!HC MODIFICATION FOR C AND A GRIDS -! eight point relaxation using old TTV -!HC TNEW(I,J)=AD05*(4.*(TTV(I-1,J)+TTV(I+1,J) -!HC 1 +TTV(I,J-1)+TTV(I,J+1)) -!HC 2 +TTV(I-1,J-1)+TTV(I+1,J-1) -!HC 3 +TTV(I-1,J+1)+TTV(I+1,J+1)) -!HC 4 -CFT0*TTV(I,J) -! -! if(i==ii.and.j==jj)print*,'Debug: L,TTV A S' -! 1,l,TTV(I,J),N -! 1,l,TNEW(I,J),N - 280 CONTINUE -! - DO KM=1,KMM - I=IMNT(KM,L) - J=JMNT(KM,L) - TTV(I,J)=TNEW(I,J) - END DO - 285 CONTINUE -! - DO 290 KM=1,KMM - I=IMNT(KM,L) - J=JMNT(KM,L) - TPRES(I,J,L)=TTV(I,J) - 290 CONTINUE - 300 CONTINUE -!---------------------------------------------------------------- -!*** -!*** CALCULATE THE SEA LEVEL PRESSURE AS PER THE NEW SCHEME. -!*** INTEGRATE THE HYDROSTATIC EQUATION DOWNWARD FROM THE -!*** GROUND THROUGH EACH OUTPUT PRESSURE LEVEL (WHERE TV -!*** IS NOW KNOWN) TO FIND GZ AT THE NEXT MIDPOINT BETWEEN -!*** PRESSURE LEVELS. WHEN GZ=0 IS REACHED, SOLVE FOR THE -!*** PRESSURE. -!*** -! -!*** COUNT THE POINTS WHERE SLP IS DONE BELOW EACH OUTPUT LEVEL -! - KOUNT=0 - DO J=JSTA,JEND - DO I=1,IM -! P1(I,J)=SPL(NINT(LMH(I,J))) -! DONE(I,J)=.FALSE. - IF(abs(FIS(I,J))<1.)THEN - PSLP(I,J)=PINT(I,J,NINT(LMH(I,J))+1) - DONE(I,J)=.TRUE. - KOUNT=KOUNT+1 - if(i==ii.and.j==jj)print*,'Debug:DONE,PSLP A S1=' & - ,done(i,j),PSLP(I,J) - ELSE IF(FIS(I,J)<-1.0) THEN - DO L=LM,1,-1 - IF(ZINT(I,J,L)>0.)THEN - PSLP(I,J)=PINT(I,J,L)/EXP(-ZINT(I,J,L)*G & - /(RD*T(I,J,L)*(Q(I,J,L)*D608+1.0))) - DONE(I,J)=.TRUE. - if(debugprint .and. i==ii.and.j==jj)print* & - ,'Debug:DONE,PINT,PSLP A S1=' & - ,done(i,j),PINT(I,J,L),PSLP(I,J) - EXIT - END IF - END DO - ENDIF - ENDDO - ENDDO -! - KMM=KMNTM(LSM) -!$omp parallel do private(gz1,gz2,i,j,lmap1,p1,p2),shared(pslp) - -LOOP320: DO KM=1,KMM - I=IMNT(KM,LSM) - J=JMNT(KM,LSM) - IF(DONE(I,J)) CYCLE - LMHIJ=LMHO(I,J) - GZ1=FIPRES(I,J,LMHIJ) - P1(I,J)=SPL(LMHIJ) -! - LMAP1=LMHIJ+1 - DO L=LMAP1,LSM - P2=SPL(L) - TLYR=0.5*(TPRES(I,J,L)+TPRES(I,J,L-1)) - GZ2=GZ1+RD*TLYR*ALOG(P1(I,J)/P2) - FIPRES(I,J,L)=GZ2 -! if(i==ii.and.j==jj)print*,'Debug:L,FI A S2=',L,GZ2 - IF(GZ2<=0.)THEN - PSLP(I,J)=P1(I,J)/EXP(-GZ1/(RD*TPRES(I,J,L-1))) -! if(i==ii.and.j==jj)print*,'Debug:PSLP A S2=',PSLP(I,J) - DONE(I,J)=.TRUE. - KOUNT=KOUNT+1 - CYCLE LOOP320 - ENDIF - P1(I,J)=P2 - GZ1=GZ2 - ENDDO -!HC EXPERIMENT - LP=LSM - SLOPE=-6.6E-4 - TLYR=TPRES(I,J,LP)-0.5*FIPRES(I,J,LP)*SLOPE - PSLP(I,J)=spl(lp)/EXP(-FIPRES(I,J,LP)/(RD*TLYR)) - DONE(I,J)=.TRUE. -! if(i==ii.and.j==jj)print*,'Debug:spl,FI,TLYR,PSLPA3=' & -! ,spl(lp),FIPRES(I,J,LP),TLYR,PSLP(I,J) -!HC EXPERIMENT -ENDDO LOOP320 -! -!*** WHEN SEA LEVEL IS BELOW THE LOWEST OUTPUT PRESSURE LEVEL, -!*** SOLVE THE HYDROSTATIC EQUATION BY CHOOSING A TEMPERATURE -!*** AT THE MIDPOINT OF THE LAYER BETWEEN THAT LOWEST PRESSURE -!*** LEVEL AND THE GROUND BY EXTRAPOLATING DOWNWARD FROM T ON -!*** THE LOWEST PRESSURE LEVEL USING THE DT/DFI BETWEEN THE -!*** LOWEST PRESSURE LEVEL AND THE ONE ABOVE IT. -! -! TOTAL=(IM-2)*(JM-4) -! -!HC DO 340 LP=LSM,1,-1 -! IF(KOUNT==TOTAL)GO TO 350 -!HC MODIFICATION FOR SMALL HILL HIGH PRESSURE SITUATION -!HC IF SURFACE PRESSURE IS CLOSER TO SEA LEVEL THAN LWOEST -!HC OUTPUT PRESSURE LEVEL, USE SURFACE PRESSURE TO DO EXTRAPOLATION - 325 CONTINUE - LP=LSM - DO 330 J=JSTA,JEND - DO 330 I=1,IM - if(debugprint .and. i==ii.and.j==jj)print*,'Debug: with 330 loop' - IF(DONE(I,J)) cycle - if(debugprint .and. i==ii.and.j==jj)print*,'Debug: still within 330 loop' -!HC Comment out the following line for situation with terrain -!HC at boundary (ie FIPRES<0) -!HC because they were not counted as undergound point for 8 pt -!HC relaxation -!HC IF(FIPRES(I,J,LP)<0.)GO TO 330 -! IF(FIPRES(I,J,LP)<0.)THEN -! DO LP=LSM,1,-1 -! IF (FIPRES(I,J) <= 0) - -! IF(FIPRES(I,J,LP)<0..OR.DONE(I,J))GO TO 330 -! SLOPE=(TPRES(I,J,LP)-TPRES(I,J,LP-1)) -! & /(FIPRES(I,J,LP)-FIPRES(I,J,LP-1)) - SLOPE=-6.6E-4 - IF(PINT(I,J,NINT(LMH(I,J))+1)>SPL(LP))THEN - LLMH=NINT(LMH(I,J)) - TVRT=T(I,J,LLMH)*(H1+D608*Q(I,J,LLMH)) - DIS=ZINT(I,J,LLMH+1)-ZINT(I,J,LLMH)+0.5*ZINT(I,J,LLMH+1) - TLYR=TVRT-DIS*G*SLOPE - PSLP(I,J)=PINT(I,J,LLMH+1)*EXP(ZINT(I,J,LLMH+1)*G/(RD*TLYR)) -! if(i==ii.and.j==jj)print*,'Debug:PSFC,zsfc,TLYR,PSLPA3=' -! 1,PINT(I,J,LLMH+1),ZINT(I,J,LLMH+1),TLYR,PSLP(I,J) - ELSE - TLYR=TPRES(I,J,LP)-0.5*FIPRES(I,J,LP)*SLOPE - PSLP(I,J)=spl(lp)/EXP(-FIPRES(I,J,LP)/(RD*TLYR)) - if(debugprint .and. i==ii.and.j==jj)print*,'Debug:spl,FI,TLYR,PSLPA3=' & - ,spl(lp),FIPRES(I,J,LP),TLYR,PSLP(I,J) - END IF - DONE(I,J)=.TRUE. - KOUNT=KOUNT+1 - 330 CONTINUE -!HC 340 CONTINUE -! - 350 CONTINUE -!---------------------------------------------------------------- - RETURN - END diff --git a/sorc/ncep_post.fd/SLP_new.f b/sorc/ncep_post.fd/SLP_new.f index 7815e81aa6..037f309e44 100644 --- a/sorc/ncep_post.fd/SLP_new.f +++ b/sorc/ncep_post.fd/SLP_new.f @@ -27,6 +27,9 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) ! ARE COMMENTED OUT FOR NOW ! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT ! 21-07-26 W Meng - Restrict computation from undefined grids +! 21-07-07 J Meng - 2D DECOMPOSITION +! 21-09-25 W Meng - Further modification for restricting computation +! from undefined grids. ! ! USAGE: CALL SLPSIG FROM SUBROUITNE ETA2P ! @@ -52,7 +55,8 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) use params_mod, only: overrc, ad05, cft0, g, rd, d608, h1, kslpd use ctlblk_mod, only: jend, jsta, spval, spl, num_procs, mpi_comm_comp, lsmp1, & jsta_m, jend_m, lm, im, jsta_2l, jend_2u, lsm, jm,& - im_jm + im_jm, iend, ista, ista_m, iend_m, ista_2l, iend_2u + use exch_upp_mod, only: exch !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -61,29 +65,29 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) integer,PARAMETER :: NFILL=0,NRLX1=500,NRLX2=100 real,parameter:: def_of_mountain=2.0 !----------------------------------------------------------------------- - real,dimension(IM,JSTA_2L:JEND_2U,LSM),intent(in) :: QPRES - real,dimension(IM,JSTA_2L:JEND_2U,LSM),intent(inout) :: TPRES,FIPRES - REAL :: TTV(IM,JSTA_2L:JEND_2U),TNEW(IM,JSTA_2L:JEND_2U) & - , P1(IM,JSTA_2L:JEND_2U),HTM2D(IM,JSTA_2L:JEND_2U) - REAL :: HTMO(IM,JSTA_2L:JEND_2U,LSM) + real,dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LSM),intent(in) :: QPRES + real,dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LSM),intent(inout) :: TPRES,FIPRES + REAL :: TTV(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),TNEW(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U) & + , P1(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),HTM2D(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U) + REAL :: HTMO(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LSM) real :: P2,TLYR,GZ1,GZ2,SPLL,PSFC,PCHK,SLOPE,TVRTC,DIS,TVRT,tem !----------------------------------------------------------------------- !----------------------------------------------------------------------- INTEGER :: KMNTM(LSM),IMNT(IM_JM,LSM),JMNT(IM_JM,LSM) & - , LMHO(IM,JSTA_2L:JEND_2U) + , LMHO(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U) INTEGER :: IHE(JM),IHW(JM),IVE(JM),IVW(JM),IHS(JM),IHN(JM) integer ii,jj,I,J,L,N,LLMH,KM,KS,IHH2,KOUNT,KMN,NRLX,LHMNT, & LMHIJ,LMAP1,KMM,LP,LXXX,IERR ! dong real a1,a2,a3,a4,a5,a6,a7,a8 !----------------------------------------------------------------------- - LOGICAL :: DONE(IM,JSTA_2L:JEND_2U) + LOGICAL :: DONE(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U) !----------------------------------------------------------------------- !*** !*** CALCULATE THE I-INDEX EAST-WEST INCREMENTS !*** ! - ii = IM/2 + ii = (IEND-ISTA)/2 jj = (JEND-JSTA)/2 DO J=1,JM IHE(J) = 1 @@ -100,7 +104,7 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) !*** !$omp parallel do private(i,j,llmh) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND LLMH = NINT(LMH(I,J)) PSLP(I,J) = PINT(I,J,LLMH+1) ! dong @@ -109,7 +113,7 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) TNEW(I,J) = spval - LMHO(I,J) = 0 + LMHO(I,J) = LSM DONE(I,J) = .FALSE. ENDDO ENDDO @@ -125,9 +129,9 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) ! !$omp parallel do private(j,i,psfc,pchk) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND - HTMO(I,J,L)=spval + HTMO(I,J,L)=1. if(PSLP(I,J)0.5.AND. !HC 1 HTM2D(I+IHW(J),J-1,L)*HTM2D(I+IHE(J),J-1,L) @@ -278,8 +277,6 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) IF(HTM2D(I,J) > 0.5 .AND. tem < 0.5) then TTV(I,J) = TPRES(I,J,L)*(1.+0.608*QPRES(I,J,L)) ENDIF - else - TTV(I,J) = spval ! if(i==ii.and.j==jj)print*,'Debug:L,TTV B SMOO= ',l,TTV(I,J) end if ! spval ENDDO @@ -290,7 +287,7 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) ! print*,'Debug:L,KMM=',L,KMM ! DO N=1,NRLX - CALL EXCH(TTV(1,JSTA_2L)) + CALL EXCH(TTV(ISTA_2L,JSTA_2L)) !!$omp parallel do private(i,j,km,a1,a2,a3,a4,a5,a6,a7,a8) DO KM=1,KMM I = IMNT(KM,L) @@ -406,7 +403,7 @@ SUBROUTINE MEMSLP(TPRES,QPRES,FIPRES) ! KOUNT = 0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(PSLP(I,J) SPL(LP))THEN LLMH = NINT(LMH(I,J)) + IF(T(I,J,LLMH) @file -! . . . . -!> SUBPROGRAM: SMOOTH SMOOTH A METEOROLOGICAL FIELD -!! PRGMMR: STAN BENJAMIN ORG: FSL/PROFS DATE: 90-06-15 -!! -!! ABSTRACT: SHAPIRO SMOOTHER. -!! -!! PROGRAM HISTORY LOG: -!! 85-12-09 S. BENJAMIN ORIGINAL VERSION -!! 14-03-03 S. Moorthi Threading and slight cleanup -!! -!! USAGE: CALL SMOOTH (FIELD,HOLD,IX,IY,SMTH) -!! INPUT ARGUMENT LIST: -!! FIELD - REAL ARRAY FIELD(IX,IY) -!! METEOROLOGICAL FIELD -!! HOLD - REAL ARRAY HOLD(IX,2) -!! HOLDING THE VALUE FOR FIELD -!! IX - INTEGER X COORDINATES OF FIELD -!! IY - INTEGER Y COORDINATES OF FIELD -!! SMTH - REAL -!! -!! OUTPUT ARGUMENT LIST: -!! FIELD - REAL ARRAY FIELD(IX,IY) -!! SMOOTHED METEOROLOGICAL FIELD -!! -!! REMARKS: REFERENCE: SHAPIRO, 1970: "SMOOTHING, FILTERING, AND -!! BOUNDARY EFFECTS", REV. GEOPHYS. SP. PHYS., 359-387. -!! THIS FILTER IS OF THE TYPE -!! Z(I) = (1-S)Z(I) + S(Z(I+1)+Z(I-1))/2 -!! FOR A FILTER WHICH IS SUPPOSED TO DAMP 2DX WAVES COMPLETELY -!! BUT LEAVE 4DX AND LONGER WITH LITTLE DAMPING, -!! IT SHOULD BE RUN WITH 2 PASSES USING SMTH (OR S) OF 0.5 -!! AND -0.5. -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN-77 + EXTENSIONS -!! MACHINE: NAS-9000, VAX, UNIX -!! - +!> @brief smooth() smooths a meteorological field using Shapiro smoother. +!> +!> @author Stan Benjamin FSL/PROFS @date 1990-06-15 +!> +!> @note Reference: Shapiro, 1970: "Smoothing, filtering, and +!> boundary effects", REV. GEOPHYS. SP. PHYS., 359-387. +!> This filter is of the type +!> @code +!> Z(I) = (1-S)Z(I) + S(Z(I+1)+Z(I-1))/2 +!> @endcode +!> For a filter which is supposed to damp 2DX waves completely +!> but leave 4DX and longer with little damping, +!> it should be run with 2 passes using SMTH (or s) of 0.5 +!> and -0.5. +!> +!> @param[inout] FIELD Real array FIELD(IX,IY) Meteorological field. +!> @note FIELD is converted to *smoothed* meteorological field in this function. +!> @param[in] HOLD Real array HOLD(IX,2) Holding the value for field. +!> @param[in] IX Integer X Coordinates of field. +!> @param[in] IY Integer Y Coordinates of field. +!> @param[in] SMTH Real Smoothing operator. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1990-06-15 | S. Benjamin | Initial +!> 2014-03-03 | S. Moorthi | Threading and slight cleanup +!> +!> @author Stan Benjamin FSL/PROFS @date 1990-06-15 !********************************************************************** !********************************************************************** - +!> smooth() smooths a meteorological field using Shapiro smoother. +!> +!> @param[inout] FIELD Real array FIELD(IX,IY) Meteorological field. +!> @note FIELD is converted to *smoothed* meteorological field in this function. +!> @param[in] HOLD Real array HOLD(IX,2) Holding the value for field. +!> @param[in] IX Integer X Coordinates of field. +!> @param[in] IY Integer Y Coordinates of field. +!> @param[in] SMTH Real Smoothing operator. +!> SUBROUTINE SMOOTH (FIELD,HOLD,IX,IY,SMTH) !********************************************************************** @@ -99,45 +98,36 @@ SUBROUTINE SMOOTH (FIELD,HOLD,IX,IY,SMTH) RETURN END -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . . -! SUBPROGRAM: SMOOTHC SMOOTH A METEOROLOGICAL FIELD -! PRGMMR: STAN BENJAMIN ORG: FSL/PROFS DATE: 90-06-15 -! -! ABSTRACT: SHAPIRO SMOOTHER. -! -! PROGRAM HISTORY LOG: -! 85-12-09 S. BENJAMIN ORIGINAL VERSION os SMOOTH -! 14-03-03 S. Moorthi Threading and slight cleanup -! 16-08-08 S. Moorthi modify for cyclic domain -! -! USAGE: CALL SMOOTH (FIELD,HOLD,IX,IY,SMTH) -! INPUT ARGUMENT LIST: -! FIELD - REAL ARRAY FIELD(IX,IY) -! METEOROLOGICAL FIELD -! HOLD - REAL ARRAY HOLD(IX,2) -! HOLDING THE VALUE FOR FIELD -! IX - INTEGER X COORDINATES OF FIELD -! IY - INTEGER Y COORDINATES OF FIELD -! SMTH - REAL -! -! OUTPUT ARGUMENT LIST: -! FIELD - REAL ARRAY FIELD(IX,IY) -! SMOOTHED METEOROLOGICAL FIELD -! -! REMARKS: REFERENCE: SHAPIRO, 1970: "SMOOTHING, FILTERING, AND -! BOUNDARY EFFECTS", REV. GEOPHYS. SP. PHYS., 359-387. -! THIS FILTER IS OF THE TYPE -! Z(I) = (1-S)Z(I) + S(Z(I+1)+Z(I-1))/2 -! FOR A FILTER WHICH IS SUPPOSED TO DAMP 2DX WAVES COMPLETELY -! BUT LEAVE 4DX AND LONGER WITH LITTLE DAMPING, -! IT SHOULD BE RUN WITH 2 PASSES USING SMTH (OR S) OF 0.5 -! AND -0.5. -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN-77 + EXTENSIONS -! MACHINE: NAS-9000, VAX, UNIX -!$$$ +!> @brief smoothc() smooths a meteorological field using Shapiro smoother. +!> +!> @author Stan Benjamin FSL/PROFS @date 1990-06-15 +!> +!> @note Reference: Shapiro, 1970: "Smoothing, filtering, and +!> boundary effects", REV. GEOPHYS. SP. PHYS., 359-387. +!> This filter is of the type +!> @code +!> Z(I) = (1-S)Z(I) + S(Z(I+1)+Z(I-1))/2 +!> @endcode +!> For a filter which is supposed to damp 2DX waves completely +!> but leave 4DX and longer with little damping, +!> it should be run with 2 passes using SMTH (or s) of 0.5 +!> and -0.5. +!> +!> @param[inout] FIELD Real array FIELD(IX,IY) Meteorological field. +!> @note FIELD is converted to *smoothed* meteorological field in this function. +!> @param[in] HOLD Real array HOLD(IX,2) Holding the value for field. +!> @param[in] IX Integer X Coordinates of field. +!> @param[in] IY Integer Y Coordinates of field. +!> @param[in] SMTH Real Smoothing operator. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1985-12-09 | S. Benjamin | Original version os smooth +!> 2014-03-03 | S. Moorthi | Threading and slight cleanup +!> 2016-08-08 | S. Moorthi | Modify for cyclic domain +!> +!> @author Stan Benjamin FSL/PROFS @date 1990-06-15 !********************************************************************** !********************************************************************** @@ -164,8 +154,10 @@ SUBROUTINE SMOOTHC (FIELD,HOLD,IX,IY,SMTH) ie(i) = i + 1 iw(i) = i - 1 enddo + ie(1) = 2 ie(ix) = 1 - iw(1) = ix + iw(1) = ix + iw(ix) = ix - 1 ! I1 = 2 I2 = 1 diff --git a/sorc/ncep_post.fd/SOIL_mod.f b/sorc/ncep_post.fd/SOIL_mod.f index 736abe6efa..37f40dae80 100644 --- a/sorc/ncep_post.fd/SOIL_mod.f +++ b/sorc/ncep_post.fd/SOIL_mod.f @@ -1,7 +1,13 @@ +!> @file +!> @brief SOIL declares soil-related variables module soil !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! - real, allocatable :: STC(:,:,:),SMC(:,:,:),SH2O(:,:,:) & - ,SLDPTH(:),RTDPTH(:),SLLEVEL(:) + real, allocatable :: STC(:,:,:) & !< Soil temperature + ,SMC(:,:,:) & !< Volumetric soil moisture + ,SH2O(:,:,:) & !< Liquid volumetric soil moisture + ,SLDPTH(:) & !< Thickness of each soil layer + ,RTDPTH(:) & !< Depth of the bottom of the root zone + ,SLLEVEL(:) !< Soil level end module soil diff --git a/sorc/ncep_post.fd/SURFCE.f b/sorc/ncep_post.fd/SURFCE.f index 749e5cdd03..0b0c6c0b16 100644 --- a/sorc/ncep_post.fd/SURFCE.f +++ b/sorc/ncep_post.fd/SURFCE.f @@ -1,79 +1,107 @@ !> @file -! -!> SUBPROGRAM: SURFCE POST SURFACE BASED FIELDS -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-21 -!! -!! ABSTRACT: -!! THIS ROUTINE POSTS SURFACE BASED FIELDS. -!! -!! PROGRAM HISTORY LOG: -!! - 92-12-21 RUSS TREADON -!! - 94-08-04 MICHAEL BALDWIN - ADDED OUTPUT OF SFC FLUXES OF -!! SENS AND LATENT HEAT AND THETA AT Z0 -!! - 94-11-04 MICHAEL BALDWIN - ADDED INSTANTANEOUS PRECIP TYPE -!! - 96-03-19 MICHAEL BALDWIN - CHANGE SOIL PARAMETERS -!! - 96-09-25 MICHAEL BALDWIN - ADDED SNOW RATIO FROM EXPLICIT SCHEME -!! - 96-10-17 MICHAEL BALDWIN - CHANGED SFCEVP,POTEVP TO ACCUM. TOOK -!! OUT -PTRACE FOR ACSNOW,SSROFF,BGROFF. -!! - 97-04-23 MICHAEL BALDWIN - TOOK OUT -PTRACE FOR ALL PRECIP FIELDS -!! - 98-06-12 T BLACK - CONVERSION FROM 1-D TO 2-D -!! - 98-07-17 MIKE BALDWIN - REMOVED LABL84 -!! - 98-08-18 MIKE BALDWIN - COMPUTE RH OVER ICE -!! - 98-12-22 MIKE BALDWIN - BACK OUT RH OVER ICE -!! - 00-01-04 JIM TUCCILLO - MPI VERSION -!! - 01-10-22 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -!! - 02-06-11 MIKE BALDWIN - WRF VERSION ASSUMING ALL ACCUM VARS -!! HAVE BUCKETS THAT FILL FROM T=00H ON -!! - 02-08-28 H CHUANG - COMPUTE FIELDS AT SHELTER LEVELS FOR WRF -!! - 04-12-09 H CHUANG - ADD ADDITIONAL LSM FIELDS -!! - 05-07-07 BINBIN ZHOU - ADD RSM MODEL -!! - 05-08-24 GEOFF MANIKIN - ADDED DOMINANT PRECIP TYPE -!! - 11-02-06 JUN WANG - ADDED GRIB2 OPTION -!! - 13-08-05 S Moorthi - Eliminate unnecessary arrays (reduce memory) -!! and some cosmetic changes -!! - 14-02-26 S Moorthi - threading datapd assignment -!! - 14-11-26 S Moorthi - cleanup and some bug fix (may be?) -!! - 20-03-25 J MENG - remove grib1 -!! - 20-05-20 J MENG - CALRH unification with NAM scheme -!! - 20-11-10 J MENG - USE UPP_PHYSICS MODULE -!! - 21-03-11 B Cui - change local arrays to dimension (im,jsta:jend) -!! - 21-04-01 J MENG - COMPUTATION ON DEFINED POINTS ONLY -!! - 21-07-26 W Meng - Restrict computation from undefined grids -!! -!! USAGE: CALL SURFCE -!! INPUT ARGUMENT LIST: -!! -!! OUTPUT ARGUMENT LIST: -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! BOUND - ENFORCE LOWER AND UPPER LIMITS ON ARRAY ELEMENTS. -!! DEWPOINT - COMPUTE DEWPOINT TEMPERATURE. -!! CALDRG - COMPUTE SURFACE LAYER DRAG COEFFICENT -!! CALTAU - COMPUTE SURFACE LAYER U AND V WIND STRESSES. -!! -!! LIBRARY: -!! COMMON - CTLBLK -!! RQSTFLD -!! +!> @brief This routine posts surface-based fields. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-21 | RUSS TREADON | Initial +!> 1994-08-04 | MICHAEL BALDWIN | ADDED OUTPUT OF SFC FLUXES OF SENS AND LATENT HEAT AND THETA AT Z0 +!> 1994-11-04 | MICHAEL BALDWIN | ADDED INSTANTANEOUS PRECIP TYPE +!> 1996-03-19 | MICHAEL BALDWIN | CHANGE SOIL PARAMETERS +!> 1996-09-25 | MICHAEL BALDWIN | ADDED SNOW RATIO FROM EXPLICIT SCHEME +!> 1996-10-17 | MICHAEL BALDWIN | CHANGED SFCEVP,POTEVP TO ACCUM. TOOK OUT -PTRACE FOR ACSNOW,SSROFF,BGROFF. +!> 1997-04-23 | MICHAEL BALDWIN | TOOK OUT -PTRACE FOR ALL PRECIP FIELDS +!> 1998-06-12 | T BLACK | CONVERSION FROM 1-D TO 2-D +!> 1998-07-17 | MIKE BALDWIN | REMOVED LABL84 +!> 1998-08-18 | MIKE BALDWIN | COMPUTE RH OVER ICE +!> 1998-12-22 | MIKE BALDWIN | BACK OUT RH OVER ICE +!> 2000-01-04 | JIM TUCCILLO | MPI VERSION +!> 2001-10-22 | H CHUANG | MODIFIED TO PROCESS HYBRID MODEL OUTPUT +!> 2002-06-11 | MIKE BALDWIN | WRF VERSION ASSUMING ALL ACCUM VARS HAVE BUCKETS THAT FILL FROM T=00H ON +!> 2002-08-28 | H CHUANG | COMPUTE FIELDS AT SHELTER LEVELS FOR WRF +!> 2004-12-09 | H CHUANG | ADD ADDITIONAL LSM FIELDS +!> 2005-07-07 | BINBIN ZHOU | ADD RSM MODEL +!> 2005-08-24 | GEOFF MANIKIN | ADDED DOMINANT PRECIP TYPE +!> 2011-02-06 | JUN WANG | ADDED GRIB2 OPTION +!> 2013-08-05 | S Moorthi | Eliminate unnecessary arrays (reduce memory) and some cosmetic changes +!> 2014-02-26 | S Moorthi | threading datapd assignment +!> 2014-11-26 | S Moorthi | cleanup and some bug fix (may be?) +!> 2020-03-25 | J MENG | remove grib1 +!> 2020-05-20 | J MENG | CALRH unification with NAM scheme +!> 2020-11-10 | J MENG | USE UPP_PHYSICS MODULE +!> 2021-03-11 | B Cui | change local arrays to dimension (im,jsta:jend) +!> 2021-04-01 | J MENG | COMPUTATION ON DEFINED POINTS ONLY +!> 2021-07-26 | W Meng | Restrict computation from undefined grids +!> 2021-10-31 | J MENG | 2D DECOMPOSITION +!> 2022-02-01 | E JAMES | Cleaning up GRIB2 encoding for six variables that cause issues with newer wgrib2 builds in RRFS system. +!> 2022-11-16 | E JAMES | Adding dust from RRFS +!> 2022-12-23 | E Aligo | Read six winter weather diagnostics from model. +!> 2023-01-24 | Sam Trahan | store hourly accumulated precip for IFI and bucket time +!> 2023-02-11 | W Meng | Add fix of time accumulation in bucket graupel for FV3 based models +!> 2023-02-23 | E James | Adding coarse PM from RRFS +!> 2023-03-22 | S Trahan | Fixed out-of-bounds access calling BOUND with wrong array dimensions +!> 2023-04-21 | E James | Enabling GSL precip type for RRFS +!> 2023-05-19 | E James | Cleaning up GRIB2 encoding for 1-h max precip rate +!> 2023-06-15 | E James | Correcting bug fix in GSL precip type for RRFS (use 1h pcp, not run total pcp) +!> 2023-10-04 | W Meng | Fix mismatched IDs from 526-530 +!> 2023-10-05 | E James | Correcting bug fix in GSL precip type for RRFS (was using 1000x 1h pcp) +!> 2024-01-23 | E James | Using consistent snow ratio SR from history files throughout GSL precip type diagnosis. +!> 2024-01-30 | A Jensen | Comment out graupel precipitation warning. +!> 2024-02-07 | E James | Enabling output of LAI and wilting point for RRFS. +!> 2024-03-25 | E James | Enabling output of column integrated soil moisture. +!> 2024-04-03 | E James | Enabling output of hourly average smoke PM2.5 and dust PM10 +!> 2024-04-23 | E James | Adding smoke emissions (ebb) from RRFS +!> 2024-05-01 | E James | Adapt the BUCKET1 type fields (15-min acc) for use in RRFS +!> 2024-05-24 | E James | Modify the run total acc precip fields for 15-min output +!> 2024-06-11 | E James | Modifying RRFS hourly average smoke/dust fields to be PM2.5 and PM20 +!> 2024-08-26 | K Asmar | Modify max winds at 10m agl for UFS time buckets +!> 2024-10-29 | W Meng | Unify iSF_SURFACE_PHYSICS as:1 for NOHA,2 for NOAH MP,3 for RUC +!> 2025-02-27 | S Trahan | Update comment to match new use of IFI_APCP in IFI.F +!> 2025-05-05 | B Blake | Add sanity checks for RRFSv1 implementation +!> 2025-05-08 | J Kenyon | Add HAIL_BUCKET accumulation +!> 2025-07-15 | J Duda | Read/process sub-hourly average precip rates from MPAS(SIT) - also turned off IGET(244) entry because it is not used and duplicates MAXREFC in MDLFLD.f +!> 2025-08-25 | B Blake | Change UPP ID for accumulated grid-scale snow/ice to 248 +!> 2025-08-28 | J Kenyon | Remove outdated MRSHLTR array and the associated functionality for +!> | ID 414; the QV2M array (ID 760) can be used instead +!> 2025-09-11 | W Meng | Set surface spfh to missing when not available +!> 2025-10-21 | J Kenyon | For ID 434 (BUCKET_APCP_ON_SURFACE), remove the assumption (and the hard coding) +!> | of a 1-h accumulation interval +!> +!> @note +!> USAGE: CALL SURFCE +!> @note +!> OUTPUT FILES: +!> NONE +!> @note +!> SUBPROGRAMS CALLED: +!> UTILITIES: +!> @li BOUND - ENFORCE LOWER AND UPPER LIMITS ON ARRAY ELEMENTS. +!> @li DEWPOINT - COMPUTE DEWPOINT TEMPERATURE. +!> @li CALDRG - COMPUTE SURFACE LAYER DRAG COEFFICENT +!> @li CALTAU - COMPUTE SURFACE LAYER U AND V WIND STRESSES. +!> @note +!> LIBRARY: +!> COMMON - @li CTLBLK +!> @li RQSTFLD +!> +!-------------------------------------------------------------------- +!> SURFCE posts surface-based fields. SUBROUTINE SURFCE ! ! ! INCLUDE GRID DIMENSIONS. SET/DERIVE OTHER PARAMETERS. ! - use vrbls4d, only: smoke + use vrbls4d, only: smoke, fv3dust, coarsepm, ebb use vrbls3d, only: zint, pint, t, pmid, q, f_rimef use vrbls2d, only: ths, qs, qvg, qv2m, tsnow, tg, smstav, smstot, & cmc, sno, snoavg, psfcavg, t10avg, snonc, ivgtyp, & si, potevp, dzice, qwbs, vegfrc, isltyp, pshltr, & - tshltr, qshltr, mrshltr, maxtshltr, mintshltr, & + tshltr, qshltr, maxtshltr, mintshltr, & maxrhshltr, minrhshltr, u10, psfcavg, v10, u10max, & v10max, th10, t10m, q10, wspd10max, & wspd10umax, wspd10vmax, prec, sr, & + max_prate_1min,max_prate_5min,max_prate_10min, & cprate, avgcprate, avgprec, acprec, cuprec, ancprc, & lspa, acsnow, acsnom, snowfall,ssroff, bgroff, & runoff, pcp_bucket, rainnc_bucket, snow_bucket, & @@ -89,7 +117,10 @@ SUBROUTINE SURFCE acond,maxqshltr,minqshltr,avgpotevp,AVGPREC_CONT, & AVGCPRATE_CONT,sst,pcp_bucket1,rainnc_bucket1, & snow_bucket1, rainc_bucket1, graup_bucket1, & - shdmin, shdmax, lai, ch10,cd10 + frzrn_bucket, snow_acm, snow_bkt, hail_bucket, & + shdmin, shdmax, lai, ch10,cd10,landfrac,paha,pahi, & + tecan,tetran,tedir,twa,IFI_APCP,xlaixy, & + smoke_ave,dust_ave,coarsepm_ave use soil, only: stc, sllevel, sldpth, smc, sh2o use masks, only: lmh, sm, sice, htm, gdlat, gdlon use physcons_post,only: CON_EPS, CON_EPSM1 @@ -98,11 +129,14 @@ SUBROUTINE SURFCE elocp, g, xlai, tfrz, rd use ctlblk_mod, only: jsta, jend, lm, spval, grib, cfld, fld_info, & datapd, nsoil, isf_surface_physics, tprec, ifmin,& - modelname, tmaxmin, pthresh, dtq2, dt, nphs, & + modelname, submodelname, & + tmaxmin, pthresh, dtq2, dt, nphs, & ifhr, prec_acc_dt, sdat, ihrst, jsta_2l, jend_2u,& lp1, imp_physics, me, asrfc, tsrfc, pt, pdtop, & - mpi_comm_comp, im, jm, prec_acc_dt1 + mpi_comm_comp, im, jm, prec_acc_dt1, & + ista, iend, ista_2l, iend_2u use rqstfld_mod, only: iget, lvls, id, iavblfld, lvlsxml + use grib2_module, only: read_grib2_head, read_grib2_sngle use upp_physics, only: fpvsnew, CALRH !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none @@ -124,7 +158,7 @@ SUBROUTINE SURFCE ! ! DECLARE VARIABLES. ! - integer, dimension(im,jsta:jend) :: nroots, iwx1 + integer, dimension(ista:iend,jsta:jend) :: nroots, iwx1 real, allocatable, dimension(:,:) :: zsfc, psfc, tsfc, qsfc, & rhsfc, thsfc, dwpsfc, p1d, & t1d, q1d, zwet, & @@ -132,11 +166,11 @@ SUBROUTINE SURFCE domip, domzr, rsmin, smcref,& rcq, rct, rcsoil, gc, rcs - real, dimension(im,jsta:jend) :: evp - real, dimension(im,jsta_2l:jend_2u) :: egrid1, egrid2 - real, dimension(im,jsta_2l:jend_2u) :: grid2 + real, dimension(ista:iend,jsta:jend) :: evp + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: egrid1, egrid2 + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: grid2 real, dimension(im,jm) :: grid1 - real, dimension(im,jsta_2l:jend_2u) :: iceg + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: iceg ! , ua, va real, allocatable, dimension(:,:,:) :: sleet, rain, freezr, snow ! real, dimension(im,jm,nalg) :: sleet, rain, freezr, snow @@ -152,8 +186,13 @@ SUBROUTINE SURFCE real RDTPHS,TLOW,TSFCK,QSAT,DTOP,DBOT,SNEQV,RRNUM,SFCPRS,SFCQ, & RC,SFCTMP,SNCOVR,FACTRS,SOLAR, s,tk,tl,w,t2c,dlt,APE, & qv,e,dwpt,dum1,dum2,dum3,dum1s,dum3s,dum21,dum216,es - logical, parameter :: debugprint = .false. + character(len=256) :: ffgfile + character(len=256) :: arifile + + logical file_exists, need_ifi + + logical, parameter :: debugprint = .false. !**************************************************************************** ! @@ -168,14 +207,14 @@ SUBROUTINE SURFCE IF ( (IGET(024)>0).OR.(IGET(025)>0).OR. & (IGET(026)>0).OR.(IGET(027)>0).OR. & (IGET(028)>0).OR.(IGET(029)>0).OR. & - (IGET(154)>0).OR. & + (IGET(154)>0).OR. & (IGET(034)>0).OR.(IGET(076)>0) ) THEN ! - allocate(zsfc(im,jsta:jend), psfc(im,jsta:jend), tsfc(im,jsta:jend)& - ,rhsfc(im,jsta:jend), thsfc(im,jsta:jend), qsfc(im,jsta:jend)) + allocate(zsfc(ista:iend,jsta:jend), psfc(ista:iend,jsta:jend), tsfc(ista:iend,jsta:jend)& + ,rhsfc(ista:iend,jsta:jend), thsfc(ista:iend,jsta:jend), qsfc(ista:iend,jsta:jend)) !$omp parallel do private(i,j,tsfck,qsat,es) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! ! SCALE ARRAY FIS BY GI TO GET SURFACE HEIGHT. ! ZSFC(I,J)=FIS(I,J)*GI @@ -199,8 +238,8 @@ SUBROUTINE SURFCE QSFC(I,J) = spval RHSFC(I,J) = spval EVP(I,J) = spval - IF(TSFC(I,J) < spval) then - IF(QS(I,J)0) THEN - allocate(dwpsfc(im,jsta:jend)) + allocate(dwpsfc(ista:iend,jsta:jend)) CALL DEWPOINT(EVP,DWPSFC) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(029)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = DWPSFC(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = DWPSFC(ii,jj) enddo enddo endif @@ -338,15 +383,19 @@ SUBROUTINE SURFCE ! ! SURFACE RELATIVE HUMIDITY. IF (IGET(076)>0) THEN - CALL BOUND(RHSFC,H1,H100) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(076)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = RHSFC(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + if(RHSFC(ii,jj) /= spval) then + datapd(i,j,cfld) = max(H1,min(H100,RHSFC(ii,jj))) + else + datapd(i,j,cfld) = spval + endif enddo enddo endif @@ -362,11 +411,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(762)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = QVG(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = QVG(ii,jj) enddo enddo endif @@ -378,11 +428,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(760)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = QV2M(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = QV2M(ii,jj) enddo enddo endif @@ -393,11 +444,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(761)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = TSNOW(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = TSNOW(ii,jj) enddo enddo endif @@ -408,11 +460,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(724)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = SNFDEN(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = SNFDEN(ii,jj) enddo enddo endif @@ -445,12 +498,25 @@ SUBROUTINE SURFCE cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(725)) fld_info(cfld)%ntrange=1 - fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) + if(ifmin>1)then + fld_info(cfld)%tinvstat=IFHR*60+IFMIN + else + fld_info(cfld)%tinvstat=IFHR + endif +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = SNDEPAC(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + if(SNDEPAC(ii,jj)0.and.grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(571)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = TG(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = TG(ii,jj) enddo enddo endif @@ -614,9 +688,13 @@ SUBROUTINE SURFCE IF (IGET(171)>0) THEN !!$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(SMSTAV(I,J) /= SPVAL)THEN - GRID1(I,J) = SMSTAV(I,J)*100. + IF ( MODELNAME == 'FV3R') THEN + GRID1(I,J) = SMSTAV(I,J) + ELSE + GRID1(I,J) = SMSTAV(I,J)*100. + ENDIF ELSE GRID1(I,J) = 0. ENDIF @@ -625,11 +703,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(171)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -639,7 +718,7 @@ SUBROUTINE SURFCE IF (IGET(036)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(SMSTOT(I,J)/=SPVAL) THEN IF(SM(I,J) > SMALL .AND. SICE(I,J) < SMALL) THEN GRID1(I,J) = 1000.0 ! TEMPORY FIX TO MAKE SURE SMSTOT=1 FOR WATER @@ -654,11 +733,38 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(036)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF +! +! TOTAL SOIL MOISTURE + IF (IGET(713)>0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND +! IF(SMSTOT(I,J)/=SPVAL) THEN + GRID1(I,J) = SMSTOT(I,J) +! ELSE +! GRID1(I,J) = SPVAL +! ENDIF + ENDDO + ENDDO + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(713)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -669,7 +775,7 @@ SUBROUTINE SURFCE IF(MODELNAME == 'RAPR') THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(CMC(I,J) /= SPVAL) then GRID1(I,J) = CMC(I,J) else @@ -680,7 +786,7 @@ SUBROUTINE SURFCE else !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(CMC(I,J) /= SPVAL) then GRID1(I,J) = CMC(I,J)*1000. else @@ -692,11 +798,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(118)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -708,11 +815,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(119)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = SNO(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = SNO(ii,jj) enddo enddo endiF @@ -723,7 +831,7 @@ SUBROUTINE SURFCE ! GRID1=SPVAL !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! GRID1(I,J) = 100.*SNOAVG(I,J) GRID1(I,J) = SNOAVG(I,J) if (SNOAVG(I,J) /= spval) GRID1(I,J) = 100.*SNOAVG(I,J) @@ -759,11 +867,12 @@ SUBROUTINE SURFCE fld_info(cfld)%tinvstat=IFHR-ID(18) ! fld_info(cfld)%ntrange=IFHR-ID(18) ! fld_info(cfld)%tinvstat=1 -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -780,16 +889,22 @@ SUBROUTINE SURFCE ID(18) = IFHR - 1 ENDIF ID(20) = 3 + ITSRFC = NINT(TSRFC) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(501)) - fld_info(cfld)%ntrange=IFHR-ID(18) - fld_info(cfld)%tinvstat=1 -!$omp parallel do private(i,j,jj) + if(ITSRFC>0) then + fld_info(cfld)%ntrange=1 + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=IFHR-ID(18) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = PSFCAVG(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = PSFCAVG(ii,jj) enddo enddo endif @@ -809,26 +924,32 @@ SUBROUTINE SURFCE ISVALUE = 10 ID(10) = MOD(ISVALUE/256,256) ID(11) = MOD(ISVALUE,256) + ITSRFC = NINT(TSRFC) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(502)) - fld_info(cfld)%ntrange=IFHR-ID(18) - fld_info(cfld)%tinvstat=1 -!$omp parallel do private(i,j,jj) + if(ITSRFC>0) then + fld_info(cfld)%ntrange=1 + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=IFHR-ID(18) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = T10AVG(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = T10AVG(ii,jj) enddo enddo endif ENDIF ! ! ACM GRID SCALE SNOW AND ICE - IF ( IGET(244)>0 ) THEN + IF ( IGET(248)>0 ) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SNONC(I,J) ENDDO ENDDO @@ -856,8 +977,8 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(244)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + fld_info(cfld)%ifld=IAVBLFLD(IGET(248)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -865,7 +986,7 @@ SUBROUTINE SURFCE IF ( IGET(120)>0 ) THEN GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! GRID1(I,J)=PCTSNO(I,J) IF ( SNO(I,J) /= SPVAL ) THEN SNEQV = SNO(I,J) @@ -880,23 +1001,24 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(120)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF ! ADD SNOW DEPTH IF ( IGET(224)>0 ) THEN - ii = im/2 + ii = (ista+iend)/2 jj = (jsta+jend)/2 ! GRID1=SPVAL !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SPVAL IF(SI(I,J) /= SPVAL) GRID1(I,J) = SI(I,J)*0.001 ! SI comes out of WRF in mm ENDDO @@ -905,11 +1027,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(224)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -919,11 +1042,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(242)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = POTEVP(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = POTEVP(ii,jj) enddo enddo endif @@ -933,11 +1057,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(349)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = DZICE(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = DZICE(ii,jj) enddo enddo endif @@ -947,7 +1072,7 @@ SUBROUTINE SURFCE ! ONLY OUTPUT NEW LSM FIELDS FOR NMM AND ARW BECAUSE RSM USES OLD SOIL TYPES IF (MODELNAME == 'NCAR'.OR. MODELNAME == 'NMM' & .OR. MODELNAME == 'FV3R' .OR. MODELNAME == 'RAPR') THEN -! write(0,*)'in surf,isltyp=',maxval(isltyp(1:im,jsta:jend)), & +! write(*,*)'in surf,isltyp=',maxval(isltyp(1:im,jsta:jend)), & ! minval(isltyp(1:im,jsta:jend)),'qwbs=',maxval(qwbs(1:im,jsta:jend)), & ! minval(qwbs(1:im,jsta:jend)),'potsvp=',maxval(potevp(1:im,jsta:jend)), & ! minval(potevp(1:im,jsta:jend)),'sno=',maxval(sno(1:im,jsta:jend)), & @@ -959,10 +1084,10 @@ SUBROUTINE SURFCE .OR.IGET(230)>0 .OR. IGET(231)>0 & .OR.IGET(232)>0 .OR. IGET(233)>0) THEN - allocate(smcdry(im,jsta:jend), & - smcmax(im,jsta:jend)) + allocate(smcdry(ista:iend,jsta:jend), & + smcmax(ista:iend,jsta:jend)) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! ---------------------------------------------------------------------- ! IF(QWBS(I,J)>0.001)print*,'NONZERO QWBS',i,j,QWBS(I,J) ! IF(abs(SM(I,J)-0.)<1.0E-5)THEN @@ -988,11 +1113,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(228)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = ECAN(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = ECAN(ii,jj) enddo enddo endiF @@ -1002,11 +1128,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(229)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = EDIR(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = EDIR(ii,jj) enddo enddo endif @@ -1016,7 +1143,7 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(230)) - datapd(1:im,1:jend-jsta+1,cfld) = ETRANS(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = ETRANS(ista:iend,jsta:jend) endif ENDIF @@ -1024,7 +1151,7 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(231)) - datapd(1:im,1:jend-jsta+1,cfld) = ESNOW(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = ESNOW(ista:iend,jsta:jend) endif ENDIF @@ -1032,11 +1159,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(232)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = SMCDRY(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = SMCDRY(ii,jj) enddo enddo endif @@ -1046,11 +1174,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(233)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = SMCMAX(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = SMCMAX(ii,jj) enddo enddo endif @@ -1070,11 +1199,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(512)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = acond(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = acond(ii,jj) enddo enddo endiF @@ -1108,11 +1238,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = avgECAN(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = avgECAN(ii,jj) enddo enddo endiF @@ -1146,11 +1277,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = avgEDIR(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = avgEDIR(ii,jj) enddo enddo endif @@ -1184,7 +1316,7 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld) = avgETRANS(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = avgETRANS(ista:iend,jsta:jend) endif ENDIF @@ -1216,10 +1348,227 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld) = avgESNOW(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = avgESNOW(ista:iend,jsta:jend) endif ENDIF + IF ( IGET(996)>0 )THEN + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(996)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = LANDFRAC(ii,jj) + enddo + enddo + endif + ENDIF + + IF ( IGET(997)>0 )THEN + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(997)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = PAHI(ii,jj) + enddo + enddo + endif + ENDIF + + IF ( IGET(998)>0 )THEN + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(998)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = TWA(ii,jj) + enddo + enddo + endif + ENDIF + + IF ( IGET(999)>0 )THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = TECAN(I,J) + ENDDO + ENDDO + ID(1:25) = 0 + ITPREC = NINT(TPREC) + if (ITPREC /= 0) then + IFINCR = MOD(IFHR,ITPREC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITPREC*60) + else + IFINCR = 0 + endif + ID(18) = 0 + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 4 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITPREC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(999)) + fld_info(cfld)%ntrange=1 + fld_info(cfld)%tinvstat=IFHR-ID(18) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + + IF ( IGET(1000)>0 )THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = TETRAN(I,J) + ENDDO + ENDDO + ID(1:25) = 0 + ITPREC = NINT(TPREC) + if (ITPREC /= 0) then + IFINCR = MOD(IFHR,ITPREC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITPREC*60) + else + IFINCR = 0 + endif + ID(18) = 0 + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 4 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITPREC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1000)) + fld_info(cfld)%ntrange=1 + fld_info(cfld)%tinvstat=IFHR-ID(18) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF +! + IF ( IGET(1001)>0 )THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = TEDIR(I,J) + ENDDO + ENDDO + ID(1:25) = 0 + ITPREC = NINT(TPREC) + if (ITPREC /= 0) then + IFINCR = MOD(IFHR,ITPREC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITPREC*60) + else + IFINCR = 0 + endif + ID(18) = 0 + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 4 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITPREC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1001)) + fld_info(cfld)%ntrange=1 + fld_info(cfld)%tinvstat=IFHR-ID(18) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF +! + + IF (IGET(1002)>0) THEN + IF(ASRFC>0.)THEN + RRNUM=1./ASRFC + ELSE + RRNUM=0. + ENDIF + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(PAHA(I,J)/=SPVAL)THEN + GRID1(I,J)=-1.*PAHA(I,J)*RRNUM !change the sign to conform with Grib + ELSE + GRID1(I,J)=PAHA(I,J) + END IF + ENDDO + ENDDO + ID(1:25) = 0 + ITSRFC = NINT(TSRFC) + IF(ITSRFC /= 0) then + IFINCR = MOD(IFHR,ITSRFC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITSRFC*60) + ELSE + IFINCR = 0 + endif + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 3 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITSRFC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1002)) + if(ITSRFC>0) then + fld_info(cfld)%ntrange=1 + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=IFHR-ID(18) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) + endif + ENDIF ! ! ! @@ -1229,17 +1578,17 @@ SUBROUTINE SURFCE ! IF ( (IGET(106)>0).OR.(IGET(112)>0).OR. & (IGET(113)>0).OR.(IGET(114)>0).OR. & - (IGET(138)>0).OR.(IGET(414)>0).OR. & + (IGET(138)>0).OR. & (IGET(546)>0).OR.(IGET(547)>0).OR. & - (IGET(548)>0).OR.(IGET(739)>0).OR. & - (IGET(771)>0)) THEN + (IGET(548)>0).OR.(IGET(558)>0).OR. & + (IGET(739)>0).OR.(IGET(744)>0)) THEN - if (.not. allocated(psfc)) allocate(psfc(im,jsta:jend)) + if (.not. allocated(psfc)) allocate(psfc(ista:iend,jsta:jend)) ! !HC COMPUTE SHELTER PRESSURE BECAUSE IT WAS NOT OUTPUT FROM WRF IF(MODELNAME == 'NCAR' .OR. MODELNAME=='RSM'.OR. MODELNAME=='RAPR')THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND TLOW = T(I,J,NINT(LMH(I,J))) PSFC(I,J) = PINT(I,J,NINT(LMH(I,J))+1) !May not have been set above PSHLTR(I,J) = PSFC(I,J)*EXP(-0.068283/TLOW) @@ -1256,43 +1605,43 @@ SUBROUTINE SURFCE IF (IGET(106)>0) THEN GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! GRID1(I,J)=TSHLTR(I,J) !HC CONVERT FROM THETA TO T if(tshltr(i,j)/=spval)GRID1(I,J)=TSHLTR(I,J)*(PSHLTR(I,J)*1.E-5)**CAPA - IF(GRID1(I,J)<200)PRINT*,'ABNORMAL 2MT ',i,j, & - TSHLTR(I,J),PSHLTR(I,J) -! TSHLTR(I,J)=GRID1(I,J) +! IF(GRID1(I,J)<200)PRINT*,'ABNORMAL 2MT ',i,j, & +! TSHLTR(I,J),PSHLTR(I,J) +!! TSHLTR(I,J)=GRID1(I,J) ENDDO ENDDO -! print *,'2m tmp=',maxval(TSHLTR(1:im,jsta:jend)), & -! minval(TSHLTR(1:im,jsta:jend)),TSHLTR(1:3,jsta),'grd=',grid1(1:3,jsta) +! print *,'2m tmp=',maxval(TSHLTR(ista:iend,jsta:jend)), & +! minval(TSHLTR(ista:iend,jsta:jend)),TSHLTR(1:3,jsta),'grd=',grid1(1:3,jsta) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(106)) - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif ENDIF ! ! SHELTER LEVEL POT TEMP IF (IGET(546)>0) THEN -! GRID1=spval + GRID1=spval ! DO J=JSTA,JEND -! DO I=1,IM +! DO I=ISTA,IEND ! GRID1(I,J)=TSHLTR(I,J) ! ENDDO ! ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(546)) - datapd(1:im,1:jend-jsta+1,cfld) = TSHLTR(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = TSHLTR(ista:iend,jsta:jend) endif ENDIF ! ! SHELTER LEVEL SPECIFIC HUMIDITY. IF (IGET(112)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = QSHLTR(I,J) ENDDO ENDDO @@ -1300,30 +1649,16 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(112)) - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif ENDIF -! GRID1 -! SHELTER MIXING RATIO. - IF (IGET(414)>0) THEN - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = MRSHLTR(I,J) - ENDDO - ENDDO - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(414)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) - endif - ENDIF -! + ! SHELTER LEVEL DEWPOINT, DEWPOINT DEPRESSION AND SFC EQUIV POT TEMP. - allocate(p1d(im,jsta:jend), t1d(im,jsta:jend)) + allocate(p1d(ista:iend,jsta:jend), t1d(ista:iend,jsta:jend)) IF ((IGET(113)>0) .OR.(IGET(547)>0).OR.(IGET(548)>0)) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND !tgs The next 4 lines are GSD algorithm for Dew Point computation !tgs Results are very close to dew point computed in DEWPOINT subroutine @@ -1345,14 +1680,14 @@ SUBROUTINE SURFCE ENDIF ENDDO ENDDO - CALL DEWPOINT(EVP,EGRID1(1,jsta)) + CALL DEWPOINT(EVP,EGRID1(ista:iend,jsta:jend)) ! print *,' MAX DEWPOINT',maxval(egrid1) ! DEWPOINT IF (IGET(113)>0) THEN GRID1=spval if(MODELNAME=='RAPR')THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! DEWPOINT can't be higher than T2 t2=TSHLTR(I,J)*(PSHLTR(I,J)*1.E-5)**CAPA if(qshltr(i,j)/=spval)GRID1(I,J)=min(EGRID1(I,J),T2) @@ -1360,7 +1695,7 @@ SUBROUTINE SURFCE ENDDO else DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(qshltr(i,j)/=spval) GRID1(I,J) = EGRID1(I,J) ENDDO ENDDO @@ -1368,33 +1703,33 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(113)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !------------------------------------------------------------------------- ! DEWPOINT at level 1 ------ p1d and t1d are undefined !! -- Moorthi - IF (IGET(771)>0) THEN + IF (IGET(558)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND EVP(I,J)=P1D(I,J)*QVl1(I,J)/(EPS+ONEPS*QVl1(I,J)) EVP(I,J)=EVP(I,J)*D001 ENDDO ENDDO - CALL DEWPOINT(EVP,EGRID1(1,jsta)) + CALL DEWPOINT(EVP,EGRID1(ista:iend,jsta:jend)) ! print *,' MAX DEWPOINT at level 1',maxval(egrid1) GRID1=spval DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND !tgs 30 dec 2013 - 1st leel dewpoint can't be higher than 1-st level temperature if(qvl1(i,j)/=spval)GRID1(I,J) = min(EGRID1(I,J),T1D(I,J)) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(771)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + fld_info(cfld)%ifld=IAVBLFLD(IGET(558)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !------------------------------------------------------------------------- @@ -1404,7 +1739,7 @@ SUBROUTINE SURFCE GRID1=SPVAL GRID2=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(TSHLTR(I,J)/=spval.and.PSHLTR(I,J)/=spval.and.QSHLTR(I,J)/=spval) then ! DEWPOINT DEPRESSION in GRID1 GRID1(i,j)=max(0.,TSHLTR(I,J)*(PSHLTR(I,J)*1.E-5)**CAPA-EGRID1(i,j)) @@ -1424,7 +1759,7 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(547)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -1432,7 +1767,7 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(548)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID2(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID2(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -1442,10 +1777,10 @@ SUBROUTINE SURFCE ! ! SHELTER LEVEL RELATIVE HUMIDITY AND APPARENT TEMPERATURE IF (IGET(114) > 0 .OR. IGET(808) > 0) THEN - allocate(q1d(im,jsta:jend)) + allocate(q1d(ista:iend,jsta:jend)) !$omp parallel do private(i,j,llmh) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(MODELNAME=='RAPR')THEN LLMH = NINT(LMH(I,J)) ! P1D(I,J)=PINT(I,J,LLMH+1) @@ -1459,12 +1794,12 @@ SUBROUTINE SURFCE ENDDO ENDDO - CALL CALRH(P1D,T1D,Q1D,EGRID1(1,jsta)) + CALL CALRH(P1D,T1D,Q1D,EGRID1(ista:iend,jsta:jend)) if (allocated(q1d)) deallocate(q1d) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(qshltr(i,j) /= spval)then GRID1(I,J) = EGRID1(I,J)*100. else @@ -1477,11 +1812,12 @@ SUBROUTINE SURFCE if(grib == 'grib2') then cfld = cfld+1 fld_info(cfld)%ifld = IAVBLFLD(IGET(114)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1491,7 +1827,7 @@ SUBROUTINE SURFCE GRID2=SPVAL !$omp parallel do private(i,j,dum1,dum2,dum3,dum216,dum1s,dum3s) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(T1D(I,J)/=spval.and.U10H(I,J)/=spval.and.V10H(I,J)0) THEN ! DO J=JSTA,JEND -! DO I=1,IM +! DO I=ISTA,IEND ! GRID1(I,J)=PSHLTR(I,J) ! ENDDO ! ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(138)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = PSHLTR(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = PSHLTR(ii,jj) enddo enddo endif @@ -1568,7 +1906,7 @@ SUBROUTINE SURFCE ! SHELTER LEVEL MAX TEMPERATURE. IF (IGET(345)>0) THEN ! DO J=JSTA,JEND -! DO I=1,IM +! DO I=ISTA,IEND ! GRID1(I,J)=MAXTSHLTR(I,J) ! ENDDO ! ENDDO @@ -1602,11 +1940,12 @@ SUBROUTINE SURFCE endif fld_info(cfld)%tinvstat=IFHR-ID(18) if(IFHR==0) fld_info(cfld)%tinvstat=0 -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = MAXTSHLTR(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = MAXTSHLTR(ii,jj) enddo enddo endif @@ -1616,7 +1955,7 @@ SUBROUTINE SURFCE IF (IGET(346)>0) THEN !!$omp parallel do private(i,j) ! DO J=JSTA,JEND -! DO I=1,IM +! DO I=ISTA,IEND ! GRID1(I,J) = MINTSHLTR(I,J) ! ENDDO ! ENDDO @@ -1648,11 +1987,12 @@ SUBROUTINE SURFCE endif fld_info(cfld)%tinvstat=IFHR-ID(18) if(IFHR==0) fld_info(cfld)%tinvstat=0 -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = MINTSHLTR(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = MINTSHLTR(ii,jj) enddo enddo endif @@ -1662,7 +2002,7 @@ SUBROUTINE SURFCE IF (IGET(347)>0) THEN GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(MAXRHSHLTR(I,J)/=spval) GRID1(I,J)=MAXRHSHLTR(I,J)*100. ENDDO ENDDO @@ -1700,11 +2040,12 @@ SUBROUTINE SURFCE if(IFHR==0) fld_info(cfld)%tinvstat=0 ! print*,'id(18),tinvstat,IFHR,ITMAXMIN in rhmax= ',ID(18),fld_info(cfld)%tinvstat, & ! IFHR, ITMAXMIN -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1714,7 +2055,7 @@ SUBROUTINE SURFCE IF (IGET(348)>0) THEN GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(MINRHSHLTR(I,J)/=spval) GRID1(I,J)=MINRHSHLTR(I,J)*100. ENDDO ENDDO @@ -1750,11 +2091,12 @@ SUBROUTINE SURFCE ! fld_info(cfld)%tinvstat=ITMAXMIN fld_info(cfld)%tinvstat=IFHR-ID(18) if(IFHR==0) fld_info(cfld)%tinvstat=0 -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -1790,11 +2132,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=1 endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = maxqshltr(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = maxqshltr(ii,jj) enddo enddo endif @@ -1829,11 +2172,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=1 endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = minqshltr(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = minqshltr(ii,jj) enddo enddo endif @@ -1844,74 +2188,209 @@ SUBROUTINE SURFCE IF (IGET(739)>0) THEN GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(T(I,J,LM)/=spval.and.PMID(I,J,LM)/=spval.and.SMOKE(I,J,LM,1)/=spval)& - GRID1(I,J) = (1./RD)*(PMID(I,J,LM)/T(I,J,LM))*SMOKE(I,J,LM,1) + GRID1(I,J) = (1./RD)*(PMID(I,J,LM)/T(I,J,LM))*SMOKE(I,J,LM,1)/(1E9) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(739)) - datapd(1:im,1:jend-jsta+1,cfld) = GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif ENDIF ! -! BLOCK 3. ANEMOMETER LEVEL (10M) WINDS, THETA, AND Q. -! - IF ( (IGET(064)>0).OR.(IGET(065)>0).OR. & - (IGET(506)>0).OR.(IGET(507)>0) ) THEN +! E. James - 14 Sep 2022: DUST from RRFS on lowest model level ! -! ANEMOMETER LEVEL U WIND AND/OR V WIND. - IF ((IGET(064)>0).OR.(IGET(065)>0)) THEN -!$omp parallel do private(i,j) + IF (IGET(744)>0) THEN + GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J) = U10(I,J) - GRID2(I,J) = V10(I,J) + DO I=ISTA,IEND + if(T(I,J,LM)/=spval.and.PMID(I,J,LM)/=spval.and.FV3DUST(I,J,LM,1)/=spval)& + GRID1(I,J) = (1./RD)*(PMID(I,J,LM)/T(I,J,LM))*FV3DUST(I,J,LM,1)/(1E9) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(064)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(065)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) - enddo - enddo + fld_info(cfld)%ifld=IAVBLFLD(IGET(744)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) endif ENDIF -! GSD - Time-averaged wind speed (forecast time labels will all be in minutes) - IF (IGET(730)>0) THEN - IFINCR = 5 - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=SPDUV10MEAN(I,J) - ENDDO - ENDDO - if(grib=='grib2') then -! print*,'Outputting time-averaged winds' - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(730)) - if(fld_info(cfld)%ntrange==0) then - if (ifhr==0 .and. ifmin==0) then - fld_info(cfld)%tinvstat=0 - else +! +! Hourly averaged surface PM2.5 +! + IF (IGET(759)>0) THEN + GRID1=SPVAL + DO J=JSTA,JEND + DO I=ISTA,IEND + if(T(I,J,LM)/=spval.and.PMID(I,J,LM)/=spval.and.SMOKE_AVE(I,J)/=spval)& + GRID1(I,J) = (1./RD)*(PMID(I,J,LM)/T(I,J,LM))*(SMOKE_AVE(I,J)+DUST_AVE(I,J))/(1E9) + ENDDO + ENDDO + ID(1:25) = 0 + ITSRFC = NINT(TSRFC) + IF(ITSRFC /= 0) then + IFINCR = MOD(IFHR,ITSRFC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITSRFC*60) + ELSE + IFINCR = 0 + ENDIF + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 3 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITSRFC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(759)) + if(ITSRFC>0) then + fld_info(cfld)%ntrange=1 + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=IFHR-ID(18) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) + endif + ENDIF +! +! Hourly averaged dust PM10 +! + IF (IGET(771)>0) THEN + GRID1=SPVAL + DO J=JSTA,JEND + DO I=ISTA,IEND + if(T(I,J,LM)/=spval.and.PMID(I,J,LM)/=spval.and.DUST_AVE(I,J)/=spval)& + GRID1(I,J) = (1./RD)*(PMID(I,J,LM)/T(I,J,LM))*(SMOKE_AVE(I,J)+DUST_AVE(I,J)+COARSEPM_AVE(I,J))/(1E9) + ENDDO + ENDDO + ID(1:25) = 0 + ITSRFC = NINT(TSRFC) + IF(ITSRFC /= 0) then + IFINCR = MOD(IFHR,ITSRFC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITSRFC*60) + ELSE + IFINCR = 0 + ENDIF + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 3 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITSRFC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(771)) + if(ITSRFC>0) then + fld_info(cfld)%ntrange=1 + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=IFHR-ID(18) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) + endif + ENDIF +! +! E. James - 23 Feb 2023: COARSEPM from RRFS on lowest model level +! + IF (IGET(1014)>0) THEN + GRID1=SPVAL + DO J=JSTA,JEND + DO I=ISTA,IEND + if(T(I,J,LM)/=spval.and.PMID(I,J,LM)/=spval.and.COARSEPM(I,J,LM,1)/=spval)& + GRID1(I,J) = (1./RD)*(PMID(I,J,LM)/T(I,J,LM))*COARSEPM(I,J,LM,1)/(1E9) + ENDDO + ENDDO + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1014)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) + endif + ENDIF +! +! E. James - 23 Apr 2024: EBB from RRFS on lowest model level +! + IF (IGET(1017)>0) THEN + GRID1=SPVAL + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = EBB(I,J,LM,1)/(1E9) + ENDDO + ENDDO + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1017)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld) = GRID1(ista:iend,jsta:jend) + endif + ENDIF +! +! +! BLOCK 3. ANEMOMETER LEVEL (10M) WINDS, THETA, AND Q. +! + IF ( (IGET(064)>0).OR.(IGET(065)>0).OR. & + (IGET(506)>0).OR.(IGET(507)>0) ) THEN +! +! ANEMOMETER LEVEL U WIND AND/OR V WIND. + IF ((IGET(064)>0).OR.(IGET(065)>0)) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = U10(I,J) + GRID2(I,J) = V10(I,J) + ENDDO + ENDDO + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(064)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(065)) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) + enddo + enddo + endif + ENDIF +! GSD - Time-averaged wind speed (forecast time labels will all be in minutes) + IF (IGET(730)>0) THEN + IFINCR = 5 + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J)=SPDUV10MEAN(I,J) + ENDDO + ENDDO + if(grib=='grib2') then +! print*,'Outputting time-averaged winds' + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(730)) + if(fld_info(cfld)%ntrange==0) then + if (ifhr==0 .and. ifmin==0) then + fld_info(cfld)%tinvstat=0 + else fld_info(cfld)%tinvstat=IFINCR endif fld_info(cfld)%ntrange=1 end if - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF !--- @@ -1919,7 +2398,7 @@ SUBROUTINE SURFCE IF (IGET(731)>0) THEN IFINCR = 5 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=U10MEAN(I,J) ENDDO ENDDO @@ -1934,14 +2413,14 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 end if - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! GSD - Time-averaged V wind speed (forecast time labels will all be in minutes) IF (IGET(732)>0) THEN IFINCR = 5 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=V10MEAN(I,J) ENDDO ENDDO @@ -1956,14 +2435,14 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 end if - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! Time-averaged SWDOWN (forecast time labels will all be in minutes) IF (IGET(733)>0 )THEN IFINCR = 15 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SWRADMEAN(I,J) ENDDO ENDDO @@ -1978,14 +2457,14 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 end if - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! Time-averaged SWNORM (forecast time labels will all be in minutes) IF (IGET(734)>0 )THEN IFINCR = 15 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SWNORMMEAN(I,J) ENDDO ENDDO @@ -2000,7 +2479,7 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 endif - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -2015,32 +2494,43 @@ SUBROUTINE SURFCE ENDIF !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = U10MAX(I,J) GRID2(I,J) = V10MAX(I,J) ENDDO ENDDO + ITSRFC = NINT(TSRFC) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(506)) - fld_info(cfld)%ntrange=IFHR-ID(18) - fld_info(cfld)%tinvstat=1 -!$omp parallel do private(i,j,jj) + if(ITSRFC>0) then + fld_info(cfld)%ntrange=1 + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=IFHR-ID(18) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(507)) - fld_info(cfld)%ntrange=IFHR-ID(18) - fld_info(cfld)%tinvstat=1 -!$omp parallel do private(i,j,jj) + if(ITSRFC>0) then + fld_info(cfld)%ntrange=1 + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=IFHR-ID(18) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif @@ -2053,18 +2543,19 @@ SUBROUTINE SURFCE IF (IGET(158)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=TH10(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(158)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2075,18 +2566,19 @@ SUBROUTINE SURFCE IF (IGET(505)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=T10M(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(505)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2097,18 +2589,19 @@ SUBROUTINE SURFCE IF (IGET(159)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = Q10(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(159)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2119,87 +2612,164 @@ SUBROUTINE SURFCE ! ANEMOMETER LEVEL (10 M) MAX WIND SPEED. ! IF (IGET(422)>0) THEN + IF (MODELNAME == 'GFS') THEN + ID(1:25) = 0 + ITSRFC = NINT(TSRFC) + if (ITSRFC /= 0) then + IFINCR = MOD(IFHR,ITSRFC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITSRFC*60) + else + IFINCR = 0 + endif + ID(18) = 0 + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 4 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITSRFC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 + ENDIF !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = WSPD10MAX(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(422)) - if (ifhr==0) then + fld_info(cfld)%ntrange=1 + IF (MODELNAME == 'FV3R' .OR. MODELNAME == 'RAPR') THEN + if (ifhr==0) then fld_info(cfld)%tinvstat=0 - else + else fld_info(cfld)%tinvstat=1 - endif - fld_info(cfld)%ntrange=1 -!$omp parallel do private(i,j,jj) + endif + ELSE IF (MODELNAME == 'GFS') THEN + fld_info(cfld)%tinvstat=IFHR-ID(18) + ENDIF +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF - +! ! ANEMOMETER LEVEL (10 M) MAX WIND SPEED U COMPONENT. ! IF (IGET(783)>0) THEN + IF (MODELNAME == 'GFS') THEN + ID(1:25) = 0 + ITSRFC = NINT(TSRFC) + if (ITSRFC /= 0) then + IFINCR = MOD(IFHR,ITSRFC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITSRFC*60) + else + IFINCR = 0 + endif + ID(18) = 0 + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 4 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITSRFC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 + ENDIF !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = WSPD10UMAX(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(783)) - if (ifhr==0) then + fld_info(cfld)%ntrange=1 + IF (MODELNAME == 'RAPR') THEN + if (ifhr==0) then fld_info(cfld)%tinvstat=0 - else + else fld_info(cfld)%tinvstat=1 - endif - fld_info(cfld)%ntrange=1 -!$omp parallel do private(i,j,jj) + endif + ELSE IF (MODELNAME == 'GFS') THEN + fld_info(cfld)%tinvstat=IFHR-ID(18) + ENDIF +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF - +! ! ANEMOMETER LEVEL (10 M) MAX WIND SPEED V COMPONENT. ! IF (IGET(784)>0) THEN + IF (MODELNAME == 'GFS') THEN + ID(1:25) = 0 + ITSRFC = NINT(TSRFC) + if (ITSRFC /= 0) then + IFINCR = MOD(IFHR,ITSRFC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITSRFC*60) + else + IFINCR = 0 + endif + ID(18) = 0 + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 4 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITSRFC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 + ENDIF !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = WSPD10VMAX(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(784)) - if (ifhr==0) then + fld_info(cfld)%ntrange=1 + IF (MODELNAME == 'RAPR') THEN + if (ifhr==0) then fld_info(cfld)%tinvstat=0 - else + else fld_info(cfld)%tinvstat=1 - endif - fld_info(cfld)%ntrange=1 -!$omp parallel do private(i,j,jj) + endif + ELSE IF (MODELNAME == 'GFS') THEN + fld_info(cfld)%tinvstat=IFHR-ID(18) + ENDIF +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im + do i=1,iend-ista+1 + ii = ista+i-1 datapd(i,j,cfld) = GRID1(i,jj) enddo enddo endif ENDIF - ! ! SRD ! @@ -2208,10 +2778,10 @@ SUBROUTINE SURFCE ! IF (IGET(588)>0) THEN - CALL CALVESSEL(ICEG(1,jsta)) + CALL CALVESSEL(ICEG(ista:iend,jsta:jend)) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ICEG(I,J) ENDDO ENDDO @@ -2226,11 +2796,12 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2256,7 +2827,7 @@ SUBROUTINE SURFCE IF (IGET(172)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (PREC(I,J) <= PTHRESH .OR. SR(I,J)==spval) THEN GRID1(I,J) = -50. ELSE @@ -2267,11 +2838,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(172)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2285,7 +2857,7 @@ SUBROUTINE SURFCE GRID1=SPVAL !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(CPRATE(I,J)/=spval) GRID1(I,J) = CPRATE(I,J)*RDTPHS ! GRID1(I,J) = CUPPT(I,J)*RDTPHS ENDDO @@ -2293,11 +2865,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(249)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2311,7 +2884,7 @@ SUBROUTINE SURFCE GRID1=SPVAL !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(PREC(I,J)/=spval) then IF(MODELNAME /= 'RSM') THEN GRID1(I,J) = PREC(I,J)*RDTPHS*1000. @@ -2324,11 +2897,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(167)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2336,28 +2910,40 @@ SUBROUTINE SURFCE ! ! MAXIMUM INSTANTANEOUS PRECIPITATION RATE. IF (IGET(508)>0) THEN -!-- PRATE_MAX in units of mm/h from NMMB history files + IF (IFHR==0) THEN + ID(18) = 0 + ELSE + ID(18) = IFHR - 1 + ENDIF +!-- PRATE_MAX in units of [mm/h] from NMMB history files +!-- PRATE_MAX is in units of [mm/s] from MPAS/MPASSIT history files GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM - if(PRATE_MAX(I,J)/=spval) GRID1(I,J)=PRATE_MAX(I,J)*SEC2HR + DO I=ISTA,IEND + IF (submodelname == "MPAS") THEN + if(PRATE_MAX(I,J)/=spval) GRID1(I,J)=PRATE_MAX(I,J) + ELSE + if(PRATE_MAX(I,J)/=spval) GRID1(I,J)=PRATE_MAX(I,J)*SEC2HR + ENDIF ENDDO ENDDO + ITSRFC = NINT(TSRFC) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(508)) fld_info(cfld)%lvl=LVLSXML(1,IGET(508)) - fld_info(cfld)%tinvstat=1 - if (IFHR > 0) then + if(ITSRFC>0) then fld_info(cfld)%ntrange=1 else fld_info(cfld)%ntrange=0 endif -!$omp parallel do private(i,j,jj) + fld_info(cfld)%tinvstat=IFHR-ID(18) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2368,7 +2954,7 @@ SUBROUTINE SURFCE !-- FPRATE_MAX in units of mm/h from NMMB history files GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(FPRATE_MAX(I,J)/=spval) GRID1(I,J)=FPRATE_MAX(I,J)*SEC2HR ENDDO ENDDO @@ -2382,16 +2968,131 @@ SUBROUTINE SURFCE else fld_info(cfld)%ntrange=0 endif -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF -! + +! MAXIMUM 1-minute average precipitation rate + IF (IGET(518)>0) THEN + IF (IFHR==0) THEN + ID(18) = 0 + ELSE + ID(18) = IFHR - 1 + ENDIF + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 1 + GRID1=SPVAL + DO J=JSTA,JEND + DO I=ISTA,IEND + if(MAX_PRATE_1MIN(I,J)/=spval) GRID1(I,J)=MAX_PRATE_1MIN(I,J) + ENDDO + ENDDO + ITSRFC = NINT(TSRFC) + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(518)) + fld_info(cfld)%lvl=LVLSXML(1,IGET(518)) + if(ITSRFC>0) then + fld_info(cfld)%ntrange=1 + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=IFHR-ID(18) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + +!! MAXIMUM 5-minute average precipitation rate + IF (IGET(519)>0) THEN + IF (IFHR==0) THEN + ID(18) = 0 + ELSE + ID(18) = IFHR - 1 + ENDIF + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 5 + GRID1=SPVAL + DO J=JSTA,JEND + DO I=ISTA,IEND + if(MAX_PRATE_5MIN(I,J)/=spval) GRID1(I,J)=MAX_PRATE_5MIN(I,J) + ENDDO + ENDDO + ITSRFC = NINT(TSRFC) + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(519)) + fld_info(cfld)%lvl=LVLSXML(1,IGET(519)) + if(ITSRFC>0) then + fld_info(cfld)%ntrange=1 + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=IFHR-ID(18) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + +!! MAXIMUM 10-minute average precipitation rate + IF (IGET(520)>0) THEN + IF (IFHR==0) THEN + ID(18) = 0 + ELSE + ID(18) = IFHR - 1 + ENDIF + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 10 + GRID1=SPVAL + DO J=JSTA,JEND + DO I=ISTA,IEND + if(MAX_PRATE_10MIN(I,J)/=spval) GRID1(I,J)=MAX_PRATE_10MIN(I,J) + ENDDO + ENDDO + ITSRFC = NINT(TSRFC) + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(520)) + fld_info(cfld)%lvl=LVLSXML(1,IGET(520)) + if(ITSRFC>0) then + fld_info(cfld)%ntrange=1 + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=IFHR-ID(18) +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + ! TIME-AVERAGED CONVECTIVE PRECIPITATION RATE. IF (IGET(272)>0) THEN RDTPHS=1000./DTQ2 !--- 1000 kg/m**3, density of liquid water @@ -2419,7 +3120,7 @@ SUBROUTINE SURFCE grid1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(AVGCPRATE(I,J)/=spval) GRID1(I,J) = AVGCPRATE(I,J)*RDTPHS ENDDO ENDDO @@ -2438,11 +3139,12 @@ SUBROUTINE SURFCE endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2476,7 +3178,7 @@ SUBROUTINE SURFCE grid1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(avgprec(i,j)/=spval) GRID1(I,J) = AVGPREC(I,J)*RDTPHS ENDDO ENDDO @@ -2492,11 +3194,12 @@ SUBROUTINE SURFCE endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2527,7 +3230,7 @@ SUBROUTINE SURFCE IF(MODELNAME == 'GFS' .OR. MODELNAME == 'FV3R') THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(AVGPREC(I,J) < SPVAL)THEN GRID1(I,J) = AVGPREC(I,J)*FLOAT(ID(19)-ID(18))*3600.*1000./DTQ2 ELSE @@ -2537,7 +3240,7 @@ SUBROUTINE SURFCE ENDDO !! Chuang 3/29/2018: add continuous bucket ! DO J=JSTA,JEND -! DO I=1,IM +! DO I=ISTA,IEND ! IF(AVGPREC_CONT(I,J) < SPVAL)THEN ! GRID2(I,J) = AVGPREC_CONT(I,J)*FLOAT(IFHR)*3600.*1000./DTQ2 ! ELSE @@ -2548,7 +3251,7 @@ SUBROUTINE SURFCE ELSE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ACPREC(I,J) < SPVAL)THEN GRID1(I,J) = ACPREC(I,J)*1000. ELSE @@ -2570,11 +3273,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=1 fld_info(cfld)%tinvstat=IFHR-ID(18) ! print*,'id(18),tinvstat in apcp= ',ID(18),fld_info(cfld)%tinvstat -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo !! add continuous bucket @@ -2621,9 +3325,9 @@ SUBROUTINE SURFCE ! Chuang 3/29/2018: add continuous bucket !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(AVGPREC_CONT(I,J) < SPVAL)THEN - GRID2(I,J) = AVGPREC_CONT(I,J)*FLOAT(IFHR)*3600.*1000./DTQ2 + GRID2(I,J) = AVGPREC_CONT(I,J)*((3600.*FLOAT(IFHR))+(60.*FLOAT(IFMIN)))*1000./DTQ2 ELSE GRID2(I,J) = SPVAL END IF @@ -2637,13 +3341,18 @@ SUBROUTINE SURFCE cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(417)) fld_info(cfld)%ntrange=1 - fld_info(cfld)%tinvstat=IFHR + if(ifmin>1)then + fld_info(cfld)%tinvstat=IFHR*60+IFMIN + else + fld_info(cfld)%tinvstat=IFHR + endif ! print*,'tinvstat in cont bucket= ',fld_info(cfld)%tinvstat -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif @@ -2676,7 +3385,7 @@ SUBROUTINE SURFCE IF(MODELNAME == 'GFS' .OR. MODELNAME == 'FV3R') THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(AVGCPRATE(I,J) < SPVAL)THEN GRID1(I,J) = AVGCPRATE(I,J)* & FLOAT(ID(19)-ID(18))*3600.*1000./DTQ2 @@ -2687,7 +3396,7 @@ SUBROUTINE SURFCE ENDDO !! Chuang 3/29/2018: add continuous bucket ! DO J=JSTA,JEND -! DO I=1,IM +! DO I=ISTA,IEND ! IF(AVGCPRATE_CONT(I,J) < SPVAL)THEN ! GRID2(I,J) = AVGCPRATE_CONT(I,J)*FLOAT(IFHR)*3600.*1000./DTQ2 ! ELSE @@ -2698,7 +3407,7 @@ SUBROUTINE SURFCE ELSE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(CUPREC(I,J) < SPVAL)THEN GRID1(I,J) = CUPREC(I,J)*1000. ELSE @@ -2713,11 +3422,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ifld=IAVBLFLD(IGET(033)) fld_info(cfld)%ntrange=1 fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo !! add continuous bucket @@ -2763,7 +3473,7 @@ SUBROUTINE SURFCE ! Chuang 3/29/2018: add continuous bucket !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(AVGCPRATE_CONT(I,J) < SPVAL)THEN GRID2(I,J) = AVGCPRATE_CONT(I,J)*FLOAT(IFHR)*3600.*1000./DTQ2 ELSE @@ -2780,11 +3490,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ifld=IAVBLFLD(IGET(418)) fld_info(cfld)%ntrange=1 fld_info(cfld)%tinvstat=IFHR -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif @@ -2818,7 +3529,7 @@ SUBROUTINE SURFCE IF(MODELNAME == 'GFS' .OR. MODELNAME == 'FV3R') THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(AVGCPRATE(I,J) < SPVAL .AND. AVGPREC(I,J) < SPVAL) then GRID1(I,J) = ( AVGPREC(I,J) - AVGCPRATE(I,J) ) * & FLOAT(ID(19)-ID(18))*3600.*1000./DTQ2 @@ -2829,7 +3540,7 @@ SUBROUTINE SURFCE ENDDO !! Chuang 3/29/2018: add continuous bucket ! DO J=JSTA,JEND -! DO I=1,IM +! DO I=ISTA,IEND ! IF(AVGCPRATE_CONT(I,J) < SPVAL .AND. AVGPREC_CONT(I,J) < SPVAL)THEN ! GRID2(I,J) = (AVGPREC_CONT(I,J) - AVGCPRATE_CONT(I,J)) & ! *FLOAT(IFHR)*3600.*1000./DTQ2 @@ -2841,7 +3552,7 @@ SUBROUTINE SURFCE ELSE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ANCPRC(I,J)*1000. ENDDO ENDDO @@ -2852,11 +3563,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ifld=IAVBLFLD(IGET(034)) fld_info(cfld)%ntrange=1 fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo !! add continuous bucket @@ -2867,8 +3579,9 @@ SUBROUTINE SURFCE ! fld_info(cfld)%tinvstat=IFHR ! do j=1,jend-jsta+1 ! jj = jsta+j-1 -! do i=1,im -! datapd(i,j,cfld) = GRID2(i,jj) +! do i=1,iend-ista+1 +! ii = ista+1-1 +! datapd(i,j,cfld) = GRID2(ii,jj) ! enddo ! enddo ! endif @@ -2902,7 +3615,7 @@ SUBROUTINE SURFCE ! Chuang 3/29/2018: add continuous bucket !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(AVGCPRATE_CONT(I,J) < SPVAL .AND. AVGPREC_CONT(I,J) < SPVAL)THEN GRID2(I,J) = (AVGPREC_CONT(I,J) - AVGCPRATE_CONT(I,J)) & *FLOAT(IFHR)*3600.*1000./DTQ2 @@ -2920,11 +3633,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ifld=IAVBLFLD(IGET(419)) fld_info(cfld)%ntrange=1 fld_info(cfld)%tinvstat=IFHR -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID2(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID2(ii,jj) enddo enddo endif @@ -2936,7 +3650,7 @@ SUBROUTINE SURFCE GRID1=SPVAL !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(LSPA(I,J)<=-1.0E-6)THEN if(ACPREC(I,J)/=spval) GRID1(I,J) = ACPREC(I,J)*1000 ELSE @@ -2971,11 +3685,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ifld=IAVBLFLD(IGET(256)) fld_info(cfld)%ntrange=1 fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -2985,7 +3700,7 @@ SUBROUTINE SURFCE IF (IGET(035)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! GRID1(I,J) = ACSNOW(I,J)*1000. GRID1(I,J) = ACSNOW(I,J) ENDDO @@ -3015,12 +3730,13 @@ SUBROUTINE SURFCE cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(035)) fld_info(cfld)%ntrange=1 - fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) + fld_info(cfld)%tinvstat=IFHR +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3030,7 +3746,7 @@ SUBROUTINE SURFCE IF (IGET(746)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ACGRAUP(I,J) ENDDO ENDDO @@ -3059,12 +3775,21 @@ SUBROUTINE SURFCE cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(746)) fld_info(cfld)%ntrange=1 - fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) + if(MODELNAME=='FV3R' .OR. MODELNAME=='GFS')then + if(ifmin>1)then + fld_info(cfld)%tinvstat=IFHR*60+IFMIN + else + fld_info(cfld)%tinvstat=IFHR + endif + else + fld_info(cfld)%tinvstat=IFHR-ID(18) + endif +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3074,7 +3799,7 @@ SUBROUTINE SURFCE IF (IGET(782)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ACFRAIN(I,J) ENDDO ENDDO @@ -3103,22 +3828,86 @@ SUBROUTINE SURFCE cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(782)) fld_info(cfld)%ntrange=1 - fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) + if(MODELNAME=='FV3R' .OR. MODELNAME=='GFS')then + if(ifmin>1)then + fld_info(cfld)%tinvstat=IFHR*60+IFMIN + else + fld_info(cfld)%tinvstat=IFHR + endif + else + fld_info(cfld)%tinvstat=IFHR-ID(18) + endif +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF + +! ACCUMULATED SNOWFALL. + IF (IGET(1004)>0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = SNOW_ACM(I,J) + ENDDO + ENDDO + ID(1:25) = 0 + ITPREC = NINT(TPREC) +!mp + if (ITPREC /= 0) then + IFINCR = MOD(IFHR,ITPREC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITPREC*60) + else + IFINCR = 0 + endif +!mp + ID(18) = 0 + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 4 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITPREC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1004)) + fld_info(cfld)%ntrange=1 + if(MODELNAME=='FV3R' .OR. MODELNAME=='GFS')then + if(ifmin>1)then + fld_info(cfld)%tinvstat=IFHR*60+IFMIN + else + fld_info(cfld)%tinvstat=IFHR + endif + else + fld_info(cfld)%tinvstat=IFHR-ID(18) + endif +! print*,'id(18),tinvstat in acgraup= ',ID(18),fld_info(cfld)%tinvstat +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + ! ! ACCUMULATED SNOW MELT. IF (IGET(121)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! GRID1(I,J) = ACSNOM(I,J)*1000. GRID1(I,J) = ACSNOM(I,J) ENDDO @@ -3149,11 +3938,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ifld=IAVBLFLD(IGET(121)) fld_info(cfld)%ntrange=1 fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3163,7 +3953,7 @@ SUBROUTINE SURFCE IF (IGET(405)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SNOWFALL(I,J) ENDDO ENDDO @@ -3194,11 +3984,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ifld=IAVBLFLD(IGET(405)) fld_info(cfld)%ntrange=1 fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3208,7 +3999,7 @@ SUBROUTINE SURFCE IF (IGET(122)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! GRID1(I,J) = SSROFF(I,J)*1000. GRID1(I,J) = SSROFF(I,J) ENDDO @@ -3247,11 +4038,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ifld=IAVBLFLD(IGET(122)) fld_info(cfld)%ntrange=1 fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3261,7 +4053,7 @@ SUBROUTINE SURFCE IF (IGET(123)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! GRID1(I,J) = BGROFF(I,J)*1000. GRID1(I,J) = BGROFF(I,J) ENDDO @@ -3300,11 +4092,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ifld=IAVBLFLD(IGET(123)) fld_info(cfld)%ntrange=1 fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3314,7 +4107,7 @@ SUBROUTINE SURFCE IF (IGET(343)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RUNOFF(I,J) ENDDO ENDDO @@ -3347,11 +4140,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ifld=IAVBLFLD(IGET(343)) fld_info(cfld)%ntrange=1 fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3359,17 +4153,22 @@ SUBROUTINE SURFCE ! PRECIPITATION BUCKETS - accumulated between output times ! 'BUCKET TOTAL PRECIP ' - IF (IGET(434)>0.) THEN + NEED_IFI = IGET(1007)>0 .or. IGET(1008)>0 .or. IGET(1009)>0 .or. IGET(1010)>0 + IF (IGET(434)>0. .or. NEED_IFI) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (IFHR == 0) THEN - GRID1(I,J) = 0.0 + IFI_APCP(I,J) = 0.0 ELSE - GRID1(I,J) = PCP_BUCKET(I,J) + IFI_APCP(I,J) = PCP_BUCKET(I,J) ENDIF ENDDO ENDDO + ! Note: IFI.F may replace IFI_APCP=spval with other values + ENDIF + + IF (IGET(434)>0.) THEN ID(1:25) = 0 ITPREC = NINT(TPREC) !mp @@ -3392,7 +4191,7 @@ SUBROUTINE SURFCE IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR ENDIF IF (ID(18)<0) ID(18) = 0 - if(grib=='grib2') then + if(grib=='grib2' .and. IGET(434)>0) then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(434)) if(ITPREC>0) then @@ -3405,15 +4204,16 @@ SUBROUTINE SURFCE if (ifhr==0) then fld_info(cfld)%tinvstat=0 else - fld_info(cfld)%tinvstat=1 + fld_info(cfld)%tinvstat=IFINCR endif fld_info(cfld)%ntrange=1 end if -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = IFI_APCP(ii,jj) enddo enddo endif @@ -3424,7 +4224,7 @@ SUBROUTINE SURFCE IF (IGET(435)>0.) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (IFHR == 0) THEN GRID1(I,J) = 0.0 ELSE @@ -3478,11 +4278,12 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 end if -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3492,7 +4293,7 @@ SUBROUTINE SURFCE IF (IGET(436)>0.) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (IFHR == 0) THEN GRID1(I,J) = 0.0 ELSE @@ -3539,11 +4340,12 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 end if -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3553,7 +4355,7 @@ SUBROUTINE SURFCE IF (IGET(437)>0.) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SNOW_BUCKET(I,J) ENDDO ENDDO @@ -3597,11 +4399,12 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 end if -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3611,7 +4414,7 @@ SUBROUTINE SURFCE IF (IGET(775)>0.) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = GRAUP_BUCKET(I,J) ENDDO ENDDO @@ -3655,23 +4458,369 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 end if -!$omp parallel do private(i,j,jj) + if(MODELNAME == 'GFS' .OR. MODELNAME == 'FV3R') then + fld_info(cfld)%ntrange=1 + fld_info(cfld)%tinvstat=IFHR-ID(18) + endif +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + +! PRECIPITATION BUCKETS - accumulated between output times +! BUCKET HAIL (J. Kenyon, GSL / 8 May 2025) + IF (IGET(1025)>0.) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = HAIL_BUCKET(I,J) + ENDDO + ENDDO + ID(1:25) = 0 + ITPREC = NINT(TPREC) + + if (ITPREC /= 0) then + IFINCR = MOD(IFHR,ITPREC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITPREC*60) + else + IFINCR = 0 + endif + + if(MODELNAME=='NCAR' .OR. MODELNAME=='RAPR') IFINCR = NINT(PREC_ACC_DT)/60 + ID(18) = 0 + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 4 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITPREC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 +! if(me==0)print*,'maxval BUCKET HAIL: ', maxval(GRID1) + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1025)) + if(ITPREC>0) then + fld_info(cfld)%ntrange=(IFHR-ID(18))/ITPREC + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=ITPREC + if(fld_info(cfld)%ntrange==0) then + if (ifhr==0) then + fld_info(cfld)%tinvstat=0 + else + fld_info(cfld)%tinvstat=1 + endif + fld_info(cfld)%ntrange=1 + end if +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + +! 'BUCKET FREEZING RAIN ' + IF (IGET(1003)>0.) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = FRZRN_BUCKET(I,J) + ENDDO + ENDDO + ID(1:25) = 0 + ITPREC = NINT(TPREC) +!mp + if (ITPREC /= 0) then + IFINCR = MOD(IFHR,ITPREC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITPREC*60) + else + IFINCR = 0 + endif +!mp + ID(18) = 0 + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 4 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITPREC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 +! print*,'maxval BUCKET FREEZING RAIN: ', maxval(GRID1) + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1003)) + fld_info(cfld)%ntrange=1 + fld_info(cfld)%tinvstat=IFHR-ID(18) +! if(ITPREC>0) then +! fld_info(cfld)%ntrange=(IFHR-ID(18))/ITPREC +! else +! fld_info(cfld)%ntrange=0 +! endif +! fld_info(cfld)%tinvstat=ITPREC +! if(fld_info(cfld)%ntrange==0) then +! if (ifhr==0) then +! fld_info(cfld)%tinvstat=0 +! else +! fld_info(cfld)%tinvstat=1 +! endif +! fld_info(cfld)%ntrange=1 +! end if +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF + +! 'BUCKET SNOWFALL ' + IF (IGET(1005)>0.) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + GRID1(I,J) = SNOW_BKT(I,J) + ENDDO + ENDDO + ID(1:25) = 0 + ITPREC = NINT(TPREC) +!mp + if (ITPREC /= 0) then + IFINCR = MOD(IFHR,ITPREC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITPREC*60) + else + IFINCR = 0 + endif +!mp + ID(18) = 0 + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 4 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITPREC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + IF (ID(18)<0) ID(18) = 0 +! print*,'maxval BUCKET FREEZING RAIN: ', maxval(GRID1) + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(1005)) + fld_info(cfld)%ntrange=1 + fld_info(cfld)%tinvstat=IFHR-ID(18) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF + +! ERIC JAMES: 10 JUN 2021 -- adding precip comparison to FFG +! thresholds. 913 is for 1h QPF, 914 for run total QPF. + IF (IGET(913).GT.0) THEN + ffgfile='ffg_01h.grib2' + call qpf_comp(913,ffgfile,1) + ENDIF + IF (IGET(914).GT.0) THEN + IF (IFHR .EQ. 1) THEN + ffgfile='ffg_01h.grib2' + call qpf_comp(914,ffgfile,1) + ELSEIF (IFHR .EQ. 3) THEN + ffgfile='ffg_03h.grib2' + call qpf_comp(914,ffgfile,3) + ELSEIF (IFHR .EQ. 6) THEN + ffgfile='ffg_06h.grib2' + call qpf_comp(914,ffgfile,6) + ELSEIF (IFHR .EQ. 12) THEN + ffgfile='ffg_12h.grib2' + call qpf_comp(914,ffgfile,12) + ELSE + ffgfile='ffg_01h.grib2' + call qpf_comp(914,ffgfile,0) + ENDIF + ENDIF + +! ERIC JAMES: 8 OCT 2021 -- adding precip comparison to ARI +! thresholds. 915 is for 1h QPF, 916 for run total QPF. + + IF (IGET(915).GT.0) THEN + arifile='ari2y_01h.grib2' + call qpf_comp(915,arifile,1) + ENDIF + IF (IGET(916).GT.0) THEN + IF (IFHR .EQ. 1) THEN + arifile='ari2y_01h.grib2' + call qpf_comp(916,arifile,1) + ELSEIF (IFHR .EQ. 3) THEN + arifile='ari2y_03h.grib2' + call qpf_comp(916,arifile,3) + ELSEIF (IFHR .EQ. 6) THEN + arifile='ari2y_06h.grib2' + call qpf_comp(916,arifile,6) + ELSEIF (IFHR .EQ. 12) THEN + arifile='ari2y_12h.grib2' + call qpf_comp(916,arifile,12) + ELSEIF (IFHR .EQ. 24) THEN + arifile='ari2y_24h.grib2' + call qpf_comp(916,arifile,24) + ELSE + arifile='ari2y_01h.grib2' + call qpf_comp(916,arifile,0) + ENDIF + ENDIF + + IF (IGET(917).GT.0) THEN + arifile='ari5y_01h.grib2' + call qpf_comp(917,arifile,1) + ENDIF + IF (IGET(918).GT.0) THEN + IF (IFHR .EQ. 1) THEN + arifile='ari5y_01h.grib2' + call qpf_comp(918,arifile,1) + ELSEIF (IFHR .EQ. 3) THEN + arifile='ari5y_03h.grib2' + call qpf_comp(918,arifile,3) + ELSEIF (IFHR .EQ. 6) THEN + arifile='ari5y_06h.grib2' + call qpf_comp(918,arifile,6) + ELSEIF (IFHR .EQ. 12) THEN + arifile='ari5y_12h.grib2' + call qpf_comp(918,arifile,12) + ELSEIF (IFHR .EQ. 24) THEN + arifile='ari5y_24h.grib2' + call qpf_comp(918,arifile,24) + ELSE + arifile='ari5y_01h.grib2' + call qpf_comp(918,arifile,0) + ENDIF + ENDIF + + IF (IGET(919).GT.0) THEN + arifile='ari10y_01h.grib2' + call qpf_comp(919,arifile,1) + ENDIF + IF (IGET(920).GT.0) THEN + IF (IFHR .EQ. 1) THEN + arifile='ari10y_01h.grib2' + call qpf_comp(920,arifile,1) + ELSEIF (IFHR .EQ. 3) THEN + arifile='ari10y_03h.grib2' + call qpf_comp(920,arifile,3) + ELSEIF (IFHR .EQ. 6) THEN + arifile='ari10y_06h.grib2' + call qpf_comp(920,arifile,6) + ELSEIF (IFHR .EQ. 12) THEN + arifile='ari10y_12h.grib2' + call qpf_comp(920,arifile,12) + ELSEIF (IFHR .EQ. 24) THEN + arifile='ari10y_24h.grib2' + call qpf_comp(920,arifile,24) + ELSE + arifile='ari10y_01h.grib2' + call qpf_comp(920,arifile,0) + ENDIF + ENDIF + + IF (IGET(921).GT.0) THEN + arifile='ari100y_01h.grib2' + call qpf_comp(921,arifile,1) + ENDIF + IF (IGET(922).GT.0) THEN + IF (IFHR .EQ. 1) THEN + arifile='ari100y_01h.grib2' + call qpf_comp(922,arifile,1) + ELSEIF (IFHR .EQ. 3) THEN + arifile='ari100y_03h.grib2' + call qpf_comp(922,arifile,3) + ELSEIF (IFHR .EQ. 6) THEN + arifile='ari100y_06h.grib2' + call qpf_comp(922,arifile,6) + ELSEIF (IFHR .EQ. 12) THEN + arifile='ari100y_12h.grib2' + call qpf_comp(922,arifile,12) + ELSEIF (IFHR .EQ. 24) THEN + arifile='ari100y_24h.grib2' + call qpf_comp(922,arifile,24) + ELSE + arifile='ari100y_01h.grib2' + call qpf_comp(922,arifile,0) + ENDIF + ENDIF + ! ERIC JAMES: 10 APR 2019 -- adding 15min precip output for RAP/HRRR ! PRECIPITATION BUCKETS - accumulated between output times +! 'BUCKET1 VAR DENS SNOW ' + IF (IGET(525)>0.) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(SNDEPAC(I,J) < SPVAL)THEN + GRID1(I,J) = SNDEPAC(I,J)/(1E3) + ENDIF + ENDDO + ENDDO + IFINCR = NINT(PREC_ACC_DT1) + if(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(525)) + if(fld_info(cfld)%ntrange==0) then + if (ifhr==0 .and. ifmin==0) then + fld_info(cfld)%tinvstat=0 + else + fld_info(cfld)%tinvstat=IFINCR + endif + fld_info(cfld)%ntrange=1 + end if +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) + enddo + enddo + endif + ENDIF ! 'BUCKET1 TOTAL PRECIP ' IF (IGET(526)>0.) THEN + IF (MODELNAME .EQ. 'FV3R') THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(AVGPREC_CONT(I,J) < SPVAL)THEN + GRID1(I,J) = AVGPREC_CONT(I,J)*900.*1000./DTQ2 + ENDIF + ENDDO + ENDDO + ELSE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (IFHR == 0 .AND. IFMIN == 0) THEN GRID1(I,J) = 0.0 ELSE @@ -3679,10 +4828,11 @@ SUBROUTINE SURFCE ENDIF ENDDO ENDDO + ENDIF IFINCR = NINT(PREC_ACC_DT1) if(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(518)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(526)) if(fld_info(cfld)%ntrange==0) then if (ifhr==0 .and. ifmin==0) then fld_info(cfld)%tinvstat=0 @@ -3691,31 +4841,30 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 end if -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF -! 'BUCKET1 CONV PRECIP ' +! 'BUCKET1 FRZR PRECIP ' IF (IGET(527)>0.) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM - IF (IFHR == 0 .AND. IFMIN == 0) THEN - GRID1(I,J) = 0.0 - ELSE - GRID1(I,J) = RAINC_BUCKET1(I,J) + DO I=ISTA,IEND + IF(ACFRAIN(I,J) < SPVAL)THEN + GRID1(I,J) = ACFRAIN(I,J) ENDIF ENDDO ENDDO IFINCR = NINT(PREC_ACC_DT1) if(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(519)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(527)) if(fld_info(cfld)%ntrange==0) then if (ifhr==0 .and. ifmin==0) then fld_info(cfld)%tinvstat=0 @@ -3724,31 +4873,30 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 end if -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF -! 'BUCKET1 GRDSCALE PRCP' +! 'BUCKET1 SNOW PRECIP (WEASD for RAPR) ' IF (IGET(528)>0.) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM - IF (IFHR == 0 .AND. IFMIN == 0) THEN - GRID1(I,J) = 0.0 - ELSE - GRID1(I,J) = RAINNC_BUCKET1(I,J) + DO I=ISTA,IEND + IF(SNOW_ACM(I,J) < SPVAL)THEN + GRID1(I,J) = SNOW_ACM(I,J) ENDIF ENDDO ENDDO IFINCR = NINT(PREC_ACC_DT1) if(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(520)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(528)) if(fld_info(cfld)%ntrange==0) then if (ifhr==0 .and. ifmin==0) then fld_info(cfld)%tinvstat=0 @@ -3757,20 +4905,21 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 end if -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF -! 'BUCKET1 SNOW PRECIP ' +! 'BUCKET1 SNOW PRECIP (TSNOWP for FV3R) ' IF (IGET(529)>0.) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (IFHR == 0 .AND. IFMIN == 0) THEN GRID1(I,J) = 0.0 ELSE @@ -3782,7 +4931,7 @@ SUBROUTINE SURFCE ! if(me==0)print*,'maxval BUCKET1 SNOWFALL: ', maxval(GRID1) if(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(521)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(529)) if(fld_info(cfld)%ntrange==0) then if (ifhr==0 .and. ifmin==0) then fld_info(cfld)%tinvstat=0 @@ -3791,20 +4940,31 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 end if -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ENDIF ! 'BUCKET1 GRAUPEL PRECIP ' IF (IGET(530)>0.) THEN + IF (MODELNAME .EQ. 'FV3R') THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(ACGRAUP(I,J) < SPVAL)THEN + GRID1(I,J) = ACGRAUP(I,J) + ENDIF + ENDDO + ENDDO + ELSE !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (IFHR == 0 .AND. IFMIN == 0) THEN GRID1(I,J) = 0.0 ELSE @@ -3812,11 +4972,12 @@ SUBROUTINE SURFCE ENDIF ENDDO ENDDO + ENDIF IFINCR = NINT(PREC_ACC_DT1) ! print*,'maxval BUCKET1 GRAUPEL: ', maxval(GRID1) if(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(522)) + fld_info(cfld)%ifld=IAVBLFLD(IGET(530)) if(fld_info(cfld)%ntrange==0) then if (ifhr==0 .and. ifmin==0) then fld_info(cfld)%tinvstat=0 @@ -3825,11 +4986,12 @@ SUBROUTINE SURFCE endif fld_info(cfld)%ntrange=1 end if -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3839,17 +5001,17 @@ SUBROUTINE SURFCE ! print *,'in surfce,iget(160)=',iget(160),'iget(247)=',iget(247) IF (IGET(160)>0 .OR.(IGET(247)>0)) THEN - allocate(sleet(im,jsta:jend,nalg), rain(im,jsta:jend,nalg), & - freezr(im,jsta:jend,nalg), snow(im,jsta:jend,nalg)) - allocate(zwet(im,jsta:jend)) + allocate(sleet(ista:iend,jsta:jend,nalg), rain(ista:iend,jsta:jend,nalg), & + freezr(ista:iend,jsta:jend,nalg), snow(ista:iend,jsta:jend,nalg)) + allocate(zwet(ista:iend,jsta:jend)) CALL CALWXT_POST(T,Q,PMID,PINT,HTM,LMH,PREC,ZINT,IWX1,ZWET) -! write(0,*)' after first CALWXT_POST' +! write(*,*)' after first CALWXT_POST' IF (IGET(160)>0) THEN !$omp parallel do private(i,j,iwx) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ZWET(I,J)0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = ZWET(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(247)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -3900,7 +5063,7 @@ SUBROUTINE SURFCE ! !$omp parallel do private(i,j,iwx) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IWX = IWX1(I,J) SNOW(I,J,2) = MOD(IWX,2) SLEET(I,J,2) = MOD(IWX,4)/2 @@ -3912,18 +5075,18 @@ SUBROUTINE SURFCE ! BOURGOUIN ALGORITHM ISEED=44641*(INT(SDAT(1)-1)*24*31+INT(SDAT(2))*24+IHRST)+ & & MOD(IFHR*60+IFMIN,44641)+4357 -! write(0,*)'in SURFCE,me=',me,'bef 1st CALWXT_BOURG_POST iseed=',iseed - CALL CALWXT_BOURG_POST(IM,JM,JSTA_2L,JEND_2U,JSTA,JEND,LM,LP1,& +! write(*,*)'in SURFCE,me=',me,'bef 1st CALWXT_BOURG_POST iseed=',iseed + CALL CALWXT_BOURG_POST(IM,ISTA_2L,IEND_2U,ISTA,IEND,JM,JSTA_2L,JEND_2U,JSTA,JEND,LM,LP1,& & ISEED,G,PTHRESH, & & T,Q,PMID,PINT,LMH,PREC,ZINT,IWX1,me) -! write(0,*)'in SURFCE,me=',me,'aft 1st CALWXT_BOURG_POST' -! write(0,*)'in SURFCE,me=',me,'IWX1=',IWX1(1:30,JSTA),'PTHRESH=',PTHRESH +! write(*,*)'in SURFCE,me=',me,'aft 1st CALWXT_BOURG_POST' +! write(*,*)'in SURFCE,me=',me,'IWX1=',IWX1(1:30,JSTA),'PTHRESH=',PTHRESH ! DECOMPOSE IWX1 ARRAY ! !$omp parallel do private(i,j,iwx) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IWX = IWX1(I,J) SNOW(I,J,3) = MOD(IWX,2) SLEET(I,J,3) = MOD(IWX,4)/2 @@ -3939,7 +5102,7 @@ SUBROUTINE SURFCE ! !$omp parallel do private(i,j,iwx) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IWX = IWX1(I,J) SNOW(I,J,4) = MOD(IWX,2) SLEET(I,J,4) = MOD(IWX,4)/2 @@ -3955,7 +5118,7 @@ SUBROUTINE SURFCE else !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IWX1(I,J) = 0 ENDDO ENDDO @@ -3965,7 +5128,7 @@ SUBROUTINE SURFCE ! !$omp parallel do private(i,j,iwx) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IWX = IWX1(I,J) SNOW(I,J,5) = MOD(IWX,2) SLEET(I,J,5) = MOD(IWX,4)/2 @@ -3974,27 +5137,28 @@ SUBROUTINE SURFCE ENDDO ENDDO - allocate(domr(im,jsta:jend), doms(im,jsta:jend), & - domzr(im,jsta:jend), domip(im,jsta:jend)) - CALL CALWXT_DOMINANT_POST(PREC(1,jsta_2l),RAIN,FREEZR,SLEET,SNOW, & + allocate(domr(ista:iend,jsta:jend), doms(ista:iend,jsta:jend), & + domzr(ista:iend,jsta:jend), domip(ista:iend,jsta:jend)) + CALL CALWXT_DOMINANT_POST(PREC(ista_2l,jsta_2l),RAIN,FREEZR,SLEET,SNOW, & DOMR,DOMZR,DOMIP,DOMS) ! if ( me==0) print *,'after CALWXT_DOMINANT, no avrg' ! SNOW. grid1 = spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(prec(i,j) /= spval) GRID1(I,J) = DOMS(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(551)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -4002,18 +5166,19 @@ SUBROUTINE SURFCE grid1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(prec(i,j)/=spval) GRID1(I,J) = DOMIP(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(552)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -4021,7 +5186,7 @@ SUBROUTINE SURFCE grid1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! if (DOMZR(I,J) == 1) THEN ! PSFC(I,J)=PINT(I,J,NINT(LMH(I,J))+1) ! print *, 'aha ', I, J, PSFC(I,J) @@ -4034,11 +5199,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(553)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -4046,18 +5212,19 @@ SUBROUTINE SURFCE grid1=spval !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(prec(i,j)/=spval)GRID1(I,J) = DOMR(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(160)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -4067,16 +5234,16 @@ SUBROUTINE SURFCE ! TIME AVERAGED PRECIPITATION TYPE. IF (IGET(317)>0) THEN - if (.not. allocated(sleet)) allocate(sleet(im,jsta:jend,nalg)) - if (.not. allocated(rain)) allocate(rain(im,jsta:jend,nalg)) - if (.not. allocated(freezr)) allocate(freezr(im,jsta:jend,nalg)) - if (.not. allocated(snow)) allocate(snow(im,jsta:jend,nalg)) - if (.not. allocated(zwet)) allocate(zwet(im,jsta:jend)) + if (.not. allocated(sleet)) allocate(sleet(ista:iend,jsta:jend,nalg)) + if (.not. allocated(rain)) allocate(rain(ista:iend,jsta:jend,nalg)) + if (.not. allocated(freezr)) allocate(freezr(ista:iend,jsta:jend,nalg)) + if (.not. allocated(snow)) allocate(snow(ista:iend,jsta:jend,nalg)) + if (.not. allocated(zwet)) allocate(zwet(ista:iend,jsta:jend)) CALL CALWXT_POST(T,Q,PMID,PINT,HTM,LMH,AVGPREC,ZINT,IWX1,ZWET) !$omp parallel do private(i,j,iwx) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ZWET(I,J)0 .or. IGET(559)>0 .or. & IGET(560)>0 .or. IGET(561)>0) THEN - if (.not. allocated(domr)) allocate(domr(im,jsta:jend)) - if (.not. allocated(doms)) allocate(doms(im,jsta:jend)) - if (.not. allocated(domzr)) allocate(domzr(im,jsta:jend)) - if (.not. allocated(domip)) allocate(domip(im,jsta:jend)) + if (.not. allocated(domr)) allocate(domr(ista:iend,jsta:jend)) + if (.not. allocated(doms)) allocate(doms(ista:iend,jsta:jend)) + if (.not. allocated(domzr)) allocate(domzr(ista:iend,jsta:jend)) + if (.not. allocated(domip)) allocate(domip(ista:iend,jsta:jend)) !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND DOMS(I,J) = 0. !-- snow DOMR(I,J) = 0. !-- rain DOMZR(I,J) = 0. !-- freezing rain @@ -4422,30 +5593,58 @@ SUBROUTINE SURFCE ENDDO ENDDO + IF (MODELNAME .eq. 'FV3R') THEN + DO J=JSTA,JEND + DO I=ISTA,IEND + SNOW_BUCKET(I,J) = SNOW_BKT(I,J) + RAINNC_BUCKET(I,J) = 0.0 + ENDDO + ENDDO + ENDIF + DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND !-- TOTPRCP is total 1-hour accumulated precipitation in [m] - totprcp = (RAINC_BUCKET(I,J) + RAINNC_BUCKET(I,J))*1.e-3 +!-- RAP/HRRR and RRFS use 1-h bucket. GFS uses 3-h bucket +!-- so this section will need to be revised for GFS + IF (MODELNAME .eq. 'FV3R') THEN + if(AVGPREC(I,J)/=spval)then + totprcp = (AVGPREC(I,J)*3600./DTQ2) + else + totprcp = 0.0 + endif + ELSE + totprcp = (RAINC_BUCKET(I,J) + RAINNC_BUCKET(I,J))*1.e-3 + ENDIF snowratio = 0.0 - if(graup_bucket(i,j)*1.e-3 > totprcp)then - print *,'WARNING - Graupel is higher that total precip at point',i,j - print *,'totprcp,graup_bucket(i,j),snow_bucket(i,j),rainnc_bucket',& - totprcp,graup_bucket(i,j),snow_bucket(i,j),rainnc_bucket(i,j) - endif +!-- This following warning message prints too often and is being commented out by +!-- Anders Jensen on 30 Jan 2024. I think that this warning message prints only when +!-- graupel alone is reaching the surface. Total precipitation is interpolated +!-- and precipitation from individual hydrometeor categories is not. Thus, when +!-- total precipitation equals graupel precipitation and total precipitation is +!-- interpolated and graupel precipitation is not, the two values may not be equal. +! if(graup_bucket(i,j)*1.e-3 > totprcp.and.graup_bucket(i,j)/=spval)then +! print *,'WARNING - Graupel is higher than total precip at point',i,j +! print *,'totprcp,graup_bucket(i,j)*1.e-3,snow_bucket(i,j),rainnc_bucket',& +! totprcp,graup_bucket(i,j)*1.e-3,snow_bucket(i,j),rainnc_bucket(i,j) +! endif ! --------------------------------------------------------------- ! Minimum 1h precipitation to even consider p-type specification ! (0.0001 mm in 1h, very light precipitation) ! --------------------------------------------------------------- - if (totprcp-graup_bucket(i,j)*1.e-3 > 0.0000001) & + if (totprcp-graup_bucket(i,j)*1.e-3 > 0.0000001) then ! snowratio = snow_bucket(i,j)*1.e-3/totprcp ! orig !14aug15 - change from Stan and Trevor ! --------------------------------------------------------------- ! Snow-to-total ratio to be used below ! --------------------------------------------------------------- - snowratio = snow_bucket(i,j)*1.e-3 / (totprcp-graup_bucket(i,j)*1.e-3) - -! snowratio = SR(i,j) + IF(MODELNAME == 'FV3R') THEN + snowratio = SR(i,j) + ELSE + snowratio = snow_bucket(i,j)*1.e-3 / (totprcp-graup_bucket(i,j)*1.e-3) + ENDIF + endif !-- 2-m temperature t2 = TSHLTR(I,J)*(PSHLTR(I,J)*1.E-5)**CAPA ! --------------------------------------------------------------- @@ -4454,7 +5653,7 @@ SUBROUTINE SURFCE !-- SNOW is time step non-convective snow [m] ! -- based on either instantaneous snowfall or 1h snowfall and ! snowratio - if( (SNOWNC(i,j)/DT > 0.2e-9 .and. snowratio>=0.25) & + if( (SNOWNC(i,j)/DT > 0.2e-9 .and. snowratio>=0.25 .and. SNOWNC(i,j)/=spval) & .or. & (totprcp>0.00001.and.snowratio>=0.25)) then DOMS(i,j) = 1. @@ -4469,7 +5668,11 @@ SUBROUTINE SURFCE !-- rain/freezing rain ! --------------------------------------------------------------- !-- compute RAIN [m/s] from total convective and non-convective precipitation - rainl = (1. - SR(i,j))*prec(i,j)/DT + if (prec(i,j) < spval) then + rainl = (1. - SR(i,j))*prec(i,j)/DT + else + rainl = spval + endif !-- in RUC RAIN is in cm/h and the limit is 1.e-3, !-- converted to m/s will be 2.8e-9 if((rainl > 2.8e-9 .and. snowratio<0.60) .or. & @@ -4490,7 +5693,7 @@ SUBROUTINE SURFCE !-- graupel/ice pellets vs. snow or rain ! --------------------------------------------------------------- !-- GRAUPEL is time step non-convective graupel in [m] - if(GRAUPELNC(i,j)/DT > 1.e-9) then + if(GRAUPELNC(i,j)/DT > 1.e-9 .and. GRAUPELNC(i,j)/=spval) then if (t2<=276.15) then ! This T2m test excludes convectively based hail ! from cold-season ice pellets. @@ -4539,12 +5742,12 @@ SUBROUTINE SURFCE ENDDO - write (6,*)' Snow/rain ratio' - write (6,*)' max/min 1h-SNOWFALL in [cm]', & - maxval(snow_bucket)*0.1,minval(snow_bucket)*0.1 + !write (6,*)' Snow/rain ratio' + !write (6,*)' max/min 1h-SNOWFALL in [cm]', & + ! maxval(snow_bucket)*0.1,minval(snow_bucket)*0.1 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND do icat=1,10 if (snow_bucket(i,j)*0.1<0.1*float(icat).and. & snow_bucket(i,j)*0.1>0.1*float(icat-1)) then @@ -4554,46 +5757,47 @@ SUBROUTINE SURFCE end do end do - write (6,*) 'Snow ratio point counts' - do icat=1,10 - write (6,*) icat, cnt_snowratio(icat) - end do + !write (6,*) 'Snow ratio point counts' + ! do icat=1,10 + !write (6,*) icat, cnt_snowratio(icat) + ! end do icnt_snow_rain_mixed = 0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if (DOMR(i,j)==1 .and. DOMS(i,j)==1) then icnt_snow_rain_mixed = icnt_snow_rain_mixed + 1 endif end do end do - write (6,*) 'No. of mixed snow/rain p-type diagnosed=', & - icnt_snow_rain_mixed + !write (6,*) 'No. of mixed snow/rain p-type diagnosed=', & + ! icnt_snow_rain_mixed ! SNOW. !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=DOMS(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(559)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ! ICE PELLETS. !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = DOMIP(I,J) ! if (DOMIP(I,J) == 1) THEN ! print *, 'ICE PELLETS at I,J ', I, J @@ -4603,18 +5807,19 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(560)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ! FREEZING RAIN. !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! if (DOMZR(I,J) == 1) THEN ! PSFC(I,J)=PINT(I,J,NINT(LMH(I,J))+1) ! print *, 'FREEZING RAIN AT I,J ', I, J, PSFC(I,J) @@ -4625,34 +5830,36 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(561)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif ! RAIN. !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = DOMR(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(407)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif - ENDIF + ENDIF ! End of GSD PRECIPITATION TYPE ! if (allocated(psfc)) deallocate(psfc) if (allocated(domr)) deallocate(domr) @@ -4676,7 +5883,7 @@ SUBROUTINE SURFCE RRNUM=0. ENDIF DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(SFCLHX(I,J)/=SPVAL)THEN GRID1(I,J)=-1.*SFCLHX(I,J)*RRNUM !change the sign to conform with Grib ELSE @@ -4711,7 +5918,7 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif END IF ENDIF @@ -4729,7 +5936,7 @@ SUBROUTINE SURFCE RRNUM=0. ENDIF DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(SFCSHX(I,J)/=SPVAL)THEN GRID1(I,J) = -1.* SFCSHX(I,J)*RRNUM !change the sign to conform with Grib ELSE @@ -4765,7 +5972,7 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -4783,7 +5990,7 @@ SUBROUTINE SURFCE ENDIF GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(SUBSHX(I,J)/=spval) GRID1(I,J) = SUBSHX(I,J)*RRNUM ENDDO ENDDO @@ -4815,7 +6022,7 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -4833,7 +6040,7 @@ SUBROUTINE SURFCE ENDIF GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(SNOPCX(I,J)/=spval) GRID1(I,J) = SNOPCX(I,J)*RRNUM ENDDO ENDDO @@ -4865,7 +6072,7 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -4882,7 +6089,7 @@ SUBROUTINE SURFCE RRNUM=0. ENDIF DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(SFCUVX(I,J)/=SPVAL)THEN GRID1(I,J) = SFCUVX(I,J)*RRNUM ELSE @@ -4918,7 +6125,7 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -4936,7 +6143,7 @@ SUBROUTINE SURFCE ENDIF GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(SFCUX(I,J)/=spval) GRID1(I,J) = SFCUX(I,J)*RRNUM ENDDO ENDDO @@ -4968,7 +6175,7 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -4986,7 +6193,7 @@ SUBROUTINE SURFCE ENDIF GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(SFCVX(I,J)/=spval) GRID1(I,J) = SFCVX(I,J)*RRNUM ENDDO ENDDO @@ -5018,7 +6225,7 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -5026,7 +6233,7 @@ SUBROUTINE SURFCE IF (IGET(047)>0) THEN GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(SFCEVP(I,J)/=spval) GRID1(I,J) = SFCEVP(I,J)*1000. ENDDO ENDDO @@ -5060,7 +6267,7 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -5069,7 +6276,7 @@ SUBROUTINE SURFCE IF (IGET(137)>0) THEN GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(POTEVP(I,J)/=spval) GRID1(I,J) = POTEVP(I,J)*1000. ENDDO ENDDO @@ -5103,35 +6310,35 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! ROUGHNESS LENGTH. IF (IGET(044)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = Z0(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(044)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! FRICTION VELOCITY. IF (IGET(045)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = USTAR(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(045)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -5139,41 +6346,41 @@ SUBROUTINE SURFCE ! dong add missing value for cd IF (IGET(132)>0) THEN GRID1=spval - CALL CALDRG(EGRID1(1,jsta_2l)) + CALL CALDRG(EGRID1(ista_2l:iend_2u,jsta_2l:jend_2u)) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(USTAR(I,J) < spval) GRID1(I,J)=EGRID1(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(132)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF - write_cd: IF(IGET(922)>0) THEN + write_cd: IF(IGET(924)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=CD10(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(922)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + fld_info(cfld)%ifld=IAVBLFLD(IGET(924)) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF write_cd write_ch: IF(IGET(923)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=CH10(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(923)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF write_ch ! @@ -5183,14 +6390,14 @@ SUBROUTINE SURFCE ! MODEL OUTPUT SURFACE U COMPONENT WIND STRESS. IF (IGET(900)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=MDLTAUX(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(900)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -5198,14 +6405,14 @@ SUBROUTINE SURFCE ! MODEL OUTPUT SURFACE V COMPONENT WIND STRESS IF (IGET(901)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=MDLTAUY(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(901)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -5215,13 +6422,13 @@ SUBROUTINE SURFCE ! dong add missing value GRID1 = spval IF(MODELNAME /= 'FV3R') & - CALL CALTAU(EGRID1(1,jsta),EGRID2(1,jsta)) + CALL CALTAU(EGRID1(ista:iend,jsta:jend),EGRID2(ista:iend,jsta:jend)) ! ! SURFACE U COMPONENT WIND STRESS. ! dong for FV3, directly use model output IF (IGET(133)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(MODELNAME == 'FV3R') THEN GRID1(I,J)=SFCUXI(I,J) ELSE @@ -5233,14 +6440,14 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(133)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! SURFACE V COMPONENT WIND STRESS IF (IGET(134)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(MODELNAME == 'FV3R') THEN GRID1(I,J)=SFCVXI(I,J) ELSE @@ -5251,7 +6458,7 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(134)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -5262,7 +6469,7 @@ SUBROUTINE SURFCE ! GRAVITY U COMPONENT WIND STRESS. IF (IGET(315)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = GTAUX(I,J) ENDDO ENDDO @@ -5293,14 +6500,14 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=1 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! SURFACE V COMPONENT WIND STRESS IF (IGET(316)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=GTAUY(I,J) ENDDO ENDDO @@ -5331,7 +6538,7 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=1 endif fld_info(cfld)%tinvstat=IFHR-ID(18) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -5344,14 +6551,14 @@ SUBROUTINE SURFCE MODELNAME=='RAPR')THEN !4omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = TWBS(I,J) ENDDO ENDDO ELSE !4omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(TWBS(I,J) < spval) GRID1(I,J) = -TWBS(I,J) ENDDO ENDDO @@ -5359,7 +6566,7 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(154)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -5371,14 +6578,14 @@ SUBROUTINE SURFCE MODELNAME=='RAPR')THEN !4omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = QWBS(I,J) ENDDO ENDDO ELSE !4omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(QWBS(I,J) < spval) GRID1(I,J) = -QWBS(I,J) ENDDO ENDDO @@ -5386,21 +6593,21 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(155)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! SURFACE EXCHANGE COEFF IF (IGET(169)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=SFCEXC(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(169)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -5408,14 +6615,14 @@ SUBROUTINE SURFCE IF (IGET(170)>0) THEN GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(VEGFRC(I,J)/=spval) GRID1(I,J)=VEGFRC(I,J)*100. ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(170)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -5424,14 +6631,14 @@ SUBROUTINE SURFCE IF (IGET(726)>0) THEN GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(shdmin(I,J)/=spval) GRID1(I,J)=shdmin(I,J)*100. ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(726)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! @@ -5439,26 +6646,30 @@ SUBROUTINE SURFCE IF (IGET(729)>0) THEN GRID1=SPVAL DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND if(shdmax(I,J)/=spval) GRID1(I,J)=shdmax(I,J)*100. ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(729)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! LEAF AREA INDEX IF (MODELNAME == 'NCAR'.OR.MODELNAME=='NMM' .OR. & MODELNAME == 'FV3R' .OR. MODELNAME=='RAPR')THEN - IF (iSF_SURFACE_PHYSICS == 2 .OR. MODELNAME=='RAPR') THEN + IF (iSF_SURFACE_PHYSICS == 2 .OR. iSF_SURFACE_PHYSICS == 1 .OR. & + iSF_SURFACE_PHYSICS == 3) THEN IF (IGET(254)>0) THEN + if (me==0)print*,'starting LAI' DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (MODELNAME=='RAPR')THEN GRID1(I,J)=LAI(I,J) + ELSE IF (MODELNAME=='FV3R')THEN + GRID1(I,J)=XLAIXY(I,J) ELSE GRID1(I,J) = XLAI ENDIF @@ -5467,7 +6678,7 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(254)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ENDIF @@ -5476,54 +6687,54 @@ SUBROUTINE SURFCE ! INSTANTANEOUS GROUND HEAT FLUX IF (IGET(152)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=GRNFLX(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(152)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! VEGETATION TYPE IF (IGET(218)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = FLOAT(IVGTYP(I,J)) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(218)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! SOIL TYPE IF (IGET(219)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = FLOAT(ISLTYP(I,J)) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(219)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! SLOPE TYPE IF (IGET(223)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = FLOAT(ISLOPE(I,J)) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(223)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! if (me==0)print*,'starting computing canopy conductance' @@ -5537,14 +6748,16 @@ SUBROUTINE SURFCE & .OR. IGET(237)>0 .OR. IGET(238)>0 & & .OR. IGET(239)>0 .OR. IGET(240)>0 & & .OR. IGET(241)>0 ) THEN - IF (iSF_SURFACE_PHYSICS == 2) THEN !NSOIL == 4 + IF (iSF_SURFACE_PHYSICS == 2 .OR. iSF_SURFACE_PHYSICS == 1 .OR. & + iSF_SURFACE_PHYSICS == 3) THEN !NSOIL == 4 ! if(me==0)print*,'starting computing canopy conductance' - allocate(rsmin(im,jsta:jend), smcref(im,jsta:jend), gc(im,jsta:jend), & - rcq(im,jsta:jend), rct(im,jsta:jend), rcsoil(im,jsta:jend), rcs(im,jsta:jend)) + allocate(rsmin(ista:iend,jsta:jend), smcref(ista:iend,jsta:jend), gc(ista:iend,jsta:jend), & + rcq(ista:iend,jsta:jend), rct(ista:iend,jsta:jend), rcsoil(ista:iend,jsta:jend), rcs(ista:iend,jsta:jend)) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF( (abs(SM(I,J)-0.) < 1.0E-5) .AND. & - & (abs(SICE(I,J)-0.) < 1.0E-5) ) THEN + & (abs(SICE(I,J)-0.) < 1.0E-5) .AND. & + & (IVGTYP(I,J) .NE. 17)) THEN IF(CZMEAN(I,J)>1.E-6) THEN FACTRS = CZEN(I,J)/CZMEAN(I,J) ELSE @@ -5585,118 +6798,118 @@ SUBROUTINE SURFCE IF (IGET(220)>0 )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = GC(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(220)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF IF (IGET(234)>0 )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RSMIN(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(234)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF IF (IGET(235)>0 )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = FLOAT(NROOTS(I,J)) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(235)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF IF (IGET(236)>0 )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SMCWLT(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(236)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF IF (IGET(237)>0 )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = SMCREF(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(237)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF IF (IGET(238)>0 )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RCS(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(238)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF IF (IGET(239)>0 )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RCT(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(239)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF IF (IGET(240)>0 )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RCQ(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(240)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF IF (IGET(241)>0 )THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = RCSOIL(I,J) ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(241)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -5718,7 +6931,7 @@ SUBROUTINE SURFCE IF(IGET(236)>0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = smcwlt(i,j) ! IF(isltyp(i,j)/=0)THEN ! GRID1(I,J) = WLTSMC(isltyp(i,j)) @@ -5730,11 +6943,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(236)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -5743,7 +6957,7 @@ SUBROUTINE SURFCE IF(IGET(397)>0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = fieldcapa(i,j) ! IF(isltyp(i,j)/=0)THEN ! GRID1(I,J) = REFSMC(isltyp(i,j)) @@ -5755,11 +6969,12 @@ SUBROUTINE SURFCE if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(397)) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -5768,7 +6983,7 @@ SUBROUTINE SURFCE IF(IGET(396)>0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = suntime(i,j) ENDDO ENDDO @@ -5799,11 +7014,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -5812,7 +7028,7 @@ SUBROUTINE SURFCE IF(IGET(517)>0)THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = avgpotevp(i,j) ENDDO ENDDO @@ -5843,11 +7059,12 @@ SUBROUTINE SURFCE fld_info(cfld)%ntrange=0 endif fld_info(cfld)%tinvstat=IFHR-ID(18) -!$omp parallel do private(i,j,jj) +!$omp parallel do private(i,j,ii,jj) do j=1,jend-jsta+1 jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = GRID1(ii,jj) enddo enddo endif @@ -5859,21 +7076,21 @@ SUBROUTINE SURFCE IF (IGET(282)>0) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J) = PT ENDDO ENDDO if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(282)) - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! PRESSURE THICKNESS REQUESTED BY CMAQ IF (IGET(283)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=PDTOP ENDDO ENDDO @@ -5890,14 +7107,14 @@ SUBROUTINE SURFCE fld_info(cfld)%ifld=IAVBLFLD(IGET(283)) fld_info(cfld)%lvl1=1 fld_info(cfld)%lvl2=L - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! ! SIGMA PRESSURE THICKNESS REQUESTED BY CMAQ IF (IGET(273)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=PD(I,J) ENDDO ENDDO @@ -5914,7 +7131,7 @@ SUBROUTINE SURFCE fld_info(cfld)%ifld=IAVBLFLD(IGET(273)) fld_info(cfld)%lvl1=L fld_info(cfld)%lvl2=LM+1 - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF @@ -5922,7 +7139,7 @@ SUBROUTINE SURFCE ! TIME-AVERAGED EXCHANGE COEFFICIENTS FOR MASS REQUESTED FOR CMAQ IF (IGET(503)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=AKHSAVG(I,J) ENDDO ENDDO @@ -5935,19 +7152,24 @@ SUBROUTINE SURFCE ID(18) = IFHR - 1 ENDIF ID(20) = 3 + ITSRFC = NINT(TSRFC) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(503)) - fld_info(cfld)%ntrange=IFHR-ID(18) - fld_info(cfld)%tinvstat=1 - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + if(ITSRFC>0) then + fld_info(cfld)%ntrange=1 + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=IFHR-ID(18) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF ! TIME-AVERAGED EXCHANGE COEFFICIENTS FOR WIND REQUESTED FOR CMAQ IF (IGET(504)>0) THEN DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND GRID1(I,J)=AKMSAVG(I,J) ENDDO ENDDO @@ -5960,15 +7182,156 @@ SUBROUTINE SURFCE ID(18) = IFHR - 1 ENDIF ID(20) = 3 + ITSRFC = NINT(TSRFC) if(grib=='grib2') then cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(504)) - fld_info(cfld)%ntrange=IFHR-ID(18) - fld_info(cfld)%tinvstat=1 - datapd(1:im,1:jend-jsta+1,cfld)=GRID1(1:im,jsta:jend) + if(ITSRFC>0) then + fld_info(cfld)%ntrange=1 + else + fld_info(cfld)%ntrange=0 + endif + fld_info(cfld)%tinvstat=IFHR-ID(18) + datapd(1:iend-ista+1,1:jend-jsta+1,cfld)=GRID1(ista:iend,jsta:jend) endif ENDIF RETURN END +!------------------------------------------------------------------------------------- +!> qpf_comp() Read in QPF threshold for exceedance grid. Calculate exceedance grid. +!> +!> @param[in] compfile character File name for reference grid. +!> @param[in] fcst integer Forecast length in hours. +!> @param[in] igetfld integer ID of grib2 field. + + subroutine qpf_comp(igetfld,compfile,fcst) + + use ctlblk_mod, only: SPVAL,JSTA,JEND,IM,DTQ2,IFHR,IFMIN,TPREC,GRIB, & + MODELNAME,JM,CFLD,DATAPD,FLD_INFO,JSTA_2L,JEND_2U,& + ISTA,IEND,ISTA_2L,IEND_2U,ME + use rqstfld_mod, only: IGET, ID, LVLS, IAVBLFLD + use grib2_module, only: read_grib2_head, read_grib2_sngle + use vrbls2d, only: AVGPREC, AVGPREC_CONT + implicit none + character(len=256), intent(in) :: compfile + integer, intent(in) :: igetfld,fcst + integer :: trange,invstat + real, dimension(ista:iend,jsta:jend) :: outgrid + + real, allocatable, dimension(:,:) :: mscValue + + integer :: nx, ny, nz, ntot, mscNlon, mscNlat, height + integer :: ITPREC, IFINCR + real :: rlonmin, rlatmax + real*8 rdx, rdy + + logical :: file_exists + + integer :: i, j, k, ii, jj + + outgrid = 0 + +! Read in reference grid. + INQUIRE(FILE=compfile, EXIST=file_exists) + if (file_exists) then + call read_grib2_head(compfile,nx,ny,nz,rlonmin,rlatmax,& + rdx,rdy) + mscNlon=nx + mscNlat=ny + if (.not. allocated(mscValue)) then + allocate(mscValue(mscNlon,mscNlat)) + endif + ntot = nx*ny + call read_grib2_sngle(compfile,ntot,height,mscValue) + else + if(me==0)write(*,*) 'WARNING: FFG file not available for hour: ', fcst + endif + +! Set GRIB variables. + ID(1:25) = 0 + ITPREC = NINT(TPREC) + if (ITPREC /= 0) then + IFINCR = MOD(IFHR,ITPREC) + IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITPREC*60) + else + IFINCR = 0 + endif + ID(18) = 0 + ID(19) = IFHR + IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN + ID(20) = 4 + IF (IFINCR==0) THEN + ID(18) = IFHR-ITPREC + ELSE + ID(18) = IFHR-IFINCR + IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR + ENDIF + +! Calculate exceedance grid. + IF(MODELNAME == 'GFS' .OR. MODELNAME == 'FV3R') THEN +! !$omp parallel do private(i,j) + IF (file_exists) THEN + DO J=JSTA,JEND + DO I=ISTA,IEND + IF (IFHR .EQ. 0 .OR. fcst .EQ. 0) THEN + outgrid(I,J) = 0.0 + ELSE IF (mscValue(I,J) .LE. 0.0) THEN + outgrid(I,J) = 0.0 + ELSE IF (fcst .EQ. 1 .AND. AVGPREC(I,J)*FLOAT(ID(19)-ID(18))*3600.*1000./DTQ2 .GT. mscValue(I,J)) THEN + outgrid(I,J) = 1.0 + ELSE IF (fcst .GT. 1 .AND. AVGPREC_CONT(I,J)*FLOAT(IFHR)*3600.*1000./DTQ2 .GT. mscValue(I,J)) THEN + outgrid(I,J) = 1.0 + ENDIF + ENDDO + ENDDO + ENDIF + ENDIF +! write(*,*) 'FFG MAX, MIN:', & +! maxval(mscValue),minval(mscValue) + IF (ID(18).LT.0) ID(18) = 0 + +! Set GRIB2 variables. + IF(fcst .EQ. 1) THEN + IF(ITPREC>0) THEN + trange = (IFHR-ID(18))/ITPREC + ELSE + trange = 0 + ENDIF + invstat = ITPREC + IF(trange .EQ. 0) THEN + IF (IFHR .EQ. 0) THEN + invstat = 0 + ELSE + invstat = 1 + ENDIF + trange = 1 + ENDIF + ELSE + trange = 1 + IF (IFHR .EQ. fcst) THEN + invstat = fcst + ELSE + invstat = 0 + ENDIF + ENDIF + + IF(grib=='grib2') then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(igetfld)) + fld_info(cfld)%ntrange=trange + fld_info(cfld)%tinvstat=invstat +!$omp parallel do private(i,j,ii,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,iend-ista+1 + ii = ista+i-1 + datapd(i,j,cfld) = outgrid(ii,jj) + enddo + enddo + endif + + RETURN + + end subroutine qpf_comp diff --git a/sorc/ncep_post.fd/TABLE.f b/sorc/ncep_post.fd/TABLE.f index 190b845aa3..86a9905f98 100644 --- a/sorc/ncep_post.fd/TABLE.f +++ b/sorc/ncep_post.fd/TABLE.f @@ -1,4 +1,10 @@ !&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& + MODULE TABLE_UPP_MOD + + IMPLICIT NONE + + CONTAINS + SUBROUTINE TABLE(PTBL,TTBL,PT & &, RDQ,RDTH,RDP,RDTHE,PL,THL,QS0,SQS,STHE,THE0) ! ****************************************************************** @@ -101,7 +107,7 @@ SUBROUTINE TABLE(PTBL,TTBL,PT & enddo !--------------COARSE LOOK-UP TABLE FOR T(P) FROM CONSTANT THE---------- P = PL - DP -! write(0,*)' kpm=',kpm,' P=',P,' DP=',DP,' thl=',thl,' dth=',dth +! write(*,*)' kpm=',kpm,' P=',P,' DP=',DP,' thl=',thl,' dth=',dth DO KP=1,KPM P = P + DP TH = THL - DTH @@ -120,11 +126,11 @@ SUBROUTINE TABLE(PTBL,TTBL,PT & ENDIF ! QS=PQ0/P*EXP(A2*(TH-A3*APE)/(TH-A4*APE)) TOLD(KTH) = TH / APE -! write(0,*)' TH=',TH,' QS=',QS,' TOLD=',TOLD(kth),' kth=',kth +! write(*,*)' TH=',TH,' QS=',QS,' TOLD=',TOLD(kth),' kth=',kth THEOLD(KTH) = TH*EXP(ELIWV*QS/(CP*TOLD(KTH))) endif enddo -! write(0,*)' theold=',theold +! write(*,*)' theold=',theold ! THE0K = THEOLD(1) STHEK = THEOLD(KTHM) - THEOLD(1) @@ -162,3 +168,4 @@ SUBROUTINE TABLE(PTBL,TTBL,PT & ! RETURN END + END MODULE TABLE_UPP_MOD diff --git a/sorc/ncep_post.fd/TABLEQ.f b/sorc/ncep_post.fd/TABLEQ.f index 6a3792b020..84bae71dd1 100644 --- a/sorc/ncep_post.fd/TABLEQ.f +++ b/sorc/ncep_post.fd/TABLEQ.f @@ -1,4 +1,10 @@ !&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& + MODULE TABLEQ_UPP_MOD + + IMPLICIT NONE + + CONTAINS + SUBROUTINE TABLEQ(TTBLQ,RDP,RDTHE,PL,THL,STHE,THE0) ! ****************************************************************** ! * * @@ -89,3 +95,4 @@ SUBROUTINE TABLEQ(TTBLQ,RDP,RDTHE,PL,THL,STHE,THE0) ! RETURN END + END MODULE TABLEQ_UPP_MOD diff --git a/sorc/ncep_post.fd/TRPAUS.f b/sorc/ncep_post.fd/TRPAUS.f index 2523717b5a..5dfe7bb920 100644 --- a/sorc/ncep_post.fd/TRPAUS.f +++ b/sorc/ncep_post.fd/TRPAUS.f @@ -1,53 +1,38 @@ !> @file -! -!> SUBPROGRAM: TRPAUS COMPUTE TROPOPAUSE DATA. -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES TROPOPAUSE DATA. AT EACH MASS -!! POINT A SURFACE UP SEARCH IS MADE FOR THE FIRST -!! OCCURRENCE OF A THREE LAYER MEAN LAPSE RATE LESS THAN -!! OR EQUAL TO A CRITICAL LAPSE RATE. THIS CRITCAL LAPSE -!! RATE IS 2DEG/KM. THIS IS IN ACCORD WITH THE WMO -!! DEFINITION OF A TROPOPAUSE. A MAXIMUM TROPOPAUSE -!! PRESSURE OF 500MB IS ENFORCED. ONC THE TROPOPAUSE -!! IS LOCATED IN A COLUMN, PRESSURE, TEMPERATURE, U -!! AND V WINDS, AND VERTICAL WIND SHEAR ARE COMPUTED. -!! -!! PROGRAM HISTORY LOG: -!! 92-12-22 RUSS TREADON -!! 97-03-06 GEOFF MANIKIN - CHANGED CRITERIA FOR DETERMINING -!! THE TROPOPAUSE AND ADDED HEIGHT -!! 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! 00-01-04 JIM TUCCILLO - MPI VERSION -!! 02-04-23 MIKE BALDWIN - WRF VERSION -!! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT - -!! -!! USAGE: CALL TRPAUS(PTROP,TTROP,ZTROP,UTROP,VTROP,SHTROP) -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! PTROP - TROPOPAUSE PRESSURE. -!! TTROP - TROPOPAUSE TEMPERATURE. -!! ZTROP - TROPOPAUSE HEIGHT -!! UTROP - TROPOPAUSE U WIND COMPONENT. -!! VTROP - TROPOPAUSE V WIND COMPONENT. -!! SHTROP - VERTICAL WIND SHEAR AT TROPOPAUSE. -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! -!! LIBRARY: -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief trpaus() computes tropopause level fields. +!> +!> This routine computes tropopause data. At each mass +!> point a surface up search is made for the first +!> occurrence of a three layer mean lapse rate less than +!> or equal to a critical lapse rate. This critcal lapse +!> rate is 2 deg/km. This is in accord with the WMO +!> definition of a tropopause. A maximum tropopause +!> pressure of 500mb is enforced. Once the tropopause +!> is located in a column, pressure, temperature, u +!> and v winds, and vertical wind shear are computed. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-22 | Russ Treadon | Initial +!> 1997-03-06 | Geoff Manikin | Changed criteria for determining the tropopause and added height +!> 1998-06-15 | T Black | Conversion from 1-D TO 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-04-23 | Mike Baldwin | WRF Version +!> 2019-10-30 | Bo Cui | ReMOVE "GOTO" STATEMENT +!> 2021-09-13 | JESSE MENG | 2D DECOMPOSITION +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 +!------------------------------------------------------------------------------ +!> @brief Computes tropopause data. +!> +!> @param[out] PTROP Tropopause pressure. +!> @param[out] TTROP Tropopause temperature. +!> @param[out] ZTROP Tropopause height. +!> @param[out] UTROP Tropopause u wind component. +!> @param[out] VTROP Tropopause v wind component. +!> @param[out] SHTROP Vertical wind shear at tropopause. +!> SUBROUTINE TRPAUS(PTROP,TTROP,ZTROP,UTROP,VTROP,SHTROP) ! @@ -57,7 +42,8 @@ SUBROUTINE TRPAUS(PTROP,TTROP,ZTROP,UTROP,VTROP,SHTROP) use vrbls3d, only: pint, t, zint, uh, vh use masks, only: lmh use params_mod, only: d50 - use ctlblk_mod, only: jsta, jend, spval, im, jm, lm + use ctlblk_mod, only: jsta, jend, spval, im, jm, lm, & + ista, iend !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -82,7 +68,7 @@ SUBROUTINE TRPAUS(PTROP,TTROP,ZTROP,UTROP,VTROP,SHTROP) ! LOOP OVER THE HORIZONTAL GRID. ! DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PTROP(I,J) = SPVAL TTROP(I,J) = SPVAL ZTROP(I,J) = SPVAL @@ -97,7 +83,7 @@ SUBROUTINE TRPAUS(PTROP,TTROP,ZTROP,UTROP,VTROP,SHTROP) !!$omp& tlapse,tlapse2,u0,u0l,uh,uh0,ul, !!$omp& v0,v0l,vh,vh0) DO J=JSTA,JEND - loopI:DO I=1,IM + loopI:DO I=ISTA,IEND ! ! COMPUTE THE TEMPERATURE LAPSE RATE (-DT/DZ) BETWEEN ETA ! LAYERS MOVING UP FROM THE GROUND. THE FIRST ETA LAYER diff --git a/sorc/ncep_post.fd/TRPAUS_NAM.f b/sorc/ncep_post.fd/TRPAUS_NAM.f index caf8785f49..7ea734f580 100644 --- a/sorc/ncep_post.fd/TRPAUS_NAM.f +++ b/sorc/ncep_post.fd/TRPAUS_NAM.f @@ -1,43 +1,37 @@ !> @file -! -!> SUBPROGRAM: TRPAUS COMPUTE TROPOPAUSE DATA. -!! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES TROPOPAUSE DATA. AT EACH MASS -!! POINT A SURFACE UP SEARCH IS MADE FOR THE FIRST -!! OCCURRENCE OF A THREE LAYER MEAN LAPSE RATE LESS THAN -!! OR EQUAL TO A CRITICAL LAPSE RATE. THIS CRITCAL LAPSE -!! RATE IS 2DEG/KM. THIS IS IN ACCORD WITH THE WMO -!! DEFINITION OF A TROPOPAUSE. A MAXIMUM TROPOPAUSE -!! PRESSURE OF 500MB IS ENFORCED. ONC THE TROPOPAUSE -!! IS LOCATED IN A COLUMN, PRESSURE, TEMPERATURE, U -!! AND V WINDS, AND VERTICAL WIND SHEAR ARE COMPUTED. -!! -!! PROGRAM HISTORY LOG: -!! - 92-12-22 RUSS TREADON -!! - 97-03-06 GEOFF MANIKIN - CHANGED CRITERIA FOR DETERMINING -!! THE TROPOPAUSE AND ADDED HEIGHT -!! - 98-06-15 T BLACK - CONVERSION FROM 1-D TO 2-D -!! - 00-01-04 JIM TUCCILLO - MPI VERSION -!! - 02-04-23 MIKE BALDWIN - WRF VERSION -!! - 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT -!! -!! USAGE: CALL TRPAUS(PTROP,TTROP,ZTROP,UTROP,VTROP,SHTROP) -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! PTROP - TROPOPAUSE PRESSURE. -!! TTROP - TROPOPAUSE TEMPERATURE. -!! ZTROP - TROPOPAUSE HEIGHT -!! UTROP - TROPOPAUSE U WIND COMPONENT. -!! VTROP - TROPOPAUSE V WIND COMPONENT. -!! SHTROP - VERTICAL WIND SHEAR AT TROPOPAUSE. -!! -!! OUTPUT FILES: -!! NONE -!! +!> @brief trpaus() computes tropopause data. +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 + +!> This routine computes tropopause data. At each mass +!> point a surface up search is made for the first +!> occurrence of a three layer mean lapse rate less than +!> or equal to a critical lapse rate. This critcal lapse +!> rate is 2deg/km. This is in accord with the WMO +!> definition of a tropopause. A maximum tropopause +!> pressure of 500mb is enforced. Onc the tropopause +!> is located in a column, pressure, temperature, u +!> and v winds, and vertical wind shear are computed. +!> +!> @param[out] PTROP Tropopause pressure. +!> @param[out] TTROP Tropopause temperature. +!> @param[out] ZTROP Tropopause height. +!> @param[out] UTROP Tropopause u wind component. +!> @param[out] VTROP Tropopause v wind component. +!> @param[out] SHTROP Vertical wind shear at tropopause. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-22 | Russ Treadon | Initial +!> 1997-03-06 | Geoff Manikin | Changed criteria for determining the tropopause and added height +!> 1998-06-15 | T Black | Conversion from 1-D TO 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-04-23 | Mike Baldwin | WRF Version +!> 2019-10-30 | Bo Cui | ReMOVE "GOTO" STATEMENT +!> 2021-09-13 | JESSE MENG | 2D DECOMPOSITION +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 SUBROUTINE TRPAUS(PTROP,TTROP,ZTROP,UTROP,VTROP,SHTROP) ! @@ -59,8 +53,8 @@ SUBROUTINE TRPAUS(PTROP,TTROP,ZTROP,UTROP,VTROP,SHTROP) ! ! DECLARE VARIABLES. ! - REAL PTROP(IM,JM),TTROP(IM,JM),ZTROP(IM,JM),UTROP(IM,JM) - REAL VTROP(IM,JM),SHTROP(IM,JM) + REAL PTROP(ISTA:IEND,JSTA:JEND),TTROP(ISTA:IEND,JSTA:JEND),ZTROP(ISTA:IEND,JSTA:JEND),UTROP(ISTA:IEND,JSTA:JEND) + REAL VTROP(ISTA:IEND,JSTA:JEND),SHTROP(ISTA:IEND,JSTA:JEND) REAL TLAPSE(LM),DZ2(LM),DELT2(LM),TLAPSE2(LM) ! integer I,J @@ -72,7 +66,7 @@ SUBROUTINE TRPAUS(PTROP,TTROP,ZTROP,UTROP,VTROP,SHTROP) ! LOOP OVER THE HORIZONTAL GRID. ! DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PTROP(I,J) = SPVAL TTROP(I,J) = SPVAL ZTROP(I,J) = SPVAL @@ -87,7 +81,7 @@ SUBROUTINE TRPAUS(PTROP,TTROP,ZTROP,UTROP,VTROP,SHTROP) !$omp& tlapse,tlapse2,u0,u0l,uh,uh0,ul, !$omp& v0,v0l,vh,vh0) DO J=JSTA,JEND - loopI:DO I=1,IM + loopI:DO I=ISTA,IEND ! ! COMPUTE THE TEMPERATURE LAPSE RATE (-DT/DZ) BETWEEN ETA ! LAYERS MOVING UP FROM THE GROUND. THE FIRST ETA LAYER diff --git a/sorc/ncep_post.fd/TTBLEX.f b/sorc/ncep_post.fd/TTBLEX.f index 21748a6f44..0c6915040c 100644 --- a/sorc/ncep_post.fd/TTBLEX.f +++ b/sorc/ncep_post.fd/TTBLEX.f @@ -19,6 +19,8 @@ SUBROUTINE TTBLEX(TREF,TTBL,ITB,JTB,KARR,PMIDL & ! 00-01-04 JIM TUCCILLO - MPI VERSION ! 01-10-22 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT ! 02-01-15 MIKE BALDWIN - WRF VERSION +! 21-09-13 J MENG - 2D DECOMPOSITION +! 25-05-05 B BLAKE - ADD SANITY CHECKS FOR RRFSV1 IMPLEMENTATION ! ! OUTPUT FILES: ! NONE @@ -30,20 +32,21 @@ SUBROUTINE TTBLEX(TREF,TTBL,ITB,JTB,KARR,PMIDL & ! ATTRIBUTES: ! LANGUAGE: FORTRAN !---------------------------------------------------------------------- - use ctlblk_mod, only: jsta, jend, im, jsta_2l, jend_2u, me + use ctlblk_mod, only: jsta, jend, im, jsta_2l, jend_2u, me, & + ista, iend, ista_2l, iend_2u !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none !---------------------------------------------------------------------- integer,intent(in) :: ITB,JTB - integer,intent(in) :: KARR(IM,jsta:jend) + integer,intent(in) :: KARR(ista:iend,jsta:jend) real,dimension(JTB,ITB),intent(in) :: TTBL - real,dimension(IM,JSTA_2L:JEND_2U),intent(in) :: PMIDL - real,dimension(IM,JSTA_2L:JEND_2U),intent(out) :: TREF - real,dimension(IM,jsta:jend),intent(out) :: QQ,PP - real,dimension(IM,jsta:jend),intent(in) :: THESP + real,dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),intent(in) :: PMIDL + real,dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),intent(out) :: TREF + real,dimension(ista:iend,jsta:jend),intent(out) :: QQ,PP + real,dimension(ista:iend,jsta:jend),intent(in) :: THESP real,dimension(ITB), intent(in) :: THE0,STHE - integer,dimension(IM,jsta:jend),intent(out) :: IPTB,ITHTB + integer,dimension(ista:iend,jsta:jend),intent(out) :: IPTB,ITHTB real,intent(in) :: PL,RDP,RDTHE ! @@ -55,13 +58,17 @@ SUBROUTINE TTBLEX(TREF,TTBL,ITB,JTB,KARR,PMIDL & !$omp& private(i,j,bthe00k,bthe10k,bthk,ip,iptbk,ith,pk,sthe00k,sthe10k,& !$omp& sthk,t00k,t01k,t10k,t11k,tpk,tthk) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(KARR(I,J) > 0) THEN !--------------SCALING PRESSURE & TT TABLE INDEX------------------------ PK = PMIDL(I,J) TPK = (PK-PL)*RDP QQ(I,J) = TPK-AINT(TPK) - IPTB(I,J) = INT(TPK) + 1 + IF(AINT(TPK) >= ITB) THEN + IPTB(I,J) = ITB + ELSE + IPTB(I,J) = INT(TPK)+1 + ENDIF !--------------KEEPING INDICES WITHIN THE TABLE------------------------- IF(IPTB(I,J) < 1) THEN IPTB(I,J) = 1 @@ -86,7 +93,11 @@ SUBROUTINE TTBLEX(TREF,TTBL,ITB,JTB,KARR,PMIDL & ! write(1000+me,*)' i=',i,' j=',j,' tthk=',tthk,' thesp=',thesp(i,j) & ! , ' bthk=',bthk,' sthk=',sthk,' rdthe=',rdthe - ITHTB(I,J) = INT(TTHK)+1 + IF(AINT(TTHK) >= JTB) THEN + ITHTB(I,J) = JTB + ELSE + ITHTB(I,J) = INT(TTHK)+1 + ENDIF !--------------KEEPING INDICES WITHIN THE TABLE------------------------- IF(ITHTB(I,J) < 1) THEN ITHTB(I,J) = 1 diff --git a/sorc/ncep_post.fd/UPP_MATH.f b/sorc/ncep_post.fd/UPP_MATH.f index 2b1ad4a754..8bc31a1f10 100644 --- a/sorc/ncep_post.fd/UPP_MATH.f +++ b/sorc/ncep_post.fd/UPP_MATH.f @@ -1,25 +1,26 @@ !> @file -! -!> SUBPROGRAM: UPP_MATH -!! @author JMENG @date 2020-05-20 -!! -!! A collection of UPP subroutines for numerical math functions calculation. -!! -!! DVDXDUDY -!! computes dudy, dvdx, uwnd -!! -!! H2U, H2V, U2H, V2H -!! interpolates variables between U, V, H, points -!! adopted from UPP subroutine GRIDAVG.f -!! -!! PROGRAM HISTORY LOG: -!! MAY 20 2020 Jesse Meng Initial code -!!------------------------------------------------------------------------ -!! +!> +!> @brief upp_math is a collection of UPP subroutines for numerical math functions calculation. +!> @author Jesse Meng @date 2020-05-20 +!> +!> dvdxdudy() computes dudy, dvdx, uwnd +!> +!> h2u(), h2v(), u2h(), v2h() interpolate variables between U, V, H, points +!> adopted from UPP subroutine GRIDAVG.f +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2020-05-20 | Jesse Meng | Initial +!> 2022-06-10 | Wen Meng | Modify dvdxdudy to retrict computation on undefined grids +!> 2023-03-03 | Sam Trahan | Add some missing exchanges (grids that only need i-direction exchanges) +!> +!> @author Jesse Meng @date 2020-05-20 module upp_math use masks, only: dx, dy - use ctlblk_mod, only: im, jsta_2l, jend_2u, jsta_m, jend_m, spval + use ctlblk_mod, only: im, jsta_2l, jend_2u, jsta_m, jend_m, spval,& + ista_2l, iend_2u, ista_m, iend_m use gridspec_mod, only: gridtype ! implicit none @@ -30,33 +31,55 @@ module upp_math public :: dvdxdudy public :: H2U, H2V, U2H, V2H - REAL, ALLOCATABLE :: DDVDX(:,:) - REAL, ALLOCATABLE :: DDUDY(:,:) - REAL, ALLOCATABLE :: UUAVG(:,:) + !> DDVDX dv/dx derivative + REAL, ALLOCATABLE :: DDVDX(:,:) + + !> DDUDY du/dy derivative + REAL, ALLOCATABLE :: DDUDY(:,:) + + !> UUAVG u wind velocity on mass points + REAL, ALLOCATABLE :: UUAVG(:,:) ! !------------------------------------------------------------------------------------- ! contains ! !------------------------------------------------------------------------------------- +!> dvdxdudy() computes dudy, dvdx, uwnd +!> +!> @param[in] uwnd real U horizontal wind component on velocity points +!> @param[in] vwnd real V horizontal wind component on velocity points +! + subroutine dvdxdudy(uwnd,vwnd) ! implicit none - REAL, dimension(im,jsta_2l:jend_2u), intent(in) :: UWND, VWND + REAL, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(in) :: UWND, VWND ! !-- local variables !-- integer i, j real r2dx, r2dy INTEGER, allocatable :: IHE(:),IHW(:) -! + +!Initializing + DO J=JSTA_M,JEND_M + DO I=ISTA_M,IEND_M + DDVDX(I,J)=SPVAL + DDUDY(I,J)=SPVAL + UUAVG(I,J)=SPVAL + ENDDO + ENDDO + IF(GRIDTYPE == 'A')THEN !$omp parallel do private(i,j,r2dx,r2dy) DO J=JSTA_M,JEND_M - DO I=2,IM-1 - IF(VWND(I+1,J)1.E-5.AND.ABS(DY(I,J))>1.E-5) THEN R2DX = 1./(2.*DX(I,J)) R2DY = 1./(2.*DY(I,J)) DDVDX(I,J) = (VWND(I+1,J)-VWND(I-1,J))*R2DX @@ -74,7 +97,7 @@ subroutine dvdxdudy(uwnd,vwnd) ENDDO !$omp parallel do private(i,j,r2dx,r2dy) DO J=JSTA_M,JEND_M - DO I=2,IM-1 + DO I=ISTA_M,IEND_M IF(VWND(I+IHE(J),J) < SPVAL.AND.VWND(I+IHW(J),J) < SPVAL .AND. & & UWND(I,J+1) < SPVAL .AND.UWND(I,J-1) < SPVAL) THEN R2DX = 1./(2.*DX(I,J)) @@ -90,7 +113,7 @@ subroutine dvdxdudy(uwnd,vwnd) ELSE IF (GRIDTYPE == 'B')THEN !$omp parallel do private(i,j,r2dx,r2dy) DO J=JSTA_M,JEND_M - DO I=2,IM-1 + DO I=ISTA_M,IEND_M R2DX = 1./DX(I,J) R2DY = 1./DY(I,J) if(VWND(I, J)==SPVAL .or. VWND(I, J-1)==SPVAL .or. & @@ -112,54 +135,62 @@ end subroutine dvdxdudy !------------------------------------------------------------------------------------- ! subroutine H2U(ingrid,outgrid) -! This subroutine interpolates from H points onto U points -! Author: CHUANG, EMC, Dec. 2010 +! +!> H2U() interpolates from H points onto U points +!> +!> @param[inout] ingrid Input grid on H points +!> @param[out] outgrid Output grid on U points +!> +!> Author: CHUANG, EMC, Dec. 2010 +! - use ctlblk_mod, only: spval, jsta, jend, jsta_m, jend, me, num_procs, jm,& - im, jsta_2l, jend_2u , jend_m + use ctlblk_mod, only: spval, jsta, jend, jsta_m, jend_m, me, num_procs, jm,& + im, jsta_2l, jend_2u, ista, iend, ista_m, iend_m, ista_2l, iend_2u use gridspec_mod, only: gridtype + use exch_upp_mod, only : exch implicit none INCLUDE "mpif.h" integer:: i,j,ie,iw - real,dimension(IM,JSTA_2L:JEND_2U),intent(in)::ingrid - real,dimension(IM,JSTA_2L:JEND_2U),intent(out)::outgrid + real,dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),intent(inout)::ingrid + real,dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),intent(out)::outgrid outgrid=spval if(GRIDTYPE == 'A')THEN do j=jsta,jend - do i=1,im + do i=ista,iend outgrid(i,j)=ingrid(i,j) end do end do else IF(GRIDTYPE == 'E')THEN - call exch(ingrid(1,jsta_2l)) + call exch(ingrid(ista_2l,jsta_2l)) DO J=JSTA_M,JEND_M - DO I=2,IM-1 + DO I=ISTA_M,IEND_M IE=I+MOD(J,2) IW=IE-1 outgrid(i,j)=(ingrid(IW,J)+ingrid(IE,J)+ingrid(I,J+1)+ingrid(I,J-1))/4.0 end do end do ELSE IF(GRIDTYPE == 'B')THEN - call exch(ingrid(1,jsta_2l)) + call exch(ingrid(ista_2l,jsta_2l)) DO J=JSTA,JEND_M - DO I=1,IM-1 + DO I=ISTA,IEND_M outgrid(i,j)=(ingrid(i,j)+ingrid(i,j+1)+ingrid(i+1,j)+ingrid(i+1,j+1))/4.0 end do end do ! Fill in boundary points because hysplit fails when 10 m wind has bitmaps do j=jsta,jend_m - outgrid(im,j)=outgrid(im-1,j) + outgrid(iend,j)=outgrid(iend-1,j) end do IF(me == (num_procs-1) .and. jend_2u >= jm) then - DO I=1,IM - outgrid(i,jm) = outgrid(i,jm-1) + DO I=ISTA,IEND + outgrid(i,jend) = outgrid(i,jend-1) END DO END IF ELSE IF(GRIDTYPE == 'C')THEN + call exch(ingrid(ista_2l,jsta_2l)) DO J=JSTA,JEND - DO I=1,IM-1 + DO I=ISTA,IEND_M outgrid(i,j)=(ingrid(i,j)+ingrid(i+1,j))/2.0 end do end do @@ -170,42 +201,50 @@ end subroutine H2U !------------------------------------------------------------------------------------- ! subroutine H2V(ingrid,outgrid) -! This subroutine interpolates from H points onto V points -! Author: CHUANG, EMC, Dec. 2010 - use ctlblk_mod, only: spval, jsta, jend, jsta_m, jend_m, im, jsta_2l, jend_2u +! +!> H2V() interpolates from H points onto V points +!> +!> @param[inout] ingrid Input grid on H points. +!> @param[out] outgrid Output grid on V points. +!> +!> Author: CHUANG, EMC, Dec. 2010 +! + use ctlblk_mod, only: spval, jsta, jend, jsta_m, jend_m, im, jsta_2l, jend_2u,& + ista, iend, ista_m, iend_m, ista_2l, iend_2u use gridspec_mod, only: gridtype + use exch_upp_mod, only : exch implicit none INCLUDE "mpif.h" integer:: i,j,ie,iw - real,dimension(IM,JSTA_2L:JEND_2U),intent(in)::ingrid - real,dimension(IM,JSTA_2L:JEND_2U),intent(out)::outgrid + real,dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),intent(inout)::ingrid + real,dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),intent(out)::outgrid outgrid=spval if(GRIDTYPE == 'A')THEN do j=jsta,jend - do i=1,im + do i=ista,iend outgrid(i,j)=ingrid(i,j) end do end do else IF(GRIDTYPE == 'E')THEN - call exch(ingrid(1,jsta_2l)) + call exch(ingrid(ista_2l,jsta_2l)) DO J=JSTA_M,JEND_M - DO I=2,IM-1 + DO I=ISTA_M,IEND_M IE=I+MOD(J,2) IW=IE-1 outgrid(i,j)=(ingrid(IW,J)+ingrid(IE,J)+ingrid(I,J+1)+ingrid(I,J-1))/4.0 end do end do ELSE IF(GRIDTYPE == 'B')THEN - call exch(ingrid(1,jsta_2l)) + call exch(ingrid(ista_2l,jsta_2l)) DO J=JSTA,JEND_M - DO I=1,IM-1 + DO I=ISTA,IEND_M outgrid(i,j)=(ingrid(i,j)+ingrid(i,j+1)+ingrid(i+1,j)+ingrid(i+1,j+1))/4.0 end do end do ELSE IF(GRIDTYPE == 'C')THEN - call exch(ingrid(1,jsta_2l)) + call exch(ingrid(ista_2l,jsta_2l)) DO J=JSTA,JEND_M - DO I=1,IM + DO I=ISTA,IEND outgrid(i,j)=(ingrid(i,j)+ingrid(i,j+1))/2.0 end do end do @@ -216,41 +255,50 @@ end subroutine H2V !------------------------------------------------------------------------------------- ! subroutine U2H(ingrid,outgrid) -! This subroutine interpolates from U points onto H points -! Author: CHUANG, EMC, Dec. 2010 - use ctlblk_mod, only: spval, jsta, jend, jsta_m, jend_m, im, jsta_2l, jend_2u +! +!> U2H() interpolates from U points onto H points +!> +!> @param[inout] ingrid Input grid on U points. +!> @param[out] outgrid Output grid on H points. +!> +!> Author: CHUANG, EMC, Dec. 2010 +! + use ctlblk_mod, only: spval, jsta, jend, jsta_m, jend_m, im, jsta_2l, jend_2u,& + ista, iend, ista_m, iend_m, ista_2l, iend_2u use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch implicit none INCLUDE "mpif.h" integer:: i,j,ie,iw - real,dimension(IM,JSTA_2L:JEND_2U),intent(in)::ingrid - real,dimension(IM,JSTA_2L:JEND_2U),intent(out)::outgrid + real,dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),intent(inout)::ingrid + real,dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),intent(out)::outgrid outgrid=spval if(GRIDTYPE == 'A')THEN do j=jsta,jend - do i=1,im + do i=ista,iend outgrid(i,j)=ingrid(i,j) end do end do else IF(GRIDTYPE == 'E')THEN - call exch(ingrid(1,jsta_2l)) + call exch(ingrid(ista_2l,jsta_2l)) DO J=JSTA_M,JEND_M - DO I=2,IM-1 + DO I=ISTA_M,IEND_M IE=I+MOD(J+1,2) IW=IE-1 outgrid(i,j)=(ingrid(IW,J)+ingrid(IE,J)+ingrid(I,J+1)+ingrid(I,J-1))/4.0 end do end do ELSE IF(GRIDTYPE == 'B')THEN - call exch(ingrid(1,jsta_2l)) + call exch(ingrid(ista_2l,jsta_2l)) DO J=JSTA_M,JEND_M - DO I=2,IM-1 + DO I=ISTA_M,IEND_M outgrid(i,j)=(ingrid(i-1,j-1)+ingrid(i,j-1)+ingrid(i-1,j)+ingrid(i,j))/4.0 end do end do ELSE IF(GRIDTYPE == 'C')THEN + call exch(ingrid(ista_2l,jsta_2l)) DO J=JSTA,JEND - DO I=2,IM + DO I=ISTA_M,IEND outgrid(i,j)=(ingrid(i-1,j)+ingrid(i,j))/2.0 end do end do @@ -261,42 +309,50 @@ end subroutine U2H !------------------------------------------------------------------------------------- ! subroutine V2H(ingrid,outgrid) -! This subroutine interpolates from V points onto H points -! Author: CHUANG, EMC, Dec. 2010 - use ctlblk_mod, only: spval, jsta, jend, jsta_m, jend_m, im, jsta_2l, jend_2u +! +!> V2H() interpolates from V points onto H points +!> +!> @param[inout] ingrid Input grid on V points. +!> @param[out] outgrid Output grid on H points. +!> +!> Author: CHUANG, EMC, Dec. 2010 +! + use ctlblk_mod, only: spval, jsta, jend, jsta_m, jend_m, im, jsta_2l, jend_2u,& + ista, iend, ista_m, iend_m, ista_2l, iend_2u use gridspec_mod, only: gridtype + use exch_upp_mod, only : exch implicit none INCLUDE "mpif.h" integer:: i,j,ie,iw - real,dimension(IM,JSTA_2L:JEND_2U),intent(in)::ingrid - real,dimension(IM,JSTA_2L:JEND_2U),intent(out)::outgrid + real,dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),intent(inout)::ingrid + real,dimension(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U),intent(out)::outgrid outgrid=spval if(GRIDTYPE == 'A')THEN do j=jsta,jend - do i=1,im + do i=ista,iend outgrid(i,j)=ingrid(i,j) end do end do else IF(GRIDTYPE == 'E')THEN - call exch(ingrid(1,jsta_2l)) + call exch(ingrid(ista_2l,jsta_2l)) DO J=JSTA_M,JEND_M - DO I=2,IM-1 + DO I=ISTA_M,IEND_M IE=I+MOD(J,2) IW=IE-1 outgrid(i,j)=(ingrid(IW,J)+ingrid(IE,J)+ingrid(I,J+1)+ingrid(I,J-1))/4.0 end do end do ELSE IF(GRIDTYPE == 'B')THEN - call exch(ingrid(1,jsta_2l)) + call exch(ingrid(ista_2l,jsta_2l)) DO J=JSTA_M,JEND_M - DO I=2,IM-1 + DO I=ISTA_M,IEND_M outgrid(i,j)=(ingrid(i-1,j-1)+ingrid(i,j-1)+ingrid(i-1,j)+ingrid(i,j))/4.0 end do end do ELSE IF(GRIDTYPE == 'C')THEN - call exch(ingrid(1,jsta_2l)) + call exch(ingrid(ista_2l,jsta_2l)) DO J=JSTA_M,JEND - DO I=1,IM + DO I=ISTA,IEND outgrid(i,j)=(ingrid(i,j-1)+ingrid(i,j))/2.0 end do end do diff --git a/sorc/ncep_post.fd/UPP_PHYSICS.f b/sorc/ncep_post.fd/UPP_PHYSICS.f index 60a54dee55..5721a03fbc 100644 --- a/sorc/ncep_post.fd/UPP_PHYSICS.f +++ b/sorc/ncep_post.fd/UPP_PHYSICS.f @@ -1,37 +1,47 @@ !> @file -! -!> SUBPROGRAM: UPP_PHYSICS -!! @author JMENG @date 2020-05-20 -!! -!! A collection of UPP subroutines for physics variables calculation. -!! -!! CALCAPE -!! Compute CAPE/CINS and other storm related variables. -!! -!! CALCAPE2 -!! Compute additional storm related variables. -!! -!! CALRH -!! CALRH_NAM -!! CALRH_GFS -!! CALRH_GSD -!! Compute RH using various algorithms. -!! The NAM v4.1.18 ALGORITHM (CALRH_NAM) is selected as default for -!! NMMB and FV3GFS, FV3GEFS, and FV3R for the UPP 2020 unification. -!! -!! CALRH_PW -!! Algorithm use at GSD for RUC and Rapid Refresh -!! -!! FPVSNEW -!! Compute saturation vapor pressure. -!! -!! TVIRTUAL -!! Compute virtual temperature. -!! -!! PROGRAM HISTORY LOG: -!! MAY, 2020 Jesse Meng Initial code -!!------------------------------------------------------------------------------------- -!! +!> @brief UPP_PHYSICS is a collection of UPP subroutines for physics variables calculation. +!> +!> calcape() computes CAPE/CINS and other storm related variables. +!> +!> calcape2() computes additional storm related variables. +!> +!> caldiv() computes divergence. +!> +!> calgradps() computes gardients of a scalar field PS or LNPS. +!> +!> calrh(), calrh_nam(), calrh_gfs(), calrh_gsd() compute RH using various algorithms. +!> +!> The NAM v4.1.18 algorithm (calrh_nam()) is selected as default for +!> NMMB and FV3GFS, FV3GEFS, and FV3R for the UPP 2020 unification. +!> +!> calrh_pw() algorithm use at GSD for RUC and Rapid Refresh. +!> +!> calslr_roebber() computes snow solid-liquid-ratio slr using the Roebber algorithm. +!> +!> calslr_uutah() computes snow solid-liquid-ratio slr using the UUtah Steenburgh algorithm. +!> +!> calslr_uutah2() computes snow solid-liquid-ratio slr using the UUtah Steenburgh 2024 algorithm. +!> +!> calvor() computes absolute vorticity. +!> +!> fpvsnew() computes saturation vapor pressure. +!> +!> tvirtual() computes virtual temperature. +!> +!> calchipsi() computes streamfunction and velocity potential. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2020-05-20 | Jesse Meng | Initial +!> 2022-07-11 | Jesse Meng | CALSLR_ROEBBER +!> 2023-02-14 | Jesse Meng | CALSLR_UUTAH +!> 2023-03-22 | Sam Trahan | Fix out-of-bounds access by not calling BOUND +!> 2024-11-21 | K. Asmar, J. Meng, G. Vandenberghe | CALCHIPSI +!> 2024-12-12 | Jesse Meng | CALSLR_UUTAH2 +!> 2025-05-05 | Ben Blake | Add sanity checks for RRFSv1 implementation +!> +!> @author Jesse Meng @date 2020-05-20 module upp_physics implicit none @@ -39,24 +49,39 @@ module upp_physics private public :: CALCAPE, CALCAPE2 + public :: CALDIV + public :: CALGRADPS + public :: CALRH public :: CALRH_GFS, CALRH_GSD, CALRH_NAM public :: CALRH_PW + public :: CALSLR_ROEBBER, CALSLR_UUTAH, CALSLR_UUTAH2 + public :: CALVOR, CALCHIPSI + public :: FPVSNEW public :: TVIRTUAL contains ! !------------------------------------------------------------------------------------- +!> Computes relative humidity +!> +!> @param[in] P1 real Pressure (Pa) +!> @param[in] T1 real Temperature (K) +!> @param[inout] Q1 real Specific humidity (kg/kg) +!> @note P1/T1/Q1 refer to pressure/temperature/specific humidity at the selected +!> /requested level. For example, if the user wants relative humidity at 500mb, +!> then T/P/Q at 500mb is input into the call to output RH@500mb +!> @param[out] RH real Relative humidity (decimal form) ! SUBROUTINE CALRH(P1,T1,Q1,RH) - use ctlblk_mod, only: im, jsta, jend, MODELNAME + use ctlblk_mod, only: ista, iend, jsta, jend, MODELNAME implicit none - REAL,dimension(IM,jsta:jend),intent(in) :: P1,T1 - REAL,dimension(IM,jsta:jend),intent(inout) :: Q1 - REAL,dimension(IM,jsta:jend),intent(out) :: RH + REAL,dimension(ista:iend,jsta:jend),intent(in) :: P1,T1 + REAL,dimension(ista:iend,jsta:jend),intent(inout) :: Q1 + REAL,dimension(ista:iend,jsta:jend),intent(out) :: RH IF(MODELNAME == 'RAPR')THEN CALL CALRH_GSD(P1,T1,Q1,RH) @@ -68,57 +93,37 @@ END SUBROUTINE CALRH ! !------------------------------------------------------------------------------------- ! - SUBROUTINE CALRH_NAM(P1,T1,Q1,RH) -! SUBROUTINE CALRH(P1,T1,Q1,RH) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: CALRH COMPUTES RELATIVE HUMIDITY -! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -! -! ABSTRACT: -! THIS ROUTINE COMPUTES RELATIVE HUMIDITY GIVEN PRESSURE, -! TEMPERATURE, SPECIFIC HUMIDITY. AN UPPER AND LOWER BOUND -! OF 100 AND 1 PERCENT RELATIVE HUMIDITY IS ENFORCED. WHEN -! THESE BOUNDS ARE APPLIED THE PASSED SPECIFIC HUMIDITY -! ARRAY IS ADJUSTED AS NECESSARY TO PRODUCE THE SET RELATIVE -! HUMIDITY. -! . -! -! PROGRAM HISTORY LOG: -! ??-??-?? DENNIS DEAVEN -! 92-12-22 RUSS TREADON - MODIFIED AS DESCRIBED ABOVE. -! 98-06-08 T BLACK - CONVERSION FROM 1-D TO 2-D -! 98-08-18 MIKE BALDWIN - MODIFY TO COMPUTE RH OVER ICE AS IN MODEL -! 98-12-16 GEOFF MANIKIN - UNDO RH COMPUTATION OVER ICE -! 00-01-04 JIM TUCCILLO - MPI VERSION -! 02-06-11 MIKE BALDWIN - WRF VERSION -! 06-03-19 Wen Meng - MODIFY TOP PRESSURE to 1 PA -! -! USAGE: CALL CALRH(P1,T1,Q1,RH) -! INPUT ARGUMENT LIST: -! P1 - PRESSURE (PA) -! T1 - TEMPERATURE (K) -! Q1 - SPECIFIC HUMIDITY (KG/KG) -! -! OUTPUT ARGUMENT LIST: -! RH - RELATIVE HUMIDITY (DECIMAL FORM) -! Q1 - ADJUSTED SPECIFIC HUMIDITY (KG/KG) -! -! OUTPUT FILES: -! NONE -! -! SUBPROGRAMS CALLED: -! UTILITIES: -! LIBRARY: -! NONE -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN -! MACHINE : CRAY C-90 -!$$$ -! +!> Computes relative humidity. +!> +!> This routine computes relative humidity given pressure, +!> temperature, specific humidity. an upper and lower bound +!> of 100 and 1e-4 percent relative humidity is enforced. When +!> these bounds are applied the passed specific humidity +!> array is adjusted as necessary to produce the set relative +!> humidity. +!> +!> @param[in] P1 Pressure (pa) +!> @param[in] T1 Temperature (K) +!> @param[inout] Q1 Specific humidity (kg/kg) +!> @param[out] RH Relative humidity (decimal form) +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> ????-??-?? | DENNIS DEAVEN | Initial +!> 1992-12-22 | Russ Treadon | Modified as described above +!> 1998-06-08 | T Black | Conversion from 1-D to 2-D +!> 1998-08-18 | Mike Baldwin | Modify to compute RH over ice as in model +!> 1998-12-16 | Geoff Manikin | undo RH computation over ice +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-06-11 | Mike Baldwin | WRF Version +!> 2006-03-19 | Wen Meng | Modify top pressure to 1 pa +!> 2025-04-16 | Daniel Wesloh | Reduce minimum RH above 3 mbar/near stratopause +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 + SUBROUTINE CALRH_NAM(P1,T1,Q1,RH) use params_mod, only: PQ0, a2, a3, a4, rhmin - use ctlblk_mod, only: jsta, jend, spval, im + use ctlblk_mod, only: ista, iend, jsta, jend, spval !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -126,9 +131,9 @@ SUBROUTINE CALRH_NAM(P1,T1,Q1,RH) ! ! DECLARE VARIABLES. ! - REAL,dimension(IM,jsta:jend),intent(in) :: P1,T1 - REAL,dimension(IM,jsta:jend),intent(inout) :: Q1 - REAL,dimension(IM,jsta:jend),intent(out) :: RH + REAL,dimension(ista:iend,jsta:jend),intent(in) :: P1,T1 + REAL,dimension(ista:iend,jsta:jend),intent(inout) :: Q1 + REAL,dimension(ista:iend,jsta:jend),intent(out) :: RH REAL QC integer I,J !*************************************************************** @@ -136,7 +141,7 @@ SUBROUTINE CALRH_NAM(P1,T1,Q1,RH) ! START CALRH. ! DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (T1(I,J) < spval) THEN IF (ABS(P1(I,J)) >= 1) THEN QC = PQ0/P1(I,J)*EXP(A2*(T1(I,J)-A3)/(T1(I,J)-A4)) @@ -150,7 +155,11 @@ SUBROUTINE CALRH_NAM(P1,T1,Q1,RH) Q1(I,J) = RH(I,J)*QC ENDIF IF (RH(I,J) < RHmin) THEN !use smaller RH limit for stratosphere - RH(I,J) = RHmin + IF (P1(I, J) >= 3e2) THEN + RH(I,J) = RHmin + ELSE IF (RH(I, J) < (RHmin / 10.)) THEN + RH(I, J) = RHmin / 10. + END IF Q1(I,J) = RH(I,J)*QC ENDIF ! @@ -167,57 +176,37 @@ END SUBROUTINE CALRH_NAM ! !------------------------------------------------------------------------------------- ! +!> Computes relative humidity. +!> +!> This routine computes relative humidity given pressure, +!> temperature, specific humidity. an upper and lower bound +!> of 100 and 1 percent relative humidity is enforced. When +!> these bounds are applied the passed specific humidity +!> array is adjusted as necessary to produce the set relative +!> humidity. +!> +!> @param[in] P1 Pressure (pa) +!> @param[in] T1 Temperature (K) +!> @param[inout] Q1 Specific humidity (kg/kg) +!> @param[out] RH Relative humidity (decimal form) +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> ????-??-?? | DENNIS DEAVEN | Initial +!> 1992-12-22 | Russ Treadon | Modified as described above +!> 1998-06-08 | T Black | Conversion from 1-D to 2-D +!> 1998-08-18 | Mike Baldwin | Modify to compute RH over ice as in model +!> 1998-12-16 | Geoff Manikin | undo RH computation over ice +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-06-11 | Mike Baldwin | WRF Version +!> 2013-08-13 | S. Moorthi | Threading +!> 2006-03-19 | Wen Meng | Modify top pressure to 1 pa +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 SUBROUTINE CALRH_GFS(P1,T1,Q1,RH) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: CALRH COMPUTES RELATIVE HUMIDITY -! PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-22 -! -! ABSTRACT: -! THIS ROUTINE COMPUTES RELATIVE HUMIDITY GIVEN PRESSURE, -! TEMPERATURE, SPECIFIC HUMIDITY. AN UPPER AND LOWER BOUND -! OF 100 AND 1 PERCENT RELATIVE HUMIDITY IS ENFORCED. WHEN -! THESE BOUNDS ARE APPLIED THE PASSED SPECIFIC HUMIDITY -! ARRAY IS ADJUSTED AS NECESSARY TO PRODUCE THE SET RELATIVE -! HUMIDITY. -! . -! -! PROGRAM HISTORY LOG: -! ??-??-?? DENNIS DEAVEN -! 92-12-22 RUSS TREADON - MODIFIED AS DESCRIBED ABOVE. -! 98-06-08 T BLACK - CONVERSION FROM 1-D TO 2-D -! 98-08-18 MIKE BALDWIN - MODIFY TO COMPUTE RH OVER ICE AS IN MODEL -! 98-12-16 GEOFF MANIKIN - UNDO RH COMPUTATION OVER ICE -! 00-01-04 JIM TUCCILLO - MPI VERSION -! 02-06-11 MIKE BALDWIN - WRF VERSION -! 13-08-13 S. Moorthi - Threading -! 06-03-19 Wen Meng - MODIFY TOP PRESSURE to 1 PA -! -! USAGE: CALL CALRH(P1,T1,Q1,RH) -! INPUT ARGUMENT LIST: -! P1 - PRESSURE (PA) -! T1 - TEMPERATURE (K) -! Q1 - SPECIFIC HUMIDITY (KG/KG) -! -! OUTPUT ARGUMENT LIST: -! RH - RELATIVE HUMIDITY (DECIMAL FORM) -! Q1 - ADJUSTED SPECIFIC HUMIDITY (KG/KG) -! -! OUTPUT FILES: -! NONE -! -! SUBPROGRAMS CALLED: -! UTILITIES: -! LIBRARY: -! NONE -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN -! MACHINE : CRAY C-90 -!$$$ -! use params_mod, only: rhmin - use ctlblk_mod, only: jsta, jend, spval, im + use ctlblk_mod, only: ista, iend, jsta, jend, spval !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -234,8 +223,8 @@ SUBROUTINE CALRH_GFS(P1,T1,Q1,RH) ! END FUNCTION FPVSNEW ! END INTERFACE ! - REAL,dimension(IM,jsta:jend),intent(in) :: P1,T1 - REAL,dimension(IM,jsta:jend),intent(inout):: Q1,RH + REAL,dimension(ista:iend,jsta:jend),intent(in) :: P1,T1 + REAL,dimension(ista:iend,jsta:jend),intent(inout):: Q1,RH REAL ES,QC integer :: I,J !*************************************************************** @@ -244,7 +233,7 @@ SUBROUTINE CALRH_GFS(P1,T1,Q1,RH) ! !$omp parallel do private(i,j,es,qc) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (T1(I,J) < spval .AND. P1(I,J) < spval.AND.Q1(I,J)/=spval) THEN ! IF (ABS(P1(I,J)) > 1.0) THEN ! IF (P1(I,J) > 1.0) THEN @@ -277,24 +266,31 @@ SUBROUTINE CALRH_GFS(P1,T1,Q1,RH) END SUBROUTINE CALRH_GFS ! !------------------------------------------------------------------------------------- +!> Compute RH with the NOAA GSL (formerly NOAA GSD) algorithm used for RUC and Rapid Refresh +!> +!> @param P1 real Pressure (Pa) +!> @param T1 real Temperature (K) +!> @param Q1 real Specific humidity (kg/kg) +!> @note P1/T1/Q1 refer to pressure/temperature/specific humidity at the selected +!> /requested level. For example, if the user wants relative humidity at 500mb, +!> then T/P/Q at 500mb is input into the call to output RH@500mb +!> @param RHB real Relative humidity (decimal form) +!> ! SUBROUTINE CALRH_GSD(P1,T1,Q1,RHB) -! -! Algorithm use at GSD for RUC and Rapid Refresh -!------------------------------------------------------------------ ! - use ctlblk_mod, only: jsta, jend, im, spval + use ctlblk_mod, only: ista, iend, jsta, jend, spval implicit none integer :: j, i real :: tx, pol, esx, es, e - real, dimension(im,jsta:jend) :: P1, T1, Q1, RHB + real, dimension(ista:iend,jsta:jend) :: P1, T1, Q1, RHB DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (T1(I,J) < spval .AND. P1(I,J) < spval .AND. Q1(I,J) < spval) THEN ! - compute relative humidity Tx=T1(I,J)-273.15 @@ -318,21 +314,25 @@ END SUBROUTINE CALRH_GSD ! !------------------------------------------------------------------------------------- ! +!> Algorithm used at GSL for RUC and Rapid Refresh. +!> +!> @param RHPW real Relative humidity with respect to precipitable water (entire atmosphere) +!> + SUBROUTINE CALRH_PW(RHPW) ! -! Algorithm use at GSD for RUC and Rapid Refresh !------------------------------------------------------------------ ! use vrbls3d, only: q, pmid, t use params_mod, only: g - use ctlblk_mod, only: lm, jsta, jend, lm, im, spval + use ctlblk_mod, only: lm, ista, iend, jsta, jend, spval !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none real,PARAMETER :: svp1=6.1153,svp2=17.67,svp3=29.65 - REAL, dimension(im,jsta:jend):: PW, PW_SAT, RHPW + REAL, dimension(ista:iend,jsta:jend):: PW, PW_SAT, RHPW REAL deltp,sh,qv,temp,es,qs,qv_sat integer i,j,l,k,ka,kb @@ -343,7 +343,7 @@ SUBROUTINE CALRH_PW(RHPW) DO L=1,LM k=lm-l+1 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ! -- use specific humidity for PW calculation if(t(i,j,k) @brief Computes saturation vapor pressure. +!> +!> Compute saturation vapor pressure from the temperature. +!> A linear interpolation is done between values in a lookup table +!> computed in gpvs. See documentation for fpvsx for details. +!> Input values outside table range are reset to table extrema. +!> The interpolation accuracy is almost 6 decimal places. +!> On the Cray, fpvs is about 4 times faster than exact calculation. +!> This function should be expanded inline in the calling routine. +!> +!> @param[in] t Real(krealfp) Temperature in Kelvin. +!> @return fpvsnew Real(krealfp) Saturation vapor pressure in Pascals. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1991-05-07 | Iredell | Initial. Made into inlinable function +!> 1994-12-30 | Iredell | Expand table +!> 1999-03-01 | Iredell | F90 module +!> 2001-02-26 | Iredell | Ice phase +!> +!> @author N Phillips w/NMC2X2 @date 1982-12-30 elemental function fpvsnew(t) -!$$$ Subprogram Documentation Block -! -! Subprogram: fpvsnew Compute saturation vapor pressure -! Author: N Phillips w/NMC2X2 Date: 30 dec 82 -! -! Abstract: Compute saturation vapor pressure from the temperature. -! A linear interpolation is done between values in a lookup table -! computed in gpvs. See documentation for fpvsx for details. -! Input values outside table range are reset to table extrema. -! The interpolation accuracy is almost 6 decimal places. -! On the Cray, fpvs is about 4 times faster than exact calculation. -! This function should be expanded inline in the calling routine. -! -! Program History Log: -! 91-05-07 Iredell made into inlinable function -! 94-12-30 Iredell expand table -! 1999-03-01 Iredell f90 module -! 2001-02-26 Iredell ice phase -! -! Usage: pvs=fpvsnew(t) -! -! Input argument list: -! t Real(krealfp) temperature in Kelvin -! -! Output argument list: -! fpvsnew Real(krealfp) saturation vapor pressure in Pascals -! -! Attributes: -! Language: Fortran 90. -! -!$$$ + implicit none integer,parameter:: nxpvs=7501 - real,parameter:: con_ttp =2.7316e+2 ! temp at H2O 3pt - real,parameter:: con_psat =6.1078e+2 ! pres at H2O 3pt - real,parameter:: con_cvap =1.8460e+3 ! spec heat H2O gas (J/kg/K) - real,parameter:: con_cliq =4.1855e+3 ! spec heat H2O liq - real,parameter:: con_hvap =2.5000e+6 ! lat heat H2O cond - real,parameter:: con_rv =4.6150e+2 ! gas constant H2O - real,parameter:: con_csol =2.1060e+3 ! spec heat H2O ice - real,parameter:: con_hfus =3.3358e+5 ! lat heat H2O fusion + real,parameter:: con_ttp =2.7316e+2 !< temp at H2O 3pt + real,parameter:: con_psat =6.1078e+2 !< pres at H2O 3pt + real,parameter:: con_cvap =1.8460e+3 !< spec heat H2O gas (J/kg/K) + real,parameter:: con_cliq =4.1855e+3 !< spec heat H2O liq + real,parameter:: con_hvap =2.5000e+6 !< lat heat H2O cond + real,parameter:: con_rv =4.6150e+2 !< gas constant H2O + real,parameter:: con_csol =2.1060e+3 !< spec heat H2O ice + real,parameter:: con_hfus =3.3358e+5 !< lat heat H2O fusion real,parameter:: tliq=con_ttp real,parameter:: tice=con_ttp-20.0 real,parameter:: dldtl=con_cvap-con_cliq @@ -486,139 +478,112 @@ elemental function fpvsnew(t) end function fpvsnew ! !------------------------------------------------------------------------------------- -! - +!> Computes CAPE and CINS. +!> +!> This routine computes CAPE and CINS given temperature, +!> pressure, and specific humidty. In "storm and cloud +!> dynamics" (1989, academic press) cotton and anthes define +!> CAPE (equation 9.16, p501) as +!> +!> @code +!> EL +!> CAPE = SUM G * LN(THETAP/THETAA) DZ +!> LCL +!> +!> Where, +!> EL = Equilibrium level, +!> LCL = Lifting condenstation level, +!> G = Gravitational acceleration, +!> THETAP = Lifted parcel potential temperature, +!> THETAA = Ambient potential temperature. +!> @endcode +!> +!> Note that the integrand ln(THETAP/THETAA) approximately +!> equals (THETAP-THETAA)/THETAA. This ratio is often used +!> in the definition of CAPE/CINS. +!> +!> Two types of CAPE/CINS can be computed by this routine. The +!> summation process is the same For both cases. What differs +!> is the definition of the parcel to lift. FOR ITYPE=1 the +!> parcel with the warmest THETA-E in A DPBND pascal layer above +!> the model surface is lifted. the arrays P1D, T1D, and Q1D +!> are not used. For itype=2 the arrays P1D, T1D, and Q1D +!> define the parcel to lift in each column. Both types of +!> CAPE/CINS may be computed in a single execution of the post +!> processor. +!> +!> This algorithm proceeds as follows. +!> For each column, +!> (1) Initialize running CAPE and CINS SUM TO 0.0 +!> (2) Compute temperature and pressure at the LCL using +!> look up table (PTBL). Use either parcel that gives +!> max THETAE in lowest DPBND above ground (ITYPE=1) +!> or given parcel from t1D,Q1D,...(ITYPE=2). +!> (3) Compute the temp of a parcel lifted from the LCL. +!> We know that the parcel's +!> equivalent potential temperature (THESP) remains +!> constant through this process. we can +!> compute tpar using this knowledge using look +!> up table (subroutine TTBLEX). +!> (4) Find the equilibrium level. This is defined as the +!> highest positively buoyant layer. +!> (If there is no positively buoyant layer, CAPE/CINS +!> will be zero) +!> (5) Compute CAPE/CINS. +!> (A) Compute THETAP. We know TPAR and P. +!> (B) Compute THETAA. We know T and P. +!> (6) Add G*(THETAP-THETAA)*DZ to the running CAPE or CINS sum. +!> (A) If THETAP > THETAA, add to the CAPE sum. +!> (B) If THETAP < THETAA, add to the CINS sum. +!> (7) Are we at equilibrium level? +!> (A) If yes, stop the summation. +!> (b) if no, contiunue the summation. +!> (8) Enforce limits on CAPE and CINS (i.e. no negative CAPE) +!> +!> @param[in] ITYPE INTEGER Flag specifying how parcel to lift is identified. See comments above. +!> @param[in] DPBND Depth over which one searches for most unstable parcel. +!> @param[in] P1D Array of pressure of parcels to lift. +!> @param[in] T1D Array of temperature of parcels to lift. +!> @param[in] Q1D Array of specific humidity of parcels to lift. +!> @param[in] L1D Array of model level of parcels to lift. +!> @param[out] CAPE Convective available potential energy (J/kg). +!> @param[out] CINS Convective inhibition (J/kg). +!> @param[out] PPARC Pressure level of parcel lifted when one searches over a particular depth to compute CAPE/CIN. +!> @param[inout] ZEQL Equivalent level height. +!> @param THUND Thunder parameter. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1993-02-10 | Russ Treadon | Initial +!> 1993-06-19 | Russ Treadon | Generalized routine to allow for type 2 CAPE/CINS calculations +!> 1994-09-23 | Mike Baldwin | Modified to use look up tables instead of complicated equations +!> 1994-10-13 | Mike Baldwin | Modified to continue CAPE/CINS calc up to at highest buoyant layer +!> 1998-06-12 | T Black | Conversion from 1-D TO 2-D +!> 1998-08-18 | T Black | Compute APE internally +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-01-15 | Mike Baldwin | WRF Version +!> 2003-08-24 | G Manikin | Added level of parcel being lifted as output from the routine and added the depth over which one searches for the most unstable parcel as input +!> 2010-09-09 | G Manikin | Changed computation to use virtual temp added eq lvl hght and thunder parameter +!> 2015-??-?? | S Moorthi | Optimization and threading +!> 2021-07-28 | W Meng | Restrict computation from undefined grids +!> 2021-09-01 | E Colon | Equivalent level height index for RTMA +!> 2025-07-22 | K Halbert / E Colon | CAPE/CINH use shelter fields +!> 2025-12-16 | B Blake | Add capecin_2m option to calculate CAPE and CIN with 2-m fields +!> +!> @author Russ Treadon W/NP2 @date 1993-02-10 SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & CINS,PPARC,ZEQL,THUND) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: CALCAPE COMPUTES CAPE AND CINS -! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-02-10 -! -! ABSTRACT: -! -! THIS ROUTINE COMPUTES CAPE AND CINS GIVEN TEMPERATURE, -! PRESSURE, AND SPECIFIC HUMIDTY. IN "STORM AND CLOUD -! DYNAMICS" (1989, ACADEMIC PRESS) COTTON AND ANTHES DEFINE -! CAPE (EQUATION 9.16, P501) AS -! -! EL -! CAPE = SUM G * LN(THETAP/THETAA) DZ -! LCL -! -! WHERE, -! EL = EQUILIBRIUM LEVEL, -! LCL = LIFTING CONDENSTATION LEVEL, -! G = GRAVITATIONAL ACCELERATION, -! THETAP = LIFTED PARCEL POTENTIAL TEMPERATURE, -! THETAA = AMBIENT POTENTIAL TEMPERATURE. -! -! NOTE THAT THE INTEGRAND LN(THETAP/THETAA) APPROXIMATELY -! EQUALS (THETAP-THETAA)/THETAA. THIS RATIO IS OFTEN USED -! IN THE DEFINITION OF CAPE/CINS. -! -! TWO TYPES OF CAPE/CINS CAN BE COMPUTED BY THIS ROUTINE. THE -! SUMMATION PROCESS IS THE SAME FOR BOTH CASES. WHAT DIFFERS -! IS THE DEFINITION OF THE PARCEL TO LIFT. FOR ITYPE=1 THE -! PARCEL WITH THE WARMEST THETA-E IN A DPBND PASCAL LAYER ABOVE -! THE MODEL SURFACE IS LIFTED. THE ARRAYS P1D, T1D, AND Q1D -! ARE NOT USED. FOR ITYPE=2 THE ARRAYS P1D, T1D, AND Q1D -! DEFINE THE PARCEL TO LIFT IN EACH COLUMN. BOTH TYPES OF -! CAPE/CINS MAY BE COMPUTED IN A SINGLE EXECUTION OF THE POST -! PROCESSOR. -! -! THIS ALGORITHM PROCEEDS AS FOLLOWS. -! FOR EACH COLUMN, -! (1) INITIALIZE RUNNING CAPE AND CINS SUM TO 0.0 -! (2) COMPUTE TEMPERATURE AND PRESSURE AT THE LCL USING -! LOOK UP TABLE (PTBL). USE EITHER PARCEL THAT GIVES -! MAX THETAE IN LOWEST DPBND ABOVE GROUND (ITYPE=1) -! OR GIVEN PARCEL FROM T1D,Q1D,...(ITYPE=2). -! (3) COMPUTE THE TEMP OF A PARCEL LIFTED FROM THE LCL. -! WE KNOW THAT THE PARCEL'S -! EQUIVALENT POTENTIAL TEMPERATURE (THESP) REMAINS -! CONSTANT THROUGH THIS PROCESS. WE CAN -! COMPUTE TPAR USING THIS KNOWLEDGE USING LOOK -! UP TABLE (SUBROUTINE TTBLEX). -! (4) FIND THE EQUILIBRIUM LEVEL. THIS IS DEFINED AS THE -! HIGHEST POSITIVELY BUOYANT LAYER. -! (IF THERE IS NO POSITIVELY BUOYANT LAYER, CAPE/CINS -! WILL BE ZERO) -! (5) COMPUTE CAPE/CINS. -! (A) COMPUTE THETAP. WE KNOW TPAR AND P. -! (B) COMPUTE THETAA. WE KNOW T AND P. -! (6) ADD G*(THETAP-THETAA)*DZ TO THE RUNNING CAPE OR CINS SUM. -! (A) IF THETAP > THETAA, ADD TO THE CAPE SUM. -! (B) IF THETAP < THETAA, ADD TO THE CINS SUM. -! (7) ARE WE AT EQUILIBRIUM LEVEL? -! (A) IF YES, STOP THE SUMMATION. -! (B) IF NO, CONTIUNUE THE SUMMATION. -! (8) ENFORCE LIMITS ON CAPE AND CINS (I.E. NO NEGATIVE CAPE) -! -! PROGRAM HISTORY LOG: -! 93-02-10 RUSS TREADON -! 93-06-19 RUSS TREADON - GENERALIZED ROUTINE TO ALLOW FOR -! TYPE 2 CAPE/CINS CALCULATIONS. -! 94-09-23 MIKE BALDWIN - MODIFIED TO USE LOOK UP TABLES -! INSTEAD OF COMPLICATED EQUATIONS. -! 94-10-13 MIKE BALDWIN - MODIFIED TO CONTINUE CAPE/CINS CALC -! UP TO AT HIGHEST BUOYANT LAYER. -! 98-06-12 T BLACK - CONVERSION FROM 1-D TO 2-D -! 98-08-18 T BLACK - COMPUTE APE INTERNALLY -! 00-01-04 JIM TUCCILLO - MPI VERSION -! 02-01-15 MIKE BALDWIN - WRF VERSION -! 03-08-24 G MANIKIN - ADDED LEVEL OF PARCEL BEING LIFTED -! AS OUTPUT FROM THE ROUTINE AND ADDED -! THE DEPTH OVER WHICH ONE SEARCHES FOR -! THE MOST UNSTABLE PARCEL AS INPUT -! 10-09-09 G MANIKIN - CHANGED COMPUTATION TO USE VIRTUAL TEMP -! - ADDED EQ LVL HGHT AND THUNDER PARAMETER -! 15-xx-xx S MOORTHI - optimization and threading -! 21-07-28 W Meng - Restrict computation from undefined grids. -! 21-09-01 E COLON - equivalent level height index for RTMA -! -! USAGE: CALL CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, -! CINS,PPARC) -! INPUT ARGUMENT LIST: -! ITYPE - INTEGER FLAG SPECIFYING HOW PARCEL TO LIFT IS -! IDENTIFIED. SEE COMMENTS ABOVE. -! DPBND - DEPTH OVER WHICH ONE SEARCHES FOR MOST UNSTABLE PARCEL -! P1D - ARRAY OF PRESSURE OF PARCELS TO LIFT. -! T1D - ARRAY OF TEMPERATURE OF PARCELS TO LIFT. -! Q1D - ARRAY OF SPECIFIC HUMIDITY OF PARCELS TO LIFT. -! L1D - ARRAY OF MODEL LEVEL OF PARCELS TO LIFT. -! -! OUTPUT ARGUMENT LIST: -! CAPE - CONVECTIVE AVAILABLE POTENTIAL ENERGY (J/KG) -! CINS - CONVECTIVE INHIBITION (J/KG) -! PPARC - PRESSURE LEVEL OF PARCEL LIFTED WHEN ONE SEARCHES -! OVER A PARTICULAR DEPTH TO COMPUTE CAPE/CIN -! -! OUTPUT FILES: -! STDOUT - RUN TIME STANDARD OUT. -! -! SUBPROGRAMS CALLED: -! UTILITIES: -! BOUND - BOUND (CLIP) DATA BETWEEN UPPER AND LOWER LIMTS. -! TTBLEX - LOOKUP TABLE ROUTINE TO GET T FROM THETAE AND P -! -! LIBRARY: -! COMMON - -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN 90 -! MACHINE : CRAY C-90 -!$$$ -! use vrbls3d, only: pmid, t, q, zint - use vrbls2d, only: teql,ieql + use vrbls2d, only: teql,ieql,tshltr,pshltr,qshltr use masks, only: lmh use params_mod, only: d00, h1m12, h99999, h10e5, capa, elocp, eps, & - oneps, g + oneps, g, p1000 use lookup_mod, only: thl, rdth, jtb, qs0, sqs, rdq, itb, ptbl, & plq, ttbl, pl, rdp, the0, sthe, rdthe, ttblq, & itbq, jtbq, rdpq, the0q, stheq, rdtheq - use ctlblk_mod, only: jsta_2l, jend_2u, lm, jsta, jend, im, me, spval + use ctlblk_mod, only: jsta_2l, jend_2u, lm, jsta, jend, im, me, spval, & + ista_2l, iend_2u, ista, iend, capecin_2m ! !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none @@ -630,28 +595,27 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & ! integer,intent(in) :: ITYPE real,intent(in) :: DPBND - integer, dimension(IM,Jsta:jend),intent(in) :: L1D - real, dimension(IM,Jsta:jend),intent(in) :: P1D,T1D - real, dimension(IM,jsta:jend),intent(inout) :: Q1D,CAPE,CINS,PPARC,ZEQL + integer, dimension(ista:iend,Jsta:jend),intent(in) :: L1D + real, dimension(ista:iend,Jsta:jend),intent(in) :: P1D,T1D + real, dimension(ista:iend,jsta:jend),intent(inout) :: Q1D,CAPE,CINS,PPARC,ZEQL ! - integer, dimension(im,jsta:jend) :: IPTB, ITHTB, PARCEL, KLRES, KHRES, LCL, IDX + integer, dimension(ista:iend,jsta:jend) :: IPTB, ITHTB, PARCEL, KLRES, KHRES, LCL, IDX ! - real, dimension(im,jsta:jend) :: THESP, PSP, CAPE20, QQ, PP, THUND + real, dimension(ista:iend,jsta:jend) :: THESP, PSP, CAPE20, QQ, PP, THUND REAL, ALLOCATABLE :: TPAR(:,:,:) - LOGICAL THUNDER(IM,jsta:jend), NEEDTHUN + LOGICAL THUNDER(ista:iend,jsta:jend), NEEDTHUN real PSFCK,PKL,TBTK,QBTK,APEBTK,TTHBTK,TTHK,APESPK,TPSPK, & BQS00K,SQS00K,BQS10K,SQS10K,BQK,SQK,TQK,PRESK,GDZKL,THETAP, & THETAA,P00K,P10K,P01K,P11K,TTHESK,ESATP,QSATP,TVP,TV ! real,external :: fpvsnew integer I,J,L,KNUML,KNUMH,LBEG,LEND,IQ, KB,ITTBK - ! integer I,J,L,KNUML,KNUMH,LBEG,LEND,IQ,IT,LMHK, KB,ITTBK ! !************************************************************** ! START CALCAPE HERE. ! - ALLOCATE(TPAR(IM,JSTA_2L:JEND_2U,LM)) + ALLOCATE(TPAR(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LM)) ! ! COMPUTE CAPE/CINS ! @@ -675,7 +639,7 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & ! !$omp parallel do DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND CAPE(I,J) = D00 CAPE20(I,J) = D00 CINS(I,J) = D00 @@ -688,11 +652,11 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & THUNDER(I,J) = .TRUE. ENDDO ENDDO -! + !$omp parallel do DO L=1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND TPAR(I,J,L) = D00 ENDDO ENDDO @@ -705,7 +669,7 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & IF (ITYPE == 2) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Q1D(I,J) = MIN(MAX(H1M12,Q1D(I,J)),H99999) ENDDO ENDDO @@ -722,7 +686,7 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & !$omp & p00k,p01k,p10k,p11k,pkl,psfck,qbtk,sqk,sqs00k, & !$omp & sqs10k,tbtk,tpspk,tqk,tthbtk,tthesk,tthk) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PSFCK = PMID(I,J,NINT(LMH(I,J))) PKL = PMID(I,J,KB) IF(PSFCK= PSFCK-DPBND .AND. PKL <= PSFCK)))THEN IF (ITYPE == 1) THEN - TBTK = T(I,J,KB) - QBTK = max(0.0, Q(I,J,KB)) + IF (capecin_2m .AND. KB == LM) THEN + PKL = PSHLTR(I,J) + TBTK = TSHLTR(I,J)*(PSHLTR(I,J)/P1000)**CAPA + QBTK = max(0.0, QSHLTR(I,J)) + ELSE + TBTK = T(I,J,KB) + QBTK = max(0.0, Q(I,J,KB)) + ENDIF APEBTK = (H10E5/PKL)**CAPA ELSE PKL = P1D(I,J) @@ -814,7 +784,7 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & !----FIND THE PRESSURE OF THE PARCEL THAT WAS LIFTED !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PPARC(I,J) = PMID(I,J,PARCEL(I,J)) ENDDO ENDDO @@ -825,14 +795,14 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & DO L=1,LM !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (PMID(I,J,L) < PSP(I,J)) LCL(I,J) = L+1 ENDDO ENDDO ENDDO !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (LCL(I,J) > NINT(LMH(I,J))) LCL(I,J) = NINT(LMH(I,J)) IF (ITYPE > 2) THEN IF (T(I,J,LCL(I,J)) < 263.15) THEN @@ -850,7 +820,7 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & KNUML = 0 KNUMH = 0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND KLRES(I,J) = 0 KHRES(I,J) = 0 IF(L <= LCL(I,J)) THEN @@ -868,23 +838,23 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & !*** COMPUTE PARCEL TEMPERATURE ALONG MOIST ADIABAT FOR PRESSURE 0) THEN - CALL TTBLEX(TPAR(1,JSTA_2L,L),TTBL,ITB,JTB,KLRES & - , PMID(1,JSTA_2L,L),PL,QQ,PP,RDP,THE0,STHE & + CALL TTBLEX(TPAR(ISTA_2L,JSTA_2L,L),TTBL,ITB,JTB,KLRES & + , PMID(ISTA_2L,JSTA_2L,L),PL,QQ,PP,RDP,THE0,STHE & , RDTHE,THESP,IPTB,ITHTB) ENDIF !*** !*** COMPUTE PARCEL TEMPERATURE ALONG MOIST ADIABAT FOR PRESSURE>PLQ !** IF(KNUMH > 0) THEN - CALL TTBLEX(TPAR(1,JSTA_2L,L),TTBLQ,ITBQ,JTBQ,KHRES & - , PMID(1,JSTA_2L,L),PLQ,QQ,PP,RDPQ & + CALL TTBLEX(TPAR(ISTA_2L,JSTA_2L,L),TTBLQ,ITBQ,JTBQ,KHRES & + , PMID(ISTA_2L,JSTA_2L,L),PLQ,QQ,PP,RDPQ & ,THE0Q,STHEQ,RDTHEQ,THESP,IPTB,ITHTB) ENDIF !------------SEARCH FOR EQ LEVEL---------------------------------------- !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(KHRES(I,J) > 0) THEN IF(TPAR(I,J,L) > T(I,J,L)) IEQL(I,J) = L ENDIF @@ -893,7 +863,7 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(KLRES(I,J) > 0) THEN IF(TPAR(I,J,L) > T(I,J,L) .AND. & PMID(I,J,L)>100.) IEQL(I,J) = L @@ -906,7 +876,7 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & LBEG = 1000 LEND = 0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND LBEG = MIN(IEQL(I,J),LBEG) LEND = MAX(LCL(I,J),LEND) ENDDO @@ -914,7 +884,7 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T(I,J,IEQL(I,J)) > 255.65) THEN THUNDER(I,J) = .FALSE. ENDIF @@ -925,7 +895,7 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IDX(I,J) = 0 IF(L >= IEQL(I,J).AND.L <= LCL(I,J)) THEN IDX(I,J) = 1 @@ -935,7 +905,7 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & ! !$omp parallel do private(i,j,gdzkl,presk,thetaa,thetap,esatp,qsatp,tvp,tv) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(IDX(I,J) > 0) THEN PRESK = PMID(I,J,L) GDZKL = (ZINT(I,J,L)-ZINT(I,J,L+1)) * G @@ -966,7 +936,7 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND CAPE(I,J) = MAX(D00,CAPE(I,J)) CINS(I,J) = MIN(CINS(I,J),D00) ! add equillibrium height @@ -988,150 +958,120 @@ SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & END SUBROUTINE CALCAPE ! !------------------------------------------------------------------------------------- -! +!> Computes CAPE and CINS. +!> +!> This routine computes CAPE and CINS given temperature, +!> pressure, and specific humidty. In "storm and cloud +!> dynamics" (1989, academic press) cotton and anthes define +!> CAPE (equation 9.16, p501) as +!> +!> @code +!> EL +!> CAPE = SUM G * ln(THETAP/THETAA) DZ +!> LCL +!> +!> Where, +!> EL = Equilibrium level, +!> LCL = Lifting condenstation level, +!> G = Gravitational acceleration, +!> THETAP = Lifted parcel potential temperature, +!> THETAA = Ambient potential temperature. +!> @endcode +!> +!> Note that the integrand ln(THETAP/THETAA) approximately +!> equals (THETAP-THETAA)/THETAA. This ratio is often used +!> in the definition of CAPE/CINS. +!> +!> Two types of CAPE/CINS can be computed by this routine. The +!> summation process is the same For both cases. What differs +!> is the definition of the parcel to lift. FOR ITYPE=1 the +!> parcel with the warmest THETA-E in A DPBND pascal layer above +!> the model surface is lifted. the arrays P1D, T1D, and Q1D +!> are not used. For itype=2 the arrays P1D, T1D, and Q1D +!> define the parcel to lift in each column. Both types of +!> CAPE/CINS may be computed in a single execution of the post +!> processor. +!> +!> This algorithm proceeds as follows. +!> For each column, +!> (1) Initialize running CAPE and CINS SUM TO 0.0 +!> (2) Compute temperature and pressure at the LCL using +!> look up table (PTBL). Use either parcel that gives +!> max THETAE in lowest DPBND above ground (ITYPE=1) +!> or given parcel from t1D,Q1D,...(ITYPE=2). +!> (3) Compute the temp of a parcel lifted from the LCL. +!> We know that the parcel's +!> equivalent potential temperature (THESP) remains +!> constant through this process. we can +!> compute tpar using this knowledge using look +!> up table (subroutine TTBLEX). +!> (4) Find the equilibrium level. This is defined as the +!> highest positively buoyant layer. +!> (If there is no positively buoyant layer, CAPE/CINS +!> will be zero) +!> (5) Compute CAPE/CINS. +!> (A) Compute THETAP. We know TPAR and P. +!> (B) Compute THETAA. We know T and P. +!> (6) Add G*(THETAP-THETAA)*DZ to the running CAPE or CINS sum. +!> (A) If THETAP > THETAA, add to the CAPE sum. +!> (B) If THETAP < THETAA, add to the CINS sum. +!> (7) Are we at equilibrium level? +!> (A) If yes, stop the summation. +!> (b) if no, contiunue the summation. +!> (8) Enforce limits on CAPE and CINS (i.e. no negative CAPE) +!> +!> @param[in] ITYPE INTEGER Flag specifying how parcel to lift is identified. See comments above. +!> @param[in] DPBND Depth over which one searches for most unstable parcel. +!> @param[in] P1D Array of pressure of parcels to lift. +!> @param[in] T1D Array of temperature of parcels to lift. +!> @param[in] Q1D Array of specific humidity of parcels to lift. +!> @param[in] L1D Array of model level of parcels to lift. +!> @param[out] CAPE Convective available potential energy (J/kg). +!> @param[out] CINS Convective inhibition (J/kg). +!> @param[out] LFC level of free convection (m). +!> @param[out] ESRHL Lower bound to account for effective helicity calculation. +!> @param[out] ESRHH Upper bound to account for effective helicity calculation. +!> @param[out] DCAPE downdraft CAPE (J/KG). +!> @param[out] DGLD Dendritic growth layer depth (m). +!> @param[out] ESP Enhanced stretching potential. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1993-02-10 | Russ Treadon | Initial +!> 1993-06-19 | Russ Treadon | Generalized routine to allow for type 2 CAPE/CINS calculations +!> 1994-09-23 | Mike Baldwin | Modified to use look up tables instead of complicated equations +!> 1994-10-13 | Mike Baldwin | Modified to continue CAPE/CINS calc up to at highest buoyant layer +!> 1998-06-12 | T Black | Conversion from 1-D TO 2-D +!> 1998-08-18 | T Black | Compute APE internally +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-01-15 | Mike Baldwin | WRF Version +!> 2003-08-24 | G Manikin | Added level of parcel being lifted as output from the routine and added the depth over which one searches for the most unstable parcel as input +!> 2010-09-09 | G Manikin | Changed computation to use virtual temp added eq lvl hght and thunder parameter +!> 2015-??-?? | S Moorthi | Optimization and threading +!> 2021-09-03 | J Meng | Modified to add 0-3km CAPE/CINS, LFC, effective helicity, downdraft CAPE, dendritic growth layer depth, ESP +!> 2021-09-01 | E Colon | Equivalent level height index for RTMA +!> 2022-08-27 | S Trahan | Fixed bug in CALCAPE2 where extreme atmospheric conditions cause an out-of-bounds access +!> 2022-09-01 | S Trahan | Fixed another bug in CALCAPE2 where extreme atmospheric conditions cause an out-of-bounds access +!> 2025-07-22 | K Halbert / E Colon | CAPE/CINH use shelter fields +!> 2025-12-16 | B Blake | Add capecin_2m option to calculate CAPE and CIN with 2-m fields +!> +!> @author Russ Treadon W/NP2 @date 1993-02-10 SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & CAPE,CINS,LFC,ESRHL,ESRHH, & DCAPE,DGLD,ESP) -! SUBROUTINE CALCAPE(ITYPE,DPBND,P1D,T1D,Q1D,L1D,CAPE, & -! CINS,PPARC,ZEQL,THUND) -!$$$ SUBPROGRAM DOCUMENTATION BLOCK -! . . . -! SUBPROGRAM: CALCAPE COMPUTES CAPE AND CINS -! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-02-10 -! -! ABSTRACT: -! -! THIS ROUTINE COMPUTES CAPE AND CINS GIVEN TEMPERATURE, -! PRESSURE, AND SPECIFIC HUMIDTY. IN "STORM AND CLOUD -! DYNAMICS" (1989, ACADEMIC PRESS) COTTON AND ANTHES DEFINE -! CAPE (EQUATION 9.16, P501) AS -! -! EL -! CAPE = SUM G * LN(THETAP/THETAA) DZ -! LCL -! -! WHERE, -! EL = EQUILIBRIUM LEVEL, -! LCL = LIFTING CONDENSTATION LEVEL, -! G = GRAVITATIONAL ACCELERATION, -! THETAP = LIFTED PARCEL POTENTIAL TEMPERATURE, -! THETAA = AMBIENT POTENTIAL TEMPERATURE. -! -! NOTE THAT THE INTEGRAND LN(THETAP/THETAA) APPROXIMATELY -! EQUALS (THETAP-THETAA)/THETAA. THIS RATIO IS OFTEN USED -! IN THE DEFINITION OF CAPE/CINS. -! -! TWO TYPES OF CAPE/CINS CAN BE COMPUTED BY THIS ROUTINE. THE -! SUMMATION PROCESS IS THE SAME FOR BOTH CASES. WHAT DIFFERS -! IS THE DEFINITION OF THE PARCEL TO LIFT. FOR ITYPE=1 THE -! PARCEL WITH THE WARMEST THETA-E IN A DPBND PASCAL LAYER ABOVE -! THE MODEL SURFACE IS LIFTED. THE ARRAYS P1D, T1D, AND Q1D -! ARE NOT USED. FOR ITYPE=2 THE ARRAYS P1D, T1D, AND Q1D -! DEFINE THE PARCEL TO LIFT IN EACH COLUMN. BOTH TYPES OF -! CAPE/CINS MAY BE COMPUTED IN A SINGLE EXECUTION OF THE POST -! PROCESSOR. -! -! THIS ALGORITHM PROCEEDS AS FOLLOWS. -! FOR EACH COLUMN, -! (1) INITIALIZE RUNNING CAPE AND CINS SUM TO 0.0 -! (2) COMPUTE TEMPERATURE AND PRESSURE AT THE LCL USING -! LOOK UP TABLE (PTBL). USE EITHER PARCEL THAT GIVES -! MAX THETAE IN LOWEST DPBND ABOVE GROUND (ITYPE=1) -! OR GIVEN PARCEL FROM T1D,Q1D,...(ITYPE=2). -! (3) COMPUTE THE TEMP OF A PARCEL LIFTED FROM THE LCL. -! WE KNOW THAT THE PARCEL'S -! EQUIVALENT POTENTIAL TEMPERATURE (THESP) REMAINS -! CONSTANT THROUGH THIS PROCESS. WE CAN -! COMPUTE TPAR USING THIS KNOWLEDGE USING LOOK -! UP TABLE (SUBROUTINE TTBLEX). -! (4) FIND THE EQUILIBRIUM LEVEL. THIS IS DEFINED AS THE -! HIGHEST POSITIVELY BUOYANT LAYER. -! (IF THERE IS NO POSITIVELY BUOYANT LAYER, CAPE/CINS -! WILL BE ZERO) -! (5) COMPUTE CAPE/CINS. -! (A) COMPUTE THETAP. WE KNOW TPAR AND P. -! (B) COMPUTE THETAA. WE KNOW T AND P. -! (6) ADD G*(THETAP-THETAA)*DZ TO THE RUNNING CAPE OR CINS SUM. -! (A) IF THETAP > THETAA, ADD TO THE CAPE SUM. -! (B) IF THETAP < THETAA, ADD TO THE CINS SUM. -! (7) ARE WE AT EQUILIBRIUM LEVEL? -! (A) IF YES, STOP THE SUMMATION. -! (B) IF NO, CONTIUNUE THE SUMMATION. -! (8) ENFORCE LIMITS ON CAPE AND CINS (I.E. NO NEGATIVE CAPE) -! -! PROGRAM HISTORY LOG: -! 93-02-10 RUSS TREADON -! 93-06-19 RUSS TREADON - GENERALIZED ROUTINE TO ALLOW FOR -! TYPE 2 CAPE/CINS CALCULATIONS. -! 94-09-23 MIKE BALDWIN - MODIFIED TO USE LOOK UP TABLES -! INSTEAD OF COMPLICATED EQUATIONS. -! 94-10-13 MIKE BALDWIN - MODIFIED TO CONTINUE CAPE/CINS CALC -! UP TO AT HIGHEST BUOYANT LAYER. -! 98-06-12 T BLACK - CONVERSION FROM 1-D TO 2-D -! 98-08-18 T BLACK - COMPUTE APE INTERNALLY -! 00-01-04 JIM TUCCILLO - MPI VERSION -! 02-01-15 MIKE BALDWIN - WRF VERSION -! 03-08-24 G MANIKIN - ADDED LEVEL OF PARCEL BEING LIFTED -! AS OUTPUT FROM THE ROUTINE AND ADDED -! THE DEPTH OVER WHICH ONE SEARCHES FOR -! THE MOST UNSTABLE PARCEL AS INPUT -! 10-09-09 G MANIKIN - CHANGED COMPUTATION TO USE VIRTUAL TEMP -! - ADDED EQ LVL HGHT AND THUNDER PARAMETER -! 15-xx-xx S MOORTHI - optimization and threading -! 19-09-03 J MENG - MODIFIED TO ADD 0-3KM CAPE/CINS, LFC, -! EFFECTIVE HELICITY, DOWNDRAFT CAPE, -! DENDRITIC GROWTH LAYER DEPTH, ESP -! 21-09-01 E COLON - equivalent level height index for RTMA -! -! USAGE: CALL CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & -! CAPE,CINS,LFC,ESRHL,ESRHH, & -! DCAPE,DGLD,ESP) -! -! INPUT ARGUMENT LIST: -! ITYPE - INTEGER FLAG SPECIFYING HOW PARCEL TO LIFT IS -! IDENTIFIED. SEE COMMENTS ABOVE. -! DPBND - DEPTH OVER WHICH ONE SEARCHES FOR MOST UNSTABLE PARCEL -! P1D - ARRAY OF PRESSURE OF PARCELS TO LIFT. -! T1D - ARRAY OF TEMPERATURE OF PARCELS TO LIFT. -! Q1D - ARRAY OF SPECIFIC HUMIDITY OF PARCELS TO LIFT. -! L1D - ARRAY OF MODEL LEVEL OF PARCELS TO LIFT. -! -! OUTPUT ARGUMENT LIST: -! CAPE - CONVECTIVE AVAILABLE POTENTIAL ENERGY (J/KG) -! CINS - CONVECTIVE INHIBITION (J/KG) -! LFC - LEVEL OF FREE CONVECTION (M) -! ESRHL - LOWER BOUND TO ACCOUNT FOR EFFECTIVE HELICITY CALCULATION -! ESRHH - UPPER BOUND TO ACCOUNT FOR EFFECTIVE HELICITY CALCULATION -! DCAPE - DOWNDRAFT CAPE (J/KG) -! DGLD - DENDRITIC GROWTH LAYER DEPTH (M) -! ESP - ENHANCED STRETCHING POTENTIAL -! -! OUTPUT FILES: -! STDOUT - RUN TIME STANDARD OUT. -! -! SUBPROGRAMS CALLED: -! UTILITIES: -! BOUND - BOUND (CLIP) DATA BETWEEN UPPER AND LOWER LIMTS. -! TTBLEX - LOOKUP TABLE ROUTINE TO GET T FROM THETAE AND P -! -! LIBRARY: -! COMMON - -! -! ATTRIBUTES: -! LANGUAGE: FORTRAN 90 -! MACHINE : CRAY C-90 -!$$$ -! use vrbls3d, only: pmid, t, q, zint - use vrbls2d, only: fis,ieql + use vrbls2d, only: fis,ieql,pshltr,tshltr,qshltr use gridspec_mod, only: gridtype use masks, only: lmh use params_mod, only: d00, h1m12, h99999, h10e5, capa, elocp, eps, & - oneps, g, tfrz + oneps, g, tfrz, p1000 use lookup_mod, only: thl, rdth, jtb, qs0, sqs, rdq, itb, ptbl, & plq, ttbl, pl, rdp, the0, sthe, rdthe, ttblq, & itbq, jtbq, rdpq, the0q, stheq, rdtheq - use ctlblk_mod, only: jsta_2l, jend_2u, lm, jsta, jend, im, jm, me, jsta_m, jend_m, spval + use ctlblk_mod, only: jsta_2l, jend_2u, lm, jsta, jend, im, jm, me, jsta_m, jend_m, spval,& + ista_2l, iend_2u, ista, iend, ista_m, iend_m, capecin_2m + use exch_upp_mod, only: exch ! !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none @@ -1143,25 +1083,25 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & ! integer,intent(in) :: ITYPE real,intent(in) :: DPBND - integer, dimension(IM,Jsta:jend),intent(in) :: L1D - real, dimension(IM,Jsta:jend),intent(in) :: P1D,T1D -! real, dimension(IM,jsta:jend),intent(inout) :: Q1D,CAPE,CINS,PPARC,ZEQL - real, dimension(IM,jsta:jend),intent(inout) :: Q1D,CAPE,CINS - real, dimension(IM,jsta:jend) :: PPARC,ZEQL - real, dimension(IM,jsta:jend),intent(inout) :: LFC,ESRHL,ESRHH - real, dimension(IM,jsta:jend),intent(inout) :: DCAPE,DGLD,ESP - integer, dimension(im,jsta:jend) ::L12,L17,L3KM + integer, dimension(ista:iend,Jsta:jend),intent(in) :: L1D + real, dimension(ista:iend,Jsta:jend),intent(in) :: P1D,T1D +! real, dimension(ista:iend,jsta:jend),intent(inout) :: Q1D,CAPE,CINS,PPARC,ZEQL + real, dimension(ista:iend,jsta:jend),intent(inout) :: Q1D,CAPE,CINS + real, dimension(ista:iend,jsta:jend) :: PPARC,ZEQL + real, dimension(ista:iend,jsta:jend),intent(inout) :: LFC,ESRHL,ESRHH + real, dimension(ista:iend,jsta:jend),intent(inout) :: DCAPE,DGLD,ESP + integer, dimension(ista:iend,jsta:jend) ::L12,L17,L3KM ! - integer, dimension(im,jsta:jend) :: IPTB, ITHTB, PARCEL, KLRES, KHRES, LCL, IDX + integer, dimension(ista:iend,jsta:jend) :: IPTB, ITHTB, PARCEL, KLRES, KHRES, LCL, IDX ! - real, dimension(im,jsta:jend) :: THESP, PSP, CAPE20, QQ, PP, THUND - integer, dimension(im,jsta:jend) :: PARCEL2 - real, dimension(im,jsta:jend) :: THESP2,PSP2 - real, dimension(im,jsta:jend) :: CAPE4,CINS4 + real, dimension(ista:iend,jsta:jend) :: THESP, PSP, CAPE20, QQ, PP, THUND + integer, dimension(ista:iend,jsta:jend) :: PARCEL2 + real, dimension(ista:iend,jsta:jend) :: THESP2,PSP2 + real, dimension(ista:iend,jsta:jend) :: CAPE4,CINS4 REAL, ALLOCATABLE :: TPAR(:,:,:) REAL, ALLOCATABLE :: TPAR2(:,:,:) - LOGICAL THUNDER(IM,jsta:jend), NEEDTHUN + LOGICAL THUNDER(ista:iend,jsta:jend), NEEDTHUN real PSFCK,PKL,TBTK,QBTK,APEBTK,TTHBTK,TTHK,APESPK,TPSPK, & BQS00K,SQS00K,BQS10K,SQS10K,BQK,SQK,TQK,PRESK,GDZKL,THETAP, & THETAA,P00K,P10K,P01K,P11K,TTHESK,ESATP,QSATP,TVP,TV @@ -1170,15 +1110,15 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & integer I,J,L,KNUML,KNUMH,LBEG,LEND,IQ, KB,ITTBK integer IE,IW,JN,JS,IVE(JM),IVW(JM),JVN,JVS integer ISTART,ISTOP,JSTART,JSTOP - real, dimension(IM,jsta:jend) :: HTSFC + real, dimension(ista:iend,jsta:jend) :: HTSFC ! integer I,J,L,KNUML,KNUMH,LBEG,LEND,IQ,IT,LMHK, KB,ITTBK ! !************************************************************** ! START CALCAPE HERE. ! - ALLOCATE(TPAR(IM,JSTA_2L:JEND_2U,LM)) - ALLOCATE(TPAR2(IM,JSTA_2L:JEND_2U,LM)) + ALLOCATE(TPAR(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LM)) + ALLOCATE(TPAR2(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LM)) ! ! COMPUTE CAPE/CINS ! @@ -1202,7 +1142,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & ! !$omp parallel do DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND CAPE(I,J) = D00 CAPE20(I,J) = D00 CAPE4(I,J) = D00 @@ -1230,7 +1170,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & !$omp parallel do DO L=1,LM DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND TPAR(I,J,L) = D00 TPAR2(I,J,L) = D00 ENDDO @@ -1246,8 +1186,8 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & IVE(J) = MOD(J,2) IVW(J) = IVE(J)-1 enddo - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M ELSE IF(gridtype == 'B')THEN @@ -1257,8 +1197,8 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & IVE(J)=1 IVW(J)=0 enddo - ISTART = 2 - ISTOP = IM-1 + ISTART = ISTA_M + ISTOP = IEND_M JSTART = JSTA_M JSTOP = JEND_M ELSE @@ -1268,13 +1208,13 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & IVE(J) = 0 IVW(J) = 0 enddo - ISTART = 1 - ISTOP = IM + ISTART = ISTA + ISTOP = IEND JSTART = JSTA JSTOP = JEND END IF !!$omp parallel do private(htsfc,ie,iw) - IF(gridtype /= 'A') CALL EXCH(FIS(1:IM,JSTA:JEND)) + IF(gridtype /= 'A') CALL EXCH(FIS(ISTA:IEND,JSTA:JEND)) DO J=JSTART,JSTOP DO I=ISTART,ISTOP IE = I+IVE(J) @@ -1299,7 +1239,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & IF (ITYPE == 2) THEN !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND Q1D(I,J) = MIN(MAX(H1M12,Q1D(I,J)),H99999) ENDDO ENDDO @@ -1316,7 +1256,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & !$omp & p00k,p01k,p10k,p11k,pkl,psfck,qbtk,sqk,sqs00k, & !$omp & sqs10k,tbtk,tpspk,tqk,tthbtk,tthesk,tthk) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PSFCK = PMID(I,J,NINT(LMH(I,J))) PKL = PMID(I,J,KB) @@ -1324,8 +1264,14 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & IF (ITYPE ==2 .OR. & (ITYPE == 1 .AND. (PKL >= PSFCK-DPBND .AND. PKL <= PSFCK)))THEN IF (ITYPE == 1) THEN - TBTK = T(I,J,KB) - QBTK = max(0.0, Q(I,J,KB)) + IF (capecin_2m .AND. KB == LM) THEN + PKL = PSHLTR(I,J) + TBTK = TSHLTR(I,J)*(PSHLTR(I,J)/P1000)**CAPA + QBTK = max(0.0, QSHLTR(I,J)) + ELSE + TBTK = T(I,J,KB) + QBTK = max(0.0, Q(I,J,KB)) + ENDIF APEBTK = (H10E5/PKL)**CAPA ELSE PKL = P1D(I,J) @@ -1344,7 +1290,11 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & TTHBTK = TBTK*APEBTK TTHK = (TTHBTK-THL)*RDTH QQ(I,J) = TTHK - AINT(TTHK) - ITTBK = INT(TTHK) + 1 + IF(AINT(TTHK) >= JTB) THEN + ITTBK = JTB + ELSE + ITTBK = INT(TTHK) + 1 + ENDIF !--------------KEEPING INDICES WITHIN THE TABLE------------------------- IF(ITTBK < 1) THEN ITTBK = 1 @@ -1412,7 +1362,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & !----FIND THE PRESSURE OF THE PARCEL THAT WAS LIFTED !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND PPARC(I,J) = PMID(I,J,PARCEL(I,J)) ENDDO ENDDO @@ -1423,20 +1373,23 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & DO L=1,LM !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (PMID(I,J,L) < PSP(I,J)) LCL(I,J) = L+1 ENDDO ENDDO ENDDO !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF (LCL(I,J) > NINT(LMH(I,J))) LCL(I,J) = NINT(LMH(I,J)) IF (ITYPE > 2) THEN IF (T(I,J,LCL(I,J)) < 263.15) THEN THUNDER(I,J) = .FALSE. ENDIF ENDIF + + ! Limit LCL to prevent out-of-bounds accesses later + LCL(I,J) = max(min(LCL(I,J),LM-1),1) ENDDO ENDDO !----------------------------------------------------------------------- @@ -1447,7 +1400,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & KNUML = 0 KNUMH = 0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND KLRES(I,J) = 0 KHRES(I,J) = 0 IF(L <= LCL(I,J)) THEN @@ -1465,23 +1418,23 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & !*** COMPUTE PARCEL TEMPERATURE ALONG MOIST ADIABAT FOR PRESSURE 0) THEN - CALL TTBLEX(TPAR(1,JSTA_2L,L),TTBL,ITB,JTB,KLRES & - , PMID(1,JSTA_2L,L),PL,QQ,PP,RDP,THE0,STHE & + CALL TTBLEX(TPAR(ISTA_2L,JSTA_2L,L),TTBL,ITB,JTB,KLRES & + , PMID(ISTA_2L,JSTA_2L,L),PL,QQ,PP,RDP,THE0,STHE & , RDTHE,THESP,IPTB,ITHTB) ENDIF !*** !*** COMPUTE PARCEL TEMPERATURE ALONG MOIST ADIABAT FOR PRESSURE>PLQ !** IF(KNUMH > 0) THEN - CALL TTBLEX(TPAR(1,JSTA_2L,L),TTBLQ,ITBQ,JTBQ,KHRES & - , PMID(1,JSTA_2L,L),PLQ,QQ,PP,RDPQ & + CALL TTBLEX(TPAR(ISTA_2L,JSTA_2L,L),TTBLQ,ITBQ,JTBQ,KHRES & + , PMID(ISTA_2L,JSTA_2L,L),PLQ,QQ,PP,RDPQ & ,THE0Q,STHEQ,RDTHEQ,THESP,IPTB,ITHTB) ENDIF !------------SEARCH FOR EQ LEVEL---------------------------------------- !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(KHRES(I,J) > 0) THEN IF(TPAR(I,J,L) > T(I,J,L)) IEQL(I,J) = L ENDIF @@ -1490,7 +1443,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(KLRES(I,J) > 0) THEN IF(TPAR(I,J,L) > T(I,J,L)) IEQL(I,J) = L ENDIF @@ -1502,7 +1455,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & LBEG = 1000 LEND = 0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND LBEG = MIN(IEQL(I,J),LBEG) LEND = MAX(LCL(I,J),LEND) ENDDO @@ -1510,13 +1463,17 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T(I,J,IEQL(I,J)) > 255.65) THEN THUNDER(I,J) = .FALSE. ENDIF ENDDO ENDDO ! +!Ensure later calculations do not access LM+1 +! + LEND=MIN(LEND,LM-1) +! !reverse L order from bottom up for ESRH calculation ! ESRHH = LCL @@ -1526,7 +1483,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IDX(I,J) = 0 IF(L >= IEQL(I,J).AND.L <= LCL(I,J)) THEN IDX(I,J) = 1 @@ -1537,7 +1494,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & !$omp parallel do private(i,j,gdzkl,presk,thetaa,thetap,esatp,qsatp,tvp,tv,& !$omp & presk2,esatp2,qsatp2,tvp2,thetap2,tv2,thetaa2) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(IDX(I,J) > 0) THEN PRESK = PMID(I,J,L) GDZKL = (ZINT(I,J,L)-ZINT(I,J,L+1)) * G @@ -1598,7 +1555,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ESRHH(I,J) > ESRHL(I,J)) ESRHH(I,J)=IEQL(I,J) ENDDO ENDDO @@ -1609,7 +1566,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & ! !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND CAPE(I,J) = MAX(D00,CAPE(I,J)) CINS(I,J) = MIN(CINS(I,J),D00) ! equillibrium height @@ -1637,7 +1594,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & KNUML = 0 KNUMH = 0 DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND KLRES(I,J) = 0 KHRES(I,J) = 0 PSFCK = PMID(I,J,NINT(LMH(I,J))) @@ -1657,16 +1614,16 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & !*** COMPUTE PARCEL TEMPERATURE ALONG MOIST ADIABAT FOR PRESSURE 0) THEN - CALL TTBLEX(TPAR2(1,JSTA_2L,L),TTBL,ITB,JTB,KLRES & - , PMID(1,JSTA_2L,L),PL,QQ,PP,RDP,THE0,STHE & + CALL TTBLEX(TPAR2(ISTA_2L,JSTA_2L,L),TTBL,ITB,JTB,KLRES & + , PMID(ISTA_2L,JSTA_2L,L),PL,QQ,PP,RDP,THE0,STHE & , RDTHE,THESP2,IPTB,ITHTB) ENDIF !*** !*** COMPUTE PARCEL TEMPERATURE ALONG MOIST ADIABAT FOR PRESSURE>PLQ !** IF(KNUMH > 0) THEN - CALL TTBLEX(TPAR2(1,JSTA_2L,L),TTBLQ,ITBQ,JTBQ,KHRES & - , PMID(1,JSTA_2L,L),PLQ,QQ,PP,RDPQ & + CALL TTBLEX(TPAR2(ISTA_2L,JSTA_2L,L),TTBLQ,ITBQ,JTBQ,KHRES & + , PMID(ISTA_2L,JSTA_2L,L),PLQ,QQ,PP,RDPQ & , THE0Q,STHEQ,RDTHEQ,THESP2,IPTB,ITHTB) ENDIF ENDDO ! end of do l=lm,1,-1 loop @@ -1677,7 +1634,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & DO L=LBEG,LEND !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IDX(I,J) = 0 IF(L >= PARCEL2(I,J).AND.L < NINT(LMH(I,J))) THEN IDX(I,J) = 1 @@ -1687,7 +1644,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & ! !$omp parallel do private(i,j,gdzkl,presk,thetaa,thetap,esatp,qsatp,tvp,tv) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(IDX(I,J) > 0) THEN PRESK = PMID(I,J,L) GDZKL = (ZINT(I,J,L)-ZINT(I,J,L+1)) * G @@ -1709,7 +1666,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND DCAPE(I,J) = MIN(D00,DCAPE(I,J)) ENDDO ENDDO @@ -1725,7 +1682,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & DO L=LM,1,-1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(T(I,J,L) <= TFRZ-12. .AND. L12(I,J)==LM) L12(I,J)=L IF(T(I,J,L) <= TFRZ-17. .AND. L17(I,J)==LM) L17(I,J)=L ENDDO @@ -1733,7 +1690,7 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & ENDDO !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(L12(I,J)/=LM .AND. L17(I,J)/=LM) THEN DGLD(I,J)=ZINT(I,J,L17(I,J))-ZINT(I,J,L12(I,J)) DGLD(I,J)=MAX(DGLD(I,J),0.) @@ -1749,14 +1706,14 @@ SUBROUTINE CALCAPE2(ITYPE,DPBND,P1D,T1D,Q1D,L1D, & DO L=LM,1,-1 !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(ZINT(I,J,L)-HTSFC(I,J) <= 3000.) L3KM(I,J)=L ENDDO ENDDO ENDDO !$omp parallel do private(i,j) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND ESP(I,J) = (CAPE(I,J) / 50.) * (T(I,J,LM) - T(I,J,L3KM(I,J)) - 7.0) IF((T(I,J,LM) - T(I,J,L3KM(I,J))) < 7.0) ESP(I,J) = 0. ! IF(CAPE(I,J) < 250.) ESP(I,J) = 0. @@ -1775,7 +1732,11 @@ END SUBROUTINE CALCAPE2 ! elemental function TVIRTUAL(T,Q) ! -! COMPUTE VIRTUAL TEMPERATURE +!> @brief Computes virtual temperature +!> +!> @param[in] T real Temperature +!> @param[in] Q real Specific humidity +!> @return virtual temperature ! IMPLICIT NONE REAL TVIRTUAL @@ -1786,5 +1747,3500 @@ elemental function TVIRTUAL(T,Q) end function TVIRTUAL ! !------------------------------------------------------------------------------------- +! +!> Computes absolute vorticity. +!> +!> @param[in] UWND U wind (m/s) mass-points. +!> @param[in] VWND V wind (m/s) mass-points. +!> @param[out] ABSV absolute vorticity (1/s) mass-points. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-22 | Russ Treadon | Initial +!> 1998-06-08 | T Black | Convesion from 1-D to 2-D +!> 2000-01-04 | Jim Tuccillo | MPI Version +!> 2002-01-15 | Mike Baldwin | WRF Version C-grid +!> 2005-03-01 | H Chuang | Add NMM E grid +!> 2005-05-17 | H Chuang | Add Potential vorticity calculation +!> 2005-07-07 | B Zhou | Add RSM in computing DVDX, DUDY and UAVG +!> 2013-08-09 | S Moorthi | Optimize the vorticity loop including threading +!> 2016-08-05 | S Moorthi | add zonal filetering +!> 2019-10-17 | Y Mao | Skip calculation when U/V is SPVAL +!> 2020-11-06 | J Meng | Use UPP_MATH Module +!> 2022-05-26 | H Chuang | Use GSL approach for FV3R +!> 2024-10-16 | J Kenyon | Initialize ABSV as SPVAL for MPAS applications +!> +!> @author Russ Treadon W/NP2 @date 1992-12-22 + + SUBROUTINE CALVOR(UWND,VWND,ABSV) + +! + use vrbls2d, only: f + use masks, only: gdlat, gdlon, dx, dy + use params_mod, only: d00, dtr, small, erad + use ctlblk_mod, only: jsta_2l, jend_2u, spval, modelname, submodelname, global, & + jsta, jend, im, jm, jsta_m, jend_m, gdsdegr,& + ista, iend, ista_m, iend_m, ista_2l, iend_2u, me, num_procs + use gridspec_mod, only: gridtype, dyval + use upp_math, only: DVDXDUDY, DDVDX, DDUDY, UUAVG + use exch_upp_mod, only: exch + + implicit none +! +! DECLARE VARIABLES. +! + REAL, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(inout) :: UWND, VWND + REAL, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(inout) :: ABSV + REAL, dimension(IM,2) :: GLATPOLES, COSLPOLES, UPOLES, AVPOLES + REAL, dimension(IM,JSTA:JEND) :: COSLTEMP, AVTEMP +! + real, allocatable :: wrk1(:,:), wrk2(:,:), wrk3(:,:), cosl(:,:) + INTEGER, allocatable :: IHE(:),IHW(:), IE(:),IW(:) +! + integer, parameter :: npass2=2, npass3=3 + integer I,J,ip1,im1,ii,iir,iil,jj,JMT2,imb2, npass, nn, jtem + real R2DX,R2DY,DVDX,DUDY,UAVG,TPH1,TPHI, tx1(im+2), tx2(im+2) +! +!*************************************************************************** +! START CALVOR HERE. +! +! LOOP TO COMPUTE ABSOLUTE VORTICITY FROM WINDS. +! + IF(MODELNAME == 'RAPR' .AND. SUBMODELNAME /= 'MPAS') then ! for RAP / HRRR only +!$omp parallel do private(i,j) + DO J=JSTA_2L,JEND_2U + DO I=ISTA_2L,IEND_2U + ABSV(I,J) = D00 + ENDDO + ENDDO + else +!$omp parallel do private(i,j) + DO J=JSTA_2L,JEND_2U + DO I=ISTA_2L,IEND_2U + ABSV(I,J) = SPVAL + ENDDO + ENDDO + endif + + CALL EXCH(UWND) + CALL EXCH(VWND) +! + IF (MODELNAME == 'GFS' .or. global) THEN + CALL EXCH(GDLAT(ISTA_2L,JSTA_2L)) + CALL EXCH(GDLON(ISTA_2L,JSTA_2L)) + + allocate (wrk1(ista:iend,jsta:jend), wrk2(ista:iend,jsta:jend), & + & wrk3(ista:iend,jsta:jend), cosl(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(iw(im),ie(im)) + + imb2 = im/2 +!$omp parallel do private(i) + do i=ista,iend + ie(i) = i+1 + iw(i) = i-1 + enddo +! iw(1) = im +! ie(im) = 1 + +! if(1>=jsta .and. 1<=jend)then +! if(cos(gdlat(1,1)*dtr)= SMALL) then + wrk1(i,j) = 1.0 / (ERAD*cosl(i,j)) + else + wrk1(i,j) = 0. + end if + if(i == im .or. i == 1) then + wrk2(i,j) = 1.0 / ((360.+GDLON(ip1,J)-GDLON(im1,J))*DTR) !1/dlam + else + wrk2(i,j) = 1.0 / ((GDLON(ip1,J)-GDLON(im1,J))*DTR) !1/dlam + end if + enddo + enddo +! CALL EXCH(cosl(1,JSTA_2L)) + CALL EXCH(cosl) + + call fullpole( cosl(ista_2l:iend_2u,jsta_2l:jend_2u),coslpoles) + call fullpole(gdlat(ista_2l:iend_2u,jsta_2l:jend_2u),glatpoles) + +!$omp parallel do private(i,j,ii) + DO J=JSTA,JEND + if (j == 1) then + if(gdlat(ista,j) > 0.) then ! count from north to south + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + ! wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J+1)-GDLAT(II,J))*DTR) !1/dphi + wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J+1)-GLATPOLES(ii,1))*DTR) !1/dphi + enddo + else ! count from south to north + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + ! wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J+1)+GDLAT(II,J))*DTR) !1/dphi + wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J+1)+GLATPOLES(ii,1))*DTR) !1/dphi +! + enddo + end if + elseif (j == JM) then + if(gdlat(ista,j) < 0.) then ! count from north to south + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + ! wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J-1)+GDLAT(II,J))*DTR) + wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J-1)+GLATPOLES(ii,2))*DTR) + enddo + else ! count from south to north + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + ! wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J-1)-GDLAT(II,J))*DTR) + wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J-1)-GLATPOLES(ii,2))*DTR) + enddo + end if + else + do i=ista,iend + wrk3(i,j) = 1.0 / ((GDLAT(I,J-1)-GDLAT(I,J+1))*DTR) !1/dphi + enddo + endif + enddo + + npass = 0 + + jtem = jm / 18 + 1 + + call fullpole(uwnd(ista_2l:iend_2u,jsta_2l:jend_2u),upoles) + +!$omp parallel do private(i,j,ip1,im1,ii,jj,tx1,tx2) + DO J=JSTA,JEND +! npass = npass2 +! if (j > jm-jtem+1 .or. j < jtem) npass = npass3 + IF(J == 1) then ! Near North or South pole + if(gdlat(ista,j) > 0.) then ! count from north to south + IF(cosl(ista,j) >= SMALL) THEN !not a pole point + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + if(VWND(ip1,J)==SPVAL .or. VWND(im1,J)==SPVAL .or. & +! UWND(II,J)==SPVAL .or. UWND(I,J+1)==SPVAL) cycle + UPOLES(II,1)==SPVAL .or. UWND(I,J+1)==SPVAL) cycle + ABSV(I,J) = ((VWND(ip1,J)-VWND(im1,J))*wrk2(i,j) & +! & + (UWND(II,J)*COSL(II,J) & + & + (upoles(II,1)*coslpoles(II,1) & + & + UWND(I,J+1)*COSL(I,J+1))*wrk3(i,j)) * wrk1(i,j) & + & + F(I,J) + enddo + ELSE !pole point, compute at j=2 + jj = 2 + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + if(VWND(ip1,JJ)==SPVAL .or. VWND(im1,JJ)==SPVAL .or. & + UWND(I,J)==SPVAL .or. UWND(I,jj+1)==SPVAL) cycle + ABSV(I,J) = ((VWND(ip1,JJ)-VWND(im1,JJ))*wrk2(i,jj) & + & - (UWND(I,J)*COSL(I,J) & + - UWND(I,jj+1)*COSL(I,Jj+1))*wrk3(i,jj)) * wrk1(i,jj) & + & + F(I,Jj) + enddo + ENDIF + else + IF(cosl(ista,j) >= SMALL) THEN !not a pole point + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + if(VWND(ip1,J)==SPVAL .or. VWND(im1,J)==SPVAL .or. & +! UWND(II,J)==SPVAL .or. UWND(I,J+1)==SPVAL) cycle + UPOLES(II,1)==SPVAL .or. UWND(I,J+1)==SPVAL) cycle + ABSV(I,J) = ((VWND(ip1,J)-VWND(im1,J))*wrk2(i,j) & +! & - (UWND(II,J)*COSL(II,J) & + & - (upoles(II,1)*coslpoles(II,1) & + & + UWND(I,J+1)*COSL(I,J+1))*wrk3(i,j)) * wrk1(i,j) & + & + F(I,J) + enddo + ELSE !pole point, compute at j=2 + jj = 2 + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + if(VWND(ip1,JJ)==SPVAL .or. VWND(im1,JJ)==SPVAL .or. & + UWND(I,J)==SPVAL .or. UWND(I,jj+1)==SPVAL) cycle + ABSV(I,J) = ((VWND(ip1,JJ)-VWND(im1,JJ))*wrk2(i,jj) & + & + (UWND(I,J)*COSL(I,J) & + - UWND(I,jj+1)*COSL(I,Jj+1))*wrk3(i,jj)) * wrk1(i,jj) & + & + F(I,Jj) + enddo + ENDIF + endif + ELSE IF(J == JM) THEN ! Near North or South Pole + if(gdlat(ista,j) < 0.) then ! count from north to south + IF(cosl(ista,j) >= SMALL) THEN !not a pole point + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + if(VWND(ip1,J)==SPVAL .or. VWND(im1,J)==SPVAL .or. & +! UWND(I,J-1)==SPVAL .or. UWND(II,J)==SPVAL) cycle + UWND(I,J-1)==SPVAL .or. UPOLES(II,2)==SPVAL) cycle + ABSV(I,J) = ((VWND(ip1,J)-VWND(im1,J))*wrk2(i,j) & + & - (UWND(I,J-1)*COSL(I,J-1) & +! & + UWND(II,J)*COSL(II,J))*wrk3(i,j)) * wrk1(i,j) & + & + upoles(II,2)*coslpoles(II,2))*wrk3(i,j)) * wrk1(i,j) & + & + F(I,J) + enddo + ELSE !pole point,compute at jm-1 + jj = jm-1 + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + if(VWND(ip1,JJ)==SPVAL .or. VWND(im1,JJ)==SPVAL .or. & + UWND(I,jj-1)==SPVAL .or. UWND(I,J)==SPVAL) cycle + ABSV(I,J) = ((VWND(ip1,JJ)-VWND(im1,JJ))*wrk2(i,jj) & + & - (UWND(I,jj-1)*COSL(I,Jj-1) & + & - UWND(I,J)*COSL(I,J))*wrk3(i,jj)) * wrk1(i,jj) & + & + F(I,Jj) + enddo + ENDIF + else + IF(cosl(ista,j) >= SMALL) THEN !not a pole point + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + if(VWND(ip1,J)==SPVAL .or. VWND(im1,J)==SPVAL .or. & +! UWND(I,J-1)==SPVAL .or. UWND(II,J)==SPVAL) cycle + UWND(I,J-1)==SPVAL .or. UPOLES(II,2)==SPVAL) cycle + ABSV(I,J) = ((VWND(ip1,J)-VWND(im1,J))*wrk2(i,j) & + & + (UWND(I,J-1)*COSL(I,J-1) & +! & + UWND(II,J)*COSL(II,J))*wrk3(i,j)) * wrk1(i,j) & + & + upoles(II,2)*coslpoles(II,2))*wrk3(i,j)) * wrk1(i,j) & + & + F(I,J) + enddo + ELSE !pole point,compute at jm-1 + jj = jm-1 + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + if(VWND(ip1,JJ)==SPVAL .or. VWND(im1,JJ)==SPVAL .or. & + UWND(I,jj-1)==SPVAL .or. UWND(I,J)==SPVAL) cycle + ABSV(I,J) = ((VWND(ip1,JJ)-VWND(im1,JJ))*wrk2(i,jj) & + & + (UWND(I,jj-1)*COSL(I,Jj-1) & + & - UWND(I,J)*COSL(I,J))*wrk3(i,jj)) * wrk1(i,jj) & + & + F(I,Jj) + enddo + ENDIF + endif + ELSE + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + if(VWND(ip1,J)==SPVAL .or. VWND(im1,J)==SPVAL .or. & + UWND(I,J-1)==SPVAL .or. UWND(I,J+1)==SPVAL) cycle + ABSV(I,J) = ((VWND(ip1,J)-VWND(im1,J))*wrk2(i,j) & + & - (UWND(I,J-1)*COSL(I,J-1) & + - UWND(I,J+1)*COSL(I,J+1))*wrk3(i,j)) * wrk1(i,j) & + + F(I,J) + ENDDO + END IF + if (npass > 0) then + do i=ista,iend + tx1(i) = absv(i,j) + enddo + do nn=1,npass + do i=ista,iend + tx2(i+1) = tx1(i) + enddo + tx2(1) = tx2(im+1) + tx2(im+2) = tx2(2) + do i=2,im+1 + tx1(i-1) = 0.25 * (tx2(i-1) + tx2(i+1)) + 0.5*tx2(i) + enddo + enddo + do i=ista,iend + absv(i,j) = tx1(i) + enddo + endif + END DO ! end of J loop + +! deallocate (wrk1, wrk2, wrk3, cosl) +! GFS use lon avg as one scaler value for pole point + + ! call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1,jsta),SPVAL,ABSV(1,jsta)) + + call exch(absv(ista_2l:iend_2u,jsta_2l:jend_2u)) + call fullpole(absv(ista_2l:iend_2u,jsta_2l:jend_2u),avpoles) + + cosltemp=spval + if(jsta== 1) cosltemp(1:im, 1)=coslpoles(1:im,1) + if(jend==jm) cosltemp(1:im,jm)=coslpoles(1:im,2) + avtemp=spval + if(jsta== 1) avtemp(1:im, 1)=avpoles(1:im,1) + if(jend==jm) avtemp(1:im,jm)=avpoles(1:im,2) + + call poleavg(IM,JM,JSTA,JEND,SMALL,cosltemp(1,jsta),SPVAL,avtemp(1,jsta)) + + if(jsta== 1) absv(ista:iend, 1)=avtemp(ista:iend, 1) + if(jend==jm) absv(ista:iend,jm)=avtemp(ista:iend,jm) + + deallocate (wrk1, wrk2, wrk3, cosl, iw, ie) + + ELSE !(MODELNAME == 'GFS' .or. global) + + IF (GRIDTYPE == 'B')THEN + CALL EXCH(VWND) + CALL EXCH(UWND) + ENDIF + + CALL DVDXDUDY(UWND,VWND) + + IF(GRIDTYPE == 'A')THEN +!$omp parallel do private(i,j,jmt2,tphi,r2dx,r2dy,dvdx,dudy,uavg) + DO J=JSTA_M,JEND_M + JMT2 = JM/2+1 + TPHI = (J-JMT2)*(DYVAL/gdsdegr)*DTR + DO I=ISTA_M,IEND_M + IF(DDVDX(I,J) Computes divergence. +!> +!> For GFS, this routine copmutes the horizontal divergence +!> using 2nd-order centered scheme on a lat-lon grid +!> +!> @param[in] UWND U wind (m/s) mass-points. +!> @param[in] VWND V wind (m/s) mass-points. +!> @param[out] DIV divergence (1/s) mass-points. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2016-05-05 | Sajal Kar | Modified CALVORT to compute divergence from wind components +!> 2016-07-22 | S Moorthi | Modified polar divergence calculation +!> +!> @author Sajal Kar W/NP2 @date 2016-05-05 +! + SUBROUTINE CALDIV(UWND,VWND,DIV) + use masks, only: gdlat, gdlon + use params_mod, only: d00, dtr, small, erad + use ctlblk_mod, only: jsta_2l, jend_2u, spval, modelname, global, & + jsta, jend, im, jm, jsta_m, jend_m, lm, & + ista, iend, ista_m, iend_m, ista_2l, iend_2u + use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch + + implicit none +! +! DECLARE VARIABLES. +! + REAL, dimension(ista_2l:iend_2u,jsta_2l:jend_2u,lm), intent(inout) :: UWND,VWND + REAL, dimension(ista:iend,jsta:jend,lm), intent(inout) :: DIV + REAL, dimension(IM,2) :: GLATPOLES, COSLPOLES, UPOLES, VPOLES, DIVPOLES + REAL, dimension(IM,JSTA:JEND) :: COSLTEMP, DIVTEMP +! + real, allocatable :: wrk1(:,:), wrk2(:,:), wrk3(:,:), cosl(:,:) + INTEGER, allocatable :: IHE(:),IHW(:), IE(:),IW(:) +! + real :: dnpole, dspole, tem + integer I,J,ip1,im1,ii,iir,iil,jj,imb2, l +! +!*************************************************************************** +! START CALDIV HERE. +! +! LOOP TO COMPUTE DIVERGENCE FROM WINDS. +! + CALL EXCH(GDLAT(ISTA_2L,JSTA_2L)) + CALL EXCH(GDLON(ISTA_2L,JSTA_2L)) + + allocate (wrk1(ista:iend,jsta:jend), wrk2(ista:iend,jsta:jend), & + & wrk3(ista:iend,jsta:jend), cosl(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(iw(im),ie(im)) + + imb2 = im/2 +!$omp parallel do private(i) + do i=ista,iend + ie(i) = i+1 + iw(i) = i-1 + enddo +! iw(1) = im +! ie(im) = 1 + + +!$omp parallel do private(i,j,ip1,im1) + DO J=JSTA,JEND + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + cosl(i,j) = cos(gdlat(i,j)*dtr) + IF(cosl(i,j) >= SMALL) then + wrk1(i,j) = 1.0 / (ERAD*cosl(i,j)) + else + wrk1(i,j) = 0. + end if + if(i == im .or. i == 1) then + wrk2(i,j) = 1.0 / ((360.+GDLON(ip1,J)-GDLON(im1,J))*DTR) !1/dlam + else + wrk2(i,j) = 1.0 / ((GDLON(ip1,J)-GDLON(im1,J))*DTR) !1/dlam + end if + enddo + ENDDO + + CALL EXCH(cosl) + CALL FULLPOLE(cosl,coslpoles) + CALL FULLPOLE(gdlat(ista_2l:iend_2u,jsta_2l:jend_2u),glatpoles) + +!$omp parallel do private(i,j,ii) + DO J=JSTA,JEND + if (j == 1) then + if(gdlat(ista,j) > 0.) then ! count from north to south + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + ! wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J+1)-GDLAT(II,J))*DTR) !1/dphi + wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J+1)-GLATPOLES(II,1))*DTR) !1/dphi + enddo + else ! count from south to north + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + ! wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J+1)+GDLAT(II,J))*DTR) !1/dphi + wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J+1)+GLATPOLES(II,1))*DTR) !1/dphi + enddo + end if + elseif (j == JM) then + if(gdlat(ista,j) < 0.) then ! count from north to south + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + ! wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J-1)+GDLAT(II,J))*DTR) + wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J-1)+GLATPOLES(II,2))*DTR) + enddo + else ! count from south to north + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + ! wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J-1)-GDLAT(II,J))*DTR) + wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J-1)-GLATPOLES(II,2))*DTR) + enddo + end if + else + do i=ista,iend + wrk3(i,j) = 1.0 / ((GDLAT(I,J-1)-GDLAT(I,J+1))*DTR) !1/dphi + enddo + endif + enddo + + do l=1,lm +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + DIV(I,J,l) = SPVAL + ENDDO + ENDDO + + CALL EXCH(VWND(ista_2l,jsta_2l,l)) + CALL EXCH(UWND(ista_2l,jsta_2l,l)) + + CALL FULLPOLE(VWND(ista_2l:iend_2u,jsta_2l:jend_2u,l),VPOLES) + CALL FULLPOLE(UWND(ista_2l:iend_2u,jsta_2l:jend_2u,l),UPOLES) + +!$omp parallel do private(i,j,ip1,im1,ii,jj) + DO J=JSTA,JEND + IF(J == 1) then ! Near North pole + if(gdlat(ista,j) > 0.) then ! count from north to south + IF(cosl(ista,j) >= SMALL) THEN !not a pole point + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + DIV(I,J,l) = ((UWND(ip1,J,l)-UWND(im1,J,l))*wrk2(i,j) & + !& ! - (VWND(II,J,l)*COSL(II,J) & + & - (VPOLES(II,1)*COSLPOLEs(II,1) & + & + VWND(I,J+1,l)*COSL(I,J+1))*wrk3(i,j)) * wrk1(i,j) + enddo +!-- + ELSE !North pole point, compute at j=2 + jj = 2 + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + DIV(I,J,l) = ((UWND(ip1,jj,l)-UWND(im1,jj,l))*wrk2(i,jj) & + & + (VWND(I,J,l)*COSL(I,J) & + - VWND(I,jj+1,l)*COSL(I,jj+1))*wrk3(i,jj)) * wrk1(i,jj) + enddo +!-- + ENDIF + else + IF(cosl(ista,j) >= SMALL) THEN !not a pole point + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + DIV(I,J,l) = ((UWND(ip1,J,l)-UWND(im1,J,l))*wrk2(i,j) & + !& ! + (VWND(II,J,l)*COSL(II,J) & + & + (VPOLES(II,1)*COSLPOLES(II,1) & + & + VWND(I,J+1,l)*COSL(I,J+1))*wrk3(i,j)) * wrk1(i,j) + enddo +!-- + ELSE !North pole point, compute at j=2 + jj = 2 + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + DIV(I,J,l) = ((UWND(ip1,jj,l)-UWND(im1,jj,l))*wrk2(i,jj) & + & - (VWND(I,J,l)*COSL(I,J) & + - VWND(I,jj+1,l)*COSL(I,jj+1))*wrk3(i,jj)) * wrk1(i,jj) + enddo + ENDIF + endif + ELSE IF(J == JM) THEN ! Near South pole + if(gdlat(ista,j) < 0.) then ! count from north to south + IF(cosl(ista,j) >= SMALL) THEN !not a pole point + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + DIV(I,J,l) = ((UWND(ip1,J,l)-UWND(im1,J,l))*wrk2(i,j) & + & + (VWND(I,J-1,l)*COSL(I,J-1) & + !& ! + VWND(II,J,l)*COSL(II,J))*wrk3(i,j)) * wrk1(i,j) + & + VPOLES(II,2)*COSLPOLES(II,2))*wrk3(i,j)) * wrk1(i,j) + enddo +!-- + ELSE !South pole point,compute at jm-1 + jj = jm-1 + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + DIV(I,J,l) = ((UWND(ip1,JJ,l)-UWND(im1,JJ,l))*wrk2(i,jj) & + & + (VWND(I,jj-1,l)*COSL(I,Jj-1) & + & - VWND(I,J,l)*COSL(I,J))*wrk3(i,jj)) * wrk1(i,jj) + + enddo + ENDIF + else + IF(cosl(ista,j) >= SMALL) THEN !not a pole point + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + DIV(I,J,l) = ((UWND(ip1,J,l)-UWND(im1,J,l))*wrk2(i,j) & + & - (VWND(I,J-1,l)*COSL(I,J-1) & + !& ! + VWND(II,J,l)*COSL(II,J))*wrk3(i,j)) * wrk1(i,j) + & + VPOLES(II,2)*COSLPOLES(II,2))*wrk3(i,j)) * wrk1(i,j) + enddo +!-- + ELSE !South pole point,compute at jm-1 + jj = jm-1 + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + DIV(I,J,l) = ((UWND(ip1,JJ,l)-UWND(im1,JJ,l))*wrk2(i,jj) & + & - (VWND(I,jj-1,l)*COSL(I,Jj-1) & + & - VWND(I,J,l)*COSL(I,J))*wrk3(i,jj)) * wrk1(i,jj) + + enddo + ENDIF + endif + ELSE + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + DIV(I,J,l) = ((UWND(ip1,J,l)-UWND(im1,J,l))*wrk2(i,j) & + & + (VWND(I,J-1,l)*COSL(I,J-1) & + - VWND(I,J+1,l)*COSL(I,J+1))*wrk3(i,j)) * wrk1(i,j) + ENDDO + ENDIF + ENDDO ! end of J loop + +! GFS use lon avg as one scaler value for pole point +! call poleavg(IM,JM,JSTA,JEND,SMALL,COSL(1,jsta),SPVAL,DIV(1,jsta,l)) + + call exch(div(ista_2l:iend_2u,jsta_2l:jend_2u,l)) + call fullpole(div(ista_2l:iend_2u,jsta_2l:jend_2u,l),divpoles) + + COSLTEMP=SPVAL + IF(JSTA== 1) COSLTEMP(1:IM, 1)=COSLPOLES(1:IM,1) + IF(JEND==JM) COSLTEMP(1:IM,JM)=COSLPOLES(1:IM,2) + DIVTEMP=SPVAL + IF(JSTA== 1) DIVTEMP(1:IM, 1)=DIVPOLES(1:IM,1) + IF(JEND==JM) DIVTEMP(1:IM,JM)=DIVPOLES(1:IM,2) + + call poleavg(IM,JM,JSTA,JEND,SMALL,COSLTEMP(1:IM,JSTA:JEND) & + ,SPVAL,DIVTEMP(1:IM,JSTA:JEND)) + + IF(JSTA== 1) DIV(ISTA:IEND, 1,L)=DIVTEMP(ISTA:IEND, 1) + IF(JEND==JM) DIV(ISTA:IEND,JM,L)=DIVTEMP(ISTA:IEND,JM) + + enddo ! end of l looop +!-- + deallocate (wrk1, wrk2, wrk3, cosl, iw, ie) + + + END SUBROUTINE CALDIV + +!------------------------------------------------------------------------ +!> Computes gradients of a scalar field PS or LNPS. +!> +!> For GFS, this routine computes horizontal gradients of PS or LNPS. +!> Using 2nd-order centered scheme on a lat-lon grid. +!> +!> @param[in] PS Surface pressure (Pa) mass-points. +!> @param[out] PSX Zonal gradient of PS at mass-points. +!> @param[out] PSY Meridional gradient of PS at mass-points. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2016-05-05 | Sajal Kar | Reduced from CALVORT to zonal and meridional gradients of given surface pressure PS, or LNPS +!> +!> @author Sajal Kar W/NP2 @date 2016-05-05 +!> + SUBROUTINE CALGRADPS(PS,PSX,PSY) + + use masks, only: gdlat, gdlon + use params_mod, only: dtr, d00, small, erad + use ctlblk_mod, only: jsta_2l, jend_2u, spval, modelname, global, & + jsta, jend, im, jm, jsta_m, jend_m, & + ista, iend, ista_m, iend_m, ista_2l, iend_2u + + use gridspec_mod, only: gridtype + use exch_upp_mod, only: exch + + implicit none +! +! DECLARE VARIABLES. +! + REAL, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(inout) :: PS + REAL, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(inout) :: PSX,PSY +! + real, allocatable :: wrk1(:,:), wrk2(:,:), wrk3(:,:), cosl(:,:) + INTEGER, allocatable :: IHE(:),IHW(:), IE(:),IW(:) +! + integer I,J,ip1,im1,ii,iir,iil,jj,imb2 +! +!*************************************************************************** +! START CALGRADPS HERE. +! +! LOOP TO COMPUTE ZONAL AND MERIDIONAL GRADIENTS OF PS OR LNPS +! +!sk06162016 DO J=JSTA_2L,JEND_2U +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + PSX(I,J) = SPVAL + PSY(I,J) = SPVAL +!sk PSX(I,J) = D00 +!sk PSY(I,J) = D00 + ENDDO + ENDDO + + CALL EXCH(PS) + +! IF (MODELNAME == 'GFS' .or. global) THEN + CALL EXCH(GDLAT(ISTA_2L,JSTA_2L)) + CALL EXCH(GDLON(ISTA_2L,JSTA_2L)) + + allocate (wrk1(ista:iend,jsta:jend), wrk2(ista:iend,jsta:jend), & + & wrk3(ista:iend,jsta:jend), cosl(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(iw(im),ie(im)) + + imb2 = im/2 +!$omp parallel do private(i) + do i=ista,iend + ie(i) = i+1 + iw(i) = i-1 + enddo +! iw(1) = im +! ie(im) = 1 + + +!$omp parallel do private(i,j,ip1,im1) + DO J=JSTA,JEND + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + cosl(i,j) = cos(gdlat(i,j)*dtr) + if(cosl(i,j) >= SMALL) then + wrk1(i,j) = 1.0 / (ERAD*cosl(i,j)) + else + wrk1(i,j) = 0. + end if + if(i == im .or. i == 1) then + wrk2(i,j) = 1.0 / ((360.+GDLON(ip1,J)-GDLON(im1,J))*DTR) !1/dlam + else + wrk2(i,j) = 1.0 / ((GDLON(ip1,J)-GDLON(im1,J))*DTR) !1/dlam + end if + enddo + ENDDO + + CALL EXCH(cosl) + +!$omp parallel do private(i,j,ii) + DO J=JSTA,JEND + if (j == 1) then + if(gdlat(ista,j) > 0.) then ! count from north to south + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J+1)-GDLAT(II,J))*DTR) !1/dphi + enddo + else ! count from south to north + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J+1)+GDLAT(II,J))*DTR) !1/dphi + enddo + end if + elseif (j == JM) then + if(gdlat(ista,j) < 0.) then ! count from north to south + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + wrk3(i,j) = 1.0 / ((180.+GDLAT(i,J-1)+GDLAT(II,J))*DTR) + enddo + else ! count from south to north + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + wrk3(i,j) = 1.0 / ((180.-GDLAT(i,J-1)-GDLAT(II,J))*DTR) + enddo + end if + else + do i=ista,iend + wrk3(i,j) = 1.0 / ((GDLAT(I,J-1)-GDLAT(I,J+1))*DTR) !1/dphi + enddo + endif + ENDDO + +!$omp parallel do private(i,j,ip1,im1,ii,jj) + DO J=JSTA,JEND + IF(J == 1) then ! Near North pole + if(gdlat(ista,j) > 0.) then ! count from north to south + IF(cosl(ista,j) >= SMALL) THEN !not a pole point + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + PSX(I,J) = (PS(ip1,J)-PS(im1,J))*wrk2(i,j)*wrk1(i,j) + PSY(I,J) = (PS(II,J)-PS(I,J+1))*wrk3(i,j)/ERAD + enddo + ELSE !North pole point, compute at j=2 + jj = 2 + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + PSX(I,J) = (PS(ip1,jj)-PS(im1,jj))*wrk2(i,jj)*wrk1(i,jj) + PSY(I,J) = (PS(I,J)-PS(I,jj+1))*wrk3(i,jj)/ERAD + enddo + ENDIF + else + IF(cosl(ista,j) >= SMALL) THEN !not a pole point + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + PSX(I,J) = (PS(ip1,J)-PS(im1,J))*wrk2(i,j)*wrk1(i,j) + PSY(I,J) = - (PS(II,J)-PS(I,J+1))*wrk3(i,j)/ERAD + enddo + ELSE !North pole point, compute at j=2 + jj = 2 + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + PSX(I,J) = (PS(ip1,jj)-PS(im1,jj))*wrk2(i,jj)*wrk1(i,jj) + PSY(I,J) = - (PS(I,J)-PS(I,jj+1))*wrk3(i,jj)/ERAD + enddo + ENDIF + endif + ELSE IF(J == JM) THEN ! Near South pole + if(gdlat(ista,j) < 0.) then ! count from north to south + IF(cosl(ista,j) >= SMALL) THEN !not a pole point + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + PSX(I,J) = (PS(ip1,J)-PS(im1,J))*wrk2(i,j)*wrk1(i,j) + PSY(I,J) = (PS(I,J-1)-PS(II,J))*wrk3(i,j)/ERAD + enddo + ELSE !South pole point,compute at jm-1 + jj = jm-1 + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + PSX(I,J) = (PS(ip1,JJ)-PS(im1,JJ))*wrk2(i,jj)*wrk1(i,jj) + PSY(I,J) = (PS(I,jj-1)-PS(I,J))*wrk3(i,jj)/ERAD + enddo + ENDIF + else + IF(cosl(ista,j) >= SMALL) THEN !not a pole point + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + PSX(I,J) = (PS(ip1,J)-PS(im1,J))*wrk2(i,j)*wrk1(i,j) + PSY(I,J) = - (PS(I,J-1)-PS(II,J))*wrk3(i,j)/ERAD + enddo + ELSE !South pole point,compute at jm-1 + jj = jm-1 + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + PSX(I,J) = (PS(ip1,JJ)-PS(im1,JJ))*wrk2(i,jj)*wrk1(i,jj) + PSY(I,J) = - (PS(I,jj-1)-PS(I,J))*wrk3(i,jj)/ERAD + enddo + ENDIF + endif + ELSE + DO I=ISTA,IEND + ip1 = ie(i) + im1 = iw(i) + PSX(I,J) = (PS(ip1,J)-PS(im1,J))*wrk2(i,j)*wrk1(i,j) + PSY(I,J) = (PS(I,J-1)-PS(I,J+1))*wrk3(i,j)/ERAD + ENDDO + END IF +! + ENDDO ! end of J loop + + deallocate (wrk1, wrk2, wrk3, cosl, iw, ie) + +! END IF + + END SUBROUTINE CALGRADPS + +!----------------------------------------------------------------------------------------- +!> Computes snow solid-liquid-ratio (SLR) using the Roebber algorithm. +!> +!> Obtained the code and data from WPC. WPC's SLR products include SLR computed from +!> GFS and NAM, SLR climotology, and averaged SLR. UPP computes SLR for GFS and RRFS. +!> SLR climatology is not used in UPP calculation but the data is saved in fix directory +!> for reference. Breadboard coefficients are included in this module to enhance the +!> performance. Original Breadboard coefficients files are also saved in fix directory. +!> +!> @param[in] tprs real Temperature on pressure levels. +!> @param[in] rhprs real Relative humidity on pressure levels. +!> @param[out] slr real Solid snow to liquid ratio. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2022-07-11 | Jesse Meng | Initial +!> 2023-01-06 | Jesse Meng | Import Breadboard coefficients into module +!> 2025-05-07 | Jesse Meng | Bug fix for variable type mismatch +!> +!> @author Jesse Meng @date 2022-07-11 + + SUBROUTINE CALSLR_ROEBBER(tprs,rhprs,slr) + + use masks, only: lmh + use vrbls2d, only: slp, avgprec_cont, u10, v10, pshltr, tshltr, qshltr + use vrbls3d, only: T, Q, PMID, PINT + use ctlblk_mod, only: ista, iend, jsta, jend, & + ista_2l, iend_2u, jsta_2l, jend_2u, & + IM, JM, LM, LSM, SPL, MODELNAME, spval, me, idat + use params_mod, only: CAPA, H1, H100 + use grib2_module, only: read_grib2_sngle + + implicit none + + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u,lsm),intent(in) :: tprs + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u,lsm),intent(in) :: rhprs + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(out) :: slr !slr=snod/weasd=1000./sndens + +! local variables + + character*256 :: climoFile + logical file_exists + integer :: ntot, height + real,dimension(im,jm) :: CLIMO + real,dimension(ista:iend,jsta:jend) :: CLIMOSUB + + real,dimension(ista:iend,jsta:jend) :: P1D,T1D,Q1D,RH1D + real,dimension(ista:iend,jsta:jend) :: T2M,RH2M + + type all_grids + real :: grid + real :: sigma + end type all_grids + + real prob1, prob2, prob3 + real,dimension(0:14), parameter :: sig = & + (/0.0, 1.0, 0.975, 0.95, 0.925, 0.9, 0.875, 0.85, & + 0.8, 0.75, 0.7, 0.65, 0.6, 0.5, 0.4/) + real,dimension(12), parameter :: mf = & + (/1.0, 0.67, 0.33, 0.0, -0.33, -0.67, -1.00, -0.67, -0.33, 0.0, 0.33, 0.67/) + integer, dimension(0:37), parameter :: levels = & + (/2, 1000, 975, 950, 925, 900, 875, 850, 825, 800, 775, 750, 725, 700, & + 675, 650, 625, 600, 575, 550, 525, 500, 475, 450, 425, 400, & + 375, 350, 325, 300, 275, 250, 225, 200, 175, 150, 125, 100/) + + real,dimension(0:14) :: tm, rhm + + real,dimension(0:30), parameter :: co1 = & + (/0.0, -.2926, .0070, -.0099, .0358, .0356, .0353, .0333, .0291, & + .0235, .0169, .0060, -.0009, -.0052, -.0079, -.0093,& + -.0116, -.0137, .0030, .0033, -.0005, -.0024, -.0023,& + -.0021, -.0007, .0013, .0023, .0024, .0012, .0002, -.0010/) + + real,dimension(0:30), parameter :: co2 = & + (/0.0, -9.7961, .0099, -.0222, -.0036, -.0012, .0010, .0018, .0018,& + .0011, -.0001, -.0016, -.0026, -.0021, -.0015, -.0010,& + -.0008, -.0017, .0238, .0213, .0253, .0232, .0183, .0127,& + .0041, -.0063, -.0088, -.0062, -.0029, .0002, .0019/) + + real,dimension(0:30), parameter :: co3 = & + (/0.0, 5.0037, -0.0097, -.0130, -.0170, -.0158, -.0141, -.0097,& + -.0034, .0032, .0104, .0200, .0248, .0273, .0280, .0276,& + .0285, .0308, -.0036, -.0042, -.0013, .0011, .0014, .0023,& + .0011, -.0004, -.0022, -.0030, -.0033, -.0031, -.0019/) + + real,dimension(0:30), parameter :: co4 = & + (/0.0, -5.0141, .0172, -.0267, .0015, .0026, .0033, .0015, -.0007,& + -.0030, -.0063, -.0079, -.0074, -.0055, -.0035, -.0015,& + -.0038, -.0093, .0052, .0059, .0019, -.0022, -.0077, -.0102,& + -.0109, -.0077, .0014, .0160, .0217, .0219, .0190/) + + real,dimension(0:30), parameter :: co5 = & + (/0.0, -5.2807, -.0240, .0228, .0067, .0019, -.0010, -.0003, .0012,& + .0027, .0056, .0067, .0067, .0034, .0005, -.0026, -.0039,& + -.0033, -.0225, -.0152, -.0157, -.0094, .0049, .0138,& + .0269, .0388, .0334, .0147, .0018, -.0066, -.0112/) + + real,dimension(0:30), parameter :: co6 = & + (/0.0, -2.2663, .0983, .3666, .0100, .0062, .0020, -.0008, -.0036,& + -.0052, -.0074, -.0086, -.0072, -.0057, -.0040, -.0011,& + .0006, .0014, .0012, -.0005, -.0019, .0003, -.0007, -.0008,& + .0022, .0005, -.0016, -.0052, -.0024, .0008, .0037/) + + type(all_grids), dimension(ista:iend,jsta:jend,0:lsm) :: tmpk_grids, rh_grids + real, dimension(ista:iend,jsta:jend,0:lsm) :: tmpk_levels, rh_levels + + real,dimension(ista:iend,jsta:jend) :: hprob,mprob,lprob + real,dimension(ista:iend,jsta:jend) :: slrgrid, slrgrid2 + real,dimension(ista:iend,jsta:jend) :: psfc,pres,qpf,swnd,prp + + character*20 nswFileName + real :: psurf,p,sgw,sg1,sg2,dtds,rhds + real :: f1,f2,f3,f4,f5,f6 + real :: p1,p2,p3 + real :: hprob_tot + real :: mprob_tot + real :: lprob_tot + + integer :: i,j,k,ks,L,LL,imo,iday +! +!*************************************************************************** +! + tmpk_grids%grid=spval + tmpk_levels=spval + rh_grids%grid=spval + rh_levels=spval + +! day and month of the year + + imo = idat(1) + iday= idat(2) + +! climatology +! currently not used, snoden climatology files saved in fix directory +! +! climoFile='climo_snoden' +! ntot=im*jm +! CLIMO = spval +! CLIMOSUB = spval +! INQUIRE(FILE=climoFile, EXIST=file_exists) +! if(file_exists) then +! print*,trim(climoFile),' FOUND' +! call read_grib2_sngle(climoFile,ntot,height,CLIMO) +! do j=jsta,jend +! do i=ista,iend +! if(CLIMO(i,j).gt.0 .and. CLIMO(i,j).lt.1000) CLIMOSUB(i,j)=1000./CLIMO(i,j) +! endif +! end do +! end do +! else +! print*,trim(climoFile),' NOT FOUND' +! endif !if(file_exist) + +! surface variables + +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + PSFC(I,J)=SPVAL + IF(PINT(I,J,NINT(LMH(I,J))+1)/=SPVAL) & + PSFC(I,J)=PINT(I,J,NINT(LMH(I,J))+1) + PRES(I,J)=PSFC(I,J) + QPF(I,J)=SPVAL + IF(AVGPREC_CONT(I,J)/=SPVAL) & + QPF(I,J)=AVGPREC_CONT(I,J)*3600.*3. + SWND(I,J)=SPVAL + IF(U10(I,J)/=SPVAL .AND. V10(I,J)/=SPVAL) & + SWND(I,J)=SQRT(U10(I,J)*U10(I,J)+V10(I,J)*V10(I,J)) + END DO + END DO + +! T2M and RH2M + +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(MODELNAME=='RAPR')THEN + P1D(I,J) = PMID(I,J,NINT(LMH(I,J))) + T1D(I,J) = T(I,J,NINT(LMH(I,J))) + ELSE + P1D(I,J) = PINT(I,J,LM+1)*EXP(-0.068283/TSHLTR(I,J)) + T1D(I,J) = TSHLTR(I,J)*(PSHLTR(I,J)*1.E-5)**CAPA + ENDIF + Q1D(I,J) = QSHLTR(I,J) + T2M(I,J) = T1D(I,J) + ENDDO + ENDDO + + CALL CALRH(P1D,T1D,Q1D,RH1D) + +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + if(qshltr(i,j) /= spval)then + RH2M(I,J) = min(H100,max(H1,RH1D(I,J)*100.)) + else + RH2M(I,J) = spval + endif + ENDDO + ENDDO + +!$omp parallel do private(i,j) + do j=jsta,jend + do i=ista,iend + if(T2M(I,J)/=spval .and. pres(i,j)/=spval .and. RH2M(I,J)/=spval)then + tmpk_grids(i,j,0)%grid=T2M(I,J)-273.15 + tmpk_levels(i,j,0)=pres(i,j) + rh_grids(i,j,0)%grid=RH2M(I,J) + rh_levels(i,j,0)=pres(i,j) + endif + end do + end do + +! T and RH all pressure levels + + DO L=1,LSM + LL=LSM-L+1 +!!!$omp parallel do private(i,j,ll) + do j=jsta,jend + do i=ista,iend + if(tprs(I,J,L)/=spval .and. SPL(L)/=spval .and. rhprs(I,J,L)/=spval)then + tmpk_grids(i,j,LL)%grid=tprs(I,J,L)-273.15 + tmpk_levels(i,j,LL)=SPL(L) + rh_grids(i,j,LL)%grid=rhprs(I,J,L) + rh_levels(i,j,LL)=SPL(L) + endif + end do + end do + END DO + +! convert to sigma + + tmpk_grids(:,:,0)%sigma = 1.0 + rh_grids(:,:,0)%sigma = 1.0 + + DO L=1,LSM + LL=LSM-L+1 +!!!$omp parallel do private(i,j,ll) + do j=jsta,jend + do i=ista,iend + if(pres(i,j) == spval) then + tmpk_grids(i,j,LL)%sigma=spval + rh_grids(i,j,LL)%sigma=spval + else + tmpk_grids(i,j,LL)%sigma=tmpk_levels(i,j,LL)/pres(i,j) + rh_grids(i,j,LL)%sigma=rh_levels(i,j,LL)/pres(i,j) + prp(i,j)=pres(i,j)/psfc(i,j) + prp(i,j)=prp(i,j)*100000./psfc(i,j) + endif + end do + end do + END DO + +! main slr i/j loop starts + + do j=jsta,jend + do i=ista,iend + tm=spval + rhm=spval + slr(i,j)=spval + slrgrid(i,j)=spval + slrgrid2(i,j)=spval + hprob(i,j)=spval + mprob(i,j)=spval + lprob(i,j)=spval + + if(pres(i,j)/=spval .and. qpf(i,j)/=spval .and. swnd(i,j)/=spval) then + +! Interpolate T and RH to the 14 sigma levels + + do ks=1,14 + psurf=pres(i,j) + sgw=sig(ks) + p=prp(i,j) + do LL=0,LSM-1 + if(LL==0) then + sg1 = psurf/psurf + else + sg1 = tmpk_levels(i,j,LL)/psurf + endif + sg2 = tmpk_levels(i,j,LL+1)/psurf + + if(sg1 == sgw) then + tm(ks) = tmpk_grids(i,j,LL)%grid + rhm(ks)= rh_grids(i,j,LL)%grid + elseif (sg2 == sgw) then + tm(ks) = tmpk_grids(i,j,LL+1)%grid + rhm(ks)= rh_grids(i,j,LL+1)%grid + elseif ((sgw < sg1) .and. (sgw > sg2)) then + dtds = (tmpk_grids(i,j,LL+1)%grid - tmpk_grids(i,j,LL)%grid)/(sg2-sg1) + tm(ks) = ((sgw - sg1) * dtds) + tmpk_grids(i,j,LL)%grid + rhds = (rh_grids(i,j,LL+1)%grid - rh_grids(i,j,LL)%grid)/(sg2-sg1) + rhm(ks)= ((sgw - sg1) * rhds) + rh_grids(i,j,LL)%grid + endif + end do + end do !loop ks + +! Have surface wind, QPF, and temp/RH on the 14 sigma levels. +! Convert these data to the factors using regression equations + + f1 = co1(1)+co1(2)*qpf(i,j)+co1(3)*swnd(i,j)+co1(4)*tm(1)+co1(5)*tm(2)+co1(6)*tm(3)+ & + co1(7)*tm(4)+co1(8)*tm(5)+co1(9)*tm(6)+co1(10)*tm(7)+co1(11)*tm(8)+ & + co1(12)*tm(9)+co1(13)*tm(10)+co1(14)*tm(11)+co1(15)*tm(12)+co1(16)*tm(13)+ & + co1(17)*tm(14)+co1(18)*rhm(1)+co1(19)*rhm(2)+co1(20)*rhm(3)+co1(21)*rhm(4)+ & + co1(22)*rhm(5)+co1(23)*rhm(6)+co1(24)*rhm(7)+co1(25)*rhm(8)+co1(26)*rhm(9)+ & + co1(27)*rhm(10)+co1(28)*rhm(11)+co1(29)*rhm(12)+co1(30)*rhm(13) + + f2 = co2(1)+co2(2)*qpf(i,j)+co2(3)*swnd(i,j)+co2(4)*tm(1)+co2(5)*tm(2)+co2(6)*tm(3)+ & + co2(7)*tm(4)+co2(8)*tm(5)+co2(9)*tm(6)+co2(10)*tm(7)+co2(11)*tm(8)+ & + co2(12)*tm(9)+co2(13)*tm(10)+co2(14)*tm(11)+co2(15)*tm(12)+co2(16)*tm(13)+ & + co2(17)*tm(14)+co2(18)*rhm(1)+co2(19)*rhm(2)+co2(20)*rhm(3)+co2(21)*rhm(4)+ & + co2(22)*rhm(5)+co2(23)*rhm(6)+co2(24)*rhm(7)+co2(25)*rhm(8)+co2(26)*rhm(9)+ & + co2(27)*rhm(10)+co2(28)*rhm(11)+co2(29)*rhm(12)+co2(30)*rhm(13) + + f3 = co3(1)+co3(2)*qpf(i,j)+co3(3)*swnd(i,j)+co3(4)*tm(1)+co3(5)*tm(2)+co3(6)*tm(3)+ & + co3(7)*tm(4)+co3(8)*tm(5)+co3(9)*tm(6)+co3(10)*tm(7)+co3(11)*tm(8)+ & + co3(12)*tm(9)+co3(13)*tm(10)+co3(14)*tm(11)+co3(15)*tm(12)+co3(16)*tm(13)+ & + co3(17)*tm(14)+co3(18)*rhm(1)+co3(19)*rhm(2)+co3(20)*rhm(3)+co3(21)*rhm(4)+ & + co3(22)*rhm(5)+co3(23)*rhm(6)+co3(24)*rhm(7)+co3(25)*rhm(8)+co3(26)*rhm(9)+ & + co3(27)*rhm(10)+co3(28)*rhm(11)+co3(29)*rhm(12)+co3(30)*rhm(13) + + f4 = co4(1)+co4(2)*qpf(i,j)+co4(3)*swnd(i,j)+co4(4)*tm(1)+co4(5)*tm(2)+co4(6)*tm(3)+ & + co4(7)*tm(4)+co4(8)*tm(5)+co4(9)*tm(6)+co4(10)*tm(7)+co4(11)*tm(8)+ & + co4(12)*tm(9)+co4(13)*tm(10)+co4(14)*tm(11)+co4(15)*tm(12)+co4(16)*tm(13)+ & + co4(17)*tm(14)+co4(18)*rhm(1)+co4(19)*rhm(2)+co4(20)*rhm(3)+co4(21)*rhm(4)+ & + co4(22)*rhm(5)+co4(23)*rhm(6)+co4(24)*rhm(7)+co4(25)*rhm(8)+co4(26)*rhm(9)+ & + co4(27)*rhm(10)+co4(28)*rhm(11)+co4(29)*rhm(12)+co4(30)*rhm(13) + + f5 = co5(1)+co5(2)*qpf(i,j)+co5(3)*swnd(i,j)+co5(4)*tm(1)+co5(5)*tm(2)+co5(6)*tm(3)+ & + co5(7)*tm(4)+co5(8)*tm(5)+co5(9)*tm(6)+co5(10)*tm(7)+co5(11)*tm(8)+ & + co5(12)*tm(9)+co5(13)*tm(10)+co5(14)*tm(11)+co5(15)*tm(12)+co5(16)*tm(13)+ & + co5(17)*tm(14)+co5(18)*rhm(1)+co5(19)*rhm(2)+co5(20)*rhm(3)+co5(21)*rhm(4)+ & + co5(22)*rhm(5)+co5(23)*rhm(6)+co5(24)*rhm(7)+co5(25)*rhm(8)+co5(26)*rhm(9)+ & + co5(27)*rhm(10)+co5(28)*rhm(11)+co5(29)*rhm(12)+co5(30)*rhm(13) + + f6 = co6(1)+co6(2)*qpf(i,j)+co6(3)*swnd(i,j)+co6(4)*tm(1)+co6(5)*tm(2)+co6(6)*tm(3)+ & + co6(7)*tm(4)+co6(8)*tm(5)+co6(9)*tm(6)+co6(10)*tm(7)+co6(11)*tm(8)+ & + co6(12)*tm(9)+co6(13)*tm(10)+co6(14)*tm(11)+co6(15)*tm(12)+co6(16)*tm(13)+ & + co6(17)*tm(14)+co6(18)*rhm(1)+co6(19)*rhm(2)+co6(20)*rhm(3)+co6(21)*rhm(4)+ & + co6(22)*rhm(5)+co6(23)*rhm(6)+co6(24)*rhm(7)+co6(25)*rhm(8)+co6(26)*rhm(9)+ & + co6(27)*rhm(10)+co6(28)*rhm(11)+co6(29)*rhm(12)+co6(30)*rhm(13) + + hprob_tot = 0. + mprob_tot = 0. + lprob_tot = 0. + do k=1,10 + if(k==1) then + nswFileName='Breadboard1.nsw' + call breadboard1_main(nswFileName,mf(imo),f1,f2,f3,f4,f5,f6,p1,p2,p3) + elseif(k==2) then + nswFileName='Breadboard2.nsw' + call breadboard1_main(nswFileName,mf(imo),f1,f2,f3,f4,f5,f6,p1,p2,p3) + elseif(k==3) then + nswFileName='Breadboard3.nsw' + call breadboard1_main(nswFileName,mf(imo),f1,f2,f3,f4,f5,f6,p1,p2,p3) + elseif(k==4) then + nswFileName='Breadboard4.nsw' + call breadboard1_main(nswFileName,mf(imo),f1,f2,f3,f4,f5,f6,p1,p2,p3) + elseif(k==5) then + nswFileName='Breadboard5.nsw' + call breadboard1_main(nswFileName,mf(imo),f1,f2,f3,f4,f5,f6,p1,p2,p3) + elseif(k==6) then + nswFileName='Breadboard6.nsw' + call breadboard6_main(nswFileName,mf(imo),f1,f2,f3,f4,f5,f6,p1,p2,p3) + elseif(k==7) then + nswFileName='Breadboard7.nsw' + call breadboard6_main(nswFileName,mf(imo),f1,f2,f3,f4,f5,f6,p1,p2,p3) + elseif(k==8) then + nswFileName='Breadboard8.nsw' + call breadboard6_main(nswFileName,mf(imo),f1,f2,f3,f4,f5,f6,p1,p2,p3) + elseif(k==9) then + nswFileName='Breadboard9.nsw' + call breadboard6_main(nswFileName,mf(imo),f1,f2,f3,f4,f5,f6,p1,p2,p3) + elseif(k==10) then + nswFileName='Breadboard10.nsw' + call breadboard6_main(nswFileName,mf(imo),f1,f2,f3,f4,f5,f6,p1,p2,p3) + endif + hprob_tot = hprob_tot+p1 + mprob_tot = mprob_tot+p2 + lprob_tot = lprob_tot+p3 + enddo + hprob(i,j) = hprob_tot/10. + mprob(i,j) = mprob_tot/10. + lprob(i,j) = lprob_tot/10. + + if(hprob(i,j) > mprob(i,j) .and. hprob(i,j) > lprob(i,j)) then + slrgrid(i,j) = 8.0 + elseif(mprob(i,j) >= hprob(i,j) .and. mprob(i,j) >= lprob(i,j)) then + slrgrid(i,j) = 13.0 + elseif(lprob(i,j) > hprob(i,j) .and. lprob(i,j) > mprob(i,j)) then + if(lprob(i,j) < .67) then + slrgrid(i,j) = 18.0 + else + slrgrid(i,j) = 27.0 + endif + endif + +! Weighted SLR + + if(lprob(i,j) < .67) then + slrgrid2(i,j) = hprob(i,j)*8.0+mprob(i,j)*13.0+lprob(i,j)*18.0 + slrgrid2(i,j) = slrgrid2(i,j)/(hprob(i,j)+mprob(i,j)+lprob(i,j)) + else + slrgrid2(i,j) = hprob(i,j)*8.0+mprob(i,j)*13.0+lprob(i,j)*27.0 + slrgrid2(i,j) = slrgrid2(i,j)/(hprob(i,j)+mprob(i,j)+lprob(i,j)) + endif + +! slr(i,j) = climosub(i,j) +! slr(i,j) = slrgrid(i,j) + slr(i,j) = slrgrid2(i,j) + slr(i,j) = max(1.,min(25.,slr(i,j))) + + endif !if(pres(i,j), qpf(i,j), swnd(i,j) /= spval) + enddo + enddo + +! main slr i/j loop ends + + END SUBROUTINE CALSLR_ROEBBER +! +!------------------------------------------------------------------------------------- +!> @brief Called by calslr_roebber(), the breadboard subroutines are an AI Machine Learning algorithm that uses a neural network method to predict the snow solid-to-liquid ratio (SLR) + SUBROUTINE breadboard1_main(nswFileName,mf,f1,f2,f3,f4,f5,f6,p1,p2,p3) + + implicit none + + character*20 nswFileName + real mf, f1, f2, f3, f4, f5, f6 + real p1, p2, p3 + + real f(7) + + real inputFile(2,7) + real inputAxon(7) + real hidden1Axon(40) + real outputAxon(3) + real hidden1Synapse(7,40) + real outputSynapse(40,3) + real activeOutputProbe(2,3) + + real fgrid1(40), fgrid2(3), fgridsum + + integer i,j +! + f(1) = mf + f(2) = f1 + f(3) = f2 + f(4) = f3 + f(5) = f4 + f(6) = f5 + f(7) = f6 + +! Read nsw file and load weights + + inputFile(1,:)=1. + inputFile(2,:)=0. + inputAxon=0. + hidden1Axon=0. + outputAxon=0. + hidden1Synapse=1. + outputSynapse=1. + activeOutputProbe(1,:)=1. + activeOutputProbe(2,:)=0. + + if(trim(nswFileName)=='Breadboard1.nsw') then + call Breadboard1(inputFile,hidden1Axon,hidden1Synapse,outputSynapse) + elseif(trim(nswFileName)=='Breadboard2.nsw') then + call Breadboard2(inputFile,hidden1Axon,hidden1Synapse,outputSynapse) + elseif(trim(nswFileName)=='Breadboard3.nsw') then + call Breadboard3(inputFile,hidden1Axon,hidden1Synapse,outputSynapse) + elseif(trim(nswFileName)=='Breadboard4.nsw') then + call Breadboard4(inputFile,hidden1Axon,hidden1Synapse,outputSynapse) + elseif(trim(nswFileName)=='Breadboard5.nsw') then + call Breadboard5(inputFile,hidden1Axon,hidden1Synapse,outputSynapse) + endif + + if(activeOutputProbe(1,1)==1.) then + do j=1,3 + activeOutputProbe(1,j)=8.999999761581421e-001 + activeOutputProbe(2,j)=5.000000074505806e-002 + enddo + endif + +! Run Network + + do j=1,7 + inputAxon(j) = inputFile(1,j) * f(j) + inputFile(2,j) + enddo + + fgrid1=0. +!$omp parallel do private(i,j) + do j=1,40 + do i=1,7 + fgrid1(j) = fgrid1(j) + hidden1Synapse(i,j) * inputAxon(i) + enddo + fgrid1(j) = fgrid1(j) + hidden1Axon(j) + fgrid1(j) = (exp(fgrid1(j))-exp(-fgrid1(j)))/(exp(fgrid1(j))+exp(-fgrid1(j))) + enddo + + fgrid2=0. + fgridsum=0. + do j=1,3 + do i=1,40 + fgrid2(j) = fgrid2(j) + outputSynapse(i,j) * fgrid1(i) + enddo + fgrid2(j) = fgrid2(j) + outputAxon(j) + fgrid2(j) = exp(fgrid2(j)) + fgridsum = fgridsum + fgrid2(j) + enddo + do j=1,3 + fgrid2(j) = fgrid2(j) / fgridsum +! fgrid2(j) = activeOutputProbe(1,j) * fgrid2(j) + activeOutputProbe(2,j) + enddo + + p1 = fgrid2(1) + p2 = fgrid2(2) + p3 = fgrid2(3) + + END SUBROUTINE breadboard1_main +! +!------------------------------------------------------------------------------------- +! + SUBROUTINE breadboard6_main(nswFileName,mf,f1,f2,f3,f4,f5,f6,p1,p2,p3) + + implicit none + + character*20 nswFileName + real mf, f1, f2, f3, f4, f5, f6 + real p1, p2, p3 + + real f(7) + + real inputFile(2,7) + real inputAxon(7) + real hidden1Axon(7) + real hidden2Axon(4) + real outputAxon(3) + real hidden1Synapse(7,7) + real hidden2Synapse(7,4) + real outputSynapse(4,3) + real activeOutputProbe(2,3) + + real fgrid1(7), fgrid2(4), fgrid3(3), fgridsum + + integer i,j +! + f(1) = mf + f(2) = f1 + f(3) = f2 + f(4) = f3 + f(5) = f4 + f(6) = f5 + f(7) = f6 +! + inputFile(1,:)=1. + inputFile(2,:)=0. + inputAxon=0. + hidden1Axon=0. + hidden2Axon=0. + outputAxon=0. + hidden1Synapse=1. + hidden2Synapse=1. + outputSynapse=1. + activeOutputProbe(1,:)=1. + activeOutputProbe(2,:)=0. + + if(trim(nswFileName)=='Breadboard6.nsw') then + call Breadboard6(inputFile,hidden1Axon,hidden2Axon,& + hidden1Synapse,hidden2Synapse,outputSynapse) + elseif(trim(nswFileName)=='Breadboard7.nsw') then + call Breadboard7(inputFile,hidden1Axon,hidden2Axon,& + hidden1Synapse,hidden2Synapse,outputSynapse) + elseif(trim(nswFileName)=='Breadboard8.nsw') then + call Breadboard8(inputFile,hidden1Axon,hidden2Axon,& + hidden1Synapse,hidden2Synapse,outputSynapse) + elseif(trim(nswFileName)=='Breadboard9.nsw') then + call Breadboard9(inputFile,hidden1Axon,hidden2Axon,& + hidden1Synapse,hidden2Synapse,outputSynapse) + elseif(trim(nswFileName)=='Breadboard10.nsw') then + call Breadboard10(inputFile,hidden1Axon,hidden2Axon,& + hidden1Synapse,hidden2Synapse,outputSynapse) + endif + + if(activeOutputProbe(1,1)==1.) then + do j=1,3 + activeOutputProbe(1,j)=8.999999761581421e-001 + activeOutputProbe(2,j)=5.000000074505806e-002 + enddo + endif + +! Run Network + + do j=1,7 + inputAxon(j) = inputFile(1,j) * f(j) + inputFile(2,j) + enddo + + fgrid1=0. +!$omp parallel do private(i,j) + do j=1,7 + do i=1,7 + fgrid1(j) = fgrid1(j) + hidden1Synapse(i,j) * inputAxon(i) + enddo + fgrid1(j) = fgrid1(j) + hidden1Axon(j) + fgrid1(j) = (exp(fgrid1(j))-exp(-fgrid1(j)))/(exp(fgrid1(j))+exp(-fgrid1(j))) + enddo + + fgrid2=0. +!$omp parallel do private(i,j) + do j=1,4 + do i=1,7 + fgrid2(j) = fgrid2(j) + hidden2Synapse(i,j) * fgrid1(i) + enddo + fgrid2(j) = fgrid2(j) + hidden2Axon(j) + fgrid2(j) = (exp(fgrid2(j))-exp(-fgrid2(j)))/(exp(fgrid2(j))+exp(-fgrid2(j))) + enddo + + fgrid3=0. + fgridsum=0. + do j=1,3 + do i=1,4 + fgrid3(j) = fgrid3(j) + outputSynapse(i,j) * fgrid2(i) + enddo + fgrid3(j) = fgrid3(j) + outputAxon(j) + fgrid3(j) = exp(fgrid3(j)) + fgridsum = fgridsum + fgrid3(j) + enddo + do j=1,3 + fgrid3(j) = fgrid3(j) / fgridsum +! fgrid3(j) = activeOutputProbe(1,j) * fgrid3(j) + activeOutputProbe(2,j) + enddo + + p1 = fgrid3(1) + p2 = fgrid3(2) + p3 = fgrid3(3) + + END SUBROUTINE breadboard6_main +! +!------------------------------------------------------------------------------ +! + SUBROUTINE Breadboard1(inputFile,hidden1Axon,hidden1Synapse,outputSynapse) + + implicit none + + real inputFile(2,7) + real hidden1Axon(40) + real hidden1Synapse(7,40) + real outputSynapse(40,3) + + inputFile = reshape((/ & + 1.077844262123108E+00, -1.778443008661270E-01,& + 2.295625507831573E-01, 6.163756549358368E-02,& + 2.081887423992157E-01, 6.210270524024963E-01,& + 3.646677434444427E-01, 1.214343756437302E-01,& + 2.430133521556854E-01, 3.004860281944275E-01,& + 1.935067623853683E-01, 4.185551702976227E-01,& + 1.962280571460724E-01, -4.804643988609314E-01 & + /), shape(inputFile)) + + hidden1Axon = & + (/-1.150484442710876E+00, -1.461968779563904E+00, 1.349107265472412E+00, 6.686212420463562E-01,& + -8.486616015434265E-01, -1.908162593841553E+00, -1.514992356300354E+00, -1.632351636886597E+00,& + -1.794843912124634E+00, 1.354879975318909E+00, 1.389558911323547E+00, 1.464104652404785E+00,& + 1.896052122116089E+00, 1.401677846908569E+00, 1.436681509017944E+00, -1.590880393981934E+00,& + -1.070504426956177E+00, 2.047163248062134E+00, 1.564107656478882E+00, 1.298712372779846E+00,& + -1.316817998886108E+00, -1.253177642822266E+00, -1.392926216125488E+00, 7.356406450271606E-01,& + 1.594561100006104E+00, -1.532955884933472E+00, -1.021214842796326E+00, 1.341110348701477E+00,& + 6.124811172485352E-01, 1.415654063224792E+00, -8.509962558746338E-01, 1.753035664558411E+00,& + 6.275475621223450E-01, 1.482843875885010E+00, 1.326028347015381E+00, 1.641556143760681E+00,& + 1.339018464088440E+00, -1.374068379402161E+00, -1.220067739486694E+00, 1.714797854423523E+00/) + + hidden1Synapse = reshape((/ & + -4.612099826335907E-01, -3.177818655967712E-01, -2.800635099411011E-01, -6.984808295965195E-02,& + 6.583837419748306E-02, -5.769817233085632E-01, 3.955098092556000E-01, -1.624705344438553E-01,& + -2.889076173305511E-01, -9.411631226539612E-01, -5.058886408805847E-01, -3.110982775688171E-01,& + -3.723000884056091E-01, 8.419776558876038E-01, 2.598794996738434E-01, -1.364605724811554E-01,& + 9.416468143463135E-01, -4.025689139962196E-02, 4.176554381847382E-01, 1.196979433298111E-01,& + -3.846398293972015E-01, -1.414917409420013E-01, -2.344214916229248E+00, -3.556166291236877E-01,& + -7.762963771820068E-01, -1.243659138679504E+00, 4.907984733581543E-01, -1.891903519630432E+00,& + -5.802390575408936E-01, -5.546363592147827E-01, -4.520095884799957E-01, -2.473797500133514E-01,& + -7.757837772369385E-01, -5.350160598754883E-01, 1.817676275968552E-01, -1.932217180728912E-01,& + 5.944451093673706E-01, -6.568105518817902E-02, -1.562235504388809E-01, 4.926294833421707E-02,& + -6.931540369987488E-01, 7.082754969596863E-01, -3.878217563033104E-02, 5.063381195068359E-01,& + -7.642447352409363E-01, -2.539043128490448E-01, -4.328470230102539E-01, -4.773662984371185E-01,& + 6.699458956718445E-01, -1.670347154140472E-01, 6.986252665519714E-01, -6.806275844573975E-01,& + 1.059119179844856E-01, 5.320579931139946E-02, -4.806780517101288E-01, 7.601988911628723E-01,& + -1.864496916532516E-01, -3.076690435409546E-01, -6.505665779113770E-01, 7.355872541666031E-02,& + -4.033335149288177E-01, -2.168276757001877E-01, 5.354191064834595E-01, 2.991014420986176E-01,& + 4.275756180286407E-01, 6.465418934822083E-01, -1.401910781860352E-01, 5.381527543067932E-01,& + 9.247279167175293E-01, -3.687029778957367E-01, 6.354923844337463E-01, -1.423558890819550E-01,& + 9.430686831474304E-01, 1.187003701925278E-01, 5.426434278488159E-01, 7.573884129524231E-01,& + 3.361994773149490E-02, 3.300542756915092E-02, -4.439333379268646E-01, 5.953744649887085E-01,& + 3.412617444992065E-01, 1.421828866004944E-01, 5.224847793579102E-01, -8.267756700515747E-01,& + 5.009499788284302E-01, 2.736742198467255E-01, 8.603093624114990E-01, 9.373022615909576E-02,& + 1.714528501033783E-01, 9.114132076501846E-02, -1.638108491897583E-01, 5.879403948783875E-01,& + 5.585592240095139E-03, 8.149939179420471E-01, -1.340572237968445E-01, 3.880683779716492E-01,& + 3.857498764991760E-01, -8.105239868164062E-01, 5.239543914794922E-01, 7.420576363801956E-02,& + 7.694411277770996E-01, -3.954831138253212E-02, 5.615213513374329E-01, 4.560695886611938E-01,& + -5.006425976753235E-01, -4.725854694843292E-01, 5.887325108051300E-02, -3.199687898159027E-01,& + -5.229111015796661E-02, -6.034490466117859E-01, -8.414428234100342E-01, 1.826022863388062E-01,& + -6.954011321067810E-01, -5.277091860771179E-01, -9.834931492805481E-01, -2.964940369129181E-01,& + 1.752081327140331E-02, -2.412298470735550E-01, 5.861807465553284E-01, 3.650662600994110E-01,& + -1.846716850996017E-01, 3.277707397937775E-01, 1.213769540190697E-01, 1.398152709007263E-01,& + 1.624975651502609E-01, -7.172397375106812E-01, -4.065496101975441E-02, -1.131931394338608E-01,& + 7.050336003303528E-01, 3.453079611063004E-02, 5.642467141151428E-01, 7.171959280967712E-01,& + -3.295499980449677E-01, 5.192958116531372E-01, 7.558688521385193E-01, 6.164067387580872E-01,& + -1.597565859556198E-01, 1.512383669614792E-01, 5.231227278709412E-01, -2.199545800685883E-01,& + -3.987313508987427E-01, -9.710572957992554E-01, -4.689137935638428E-01, -4.037811756134033E-01,& + -4.528387784957886E-01, -4.784810543060303E-01, 1.759306043386459E-01, 7.449938654899597E-01,& + 1.120681285858154E+00, -5.609570741653442E-01, 1.393345594406128E+00, 1.374282408505678E-02,& + -2.458193153142929E-01, 1.237058401107788E+00, -4.854794219136238E-02, -6.664386391639709E-01,& + -8.786886334419250E-01, -3.208510577678680E-01, -4.315690398216248E-01, -5.186472535133362E-01,& + -2.117208093404770E-01, 8.998587727546692E-02, 7.763032317161560E-01, 1.078992128372192E+00,& + 3.667660653591156E-01, 5.805531740188599E-01, 1.517073512077332E-01, 9.344519972801208E-01,& + 3.396262824535370E-01, 2.450248003005981E-01, 9.134629368782043E-01, 7.127542048692703E-02,& + -1.287281513214111E-01, 3.953699469566345E-01, -4.097535610198975E-01, -5.983641743659973E-01,& + 4.500437378883362E-01, -8.147508651018143E-02, -7.916551083326340E-02, -1.505649089813232E-01,& + -1.703914403915405E-01, 1.294612526893616E+00, -4.859757721424103E-01, -1.034098416566849E-01,& + -6.859915256500244E-01, 4.521823674440384E-02, 3.100419938564301E-01, -9.373775720596313E-01,& + 5.841451883316040E-01, 7.020491957664490E-01, -1.681403964757919E-01, 6.397892832756042E-01,& + 1.168430075049400E-01, 4.124156236648560E-01, 5.404921174049377E-01, -3.311195969581604E-01,& + -3.494578003883362E-01, 1.379718184471130E+00, 2.731607258319855E-01, 5.512273311614990E-01,& + 2.997024357318878E-01, 3.475511670112610E-01, 6.777516603469849E-01, 1.471205204725266E-01,& + 1.011002138257027E-01, 8.974244594573975E-01, 8.688372373580933E-02, 4.767233729362488E-01,& + 9.785303473472595E-01, -2.200428694486618E-01, -6.173372268676758E-01, -8.801369071006775E-01,& + -1.111719012260437E+00, -3.223371803760529E-01, -6.491173505783081E-01, -3.894545435905457E-01,& + -2.843862473964691E-01, 7.331426739692688E-01, -3.287445753812790E-02, -5.741032306104898E-03,& + 6.212961673736572E-01, 3.749484941363335E-02, 6.244438700377941E-03, -6.228777766227722E-01,& + -4.667133837938309E-02, 2.016694307327271E+00, 2.834755480289459E-01, 6.229624748229980E-01,& + 6.552317738533020E-01, -9.771268069744110E-02, 7.506207823753357E-01, 6.942567825317383E-01,& + -1.662521809339523E-01, 3.003259599208832E-01, -2.531996071338654E-01, 2.399661689996719E-01,& + 5.109554529190063E-01, -7.031706571578979E-01, 2.836774885654449E-01, 4.888223409652710E-01,& + 1.384589523077011E-01, -3.524579405784607E-01, -2.050135582685471E-01, 1.160808563232422E+00,& + -4.008938968181610E-01, 1.656456440687180E-01, -5.116114616394043E-01, 8.800522685050964E-01,& + 6.836380064487457E-02, -5.902936309576035E-02, 5.672354102134705E-01, -7.219299674034119E-01,& + 3.463289514183998E-02, -1.044675827026367E+00, -8.341925591230392E-02, -3.036961853504181E-01,& + -5.605638027191162E-01, 5.722484588623047E-01, -1.604338049888611E+00, -5.696258544921875E-01,& + -2.531512081623077E-01, -4.675458073616028E-01, -6.486019492149353E-01, -2.437075823545456E-01,& + -2.898264527320862E-01, 3.836293518543243E-01, 4.061043560504913E-01, 3.909072279930115E-01,& + -8.113911151885986E-01, 1.260317683219910E+00, -3.924282491207123E-01, 3.586370870471001E-02,& + 7.703443765640259E-01, 6.714462637901306E-01, -4.909946396946907E-02, 3.536651730537415E-01,& + 1.900762617588043E-01, 3.638494014739990E-01, 2.248179465532303E-01, -6.255846619606018E-01 & + /), shape(hidden1Synapse)) + + outputSynapse = reshape((/ & + -4.825605154037476E-01, -1.119017243385315E+00, 5.116804838180542E-01, -6.694142222404480E-01,& + -5.718530416488647E-01, -7.233589291572571E-01, -8.200560212135315E-01, -6.121573448181152E-01,& + -1.034205436706543E+00, 1.015549778938293E+00, 1.183975338935852E+00, 5.342597365379333E-01,& + 1.186208128929138E+00, 7.657266259193420E-01, 9.990772604942322E-01, -1.051267385482788E+00,& + -7.288008332252502E-01, 9.447612762451172E-01, 6.943449974060059E-01, 5.248318314552307E-01,& + -1.042970657348633E+00, -4.857340827584267E-04, -8.969252705574036E-01, 5.206210613250732E-01,& + 7.825390100479126E-01, -3.175100982189178E-01, -7.697273492813110E-01, 3.042222857475281E-01,& + 7.400255203247070E-01, 1.082547545433044E+00, -1.058874249458313E+00, 3.296852707862854E-01,& + 9.955985546112061E-01, 7.361931800842285E-01, 8.618848919868469E-01, 7.109408378601074E-01,& + 1.148022636771202E-01, -6.803723573684692E-01, -4.462003335356712E-02, 7.384030222892761E-01,& + -2.215545326471329E-01, -8.702403903007507E-01, 8.234908580780029E-01, 6.819239258766174E-01,& + -4.687527120113373E-01, -6.959788203239441E-01, -6.105158329010010E-01, -7.225347757339478E-01,& + -7.860832810401917E-01, 5.608791112899780E-01, 9.937217235565186E-01, 6.797130703926086E-01,& + 8.231667280197144E-01, 1.115462303161621E+00, 5.290299654006958E-01, -4.602016210556030E-01,& + -5.394889116287231E-01, 1.053055644035339E+00, 9.533493518829346E-01, 8.694807887077332E-01,& + -4.802323281764984E-01, -1.070514082908630E+00, -8.236010670661926E-01, 7.932062149047852E-01,& + 1.111655592918396E+00, -1.025945305824280E+00, -2.268178462982178E-01, 6.432797908782959E-01,& + 2.442117929458618E-01, 7.986634969711304E-01, -3.561095297336578E-01, 1.058865070343018E+00,& + 6.459046602249146E-01, 4.042869210243225E-01, 2.976681292057037E-02, 1.033244490623474E+00,& + 9.110773205757141E-01, -6.528528332710266E-01, -8.971995115280151E-01, 1.046785235404968E+00,& + -5.487565994262695E-01, -1.033755183219910E+00, 5.164890289306641E-01, 1.108534336090088E+00,& + -2.507440149784088E-01, -1.150385260581970E+00, -1.040475010871887E+00, -1.114320755004883E+00,& + -9.695596694946289E-01, 9.147439599037170E-01, 3.035557866096497E-01, 1.044997453689575E+00,& + 1.059857130050659E+00, 7.304399013519287E-01, 1.102171182632446E+00, -9.304327964782715E-01,& + -5.997116565704346E-01, 1.120478868484497E+00, 6.444569826126099E-01, 2.137384265661240E-01,& + -4.117920994758606E-01, -1.000458717346191E+00, -2.041520774364471E-01, -1.859422773122787E-01,& + 3.711319267749786E-01, -9.141649603843689E-01, -7.499164938926697E-01, 9.900025129318237E-01,& + -2.189985066652298E-01, 8.942219614982605E-01, -3.195305764675140E-01, 6.445295810699463E-01,& + -2.110123336315155E-01, 9.763143658638000E-01, 8.833498954772949E-01, 1.071311354637146E+00,& + 1.134591102600098E+00, -4.175429344177246E-01, -6.000540852546692E-01, 7.281569838523865E-01 & + /), shape(outputSynapse)) + + END SUBROUTINE Breadboard1 +! +!------------------------------------------------------------------------------ +! + SUBROUTINE Breadboard2(inputFile,hidden1Axon,hidden1Synapse,outputSynapse) + + implicit none + + real inputFile(2,7) + real hidden1Axon(40) + real hidden1Synapse(7,40) + real outputSynapse(40,3) + + inputFile = reshape((/ & + 1.077844262123108E+00, -1.778443008661270E-01,& + 2.188449800014496E-01, 1.674167998135090E-02,& + 1.868382692337036E-01, 6.490761637687683E-01,& + 3.361344337463379E-01, 4.151264205574989E-02,& + 2.621995508670807E-01, 2.531536519527435E-01,& + 1.944894641637802E-01, 3.221717774868011E-01,& + 3.179650008678436E-01, -2.033386379480362E-01 & + /), shape(inputFile)) + + hidden1Axon = & + (/-9.235364943742752E-02, -5.511198639869690E-01, 1.012191653251648E+00, -1.148184835910797E-01,& + -8.399781584739685E-01, -4.726789295673370E-01, 7.570160627365112E-01, -3.985013365745544E-01,& + 1.164000511169434E+00, 2.212587594985962E-01, 9.570528268814087E-01, -1.504407286643982E+00,& + -1.262813359498978E-01, 9.741528630256653E-01, 2.278975844383240E-01, -3.282702267169952E-01,& + 1.716251969337463E-01, 4.979004263877869E-01, 6.414948105812073E-01, -2.775986790657043E-01,& + -6.721665859222412E-01, 7.226511836051941E-01, -1.020949006080627E+00, -9.638186097145081E-01,& + 4.050622135400772E-02, -8.287806510925293E-01, -2.900803685188293E-01, 1.004199028015137E+00,& + -1.221053838729858E+00, -5.891714692115784E-01, -6.459002494812012E-01, 8.228222727775574E-01,& + 1.921370178461075E-01, 1.575044542551041E-01, -9.904603362083435E-01, 1.186665743589401E-01,& + 1.871918141841888E-01, -6.121324300765991E-01, 1.056765243411064E-01, -5.654883384704590E-01/) + + hidden1Synapse = reshape((/ & + -5.215738341212273E-02, 6.958795785903931E-01, -3.700282871723175E-01, 4.440588057041168E-01,& + -9.248711913824081E-02, 9.709199517965317E-02, 1.255098581314087E-01, -1.359838247299194E-01,& + 3.981630802154541E-01, -4.047442674636841E-01, -5.247595906257629E-01, -5.138890147209167E-01,& + 2.293408364057541E-01, 5.139534473419189E-01, 2.035804986953735E-01, 3.003124892711639E-01,& + -2.340262830257416E-01, 3.037432730197906E-01, 4.666079878807068E-01, 3.753643631935120E-01,& + -5.292671918869019E-02, 3.674933612346649E-01, 3.854512274265289E-01, 1.749511361122131E-01,& + 1.320011764764786E-01, 2.418431788682938E-01, 1.245125234127045E-01, -2.677426636219025E-01,& + 3.884479776024818E-02, -1.385747641324997E-01, -3.117613494396210E-01, 3.016934990882874E-01,& + -2.856997251510620E-01, -4.838032424449921E-01, 4.488031566143036E-01, -3.862534165382385E-01,& + 2.520084977149963E-01, -6.066129356622696E-02, -2.037643343210220E-01, -9.749407321214676E-02,& + 1.909288167953491E-01, -2.689029574394226E-01, 8.022837042808533E-01, 4.543448388576508E-01,& + 1.268999278545380E-01, 2.794430553913116E-01, 4.331161379814148E-01, -1.717756092548370E-01,& + -5.167780518531799E-01, 6.074145808815956E-02, 2.141399085521698E-01, -3.536535203456879E-01,& + -2.548796236515045E-01, -4.349331259727478E-01, 3.771509276703000E-03, 1.351494044065475E-01,& + 8.080910146236420E-02, -2.638687789440155E-01, 1.792310923337936E-01, -5.317723155021667E-01,& + 6.300682574510574E-02, 1.391339004039764E-01, -6.581404209136963E-01, 1.574699729681015E-01,& + -5.979638695716858E-01, -6.864693760871887E-01, -6.892689466476440E-01, -1.189238503575325E-01,& + -1.904999166727066E-01, -4.838389158248901E-01, 4.585682973265648E-02, 3.201213181018829E-01,& + 5.204908251762390E-01, -3.531241044402122E-02, 4.392628967761993E-01, 4.307939708232880E-01,& + -4.227218031883240E-02, 1.247199028730392E-01, 1.489800363779068E-01, -3.146159052848816E-01,& + 2.637389600276947E-01, -8.966535329818726E-02, 2.010040730237961E-01, 3.161593675613403E-01,& + -8.221558481454849E-02, -4.601925909519196E-01, -3.832246661186218E-01, 2.877672016620636E-01,& + -1.351716276258230E-02, -5.320604424923658E-03, -3.493662178516388E-02, -1.777663826942444E-01,& + -1.865815520286560E-01, 6.387206912040710E-01, -4.405377805233002E-01, 4.452396631240845E-01,& + -1.245370283722878E-01, -2.323225736618042E-01, 1.697962284088135E-01, 1.118463352322578E-01,& + -2.475701570510864E-01, -3.791887685656548E-02, 5.509998202323914E-01, 1.247667223215103E-01,& + 3.189268708229065E-01, -3.584641516208649E-01, 8.915060758590698E-01, 9.720049053430557E-02,& + -1.117252558469772E-01, 3.543806076049805E-01, -2.351483702659607E-01, 5.283502340316772E-01,& + 1.746209561824799E-01, 1.741478294134140E-01, 2.738423347473145E-01, 3.764865398406982E-01,& + 3.486587703227997E-01, -3.462808132171631E-01, 9.324266910552979E-01, 2.155355364084244E-01,& + -5.171442404389381E-02, 6.311618685722351E-01, -1.088170856237411E-01, 4.840107262134552E-01,& + -2.310744374990463E-01, -3.167505562305450E-01, -2.271509468555450E-01, -2.800688743591309E-01,& + 4.713648185133934E-02, -1.575807780027390E-01, 3.583298251032829E-02, -3.308865129947662E-01,& + -2.662795484066010E-01, 1.894978582859039E-01, 7.474141567945480E-02, -1.493624746799469E-01,& + -1.482628136873245E-01, -1.058527529239655E-01, -3.737696707248688E-01, -1.093639135360718E-01,& + -4.270362555980682E-01, 1.249950975179672E-01, -1.971846818923950E-01, 3.135327398777008E-01,& + 4.604682624340057E-01, -4.614944458007812E-01, 4.820220768451691E-01, 3.806282877922058E-01,& + 3.629744052886963E-01, 3.986520171165466E-01, -2.283873707056046E-01, 1.246029064059258E-01,& + 3.940442204475403E-01, 2.390366494655609E-01, 8.402416110038757E-02, 3.498363792896271E-01,& + -3.888027667999268E-01, 2.272991091012955E-01, -3.421411216259003E-01, 1.273499727249146E-01,& + 1.342627108097076E-01, 1.159043312072754E-01, 1.274240911006927E-01, -2.915177941322327E-01,& + 6.415430903434753E-01, 1.699399948120117E-01, -6.556300520896912E-01, 9.605846554040909E-02,& + 3.632318377494812E-01, -3.854629993438721E-01, -3.860571384429932E-01, -1.257066577672958E-01,& + -1.186188161373138E-01, -1.368320286273956E-01, -2.300722897052765E-01, -4.762146174907684E-01,& + -3.621844053268433E-01, -4.978014528751373E-02, -1.940275430679321E-01, -1.588442362844944E-02,& + -1.519876420497894E-01, 1.312368810176849E-01, 1.862339228391647E-01, 6.462548375129700E-01,& + 5.544137358665466E-01, -3.416634351015091E-02, 9.995899349451065E-02, -6.969342380762100E-02,& + -1.428494304418564E-01, 2.647481858730316E-01, 1.083492934703827E-01, 5.986538901925087E-02,& + -1.576850377023220E-02, 1.962803453207016E-01, 6.334787011146545E-01, -1.408149152994156E-01,& + -1.756295561790466E-01, -2.156554609537125E-01, -1.412229537963867E-01, -5.801249146461487E-01,& + -5.700040608644485E-02, -3.019523918628693E-01, -1.161280944943428E-01, -3.032382726669312E-01,& + 1.140000447630882E-01, -2.648598253726959E-01, -2.016042023897171E-01, -3.181084990501404E-02,& + 7.931513339281082E-02, 5.399967432022095E-01, -4.595367014408112E-01, 9.602636098861694E-02,& + -4.730868339538574E-01, 2.077568918466568E-01, -2.257115393877029E-01, 3.216529190540314E-01,& + 1.631081402301788E-01, 6.222640164196491E-03, -1.323710232973099E-01, 1.348871737718582E-01,& + 1.123578473925591E-01, 5.462109446525574E-01, 5.289056897163391E-01, 5.155519247055054E-01,& + 2.748569846153259E-01, -3.125837743282318E-01, -3.262098431587219E-01, -8.945185691118240E-03,& + -4.980920553207397E-01, 5.064374208450317E-01, -1.056439951062202E-01, -3.115973472595215E-01,& + 3.343601152300835E-02, -7.157339155673981E-02, 5.459919571876526E-01, 2.175374031066895E-01,& + -2.892075665295124E-02, 1.139620468020439E-01, -4.409461319446564E-01, -4.908669367432594E-02,& + -2.098206430673599E-01, 3.024870157241821E-01, -3.447104394435883E-01, -2.666398882865906E-01,& + -1.739841997623444E-01, -1.120999976992607E-01, 4.268572330474854E-01, 4.144327044487000E-01,& + 4.936498403549194E-01, 5.718982815742493E-01, 5.464938655495644E-02, 3.950506746768951E-01,& + -1.432464718818665E-01, -8.016809076070786E-02, 5.947722792625427E-01, -1.419431418180466E-01,& + -2.328271418809891E-01, -1.958254128694534E-01, -9.914696216583252E-03, -1.478249877691269E-01,& + 4.182004928588867E-01, 7.797469943761826E-02, 3.761124014854431E-01, 4.066407680511475E-01,& + 1.217691525816917E-01, -1.124059110879898E-01, 7.020493596792221E-02, 1.022125557065010E-01,& + -5.025411844253540E-01, -2.482684552669525E-01, -5.819427594542503E-02, -1.587846502661705E-02,& + -1.881837695837021E-01, 4.026338756084442E-01, 3.339109122753143E-01, 2.215891182422638E-01,& + 7.083265781402588E-01, -7.670203596353531E-02, 3.171359598636627E-01, 8.310161828994751E-01 & + /), shape(hidden1Synapse)) + + outputSynapse = reshape((/ & + 2.309078276157379E-01, 8.006124198436737E-02, 5.207773447036743E-01, 3.642434999346733E-02,& + -5.444544181227684E-02, -2.300137132406235E-01, 4.965198636054993E-01, -3.590968847274780E-01,& + 1.392439752817154E-01, -2.941058278083801E-01, 6.655657291412354E-01, -4.931978881359100E-01,& + -1.253394484519958E-01, 1.540697813034058E-01, 1.752252578735352E-01, 4.873855113983154E-01,& + 5.741749405860901E-01, 1.275441497564316E-01, -4.765471443533897E-02, -5.038099363446236E-02,& + -8.334141224622726E-02, 5.842098593711853E-01, -4.490646719932556E-01, -5.416034907102585E-02,& + -2.264686524868011E-01, -1.698177903890610E-01, 3.113179206848145E-01, 4.435532391071320E-01,& + -5.240975022315979E-01, 1.108570247888565E-01, 2.321150526404381E-02, 2.374080866575241E-01,& + -2.570592761039734E-01, 3.205819129943848E-01, -3.468126952648163E-01, 2.772298157215118E-01,& + 1.148034259676933E-01, 1.865169033408165E-03, 3.649827241897583E-01, 5.026416182518005E-01,& + -2.502067089080811E-01, -6.028710007667542E-01, -6.978485733270645E-02, 8.656968921422958E-02,& + -5.227651596069336E-01, 9.525942802429199E-02, -1.903700232505798E-01, 1.426358073949814E-01,& + 5.602359771728516E-01, -2.479453980922699E-01, 1.296138316392899E-01, -4.612154662609100E-01,& + -4.198251068592072E-01, 6.053315401077271E-01, -1.160371229052544E-01, -4.044520258903503E-01,& + -1.530461944639683E-02, 4.267008602619171E-01, 2.162231802940369E-01, 1.101492717862129E-01,& + -9.195729345083237E-02, -3.771322593092918E-02, 3.320552408695221E-02, -4.979051947593689E-01,& + 1.581449210643768E-01, -5.021102428436279E-01, 1.184114068746567E-02, 4.836803376674652E-01,& + -5.539562702178955E-01, -2.782657444477081E-01, -1.547775119543076E-01, 4.582551419734955E-01,& + 2.844007611274719E-01, -4.516306817531586E-01, 1.886052638292313E-02, 3.602048456668854E-01,& + 4.175081476569176E-02, 2.075715661048889E-01, -5.455711483955383E-01, -2.442489415407181E-01,& + -2.680016458034515E-01, 2.636941149830818E-03, 4.164874255657196E-01, 8.120876550674438E-02,& + -4.927250146865845E-01, -3.254565298557281E-01, 5.583248138427734E-01, -1.608870923519135E-01,& + 5.749610066413879E-01, 5.479150414466858E-01, 3.469662666320801E-01, -5.061987638473511E-01,& + 3.353976905345917E-01, 2.548734247684479E-01, 2.064624279737473E-01, -5.114225745201111E-01,& + -4.629626572132111E-01, -1.936426460742950E-01, 2.327886223793030E-01, -4.583241790533066E-02,& + -5.125665068626404E-01, 1.089363321661949E-01, -4.951449036598206E-01, -5.018569827079773E-01,& + 2.582837454974651E-02, 4.913705959916115E-02, -2.441505938768387E-01, -3.174663335084915E-02,& + -1.644173413515091E-01, -2.947083115577698E-01, -5.097694396972656E-01, 7.136650383472443E-03,& + 1.942666023969650E-01, 1.587397605180740E-01, -4.691866040229797E-01, -4.862202703952789E-01,& + 1.432444006204605E-01, -4.405085742473602E-01, 3.072859644889832E-01, -4.172921180725098E-01 & + /), shape(outputSynapse)) + + END SUBROUTINE Breadboard2 +! +!------------------------------------------------------------------------------ +! + SUBROUTINE Breadboard3(inputFile,hidden1Axon,hidden1Synapse,outputSynapse) + + implicit none + + real inputFile(2,7) + real hidden1Axon(40) + real hidden1Synapse(7,40) + real outputSynapse(40,3) + + inputFile = reshape((/ & + 1.077844262123108E+00, -1.778443008661270E-01,& + 2.442665100097656E-01, 3.212104737758636E-02,& + 2.107975035905838E-01, 6.168988943099976E-01,& + 3.646677434444427E-01, 1.214343756437302E-01,& + 2.485501170158386E-01, 2.868268489837646E-01,& + 1.976718604564667E-01, 4.469360709190369E-01,& + 3.208556175231934E-01, -2.509090602397919E-01 & + /), shape(inputFile)) + + hidden1Axon = & + (/4.393131732940674E-01, -1.290386915206909E-01, 6.327351331710815E-01, 5.494017004966736E-01,& + 4.969031810760498E-01, 2.086368650197983E-01, -2.167895883321762E-01, 9.464725255966187E-01,& + 1.640024334192276E-01, 2.452306896448135E-01, 1.972979009151459E-01, 9.276027083396912E-01,& + 2.502645850181580E-01, 5.485208034515381E-01, -2.839279770851135E-01, 6.810981035232544E-01,& + -2.170253098011017E-01, -3.821973502635956E-01, 8.861125111579895E-01, -6.720829606056213E-01,& + 2.960434183478355E-02, -3.987881243228912E-01, -1.057050973176956E-01, 6.963993310928345E-01,& + -1.413413435220718E-01, 7.551014423370361E-01, 1.243001222610474E-02, -3.603826761245728E-01,& + 7.450697422027588E-01, 7.630060315132141E-01, 5.904716849327087E-01, -5.035977959632874E-01,& + 2.082890830934048E-03, -1.259811818599701E-01, -8.103467822074890E-01, -4.683765172958374E-01,& + -3.666405081748962E-01, -5.880022794008255E-02, -5.269588828086853E-01, -1.594118028879166E-01/) + + hidden1Synapse = reshape((/ & + 2.258135080337524E-01, -8.417334407567978E-02, -6.296884268522263E-02, -1.971755474805832E-01,& + -2.008096426725388E-01, 1.312222182750702E-01, -2.187249064445496E-01, 3.300825655460358E-01,& + -1.458171010017395E-01, -2.447441816329956E-01, 2.373344898223877E-01, -3.369296491146088E-01,& + -2.142974138259888E-01, 7.442125119268894E-03, 2.400149852037430E-01, 5.063241720199585E-01,& + 1.461273133754730E-01, 3.199279010295868E-01, 2.184794545173645E-01, 6.378577351570129E-01,& + 2.826454937458038E-01, 1.467282772064209E-01, 4.167218208312988E-01, 3.410821408033371E-02,& + -1.507616639137268E-01, 1.607457697391510E-01, 1.063031926751137E-01, 4.860900044441223E-01,& + -7.546984404325485E-02, 3.811344206333160E-01, -3.500247746706009E-02, -3.294828236103058E-01,& + -2.355449087917805E-02, 3.319101631641388E-01, 1.341840159147978E-02, -2.975183129310608E-01,& + -2.044427692890167E-01, 7.903610914945602E-02, -2.241216152906418E-01, -1.982768028974533E-01,& + 2.166045308113098E-01, -3.769811093807220E-01, -4.219292849302292E-02, -4.683617055416107E-01,& + 1.365721821784973E-01, -5.708352923393250E-01, -5.482509136199951E-01, -5.697317123413086E-01,& + 3.948671817779541E-01, 4.008982181549072E-01, -6.056785583496094E-01, -6.540334783494473E-03,& + -4.144128859043121E-01, -9.239719808101654E-02, 1.977843493223190E-01, -2.407579571008682E-01,& + -2.472878843545914E-01, -3.429937064647675E-01, -1.058190166950226E-01, -8.456809073686600E-02,& + 4.944565296173096E-01, 4.329789280891418E-01, 2.303941249847412E-01, 2.076211571693420E-01,& + 1.421037223190069E-02, 5.740813165903091E-02, 1.577541381120682E-01, 1.072699949145317E-01,& + 3.550452180206776E-03, -7.603026926517487E-02, 1.787180006504059E-01, 3.000865578651428E-01,& + -4.790667295455933E-01, -1.263711899518967E-01, -1.886992603540421E-01, -1.971553862094879E-01,& + -4.320513010025024E-01, -1.786982715129852E-01, -3.415124714374542E-01, 3.517304956912994E-01,& + 3.841716647148132E-01, 1.595797836780548E-01, 1.466515809297562E-01, 3.235963284969330E-01,& + 3.831133618950844E-02, 3.778985887765884E-02, 4.742037355899811E-01, -1.204959601163864E-01,& + -6.766954064369202E-02, 4.763844013214111E-01, 2.847502529621124E-01, -2.614455521106720E-01,& + 4.211461246013641E-01, 2.459102123975754E-01, -3.291262984275818E-01, 4.159525930881500E-01,& + 1.433917880058289E-01, 5.506788492202759E-01, -4.396528601646423E-01, 3.432570993900299E-01,& + -4.605481028556824E-01, -1.657515168190002E-01, 2.847986221313477E-01, -3.968485295772552E-01,& + 2.652311325073242E-01, 2.413431182503700E-03, 6.885899305343628E-01, -1.771224141120911E-01,& + -2.605379931628704E-02, 1.681880354881287E-01, 4.201361536979675E-01, -2.905318737030029E-01,& + -1.065197512507439E-01, 2.377779632806778E-01, 3.171224892139435E-01, -5.171843245625496E-02,& + 8.248845487833023E-02, -4.904226213693619E-02, 3.065647780895233E-01, 1.610077768564224E-01,& + 8.712385892868042E-01, 3.008154034614563E-01, 5.729283690452576E-01, -1.608658432960510E-01,& + -3.810124993324280E-01, 6.462811827659607E-01, -2.662218213081360E-01, -5.297539830207825E-01,& + -1.356185525655746E-01, 2.623566091060638E-01, -1.624718308448792E-01, -2.004417479038239E-01,& + -3.377428650856018E-02, 3.970716595649719E-01, -1.560127288103104E-01, 4.747187346220016E-02,& + -3.162815868854523E-01, -3.350041508674622E-01, -3.987393081188202E-01, -4.969080090522766E-01,& + -1.142657846212387E-01, -7.119160890579224E-01, 1.153976768255234E-01, -6.001577973365784E-01,& + -3.606468439102173E-01, -3.741255104541779E-01, -7.550917863845825E-01, 1.106901541352272E-01,& + -1.475569456815720E-01, -2.016223073005676E-01, -2.226002812385559E-01, 2.520006597042084E-01,& + -4.015582501888275E-01, -6.874573230743408E-01, -3.860632777214050E-01, 1.074488908052444E-01,& + -3.594025373458862E-01, -2.556712925434113E-01, 2.491754293441772E-01, -1.749203801155090E-01,& + -5.133146420121193E-03, -2.629097700119019E-01, 1.706630140542984E-01, 5.300921797752380E-01,& + 3.016012907028198E-01, 3.024738729000092E-01, 1.334729231894016E-02, 3.605858981609344E-01,& + -3.797290921211243E-01, 2.125910073518753E-01, -3.324515819549561E-01, -2.657738924026489E-01,& + 8.549436926841736E-02, 2.843597829341888E-01, -1.628004312515259E-01, 4.068509638309479E-01,& + -1.096388697624207E-01, 1.842555999755859E-01, -2.429902255535126E-01, 1.793259531259537E-01,& + 6.289024949073792E-01, 4.427114427089691E-01, -8.943214267492294E-02, 1.407862901687622E-01,& + -4.747562706470490E-01, 1.607088744640350E-01, 2.691341638565063E-01, -1.326033025979996E-01,& + -6.888723373413086E-02, 3.347525000572205E-01, 2.391179502010345E-01, -7.601787149906158E-02,& + 3.946174979209900E-01, 4.608300328254700E-01, -4.973608553409576E-01, 2.180006355047226E-02,& + -2.155515551567078E-01, 4.018128812313080E-01, 5.872810482978821E-01, -2.970355451107025E-01,& + 6.164746284484863E-01, -2.832284271717072E-01, -7.214747369289398E-02, 3.505393862724304E-01,& + 3.504253327846527E-01, -3.037774860858917E-01, -3.341494500637054E-01, -2.143821418285370E-01,& + 3.230984508991241E-01, -6.691335439682007E-01, -1.196009963750839E-01, 2.609530091285706E-01,& + 6.332063078880310E-01, -2.495922595262527E-01, -1.421163380146027E-01, 4.370761811733246E-01,& + 2.344440817832947E-01, -4.770855009555817E-01, -1.213536486029625E-01, -4.947537779808044E-01,& + 2.018401175737381E-01, -3.219321966171265E-01, -1.836685538291931E-01, 6.838442683219910E-01,& + -5.349717736244202E-01, 5.601373910903931E-01, -3.152181506156921E-01, 2.578000128269196E-01,& + 4.295753240585327E-01, -1.423847377300262E-01, 6.693964004516602E-01, -2.671292051672935E-02,& + -2.906464338302612E-01, -6.406581997871399E-01, -5.139582753181458E-01, 2.622411847114563E-01,& + 2.534431815147400E-01, -1.518065035343170E-01, -4.292866215109825E-02, 4.628975689411163E-01,& + 1.969320774078369E-01, 4.264309704303741E-01, -4.475159347057343E-01, -5.727919340133667E-01,& + 5.388451814651489E-01, -2.982297539710999E-01, -3.593768924474716E-02, -1.298359930515289E-01,& + -4.535509645938873E-01, -1.963836848735809E-01, -2.640297412872314E-01, 3.889253437519073E-01,& + -2.371201291680336E-02, 5.441716909408569E-01, -3.557947278022766E-01, -1.912423074245453E-01,& + 3.168485462665558E-01, -3.096546828746796E-01, 2.481035888195038E-01, 2.293358147144318E-01,& + -7.027690410614014E-01, -4.839945435523987E-01, -2.963027358055115E-01, -5.126427412033081E-01,& + 2.138081789016724E-01, -2.071801871061325E-01, -9.827529639005661E-02, -4.680003225803375E-01,& + -3.230824470520020E-01, -2.535474896430969E-01, 2.779140770435333E-01, -5.119556188583374E-01,& + 1.893053054809570E-01, -5.211792513728142E-02, 4.212611019611359E-01, -5.767111182212830E-01,& + 3.436119556427002E-01, 1.560586243867874E-01, -1.338404417037964E-01, 2.465801686048508E-01 & + /), shape(hidden1Synapse)) + + outputSynapse = reshape((/ & + -1.504478603601456E-01, 8.304652571678162E-02, 2.053809165954590E-01, 4.613898992538452E-01,& + 3.307471871376038E-01, -2.503668665885925E-01, -4.260648787021637E-01, -2.033478170633316E-01,& + 1.205723360180855E-01, 3.727485835552216E-01, -2.320208251476288E-01, 4.672348499298096E-01,& + -1.567042618989944E-01, 4.181037843227386E-01, -2.018750756978989E-01, 2.649243474006653E-01,& + 2.292609065771103E-01, 2.745892405509949E-01, 2.554303109645844E-01, -3.891312777996063E-01,& + -4.561745524406433E-01, -3.781261444091797E-01, -2.881123721599579E-01, 2.764029800891876E-01,& + 8.924255520105362E-02, 4.471623599529266E-01, 9.589984267950058E-02, 4.323486387729645E-01,& + 4.792469739913940E-01, -9.918873012065887E-02, 4.427296221256256E-01, 3.841804563999176E-01,& + 1.890532523393631E-01, -4.477364718914032E-01, -2.994475699961185E-02, -7.976207137107849E-02,& + 2.607934474945068E-01, -3.710708916187286E-01, -2.811897993087769E-01, 6.034602597355843E-02,& + 4.014556109905243E-01, 2.982565164566040E-01, 4.447779953479767E-01, -3.612459823489189E-02,& + -2.895380258560181E-01, 2.155442684888840E-01, -3.415147066116333E-01, 4.278375506401062E-01,& + 1.896717213094234E-02, -9.841635823249817E-02, 1.671093255281448E-01, 3.151571452617645E-01,& + -1.678100675344467E-01, -4.435905069112778E-02, -2.333792001008987E-01, 4.360995292663574E-01,& + 3.587894737720490E-01, -1.017290875315666E-01, 1.382773071527481E-01, -3.980610668659210E-01,& + -2.268472909927368E-01, -2.996328286826611E-02, 2.546367645263672E-01, 1.532198935747147E-01,& + -1.018586382269859E-02, 3.147244155406952E-01, -3.700032234191895E-01, 2.747226655483246E-01,& + 4.799823760986328E-01, 3.735623657703400E-01, 3.757937550544739E-01, -5.869687348604202E-02,& + 7.807171344757080E-02, -1.428240090608597E-01, -5.030028820037842E-01, -4.323083460330963E-01,& + -2.643692195415497E-01, -4.277939200401306E-01, 3.172474205493927E-01, -4.587580561637878E-01,& + 4.488629996776581E-01, -1.273735053837299E-02, 2.275637537240982E-01, 2.276848852634430E-01,& + 1.995900124311447E-01, -1.224325075745583E-01, -1.321871429681778E-01, 4.938367307186127E-01,& + 3.713837862014771E-01, 4.943797290325165E-01, -8.973516523838043E-02, 3.630679845809937E-01,& + 3.118912279605865E-01, 3.763218820095062E-01, -2.658533453941345E-01, 5.210888572037220E-03,& + -3.098636865615845E-01, -4.516429603099823E-01, 3.575363755226135E-01, 3.780608177185059E-01,& + 3.606519103050232E-01, 4.404914379119873E-01, -4.452764391899109E-01, 2.741447389125824E-01,& + 1.122588440775871E-01, 2.581178247928619E-01, -2.986721992492676E-01, -3.506239950656891E-01,& + -4.466909915208817E-02, 1.343552619218826E-01, -2.677312493324280E-02, -5.070485472679138E-01,& + -5.414816737174988E-01, 3.392856195569038E-02, -4.090670943260193E-01, 2.741051837801933E-02,& + 7.242175936698914E-02, 4.587205946445465E-01, -2.530987001955509E-02, 1.304957270622253E-02 & + /), shape(outputSynapse)) + + END SUBROUTINE Breadboard3 +! +!------------------------------------------------------------------------------ +! + SUBROUTINE Breadboard4(inputFile,hidden1Axon,hidden1Synapse,outputSynapse) + + implicit none + + real inputFile(2,7) + real hidden1Axon(40) + real hidden1Synapse(7,40) + real outputSynapse(40,3) + + inputFile = reshape((/ & + 1.077844262123108E+00, -1.778443008661270E-01,& + 2.296211272478104E-01, 6.142363324761391E-02,& + 2.128665894269943E-01, 6.552034020423889E-01,& + 3.361344337463379E-01, 4.151264205574989E-02,& + 2.430133521556854E-01, 3.004860281944275E-01,& + 1.976718604564667E-01, 4.469360709190369E-01,& + 1.951007992029190E-01, -4.725341200828552E-01 & + /), shape(inputFile)) + + hidden1Axon = & + (/-1.700838446617126E+00, 1.409139156341553E+00, -1.263895153999329E+00, -1.653346180915833E+00,& + -1.753814935684204E+00, 1.510319232940674E+00, -1.652730584144592E+00, 1.968622922897339E+00,& + -1.764715671539307E+00, -1.920537590980530E+00, 1.703584432601929E+00, 9.688673615455627E-01,& + 1.621924757957458E+00, -1.195185184478760E+00, -1.170735836029053E+00, -1.726262569427490E+00,& + 1.693020582199097E+00, -1.789734363555908E+00, 2.076834440231323E+00, -2.054785251617432E+00,& + 1.735462069511414E+00, -1.377997517585754E+00, 1.685962557792664E+00, -1.505226492881775E+00,& + 1.329061865806580E+00, -1.970339655876160E+00, 1.326048374176025E+00, -1.803932785987854E+00,& + -1.356570959091187E+00, -7.451403737068176E-01, 1.977797389030457E+00, 1.962222456932068E+00,& + -1.924186825752258E+00, -1.927103757858276E+00, 1.772511124610901E+00, 2.267752170562744E+00,& + 1.343345522880554E+00, -1.727791309356689E+00, -1.688525199890137E+00, -2.020093202590942E+00/) + + hidden1Synapse = reshape((/ & + -3.217298686504364E-01, -1.535140275955200E-01, -9.374593496322632E-01, -3.773699328303337E-02,& + -7.610699534416199E-01, 1.124547328799963E-03, 7.987623810768127E-01, 5.171887874603271E-01,& + 1.182283610105515E-01, 1.252476930618286E+00, -2.393243610858917E-01, 8.846385776996613E-02,& + 4.983871877193451E-01, -1.072657704353333E+00, -5.902777314186096E-01, 3.053096830844879E-01,& + -1.245228290557861E+00, -9.408684819936752E-02, -1.261333227157593E+00, 7.626018673181534E-02,& + -3.566111624240875E-01, -2.651087939739227E-01, 5.490935966372490E-02, -1.231116533279419E+00,& + -3.552156984806061E-01, -4.995369017124176E-01, -1.970071047544479E-01, 6.921592950820923E-01,& + -7.216929793357849E-01, -3.322352096438408E-02, -1.040984153747559E+00, -2.749272584915161E-01,& + -3.936901688575745E-01, -5.485629439353943E-01, 2.315377295017242E-01, 3.925201594829559E-01,& + 2.289973348379135E-01, 9.091649055480957E-01, -2.400987595319748E-01, 2.274930775165558E-01,& + 7.657364010810852E-01, -4.531333744525909E-01, -3.045647442340851E-01, -1.612837314605713E-01,& + -6.530205607414246E-01, 6.988145411014557E-02, -3.664937913417816E-01, -1.209497332572937E+00,& + 1.716423481702805E-01, 2.888691425323486E-01, -6.977611780166626E-01, 1.001697182655334E+00,& + -3.773393929004669E-01, -3.817198425531387E-02, 3.071420192718506E-01, -1.018374800682068E+00,& + -3.812201619148254E-01, 2.521711289882660E-01, -1.311386704444885E+00, -4.305998682975769E-01,& + -2.096824795007706E-01, -6.536886692047119E-01, 9.946095943450928E-02, -8.006195425987244E-01,& + 6.314782798290253E-02, -9.162106513977051E-01, 1.249427199363708E-01, -1.967987567186356E-01,& + -2.837883234024048E-01, 4.405716657638550E-01, 7.357195615768433E-01, 2.873047888278961E-01,& + 7.006355524063110E-01, -2.267676740884781E-01, 1.684177815914154E-01, 2.451081871986389E-01,& + -6.897705197334290E-01, -1.359052062034607E-01, -1.217865824699402E+00, 6.268809437751770E-01,& + -1.108817100524902E+00, -1.098538115620613E-01, 6.363938003778458E-02, -2.163156747817993E+00,& + 2.993230819702148E-01, -6.225543469190598E-02, 6.338689923286438E-01, 2.340336740016937E-01,& + 3.334980309009552E-01, 5.768545866012573E-01, -8.454492688179016E-01, -7.557854652404785E-01,& + -6.227542161941528E-01, -1.105716824531555E+00, 2.116404175758362E-01, -2.117430865764618E-01,& + -1.036560058593750E+00, -1.257222741842270E-01, 5.264365077018738E-01, -1.787502527236938E+00,& + -6.102513074874878E-01, -1.036811590194702E+00, -1.041777491569519E+00, 6.762499362230301E-02,& + -1.829331994056702E+00, -1.342972517013550E-01, 2.181535959243774E+00, 7.125011086463928E-01,& + 9.849542975425720E-01, 4.515964090824127E-01, -5.667360424995422E-01, 1.371907234191895E+00,& + 4.193291962146759E-01, -4.483173191547394E-01, 1.056447148323059E+00, -4.035096466541290E-01,& + 2.473213225603104E-01, 4.283659458160400E-01, -1.105738878250122E+00, -3.882422149181366E-01,& + 1.359030008316040E-01, -1.316889882087708E+00, 1.206199750304222E-01, -2.816296517848969E-01,& + -3.856543898582458E-01, -1.341159194707870E-01, 2.931591272354126E-01, -8.115946650505066E-01,& + 1.549627929925919E-01, -3.494594991207123E-02, 1.392071247100830E-01, 8.500702381134033E-01,& + -1.105314135551453E+00, -8.855208158493042E-01, -1.129539161920547E-01, -7.288187742233276E-01,& + 2.031663209199905E-01, -2.040854692459106E-01, -2.651244997978210E-01, 6.747405529022217E-01,& + 6.289814710617065E-01, 3.702930510044098E-01, 8.955963253974915E-01, -1.791490912437439E-01,& + 6.291658878326416E-01, 3.181912600994110E-01, -7.458741664886475E-01, -5.797970294952393E-01,& + 8.048549294471741E-03, -1.517996788024902E+00, 1.586797833442688E-02, -1.968807131052017E-01,& + -6.696819067001343E-01, 2.561997175216675E-01, 1.585537791252136E-01, -3.939553797245026E-01,& + 1.001605153083801E+00, -3.178015723824501E-02, 2.169712930917740E-01, 7.597719430923462E-01,& + -8.711787462234497E-01, -2.590858340263367E-01, -4.994206726551056E-01, -1.350332260131836E+00,& + -1.754350513219833E-01, -5.298053622245789E-01, -1.044484019279480E+00, -5.103482306003571E-02,& + 8.845404386520386E-01, 4.584137201309204E-01, 1.076861619949341E+00, 1.874905377626419E-01,& + 2.787777185440063E-01, 8.369036912918091E-01, -8.217707276344299E-01, -2.826712131500244E-01,& + -2.450734227895737E-01, -8.279343843460083E-01, 3.510917425155640E-01, -3.488889932632446E-01,& + -7.627615332603455E-01, 3.606846034526825E-01, 5.258455872535706E-01, -5.099301040172577E-02,& + 6.352093815803528E-01, -1.835833787918091E-01, 1.247637987136841E+00, 5.917957425117493E-01,& + 1.019452288746834E-01, -5.673841834068298E-01, 1.377126276493073E-01, -1.055184245109558E+00,& + -2.036373913288116E-01, -6.316062808036804E-01, -3.354403078556061E-01, 3.826665878295898E-01,& + -6.721435189247131E-01, -6.410418748855591E-01, -1.417969822883606E+00, -8.955898880958557E-02,& + -6.617363095283508E-01, -6.313887238502502E-01, 1.284139454364777E-01, -7.438000291585922E-02,& + 3.091568231582642E+00, 8.395515084266663E-01, 7.227233052253723E-01, 8.192335367202759E-01,& + -2.106423974037170E-01, 2.122008800506592E+00, 7.060149908065796E-01, 3.394779860973358E-01,& + 6.117095947265625E-01, -3.271679580211639E-01, 1.616740077733994E-01, 1.569840312004089E-01,& + -1.123665213584900E+00, 3.844760954380035E-01, 2.845884263515472E-01, 7.137780785560608E-01,& + 1.460106819868088E-01, -1.021391227841377E-01, 5.172263383865356E-01, -7.423986196517944E-01,& + -2.789774909615517E-02, -1.258952766656876E-01, -1.325458526611328E+00, -5.270438194274902E-01,& + -3.967397287487984E-02, -2.709308564662933E-01, 1.340401768684387E-01, -6.963784694671631E-01,& + -3.221498429775238E-01, -8.531031608581543E-01, 3.377375304698944E-01, 1.652107536792755E-01,& + -3.512997031211853E-01, -1.630981415510178E-01, 3.690161705017090E-01, 1.549807284027338E-02,& + 1.193455934524536E+00, 2.675475478172302E-01, 3.856497108936310E-01, 9.223973155021667E-01,& + -8.005780726671219E-02, 7.949089407920837E-01, 1.678814589977264E-01, 5.589793920516968E-01,& + -2.890521883964539E-01, -6.459630280733109E-02, 1.577395349740982E-01, -6.019581556320190E-01,& + 1.361452788114548E-01, -1.461234450340271E+00, 2.132855653762817E-01, -7.116237878799438E-01,& + -1.837224513292313E-01, 6.981704831123352E-01, -1.456485867500305E+00, -8.896524459123611E-02,& + -6.985316872596741E-01, -9.188821911811829E-01, -1.798982769250870E-01, -3.445543348789215E-01,& + -9.767906665802002E-01, 6.575983762741089E-01, -5.698328614234924E-01, 2.794421613216400E-01,& + -9.889149665832520E-01, 2.113757282495499E-01, -4.894487261772156E-01, -9.110729694366455E-01,& + 3.156659901142120E-01, -8.372070193290710E-01, 1.710339263081551E-02, -7.162731885910034E-01,& + -9.848624467849731E-02, -2.407071143388748E-01, -4.630023241043091E-01, 5.028110146522522E-01 & + /), shape(hidden1Synapse)) + + outputSynapse = reshape((/ & + -1.209702730178833E+00, 1.183213353157043E+00, -1.019356846809387E+00, -1.344744205474854E+00,& + -1.445307731628418E+00, 1.024327754974365E+00, -1.584630727767944E+00, 1.083521246910095E+00,& + -1.308865427970886E+00, -1.247952342033386E+00, 1.239847064018250E+00, 1.287056356668472E-01,& + 9.846584796905518E-01, -1.553632378578186E+00, -1.231866717338562E+00, 4.489912092685699E-02,& + 1.253254055976868E+00, -1.430614471435547E+00, 1.041161060333252E+00, -1.605084300041199E+00,& + 1.527578949928284E+00, -1.474965572357178E+00, 1.355290770530701E+00, -1.745877861976624E+00,& + 1.712602972984314E+00, -1.563431382179260E+00, 8.333104252815247E-01, -1.541154265403748E+00,& + -1.556280970573425E+00, 7.898001670837402E-01, 1.451943874359131E+00, 1.376102089881897E+00,& + -1.475358963012695E+00, -1.508958697319031E+00, 1.723131775856018E+00, 1.577485084533691E+00,& + 2.009120136499405E-01, -1.543342947959900E+00, -1.532042622566223E+00, -1.665173649787903E+00,& + -1.577844977378845E+00, 1.509271860122681E+00, -1.648273229598999E+00, -1.399203181266785E+00,& + -1.230364322662354E+00, 1.090018987655640E+00, -7.097014784812927E-01, 1.677408456802368E+00,& + -1.743194699287415E+00, -1.423129081726074E+00, 7.856354713439941E-01, 1.262704372406006E+00,& + 1.029602646827698E+00, -8.157435655593872E-01, -1.168590903282166E+00, -1.007120013237000E+00,& + 1.498046159744263E+00, -1.094031929969788E+00, 1.288908720016479E+00, -1.570232629776001E+00,& + 1.331548571586609E+00, -1.591911792755127E+00, 1.173869848251343E+00, -1.569446206092834E+00,& + 1.071457147598267E+00, -1.386015534400940E+00, 1.319629669189453E+00, -1.251965403556824E+00,& + -1.506981730461121E+00, -5.631150603294373E-01, 1.476744890213013E+00, 1.224819302558899E+00,& + -1.190375804901123E+00, -4.876171946525574E-01, 1.674062848091125E+00, 1.343202710151672E+00,& + 8.375900387763977E-01, -1.624152183532715E+00, -1.477828741073608E+00, -1.320914030075073E+00,& + -1.082759499549866E+00, 1.309733152389526E+00, -5.913071632385254E-01, -1.292264103889465E+00,& + -1.440814852714539E+00, 1.020094513893127E+00, -1.208431601524353E+00, 1.691915869712830E+00,& + -1.277797341346741E+00, -1.482174158096313E+00, 1.266713261604309E+00, 1.296367645263672E+00,& + 1.238657712936401E+00, -7.025628685951233E-01, 2.491326481103897E-01, -1.536825418472290E+00,& + 1.577931523323059E+00, -1.065637469291687E+00, 1.696800708770752E+00, -1.695444345474243E+00,& + 1.581656932830811E+00, -1.088520646095276E+00, 1.492973804473877E+00, -1.063908934593201E+00,& + 1.496415257453918E+00, -1.486176609992981E+00, 6.039925217628479E-01, -1.485497832298279E+00,& + -1.147870540618896E+00, -1.266431331634521E+00, 1.607187867164612E+00, 1.494379520416260E+00,& + -1.001191616058350E+00, -1.084854602813721E+00, 1.410489916801453E+00, 1.581320643424988E+00,& + 1.205576062202454E+00, -1.245357394218445E+00, -1.343545675277710E+00, -1.709581851959229E+00 & + /), shape(outputSynapse)) + + END SUBROUTINE Breadboard4 +! +!------------------------------------------------------------------------------ +! + SUBROUTINE Breadboard5(inputFile,hidden1Axon,hidden1Synapse,outputSynapse) + + implicit none + + real inputFile(2,7) + real hidden1Axon(40) + real hidden1Synapse(7,40) + real outputSynapse(40,3) + + inputFile = reshape((/ & + 1.077844262123108E+00, -1.778443008661270E-01,& + 2.188449800014496E-01, 1.674167998135090E-02,& + 1.918158382177353E-01, 6.903452277183533E-01,& + 3.361344337463379E-01, 4.151264205574989E-02,& + 2.485501170158386E-01, 2.868268489837646E-01,& + 1.839550286531448E-01, 3.534696102142334E-01,& + 1.951007992029190E-01, -4.725341200828552E-01 & + /), shape(inputFile)) + + hidden1Axon = & + (/3.177257776260376E-01, -3.444353640079498E-01, 5.270494818687439E-01, -5.221590399742126E-01,& + -2.202716171741486E-01, -4.241476655006409E-01, 2.620704658329487E-02, 6.034846901893616E-01,& + -3.619376122951508E-01, -3.380794525146484E-01, 4.901479184627533E-02, 4.951947927474976E-02,& + 1.800213754177094E-01, -2.407073378562927E-01, -3.286456167697906E-01, -6.795548200607300E-01,& + -5.868792533874512E-01, -3.454326987266541E-01, 1.429300457239151E-01, -2.292728424072266E-01,& + 4.302643239498138E-01, -2.324737906455994E-01, -4.539224207401276E-01, 5.544423460960388E-01,& + -4.054053127765656E-01, -1.476568281650543E-01, -2.141656428575516E-01, 1.077265888452530E-01,& + 5.846756696701050E-01, 3.272875547409058E-01, 1.847147941589355E-03, -4.990870654582977E-01,& + 1.531988829374313E-01, 1.791626960039139E-01, -6.736395359039307E-01, -5.093495845794678E-01,& + -6.099227815866470E-02, 3.861090838909149E-01, -6.592265367507935E-01, -2.490588128566742E-01/) + + hidden1Synapse = reshape((/ & + 3.541271016001701E-02, -7.549672126770020E-01, -4.738137125968933E-01, -2.348672598600388E-03,& + -2.733762562274933E-01, -8.357829414308071E-03, -8.771334886550903E-01, -2.402636408805847E-01,& + -3.840126693248749E-01, -5.802615284919739E-01, 1.073393039405346E-03, -2.714654207229614E-01,& + -1.682563573122025E-01, 2.412795424461365E-01, 6.722061038017273E-01, -2.907541096210480E-01,& + 1.961677670478821E-01, -3.303197622299194E-01, 1.424128562211990E-01, 5.971218943595886E-01,& + -3.415485620498657E-01, -3.709296286106110E-01, 2.636498510837555E-01, -6.461778879165649E-01,& + -4.282482266426086E-01, -1.192058548331261E-01, -7.758595943450928E-01, -4.671352729201317E-02,& + -2.137460708618164E-01, -1.528403162956238E-02, -7.986806631088257E-01, -3.911508247256279E-02,& + -5.328277871012688E-02, -6.519866585731506E-01, 3.402085006237030E-01, 1.100756451487541E-01,& + 6.820629835128784E-01, 7.288114726543427E-02, 2.484970390796661E-01, -1.383271068334579E-01,& + 1.246754452586174E-01, 6.508666276931763E-01, 3.158373534679413E-01, -5.986170172691345E-01,& + 6.103343367576599E-01, -6.012113094329834E-01, -1.359632611274719E-01, -2.586761862039566E-02,& + -4.111338853836060E-01, 1.772232651710510E-01, -6.230232119560242E-01, 3.960133790969849E-01,& + -6.472764015197754E-01, -3.764366805553436E-01, -9.892498701810837E-02, -9.984154999256134E-02,& + -4.294761717319489E-01, -2.304461598396301E-01, -7.071238160133362E-01, -4.068204462528229E-01,& + -4.626799225807190E-01, -3.020684123039246E-01, 6.521416902542114E-01, 1.521919965744019E-01,& + -7.091572284698486E-01, -4.207086861133575E-01, -5.045717954635620E-01, -3.018378615379333E-01,& + -4.485827982425690E-01, -5.111956596374512E-01, -8.567054569721222E-02, 4.856635630130768E-01,& + 2.459491789340973E-01, -1.496585756540298E-01, -1.183001995086670E-01, 4.713786244392395E-01,& + -2.809847891330719E-01, 8.547450602054596E-02, -3.530589640140533E-01, -7.254429459571838E-01,& + -1.860966980457306E-01, -6.639543771743774E-01, 4.769657552242279E-01, -7.412918210029602E-01,& + 3.024796843528748E-01, -6.272576451301575E-01, -5.452296733856201E-01, -2.242822349071503E-01,& + -3.738160133361816E-01, 3.284691274166107E-01, -4.564896821975708E-01, 2.556349933147430E-01,& + 4.318492487072945E-02, -1.320876032114029E-01, -9.898099303245544E-02, 6.774403899908066E-02,& + 1.919083893299103E-01, 2.400640696287155E-01, 4.077304899692535E-01, 2.524036169052124E-01,& + 5.042297840118408E-01, 2.886471152305603E-01, -1.700776815414429E-01, -2.435589283704758E-01,& + -2.057165205478668E-01, 1.996059715747833E-01, 2.711705565452576E-01, 3.861612975597382E-01,& + -2.083975523710251E-01, 7.296724617481232E-02, -2.396509945392609E-01, -1.525006294250488E-01,& + -4.502384066581726E-01, -5.351938009262085E-01, -3.890139460563660E-01, 1.700514107942581E-01,& + -4.677065312862396E-01, -3.514041006565094E-01, 4.196007549762726E-01, 2.812465429306030E-01,& + -2.938374876976013E-01, -3.160441517829895E-01, -4.980419874191284E-01, 3.127529323101044E-01,& + 2.271771281957626E-01, -1.466843336820602E-01, -6.397774219512939E-01, 4.446669816970825E-01,& + 8.942086249589920E-02, 9.681937843561172E-02, -5.533168092370033E-02, -4.528337121009827E-01,& + 6.882410049438477E-01, -3.133308887481689E-01, -2.058080136775970E-01, -2.226170003414154E-01,& + -2.296325266361237E-01, -2.966837584972382E-01, -3.301460444927216E-01, -3.557955026626587E-01,& + 3.304032683372498E-01, -8.399857580661774E-02, 4.199078381061554E-01, 1.194518618285656E-02,& + 7.232509851455688E-01, 9.784302115440369E-02, -1.134829670190811E-01, 1.034526005387306E-01,& + -8.523296117782593E-01, 5.190717577934265E-01, 5.323929339647293E-02, 1.697375029325485E-01,& + 5.581731796264648E-01, -9.171869754791260E-01, -1.815564483404160E-01, 3.742720186710358E-01,& + -2.523972094058990E-01, 1.490504741668701E-01, -6.334505081176758E-01, 2.519290745258331E-01,& + 2.056387513875961E-01, -1.307390183210373E-01, -9.355121254920959E-01, -2.585434913635254E-01,& + -4.636541008949280E-02, -1.257960349321365E-01, 1.712975054979324E-01, -7.756385207176208E-01,& + -2.476336807012558E-01, 2.972539961338043E-01, 4.443784654140472E-01, 4.029458761215210E-02,& + -2.695891633629799E-02, -1.858536303043365E-01, -1.682455986738205E-01, -1.443968862295151E-01,& + 3.042537868022919E-01, -4.171138703823090E-01, -1.896526068449020E-01, 1.934753060340881E-01,& + -5.211362838745117E-01, -4.224704951047897E-02, -5.408123731613159E-01, -2.546814382076263E-01,& + -3.727044463157654E-01, -4.361395835876465E-01, 1.507636755704880E-01, 8.203987777233124E-02,& + 1.366124451160431E-01, 5.710709095001221E-01, 3.028809726238251E-01, 9.636782407760620E-01,& + -3.770071640610695E-02, 3.973050415515900E-01, 2.884645946323872E-03, -8.364310860633850E-01,& + 5.341901779174805E-01, -1.418879022821784E-03, 5.416565537452698E-01, 3.877540528774261E-01,& + -1.585132908076048E-03, 1.770619601011276E-01, 4.701207578182220E-02, 4.187163114547729E-01,& + 9.934148788452148E-01, 2.260543704032898E-01, 7.113759517669678E-01, 4.728879332542419E-01,& + -3.471966087818146E-01, 7.732371240854263E-02, -2.182047963142395E-01, 8.698941469192505E-01,& + 6.959328651428223E-01, 1.184082403779030E-01, 1.408587545156479E-01, 2.005882859230042E-01,& + 3.091167509555817E-01, -1.955157965421677E-01, -2.792426571249962E-02, -7.336559891700745E-02,& + 1.834385395050049E-01, -3.164150416851044E-01, -5.837532281875610E-01, 9.843266010284424E-01,& + -5.053303837776184E-01, 9.432902336120605E-01, 2.762463316321373E-02, 3.678649663925171E-01,& + -8.084134012460709E-02, 2.041484862565994E-01, 5.061163306236267E-01, 7.991071939468384E-01,& + 2.264233529567719E-01, 7.115226387977600E-01, -5.186138153076172E-01, 4.093891084194183E-01,& + -1.001899018883705E-01, -1.933344826102257E-02, 1.815729439258575E-01, -1.810713559389114E-01,& + -5.504883527755737E-01, 7.005249857902527E-01, -1.967341639101505E-02, 1.448700390756130E-02,& + 3.791421651840210E-01, -3.687309324741364E-01, 6.238684058189392E-01, 2.549594640731812E-02,& + 6.611171960830688E-01, -2.348230034112930E-01, 4.087108075618744E-01, 1.835047304630280E-01,& + 2.745413780212402E-01, -5.477424860000610E-01, 4.227129369974136E-02, 1.370747834444046E-01,& + -1.771535575389862E-01, 2.915630638599396E-01, 8.117929100990295E-02, -5.147354602813721E-01,& + -7.195407748222351E-01, -2.950702905654907E-01, -8.272841572761536E-01, -8.926602080464363E-03,& + 6.488984823226929E-01, -7.542604207992554E-01, -1.718278229236603E-01, -4.908424615859985E-02,& + -3.619753718376160E-01, -9.747832268476486E-02, -9.625122696161270E-02, -1.545960754156113E-01,& + 4.842050671577454E-01, -9.618758410215378E-02, 1.017526090145111E-01, -1.527849882841110E-01,& + 5.150741338729858E-01, -2.614658325910568E-02, -4.681808650493622E-01, 6.698484718799591E-02 & + /), shape(hidden1Synapse)) + + outputSynapse = reshape((/ & + -4.252142608165741E-01, -5.190939903259277E-01, 2.900628745555878E-01, -4.749988615512848E-01,& + -2.432068884372711E-01, 2.475018054246902E-01, 1.508098654448986E-02, -1.032671928405762E-01,& + -5.695398449897766E-01, -4.341589808464050E-01, 3.563072979450226E-01, -1.610363721847534E-01,& + -1.529531776905060E-01, 3.572074323892593E-02, -1.639768481254578E-01, -2.103261351585388E-01,& + -5.111085772514343E-01, -9.769214689731598E-02, -1.570120900869370E-01, -1.928524225950241E-01,& + 4.143640100955963E-01, -3.950143232941628E-02, -2.028328180313110E-01, -1.475265175104141E-01,& + -2.296919003129005E-02, -3.979336936026812E-03, -3.908852040767670E-01, 4.192969501018524E-01,& + 2.397747188806534E-01, 4.962041378021240E-01, 4.480696618556976E-01, -2.336141020059586E-01,& + 3.938802778720856E-01, 2.352581322193146E-01, 1.772783696651459E-02, -5.289353057742119E-02,& + -3.967223316431046E-02, -4.341553747653961E-01, -2.162312269210815E-01, 4.311326891183853E-02,& + 4.480128586292267E-01, 1.783114373683929E-01, 5.068565607070923E-01, -4.451447725296021E-01,& + -5.096289515495300E-01, -4.807172119617462E-01, 1.144711822271347E-01, 3.887178003787994E-01,& + -3.575057387351990E-01, -1.148879528045654E-01, -3.399987518787384E-02, -2.313354164361954E-01,& + -7.217752188444138E-02, 3.657472431659698E-01, 3.738324940204620E-01, 4.177713990211487E-01,& + -4.159389436244965E-01, -1.484509706497192E-01, 2.662932872772217E-01, -4.467738270759583E-01,& + 7.071519643068314E-02, 3.344006240367889E-01, -5.436876043677330E-02, 3.525221049785614E-01,& + -2.395160868763924E-02, -3.141686320304871E-01, 3.852373957633972E-01, 4.932067096233368E-01,& + -1.492380946874619E-01, 4.595996737480164E-01, 3.445216640830040E-02, -5.653984546661377E-01,& + -4.437799155712128E-01, 1.460446715354919E-01, -4.742037057876587E-01, 1.456019878387451E-01,& + 3.867210447788239E-01, 4.871259629726410E-01, -4.954726397991180E-01, 1.770049333572388E-02,& + 2.028178423643112E-01, -3.220860958099365E-01, 2.971330881118774E-01, -1.783177554607391E-01,& + -2.126741260290146E-01, -2.823735475540161E-01, 4.713099896907806E-01, 2.155631184577942E-01,& + -3.713304102420807E-01, 2.199546098709106E-01, 2.943331003189087E-01, 4.534626007080078E-01,& + 3.414066731929779E-01, -1.535274535417557E-01, -1.036400645971298E-01, -4.483501911163330E-01,& + 8.723334968090057E-02, -1.368855964392424E-02, -5.010653138160706E-01, 4.472654759883881E-01,& + 1.106471717357635E-01, 5.139253139495850E-01, -2.296521663665771E-01, 4.545788764953613E-01,& + 1.664130948483944E-02, 2.438283525407314E-02, -1.943250745534897E-01, 4.952348470687866E-01,& + 3.839295804500580E-01, -3.456721901893616E-01, -1.650201976299286E-01, -3.892767727375031E-01,& + -3.154349029064178E-01, 3.591218292713165E-01, -2.804268598556519E-01, -4.606449007987976E-01,& + 1.020256653428078E-01, 2.229744791984558E-01, -4.180959761142731E-01, -4.198006689548492E-01 & + /), shape(outputSynapse)) + + END SUBROUTINE Breadboard5 +! +!------------------------------------------------------------------------------ +! + SUBROUTINE Breadboard6(inputFile,hidden1Axon,hidden2Axon,& + hidden1Synapse,hidden2Synapse,outputSynapse) + + implicit none + + real inputFile(2,7) + real hidden1Axon(7) + real hidden2Axon(4) + real hidden1Synapse(7,7) + real hidden2Synapse(7,4) + real outputSynapse(4,3) + + inputFile = reshape((/ & + 1.353383421897888E+00, -4.533834457397461E-01,& + 2.269289046525955E-01, -1.588500849902630E-02,& + 1.868382692337036E-01, 6.490761637687683E-01,& + 4.038590788841248E-01, 3.776083141565323E-02,& + 2.430133521556854E-01, 3.004860281944275E-01,& + 1.935067623853683E-01, 4.185551702976227E-01,& + 1.951007992029190E-01, -4.725341200828552E-01 & + /), shape(inputFile)) + + hidden1Axon = & + (/ 7.384125608950853E-03, -2.202851057052612E+00, 2.003432661294937E-01, -2.467587143182755E-01,& + 5.973502993583679E-01, 3.834692537784576E-01, 2.687855064868927E-01/) + + hidden2Axon = & + (/ 3.643750846385956E-01, 2.449363768100739E-01, 4.754272103309631E-01, 7.550075054168701E-01/) + + hidden1Synapse = reshape((/ & + 7.333400845527649E-01, 5.450296998023987E-01, -7.700046896934509E-01, 1.426693439483643E+00,& + -1.024212338961661E-03, -6.459779292345047E-02, 1.028800487518311E+00, -2.116347402334213E-01,& + 3.591781139373779E+00, 2.435753583908081E+00, -6.687584519386292E-01, 1.201278567314148E+00,& + -3.478864133358002E-01, 1.830960988998413E+00, -3.111673295497894E-01, -4.177703261375427E-01,& + -3.920616805553436E-01, -5.040770769119263E-01, -5.354442000389099E-01, -1.534618530422449E-02,& + -1.089364647865295E+00, -3.010036647319794E-01, 1.486289381980896E+00, 1.059559464454651E+00,& + 1.640596628189087E+00, 2.254628390073776E-01, 4.839954376220703E-01, 8.484285473823547E-01,& + -6.926012784242630E-02, 4.926209524273872E-02, 2.834132313728333E-01, 3.028324842453003E-01,& + 2.161216735839844E-01, 7.251360416412354E-01, 2.851752638816833E-01, -5.653074979782104E-01,& + 3.640621304512024E-01, 1.341893225908279E-01, 7.511208057403564E-01, -1.088509336113930E-01,& + 1.044083759188652E-01, 6.529347300529480E-01, -6.885128021240234E-01, -1.003871187567711E-01,& + 9.337020665407181E-02, -4.425194561481476E-01, -3.668845295906067E-01, -2.661575675010681E-01,& + -5.936880707740784E-01 & + /), shape(hidden1Synapse)) + + hidden2Synapse = reshape((/ & + -5.461466908454895E-01, -1.490996479988098E+00, 7.721499800682068E-01, -3.842977285385132E-01,& + 1.134691461920738E-01, -7.171064615249634E-01, 4.990165829658508E-01, -4.233781099319458E-01,& + 5.502462983131409E-01, -1.000102013349533E-01, 1.481512188911438E+00, 1.637827455997467E-01,& + 5.879161506891251E-02, -3.256742060184479E-01, 4.237195849418640E-01, 1.471476674079895E+00,& + -1.982609331607819E-01, 6.787789463996887E-01, 5.525223612785339E-01, 4.395257532596588E-01,& + 1.643348783254623E-01, 8.910947442054749E-01, 1.772162079811096E+00, -2.550726830959320E-01,& + 4.305597543716431E-01, 1.965346336364746E-01, -2.251276820898056E-01, -5.650298595428467E-01 & + /), shape(hidden2Synapse)) + + outputSynapse = reshape((/ & + 4.605286195874214E-02, 1.636024713516235E-01, 7.045555710792542E-01, 4.994805455207825E-01,& + 5.167593955993652E-01, 2.924540340900421E-01, -1.490857079625130E-02, -1.826021969318390E-01,& + 3.571106493473053E-01, -3.790216147899628E-01, -6.031348705291748E-01, -4.664786159992218E-01 & + /), shape(outputSynapse)) + + END SUBROUTINE Breadboard6 +! +!------------------------------------------------------------------------------ +! + SUBROUTINE Breadboard7(inputFile,hidden1Axon,hidden2Axon,& + hidden1Synapse,hidden2Synapse,outputSynapse) + + implicit none + + real inputFile(2,7) + real hidden1Axon(7) + real hidden2Axon(4) + real hidden1Synapse(7,7) + real hidden2Synapse(7,4) + real outputSynapse(4,3) + + inputFile = reshape((/ & + 1.077844262123108E+00, -1.778443008661270E-01,& + 2.295625507831573E-01, 6.163756549358368E-02,& + 2.081165313720703E-01, 6.204994320869446E-01,& + 3.565062582492828E-01, -1.051693689078093E-02,& + 2.430133521556854E-01, 3.004860281944275E-01,& + 1.839550286531448E-01, 3.534696102142334E-01,& + 1.951007992029190E-01, -4.725341200828552E-01 & + /), shape(inputFile)) + + hidden1Axon = & + (/-4.191969335079193E-01, 1.229978561401367E+00, -2.403785735368729E-01, 5.233071446418762E-01,& + 8.062141537666321E-01, 1.000604867935181E+00, -1.015548110008240E-01/) + + hidden2Axon = & + (/-5.321261882781982E-01, -2.396449327468872E+00, -1.170158505439758E+00, -4.097367227077484E-01/) + + hidden1Synapse = reshape((/ & + 1.341468811035156E+00, -4.215665817260742E+00, -1.636691570281982E+00, -2.792109727859497E+00,& + -1.489341259002686E+00, 4.075187742710114E-01, -2.091729402542114E+00, -5.029736161231995E-01,& + -4.151493072509766E+00, -1.452428579330444E+00, 2.398953676223755E+00, -8.748555183410645E-01,& + 1.340690374374390E+00, -2.277854681015015E+00, 6.057588458061218E-01, 1.353034019470215E+00,& + -1.214678883552551E+00, -3.864320814609528E-01, 1.148570895195007E+00, 5.792776346206665E-01,& + 1.344245020300150E-02, -8.885311484336853E-01, -1.594583272933960E+00, 4.960928857326508E-01,& + -1.118881464004517E+00, -2.252289772033691E+00, 6.328870654106140E-01, -1.946701169013977E+00,& + -2.910976111888885E-01, 2.447998225688934E-01, 2.001658976078033E-01, -1.229660585522652E-02,& + 6.969845890998840E-01, -5.897524300962687E-03, -5.688555836677551E-01, 2.619750201702118E-01,& + -4.162483692169189E+00, -1.468571424484253E+00, -3.118389844894409E+00, 6.947994828224182E-01,& + -2.687734663486481E-01, -2.110401153564453E+00, 3.224660456180573E-02, 8.378994464874268E-01,& + 9.896742701530457E-01, -7.354493737220764E-01, 6.684727072715759E-01, 1.465887904167175E+00,& + -3.726872503757477E-01 & + /), shape(hidden1Synapse)) + + hidden2Synapse = reshape((/ & + -3.395457863807678E-01, -5.815528631210327E-01, 2.929831743240356E-01, -5.629656314849854E-01,& + 4.701104387640953E-02, -9.300172328948975E-01, -1.461120098829269E-01, -3.458845615386963E-01,& + 1.266251802444458E-01, 6.342335790395737E-02, 1.869771480560303E-01, -1.476681977510452E-01,& + 5.144428834319115E-02, -3.145390946883708E-04, 8.697064518928528E-01, 1.057970225811005E-01,& + 2.603019773960114E-01, 4.393529295921326E-01, -2.832717299461365E-01, 5.771816968917847E-01,& + -3.896601796150208E-01, -7.260112762451172E-01, -7.957320213317871E-01, 6.776907294988632E-02,& + -3.073690235614777E-01, -1.540119051933289E-01, -6.733091473579407E-01, 2.009786069393158E-01 & + /), shape(hidden2Synapse)) + + outputSynapse = reshape((/ & + 3.156347572803497E-01, -8.236174583435059E-01, -9.946570396423340E-01, 4.212915897369385E-01,& + -7.918102145195007E-01, -2.033229321241379E-01, -1.056663155555725E+00, -5.699685215950012E-01,& + -9.666987657546997E-01, -5.505290031433105E-01, 8.724089711904526E-02, -9.536570906639099E-01 & + /), shape(outputSynapse)) + + END SUBROUTINE Breadboard7 +! +!------------------------------------------------------------------------------ +! + SUBROUTINE Breadboard8(inputFile,hidden1Axon,hidden2Axon,& + hidden1Synapse,hidden2Synapse,outputSynapse) + + implicit none + + real inputFile(2,7) + real hidden1Axon(7) + real hidden2Axon(4) + real hidden1Synapse(7,7) + real hidden2Synapse(7,4) + real outputSynapse(4,3) + + inputFile = reshape((/ & + 1.353383421897888E+00, -4.533834457397461E-01,& + 2.188449800014496E-01, 1.674167998135090E-02,& + 1.906577646732330E-01, 6.807435750961304E-01,& + 3.361344337463379E-01, 4.151264205574989E-02,& + 2.491349428892136E-01, 3.307266235351562E-01,& + 1.839550286531448E-01, 3.534696102142334E-01,& + 1.951007992029190E-01, -4.725341200828552E-01 & + /), shape(inputFile)) + + hidden1Axon = & + (/-3.274627029895782E-01, 2.668272238224745E-03, -3.019839525222778E-01, -4.557206928730011E-01,& + -5.515558272600174E-02, 3.119016764685512E-04, 8.753398060798645E-02/) + + hidden2Axon = & + (/ 2.733168303966522E-01, -3.423235416412354E-01, 8.666662573814392E-01, -6.124708056449890E-01/) + + hidden1Synapse = reshape((/ & + 2.732226848602295E-01, 1.847893238067627E+00, -1.084923520684242E-01, 1.385403037071228E+00,& + 2.885355055332184E-01, -3.135629594326019E-01, 1.057805895805359E+00, -5.868541821837425E-02,& + 3.278825521469116E+00, 4.641786217689514E-01, 4.461606740951538E-01, -1.952850073575974E-01,& + -5.789646506309509E-01, 1.945697903633118E+00, -9.578172862529755E-02, 2.150904417037964E+00,& + 9.114052653312683E-01, 1.107189536094666E+00, 6.752110123634338E-01, 2.475811988115311E-01,& + 1.050705909729004E+00, 3.205673992633820E-01, 2.478840798139572E-01, -5.084273815155029E-01,& + -2.407394796609879E-01, -1.702371835708618E-01, 1.456947028636932E-01, 3.221787512302399E-01,& + -2.719256579875946E-01, -5.116361379623413E-01, 3.973563387989998E-02, -1.733802706003189E-01,& + -1.649789661169052E-01, -4.471102654933929E-01, -4.071239829063416E-01, -1.492276042699814E-01,& + -1.245773434638977E+00, -6.851593255996704E-01, -8.733592033386230E-01, -4.348643422126770E-01,& + -3.520536422729492E-01, -9.930510520935059E-01, 1.956800930202007E-02, -9.781590104103088E-01,& + -6.039583683013916E-01, -6.923800706863403E-01, -6.682770848274231E-01, 4.162513464689255E-02,& + -1.004322052001953E+00 & + /), shape(hidden1Synapse)) + + hidden2Synapse = reshape((/ & + -8.183520436286926E-01, -1.621446132659912E+00, -1.045793533325195E+00, -5.855653062462807E-02,& + 4.404523968696594E-01, 7.002395391464233E-01, 2.097517400979996E-01, -9.925779700279236E-02,& + -8.263560533523560E-01, -1.043026208877563E+00, 4.524357020854950E-01, 2.231711596250534E-01,& + 8.736496567726135E-01, 8.797182440757751E-01, 6.963157653808594E-01, 2.816314399242401E-01,& + 1.525615751743317E-01, 1.936565339565277E-01, 1.900831162929535E-01, 1.180221140384674E-01,& + 1.027775928378105E-01, 9.149055480957031E-01, 1.129598617553711E+00, 6.131598353385925E-01,& + 2.547058761119843E-01, 2.556352131068707E-02, -3.627143800258636E-02, -6.722733378410339E-01 & + /), shape(hidden2Synapse)) + + outputSynapse = reshape((/ & + -5.266965627670288E-01, -1.973343640565872E-01, 1.362649053335190E-01, 9.479679167270660E-02,& + 2.987665235996246E-01, -3.116582632064819E-01, -1.842434853315353E-01, -4.986568093299866E-01,& + 6.261917948722839E-01, 5.454919338226318E-01, -3.484728187322617E-02, -4.687039256095886E-01 & + /), shape(outputSynapse)) + + END SUBROUTINE Breadboard8 +! +!------------------------------------------------------------------------------ +! + SUBROUTINE Breadboard9(inputFile,hidden1Axon,hidden2Axon,& + hidden1Synapse,hidden2Synapse,outputSynapse) + + implicit none + + real inputFile(2,7) + real hidden1Axon(7) + real hidden2Axon(4) + real hidden1Synapse(7,7) + real hidden2Synapse(7,4) + real outputSynapse(4,3) + + inputFile = reshape((/ & + 1.077844262123108E+00, -1.778443008661270E-01,& + 2.188449800014496E-01, 1.674167998135090E-02,& + 1.868382692337036E-01, 6.490761637687683E-01,& + 3.733665347099304E-01, 1.051026657223701E-01,& + 2.430133521556854E-01, 3.004860281944275E-01,& + 2.083092182874680E-01, 3.581876754760742E-01,& + 1.951007992029190E-01, -4.725341200828552E-01 & + /), shape(inputFile)) + + hidden1Axon = & + (/ 1.012814998626709E+00, -3.782782554626465E-01, -2.220184087753296E+00, -3.424299955368042E-01,& + 1.449530482292175E+00, -2.592789530754089E-01, -4.670010507106781E-01/) + + hidden2Axon = & + (/ 3.516010642051697E-01, 3.293374776840210E-01, -1.675553172826767E-01, 3.799068629741669E-01/) + + hidden1Synapse = reshape((/ & + 1.390573829412460E-01, -3.110583126544952E-01, 1.105552077293396E+00, 4.394045472145081E-01,& + 4.795211851596832E-01, 1.969023197889328E-01, 5.574952811002731E-02, 1.690310984849930E-01,& + 2.208244323730469E+00, 2.111947536468506E+00, 3.239532709121704E-01, 7.690296173095703E-01,& + 1.264077782630920E+00, 1.672740578651428E+00, 1.320844173431396E+00, 7.965675592422485E-01,& + -7.341063618659973E-01, 3.702043294906616E+00, 1.716022133827209E+00, -6.642882823944092E-01,& + 1.686427950859070E+00, -4.863217473030090E-01, 1.285641908645630E+00, 1.281449794769287E+00,& + 2.356275558471680E+00, -1.406845331192017E+00, 6.027717590332031E-01, 6.652191877365112E-01,& + -9.871492385864258E-01, -5.513690948486328E+00, -2.750334143638611E-01, 1.229651212692261E+00,& + -2.504641294479370E+00, -3.219850361347198E-01, -2.744197607040405E+00, -4.023179113864899E-01,& + 9.932321496307850E-03, -6.916724443435669E-01, -2.260914087295532E+00, 1.261568814516068E-01,& + 3.248662948608398E-01, 6.963043808937073E-01, 1.830800414085388E+00, -2.054267644882202E+00,& + -9.595731496810913E-01, -8.711494207382202E-01, -1.330682396888733E+00, 2.109736204147339E+00,& + -6.145163774490356E-01 & + /), shape(hidden1Synapse)) + + hidden2Synapse = reshape((/ & + -3.299105465412140E-01, 4.235435724258423E-01, 9.191738963127136E-01, 6.795659661293030E-01,& + -1.440919041633606E+00, 4.634908214211464E-02, -1.265781879425049E+00, 2.394487708806992E-01,& + 1.205053567886353E+00, 5.790516138076782E-01, 1.087130665779114E+00, -6.723164916038513E-01,& + -1.834900081157684E-01, -4.767680168151855E-01, 8.402896672487259E-02, 1.035530328750610E+00,& + 1.644443035125732E+00, 4.317290484905243E-01, -1.714672803878784E+00, 5.225644707679749E-01,& + -5.602287650108337E-01, 1.068559288978577E+00, -2.211284125223756E-03, -2.943626642227173E-01,& + 1.341261714696884E-01, 4.324447214603424E-01, -5.482236146926880E-01, -4.985276758670807E-01 & + /), shape(hidden2Synapse)) + + outputSynapse = reshape((/ & + 3.726457059383392E-01, 7.749153375625610E-01, 4.159255921840668E-01, 5.234625935554504E-01,& + -1.592817008495331E-01, 5.884559154510498E-01, -7.756121158599854E-01, 2.137655019760132E-01,& + -6.172903776168823E-01, -4.417923986911774E-01, -4.576872885227203E-01, 4.440903961658478E-01 & + /), shape(outputSynapse)) + + END SUBROUTINE Breadboard9 +! +!------------------------------------------------------------------------------ +! + SUBROUTINE Breadboard10(inputFile,hidden1Axon,hidden2Axon,& + hidden1Synapse,hidden2Synapse,outputSynapse) + + implicit none + + real inputFile(2,7) + real hidden1Axon(7) + real hidden2Axon(4) + real hidden1Synapse(7,7) + real hidden2Synapse(7,4) + real outputSynapse(4,3) + + inputFile = reshape((/ & + 1.077844262123108E+00, -1.778443008661270E-01,& + 2.269289046525955E-01, -1.588500849902630E-02,& + 1.906577646732330E-01, 6.807435750961304E-01,& + 3.703703582286835E-01, -4.592590779066086E-02,& + 2.611723542213440E-01, 3.901915252208710E-01,& + 1.911842674016953E-01, 4.027296602725983E-01,& + 1.951007992029190E-01, -4.725341200828552E-01 & + /), shape(inputFile)) + + hidden1Axon = & + (/ 1.307985544204712E+00, -1.960705667734146E-01, -1.105142459273338E-01, -1.207442641258240E+00,& + -1.665081620216370E+00, 1.251117825508118E+00, -7.307677268981934E-01/) + + hidden2Axon = & + (/ 2.186001092195511E-02, 3.369570672512054E-01, 1.165086925029755E-01, 2.747000660747290E-03/) + + hidden1Synapse = reshape((/ & + -3.375437259674072E-01, -3.020816326141357E+00, -1.435481071472168E+00, 1.473870635032654E+00,& + -7.776365280151367E-01, 6.734371185302734E-01, -1.643768787384033E+00, -1.227448821067810E+00,& + -7.365036606788635E-01, -4.473563134670258E-01, -5.696173906326294E-01, -2.562220990657806E-01,& + 8.557485342025757E-01, -8.057124614715576E-01, 4.266147911548615E-01, 2.171551227569580E+00,& + 3.776189982891083E-01, 5.574828386306763E-01, 3.814708292484283E-01, 2.591066062450409E-01,& + 1.959651827812195E+00, 1.003962755203247E-01, -1.228965446352959E-02, -3.882043361663818E-01,& + -2.722288109362125E-02, -3.378733694553375E-01, -7.981095314025879E-01, 4.839731752872467E-01,& + 1.432798147201538E+00, 1.885666996240616E-01, -6.051751971244812E-01, 2.924412488937378E+00,& + 1.136252880096436E+00, 2.994727194309235E-01, 1.604383468627930E+00, -8.440219759941101E-01,& + 6.088087558746338E-01, -3.722844421863556E-01, 5.441566109657288E-01, 3.944540619850159E-01,& + 7.044004201889038E-01, 3.459328413009644E-01, 1.054268121719360E+00, -3.348083496093750E+00,& + -7.199336886405945E-01, -1.489133596420288E+00, -4.090557992458344E-01, 8.203456401824951E-01,& + -1.118073821067810E+00 & + /), shape(hidden1Synapse)) + + hidden2Synapse = reshape((/ & + -6.871775984764099E-01, -1.148896694183350E+00, -2.102893590927124E-01, -5.890849828720093E-01,& + 5.899340510368347E-01, 7.098034024238586E-01, -1.422515869140625E+00, -1.206974506378174E+00,& + 4.104525446891785E-01, 3.567897081375122E-01, 2.746991515159607E-01, 1.193219542503357E+00,& + 3.167707324028015E-01, -1.222744822502136E+00, -9.918631613254547E-02, 4.355156719684601E-01,& + 2.938420772552490E-01, -1.012830615043640E+00, -1.290418803691864E-01, 7.479285597801208E-01,& + -2.292920649051666E-01, -1.372484922409058E+00, -6.534293759614229E-03, 1.525195717811584E+00,& + 2.076585590839386E-01, 1.434590101242065E+00, 7.887706905603409E-02, -1.401232123374939E+00 & + /), shape(hidden2Synapse)) + + outputSynapse = reshape((/ & + 6.101396083831787E-01, 3.122945129871368E-01, 3.869898915290833E-01, 4.438063502311707E-01,& + 5.161536335945129E-01, -2.700618803501129E-01, -3.105166740715504E-02, -5.569267272949219E-01,& + -5.549081563949585E-01, -3.867979049682617E-01, 1.623111665248871E-01, -6.052750945091248E-01 & + /), shape(outputSynapse)) + + END SUBROUTINE Breadboard10 +! +!------------------------------------------------------------------------------------- +! +!> Computes snow solid-liquid-ratio slr using the Steenburgh algorithm. +!> +!> Obtained the code and data from U of Utah Jim Steenburgh and Peter Veals. +!> SLR = m1X1 + m2X2 + m3X3 + m4X4 + m5X5 + m6X6 + b. +!> +!> X1 = wind speed at at 1km above ground level (AGL) in m/s +!> m1 = -0.174848 +!> +!> X2 = temperature at 2km AGL in Kelvin +!> m2 = -0.52644 +!> +!> X3 = wind speed at 2 km AGL in m/s +!> m3 = 0.034911 +!> +!> X4 = wind speed at 500 m AGL in m/s +!> m4 = -0.270473 +!> +!> X5 = temperature at 1 km AGL in Kelvin +!> m5 = 0.028299 +!> +!> X6 = temperature at 500 m AGL in m/s +!> m6 = 0.096273 +!> +!> b = 118.35844 +!> +!> @param[out] SLR real Solid snow to liquid ratio +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2023-01-23 | Jesse Meng | Initial +!> +!> @author Jesse Meng @date 2023-01-03 + + SUBROUTINE CALSLR_UUTAH(SLR) + + use vrbls3d, only: ZINT,ZMID,PMID,T,Q,UH,VH + use masks, only: LMH,HTM + use ctlblk_mod, only: ISTA,IEND,JSTA,JEND,ista_2l,iend_2u,jsta_2l,jend_2u,& + LM,SPVAL + + implicit none + + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(out) :: slr !slr=snod/weasd=1000./sndens + + integer, parameter :: NFL=3 + real, parameter :: HTFL(NFL)=(/ 500., 1000., 2000. /) + real,dimension(ISTA:IEND,JSTA:JEND,NFL) :: TFD,UFD,VFD + + real LHL(NFL),DZABH(NFL),SWND(NFL) + real HTSFC,HTABH,DZ,RDZ,DELT,DELU,DELV + + real, parameter :: m1 = -0.174848 + real, parameter :: m2 = -0.52644 + real, parameter :: m3 = 0.034911 + real, parameter :: m4 = -0.270473 + real, parameter :: m5 = 0.028299 + real, parameter :: m6 = 0.096273 + real, parameter :: b =118.35844 + + integer,dimension(ISTA:IEND,JSTA:JEND) :: KARR + integer,dimension(ISTA:IEND,JSTA:JEND) :: TWET05 + real,dimension(ISTA:IEND,JSTA:JEND) :: ZWET + + REAL, ALLOCATABLE :: TWET(:,:,:) + + integer I,J,L,LLMH,LMHK,IFD +! +!*************************************************************************** +! + ALLOCATE(TWET(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LM)) + + DO IFD = 1,NFL +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + TFD(I,J,IFD) = SPVAL + UFD(I,J,IFD) = SPVAL + VFD(I,J,IFD) = SPVAL + ENDDO + ENDDO + ENDDO + +! LOCATE VERTICAL INDICES OF T,U,V, LEVEL JUST +! ABOVE EACH FD LEVEL. + + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(ZINT(I,J,LM+1)HTFL(IFD)) THEN + LHL(IFD) = L + DZABH(IFD) = HTABH-HTFL(IFD) + IFD = IFD + 1 + ENDIF + IF(IFD > NFL) exit + ENDDO + +! COMPUTE T, U, V AT FD LEVELS. + + DO IFD = 1,NFL + L = LHL(IFD) + IF (L 0.5C + + KARR = 1 + CALL WETBULB(T,Q,PMID,HTM,KARR,TWET) + +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + ZWET(I,J)=ZMID(I,J,LM) + TWET05(I,J)=-1 + ENDDO + ENDDO + + DO L=1,LM +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(TWET05(I,J) < 0) THEN + IF(TWET(I,J,L) >= 273.15+0.5) THEN + ZWET(I,J)=ZMID(I,J,L) + TWET05(I,J)=1 + ENDIF + ENDIF + ENDDO + ENDDO + ENDDO + +!$omp parallel do private(i,j,HTABH) + DO J=JSTA,JEND + DO I=ISTA,IEND + IF(TWET05(I,J) > 0 .AND. SLR(I,J) Computes streamfunction and velocity potential from absolute vorticity +!> and divergence (computed as in calvor subroutine). +!> +!> Applies a poisson solver with 100,000 iterations to solve for +!> streamfunction and velocity potential from absolute vorticity +!> and divergence. +!> +!> @param[in] uwnd u-wind (m/s) at mass-points +!> @param[in] vwnd v-wind (m/s) at mass-points +!> @param[out] chi velocity potential (m^2/s) at mass-points +!> @param[out] psi streamfunction (m^2/s) at mass-points +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2024-10-28 | K. Asmar and J. Meng | Initial +!> 2024-11-21 | George Vandenberghe | Add convergence condition +!> +!> @author(s) K. Asmar, J. Meng, G. Vandenberghe @date 2024-11-21 + subroutine calchipsi (uwnd,vwnd,chi,psi) +! + use vrbls2d, only: f + use masks, only: gdlat, gdlon, dx, dy + use params_mod, only: d00, dtr, small, erad + use ctlblk_mod, only: jsta_2l, jend_2u, spval, modelname, global, & + jsta, jend, im, jm, jsta_m, jend_m, gdsdegr,& + ista, iend, ista_m, iend_m, ista_2l, iend_2u, & + me, num_procs, mpi_comm_comp + use gridspec_mod, only: gridtype, dyval + use upp_math, only: dvdxdudy, ddvdx, ddudy, uuavg + use exch_upp_mod, only: exch + use mpi +! + implicit none +! +! declare variables. +! + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(inout) :: uwnd, vwnd + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: absv, div + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(inout) :: chi, psi + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: ptmp, atmp, dtmp + real, dimension(im,2) :: glatpoles, coslpoles, upoles, vpoles, avpoles + real, dimension(im,jsta:jend) :: cosltemp, avtemp +! + real, allocatable :: wrk1(:,:), wrk2(:,:), wrk3(:,:), cosl(:,:) + integer, allocatable :: ihe(:),ihw(:), ie(:),iw(:) +! + integer, parameter :: npass2=2, npass3=3 + integer I,J,ip1,im1,ii,iir,iil,jj,jjk,JMT2,imb2, npass, nn, jtem, ier + real rtmp, rerr, err,pval,errmax,errmin,edif + real r2dx,r2dy,dvdx,dudy,uavg,tph1,tphi, tx1(im+2), tx2(im+2) + real*8 ta,tb,tc +! +!*************************************************************************** +! start calchipsi here. +! +! loop to compute absolute vorticity from winds. +! +!$omp parallel do private(i,j) + do j=jsta_2l,jend_2u + do i=ista_2l,iend_2u + absv(i,j) = spval + div(i,j) = spval + chi(i,j) = spval + psi(i,j) = spval + enddo + enddo +! + call exch(uwnd) + call exch(vwnd) +! + call exch(gdlat(ista_2l,jsta_2l)) + call exch(gdlon(ista_2l,jsta_2l)) +! + allocate (wrk1(ista:iend,jsta:jend), wrk2(ista:iend,jsta:jend), & + & wrk3(ista:iend,jsta:jend), cosl(ista_2l:iend_2u,jsta_2l:jend_2u)) + allocate(iw(im),ie(im)) + + imb2 = im/2 +!$omp parallel do private(i) + do i=ista,iend + ie(i) = i+1 + iw(i) = i-1 + enddo +! iw(1) = im +! ie(im) = 1 +! +! if(1>=jsta .and. 1<=jend)then +! if(cos(gdlat(1,1)*dtr)= small) then + wrk1(i,j) = 1.0 / (erad*cosl(i,j)) + else + wrk1(i,j) = 0. + end if + if(i == im .or. i == 1) then + wrk2(i,j) = 1.0 / ((360.+gdlon(ip1,J)-gdlon(im1,J))*dtr) !1/dlam + else + wrk2(i,j) = 1.0 / ((gdlon(ip1,J)-gdlon(im1,J))*dtr) !1/dlam + end if + enddo + enddo + call exch(cosl) +! + call fullpole( cosl(ista_2l:iend_2u,jsta_2l:jend_2u),coslpoles) + call fullpole(gdlat(ista_2l:iend_2u,jsta_2l:jend_2u),glatpoles) +! +!$omp parallel do private(i,j,ii) + do j=jsta,jend + if (j == 1) then + if(gdlat(ista,j) > 0.) then ! count from north to south + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + ! wrk3(i,j) = 1.0 / ((180.-gdlat(i,J+1)-gdlat(II,J))*dtr) !1/dphi + wrk3(i,j) = 1.0 / ((180.-gdlat(i,J+1)-glatpoles(ii,1))*dtr) !1/dphi + enddo + else ! count from south to north + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + ! wrk3(i,j) = 1.0 / ((180.+gdlat(i,J+1)+gdlat(II,J))*dtr) !1/dphi + wrk3(i,j) = 1.0 / ((180.+gdlat(i,J+1)+glatpoles(ii,1))*dtr) !1/dphi +! + enddo + end if + elseif (j == jm) then + if(gdlat(ista,j) < 0.) then ! count from north to south + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + ! wrk3(i,j) = 1.0 / ((180.+gdlat(i,J-1)+gdlat(II,J))*dtr) + wrk3(i,j) = 1.0 / ((180.+gdlat(i,J-1)+glatpoles(ii,2))*dtr) + enddo + else ! count from south to north + do i=ista,iend + ii = i + imb2 + if (ii > im) ii = ii - im + ! wrk3(i,j) = 1.0 / ((180.-gdlat(i,J-1)-gdlat(II,J))*dtr) + wrk3(i,j) = 1.0 / ((180.-gdlat(i,J-1)-glatpoles(ii,2))*dtr) + enddo + end if + else + do i=ista,iend + wrk3(i,j) = 1.0 / ((gdlat(I,J-1)-gdlat(I,J+1))*dtr) !1/dphi + enddo + endif + enddo +! + npass = 0 +! + jtem = jm / 18 + 1 +! + call fullpole(uwnd(ista_2l:iend_2u,jsta_2l:jend_2u),upoles) + call fullpole(vwnd(ista_2l:iend_2u,jsta_2l:jend_2u),vpoles) +! +!$omp parallel do private(i,j,ip1,im1,ii,jj,tx1,tx2) + do j=jsta,jend + if(j == 1) then ! near north or south pole + if(gdlat(ista,j) > 0.) then ! count from north to south + if(cosl(ista,j) >= small) then !not a pole point + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + if(vwnd(ip1,j)==spval .or. vwnd(im1,j)==spval .or. & +! uwnd(ii,j)==spval .or. uwnd(i,j+1)==spval) cycle + upoles(ii,1)==spval .or. uwnd(i,j+1)==spval) cycle + absv(i,j) = ((vwnd(ip1,j)-vwnd(im1,j))*wrk2(i,j) & + & + (upoles(ii,1)*coslpoles(ii,1) & + & + uwnd(i,j+1)*cosl(i,j+1))*wrk3(i,j)) * wrk1(i,j) & + & + f(i,j) + div(i,j) = ((uwnd(ip1,j)-uwnd(im1,j))*wrk2(i,j) & + & - (vpoles(ii,1)*coslpoles(ii,1) & + & + vwnd(i,j+1)*cosl(i,j+1))*wrk3(i,j)) * wrk1(i,j) + enddo + else !pole point, compute at j=2 + jj = 2 + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + if(vwnd(ip1,jj)==spval .or. vwnd(im1,jj)==spval .or. & + uwnd(i,j)==spval .or. uwnd(i,jj+1)==spval) cycle + absv(i,j) = ((vwnd(ip1,jj)-vwnd(im1,jj))*wrk2(i,jj) & + & - (uwnd(i,j)*cosl(i,j) & + - uwnd(i,jj+1)*cosl(i,jj+1))*wrk3(i,jj)) * wrk1(i,jj) & + & + f(i,jj) + div(i,j) = ((uwnd(ip1,jj)-uwnd(im1,jj))*wrk2(i,jj) & + & + (vwnd(i,j)*cosl(i,j) & + - vwnd(i,jj+1)*cosl(i,jj+1))*wrk3(i,jj)) * wrk1(i,jj) + enddo + endif + else + if(cosl(ista,j) >= small) then !not a pole point + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + if(vwnd(ip1,j)==spval .or. vwnd(im1,j)==spval .or. & +! uwnd(ii,j)==spval .or. uwnd(i,j+1)==spval) cycle + upoles(ii,1)==spval .or. uwnd(i,j+1)==spval) cycle + absv(i,j) = ((vwnd(ip1,j)-vwnd(im1,j))*wrk2(i,j) & + & - (upoles(ii,1)*coslpoles(ii,1) & + & + uwnd(i,j+1)*cosl(i,j+1))*wrk3(i,j)) * wrk1(i,j) & + & + f(i,j) + div(i,j) = ((uwnd(ip1,j)-uwnd(im1,j))*wrk2(i,j) & + & + (vpoles(ii,1)*coslpoles(ii,1) & + & + vwnd(i,j+1)*cosl(i,j+1))*wrk3(i,j)) * wrk1(i,j) + enddo + else !pole point, compute at j=2 + jj = 2 + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + if(vwnd(ip1,jj)==spval .or. vwnd(im1,jj)==spval .or. & + uwnd(i,j)==spval .or. uwnd(i,jj+1)==spval) cycle + absv(i,j) = ((vwnd(ip1,jj)-vwnd(im1,jj))*wrk2(i,jj) & + & + (uwnd(i,j)*cosl(i,j) & + - uwnd(i,jj+1)*cosl(i,jj+1))*wrk3(i,jj)) * wrk1(i,jj) & + & + f(i,jj) + div(i,j) = ((uwnd(ip1,jj)-uwnd(im1,jj))*wrk2(i,jj) & + & - (vwnd(i,j)*cosl(i,j) & + - vwnd(i,jj+1)*cosl(i,jj+1))*wrk3(i,jj)) * wrk1(i,jj) + enddo + endif + endif + else if(j == jm) then ! near north or south pole + if(gdlat(ista,j) < 0.) then ! count from north to south + if(cosl(ista,j) >= small) then !not a pole point + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + if(vwnd(ip1,j)==spval .or. vwnd(im1,j)==spval .or. & +! uwnd(i,j-1)==spval .or. uwnd(ii,j)==spval) cycle + uwnd(i,j-1)==spval .or. upoles(ii,2)==spval) cycle + absv(i,j) = ((vwnd(ip1,j)-vwnd(im1,j))*wrk2(i,j) & + & - (uwnd(i,j-1)*cosl(i,j-1) & + & + upoles(ii,2)*coslpoles(ii,2))*wrk3(i,j)) * wrk1(i,j) & + & + f(i,j) + div(i,j) = ((uwnd(ip1,j)-uwnd(im1,j))*wrk2(i,j) & + & + (vwnd(i,j-1)*cosl(i,j-1) & + & + vpoles(ii,2)*coslpoles(ii,2))*wrk3(i,j)) * wrk1(i,j) + enddo + else !pole point,compute at jm-1 + jj = jm-1 + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + if(vwnd(ip1,jj)==spval .or. vwnd(im1,jj)==spval .or. & + uwnd(i,jj-1)==spval .or. uwnd(i,j)==spval) cycle + absv(i,j) = ((vwnd(ip1,jj)-vwnd(im1,jj))*wrk2(i,jj) & + & - (uwnd(i,jj-1)*cosl(i,jj-1) & + & - uwnd(i,j)*cosl(i,j))*wrk3(i,jj)) * wrk1(i,jj) & + & + f(i,jj) + div(i,j) = ((uwnd(ip1,jj)-uwnd(im1,jj))*wrk2(i,jj) & + & + (vwnd(i,jj-1)*cosl(i,jj-1) & + & - vwnd(i,j)*cosl(i,j))*wrk3(i,jj)) * wrk1(i,jj) + enddo + endif + else + if(cosl(ista,j) >= small) then !not a pole point + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + ii = i + imb2 + if (ii > im) ii = ii - im + if(vwnd(ip1,j)==spval .or. vwnd(im1,j)==spval .or. & +! uwnd(i,j-1)==spval .or. uwnd(ii,j)==spval) cycle + uwnd(i,j-1)==spval .or. upoles(ii,2)==spval) cycle + absv(i,j) = ((vwnd(ip1,j)-vwnd(im1,j))*wrk2(i,j) & + & + (uwnd(i,j-1)*cosl(i,j-1) & + & + upoles(ii,2)*coslpoles(ii,2))*wrk3(i,j)) * wrk1(i,j) & + & + f(i,j) + div(i,j) = ((uwnd(ip1,j)-uwnd(im1,j))*wrk2(i,j) & + & - (vwnd(i,j-1)*cosl(i,j-1) & + & + vpoles(ii,2)*coslpoles(ii,2))*wrk3(i,j)) * wrk1(i,j) + enddo + else !pole point,compute at jm-1 + jj = jm-1 + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + if(vwnd(ip1,jj)==spval .or. vwnd(im1,jj)==spval .or. & + uwnd(i,jj-1)==spval .or. uwnd(i,j)==spval) cycle + absv(i,j) = ((vwnd(ip1,jj)-vwnd(im1,jj))*wrk2(i,jj) & + & + (uwnd(i,jj-1)*cosl(i,jj-1) & + & - uwnd(i,j)*cosl(i,j))*wrk3(i,jj)) * wrk1(i,jj) & + & + f(i,jj) + div(i,j) = ((uwnd(ip1,jj)-uwnd(im1,jj))*wrk2(i,jj) & + & - (vwnd(i,jj-1)*cosl(i,jj-1) & + & - vwnd(i,j)*cosl(i,j))*wrk3(i,jj)) * wrk1(i,jj) + enddo + endif + endif + else + do i=ista,iend + ip1 = ie(i) + im1 = iw(i) + if(vwnd(ip1,j)==spval .or. vwnd(im1,j)==spval .or. & + uwnd(i,j-1)==spval .or. uwnd(i,j+1)==spval) cycle + absv(i,j) = ((vwnd(ip1,j)-vwnd(im1,j))*wrk2(i,j) & + & - (uwnd(i,j-1)*cosl(i,j-1) & + - uwnd(i,j+1)*cosl(i,j+1))*wrk3(i,j)) * wrk1(i,j) & + + f(i,j) + div(i,j) = ((uwnd(ip1,j)-uwnd(im1,j))*wrk2(i,j) & + & + (vwnd(i,j-1)*cosl(i,j-1) & + - vwnd(i,j+1)*cosl(i,j+1))*wrk3(i,j)) * wrk1(i,j) + enddo + end if + if (npass > 0) then + do i=ista,iend + tx1(i) = absv(i,j) + enddo + do nn=1,npass + do i=ista,iend + tx2(i+1) = tx1(i) + enddo + tx2(1) = tx2(im+1) + tx2(im+2) = tx2(2) + do i=2,im+1 + tx1(i-1) = 0.25 * (tx2(i-1) + tx2(i+1)) + 0.5*tx2(i) + enddo + enddo + do i=ista,iend + absv(i,j) = tx1(i) + enddo + endif + end do ! end of j loop + +! deallocate (wrk1, wrk2, wrk3, cosl) +! gfs use lon avg as one scaler value for pole point +! + ! call poleavg(im,jm,jsta,jend,small,cosl(1,jsta),spval,absv(1,jsta)) +! + call exch(absv(ista_2l:iend_2u,jsta_2l:jend_2u)) + call fullpole(absv(ista_2l:iend_2u,jsta_2l:jend_2u),avpoles) +! + cosltemp=spval + if(jsta== 1) cosltemp(1:im, 1)=coslpoles(1:im,1) + if(jend==jm) cosltemp(1:im,jm)=coslpoles(1:im,2) + avtemp=spval + if(jsta== 1) avtemp(1:im, 1)=avpoles(1:im,1) + if(jend==jm) avtemp(1:im,jm)=avpoles(1:im,2) +! + call poleavg(im,jm,jsta,jend,small,cosltemp(1,jsta),spval,avtemp(1,jsta)) +! + if(jsta== 1) absv(ista:iend, 1)=avtemp(ista:iend, 1) + if(jend==jm) absv(ista:iend,jm)=avtemp(ista:iend,jm) +! +! deallocate (wrk1, wrk11, wrk2, wrk3, cosl, iw, ie) +! + call exch(absv(ista_2l:iend_2u,jsta_2l:jend_2u)) + call exch(div(ista_2l:iend_2u,jsta_2l:jend_2u)) +! +! store absv and div factors before poisson loops +!$omp parallel do private(i,j) + do j=jsta,jend + do i=ista,iend + atmp(i,j)=0.25*(absv(i,j)-f(i,j))/(wrk2(i,j)*wrk1(i,j)*wrk3(i,j)*wrk1(i,j)*cosl(i,j)*4.) + dtmp(i,j)=0.25*div(i,j)/(wrk2(i,j)*wrk1(i,j)*wrk3(i,j)*wrk1(i,j)*cosl(i,j)*4.) + enddo + enddo +! +! poisson solver for psi and chi + psi=0. +! ta=mpi_wtime() + do jjk=1,1000 + do jj=1,300 + call exch(psi(ista_2l:iend_2u,jsta_2l:jend_2u)) + ptmp=psi + err=0 + do j=jsta,jend + do i=ista,iend + if (j>1 .and. j1 .and. j Computes snow solid-liquid-ratio slr using the Steenburgh 2024 algorithm. +!> +!> Obtained the code and data from U of Utah Jim Steenburgh, +!> Peter Veals, and Michael Pletcher. +!> +!> @param[out] SLR real Solid snow to liquid ratio +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2024-11-15 | Jesse Meng | Initial +!> 2025-04-23 | Jesse Meng | Bug fix zmid calculation in very thin layers +!> 2025-06-12 | Jesse Meng | Bug fix RH converted from decimal to percent. SLR masking procedure modified +!> +!> @author Jesse Meng @date 2024-11-15 + + subroutine calslr_uutah2(slr) + + use vrbls3d, only: zint,zmid,pmid,t,q,uh,vh + use masks, only: lmh,htm,gdlat,gdlon + use ctlblk_mod, only: me,ista,iend,jsta,jend,ista_2l,iend_2u,jsta_2l,jend_2u,& + lm,spval + + implicit none + + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u),intent(out) :: slr !slr=snod/weasd=1000./sndens + + integer, parameter :: nfl=8 + real, parameter :: htfl(nfl)=(/ 300., 600., 900., 1200., & + 1500.,1800.,2100., 2400. /) + real,dimension(ista:iend,jsta:jend,nfl) :: tfd,ufd,vfd,pfd,qfd,rhfd + real,dimension(ista:iend,jsta:jend) :: zsfc + + integer lhl(nfl) + real dzabh(nfl),swnd(nfl) + real htsfc,htabh,dz,rdz,delt,delu,delv,delp,delq + + real, parameter :: s03 = 0.2113589753880838 + real, parameter :: s06 =-0.3113780353218734 + real, parameter :: s09 = 0.030295727788329747 + real, parameter :: s12 = 0.14200126274780872 + real, parameter :: s15 =-0.3036948150474089 + real, parameter :: s18 = 0.36742135429588796 + real, parameter :: s21 =-0.45316009735021756 + real, parameter :: s24 = 0.2732018488504477 + real, parameter :: t03 = 0.08908223593334653 + real, parameter :: t06 =-0.24948847161912707 + real, parameter :: t09 = 0.14521457107694088 + real, parameter :: t12 = 0.17265963006356744 + real, parameter :: t15 =-0.3741056734263027 + real, parameter :: t18 = 0.39704205782424823 + real, parameter :: t21 =-0.36577798019766355 + real, parameter :: t24 =-0.12603742209070648 + real, parameter :: r03 =-0.08523012915185951 + real, parameter :: r06 = 0.0879493556495648 + real, parameter :: r09 =-0.04508491900731953 + real, parameter :: r12 = 0.0347032913014311 + real, parameter :: r15 =-0.031872141634061976 + real, parameter :: r18 = 0.05199814866971972 + real, parameter :: r21 =-0.02739515218481534 + real, parameter :: r24 =-0.0338838765912164 + real, parameter :: b = 97.96209163 + + integer,dimension(ista:iend,jsta:jend) :: karr + integer,dimension(ista:iend,jsta:jend) :: twet05 + real,dimension(ista:iend,jsta:jend) :: zwet + + real, allocatable :: twet(:,:,:) + + integer i,j,l,llmh,lmhk,ifd +! +!*************************************************************************** +! +! allocate(twet(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) + + do ifd = 1,nfl +!$omp parallel do private(i,j) + do j=jsta,jend + do i=ista,iend + zsfc(i,j) = spval + tfd(i,j,ifd) = spval + ufd(i,j,ifd) = spval + vfd(i,j,ifd) = spval + pfd(i,j,ifd) = spval + qfd(i,j,ifd) = spval + rhfd(i,j,ifd) = spval + enddo + enddo + enddo + +! locate vertical indices of t,u,v, level just +! above each fd level. + + do j=jsta,jend + do i=ista,iend + if(zint(i,j,lm+1)=htfl(ifd)) then + lhl(ifd) = l + dzabh(ifd) = htabh-htfl(ifd) + ifd = ifd + 1 + endif + endif + if(ifd > nfl) exit + enddo + +! compute t, u, v at fd levels. + + do ifd = 1,nfl + l = lhl(ifd) + if (l= 273.15+5.0) slr(i,j)=0. + endif + endif + enddo + enddo + +! 20250612 Jesse Meng, skip until UUtah updates SLR mask decision +! compute wetbulb temperature and search for twet > 0.5c +! +! karr = 1 +! call wetbulb(t,q,pmid,htm,karr,twet) +! +!!$omp parallel do private(i,j) +! do j=jsta,jend +! do i=ista,iend +! zwet(i,j)=zmid(i,j,lm) +! twet05(i,j)=-1 +! enddo +! enddo +! +! do l=1,lm +!!$omp parallel do private(i,j) +! do j=jsta,jend +! do i=ista,iend +! if(twet05(i,j) < 0) then +! if(twet(i,j,l) >= 273.15+0.5) then +! zwet(i,j)=zmid(i,j,l) +! twet05(i,j)=1 +! endif +! endif +! enddo +! enddo +! enddo +! +!!$omp parallel do private(i,j,htabh) +! do j=jsta,jend +! do i=ista,iend +! if(twet05(i,j) > 0 .and. slr(i,j) @file +!> @brief VRBLS2D declares 2D variables that are used throughout the UPP code module vrbls2d !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! - real, allocatable :: & - U10 (:,:),AKMS (:,:),AKHS (:,:),THS (:,:),QS(:,:) & - ,UZ0(:,:),VZ0(:,:),THZ0(:,:),QZ0(:,:) & - ,SNO (:,:),TSHLTR (:,:),QSHLTR(:,:), MRSHLTR(:,:) & - ,V10(:,:),ACPREC(:,:),CUPREC(:,:),ANCPRC(:,:),CUPPT(:,:) & - ,SMSTAV(:,:),SSROFF(:,:),BGROFF(:,:),VEGFRC(:,:) & - ,SHDMIN(:,:),SHDMAX(:,:),LAI(:,:) & - ,ACSNOW(:,:),ACSNOM(:,:),CMC(:,:),SST(:,:) & - ,RSWIN(:,:),RLWIN(:,:),RLWTOA(:,:) & - ,LWDNBC(:,:),LWUPBC(:,:) & - ,TG(:,:),SFCSHX(:,:),PSLP(:,:),T700(:,:),Z500(:,:),Z700(:,:) & - ,SFCLHX(:,:),FIS(:,:),T500(:,:),Z1000(:,:),SLP(:,:) & - ,CFRACL(:,:),CFRACM(:,:),CFRACH(:,:),ACFRST(:,:) & - ,ACFRCV(:,:),NCFRST(:,:),NCFRCV(:,:),HBOT(:,:) & - ,HTOP(:,:),ASWIN(:,:),ALWIN(:,:),ASWOUT(:,:) & - ,ALWOUT(:,:),ASWTOA(:,:),ALWTOA(:,:),CZEN(:,:) & - ,CZMEAN(:,:),SIGT4(:,:),RSWOUT(:,:),RADOT(:,:) & - ,SMSTOT(:,:),PCTSNO(:,:),PSHLTR(:,:),TH10(:,:) & - ,Q10(:,:),SR(:,:),PREC(:,:),SUBSHX(:,:) & - ,SNOPCX(:,:),SFCUVX(:,:),SFCEVP(:,:),POTEVP(:,:) & - ,Z0(:,:),USTAR(:,:),TWBS(:,:),QWBS(:,:) & - ,SFCEXC(:,:),GRNFLX(:,:),SOILTB(:,:),F(:,:) & - ,ALBEDO(:,:),CLDFRA(:,:),CPRATE(:,:),CNVCFR(:,:) & - ,PBLH(:,:),PBLHGUST(:,:),HBOTD(:,:),HTOPD(:,:),HBOTS(:,:),HTOPS(:,:) & - ,CLDEFI(:,:),ALBASE(:,:),SI(:,:),LSPA(:,:) & - ,RSWINC(:,:),VIS(:,:),PD(:,:),MXSNAL(:,:),MIXHT(:,:) & - ,SNONC(:,:),EPSR(:,:),RSWTOA(:,:),TEQL(:,:) & + real, allocatable :: & + U10 (:,:) & !< 10m u-wind component + ,F10M(:,:) & !< 10-meter wind speed divided by lowest model wind speed (FV3 initialization variable) + ,AKMS (:,:) & !< Surface exchange coefficient of momentum + ,AKHS (:,:) & !< Surface exchange coefficient of heat/moisture + ,THS (:,:) & !< Surface potential temperature + ,QS(:,:) & !< Specific humidity + ,UZ0(:,:) & !< U-wind component at roughness length (m/s) + ,VZ0(:,:) & !< V-wind component at roughness length (m/s) + ,THZ0(:,:) & !< Potential temperature at roughness length (K) + ,QZ0(:,:) & !< Specific humidity at roughness length (kg/kg) + ,SNO (:,:) & !< Instantaneous snow water equivalent + ,TSHLTR (:,:) & !< 2m temperature + ,QSHLTR(:,:) & !< 2m specific humidity + ,V10(:,:) & !< 10 m v-wind component + ,ACPREC(:,:) & !< Accumulated total precipitation + ,CUPREC(:,:) & !< Accumulated total convective precipitation + ,ANCPRC(:,:) & !< Accumulated total grid-scale precipitation + ,CUPPT(:,:) & !< Accumulated convective rain since last call to radiation + ,SMSTAV(:,:) & !< Soil moisture availability [%] + ,SSROFF(:,:) & !< Storm surface runoff + ,BGROFF(:,:) & !< Underground/subsurface runoff + ,VEGFRC(:,:) & !< Vegetation fraction + ,SHDMIN(:,:) & !< Annual MIN vegetation fraction + ,SHDMAX(:,:) & !< Annual MAX vegetation fraction + ,LAI(:,:) & !< Leaf area index + ,ACSNOW(:,:) & !< Accumulated snowfall + ,ACSNOM(:,:) & !< Accumulated snowmelt + ,CMC(:,:) & !< Canopy moisture content (m) + ,SST(:,:) & !< Sea surface temperature + ,RSWIN(:,:) & !< Incoming shortwave radiation at the surface + ,RLWIN(:,:) & !< Incoming longwave radiation at the surface + ,RLWTOA(:,:) & !< Outgoing longwave radiation at the top of the atmopshere + ,LWDNBC(:,:) & !< Downward longwave radiation at the surface + ,LWUPBC(:,:) & !< Upward longwave radiation at the surface + ,TG(:,:) & !< Ground temperature + ,SFCSHX(:,:) & !< Surface sensible heat flux + ,PSLP(:,:) & !< Reduced sea-level pressure array + ,T700(:,:) & !< Temperature at 700 hPa + ,Z500(:,:) & !< Geopotential height at 500 hPa + ,Z700(:,:) & !< Geopotential height at 700 hPa + ,SFCLHX(:,:) & !< Time averaged surface latent heat flux + ,FIS(:,:) & !< Geopotential height of the surface + ,T500(:,:) & !< Temperature at 500 hPa + ,Z1000(:,:) & !< Geopotential height at 1000 hPa + ,SLP(:,:) & !< Sea level pressure + ,CFRACL(:,:) & !< Radiation state variable - low cloud fraction + ,CFRACM(:,:) & !< Radiation state variable - middle cloud fraction + ,CFRACH(:,:) & !< Radiation state variable - high cloud fraction + ,ACFRST(:,:) & !< Radiation state variable - accumulated stratiform cloud fraction + ,ACFRCV(:,:) & !< Radiation state variable - accumulated convective cloud fraction + ,NCFRST(:,:) & !< Radiation state variable - times stratiform cloud >0 between rad calls + ,NCFRCV(:,:) & !< Radiation state variable - times convec cloud >0 between rad calls + ,HBOT(:,:) & !< Bottom of convection level + ,HTOP(:,:) & !< Top of convection level + ,ASWIN(:,:) & !< Time-averaged incoming shortwave radiation at the surface + ,ALWIN(:,:) & !< Time-averaged incoming longwave radiation at the surface + ,ASWOUT(:,:) & !< Time-averaged outgoing shortwave radiation at the surface + ,ALWOUT(:,:) & !< Time-averaged outgoing longwave radiation at the surface + ,ASWTOA(:,:) & !< Time-averaged outgoing shortwave radiation at the model top + ,ALWTOA(:,:) & !< Time-average outgoing longwave radiation at the model top + ,CZEN(:,:) & !< Cosine of solar zenith angle + ,CZMEAN(:,:) & !< Mean cosine of solar zenith angle + ,SIGT4(:,:) & !< Sigma of temperature (Stefan-Boltzmann * T**4) + ,RSWOUT(:,:) & !< Instantaneous outgoing shortwave radiation from the surface + ,RADOT(:,:) & !< Instantaneous outgoing longwave radiation from the surface + ,SMSTOT(:,:) & !< Total soil moisture + ,PCTSNO(:,:) & !< Snow cover percentage + ,PSHLTR(:,:) & !< Shelter-level pressure + ,TH10(:,:) & !< Potential temperature at 10 meters above the surface (anemometer level) + ,Q10(:,:) & !< Specific humidity at 10 meters above the surface (anemometer level) + ,SR(:,:) & !< Snow ratio + ,PREC(:,:) & !< Precipitation + ,SUBSHX(:,:) & !< Accumulated deep soil heat flux + ,SNOPCX(:,:) & !< Snow phase change heat flux + ,SFCUVX(:,:) & !< _____ Surface ultraviolet radiation? Derived from total momentum flux ? + ,SFCEVP(:,:) & !< Accumulated surface evaporation + ,POTEVP(:,:) & !< Potential evaporation + ,Z0(:,:) & !< Roughness length + ,USTAR(:,:) & !< Frictional velocity + ,TWBS(:,:) & !< Instantaneous surface sensible heat flux + ,QWBS(:,:) & !< Instantaneous surface latent heat flux + ,SFCEXC(:,:) & !< Surface exchange coefficient + ,GRNFLX(:,:) & !< Instantaneous ground heat flux + ,SOILTB(:,:) & !< Deep ground soil temperature + ,F(:,:) & !< ??? Coriolis-related - possibly (Coriolis * DT/2) or Coriolis sine latitude term + ,ALBEDO(:,:) & !< Surface albedo + ,CLDFRA(:,:) & !< Instantaneous 3D cloud fraction + ,CPRATE(:,:) & !< Convective precipitation rate + ,CNVCFR(:,:) & !< Convective cloud fraction + ,PBLH(:,:) & !< Planetary boundary layer (PBL) height + ,PBLHGUST(:,:) & !< Effective PBL height diagnosed from the theta-v profile, rather than the Ri profile + ,HBOTD(:,:) & !< Bottom of the deep convection layer + ,HTOPD(:,:) & !< Top of the deep convection layer + ,HBOTS(:,:) & !< Bottom of the shallow convection layer + ,HTOPS(:,:) & !< Top of the shallow convection layer + ,CLDEFI(:,:) & !< Convective cloud efficiency + ,ALBASE(:,:) & !< Base (snow-free) albedo + ,SI(:,:) & !< Snow depth in mm + ,LSPA(:,:) & !< Land surface precipitation accumulation + ,RSWINC(:,:) & !< Incoming clear-sky shortwave radiation at the surface (clear-sky equivalent of RSWIN) + ,VIS(:,:) & !< Visibility + ,PD(:,:) & !< Surface pressure minus PTOP + ,MXSNAL(:,:) & !< Maximum snow albedo + ,MIXHT(:,:) & !< Mixing height on surface + ,SNONC(:,:) & !< Accumulated total grid-scale snow/ice ? + ,EPSR(:,:) & !< Radiative emissivity + ,RSWTOA(:,:) & !< Outgoing shortwave radiation flux at top of atmosphere + ,TEQL(:,:) & !< Equivalent temperature ? +! Variables saved for input to IFI + ,IFI_APCP(:,:) & !< In-flight icing (IFI) total accumulated precipitation at surface + ,CAPE(:,:) & !< Convective available potential energy + ,CIN(:,:) & !< Convective inhibition ! HWRF additions - ,MDLTAUX(:,:),MDLTAUY(:,:),CD10(:,:),CH10(:,:) & - ,ACSWUPT(:,:),SWDNT(:,:),ACSWDNT(:,:) & + ,MDLTAUX(:,:) & !< Zonal (u-) component of the wind stress + ,MDLTAUY(:,:) & !< Meridional (v-) component of the wind stress + ,CD10(:,:) & !< Drag coefficient at 10 meters above the ground + ,CH10(:,:) & !< Heat transfer coefficient at 10 meters above the ground + ,ACSWUPT(:,:) & !< Accumulated shortwave upwelling radiation flux at top + ,SWDNT(:,:) & !< Instantaneous shortwave downward radiation flux at top + ,ACSWDNT(:,:) & !< Accumulated shortwave downward radiation flux at top ! NAMB additions - ,SNOAVG(:,:),PSFCAVG(:,:),T10AVG(:,:),AKHSAVG(:,:),AKMSAVG(:,:) & - ,T10M(:,:),U10MAX(:,:),V10MAX(:,:),u10h(:,:),v10h(:,:) & - ,PRATE_MAX(:,:),FPRATE_MAX(:,:) & + ,SNOAVG(:,:) & !< Average snow cover + ,PSFCAVG(:,:) & !< Average surface pressure ? + ,T10AVG(:,:) & !< Time-averaged temperature at 10 meters above ground + ,AKHSAVG(:,:) & !< Time-averaged mass exchange coefficient or surface exchange coefficient for heat? + ,AKMSAVG(:,:) & !< Time-averaged wind exchange coefficient or surface exchange coefficient for momentum? + ,T10M(:,:) & !< Temperature at 10 meters above ground + ,U10MAX(:,:) & !< Maximum hourly zonal (u-) wind speed at 10 meters above ground level + ,V10MAX(:,:) & !< Maximum hourly meridional (v-) wind speed at 10 meters above ground level + ,u10h(:,:) & !< Hourly zonal (u-) wind speed at 10 meters above ground level + ,v10h(:,:) & !< Hourly meridional (v-) wind speed at 10 meters above ground level + ,MAX_PRATE_1MIN(:,:) & !< history-interval maximum 1-minute average precipitation rate + ,MAX_PRATE_5MIN(:,:) & !< ditto for 5 minutes + ,MAX_PRATE_10MIN(:,:) & !< ditto for 10 minutes + ,PRATE_MAX(:,:) & !< Maximum precipitation rate in mm/h + ,FPRATE_MAX(:,:) & !< Maximum frozen precipitation rate in mm/h ! GSD addition - ,WSPD10MAX(:,:),W_UP_MAX(:,:),W_DN_MAX(:,:),REFD_MAX(:,:) & - ,UP_HELI_MAX(:,:),UP_HELI_MAX16(:,:),GRPL_MAX(:,:),QRMAX(:,:) & - ,UP_HELI(:,:),UP_HELI16(:,:),LTG1_MAX(:,:),LTG2_MAX(:,:),LTG3_MAX(:,:) & - ,UP_HELI_MIN(:,:),UP_HELI_MIN16(:,:) & - ,UP_HELI_MAX02(:,:),UP_HELI_MIN02(:,:) & - ,UP_HELI_MAX03(:,:),UP_HELI_MIN03(:,:) & - ,REL_VORT_MAX(:,:),REL_VORT_MAX01(:,:),REL_VORT_MAXHY1(:,:) & - ,WSPD10UMAX(:,:),WSPD10VMAX(:,:) & - ,REFDM10C_MAX(:,:),HAIL_MAX2D(:,:),HAIL_MAXK1(:,:) & - ,HAIL_MAXHAILCAST(:,:) & - ,NCI_LTG(:,:),NCA_LTG(:,:),NCI_WQ(:,:),NCA_WQ(:,:) & - ,NCI_REFD(:,:),NCA_REFD(:,:),RAINC_BUCKET1(:,:),RAINNC_BUCKET1(:,:) & - ,RAINC_BUCKET(:,:),RAINNC_BUCKET(:,:),SNOW_BUCKET(:,:) & - ,GRAUP_BUCKET(:,:),PCP_BUCKET(:,:),ACGRAUP(:,:),ACFRAIN(:,:) & - ,SNOW_BUCKET1(:,:),GRAUP_BUCKET1(:,:),PCP_BUCKET1(:,:) & - ,SNOWNC(:,:),GRAUPELNC(:,:),TMAX(:,:),W_MEAN(:,:) & - ,TSNOW(:,:),QVG(:,:),QV2m(:,:),QVl1(:,:) & - ,REFC_10CM(:,:), REF1KM_10CM(:,:), REF4KM_10CM(:,:) & - ,SWRADmean(:,:),U10mean(:,:),V10mean(:,:),SPDUV10mean(:,:) & - ,SWNORMmean(:,:),SNFDEN(:,:),SNDEPAC(:,:),SWDDNI(:,:),SWDDIF(:,:) & - ,SWDNBC(:,:),SWDDNIC(:,:),SWDDIFC(:,:), SWUPBC(:,:), SWUPT(:,:) & - ,TAOD5502D(:,:),AERASY2D(:,:),AERSSA2D(:,:),MEAN_FRP(:,:) & - ,LWP(:,:),IWP(:,:) & - ,INT_SMOKE(:,:),INT_AOD(:,:) & + ,WSPD10MAX(:,:) & !< Maximum hourly wind speed at 10 meters above ground level + ,W_UP_MAX(:,:) & !< Maximum hourly updraft velocity + ,W_DN_MAX(:,:) & !< Maximum hourly downdraft velocity + ,REFD_MAX(:,:) & !< Maximum hourly 1 km above ground level reflectivity + ,UP_HELI_MAX(:,:) & !< Maximum hourly updraft helicity + ,UP_HELI_MAX16(:,:) & !< Maximum 1-6km hourly updraft helicity + ,GRPL_MAX(:,:) & !< Maximum column-integrated graupel + ,QRMAX(:,:) & !< Maximum rain water mixing ratio + ,UP_HELI(:,:) & !< Updraft helicity + ,UP_HELI16(:,:) & !< Updraft helicity in 1-6km layer + ,LTG1_MAX(:,:) & !< Maximum lightning threat index 1 + ,LTG2_MAX(:,:) & !< Maximum lightning threat index 2 + ,LTG3_MAX(:,:) & !< Maximum lightning threat index 3 + ,UP_HELI_MIN(:,:) & !< Minimum updraft helicity + ,UP_HELI_MIN16(:,:) & !< Minimum updraft helicity over 1-6 km layer + ,UP_HELI_MAX02(:,:) & !< Maximum updraft helicity over 0-2 km layer + ,UP_HELI_MIN02(:,:) & !< Minimum updraft helicity over 0-2 km layer + ,UP_HELI_MAX03(:,:) & !< Maximum updraft helicity over 0-3 km layer + ,UP_HELI_MIN03(:,:) & !< Minimum updraft helicity over 0-3 km layer + ,REL_VORT_MAX(:,:) & !< Maximum relative vertical vorticity + ,REL_VORT_MAX01(:,:) & !< Maximum relative vertical vorticity at 0-1 km + ,REL_VORT_MAXHY1(:,:) & !< Maximum relative vertical vorticity at hybrid level 1 + ,WSPD10UMAX(:,:) & !< Maximum u-component of wind at 10 meters above ground level + ,WSPD10VMAX(:,:) & !< Maximum hourly v-component of wind at 10 meters above ground level + ,REFDM10C_MAX(:,:) & !< Maximum hourly -10C reflectivity + ,HAIL_MAX2D(:,:) & !< Maximum hail diameter in column + ,HAIL_MAXK1(:,:) & !< Maximum hail diameter at k=1 + ,HAIL_MAXHAILCAST(:,:) & !< Maximum hail diameter at surface from HAILCAST algorithm (HRRR and RRFS applications) + ,NCI_LTG(:,:) & !< Convective initiation lightning + ,NCA_LTG(:,:) & !< Convective activity lightning + ,NCI_WQ(:,:) & !< Convective Initiation Vertical Hydrometeor Flux + ,NCA_WQ(:,:) & !< Convective Activity Vertical Hydrometeor Flux + ,NCI_REFD(:,:) & !< Convective Initiation Reflectivity + ,NCA_REFD(:,:) & !< Convective Activity Reflectivity + ,RAINC_BUCKET1(:,:) & !< Accumulated cumulus precipitation over BUCKET_DT1 periods of time + ,RAINNC_BUCKET1(:,:) & !< Accumulated grid-scale precipitation over BUCKET_DT1 periods of time + ,RAINC_BUCKET(:,:) & !< Accumulated cumulus precipitation over BUCKET_DT periods of time + ,RAINNC_BUCKET(:,:) & !< Accumulated grid-scale precipitation over BUCKET_DT periods of time + ,SNOW_BUCKET(:,:) & !< Accumulated grid-scale snow over BUCKET_DT periods of time + ,GRAUP_BUCKET(:,:) & !< Accumulated grid-scale graupel over BUCKET_DT periods of time + ,HAIL_BUCKET(:,:) & !< Accumulated grid-scale hail over diagnostic period + ,PCP_BUCKET(:,:) & !< Bucket total precipitation over BUCKET_DT periods of time + ,ACGRAUP(:,:) & !< Accumulated graupel/sleet + ,ACFRAIN(:,:) & !< Accumulated freezing rain + ,FRZRN_BUCKET(:,:) & !< Freezing rain bucket + ,SNOW_ACM(:,:) & !< Accumulated snowfall + ,SNOW_BKT(:,:) & !< Snowfall bucket + ,SNOW_BUCKET1(:,:) & !< Accumulated grid-scale snow over BUCKET_DT1 periods of time + ,GRAUP_BUCKET1(:,:) & !< Accumulated grid-scale graupel over BUCKET_DT1 periods of time + ,PCP_BUCKET1(:,:) & !< Bucket total precipitation over BUCKET_DT1 periods of time + ,SNOWNC(:,:) & !< Accumulated total grid-scale snow/ice precipitation (per time step?) + ,GRAUPELNC(:,:) & !< Time step non-convective graupel in [m] + ,TMAX(:,:) & !< Maximum 2m temperature + ,W_MEAN(:,:) & !< Mean vertical velocity + ,TSNOW(:,:) & !< Snow temperature + ,QVG(:,:) & !< Water vapor mixing ratio at the surface + ,QV2m(:,:) & !< Water vapor mixing ratio at 2 meters above ground level + ,QVl1(:,:) & !< Water vapor mixing ratio at level 1 + ,MAX_COMPREF(:,:) & !< History interval-maximum composite reflectivity + ,REFC_10CM(:,:) & !< Composite (10cm) radar reflectivity + ,REF1KM_10CM(:,:) & !< (10cm) radar reflectivity at 1 km + ,REF4KM_10CM(:,:) & !< (10cm) radar reflectivity at 4 km + ,SWRADmean(:,:) & !< Time-averaged incoming shortwave radiation + ,U10mean(:,:) & !< Time-averaged u-component wind speed at 10 meters above ground level + ,V10mean(:,:) & !< Time-averaged v-component wind speed at 10 meters above ground level + ,SPDUV10mean(:,:) & !< Time-averaged wind speed at 10 meters above ground level + ,SWNORMmean(:,:) & !< Time-averaged SWNORM (terrain-normal downwelling shortwave radiation) + ,SNFDEN(:,:) & !< Snowfall density + ,SNDEPAC(:,:) & !< Accumulated depth of snowfall + ,SWDDNI(:,:) & !< Instantaneous shortwave surface downward direct normal irradiance + ,SWDDIF(:,:) & !< Instantaneous shortwave surface downward diffuse irradiance + ,SWDNBC(:,:) & !< Shortwave surface downward clear-sky shortwave irradiance + ,SWDDNIC(:,:) & !< Clear-sky shortwave surface downward direct normal irradiance + ,SWDDIFC(:,:) & !< Clear-sky shortwave surface downward diffuse horizontal irradiance + ,SWUPBC(:,:) & !< Clear-sky surface upwelling shortwave flux + ,SWUPT(:,:) & !< Upward shortwave flux at top of atmosphere + ,TAOD5502D(:,:) & !< Total aerosol optical depth at 550 nm + ,AERASY2D(:,:) & !< Aerosol asymmetry parameter + ,AERSSA2D(:,:) & !< Aerosol single-scattering albedo + ,MEAN_FRP(:,:) & !< Instantaneous mean fire radiative power + ,HWP(:,:) & !< Hourly wildfire potential + ,LWP(:,:) & !< Liquid water path + ,IWP(:,:) & !< Ice water path + ,XLAIXY(:,:) & !< Leaf area index ? + ,SMOKE_AVE(:,:) & !< Hourly averaged smoke + ,DUST_AVE(:,:) & !< Hourly averaged fine dust (PM 2.5) + ,COARSEPM_AVE(:,:) & !< Hourly averaged coarse dust (PM 10) ! add new fields for GFS - ,SFCUX(:,:),SFCVX(:,:),SFCUXI(:,:), SFCVXI(:,:),AVGALBEDO(:,:),AVGCPRATE(:,:) & - ,AVGPREC(:,:),PTOP(:,:),PBOT(:,:),AVGCFRACH(:,:) & - ,AVGCFRACM(:,:),AVGCFRACL(:,:),AVGTCDC(:,:) & - ,AUVBIN(:,:),AUVBINC(:,:) & - ,ptopl(:,:),pbotl(:,:),Ttopl(:,:) & - ,ptopm(:,:),pbotm(:,:),Ttopm(:,:) & - ,ptoph(:,:),pboth(:,:),Ttoph(:,:) & - ,sfcugs(:,:),sfcvgs(:,:),PBLCFR(:,:) & - ,cldwork(:,:),gtaux(:,:),gtauy(:,:),runoff(:,:) & - ,maxtshltr(:,:),mintshltr(:,:),maxrhshltr(:,:) & - ,minrhshltr(:,:),dzice(:,:),maxqshltr(:,:),minqshltr(:,:) & - ,alwinc(:,:),alwoutc(:,:),alwtoac(:,:) & - ,aswinc(:,:),aswoutc(:,:),aswtoac(:,:),aswintoa(:,:) & - ,smcwlt(:,:),suntime(:,:),fieldcapa(:,:) & - ,avisbeamswin(:,:),avisdiffswin(:,:),airbeamswin(:,:) & - ,airdiffswin(:,:),snowfall(:,:),acond(:,:),edir(:,:),ecan(:,:) & - ,etrans(:,:),esnow(:,:),avgedir(:,:),avgecan(:,:),avgetrans(:,:)& - ,avgesnow(:,:),avgpotevp(:,:),avgprec_cont(:,:),avgcprate_cont(:,:)& - ,ti(:,:),aod550(:,:),du_aod550(:,:),ss_aod550(:,:),su_aod550(:,:) & - ,bc_aod550(:,:),oc_aod550(:,:) - integer, allocatable :: IVGTYP(:,:),ISLTYP(:,:),ISLOPE(:,:) & - ,IEQL(:,:) -! Add 2d aerosol diagnosis fields for GOCART (NGAC) + ,SFCUX(:,:) & !< Time-averaged zonal momentum flux + ,SFCVX(:,:) & !< Time-averaged meridional momentum flux + ,SFCUXI(:,:) & !< Instantaneous zonal momentum flux + ,SFCVXI(:,:) & !< Instantaneous meridional momentum flux + ,AVGALBEDO(:,:) & !< Mid-day average albedo + ,AVGCPRATE(:,:) & !< Convective precipitation in m per physics time step + ,AVGPREC(:,:) & !< Average precipitation rate in m per physics time step + ,PTOP(:,:) & !< Instantaneous convective cloud top pressure + ,PBOT(:,:) & !< Instantaneous convective cloud bottom pressure + ,AVGCFRACH(:,:) & !< Average high cloud fraction + ,AVGCFRACM(:,:) & !< Average mid cloud fraction + ,AVGCFRACL(:,:) & !< Average low cloud fraction + ,AVGTCDC(:,:) & !< Time-averaged column cloud fraction + ,AUVBIN(:,:) & !< Time-averaged incoming surface UV-B + ,AUVBINC(:,:) & !< Time-averaged incoming surface clear-sky UV-B + ,ptopl(:,:) & !< Time-averaged low cloud top pressure + ,pbotl(:,:) & !< Time-averaged low cloud bottom pressure + ,Ttopl(:,:) & !< Time-averaged low cloud top temperature + ,ptopm(:,:) & !< Time-averaged middle cloud top pressure + ,pbotm(:,:) & !< Time-averaged middle cloud bottom pressure + ,Ttopm(:,:) & !< Time-averaged middle cloud top temperature + ,ptoph(:,:) & !< Time-averaged high cloud top pressure + ,pboth(:,:) & !< Time-averaged high cloud bottom pressure + ,Ttoph(:,:) & !< Time-averaged high cloud top temperature + ,sfcugs(:,:) & !< No longer used + ,sfcvgs(:,:) & !< No longer used + ,PBLCFR(:,:) & !< Boundary layer cloud cover + ,cldwork(:,:) & !< Cloud work function + ,gtaux(:,:) & !< Time-averaged zonal gravity wave stress + ,gtauy(:,:) & !< Time-averaged meridional gravity wave stress + ,runoff(:,:) & !< Accumulated total (base+surface) runoff + ,maxtshltr(:,:) & !< Shelter max temperature + ,mintshltr(:,:) & !< Shelter min temperature + ,maxrhshltr(:,:) & !< Shelter max relative humidity + ,minrhshltr(:,:) & !< Shelter min relative humidity + ,dzice(:,:) & !< Ice thickness + ,maxqshltr(:,:) & !< Shelter max specific humidity + ,minqshltr(:,:) & !< Shelter min specific humidity + ,alwinc(:,:) & !< Time-averaged surface clear-sky incoming longwave + ,alwoutc(:,:) & !< Time-averaged surface clear-sky outgoing longwave + ,alwtoac(:,:) & !< Time-averaged clear-sky outgoing longwave at top of atmosphere + ,aswinc(:,:) & !< Time-averaged surface clear-sky incoming shortwave + ,aswoutc(:,:) & !< Time-averaged surface clear-sky outgoing shortwave + ,aswtoac(:,:) & !< Time-averaged clear-sky outgoing shortwave at top of atmosphere + ,aswintoa(:,:) & !< Time-averaged model top incoming shortwave + ,smcwlt(:,:) & !< Wilting point + ,suntime(:,:) & !< Sunshine duration + ,fieldcapa(:,:) & !< Field capacity + ,avisbeamswin(:,:) & !< Time-averaged surface visible beam downward solar flux + ,avisdiffswin(:,:) & !< Time-averaged surface visible diffuse downward solar flux + ,airbeamswin(:,:) & !< Time-averaged surface near ir beam downward solar flux + ,airdiffswin(:,:) & !< Time-averaged surface near ir diffuse downward solar flux + ,snowfall(:,:) & !< Total accumulated snowfall ? + ,acond(:,:) & !< Aerodynamic conductance on surface + ,edir(:,:) & !< Direct soil evaporation (W/m2) + ,ecan(:,:) & !< Canopy water evaporation (W/m2) + ,etrans(:,:) & !< Plant transpiration (W/m2) + ,esnow(:,:) & !< Snow sublimation (W/m2) + ,avgedir(:,:) & !< Direct soil evaporation (6-hr average?) + ,avgecan(:,:) & !< Accumulated evaporation of intercepted water (6-hr average?) + ,avgetrans(:,:)& !< Plant transpiration (6-hr average?) + ,avgesnow(:,:) & !< Snow sublimation (6-hr average?) + ,avgpotevp(:,:) & !< Time-averaged accumulated potential evaporation + ,avgprec_cont(:,:) & !< Average precipitation rate - continuous bucket + ,avgcprate_cont(:,:) & !< Convective precipitation - coninuous bucket + ,ti(:,:) & !< Sea ice skin temperature + ,aod550(:,:) & !< Instantaneous aerosol optical depth at 550 nm + ,du_aod550(:,:) & !< Instantaneous aerosol optical depth at 550 nm (dust) + ,ss_aod550(:,:) & !< Instantaneous aerosol optical depth at 550 nm (seasalt) + ,su_aod550(:,:) & !< Instantaneous aerosol optical depth at 550 nm (sulfates) + ,bc_aod550(:,:) & !< Instantaneous aerosol optical depth at 550 nm (organic carbon) + ,oc_aod550(:,:) & !< Instantaneous aerosol optical depth at 550 nm (black carbon) + ,landfrac(:,:) & !< Land fraction + ,paha(:,:) & !< Averaged precipitation advected heat flux + ,pahi(:,:) & !< Instantaneous precipitation advected heat flux + ,tecan(:,:) & !< Accumulated evaporation of intercepted water + ,tetran(:,:) & !< Accumulated plant transpiration + ,tedir(:,:) & !< Accumulated soil surface evaporation + ,twa(:,:) & !< Total water storage in aquifer + ,fdnsst(:,:) & !< Foundation temperature + ,pwat(:,:) !< Precipitable water + integer, allocatable :: IVGTYP(:,:) & !< Vegetation type + ,ISLTYP(:,:) & !< Soil type + ,ISLOPE(:,:) & !< Slope type + ,IEQL(:,:) !< EQ level (highest positively buoyant level ?) + +! Add 2d aerosol diagnosis fields for GOCART (NEMS-GFS Aerosol Component [NGAC]) real, allocatable :: & - DUSMASS(:,:),DUCMASS(:,:),DUSMASS25(:,:),DUCMASS25(:,:) & - ,SUSMASS(:,:),SUCMASS(:,:),SUSMASS25(:,:),SUCMASS25(:,:) & - ,OCSMASS(:,:),OCCMASS(:,:),OCSMASS25(:,:),OCCMASS25(:,:) & - ,BCSMASS(:,:),BCCMASS(:,:),BCSMASS25(:,:),BCCMASS25(:,:) & - ,SSSMASS(:,:),SSCMASS(:,:),SSSMASS25(:,:),SSCMASS25(:,:) & - ,DUSTCB(:,:),SSCB(:,:),OCCB(:,:),BCCB(:,:),SULFCB(:,:) & - ,DUSTALLCB(:,:),SSALLCB(:,:),DUSTPM(:,:),SSPM(:,:),PP25CB(:,:) & - ,PP10CB(:,:)!lzhang, add for FV3-Chem + DUSMASS(:,:) & !< Dust (PM10) surface mass concentration + ,DUCMASS(:,:) & !< Dust (PM10) column mass density + ,DUSMASS25(:,:) & !< Dust (PM25) surface mass concentration + ,DUCMASS25(:,:) & !< Dust (PM25) column mass density + ,SUSMASS(:,:) & !< Sulfate surface mass concentration - no longer used + ,SUCMASS(:,:) & !< Sulfate column mass density - no longer used + ,SUSMASS25(:,:) & !< Sulfate (PM25) surface mass concentration - no longer used + ,SUCMASS25(:,:) & !< Sulfate (PM25) column mass density - no longer used + ,OCSMASS(:,:) & !< Organic Carbon Surface Mass Concentration - no longer used + ,OCCMASS(:,:) & !< Organic Carbon Column Mass Density - no longer used + ,OCSMASS25(:,:) & !< Organic Carbon (PM25) Surface Mass Concentration - no longer used + ,OCCMASS25(:,:) & !< Organic Carbon (PM25) Column Mass Density - no longer used + ,BCSMASS(:,:) & !< Black Carbon Surface Mass Concentration - no longer used + ,BCCMASS(:,:) & !< Black Carbon Column Mass Density - no longer used + ,BCSMASS25(:,:) & !< Black Carbon (PM25) Surface Mass Concentration - no longer used + ,BCCMASS25(:,:) & !< Black Carbon (PM25) Column Mass Density - no longer used + ,SSSMASS(:,:) & !< Sea Salt Surface Mass Concentration - no longer used + ,SSCMASS(:,:) & !< Sea Salt Column Mass Density - no longer used + ,SSSMASS25(:,:) & !< Sea Salt (PM25) Surface Mass Concentration - no longer used + ,SSCMASS25(:,:) & !< Sea Salt (PM25) Column Mass Density - no longer used + ,DUSTCB(:,:) & !< GFS output dust in nemsio (GOCART) + ,SSCB(:,:) & !< GFS output sea salt in nemsio (GOCART) + ,OCCB(:,:) & !< GFS output organic carbon in nemsio (GOCART) + ,BCCB(:,:) & !< GFS output black carbon in nemsio (GOCART) + ,SULFCB(:,:) & !< GFS output sulfate in netcdf (GOCART) + ,DUSTALLCB(:,:) & !< GFS output dust in nemsio (GOCART) + ,SSALLCB(:,:) & !< GFS output sea salt in nemsio (GOCART) + ,DUSTPM(:,:) & !< PM25 dust + ,SSPM(:,:) & !< PM25 sea salt + ,PP25CB(:,:) & !< GFS output pp25 in nemsio (GOCART) + ,DUSTPM10(:,:) & !< Dust 10 micrometers mass density concentration on model surface + ,PP10CB(:,:) & !< GFS output pp10 in nemsio (GOCART) + ,NO3CB(:,:) & !< GFS output nitrate in netcdf (GOCART) + ,NH4CB(:,:) & !< GFS output NH4 in netcdf (GOCART) + ,maod(:,:) !< MIE AOD at 550nm (for FV3-Chem) + +! Add new field for AQM + real, allocatable :: aqm_aod550(:,:) !< Air quality model (AQM) aerosol optical depth at 550nm ! end module vrbls2d diff --git a/sorc/ncep_post.fd/VRBLS3D_mod.f b/sorc/ncep_post.fd/VRBLS3D_mod.f index f27428f3a3..a1b5ddd50f 100644 --- a/sorc/ncep_post.fd/VRBLS3D_mod.f +++ b/sorc/ncep_post.fd/VRBLS3D_mod.f @@ -1,87 +1,159 @@ -! 01-10-22 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -! 02-04-17 BALDWIN - MODIFIED TO INCLUDE ALL 3D ARRAYS -! 11-10-18 SARAH LU - MODIFIED TO INCLUDE AEROSOL OPTICAL PROPERTIES -! 11-12-15 SARAH LU - MODIFIED TO INCLUDE AEROSOL DIAG FIELDS -! 12-01-06 SARAH LU - MODIFIED TO INCLUDE AIR DENSITY AND LAYER THICKNESS -! 15-07-02 SARAH LU - MODIFIED TO INCLUDE SCATTERING AEROSOL OPTICAL THICKNESS +!> @file +!> @brief VRBLS3D declares 3D variables that are used throughout the UPP code +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2001-10-22 | H CHUANG | MODIFIED TO PROCESS HYBRID MODEL OUTPUT +!> 2002-04-17 | BALDWIN | MODIFIED TO INCLUDE ALL 3D ARRAYS +!> 2011-10-18 | SARAH LU | MODIFIED TO INCLUDE AEROSOL OPTICAL PROPERTIES +!> 2011-12-15 | SARAH LU | MODIFIED TO INCLUDE AEROSOL DIAG FIELDS +!> 2012-01-06 | SARAH LU | MODIFIED TO INCLUDE AIR DENSITY AND LAYER THICKNESS +!> 2015-07-02 | SARAH LU | MODIFIED TO INCLUDE SCATTERING AEROSOL OPTICAL THICKNESS +!> 2023-03-22 | WM LEWIS | ADDED EFFECTIVE RADIUS ARRAYS +!> 2023-08-16 | Yali Mao | Add CIT (Convectively-Induced Turbulence) for GTG4 +!> 2025-01-13 | J Kenyon | Add graupel number concentration (QQNG) module vrbls3d !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! - real, allocatable :: UH(:,:,:),VH(:,:,:),WH(:,:,:) & - ,U(:,:,:),V(:,:,:),T(:,:,:),Q(:,:,:) & - ,CWM(:,:,:),Q2(:,:,:),PMID(:,:,:),PMIDV(:,:,:) & - ,PINT(:,:,:),ALPINT(:,:,:),ZMID(:,:,:) & - ,ZINT(:,:,:),OMGA(:,:,:) & - ,T_ADJ(:,:,:) & - ,F_ice(:,:,:),F_rain(:,:,:),F_RimeF(:,:,:) & - ,QQW(:,:,:), QQI(:,:,:), QQR(:,:,:), QQS(:,:,:), QQG(:,:,:) & - ,QQNW(:,:,:), QQNI(:,:,:),QQNR(:,:,:),QC_BL(:,:,:), QRIMEF(:,:,:) & - ,CFR(:,:,:), DBZ(:,:,:), DBZR(:,:,:), DBZI(:,:,:), DBZC(:,:,:) & - ,TTND(:,:,:),RSWTT(:,:,:),RLWTT(:,:,:), REF_10CM(:,:,:) & - ,EXCH_H(:,:,:),TRAIN(:,:,:),TCUCN(:,:,:),EL_PBL(:,:,:) & - ,MCVG(:,:,:),EXTCOF55(:,:,:),NLICE(:,:,:),CFR_RAW(:,:,:) & + + real, allocatable :: UH(:,:,:) & !< U-component wind (U at P-points including 2 row halo) + ,VH(:,:,:) & !< V-component wind (V at P-points including 2 row halo) + ,WH(:,:,:) & !< Geometric vertical velocity + ,U(:,:,:) & !< U-component wind + ,V(:,:,:) & !< V-component wind + ,T(:,:,:) & !< Temperature + ,Q(:,:,:) & !< Specific humidity + ,CWM(:,:,:) & !< Total condensate mixing ratio + ,Q2(:,:,:) & !< Turbulence kinetic energy + ,PMID(:,:,:) & !< Mid-layer pressure + ,PMIDV(:,:,:) & !< Model midlayer for v-point just below the pressure level to which we are interpolating ? + ,PINT(:,:,:) & !< Model layer interface pressure + ,ALPINT(:,:,:) & !< _____? + ,ZMID(:,:,:) & !< Mid-layer height + ,ZINT(:,:,:) & !< Model layer interface height + ,OMGA(:,:,:) & !< Omega - vertical velocity + ,T_ADJ(:,:,:) & !< No longer used/supported; temperature adjustment factor? + ,F_ice(:,:,:) & !< Fraction of condensate in form of ice + ,F_rain(:,:,:) & !< Fraction of condensate in form of rain + ,F_RimeF(:,:,:) & !< Rime Factor - ratio of total ice growth to deposition growth + ,QQW(:,:,:) & !< cloud water mixing ratio + ,QQI(:,:,:) & !< ice mixing ratio + ,QQR(:,:,:) & !< rain mixing ratio + ,QQS(:,:,:) & !< snow mixing ratio + ,QQG(:,:,:) & !< graupel mixing ratio + ,QQH(:,:,:) & !< hail mixing ratio + ,QQNW(:,:,:) & !< cloud water number concentration + ,QQNI(:,:,:) & !< ice number concentration + ,QQNR(:,:,:) & !< rain number concentration + ,QQNG(:,:,:) & !< graupel number concentration + ,QC_BL(:,:,:) & !< cloud water mixing ratio in PBL schemes + ,QRIMEF(:,:,:) & !< rime factor * ice mixing ratio ? + ,CFR(:,:,:) & !< Instantaneous 3d cloud fraction + ,DBZ(:,:,:) & !< Radar reflectivity factor ? + ,DBZR(:,:,:) & !< Radar reflectivity factor from rain + ,DBZI(:,:,:) & !< Radar reflectivity factor from ice (all forms) + ,DBZC(:,:,:) & !< Radar reflectivity factor from parameterized convection + ,TTND(:,:,:) & !< Temperature tendency due to radiative flux convergence + ,RSWTT(:,:,:) & !< Temperature tendency due to shortwave radiation + ,RLWTT(:,:,:) & !< Temperature tendency due to longwave radiation + ,REF_10CM(:,:,:) & !< Reflectivity + ,EXCH_H(:,:,:) & !< Exchange coefficient + ,TRAIN(:,:,:) & !< Temperature tendency due to latent heating from grid scale + ,TCUCN(:,:,:) & !< Temperature tendency due to latent heating from convection + ,EL_PBL(:,:,:) & !< Mixing length ? + ,MCVG(:,:,:) & !< Moisture convergence + ,EXTCOF55(:,:,:) & !< Unified extinction ext550/Aerosol optical depth + ,NLICE(:,:,:) & !< Time-averaged number concentration of large ice + ,CFR_RAW(:,:,:) & !< Cloud fraction (unprocessed) !! Wm Lewis: added - ,NRAIN(:,:,:) & - ,radius_cloud(:,:,:),radius_ice(:,:,:),radius_snow(:,:,:) & + ,NRAIN(:,:,:) & !< Number concentration of rain drops + ,EFFRI(:,:,:) & !< Thompson scheme cloud ice effective radius (for RRFS) + ,EFFRL(:,:,:) & !< Thompson scheme cloud water effective radius (for RRFS) + ,EFFRS(:,:,:) & !< Thompson scheme snow effective radius (for RRFS) + ,radius_cloud(:,:,:) & !< Effective radius, cloud drops + ,radius_ice(:,:,:) & !< Effective radius, cloud ice + ,radius_snow(:,:,:) & !< Effective radius, snow ! KRS Add HWRF fields - ,REFL_10CM(:,:,:) & + ,REFL_10CM(:,:,:) & !< Reflectivity (for HWRF) ! Add GFS fields - ,O3(:,:,:),O(:,:,:),O2(:,:,:) & + ,O3(:,:,:) & !< Ozone mixing ratio + ,O(:,:,:) & !< Atomic oxygen mixing ratio ? + ,O2(:,:,:) & !< Molecular oxygen mixing ratio ? ! Add GFS D3D fields - ,vdifftt(:,:,:) & - ,tcucns(:,:,:) & - ,vdiffmois(:,:,:) & - ,dconvmois(:,:,:) & - ,sconvmois(:,:,:) & - ,nradtt(:,:,:) & - ,o3vdiff(:,:,:) & - ,o3prod(:,:,:) & - ,o3tndy(:,:,:) & - ,mwpv(:,:,:) & - ,unknown(:,:,:) & - ,vdiffzacce(:,:,:) & - ,zgdrag(:,:,:) & - ,cnvctummixing(:,:,:) & - ,vdiffmacce(:,:,:) & - ,mgdrag(:,:,:) & - ,cnvctvmmixing(:,:,:) & - ,ncnvctcfrac(:,:,:) & - ,cnvctumflx(:,:,:) & - ,cnvctdmflx(:,:,:) & - ,cnvctdetmflx(:,:,:) & - ,cnvctzgdrag(:,:,:) & - ,cnvctmgdrag(:,:,:) & - ,QQNWFA(:,:,:) & - ,QQNIFA(:,:,:) & - ,TAOD5503D(:,:,:) & - ,AEXTC55(:,:,:) & + ,vdifftt(:,:,:) & !< Vertical diffusion temperature tendency ? + ,tcucns(:,:,:) & !< Temperature tendency due to latent heating from (shallow?) convection ? + ,vdiffmois(:,:,:) & !< Vertical diffusion moistening rate ? + ,dconvmois(:,:,:) & !< Deep convective moistening rate ? + ,sconvmois(:,:,:) & !< Shallow convective moistening rate ? + ,nradtt(:,:,:) & !< Net radiation temperature tendency ? + ,o3vdiff(:,:,:) & !< Ozone vertical diffusion ? + ,o3prod(:,:,:) & !< Ozone production ? + ,o3tndy(:,:,:) & !< Ozone tendency ? + ,mwpv(:,:,:) & !< Mass-weighted potential vorticity ? + ,unknown(:,:,:) & !< _____? + ,vdiffzacce(:,:,:) & !< Vertical diffusion zonal acceleration ? + ,zgdrag(:,:,:) & !< Gravity wave drag zonal acceleration ? + ,cnvctummixing(:,:,:) & !< Convective zonal momentum mixing acceleration ? + ,vdiffmacce(:,:,:) & !< Vertical diffusion meridional acceleration ? + ,mgdrag(:,:,:) & !< Gravity wave drag meridional acceleration ? + ,cnvctvmmixing(:,:,:) & !< Convective meridional momentum mixing acceleration ? + ,ncnvctcfrac(:,:,:) & !< Non-convective cloud fraction (%) ? + ,cnvctumflx(:,:,:) & !< Convective updraft mass flux ? + ,cnvctdmflx(:,:,:) & !< Convective downdraft mass flux ? + ,cnvctdetmflx(:,:,:) & !< Convective detrainment mass flux ? + ,cnvctzgdrag(:,:,:) & !< Convective gravity wave drag zonal acceleration ? + ,cnvctmgdrag(:,:,:) & !< Convective gravity wave drag meridional acceleration ? + ,QQNWFA(:,:,:) & !< Water-friendly aerosol number concentration + ,QQNIFA(:,:,:) & !< Ice-friendly aerosol number concentration + ,TAOD5503D(:,:,:) & !< 3D aerosol optical depth at 550 nm + ,AEXTC55(:,:,:) & !< Aerosol extinction coefficient ! ! Add aerosol optical properties for GOCART (NGAC) - ,ext(:,:,:), asy(:,:,:) & - ,ssa(:,:,:), sca(:,:,:) & + ,ext(:,:,:) & !< aerosol extinction coefficient + ,asy(:,:,:) & !< asymmetry parameter + ,ssa(:,:,:) & !< single-scattering albedo + ,sca(:,:,:) & !< aerosol scattering coefficient ? ! Add aerosol diagnosis fields for GOCART (NGAC) - ,duem(:,:,:), dusd(:,:,:) & - ,dudp(:,:,:), duwt(:,:,:) & - ,dusv(:,:,:), sssv(:,:,:) & - ,suem(:,:,:), susd(:,:,:) & - ,sudp(:,:,:), suwt(:,:,:) & - ,ssem(:,:,:), sssd(:,:,:) & - ,ssdp(:,:,:), sswt(:,:,:) & - ,ocem(:,:,:), ocsd(:,:,:) & - ,ocdp(:,:,:), ocwt(:,:,:) & - ,ocsv(:,:,:), bcsv(:,:,:) & - ,bcem(:,:,:), bcsd(:,:,:) & - ,bcdp(:,:,:), bcwt(:,:,:) & + ,duem(:,:,:) & !< Dust emission fluxes + ,dusd(:,:,:) & !< Dust sedimentation fluxes + ,dudp(:,:,:) & !< Dust dry deposition fluxes + ,duwt(:,:,:) & !< Dust wet deposition fluxes + ,dusv(:,:,:) & !< Dust scavenging fluxes + ,sssv(:,:,:) & !< Seasalt scavenging fluxes + ,suem(:,:,:) & !< Sulfate emission mass flux + ,susd(:,:,:) & !< Sulfate sedimentation mass flux + ,sudp(:,:,:) & !< Sulfate dry deposition mass flux + ,suwt(:,:,:) & !< Sulfate wet deposition mass flux + ,ssem(:,:,:) & !< Seasalt emission fluxes + ,sssd(:,:,:) & !< Seasalt emission/sedimentation + ,ssdp(:,:,:) & !< Seasalt dry deposition fluxes + ,sswt(:,:,:) & !< Seasalt wet deposition fluxes + ,ocem(:,:,:) & !< Organic carbon emission fluxes + ,ocsd(:,:,:) & !< Organic carbon sedimentation fluxes + ,ocdp(:,:,:) & !< Organic carbon dry deposition fluxes + ,ocwt(:,:,:) & !< Organic carbon large wet deposition fluxes + ,ocsv(:,:,:) & !< Organic carbon convective wet deposition fluxes + ,bcsv(:,:,:) & !< Black carbon convective wet deposition fluxes + ,bcem(:,:,:) & !< Black carbon emission fluxes + ,bcsd(:,:,:) & !< Black carbon sedimentation fluxes + ,bcdp(:,:,:) & !< Black carbon dry deposition fluxes + ,bcwt(:,:,:) & !< Black carbon large wet deposition fluxes ! Add air density and thickness for GOCART (NGAC) - ,dpres(:,:,:),rhomid(:,:,:) & + ,dpres(:,:,:) & !< Layer thickness in pressure on hybrid levels + ,rhomid(:,:,:) & !< Air density rhomid ! Add NCAR GFIP ICING - ,icing_gfip(:,:,:),icing_gfis(:,:,:) & + ,icing_gfip(:,:,:) & !< Global Forecast Icing Potential + ,icing_gfis(:,:,:) & !< Global Forecast Icing Severity ! Add NCAR GTG turbulence - ,catedr(:,:,:),mwt(:,:,:),gtg(:,:,:) & - + ,catedr(:,:,:) & !< Clean air turbulence (CAT) eddy dissipation parameter (EDR) + ,mwt(:,:,:) & !< Mountain wave turbulence + ,gtg(:,:,:) & !< Graphical turbulence guidance + ,cit(:,:,:) & !< Convectively-induced turbulence ! AQF - ,ozcon(:,:,:),pmtf(:,:,:) + ,avgozcon(:,:,:) & !< Average ozone concentration + ,avgpmtf(:,:,:) !< Average particulate matter (fine) end module vrbls3d diff --git a/sorc/ncep_post.fd/VRBLS4D_mod.f b/sorc/ncep_post.fd/VRBLS4D_mod.f index 9606a56a01..5e42bd9aa7 100644 --- a/sorc/ncep_post.fd/VRBLS4D_mod.f +++ b/sorc/ncep_post.fd/VRBLS4D_mod.f @@ -1,17 +1,29 @@ -! 01-10-22 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT -! 02-04-17 BALDWIN - MODIFIED TO INCLUDE ALL 3D ARRAYS -! 11-10-18 SARAH LU - MODIFIED TO INCLUDE GOCART AEROSOLS +!> @file +!> @brief VRBLS4D declares 4D variables that are used throughout the UPP code +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2001-10-22 | H CHUANG | MODIFIED TO PROCESS HYBRID MODEL OUTPUT +!> 2002-04-17 | BALDWIN | MODIFIED TO INCLUDE ALL 3D ARRAYS +!> 2011-10-18 | SARAH LU | MODIFIED TO INCLUDE GOCART AEROSOLS +!> 2022-09-18 | Li(Kate) Zhang | MODIFIED TO INCLUDE new NASA GOCART AEROSOLS of NO3 and NH4 module vrbls4d !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! - real, allocatable :: DUST(:,:,:,:) ! dust - real, allocatable :: SALT(:,:,:,:) ! sea salt - real, allocatable :: SOOT(:,:,:,:) ! black carbon - real, allocatable :: WASO(:,:,:,:) ! organic carbon - real, allocatable :: SUSO(:,:,:,:) ! sulfate - real, allocatable :: SMOKE(:,:,:,:) - real, allocatable :: PP25(:,:,:,:) ! PP25 - real, allocatable :: PP10(:,:,:,:) ! PP10 + real, allocatable :: DUST(:,:,:,:) !< dust + real, allocatable :: SALT(:,:,:,:) !< sea salt + real, allocatable :: SOOT(:,:,:,:) !< black carbon + real, allocatable :: WASO(:,:,:,:) !< organic carbon + real, allocatable :: SUSO(:,:,:,:) !< sulfate + real, allocatable :: NO3(:,:,:,:) !< no3 + real, allocatable :: NH4(:,:,:,:) !< nh4 + real, allocatable :: SMOKE(:,:,:,:) !< smoke + real, allocatable :: FV3DUST(:,:,:,:) !< FV3 dust + real, allocatable :: COARSEPM(:,:,:,:) !< coarse dust particulate matter (PM) from RRFS + real, allocatable :: EBB(:,:,:,:) !< Biomass burning emissions + real, allocatable :: PP25(:,:,:,:) !< PP25 - fine particulate matter + real, allocatable :: PP10(:,:,:,:) !< PP10 - particulate matter < 10 microns in diameter ! end module vrbls4d diff --git a/sorc/ncep_post.fd/WETBULB.f b/sorc/ncep_post.fd/WETBULB.f index f22ba0368c..f63b9c73be 100644 --- a/sorc/ncep_post.fd/WETBULB.f +++ b/sorc/ncep_post.fd/WETBULB.f @@ -8,6 +8,7 @@ SUBROUTINE WETBULB(T,Q,PMID,HTM,KARR,TWET) ! MODIFIED FOR HYBRID: OCT 2001, H CHUANG ! 02-01-15 MIKE BALDWIN - WRF VERSION ! 21-07-26 Wen Meng - Restrict compuation from undefined grids +! 21-09-13 Jesse Meng- 2D DECOMPOSITION ! !----------------------------------------------------------------------- ! ROUTINE TO COMPUTE WET BULB TEMPERATURES USING THE LOOK UP TABLE @@ -23,7 +24,8 @@ SUBROUTINE WETBULB(T,Q,PMID,HTM,KARR,TWET) use lookup_mod, only: thl, rdth, jtb, qs0, sqs, rdq, itb, ptbl, plq, ttbl,& pl, rdp, the0, sthe, rdthe, ttblq, itbq, jtbq, rdpq, the0q, stheq,& rdtheq - use ctlblk_mod, only: jsta, jend, im, jsta_2l, jend_2u, lm, spval + use ctlblk_mod, only: jsta, jend, im, jsta_2l, jend_2u, lm, spval, & + ista, iend, ista_2l, iend_2u use cuparm_mod, only: h10e5, capa, epsq, d00, elocp !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none @@ -39,14 +41,14 @@ SUBROUTINE WETBULB(T,Q,PMID,HTM,KARR,TWET) ! SUBROUTINES CALLED: ! TTBLEX ! - real,dimension(IM,jsta_2l:jend_2u,LM),intent(in) :: T,Q, & + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u,LM),intent(in) :: T,Q, & PMID,HTM - integer,dimension(IM,jsta:jend), intent(in) :: KARR - real,dimension(IM,jsta_2l:jend_2u,LM),intent(out) :: TWET + integer,dimension(ista:iend,jsta:jend), intent(in) :: KARR + real,dimension(ista_2l:iend_2u,jsta_2l:jend_2u,LM),intent(out) :: TWET - real, dimension(im,jsta:jend) :: THESP, QQ, PP - integer, dimension(im,jsta:jend) :: KLRES,KHRES,IPTB,ITHTB + real, dimension(ista:iend,jsta:jend) :: THESP, QQ, PP + integer, dimension(ista:iend,jsta:jend) :: KLRES,KHRES,IPTB,ITHTB ! integer I,J,L,ITTB1,ITTBK,IQTBK,IT,KNUML,KNUMH,IQ real TBTK,QBTK,APEBTK,TTHBTK,TTHK,QQK,BQS00K,SQS00K,BQS10K, & @@ -62,7 +64,7 @@ SUBROUTINE WETBULB(T,Q,PMID,HTM,KARR,TWET) !----------------------------------------------------------------------- DO 300 L=1,LM DO 125 J=JSTA,JEND - DO 125 I=1,IM + DO 125 I=ISTA,IEND IF (HTM(I,J,L)<1.0) THEN THESP(I,J)=273.15 cycle @@ -132,7 +134,7 @@ SUBROUTINE WETBULB(T,Q,PMID,HTM,KARR,TWET) KNUMH=0 ! DO 280 J=JSTA,JEND - DO 280 I=1,IM + DO 280 I=ISTA,IEND KLRES(I,J)=0 KHRES(I,J)=0 ! @@ -153,16 +155,16 @@ SUBROUTINE WETBULB(T,Q,PMID,HTM,KARR,TWET) !*** COMPUTE PARCEL TEMPERATURE ALONG MOIST ADIABAT FOR PRESSURE0)THEN - CALL TTBLEX(TWET(1,jsta_2l,L),TTBL,ITB,JTB,KLRES & - ,PMID(1,jsta_2l,L),PL,QQ,PP,RDP,THE0,STHE & + CALL TTBLEX(TWET(ista_2l,jsta_2l,L),TTBL,ITB,JTB,KLRES & + ,PMID(ista_2l,jsta_2l,L),PL,QQ,PP,RDP,THE0,STHE & ,RDTHE,THESP,IPTB,ITHTB) ENDIF !*** !*** COMPUTE PARCEL TEMPERATURE ALONG MOIST ADIABAT FOR PRESSURE>PL !** IF(KNUMH>0)THEN - CALL TTBLEX(TWET(1,jsta_2l,L),TTBLQ,ITBQ,JTBQ,KHRES & - ,PMID(1,jsta_2l,L),PLQ,QQ,PP,RDPQ,THE0Q,STHEQ & + CALL TTBLEX(TWET(ista_2l,jsta_2l,L),TTBLQ,ITBQ,JTBQ,KHRES & + ,PMID(ista_2l,jsta_2l,L),PLQ,QQ,PP,RDPQ,THE0Q,STHEQ & ,RDTHEQ,THESP,IPTB,ITHTB) ENDIF !----------------------------------------------------------------------- diff --git a/sorc/ncep_post.fd/WETFRZLVL.f b/sorc/ncep_post.fd/WETFRZLVL.f index a3aeeede59..63aa39c9e3 100644 --- a/sorc/ncep_post.fd/WETFRZLVL.f +++ b/sorc/ncep_post.fd/WETFRZLVL.f @@ -1,52 +1,33 @@ !> @file -! . . . -!> SUBPROGRAM: WETFRZLVL COMPUTES LEVEL OF 0 WET BULB -!! PRGRMMR: MANIKIN ORG: W/NP2 DATE: 03-11-14 -!! -!! ABSTRACT: -!! THIS ROUTINE COMPUTES THE LOWEST HEIGHT WITH A WET BULB -!! TEMPERATURE OF FREEZING FOR EACH MASS POINT ON THE ETA GRID. -!! THE COMPUTED WET BULB ZERO HEIGHT IS THE MEAN SEA LEVEL -!! HEIGHT. AT EACH MASS POINT WE MOVE UP FROM THE SURFACE TO -!! FIND THE FIRST ETA LAYER WHERE THE TW IS LESS THAN -!! 273.16K. VERTICAL INTERPOLATION IN TEMPERATURE TO THE FREEZING -!! TEMPERATURE GIVES THE FREEZING LEVEL HEIGHT. PRESSURE AND -!! SPECIFIC HUMIDITY ARE INTERPOLATED TO THIS LEVEL AND ALONG WITH -!! THE TEMPERATURE PROVIDE THE FREEZING LEVEL RELATIVE HUMIDITY. -!! IF THE SURFACE (SKIN) TEMPERATURE IS BELOW FREEZING, THE ROUTINE -!! USES SURFACE BASED FIELDS TO COMPUTE THE RELATIVE HUMIDITY. -!! -!! PROGRAM HISTORY LOG: -!! 03-11-14 GEOFF MANIKIN - NEW PROGRAM -!! 04-12-06 G MANIKIN - CORRECTED COMPUTATION OF SFC TEMPERATURE -!! 05-03-11 H CHUANG - WRF VERSION -!! 21-07-26 W Meng - Restrict computation from undefined grids -!! -!! USAGE: CALL WETFRZLVL(TWET,ZWET) -!! INPUT ARGUMENT LIST: -!! TWET - WET BULB TEMPERATURES -!! -!! OUTPUT ARGUMENT LIST: -!! ZWET - ABOVE GROUND LEVEL HEIGHT OF LEVEL WITH 0 WET BULB. -!! -!! OUTPUT FILES: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! REL_HUM -!! LIBRARY: -!! COMMON - -!! LOOPS -!! PVRBLS -!! MASKS -!! MAPOT -!! POSTVAR -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN -!! MACHINE : CRAY C-90 -!! +!> @brief wetfrzlvl() computes level of 0 wet bulb. +!> +!> @author Geoff Manikin W/NP2 @date 2003-11-14 + +!> This routine computes the lowest height with a wet bulb +!> temperature of freezing for each mass point on the eta grid. +!> The computed wet bulb zero height is the mean sea level +!> height. At each mass point we move up from the surface to +!> find the first eta layer where the tw is less than +!> 273.16K. Vertical interpolation in temperature to the freezing +!> temperature gives the freezing level height. Pressure and +!> specific humidity are interpolated to this level and along with +!> the temperature provide the freezing level relative humidity. +!> If the surface (skin) temperature is below freezing, the routine +!> uses surface based fields to compute the relative humidity. +!> +!> @param[in] TWET Wet bulb temperatures. +!> @param[out] ZWET Above ground level height of level with 0 wet bulb. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2003-11-14 | Geoff Manikin | Initial +!> 2004-12-06 | Geoff Manikin | Corrected computation of SFC temperature +!> 2005-03-11 | H CHUANG | WRF Version +!> 2021-07-26 | W Meng | Restrict computation from undefined grids +!> 2021-09-13 | J Meng | 2D DECOMPOSITION +!> +!> @author Geoff Manikin W/NP2 @date 2003-11-14 SUBROUTINE WETFRZLVL(TWET,ZWET) ! @@ -55,14 +36,15 @@ SUBROUTINE WETFRZLVL(TWET,ZWET) use vrbls2d, only: fis, thz0, ths use masks, only: lmh, sm use params_mod, only: gi, p1000, capa, tfrz, d0065, d50 - use ctlblk_mod, only: jsta, jend, im, jsta_2l, jend_2u, lm, spval + use ctlblk_mod, only: jsta, jend, im, jsta_2l, jend_2u, lm, spval, & + ista, iend, ista_2l, iend_2u !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! ! DECLARE VARIABLES. ! - REAL,intent(in) :: TWET(IM,JSTA_2L:JEND_2U,LM) - REAL,intent(out) :: ZWET(IM,jsta:jend) + REAL,intent(in) :: TWET(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LM) + REAL,intent(out) :: ZWET(ista:iend,jsta:jend) ! integer I,J,LLMH,L real HTSFC,THSFC,PSFC,TSFC,DELZ,DELT,ZL,ZU @@ -75,7 +57,7 @@ SUBROUTINE WETFRZLVL(TWET,ZWET) !!$omp& private(delt,delz,htsfc,l,llmh !!$omp& tsfc,zl,zu) DO J=JSTA,JEND - DO I=1,IM + DO I=ISTA,IEND IF(FIS(I,J)==spval)THEN ZWET(I,J)=spval CYCLE diff --git a/sorc/ncep_post.fd/WRFPOST.f b/sorc/ncep_post.fd/WRFPOST.F similarity index 60% rename from sorc/ncep_post.fd/WRFPOST.f rename to sorc/ncep_post.fd/WRFPOST.F index c7c7c3d455..5197d2fac4 100644 --- a/sorc/ncep_post.fd/WRFPOST.f +++ b/sorc/ncep_post.fd/WRFPOST.F @@ -1,66 +1,51 @@ !> @file -! . . . -!> MAIN PROGRAM: WRFPOST -!! PRGMMR: BALDWIN ORG: NSSL/SPC DATE: 2002-06-18 -!! -!! ABSTRACT: -!! THIS PROGRAM DRIVES THE EXTERNAL WRF POST PROCESSOR. -!! -!! PROGRAM HISTORY LOG: -!! 92-12-24 RUSS TREADON - CODED ETAPOST AS STAND ALONE CODE -!! 98-05-29 BLACK - CONVERSION OF POST CODE FROM 1-D TO 2-D -!! 00-02-04 JIM TUCCILLO - PARALLEL VERSION VIA MPI -!! 01-02-15 JIM TUCCILLO - MANY COMMON BLOCKS REPLACED WITH MODULES -!! TO SUPPORT FORTRAN "ALLOCATE"s FOR THE EXACT SIZE OF THE -!! ARRAYS NEEDED BASED ON THE NUMBER OF MPI TASKS. -!! THIS WAS DONE TO REDUCE THE ADDRESS SPACE THAT THE LOADER SEES. -!! THESE CHANGES WERE NECESSARY FOR RUNNING LARGER DOMAINS SUCH AS -!! 12 KMS -!! 01-06-15 JIM TUCCILLO - ADDED ASYNCRONOUS I/O CAPABILITY. IF THERE ARE MORE -!! THAN ONE MPI TASK, THE IO WILL BE DONE AYNCHRONOUSLY BY THE LAST -!! MPI TASK. -!! 02-06-17 MIKE BALDWIN - CONVERT ETAPOST TO WRFPOST. INCLUDE WRF I/O API -!! FOR INPUT OF MODEL DATA. MODIFY CODE TO DEAL WITH C-GRID -!! DATA. STREAMLINE OUTPUT TO A CALL OF ONE SUBROUTINE INSTEAD OF THREE. -!! REPLACE COMMON BLOCKS WITH A LIMITED NUMBER OF MODULES. -!! 04-01-01 H CHUANG - ADDED NMM IO MODULE AND BINARY OPTIONS -!! 05-07-08 Binbin Zhou: Aadded RSM model -!! 05-12-05 H CHUANG - ADDED CAPABILITY TO OUTPUT OFF-HOUR FORECAST WHICH HAS -!! NO IMPACTS ON ON-HOUR FORECAST -!! 06-02-20 CHUANG, BLACK, AND ROGERS - FINALIZED COMPLETE LIST OF NAM -!! OPERATIONAL PRODUCTS FROM WRF -!! 06-02-27 H CHUANG - MODIFIED TO POST MULTIPLE -!! FORECAST HOURS IN ONE EXECUTION -!! 06-03-03 H CHUANG - ADDED PARRISH'S MPI BINARY IO TO READ BINARY -!! WRF FILE AS RANDOM ASSCESS SO THAT VARIABLES IN WRF OUTPUT -!! DON'T HAVE TO BE READ IN IN SPECIFIC ORDER -!! 11-02-06 J WANG - ADD GRIB2 OPTION -!! 11-12-14 SARAH LU - ADD THE OPTION TO READ NGAC AER FILE -!! 12-01-28 J WANG - Use post available fields in xml file for grib2 -!! 13-06-25 S MOORTHI - add gocart_on logical option to save memory -!! 13-10-03 J WANG - add option for po to be pascal, and -!! add gocart_on,d3d_on and popascal to namelist -!! 20-03-25 J MENG - remove grib1 -!! 21-06-20 W Meng - remove reading grib1 and gfsio lib -!! -!! USAGE: WRFPOST -!! INPUT ARGUMENT LIST: -!! NONE -!! -!! OUTPUT ARGUMENT LIST: -!! NONE -!! -!! SUBPROGRAMS CALLED: -!! UTILITIES: -!! NONE -!! LIBRARY: -!! COMMON - CTLBLK -!! RQSTFLD -!! -!! ATTRIBUTES: -!! LANGUAGE: FORTRAN 90 -!! MACHINE : IBM RS/6000 SP -!! +!> @brief wrfpost() drives the external wrf post processor. +!> @return wrfpost +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 1992-12-24 | Russ Treadon | Coded etapost as stand alone code +!> 1998-05-29 | Black | Conversion of post code from 1-D to 2-D +!> 1900-02-04 | Jim Tuccillo | Parallel version via MPI +!> 2001-02-15 | Jim Tuccillo | Many common blocks replaced with modules to support fortran "allocate"s for the exact size of the arrays needed based on the number of mpi tasks. This was done to reduce the address space that the loader sees. These changes were necessary for running larger domains such as 12 kms +!> 2001-06-15 | JIM Tuccillo | Added asyncronous I/O capability. if there are more than one mpi task, the io will be done aynchronously by the last MPI task. +!> 2002-06-17 | Mike Baldwin | Convert etapost to wrfpost. Include wrf I/O api for input of model data. Modify code to deal with C-grid data. Streamline output to a call of one subroutine instead of three. Replace common blocks with a limited number of modules. +!> 2004-01-01 | H Chuang | Added nmm io module and binary options +!> 2005-07-08 | Binbin Zhou | Added RSM model +!> 2005-12-05 | H Chuang | Added capability to output off-hour forecast which has no impacts on on-hour forecast +!> 2006-02-20 | Chuang, Black, and Rogers | Finalized complete list of NAM operational products from WRF +!> 2006-02-27 | H Chuang | Modified to post multiple forecast hours in one execution +!> 2006-03-03 | H Chuang | Added parrish's mpi binary io to read binary WRF file as random asscess so that variables in WRF output don't have to be read in in specific order +!> 2011-02-06 | J Wang | Add grib2 option +!> 2011-12-14 | Sarah Lu | Add the option to read ngac aer file +!> 2012-01-28 | J WANG | Use post available fields in xml file for grib2 +!> 2013-06-25 | S Moorthi | Add gocart_on logical option to save memory +!> 2013-10-03 | J Wang |Add option for po to be pascal, and add gocart_on,d3d_on and popascal to namelist +!> 2020-03-25 | J Meng | Remove grib1 +!> 2021-06-20 | W Meng | Remove reading grib1 and gfsio lib +!> 2021-07-07 | J MENG |2D DECOMPOSITION +!> 2021-10-22 | KaYee Wong | Created formal fortran namelist for itag +!> 2021-11-03 | Tracy Hertneky | Removed SIGIO option +!> 2022-01-14 | W Meng | Remove interfaces INITPOST_GS_NEMS, INITPOST_NEMS_MPIIO, INITPOST_NMM and INITPOST_GFS_NETCDF +!> 2022-03-15 | W Meng | Unify FV3 based interfaces +!> 2022-09-22 | L Zhang | Add option of nasa_on to process ufs-aerosols +!> 2022-11-08 | K Wang | Replace aqfamaq_on with aqf_on +!> 2023-01-24 | Sam Trahan | write_ifi_debug_files flag for IFI debug capability +!> 2023-03-21 | Jesse Meng | Add slrutah_on option to use U Utah SLR +!> 2023-04-04 | Li(Kate Zhang) |Add namelist optoin for CCPP-Chem (UFS-Chem) and 2D diag. output (d2d_chem) for GEFS-Aerosols and CCPP-Chem model. +!> 2023-05-20 | Rahul Mahajan | Bug fix for fileNameFlat as namelist configurable +!> 2023-08-16 | Yali Mao | Add gtg_on logical option +!> 2023-11-29 | Eric James | Add method_blsn logical option +!> 2024-08-19 | Jaymes Kenyon | Adding a call to INITPOST_MPAS +!> 2024-10-29 | Wen Meng | Set iSF_SURFACE_PHYSICS: 1 for NOAH; 2 for NOAH MP; 3 for RUC +!> 2025-07-25 | Jaymes Kenyon | Add "earth_radius" namelist option +!> 2025-11-03 | Nick Szapiro | earth_radius namelist option initialized in CTLBLK instead +!> 2025-12-16 | Ben Blake | Add capecin_2m option to calculate CAPE and CIN with 2-m fields +!> @author Mike Baldwin NSSL/SPC @date 2002-06-18 +!--------------------------------------------------------------------- +!> @return wrfpost +!--------------------------------------------------------------------- PROGRAM WRFPOST ! @@ -135,25 +120,36 @@ PROGRAM WRFPOST !=========================================================================================== ! use netcdf +#if defined(BUILD_WITH_NEMSIO) use nemsio_module, only: nemsio_getheadvar, nemsio_gfile, nemsio_init, nemsio_open, & nemsio_getfilehead,nemsio_close +#endif use CTLBLK_mod, only: filenameaer, me, num_procs, num_servers, mpi_comm_comp, datestr, & mpi_comm_inter, filename, ioform, grib, idat, filenameflux, filenamed3d, gdsdegr, & - spldef, modelname, ihrst, lsmdef,vtimeunits, tprec, pthresh, datahandle, im, jm, lm, & - lp1, lm1, im_jm, isf_surface_physics, nsoil, spl, lsmp1, global, & + spldef, modelname, ihrst, lsmdef,vtimeunits, earth_radius, & + tprec, pthresh, datahandle, im, jm, lm, & + lp1, lm1, im_jm, isf_surface_physics, nsoil, spl, lsmp1, global, imp_physics, & + ista, iend, ista_m, iend_m, ista_2l, iend_2u, & jsta, jend, jsta_m, jend_m, jsta_2l, jend_2u, novegtype, icount_calmict, npset, datapd,& lsm, fld_info, etafld2_tim, eta2p_tim, mdl2sigma_tim, cldrad_tim, miscln_tim, & - mdl2agl_tim, mdl2std_tim, mdl2thandpv_tim, calrad_wcloud_tim, & + mdl2agl_tim, mdl2std_tim, mdl2thandpv_tim, calrad_wcloud_tim,nasa_on,gccpp_on, & fixed_tim, time_output, imin, surfce2_tim, komax, ivegsrc, d3d_on, gocart_on,rdaod, & - readxml_tim, spval, fullmodelname, submodelname, hyb_sigp, filenameflat, aqfcmaq_on + readxml_tim, spval, fullmodelname, submodelname, hyb_sigp, filenameflat, aqf_on,numx, & + run_ifi_tim, slrutah_on, d2d_chem, gtg_on, method_blsn, capecin_2m use grib2_module, only: gribit2,num_pset,nrecout,first_grbtbl,grib_info_finalize - use sigio_module, only: sigio_head - use sigio_r_module, only: sigio_rropen, sigio_rrhead + use upp_ifi_mod, only: write_ifi_debug_files + use allocate_all_upp_mod, only: allocate_all + use de_allocate_upp_mod , only : de_allocate + use read_xml_upp_mod, only: read_xml + use set_outflds_upp_mod, only: set_outflds + use get_postfilename_mod, only: get_postfilename + use process_upp_mod, only: process !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! +#if defined(BUILD_WITH_NEMSIO) type(nemsio_gfile) :: nfile,ffile,rfile - type(sigio_head) :: sighead +#endif INCLUDE "mpif.h" ! ! DECLARE VARIABLES. @@ -165,7 +161,7 @@ PROGRAM WRFPOST real(kind=8) :: time_initpost=0.,INITPOST_tim=0.,btim,bbtim real rinc(5), untcnvt integer :: status=0,iostatusD3D=0,iostatusFlux=0 - integer i,j,iii,l,k,ierr,nrec,ist,lusig,idrt,ncid3d,varid + integer i,j,iii,l,k,ierr,nrec,ist,lusig,idrt,ncid3d,ncid2d,varid integer :: PRNTSEC,iim,jjm,llm,ioutcount,itmp,iret,iunit, & iunitd3d,iyear,imn,iday,LCNTRL,ieof integer :: iostatusAER @@ -173,8 +169,11 @@ PROGRAM WRFPOST ! integer :: kpo,kth,kpv real,dimension(komax) :: po,th,pv - namelist/nampgb/kpo,po,kth,th,kpv,pv,fileNameAER,d3d_on,gocart_on,popascal & - ,hyb_sigp,rdaod,aqfcmaq_on + namelist/nampgb/kpo,po,kth,th,kpv,pv,fileNameAER,d3d_on,gocart_on,gccpp_on, nasa_on,gtg_on,method_blsn,popascal & + ,hyb_sigp,rdaod,d2d_chem, aqf_on,slrutah_on, vtimeunits,numx,write_ifi_debug_files, capecin_2m + integer :: itag_ierr + namelist/model_inputs/fileName,IOFORM,grib,DateStr,MODELNAME,SUBMODELNAME,earth_radius & + ,fileNameFlux,fileNameFlat character startdate*19,SysDepInfo*80,IOWRFNAME*3,post_fname*255 character cgar*1,cdum*4,line*10 @@ -203,8 +202,6 @@ PROGRAM WRFPOST ! IF WE HAVE MORE THAN 1 MPI TASK THEN WE WILL FIRE UP THE IO SERVER ! THE LAST TASK ( IN THE CONTEXT OF MPI_COMM_WORLD ) IS THE I/O SERVER ! - print*,'ME,NUM_PROCS,NUM_SERVERS=',ME,NUM_PROCS,NUM_SERVERS - if (me == 0) CALL W3TAGB('nems ',0000,0000,0000,'np23 ') if ( me >= num_procs ) then @@ -215,42 +212,31 @@ PROGRAM WRFPOST spval = 9.9e10 ! !************************************************************************** -!read namelist - open(5,file='itag') - 98 read(5,111,end=1000) fileName - if (me==0) print*,'fileName= ',fileName - read(5,113) IOFORM - if (me==0) print*,'IOFORM= ',IOFORM - read(5,120) grib - if (me==0) print*,'OUTFORM= ',grib - if(index(grib,"grib") == 0) then -! grib='grib1' !GRIB1 IS NOT SUPPORTED ANYMORE. - grib='grib2' - rewind(5,iostat=ierr) - read(5,111,end=1000) fileName - read(5,113) IOFORM - endif - if (me==0) print*,'OUTFORM2= ',grib - read(5,112) DateStr - read(5,114) FULLMODELNAME - MODELNAME=FULLMODELNAME(1:4) - SUBMODELNAME=FULLMODELNAME(5:) - IF(len_trim(FULLMODELNAME)<5) THEN - SUBMODELNAME='NONE' - ENDIF -! if(MODELNAME == 'NMM')then +!KaYee: Read itag in Fortran Namelist format +!Set defaults + SUBMODELNAME='NONE' +!Set control file name + fileNameFlat='postxconfig-NT.txt' + numx=1 +!open namelist + open(5,file='itag') + read(5,nml=model_inputs,iostat=itag_ierr,err=888) +888 if (itag_ierr /= 0) then + print*,'Incorrect namelist variable(s) found in the itag file,stopping.' + stop + endif + if (me == 0) write(6, model_inputs) + +! if(MODELNAME == 'NMM')then ! read(5,1114) VTIMEUNITS ! 1114 format(a4) ! if (me==0) print*,'VALID TIME UNITS = ', VTIMEUNITS -! endif +! endif ! - 303 format('FULLMODELNAME="',A,'" MODELNAME="',A,'" & - SUBMODELNAME="',A,'"') + 303 format('MODELNAME="',A,'" SUBMODELNAME="',A,'"') - write(0,*)'FULLMODELNAME: ', FULLMODELNAME -! MODELNAME, SUBMODELNAME + if(me==0) write(*,*)'MODELNAME: ', MODELNAME, SUBMODELNAME - if (me==0) print 303,FULLMODELNAME,MODELNAME,SUBMODELNAME ! assume for now that the first date in the stdin file is the start date read(DateStr,300) iyear,imn,iday,ihrst,imin if (me==0) write(*,*) 'in WRFPOST iyear,imn,iday,ihrst,imin', & @@ -270,29 +256,10 @@ PROGRAM WRFPOST 120 format(a5) 121 format(a4) - if (me==0) print*,'MODELNAME= ',MODELNAME,'grib=',grib -!Chuang: If model is GFS, read in flux file name from unit5 - if(MODELNAME == 'GFS' .OR. MODELNAME == 'FV3R') then - read(5,111,end=117) fileNameFlux - if (me == 0) print*,'first two file names in GFS or FV3= ' & - ,trim(fileName),trim(fileNameFlux) - 117 continue - - read(5,111,end=118) fileNameD3D - if (me == 0) print*,'D3D names in GFS= ',trim(fileNameD3D) - 118 continue - - end if - -! -! set ndegr -! if(grib=='grib1') then -! gdsdegr = 1000. -! else if (grib=='grib2') then +!KaYee: Read in GFS/FV3 runs in Fortran Namelist Format. if(grib=='grib2') then gdsdegr = 1.d6 endif - if (me==0) print *,'gdsdegr=',gdsdegr ! ! set default for kpo, kth, th, kpv, pv kpo = 0 @@ -305,28 +272,70 @@ PROGRAM WRFPOST hyb_sigp = .true. d3d_on = .false. gocart_on = .false. - aqfcmaq_on = .false. + gccpp_on = .false. + nasa_on = .false. + aqf_on = .false. + slrutah_on = .false. + gtg_on = .false. + method_blsn = .true. + capecin_2m = .false. popascal = .false. fileNameAER = '' rdaod = .false. -! gocart_on = .true. -! d3d_on = .true. + d2d_chem = .false. + vtimeunits = '' - if(MODELNAME == 'RAPR') then - read(5,*,iostat=iret,end=119) kpo - else - read(5,nampgb,iostat=iret,end=119) - endif -! if(kpo > komax)print*,'pressure levels cannot exceed ',komax; STOP -! if(kth > komax)print*,'isent levels cannot exceed ',komax; STOP -! if(kpv > komax)print*,'PV levels cannot exceed ',komax; STOP + read(5,nampgb,iostat=iret,end=119) 119 continue + if (me == 0) write(6, nampgb) + if(mod(num_procs,numx)/=0) then + if (me==0) then + print*,'total proces, num_procs=', num_procs + print*,'number of subdomain in x direction, numx=', numx + print*,'remainder of num_procs/numx = ', mod(num_procs,numx) + print*,'Warning!!! the remainder of num_procs/numx is not 0, reset numx=1 & + & in this run or you adjust numx in the itag file to restart' + endif +! stop 9999 + numx=1 + if(me == 0) print*,'Warning!!! Reset numx as 1, numx=',numx + endif + if(numx>num_procs/2) then + if (me==0) then + print*,'total proces, num_procs=', num_procs + print*,'number of subdomain in x direction, numx=', numx + print*,'Warning!!! numx cannot exceed num_procs/2, reset numx=1 in this run' + print*,'or you adjust numx in the itag file to restart' + endif + numx=1 + if(me == 0) print*,'Warning!!! Reset numx as 1, numx=',numx + endif if(me == 0) then print*,'komax,iret for nampgb= ',komax,iret - print*,'komax,kpo,kth,th,kpv,pv,fileNameAER,popascal= ',komax,kpo & - & ,kth,th(1:kth),kpv,pv(1:kpv),trim(fileNameAER),popascal + print*,'komax,kpo,kth,th,kpv,pv,fileNameAER,nasa_on,popascal= ',komax,kpo & + & ,kth,th(1:kth),kpv,pv(1:kpv),trim(fileNameAER),nasa_on,popascal + print*,'NUM_PROCS=',NUM_PROCS + print*,'numx= ',numx endif + IF(TRIM(IOFORM) /= 'netcdfpara' .AND. TRIM(IOFORM) /= 'netcdf' ) THEN + numx=1 + if(me == 0) print*,'2D decomposition only supports netcdfpara IO.' + if(me == 0) print*,'Reset numx= ',numx + ENDIF + + IF(MODELNAME /= 'FV3R' .AND. MODELNAME /= 'GFS') THEN + numx=1 + if(me == 0) print*,'2D decomposition only supports GFS and FV3R.' + if(me == 0) print*,'Reset numx= ',numx + ENDIF + + IF (earth_radius > 0.) THEN + if(me == 0) print*,'Found earth_radius in namelist: using this value according to GRIB2 Table 3.2, Code Figure 1' + ELSE + if(me == 0) print*,'No earth_radius found in namelist: encoding a standard value from GRIB2 Table 3.2' + ENDIF + ! set up pressure level from POSTGPVARS or DEFAULT if(kpo == 0) then ! use default pressure levels @@ -342,15 +351,6 @@ PROGRAM WRFPOST if(me == 0) then print*,'using pressure levels from POSTGPVARS' endif - if(MODELNAME == 'RAPR')then - read(5,*) (po(l),l=1,kpo) -! CRA READ VALID TIME UNITS - read(5,121) VTIMEUNITS - if(me == 0) then - print*,'VALID TIME UNITS = ', VTIMEUNITS - endif -! CRA - endif lsm = kpo if( .not. popascal ) then untcnvt = 100. @@ -368,25 +368,9 @@ PROGRAM WRFPOST end if end if LSMP1 = LSM+1 - if (me==0) print*,'LSM, SPL = ',lsm,spl(1:lsm) -!Chuang, Jun and Binbin: If model is RSM, read in precip accumulation frequency (sec) from unit5 - if(MODELNAME == 'RSM') then - read(5,115)PRNTSEC - TPREC = PRNTSEC/3600.0 - print*,'TPREC in RSM= ',TPREC - end if - 115 format(f7.1) 116 continue -!set control file name - fileNameFlat='postxconfig-NT.txt' - if(MODELNAME == 'GFS') then -! read(5,*) line - read(5,111,end=125) fileNameFlat - 125 continue -! if(len_trim(fileNameFlat)<5) fileNameFlat = 'postxconfig-NT.txt' - if (me == 0) print*,'Post flat name in GFS= ',trim(fileNameFlat) - endif + ! set PTHRESH for different models if(MODELNAME == 'NMM')then PTHRESH = 0.000004 @@ -394,13 +378,11 @@ PROGRAM WRFPOST PTHRESH = 0.000001 end if !Chuang: add dynamical allocation - if(TRIM(IOFORM) == 'netcdf') THEN + if(TRIM(IOFORM) == 'netcdf' .OR. TRIM(IOFORM) == 'netcdfpara') THEN IF(MODELNAME == 'NCAR' .OR. MODELNAME == 'RAPR' .OR. MODELNAME == 'NMM') THEN call ext_ncd_ioinit(SysDepInfo,Status) - print*,'called ioinit', Status call ext_ncd_open_for_read( trim(fileName), 0, 0, " ", & DataHandle, Status) - print*,'called open for read', Status if ( Status /= 0 ) then print*,'error opening ',fileName, ' Status = ', Status ; stop endif @@ -417,13 +399,11 @@ PROGRAM WRFPOST LM1 = LM-1 IM_JM = IM*JM - print*,'im jm lm from wrfout= ',im,jm, lm - ! Read and set global value for surface physics scheme call ext_ncd_get_dom_ti_integer(DataHandle & ,'SF_SURFACE_PHYSICS',itmp,1,ioutcount, status ) iSF_SURFACE_PHYSICS = itmp - print*,'SF_SURFACE_PHYSICS= ',iSF_SURFACE_PHYSICS + ! set NSOIL to 4 as default for NOAH but change if using other ! SFC scheme NSOIL = 4 @@ -434,66 +414,44 @@ PROGRAM WRFPOST ELSE IF(itmp == 7) then ! Pleim Xu NSOIL = 2 END IF - print*,'NSOIL from wrfout= ',NSOIL call ext_ncd_ioclose ( DataHandle, Status ) ELSE -! use netcdf lib directly to read FV3 output in netCDF +! use parallel netcdf lib directly to read FV3 output in netCDF spval = 9.99e20 - Status = nf90_open(trim(fileName),NF90_NOWRITE, ncid3d) + Status = nf90_open(trim(fileName),IOR(NF90_NOWRITE,NF90_MPIIO), & + ncid3d,comm=mpi_comm_world,info=mpi_info_null) if ( Status /= 0 ) then print*,'error opening ',fileName, ' Status = ', Status stop endif -! get dimesions - Status = nf90_inq_dimid(ncid3d,'grid_xt',varid) - if ( Status /= 0 ) then - print*,Status,varid - STOP 1 - end if - Status = nf90_inquire_dimension(ncid3d,varid,len=im) - if ( Status /= 0 ) then - print*,Status - STOP 1 - end if - Status = nf90_inq_dimid(ncid3d,'grid_yt',varid) + Status = nf90_open(trim(fileNameFlux),IOR(NF90_NOWRITE,NF90_MPIIO), & + ncid2d,comm=mpi_comm_world,info=mpi_info_null) if ( Status /= 0 ) then - print*,Status,varid - STOP 1 - end if - Status = nf90_inquire_dimension(ncid3d,varid,len=jm) - if ( Status /= 0 ) then - print*,Status - STOP 1 - end if - Status = nf90_inq_dimid(ncid3d,'pfull',varid) - if ( Status /= 0 ) then - print*,Status,varid - STOP 1 - end if - Status = nf90_inquire_dimension(ncid3d,varid,len=lm) - if ( Status /= 0 ) then - print*,Status - STOP 1 - end if - LP1 = LM+1 - LM1 = LM-1 - IM_JM = IM*JM -! set NSOIL to 4 as default for NOAH but change if using other -! SFC scheme - NSOIL = 4 - - print*,'im jm lm nsoil from fv3 output = ',im,jm,lm,nsoil - END IF -! use netcdf_parallel lib directly to read FV3 output in netCDF - ELSE IF(TRIM(IOFORM) == 'netcdfpara') THEN - spval = 9.99e20 - Status = nf90_open(trim(fileName),ior(nf90_nowrite, nf90_mpiio), & - ncid3d, comm=mpi_comm_world, info=mpi_info_null) - if ( Status /= 0 ) then - print*,'error opening ',fileName, ' Status = ', Status + print*,'error opening ',fileNameFlux, ' Status = ', Status stop endif +! read in LSM index and nsoil here + Status=nf90_get_att(ncid2d,nf90_global,'landsfcmdl', iSF_SURFACE_PHYSICS) + if(Status/=0)then + print*,'landsfcmdl not found; assigning to 2' + iSF_SURFACE_PHYSICS=2 !set LSM physics to 2 for NOAH MP + ! LSM physics 1 for NOAH + endif +! if(iSF_SURFACE_PHYSICS<2)then +! iSF_SURFACE_PHYSICS=2 !set LSM physics to 2 for NOAH +! endif + Status=nf90_get_att(ncid2d,nf90_global,'nsoil', NSOIL) + if(Status/=0)then + print*,'nsoil not found; assigning to 4' + NSOIL=4 !set nsoil to 4 for NOAH + endif +! read imp_physics + Status=nf90_get_att(ncid2d,nf90_global,'imp_physics',imp_physics) + if(Status/=0)then + print*,'imp_physics not found; assigning to GFDL 11' + imp_physics=11 + endif ! get dimesions Status = nf90_inq_dimid(ncid3d,'grid_xt',varid) if ( Status /= 0 ) then @@ -503,8 +461,8 @@ PROGRAM WRFPOST Status = nf90_inquire_dimension(ncid3d,varid,len=im) if ( Status /= 0 ) then print*,Status - STOP 1 - end if + STOP 1 + end if Status = nf90_inq_dimid(ncid3d,'grid_yt',varid) if ( Status /= 0 ) then print*,Status,varid @@ -530,21 +488,21 @@ PROGRAM WRFPOST IM_JM = IM*JM ! set NSOIL to 4 as default for NOAH but change if using other ! SFC scheme - NSOIL = 4 - print*,'im jm lm nsoil from fv3 output = ',im,jm,lm,nsoil +! NSOIL = 4 + END IF ELSE IF(TRIM(IOFORM) == 'binary' .OR. & TRIM(IOFORM) == 'binarympiio' ) THEN print*,'WRF Binary format is no longer supported' STOP 9996 ! NEMSIO format +#if defined(BUILD_WITH_NEMSIO) ELSE IF(TRIM(IOFORM) == 'binarynemsio' .or. & TRIM(IOFORM) == 'binarynemsiompiio' )THEN spval = 9.99e20 IF(ME == 0)THEN call nemsio_init(iret=status) - print *,'nemsio_init, iret=',status call nemsio_open(nfile,trim(filename),'read',iret=status) if ( Status /= 0 ) then print*,'error opening ',fileName, ' Status = ', Status ; stop @@ -571,9 +529,7 @@ PROGRAM WRFPOST call mpi_bcast(lm, 1,MPI_INTEGER,0, mpi_comm_comp,status) call mpi_bcast(nsoil,1,MPI_INTEGER,0, mpi_comm_comp,status) - if (me == 0) print*,'im jm lm nsoil from NEMS= ',im,jm, lm ,nsoil call mpi_bcast(global,1,MPI_LOGICAL,0,mpi_comm_comp,status) - if (me == 0) print*,'Is this a global run ',global LP1 = LM+1 LM1 = LM-1 IM_JM = IM*JM @@ -597,75 +553,7 @@ PROGRAM WRFPOST ! print*,'iostatusD3D in WRFPOST= ',iostatusD3D END IF - - ELSE IF(TRIM(IOFORM) == 'sigio' )THEN - - IF(MODELNAME == 'GFS') THEN - lusig = 32 - - !IF(ME == 0)THEN - - call sigio_rropen(lusig,trim(filename),status) - - if ( Status /= 0 ) then - print*,'error opening ',fileName, ' Status = ', Status ; stop - endif -!--- - call sigio_rrhead(lusig,sighead,status) - if ( Status /= 0 ) then - print*,'error finding GFS dimensions '; stop - else - idrt = 4 ! set default to Gaussian first - call getenv('IDRT',cgar) ! then read idrt to see if user request latlon - if(cgar /= " ")then - read(cgar,'(I1)',iostat=Status) idrt - !if(Status = =0)idrt = idum - call getenv('LONB',cdum) - read(cdum,'(I4)',iostat=Status) im - if(Status /= 0)then - print*,'error reading user specified lonb for latlon grid, stopping' - call mpi_abort() - stop - end if - call getenv('LATB',cdum) - read(cdum,'(I4)',iostat=Status)jm - if(Status /= 0)then - print*,'error reading user specified latb for latlon grid, stopping' - call mpi_abort() - stop - end if - else - idrt = 4 - im = sighead%lonb - jm = sighead%latb - endif - print*,'idrt=',idrt - lm = sighead%levs - end if - nsoil = 4 -! opening GFS flux file - if(me == 0)then - iunit = 33 - call baopenr(iunit,trim(fileNameFlux),iostatusFlux) - if(iostatusFlux /= 0)print*,'flux file not opened' - iunitd3d = 34 - call baopenr(iunitd3d,trim(fileNameD3D),iostatusD3D) -! iostatusD3D=-1 - END IF -! CALL mpi_bcast(im, 1,MPI_INTEGER,0, mpi_comm_comp,status) -! call mpi_bcast(jm, 1,MPI_INTEGER,0, mpi_comm_comp,status) -! call mpi_bcast(lm, 1,MPI_INTEGER,0, mpi_comm_comp,status) -! call mpi_bcast(nsoil, 1,MPI_INTEGER,0, mpi_comm_comp,status) - call mpi_bcast(iostatusFlux,1,MPI_INTEGER,0, mpi_comm_comp,status) - call mpi_bcast(iostatusD3D, 1,MPI_INTEGER,0, mpi_comm_comp,status) - print*,'im jm lm nsoil from GFS= ',im,jm, lm ,nsoil - LP1 = LM+1 - LM1 = LM-1 - IM_JM = IM*JM - ELSE - print*,'post only reads sigma files for GFS, stopping';stop - END IF - +#endif ELSE PRINT*,'UNKNOWN MODEL OUTPUT FORMAT, STOPPING' STOP 9999 @@ -673,8 +561,6 @@ PROGRAM WRFPOST CALL MPI_FIRST() - print*,'jsta,jend,jsta_m,jend_m,jsta_2l,jend_2u,spval=',jsta, & - jend,jsta_m,jend_m, jsta_2l,jend_2u,spval CALL ALLOCATE_ALL() ! @@ -703,28 +589,20 @@ PROGRAM WRFPOST ! Reading model output for different models and IO format - IF(TRIM(IOFORM) == 'netcdf') THEN + IF(TRIM(IOFORM) == 'netcdf' .OR. TRIM(IOFORM) == 'netcdfpara') THEN IF(MODELNAME == 'NCAR' .OR. MODELNAME == 'RAPR') THEN - print*,'CALLING INITPOST TO PROCESS NCAR NETCDF OUTPUT' - CALL INITPOST - ELSE IF(MODELNAME == 'NMM') THEN - print*,'CALLING INITPOST_NMM TO PROCESS NMM NETCDF OUTPUT' - CALL INITPOST_NMM - ELSE IF (MODELNAME == 'FV3R') THEN -! use netcdf library to read output directly - print*,'CALLING INITPOST_NETCDF' - CALL INITPOST_NETCDF(ncid3d) - ELSE IF (MODELNAME == 'GFS') THEN - print*,'CALLING INITPOST_GFS_NETCDF' - CALL INITPOST_GFS_NETCDF(ncid3d) + IF (SUBMODELNAME == 'MPAS') THEN + CALL INITPOST_MPAS + ELSE + CALL INITPOST + ENDIF + ELSE IF (MODELNAME == 'FV3R' .OR. MODELNAME == 'GFS') THEN +! use parallel netcdf library to read output directly + CALL INITPOST_NETCDF(ncid2d,ncid3d) ELSE PRINT*,'POST does not have netcdf option for model,',MODELNAME,' STOPPING,' STOP 9998 END IF -! use netcdf_parallel library to read fv3 output - ELSE IF(TRIM(IOFORM) == 'netcdfpara') THEN - print*,'CALLING INITPOST_GFS_NETCDF_PARA' - CALL INITPOST_GFS_NETCDF_PARA(ncid3d) ELSE IF(TRIM(IOFORM) == 'binarympiio') THEN IF(MODELNAME == 'NCAR' .OR. MODELNAME == 'RAPR' .OR. MODELNAME == 'NMM') THEN print*,'WRF BINARY IO FORMAT IS NO LONGER SUPPORTED, STOPPING' @@ -736,13 +614,10 @@ PROGRAM WRFPOST PRINT*,'POST does not have mpiio option for this model, STOPPING' STOP 9998 END IF +#if defined(BUILD_WITH_NEMSIO) ELSE IF(TRIM(IOFORM) == 'binarynemsio') THEN IF(MODELNAME == 'NMM') THEN CALL INITPOST_NEMS(NREC,nfile) - ELSE IF(MODELNAME == 'GFS') THEN -! CALL INITPOST_GFS_NEMS(NREC,iostatusFlux,iostatusD3D,nfile,ffile) - CALL INITPOST_GFS_NEMS(NREC,iostatusFlux,iostatusD3D,iostatusAER, & - nfile,ffile,rfile) ELSE PRINT*,'POST does not have nemsio option for model,',MODELNAME,' STOPPING,' STOP 9998 @@ -750,11 +625,7 @@ PROGRAM WRFPOST END IF ELSE IF(TRIM(IOFORM) == 'binarynemsiompiio')THEN - IF(MODELNAME == 'NMM') THEN -! close nemsio file for serial read - call nemsio_close(nfile,iret=status) - CALL INITPOST_NEMS_MPIIO() - ELSE IF(MODELNAME == 'GFS') THEN + IF(MODELNAME == 'GFS') THEN ! close nemsio file for serial read call nemsio_close(nfile,iret=status) call nemsio_close(ffile,iret=status) @@ -766,14 +637,7 @@ PROGRAM WRFPOST STOP 9999 END IF - ELSE IF(TRIM(IOFORM) == 'sigio')THEN - IF(MODELNAME == 'GFS') THEN - CALL INITPOST_GFS_SIGIO(lusig,iunit,iostatusFlux,iostatusD3D,idrt,sighead) - ELSE - PRINT*,'POST does not have sigio option for this model, STOPPING' - STOP 99981 - END IF - +#endif ELSE PRINT*,'UNKNOWN MODEL OUTPUT FORMAT, STOPPING' STOP 9999 @@ -833,27 +697,31 @@ PROGRAM WRFPOST ! -------- grib2 processing --------------- ! ------------------ ! elseif (grib == "grib2") then - if (me==0) write(0,*) ' in WRFPOST OUTFORM= ',grib - if (me==0) write(0,*) ' GRIB1 IS NOT SUPPORTED ANYMORE' + if (me==0) write(*,*) ' in WRFPOST OUTFORM= ',grib + if (me==0) write(*,*) ' GRIB1 IS NOT SUPPORTED ANYMORE' if (grib == "grib2") then do while (npset < num_pset) npset = npset+1 - if (me==0) write(0,*)' in WRFPOST npset=',npset,' num_pset=',num_pset + if (me==0) write(*,*)' in WRFPOST npset=',npset,' num_pset=',num_pset CALL SET_OUTFLDS(kth,th,kpv,pv) - if (me==0) write(0,*)' in WRFPOST size datapd',size(datapd) + if (me==0) write(*,*)' in WRFPOST size datapd',size(datapd) if(allocated(datapd)) deallocate(datapd) - allocate(datapd(im,1:jend-jsta+1,nrecout+100)) +!Jesse x-decomposition +! allocate(datapd(im,1:jend-jsta+1,nrecout+100)) + allocate(datapd(1:iend-ista+1,1:jend-jsta+1,nrecout+100)) !$omp parallel do private(i,j,k) do k=1,nrecout+100 do j=1,jend+1-jsta - do i=1,im +!Jesse x-decomposition +! do i=1,im + do i =1,iend+1-ista datapd(i,j,k) = 0. enddo enddo enddo call get_postfilename(post_fname) - if (me==0) write(0,*)'post_fname=',trim(post_fname) - if (me==0) write(0,*)'get_postfilename,post_fname=',trim(post_fname), & + if (me==0) write(*,*)'post_fname=',trim(post_fname) + if (me==0) write(*,*)'get_postfilename,post_fname=',trim(post_fname), & 'npset=',npset, 'num_pset=',num_pset, & 'iSF_SURFACE_PHYSICS=',iSF_SURFACE_PHYSICS ! @@ -865,11 +733,11 @@ PROGRAM WRFPOST CALL PROCESS(kth,kpv,th(1:kth),pv(1:kpv),iostatusD3D) IF(ME == 0) WRITE(6,*)'WRFPOST: PREPARE TO PROCESS NEXT GRID' ! -! write(0,*)'enter gribit2 before mpi_barrier' +! write(*,*)'enter gribit2 before mpi_barrier' call mpi_barrier(mpi_comm_comp,ierr) ! if(me==0)call w3tage('bf grb2 ') -! write(0,*)'enter gribit2 after mpi barrier' +! write(*,*)'enter gribit2 after mpi barrier' call gribit2(post_fname) deallocate(datapd) deallocate(fld_info) @@ -908,6 +776,7 @@ PROGRAM WRFPOST print*, 'FIXED_tim = ',FIXED_tim print*, 'MDL2THANDPV_tim = ',MDL2THANDPV_tim print*, 'CALRAD_WCLOUD_tim = ',CALRAD_WCLOUD_tim + print*, 'RUN_IFI_tim = ',RUN_IFI_tim print*, 'Total time = ',(mpi_wtime() - bbtim) print*, 'Time for OUTPUT = ',time_output print*, 'Time for READxml = ',READxml_tim diff --git a/sorc/ncep_post.fd/ZENSUN.f b/sorc/ncep_post.fd/ZENSUN.f index a0c0412fb2..75ba8a1806 100644 --- a/sorc/ncep_post.fd/ZENSUN.f +++ b/sorc/ncep_post.fd/ZENSUN.f @@ -1,75 +1,64 @@ !> @file -! . . . . -!> subprogram: zensun make sun zenith and sun azimuth angle -!! -!! prgmmr: Paul Ricchiazzi org: Earth Space Research Group,UCSB date: 1992-10-23 -!! -!! abstract: -!! Compute solar position information as a function of -!! geographic coordinates, date and time. -!! -!! program history log: -!! 2005-10-21 kazumori - reformatted for GSI -!! -!! input argument list: -!! day - Julian day (positive scalar or vector) -!! (spring equinox = 80) -!! (summer solstice= 171) -!! (fall equinox = 266) -!! (winter solstice= 356) -!! time - Universal Time in hours (scalar or vector) -!! lat - geographic latitude of point on earth's surface (degrees) -!! lon - geographic longitude of point on earth's surface (degrees) -!! -!! output argument list: -!! sun_zenith - solar zenith angle -!! sun_azimuth - solar azimuth angle -!! -!! comments: -!! -!! -!! PROCEDURE: -!! -!! 1. Calculate the subsolar point latitude and longitude, based on -!! DAY and TIME. Since each year is 365.25 days long the exact -!! value of the declination angle changes from year to year. For -!! precise values consult THE AMERICAN EPHEMERIS AND NAUTICAL -!! ALMANAC published yearly by the U.S. govt. printing office. The -!! subsolar coordinates used in this code were provided by a -!! program written by Jeff Dozier. -!! -!! 2. Given the subsolar latitude and longitude, spherical geometry is -!! used to find the solar zenith, azimuth and flux multiplier. -!! -!! eqt = equation of time (minutes) ! solar longitude correction = -15*eqt -!! dec = declination angle (degrees) = solar latitude -!! -!! LOWTRAN v7 data (25 points) -!! The LOWTRAN solar position data is characterized by only 25 points. -!! This should predict the subsolar angles within one degree. For -!! increased accuracy add more data points. -!! -!!nday=[ 1., 9., 21., 32., 44., 60., 91., 121., 141., 152.,$ -!! 160., 172., 182., 190., 202., 213., 244., 274., 305., 309.,$ -!! 325., 335., 343., 355., 366.] -!! -!!eqt=[ -3.23, -6.83,-11.17,-13.57,-14.33,-12.63, -4.2, 2.83, 3.57, 2.45,$ -!! 1.10, -1.42, -3.52, -4.93, -6.25, -6.28,-0.25, 10.02, 16.35, 16.38,$ -!! 14.3, 11.27, 8.02, 2.32, -3.23] -!! -!!dec=[-23.07,-22.22,-20.08,-17.32,-13.62, -7.88, 4.23, 14.83, 20.03, 21.95,$ -!! 22.87, 23.45, 23.17, 22.47, 20.63, 18.23, 8.58, -2.88,-14.18,-15.45,$ -!! -19.75,-21.68,-22.75,-23.43,-23.07] -!! -!! Analemma information from Jeff Dozier -!! This data is characterized by 74 points -!! -!! -!! attributes: -!! language: f90 -!! machine: ibm RS/6000 SP -!! -!! +!> @brief zensun() makes sun zenith and sun azimuth angle. +!> +!> @author Paul Ricchiazzi Earth Space Research Group,UCSB @date 1992-10-23 +!> This subroutine computes solar position information as a function of +!> geographic coordinates, date and time. +!> +!> +!> @note Procedure: +!> +!> 1. Calculate the subsolar point latitude and longitude, based on +!> DAY and TIME. Since each year is 365.25 days long the exact +!> value of the declination angle changes from year to year. For +!> precise values consult THE AMERICAN EPHEMERIS AND NAUTICAL +!> ALMANAC published yearly by the U.S. govt. printing office. The +!> subsolar coordinates used in this code were provided by a +!> program written by Jeff Dozier. +!> +!> 2. Given the subsolar latitude and longitude, spherical geometry is +!> used to find the solar zenith, azimuth and flux multiplier. +!> +!> eqt = equation of time (minutes) ! solar longitude correction = -15*eqt +!> dec = declination angle (degrees) = solar latitude +!> +!> LOWTRAN v7 data (25 points) +!> The LOWTRAN solar position data is characterized by only 25 points. +!> This should predict the subsolar angles within one degree. For +!> increased accuracy add more data points. +!> +!> nday=[ 1., 9., 21., 32., 44., 60., 91., 121., 141., 152.,$ +!> 160., 172., 182., 190., 202., 213., 244., 274., 305., 309.,$ +!> 325., 335., 343., 355., 366.] +!> +!> eqt=[ -3.23, -6.83,-11.17,-13.57,-14.33,-12.63, -4.2, 2.83, 3.57, 2.45,$ +!> 1.10, -1.42, -3.52, -4.93, -6.25, -6.28,-0.25, 10.02, 16.35, 16.38,$ +!> 14.3, 11.27, 8.02, 2.32, -3.23] +!> +!> dec=[-23.07,-22.22,-20.08,-17.32,-13.62, -7.88, 4.23, 14.83, 20.03, 21.95,$ +!> 22.87, 23.45, 23.17, 22.47, 20.63, 18.23, 8.58, -2.88,-14.18,-15.45,$ +!> -19.75,-21.68,-22.75,-23.43,-23.07] +!> +!> Analemma information from Jeff Dozier +!> +!> This data is characterized by 74 points. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2005-10-21 | kazumori | Reformatted for GSI +!> 2025-09-30 | C.Hill | Corrected final calculation of sun_zenith. +!> +!> @author Paul Ricchiazzi Earth Space Research Group,UCSB @date 1992-10-23 +!------------------------------------------------------------------------------------- +!> @brief Makes sun zenith and sun azimuth angle. +!> @param[in] day integer Julian day (positive scalar or vector), (spring equinox = 80), (summer solstice= 171), (fall equinox = 266), (winter solstice= 356). +!> @param[in] time real Universal Time in hours (scalar or vector). +!> @param[in] lat real Geographic latitude of point on earth's surface (degrees). +!> @param[in] lon real Geographic longitude of point on earth's surface (degrees). +!> @param[in] pi real The mathematical constant pi. +!> @param[out] sun_zenith real Solar zenith angle. +!> @param[out] sun_azimuth real Solar azimuth angle. subroutine zensun(day,time,lat,lon,pi,sun_zenith,sun_azimuth) ! @@ -232,7 +221,7 @@ subroutine zensun(day,time,lat,lon,pi,sun_zenith,sun_azimuth) xx=sin(t1)*sin(p1-p0) yy=sin(t0)*cos(t1)-cos(t0)*sin(t1)*cos(p1-p0) - sun_zenith=90-acos(zz)/(pi/180) + sun_zenith=acos(zz)/(pi/180) sun_azimuth=atan2(xx,yy)/(pi/180) return diff --git a/sorc/ncep_post.fd/build_upp_lib.sh b/sorc/ncep_post.fd/build_upp_lib.sh deleted file mode 100755 index b3a01dae3f..0000000000 --- a/sorc/ncep_post.fd/build_upp_lib.sh +++ /dev/null @@ -1,54 +0,0 @@ -SHELL=/bin/sh - -module purge -set -x -mac=$(hostname | cut -c1-1) -mac2=$(hostname | cut -c1-2) - -if [ $mac2 = hf ] ; then # For Hera - machine=hera - . /etc/profile - . /etc/profile.d/modules.sh -elif [ $mac = f ] ; then # For Jet - machine=jet - . /etc/profile - . /etc/profile.d/modules.sh -elif [ $mac = v -o $mac = m ] ; then # For Dell - machine=wcoss_dell_p3 - . $MODULESHOME/init/bash -elif [ $mac = t -o $mac = e -o $mac = g ] ; then # For WCOSS - machine=wcoss - . /usrx/local/Modules/default/init/bash -elif [ $mac2 = s4 ] ; then # For S4 - machine=s4 - . /etc/profile -elif [ $mac = l -o $mac = s ] ; then # wcoss_c (i.e. luna and surge) - export machine=cray-intel -elif [ $mac = O ] ; then # For Orion - machine=orion - . /etc/profile -fi -export version=${1:-"v8.0.0"} - -moduledir=`dirname $(readlink -f ../../modulefiles/post)` -module use -a ${moduledir} -module load upp/lib-${machine} -#module load nceppost_modulefile - -# -module list - -#sleep 1 - -BASE=`pwd` - -##################################### -cd ${BASE} -rm *.o *.mod incmod -#mkdir -m 775 -p $BASE/../../lib/include/ncep_post_${version}_4 -make -f makefile_lib clean -mkdir -m 775 -p include/upp_4 -make -f makefile_lib - -exit 0 - diff --git a/sorc/ncep_post.fd/cuparm.f b/sorc/ncep_post.fd/cuparm.f index 2de97b1194..5c3e56c344 100644 --- a/sorc/ncep_post.fd/cuparm.f +++ b/sorc/ncep_post.fd/cuparm.f @@ -1,26 +1,55 @@ +!> @file +!> @brief cuparm_mod defines variables used for cumulus parameterization module cuparm_mod -! + implicit none -! - real,parameter :: H1=1.E0,H1D5=1.5E0,H2D5=2.5E0,H3000=3000.E0, & - H10E5=100000.E0,D00=0.E0,D125=.125E0,D50=.5E0,D608=.608E0, & - G=9.8E0,CP=1004.6E0,CAPA=0.28589641E0,ROG=287.04/9.8, & - ELWV=2.50E6,ELIVW=2.72E6,ROW=1.E3,EPSQ=2.E-12, & - A2=17.2693882E0,A3=273.16E0,A4=35.86E0, & - T0=273.16E0,T1=274.16E0,PQ0=379.90516E0,STRESH=1.10E0, & - STABS=1.0E0,STABD=.90E0,STABFC=1.00E0,DTTOP=0.0E0, & + + real, parameter :: H1=1.E0, & !< 1.0 + H1D5=1.5E0, & !< 1.5 + H2D5=2.5E0, & !< 2.5 + H3000=3000.E0, & !< 3000 + H10E5=100000.E0, & !< 100,000 + D00=0.E0, & !< Decimal number 0 + D125=.125E0, & !< Decimal number 0.125 + D50=.5E0, & !< Decimal number 0.5 + D608=.608E0, & !< Decimal number 0.608 + G=9.8E0, & !< Acceleration due to gravity + CP=1004.6E0, & !< Specific heat capacity of dry air at constant pressure (kJ/kg-K) + CAPA=0.28589641E0, & !< R/Cp (universal gas constant over specific heat capacity of dry air at constant pressure) + ROG=287.04/9.8, & !< RD over G - Gas constant for dry air divided by acceleration due to gravity + ELWV=2.50E6, & !< Latent heat of vaporization of water + ELIVW=2.72E6, & !< Latent heat of vaporization of water in J/kg, used in calculations involving energy transfer during evaporation + ROW=1.E3, & !< Density (rho) of water + EPSQ=2.E-12, & !< Minimum q (specific humidity) for computing precipitation type ? + A2=17.2693882E0, & !< Constant used to parameterize specific humidity at 2m in WRFPOST: qs=pq0/p*exp(a2*(t-a3)/(t-a4)) + A3=273.16E0, & !< Constant used to parameterize specific humidity at 2m in WRFPOST: qs=pq0/p*exp(a2*(t-a3)/(t-a4)) + A4=35.86E0, & !< Constant used to parameterize specific humidity at 2m in WRFPOST: qs=pq0/p*exp(a2*(t-a3)/(t-a4)) + T0=273.16E0, & !< Triple point of water (K) + T1=274.16E0, & !< 1 degree above triple point of water (K) + PQ0=379.90516E0, & !< Constant used to parameterize specific humidity at 2m in WRFPOST: qs=pq0/p*exp(a2*(t-a3)/(t-a4)) + STRESH=1.10E0, & !< No longer used/supported + STABS=1.0E0, & !< No longer used/supported + STABD=.90E0, & !< No longer used/supported + STABFC=1.00E0, & !< No longer used/supported + DTTOP=0.0E0, & !< No longer used/supported !---VVVVV - RHF=0.10,EPSUP=1.00,EPSDN=1.05,EPSTH=0.0, & - PBM=13000.,PQM=20000.,PNO=1000.,PONE=2500.,ZSH=2000., & - PFRZ=15000.,PSHU=45000., & + RHF=0.10, & !< No longer used/supported (Relative humidity factor) + EPSUP=1.00, & !< No longer used/supported + EPSDN=1.05, & !< No longer used/supported + EPSTH=0.0, & !< No longer used/supported + PBM=13000., & !< _____? + PQM=20000., & !< No longer used/supported + PNO=1000., & !< No longer used/supported + PONE=2500., & !< _____? + ZSH=2000., & !< No longer used/supported + PFRZ=15000., & !< _____? + PSHU=45000., & !< No longer used/supported -! &, RHF=0.20,EPSUP=0.93,EPSDN=1.00,EPSTH=0.3 -! &, RHF=0.20,EPSUP=1.00,EPSDN=1.00,EPSTH=0.3 !AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ! ! AUGUST '91: SCHEME HAVING THE OPTION OF USING DIFFERENT FAST AND ! SLOW PROFILES FOR SEA AND FOR LAND POINTS; AND ALSO THE "SEA" AND -! THE "LAND" SCHEME EVERYWHERE. OVER LAND PROFILES DEPART FROM THE +! THE "LAND" SCHEME EVERYWHERE. OVER LAND PROFILES DEPART FROM THE ! FAST (DRY) PROFILES ONLY FOR PRECIPITATION/TIME STEP > ! A PRESCRIBED VALUE (CURRENTLY, IN THE VERSION #3 DONE WEDNESDAY ! 18 SEPTEMBER, 1/4 INCH/24 H). USE OF VARIOUS SWITCHES AS FOLLOWS. @@ -45,7 +74,11 @@ module cuparm_mod ! * SETTING OCT90=.TRUE. ! (WITH THESE SETTINGS FAST LAND PROFILES ONLY ARE USED). ! FM - FSS=.85E0,EFIMN=.20E0,EFMNT=.70E0,FCC=.50,FCP=H1-FCC, & + FSS=.85E0, & !< Factor to obtain “slow” profiles over the sea ? + EFIMN=.20E0, & !< Minimum convective cloud efficiency + EFMNT=.70E0, & !< _____? + FCC=.50, & !< _____? + FCP=H1-FCC, & !< _____? ! ! IN THIS VERSION 3.5, OVER LAND AND FOR THE FAST PROFILES, DSPB ! IS PRESCRIBED TO BE 25 PERCENT DRIER THAN THE FAST SEA VALUE @@ -55,13 +88,30 @@ module cuparm_mod ! AVERAGE OF THE FAST AND THE SLOW LAND PROFILES SOMEWHAT DRIER ! THAN THE OCT90 FIXED LAND PROFILES. FM ! - DSPBFL=-4843.75E0,DSP0FL=-7050.00E0,DSPTFL=-2250.0E0,FSL=.850E0, & +!> Deficit Saturation Pressure (DSP) +!> DSPB = cloud base +!> DSP0 = freezing level +!> DSPT = cloud top +! + DSPBFL=-4843.75E0, & !< Deficit Saturation Pressure (DSP) at cloud base - fast land ? + DSP0FL=-7050.00E0, & !< Deficit Saturation Pressure (DSP) at freezing level - fast land ? + DSPTFL=-2250.0E0, & !< Deficit Saturation Pressure (DSP) at cloud top - fast land ? + FSL=.850E0, & !< Factor to obtain "slow" profiles over land ? !*** ACTIVATE THE FOLLOWING LINE IF OCT90=.TRUE. (AND COMMENT OUT THE !*** PRECEDING LINE): -! DSPBFL=-3875.E0,DSP0FL=-5875.E0,DSPTFL=-1875.E0,FSL=1.0E0, & - DSPBFS=-3875.E0,DSP0FS=-5875.E0,DSPTFS=-1875.E0, & - DSPBSL=DSPBFL*FSL,DSP0SL=DSP0FL*FSL,DSPTSL=DSPTFL*FSL, & - DSPBSS=DSPBFS*FSS,DSP0SS=DSP0FS*FSS,DSPTSS=DSPTFS*FSS, & +! DSPBFL=-3875.E0, & !< Deficit Saturation Pressure (DSP) at cloud base - fast land ? +! DSP0FL=-5875.E0, & !< Deficit Saturation Pressure (DSP) at freezing level - fast land ? +! DSPTFL=-1875.E0, & !< Deficit Saturation Pressure (DSP) at cloud top - fast land ? +! FSL=1.0E0, & !< Factor to obtain "slow" profiles over land ? + DSPBFS=-3875.E0, & !< Deficit Saturation Pressure (DSP) at cloud base - fast sea ? + DSP0FS=-5875.E0, & !< Deficit Saturation Pressure (DSP) at freezing level - fast sea ? + DSPTFS=-1875.E0, & !< Deficit Saturation Pressure (DSP) at cloud top - fast sea ? + DSPBSL=DSPBFL*FSL, & !< Deficit Saturation Pressure (DSP) at cloud base - slow land ? + DSP0SL=DSP0FL*FSL, & !< Deficit Saturation Pressure (DSP) at freezing level - slow land ? + DSPTSL=DSPTFL*FSL, & !< Deficit Saturation Pressure (DSP) at cloud top - slow land ? + DSPBSS=DSPBFS*FSS, & !< Deficit Saturation Pressure (DSP) at cloud base - slow sea ? + DSP0SS=DSP0FS*FSS, & !< Deficit Saturation Pressure (DSP) at freezing level - slow sea ? + DSPTSS=DSPTFS*FSS, & !< Deficit Saturation Pressure (DSP) at cloud top - slow sea ? !*** NEW CONVECTION SCHEME WITH CROSSING DSP PROFILES ****************** !+- &, UNIS=.FALSE.,EFIMN=.71E0,EFMNT=.71,FCC=0.5,FCP=H1-FCC !+- &, DSPBL=-3875.E0,DSP0L=-5875.E0,DSPTL=-1875.E0 @@ -73,22 +123,31 @@ module cuparm_mod ! &, DSPBF=-3875.E0,DSP0F=-5875.E0,DSPTF=-1875.E0 ! &, DSPBS=-3875.E0,DSP0S=-5875.E0,DSPTS=-1875.E0 !*********************************************************************** - TREL=3000.,EPSNTP=.0010E0,EFIFC=5.0E0, & - AVGEFI=(EFIMN+1.E0)*.5E0,DSPC=-3000.E0,EPSP=1.E-7, & - STEFI=1.E0, & + TREL=3000., & !< Relaxation time + EPSNTP=.0010E0, & !< No longer used/supported + EFIFC=5.0E0, & !< No longer used/supported + AVGEFI=(EFIMN+1.E0)*.5E0, & !< Average cloud efficiency + DSPC=-3000.E0, & !< No longer used/supported + EPSP=1.E-7, & !< No longer used/supported + STEFI=1.E0, & !< Starting efficiency (EFI) !*** ACTIVATE THE FOLLOWING LINE AND COMMENT OUT THE PRECEDING LINE IF !*** OCT90=.TRUE. -! &, STEFI=AVGEFI - SLOPBL=(DSPBFL-DSPBSL)/(H1-EFIMN), & - SLOP0L=(DSP0FL-DSP0SL)/(H1-EFIMN), & - SLOPTL=(DSPTFL-DSPTSL)/(H1-EFIMN), & - SLOPBS=(DSPBFS-DSPBSS)/(H1-EFIMN), & - SLOP0S=(DSP0FS-DSP0SS)/(H1-EFIMN), & - SLOPTS=(DSPTFS-DSPTSS)/(H1-EFIMN), & - SLOPE=(H1 -EFMNT)/(H1-EFIMN) - real, parameter :: & - A23M4L=A2*(A3-A4)*ELWV, & - ELOCP=ELIVW/CP,CPRLG=CP/(ROW*G*ELWV),RCP=H1/CP - logical,parameter :: & - UNIS=.FALSE.,UNIL=.FALSE.,OCT90=.FALSE. +! STEFI=AVGEFI, & + SLOPBL=(DSPBFL-DSPBSL)/(H1-EFIMN), & !< Slope - cloud base over land ? + SLOP0L=(DSP0FL-DSP0SL)/(H1-EFIMN), & !< Slope - freezing level over land ? + SLOPTL=(DSPTFL-DSPTSL)/(H1-EFIMN), & !< Slope - cloud top over land ? + SLOPBS=(DSPBFS-DSPBSS)/(H1-EFIMN), & !< Slope - cloud base over sea ? + SLOP0S=(DSP0FS-DSP0SS)/(H1-EFIMN), & !< Slope - freezing level over sea ? + SLOPTS=(DSPTFS-DSPTSS)/(H1-EFIMN), & !< Slope - cloud top over sea ? + SLOPE=(H1 -EFMNT)/(H1-EFIMN) !< Slope ? + real, parameter :: & + A23M4L=A2*(A3-A4)*ELWV, & !< Coefficient derived from A2, A3, A4, and ELWV + ELOCP=ELIVW/CP, & !< ELIVW over CP + CPRLG=CP/(ROW*G*ELWV), & !< Ratio of CP to product of water density, acceleration due to gravity, and latent heat of vaporization of water + RCP=H1/CP !< Reciprocal of CP (1/CP) + logical,parameter :: & + UNIS=.FALSE., & !< _____? + UNIL=.FALSE., & !< _____? + OCT90=.FALSE. !< Flag to activate old Zavisa Oct 1990 land scheme with fixed land profiles end module cuparm_mod + diff --git a/sorc/ncep_post.fd/getIVariableN.f b/sorc/ncep_post.fd/getIVariableN.f index 8f1f62cd93..5366b30736 100644 --- a/sorc/ncep_post.fd/getIVariableN.f +++ b/sorc/ncep_post.fd/getIVariableN.f @@ -13,6 +13,11 @@ subroutine getIVariableN(fileName,DateStr,dh,VarName,VarBuff,IM,JSTA_2L,JEND_2U, ! ! PROGRAM HISTORY LOG: ! +! Date | Programmer | Comments +! -----------|---------------|--------- +! 2024-08-06 | Jaymes Kenyon | Read-in netCDF fill values for MPAS applications +! 2024-09-05 | Jaymes Kenyon | Limiting write statements to process 0 only +! ! USAGE: CALL getVariable(fileName,DateStr,dh,VarName,VarBuff,IM,JSTA_2L,JEND_2U,LM,IM1,JS,JE,LM1) ! ! INPUT ARGUMENT LIST: @@ -51,6 +56,7 @@ subroutine getIVariableN(fileName,DateStr,dh,VarName,VarBuff,IM,JSTA_2L,JEND_2U, ! the portion of VarBuff that is needed for this task. use wrf_io_flags_mod + use ctlblk_mod, only: me, spval, submodelname !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! @@ -71,6 +77,8 @@ subroutine getIVariableN(fileName,DateStr,dh,VarName,VarBuff,IM,JSTA_2L,JEND_2U, ! real, allocatable, dimension(:,:,:,:) :: data integer :: ierr character(len=132) :: Stagger + real :: FillValue + integer :: OutCount ! call set_wrf_debug_level ( 1 ) @@ -78,12 +86,12 @@ subroutine getIVariableN(fileName,DateStr,dh,VarName,VarBuff,IM,JSTA_2L,JEND_2U, end_index = 1 call ext_ncd_get_var_info(dh,TRIM(VarName),ndim,ordering,Stagger,start_index,end_index,WrfType,ierr) IF ( ierr /= 0 ) THEN - write(*,*)'Error: ',ierr,TRIM(VarName),' not found in ',fileName + if (me==0) write(*,*)'Error: ',ierr,TRIM(VarName),' not found in ',fileName VarBuff=0. return ENDIF allocate(data (end_index(1), end_index(2), end_index(3), 1)) - write(*,*)'WrfType in getIVariable= ',WrfType + if (me==0) write(*,*)'WrfType in getIVariable= ',WrfType ! if( WrfType /= WRF_REAL .AND. WrfType /= WRF_REAL8 ) then !Ignore if not a real variable ! write(*,*) 'Error: Not a real variable',WrfType ! return @@ -101,32 +109,57 @@ subroutine getIVariableN(fileName,DateStr,dh,VarName,VarBuff,IM,JSTA_2L,JEND_2U, start_index,end_index, & !pat ierr) IF ( ierr /= 0 ) THEN - write(*,*)'Error reading ',Varname,' from ',fileName - write(*,*)' ndim = ', ndim - write(*,*)' end_index(1) ',end_index(1) - write(*,*)' end_index(2) ',end_index(2) - write(*,*)' end_index(3) ',end_index(3) + if (me==0) then + write(*,*)'Error reading ',Varname,' from ',fileName + write(*,*)' ndim = ', ndim + write(*,*)' end_index(1) ',end_index(1) + write(*,*)' end_index(2) ',end_index(2) + write(*,*)' end_index(3) ',end_index(3) + write(*,*)'Error reading ',Varname,' from ',fileName + endif VarBuff = 0.0 return ENDIF - if (im1>end_index(1)) write(*,*) 'Err:',Varname,' IM1=',im1,& - ' but data dim=',end_index(1) - if (je>end_index(2)) write(*,*) 'Err:',Varname,' JE=',je,& - ' but data dim=',end_index(2) - if (lm1>end_index(3)) write(*,*) 'Err:',Varname,' LM1=',lm1,& - ' but data dim=',end_index(3) - if (ndim>3) then - write(*,*) 'Error: ndim = ',ndim - endif - do l=1,lm1 - ll=lm1-l+1 ! flip the z axis not sure about soil - do i=1,im1 - do j=js,je - VarBuff(i,j,l)=data(i,j,ll,1) - enddo + + if (me==0) then + if (im1>end_index(1)) write(*,*) 'Err:',Varname,' IM1=',im1,& + ' but data dim=',end_index(1) + if (je>end_index(2)) write(*,*) 'Err:',Varname,' JE=',je,& + ' but data dim=',end_index(2) + if (lm1>end_index(3)) write(*,*) 'Err:',Varname,' LM1=',lm1,& + ' but data dim=',end_index(3) + if (ndim>3) then + write(*,*) 'Error: ndim = ',ndim + endif + endif + + if (SUBMODELNAME=='MPAS') then + ! For MPAS: determine the fill value associated with the variable + call ext_ncd_get_var_ti_real(dh,"_FillValue",TRIM(VarName),FillValue,1,OutCount,ierr) + do l=1,lm1 + ll=lm1-l+1 ! flip the z axis not sure about soil + do i=1,im1 + do j=js,je + if (data(i,j,ll,1) /= FillValue) then + VarBuff(i,j,l)=data(i,j,ll,1) + else ! For MPAS: assign SPVAL where FillValue is present + VarBuff(i,j,l)=spval + endif + enddo + enddo enddo -! write(*,*) Varname,' L ',l,': = ',data(1,1,ll,1) - enddo + else + do l=1,lm1 + ll=lm1-l+1 ! flip the z axis not sure about soil + do i=1,im1 + do j=js,je + VarBuff(i,j,l)=data(i,j,ll,1) + enddo + enddo +! write(*,*) Varname,' L ',l,': = ',data(1,1,ll,1) + enddo + endif + deallocate(data) return diff --git a/sorc/ncep_post.fd/getVariable.f b/sorc/ncep_post.fd/getVariable.f index 24804549bf..15d3a99206 100644 --- a/sorc/ncep_post.fd/getVariable.f +++ b/sorc/ncep_post.fd/getVariable.f @@ -13,6 +13,11 @@ subroutine getVariable(fileName,DateStr,dh,VarName,VarBuff,IM,JSTA_2L,JEND_2U,LM ! ! PROGRAM HISTORY LOG: ! +! Date | Programmer | Comments +! -----------|---------------|--------- +! 2024-08-06 | Jaymes Kenyon | Read-in netCDF fill values for MPAS applications +! 2024-09-05 | Jaymes Kenyon | Limiting write statements to process 0 only +! ! USAGE: CALL getVariable(fileName,DateStr,dh,VarName,VarBuff,IM,JSTA_2L,JEND_2U,LM,IM1,JS,JE,LM1) ! ! INPUT ARGUMENT LIST: @@ -51,6 +56,7 @@ subroutine getVariable(fileName,DateStr,dh,VarName,VarBuff,IM,JSTA_2L,JEND_2U,LM ! the portion of VarBuff that is needed for this task. ! use mpi use wrf_io_flags_mod, only: wrf_real, wrf_real8 + use ctlblk_mod, only: me, spval, submodelname !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none @@ -73,7 +79,8 @@ subroutine getVariable(fileName,DateStr,dh,VarName,VarBuff,IM,JSTA_2L,JEND_2U,LM real, allocatable, dimension(:,:,:,:) :: data integer :: ierr,size,mype,idsize,ier character(len=132) :: Stagger - real SPVAL + real :: FillValue + integer :: OutCount ! call set_wrf_debug_level ( 1 ) call mpi_comm_rank(MPI_COMM_WORLD,mype,ier) @@ -82,13 +89,13 @@ subroutine getVariable(fileName,DateStr,dh,VarName,VarBuff,IM,JSTA_2L,JEND_2U,LM ! print*,'SPVAL in getVariable = ',SPVAL call ext_ncd_get_var_info(dh,TRIM(VarName),ndim,ordering,Stagger,start_index,end_index,WrfType,ierr) IF ( ierr /= 0 ) THEN - write(*,*)'Error: ',ierr,TRIM(VarName),' not found in ',fileName + if (me==0) write(*,*)'Error: ',ierr,TRIM(VarName),' not found in ',fileName VarBuff=0. return ENDIF allocate(data (end_index(1), end_index(2), end_index(3), 1)) if( WrfType /= WRF_REAL .AND. WrfType /= WRF_REAL8 ) then !Ignore if not a real variable - write(*,*) 'Error: Not a real variable',WrfType + if (me==0) write(*,*) 'Error: Not a real variable',WrfType return endif ! write(*,'(A9,1x,I1,3(1x,I3),1x,A,1x,A)')& @@ -97,7 +104,7 @@ subroutine getVariable(fileName,DateStr,dh,VarName,VarBuff,IM,JSTA_2L,JEND_2U,LM ! allocate(data (end_index(1), end_index(2), end_index(3), 1)) ! call ext_ncd_read_field(dh,DateStr,TRIM(VarName),data,WrfType,0,0,0,ordering,& ! CHANGE WrfType to WRF_REAL BECAUSE THIS TELLS WRF IO API TO CONVERT TO REAL - print *,' GWVX XT_NCD GET FIELD',size(data), size(varbuff),mype +! print *,' GWVX XT_NCD GET FIELD',size(data), size(varbuff),mype idsize=size(data) if(mype == 0) then call ext_ncd_read_field(dh,DateStr,TRIM(VarName),data,WrfType,0,0,0,ordering,& @@ -109,32 +116,56 @@ subroutine getVariable(fileName,DateStr,dh,VarName,VarBuff,IM,JSTA_2L,JEND_2U,LM endif call MPI_BCAST(data,idsize,MPI_real,0,MPI_COMM_WORLD,ierr) IF ( ierr /= 0 ) THEN - write(*,*)'Error reading ',Varname,' from ',fileName - write(*,*)' ndim = ', ndim - write(*,*)' end_index(1) ',end_index(1) - write(*,*)' end_index(2) ',end_index(2) - write(*,*)' end_index(3) ',end_index(3) + if (me==0) then + write(*,*)'Error reading ',Varname,' from ',fileName + write(*,*)' ndim = ', ndim + write(*,*)' end_index(1) ',end_index(1) + write(*,*)' end_index(2) ',end_index(2) + write(*,*)' end_index(3) ',end_index(3) + endif VarBuff = 0.0 return ENDIF - if (im1>end_index(1)) write(*,*) 'Err:',Varname,' IM1=',im1,& - ' but data dim=',end_index(1) - if (je>end_index(2)) write(*,*) 'Err:',Varname,' JE=',je,& - ' but data dim=',end_index(2) - if (lm1>end_index(3)) write(*,*) 'Err:',Varname,' LM1=',lm1,& - ' but data dim=',end_index(3) - if (ndim>3) then - write(*,*) 'Error: ndim = ',ndim + + if (me==0) then + if (im1>end_index(1)) write(*,*) 'Err:',Varname,' IM1=',im1,& + ' but data dim=',end_index(1) + if (je>end_index(2)) write(*,*) 'Err:',Varname,' JE=',je,& + ' but data dim=',end_index(2) + if (lm1>end_index(3)) write(*,*) 'Err:',Varname,' LM1=',lm1,& + ' but data dim=',end_index(3) + if (ndim>3) then + write(*,*) 'Error: ndim = ',ndim + endif endif - do l=1,lm1 - ll=lm1-l+1 ! flip the z axis not sure about soil - do i=1,im1 - do j=js,je - VarBuff(i,j,l)=data(i,j,ll,1) - enddo + + if (SUBMODELNAME=='MPAS') then + ! For MPAS: determine the fill value associated with the variable + call ext_ncd_get_var_ti_real(dh,"_FillValue",TRIM(VarName),FillValue,1,OutCount,ierr) + do l=1,lm1 + ll=lm1-l+1 ! flip the z axis not sure about soil + do i=1,im1 + do j=js,je + if (data(i,j,ll,1) /= FillValue) then + VarBuff(i,j,l)=data(i,j,ll,1) + else ! For MPAS: assign SPVAL where FillValue is present + VarBuff(i,j,l)=spval + endif + enddo + enddo enddo -! write(*,*) Varname,' L ',l,': = ',data(1,1,ll,1) - enddo + else + do l=1,lm1 + ll=lm1-l+1 ! flip the z axis not sure about soil + do i=1,im1 + do j=js,je + VarBuff(i,j,l)=data(i,j,ll,1) + enddo + enddo +! write(*,*) Varname,' L ',l,': = ',data(1,1,ll,1) + enddo + endif + deallocate(data) return diff --git a/sorc/ncep_post.fd/get_postfilename.f b/sorc/ncep_post.fd/get_postfilename.f index 38222918bd..020d76f598 100644 --- a/sorc/ncep_post.fd/get_postfilename.f +++ b/sorc/ncep_post.fd/get_postfilename.f @@ -1,3 +1,9 @@ + MODULE get_postfilename_mod + + implicit none + + contains + subroutine get_postfilename(fname) ! ! ABSTRACT: THIS SUBROUTINE GENERATE POST FILE NAME FROM THE DATSET IN @@ -48,11 +54,6 @@ subroutine get_postfilename(fname) IF (KENV<=0) KENV = LEN(ENVAR) KTHR = INDEX(RESTHR,' ') -1 IF (KTHR<=0) KTHR = LEN(RESTHR) - if(me==0) print *,'PGBOUT=',trim(PGBOUT) -! - if(me==0)print *,'in get postfilename, ritehd=',ritehd,'ifhr=',ifhr,'modelname=',modelname, & - 'ENVAR(1:4)=',ENVAR(1:4),'RESTHR(1:4)=',RESTHR(1:4),'ifmin=',ifmin,'DATSET(1:KDAT)=', & - DATSET(1:KDAT) ! ! CONSTRUCT FULL PATH-FILENAME FOR OUTPUT FILE IF(MODELNAME=='GFS')THEN @@ -69,7 +70,6 @@ subroutine get_postfilename(fname) (IGET(372)>0).OR.(IGET(373)>0).OR. & (IGET(374)>0).OR.(IGET(375)>0)))THEN FNAME = D3DOUT - if(me==0)PRINT*,' FNAME FROM D3DOUT=',trim(FNAME) ELSE IF(IPVOUT(1:4)/=BLANK .AND. & index(DATSET(1:KDAT),"IPV")>0 .AND. & ((IGET(332)>0).OR.(IGET(333)>0).OR. & @@ -77,17 +77,14 @@ subroutine get_postfilename(fname) (IGET(351)>0).OR.(IGET(352)>0).OR. & (IGET(353)>0).OR.(IGET(378)>0)))THEN FNAME = IPVOUT - if(me==0)PRINT*,' FNAME FROM IPVOUT=',trim(FNAME) ELSE IF(PGBOUT(1:4)/=BLANK)THEN FNAME = PGBOUT - if(me==0)PRINT*,' FNAME FROM PGBOUT=',trim(FNAME) ELSE NDIG=MAX(LOG10(IHR+0.5)+1.,2.) ! WRITE(CFORM,'("('.GrbF',I",I1,".",I1,")")') NDIG,NDIG WRITE(CFORM,'("(I",I1,".",I1,")")') NDIG,NDIG WRITE(CFHOUR,CFORM) IHR FNAME = DATSET(1:KDAT) //'.GrbF'// CFHOUR - if(me==0)print *,' FNAME=',trim(FNAME) END IF ! IF(MODELNAME=='GFS'.AND.PGBOUT(1:4)/=BLANK)THEN ! FNAME = PGBOUT @@ -104,7 +101,6 @@ subroutine get_postfilename(fname) WRITE(CFORM,'("(I",I1,".",I1,")")') NDIG,NDIG WRITE(CFHOUR,CFORM) IHR FNAME = DATSET(1:KDAT) //'.GrbF'// CFHOUR - if(me==0)print *,' FNAME=',trim(FNAME) ! ! IF(IHR<100)THEN ! WRITE(DESCR2,1011) IHR @@ -165,9 +161,7 @@ subroutine get_postfilename(fname) ENDIF ! ENDIF - if(me==0) then - print*,'FNAME= ',trim(FNAME) - print *,'end of get post filename' - endif - end subroutine get_postfilename + end subroutine get_postfilename + + END MODULE get_postfilename_mod diff --git a/sorc/ncep_post.fd/grib2_module.f b/sorc/ncep_post.fd/grib2_module.f index 47bf52965d..e5d4e795b0 100644 --- a/sorc/ncep_post.fd/grib2_module.f +++ b/sorc/ncep_post.fd/grib2_module.f @@ -1,16 +1,22 @@ +!> @file +!> @brief This module generates grib2 messages and writes out the messages in parallel. +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> March 2010 | Jun Wang | Initial code +!> January 2012 | Jun Wang | post available fields with grib2 description are defined in xml file +!> March 2015 | Lin Gan | Replace XML file with flat file implementation with parameter marshalling +!> July 2021 | Jesse Meng | 2D decomsition +!> June 2022 | Lin Zhu | Change the dx/dy to reading in from calculating for latlon grid +!> January 2023 | Sam Trahan | Foot & meter unit conversions for IFI +!> June 2024 | Sam Trahan | Bug fix for g2tmpl error messages +!> August 2024 | Li Pan | Enable template 4-49 to obtain aerosol ensemble information +!> April 2025 | Eric James | Use PDT 4.1 for encoding REFS grib2 output +!> July 2025 | J Kenyon | Add "earth_radius" namelist option +!------------------------------------------------------------------------- module grib2_module -!------------------------------------------------------------------------ -! -! This module generates grib2 messages and writes out the messages in -! parallel. -! -! program log: -! March, 2010 Jun Wang Initial code -! Jan, 2012 Jun Wang post available fields with grib2 description -! are defined in xml file -! March, 2015 Lin Gan Replace XML file with flat file implementation -! with parameter marshalling -!------------------------------------------------------------------------ +! use xml_perl_data, only: param_t,paramset_t ! implicit none @@ -75,14 +81,14 @@ module grib2_module ! character(len=50) :: type_derived_fcst='' ! type(param_t), dimension(:), pointer :: param => null() ! end type paramset_t - type(paramset_t),save :: pset + type(paramset_t),save :: pset !< parameter set ! !--- grib2 info related to a specific data file - integer nrecout - integer num_pset + integer nrecout !< Number of records to output + integer num_pset !< Number of parameter sets ? integer isec,hrs_obs_cutoff,min_obs_cutoff integer sec_intvl,stat_miss_val,time_inc_betwn_succ_fld - integer perturb_num,num_ens_fcst + integer perturb_num,num_ens_fcst,prob_num,tot_num_prob character*80 type_of_time_inc,stat_unit_time_key_succ logical*1,allocatable :: bmap(:) integer ibm @@ -92,23 +98,22 @@ module grib2_module integer,parameter :: MAX_NUMBIT=16 integer,parameter :: lugi=650 character*255 fl_nametbl,fl_gdss3 - logical :: first_grbtbl + logical :: first_grbtbl !< _____? ! - public num_pset,pset,nrecout,gribit2,grib_info_init,first_grbtbl,grib_info_finalize + public num_pset,pset,nrecout,gribit2,grib_info_init,first_grbtbl,grib_info_finalize,read_grib2_head,read_grib2_sngle + real(8), EXTERNAL :: timef !------------------------------------------------------------------------------------- ! contains ! !------------------------------------------------------------------------------------- +!> @brief Initializes general grib2 information and local variables subroutine grib_info_init() -! -!--- initialize general grib2 information and ! implicit none ! ! logical,intent(in) :: first_grbtbl ! -!-- local variables integer ierr character(len=80) outfile character(len=10) envvar @@ -161,7 +166,9 @@ subroutine grib_info_init() type_of_time_inc='same_start_time_fcst_fcst_time_inc' stat_unit_time_key_succ='missing' time_inc_betwn_succ_fld=0 -! + prob_num = 0 + tot_num_prob = 1 + ! !-- open fld name tble ! if(first_grbtbl) then @@ -179,10 +186,8 @@ subroutine grib_info_init() end subroutine grib_info_init !------------------------------------------------------------------------------------- !------------------------------------------------------------------------------------- -! +!> @brief Finalizes GRIB2 information and closes the file. subroutine grib_info_finalize -! -!--- finalize grib2 information and close file ! implicit none ! @@ -192,11 +197,10 @@ subroutine grib_info_finalize ! end subroutine grib_info_finalize !------------------------------------------------------------------------------------- -!------------------------------------------------------------------------------------- +!> @brief Outputs fields to grib file +!> @param[in] post_fname UPP file name subroutine gribit2(post_fname) -! -!------- - use ctlblk_mod, only : im,jm,im_jm,num_procs,me,jsta,jend,ifhr,sdat,ihrst,imin, & + use ctlblk_mod, only : im,jm,im_jm,num_procs,me,ista,iend,jsta,jend,ifhr,sdat,ihrst,imin, & mpi_comm_comp,ntlfld,fld_info,datapd,icnt,idsp implicit none ! @@ -214,6 +218,7 @@ subroutine gribit2(post_fname) integer(4),allocatable :: isdsp(:),iscnt(:),ircnt(:),irdsp(:) integer status(MPI_STATUS_SIZE) integer(kind=MPI_OFFSET_KIND) idisp + integer,allocatable :: ista_pe(:),iend_pe(:) integer,allocatable :: jsta_pe(:),jend_pe(:) integer,allocatable :: grbmsglen(:) real,allocatable :: datafld(:,:) @@ -221,6 +226,7 @@ subroutine gribit2(post_fname) logical, parameter :: debugprint = .false. ! character(1), dimension(:), allocatable :: cgrib + real :: level_unit_conversion ! ! !---------------- code starts here -------------------------- @@ -252,6 +258,12 @@ subroutine gribit2(post_fname) !--- reditribute data from partial domain data with all fields !--- to whole domain data but partial fields ! + allocate(ista_pe(num_procs),iend_pe(num_procs)) + call mpi_allgather(ista,1,MPI_INTEGER,ista_pe,1, & + MPI_INTEGER,MPI_COMM_COMP,ierr) + call mpi_allgather(iend,1,MPI_INTEGER,iend_pe,1, & + MPI_INTEGER,MPI_COMM_COMP,ierr) + allocate(jsta_pe(num_procs),jend_pe(num_procs)) call mpi_allgather(jsta,1,MPI_INTEGER,jsta_pe,1, & MPI_INTEGER,MPI_COMM_COMP,ierr) @@ -268,18 +280,19 @@ subroutine gribit2(post_fname) ! !--- sequatial write if the number of fields to write is small ! - if(minval(nfld_pe)<1.or.num_procs==1) then +!JESSE if(minval(nfld_pe)<1.or.num_procs==1) then + if(num_procs==1) then ! !-- collect data to pe 0 allocate(datafld(im_jm,ntlfld) ) - if(num_procs==1) then +! if(num_procs==1) then datafld=reshape(datapd,(/im_jm,ntlfld/)) - else - do i=1,ntlfld - call mpi_gatherv(datapd(:,:,i),icnt(me),MPI_REAL, & - datafld(:,i),icnt,idsp,MPI_REAL,0,MPI_COMM_COMP,ierr) - enddo - endif +! else +! do i=1,ntlfld +! call mpi_gatherv(datapd(:,:,i),icnt(me),MPI_REAL, & +! datafld(:,i),icnt,idsp,MPI_REAL,0,MPI_COMM_COMP,ierr) +! enddo +! endif ! !-- pe 0 create grib2 message and write to the file if(me==0) then @@ -313,10 +326,14 @@ subroutine gribit2(post_fname) ' category ',icatg, & ' parameter ',iparm, & ' for var ',trim(pset%param(nprm)%pname) - + if(index(pset%param(nprm)%shortname,'IFI_FLIGHT_LEVEL')>0) then + level_unit_conversion=0.3048 ! convert feet->meters + else + level_unit_conversion=1 + endif call gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2, & fld_info(i)%ntrange,fld_info(i)%tinvstat,datafld(:,i), & - cgrib,clength) + cgrib,clength,level_unit_conversion) ! print *,'finished gengrb2msg field=',i,'ntlfld=',ntlfld,'clength=',clength call wryte(lunout, clength, cgrib) else @@ -338,13 +355,13 @@ subroutine gribit2(post_fname) allocate(ircnt(num_procs),irdsp(num_procs)) isdsp(1)=0 do n=1,num_procs - iscnt(n)=(jend_pe(me+1)-jsta_pe(me+1)+1)*im*nfld_pe(n) + iscnt(n)=(jend_pe(me+1)-jsta_pe(me+1)+1)*(iend_pe(me+1)-ista_pe(me+1)+1)*nfld_pe(n) if(n0) then + level_unit_conversion=0.3048 ! convert feet->meters + else + level_unit_conversion=1 + endif call gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange, & - leng_time_range_stat,datafld(:,i),cgrib(cstart),clength) + leng_time_range_stat,datafld(:,i),cgrib(cstart),clength, & + level_unit_conversion) cstart=cstart+clength ! else @@ -465,9 +489,9 @@ end subroutine gribit2 ! !---------------------------------------------------------------------------------------- !---------------------------------------------------------------------------------------- -! +!> @brief Generates grib2 message subroutine gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange,tinvstat, & - datafld1,cgrib,lengrib) + datafld1,cgrib,lengrib,level_unit_conversion) ! !---------------------------------------------------------------------------------------- ! @@ -475,17 +499,19 @@ subroutine gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange,tinvs vtimeunits,modelname use gridspec_mod, only: maptype use grib2_all_tables_module, only: g2sec0,g2sec1, & - g2sec4_temp0,g2sec4_temp8,g2sec4_temp44,g2sec4_temp48, & - g2sec5_temp0,g2sec5_temp2,g2sec5_temp3,g2sec5_temp40, & - get_g2_sec5packingmethod + g2sec4_temp0,g2sec4_temp8,g2sec4_temp9,g2sec4_temp44, & + g2sec4_temp46,g2sec4_temp48,g2sec5_temp0,g2sec5_temp2, & + g2sec5_temp3,g2sec5_temp40,get_g2_sec5packingmethod, & + g2sec4_temp49 !use gdtsec3, only: getgdtnum implicit none ! - integer,intent(in) :: idisc,icatg, iparm,nprm,fldlvl1,fldlvl2,ntrange,tinvstat - integer,intent(inout) :: nlvl + integer,intent(in) :: idisc,icatg, iparm,nprm,fldlvl1,fldlvl2,ntrange + integer,intent(inout) :: nlvl,tinvstat real,dimension(:),intent(in) :: datafld1 character(1),intent(inout) :: cgrib(max_bytes) integer, intent(inout) :: lengrib + real, intent(in) :: level_unit_conversion ! integer, parameter :: igdsmaxlen=200 ! @@ -493,10 +519,13 @@ subroutine gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange,tinvs integer, parameter :: ipdstmp4_0len=15 integer, parameter :: ipdstmp4_1len=18 integer, parameter :: ipdstmp4_8len=29 + integer, parameter :: ipdstmp4_9len=36 integer, parameter :: ipdstmp4_11len=32 integer, parameter :: ipdstmp4_12len=31 integer, parameter :: ipdstmp4_44len=21 + integer, parameter :: ipdstmp4_46len=35 integer, parameter :: ipdstmp4_48len=26 + integer, parameter :: ipdstmp4_49len=29 ! integer, parameter :: idrstmplenmax=50 integer, parameter :: idrstmp5_0len=5 @@ -521,6 +550,7 @@ subroutine gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange,tinvs integer scaled_val_fixed_sfc1,scale_fct_fixed_sfc2 character(80) fixed_sfc2_type integer idec_scl,ibin_scl,ibmap,inumbits + character(80) prob_type real fldscl integer igdstmpl(igdsmaxlen) integer lat1,lon1,lat2,lon2,lad,ds1 @@ -529,6 +559,7 @@ subroutine gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange,tinvs ! integer ierr,ifhrorig,ihr_start integer gefs1,gefs2,gefs3,gefs_status + integer refs1,refs2,refs3,refs_status character(len=4) cdum integer perturb_num,num_ens_fcst,e1_type ! @@ -560,14 +591,56 @@ subroutine gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange,tinvs if(gefs_status /= 0) print *, & "GEFS Run: Could not read e3 envir. var, User needs to set in script" - print*,'GEFS env var ',e1_type,perturb_num,num_ens_fcst +! print*,'GEFS env var ',e1_type,perturb_num,num_ens_fcst ! Set pdstmpl to tmpl4_1 or tmpl4_11 - print *, "Processing for GEFS and default setting is tmpl4_1 and tmpl4_11" +! print *, "Processing for GEFS and default setting is tmpl4_1 and tmpl4_11" if (trim(pset%param(nprm)%pdstmpl)=='tmpl4_0') then pset%param(nprm)%pdstmpl='tmpl4_1' elseif (trim(pset%param(nprm)%pdstmpl)=='tmpl4_8') then pset%param(nprm)%pdstmpl='tmpl4_11' + elseif (trim(pset%param(nprm)%pdstmpl)=='tmpl4_48') then + pset%param(nprm)%pdstmpl='tmpl4_49' + endif + endif +! +!---------------------------------------------------------------------------------------- +! Find out if the Post is being run for the REFS model +! Check if gen_proc is refs + if(trim(pset%gen_proc)=='refs') then + call getenv('e1',cdum) + read(cdum,'(I4)',iostat=refs_status)refs1 + e1_type=refs1 + + if(refs_status /= 0) print *, & + "REFS Run: Could not read e1 envir. var, User needs to set in script" + + call getenv('e2',cdum) + read(cdum,'(I4)',iostat=refs_status)refs2 + perturb_num=refs2 + + if(refs_status /= 0) print *, & + "REFS Run: Could not read e2 envir. var, User needs to set in script" + + !set default number of ens forecasts to 5 for REFS + !num_ens_fcst=5 + call getenv('e3',cdum) + read(cdum,'(I4)',iostat=refs_status)refs3 + num_ens_fcst=refs3 + + if(refs_status /= 0) print *, & + "REFS Run: Could not read e3 envir. var, User needs to set in script" + + print*,'REFS env var ',e1_type,perturb_num,num_ens_fcst + + ! Set pdstmpl to tmpl4_1 or tmpl4_11 +! print *, "Processing for REFS and default setting is tmpl4_1 and tmpl4_11" + if (trim(pset%param(nprm)%pdstmpl)=='tmpl4_0') then + pset%param(nprm)%pdstmpl='tmpl4_1' + elseif (trim(pset%param(nprm)%pdstmpl)=='tmpl4_8') then + pset%param(nprm)%pdstmpl='tmpl4_11' + elseif (trim(pset%param(nprm)%pdstmpl)=='tmpl4_48') then + pset%param(nprm)%pdstmpl='tmpl4_49' endif endif ! @@ -602,8 +675,8 @@ subroutine gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange,tinvs pset%sigreftime,nint(sdat(3)),nint(sdat(1)),nint(sdat(2)),ihrst,imin, & isec,pset%prod_status,pset%data_type,listsec1) !jw : set sect1(2) to 0 to compare with cnvgrb grib file -! For GEFS runs we need to set the section 1 values for Grib2 - if(trim(pset%gen_proc)=='gefs') then +! For GEFS and REFS runs we need to set the section 1 values for Grib2 + if(trim(pset%gen_proc)=='gefs'.or.trim(pset%gen_proc)=='refs') then listsec1(2)=2 ! Settings below for control (1 or 2) vs perturbed (3 or 4) ensemble forecast if(e1_type==1.or.e1_type==2) then @@ -611,8 +684,8 @@ subroutine gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange,tinvs elseif(e1_type==3.or.e1_type==4) then listsec1(13)=4 endif - print *, "After g2sec1 call we need to set listsec1(2) = ",listsec1(2) - print *, "After g2sec1 call we need to set listsec1(13) = ",listsec1(13) +! print *, "After g2sec1 call we need to set listsec1(2) = ",listsec1(2) +! print *, "After g2sec1 call we need to set listsec1(13) = ",listsec1(13) else listsec1(2)=0 endif @@ -722,10 +795,31 @@ subroutine gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange,tinvs scale_fct_fixed_sfc2=0 endif + ! Sending an empty key string to g2tmpl is ALWAYS an error. Yet, the post does this for many fields. + ! Fixing that requires refactoring post GRIB2 code and xml reader. This is a workaround for one + ! problematic case of the fixed_sfc2_type that generates numerous error messages in g2tmpl 1.12.0 + if(len_trim(fixed_sfc2_type) == 0) then + ! Internally, due to a g2tmpl bug, when fixed_sfc2_type is invalid, it ends up with the same + ! value as fixed_sfc1_type. This assignment produces that effect without an error message. + fixed_sfc2_type = 'missing' + pset%param(nprm)%fixed_sfc2_type = 'missing' + endif + + if(abs(level_unit_conversion-1)>1e-4) then +! print *,'apply level unit conversion ',level_unit_conversion +! print *,'scaled_val_fixed_sfc1 was ',scaled_val_fixed_sfc1 + scaled_val_fixed_sfc1=nint(scaled_val_fixed_sfc1*real(level_unit_conversion,kind=8)) + scaled_val_fixed_sfc2=nint(scaled_val_fixed_sfc2*real(level_unit_conversion,kind=8)) +! print *,'scaled_val_fixed_sfc1 now ',scaled_val_fixed_sfc1 + endif + ihr_start = ifhr-tinvstat - if(modelname=='RAPR'.and.vtimeunits=='FMIN') then + if((modelname=='RAPR'.and.vtimeunits=='FMIN').or.(modelname=='FV3R'.and.pset%time_range_unit=="minute")) then ifhrorig = ifhr ifhr = ifhr*60 + ifmin + if(ifmin<1)then + tinvstat = tinvstat*60 + ifmin + endif ihr_start = max(0,ifhr-tinvstat) else if(ifmin > 0.)then ! change time range unit to minute @@ -792,6 +886,33 @@ subroutine gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange,tinvs ipdstmpl(1:ipdstmpllen)) ! print *,'aft g2sec4_temp8,ipdstmpl8=',ipdstmpl(1:ipdstmp4_8len) + elseif(trim(pset%param(nprm)%pdstmpl)=='tmpl4_9') then +! + ipdsnum=9 + ipdstmpllen=ipdstmp4_9len + call g2sec4_temp9(icatg,iparm,pset%gen_proc_type, & + pset%gen_proc,hrs_obs_cutoff,min_obs_cutoff, & + pset%time_range_unit,ihr_start, & + pset%param(nprm)%fixed_sfc1_type, & + scale_fct_fixed_sfc1, & + scaled_val_fixed_sfc1, & + pset%param(nprm)%fixed_sfc2_type, & + scale_fct_fixed_sfc2, & + scaled_val_fixed_sfc2, & + prob_num,tot_num_prob, & + pset%param(nprm)%prob_type, & + pset%param(nprm)%scale_fact_lower_limit, & + pset%param(nprm)%scale_val_lower_limit, & + pset%param(nprm)%scale_fact_upper_limit, & + pset%param(nprm)%scale_val_upper_limit, & + idat(3),idat(1),idat(2),idat(4),idat(5), & + sec_intvl,ntrange,stat_miss_val, & + pset%param(nprm)%stats_proc,type_of_time_inc, & + pset%time_range_unit, tinvstat, & + stat_unit_time_key_succ,time_inc_betwn_succ_fld, & + ipdstmpl(1:ipdstmpllen)) +! print *,'aft g2sec4_temp9,ipdstmpl9=',ipdstmpl(1:ipdstmp4_9len) + elseif(trim(pset%param(nprm)%pdstmpl)=='tmpl4_11') then ipdsnum=11 ipdstmpllen=ipdstmp4_11len @@ -856,6 +977,34 @@ subroutine gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange,tinvs ipdstmpl(1:ipdstmpllen)) ! print *,'aft g2sec4_temp44,ipdstmpl44=',ipdstmpl(1:ipdstmp4_44len),'ipdsnum=',ipdsnum + elseif(trim(pset%param(nprm)%pdstmpl)=='tmpl4_46') then +! + ipdsnum=46 + ipdstmpllen=ipdstmp4_46len + call g2sec4_temp46(icatg,iparm,pset%param(nprm)%aerosol_type, & + pset%param(nprm)%typ_intvl_size, & + pset%param(nprm)%scale_fact_1st_size, & + pset%param(nprm)%scale_val_1st_size, & + pset%param(nprm)%scale_fact_2nd_size, & + pset%param(nprm)%scale_val_2nd_size, & + pset%gen_proc_type, & + pset%gen_proc,hrs_obs_cutoff,min_obs_cutoff, & + pset%time_range_unit,ihr_start, & + pset%param(nprm)%fixed_sfc1_type, & + scale_fct_fixed_sfc1, & + scaled_val_fixed_sfc1, & + pset%param(nprm)%fixed_sfc2_type, & + scale_fct_fixed_sfc2, & + scaled_val_fixed_sfc2, & + idat(3),idat(1),idat(2),idat(4),idat(5), & + sec_intvl,ntrange,stat_miss_val, & + pset%param(nprm)%stats_proc,type_of_time_inc, & + pset%time_range_unit, tinvstat, & + stat_unit_time_key_succ,time_inc_betwn_succ_fld, & + ipdstmpl(1:ipdstmpllen)) +! print *,'aft g2sec4_temp46,name=',trim(pset%param(nprm)%shortname),& +! 'ipdstmpl46=',ipdstmpl(1:ipdstmp4_46len) + elseif(trim(pset%param(nprm)%pdstmpl)=='tmpl4_48') then ! ipdsnum=48 @@ -884,9 +1033,38 @@ subroutine gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange,tinvs ! print *,'aft g2sec4_temp48,name=',trim(pset%param(nprm)%shortname),& ! 'ipdstmpl48=',ipdstmpl(1:ipdstmp4_48len) + elseif(trim(pset%param(nprm)%pdstmpl)=='tmpl4_49') then +! + ipdsnum=49 + ipdstmpllen=ipdstmp4_49len + call g2sec4_temp49(icatg,iparm,pset%param(nprm)%aerosol_type, & + pset%param(nprm)%typ_intvl_size, & + pset%param(nprm)%scale_fact_1st_size, & + pset%param(nprm)%scale_val_1st_size, & + pset%param(nprm)%scale_fact_2nd_size, & + pset%param(nprm)%scale_val_2nd_size, & + pset%param(nprm)%typ_intvl_wvlen, & + pset%param(nprm)%scale_fact_1st_wvlen, & + pset%param(nprm)%scale_val_1st_wvlen, & + pset%param(nprm)%scale_fact_2nd_wvlen, & + pset%param(nprm)%scale_val_2nd_wvlen, & + pset%gen_proc_type, & + pset%gen_proc,hrs_obs_cutoff,min_obs_cutoff, & + pset%time_range_unit,ifhr, & + pset%param(nprm)%fixed_sfc1_type, & + scale_fct_fixed_sfc1, & + scaled_val_fixed_sfc1, & + pset%param(nprm)%fixed_sfc2_type, & + scale_fct_fixed_sfc2, & + scaled_val_fixed_sfc2, & + pset%type_ens_fcst,perturb_num,num_ens_fcst, & + ipdstmpl(1:ipdstmpllen)) +! print *,'aft g2sec4_temp49,name=',trim(pset%param(nprm)%shortname),& +! 'ipdstmpl49=',ipdstmpl(1:ipdstmp4_49len) + endif - if(modelname=='RAPR'.and.vtimeunits=='FMIN') then + if((modelname=='RAPR'.or.modelname=='FV3R').and.vtimeunits=='FMIN') then ifhr = ifhrorig end if if(ifmin>0.)then @@ -897,7 +1075,8 @@ subroutine gengrb2msg(idisc,icatg, iparm,nprm,nlvl,fldlvl1,fldlvl2,ntrange,tinvs ! !---------- ! idrstmpl array is the output from g2sec5 -! +!> @brief Gets GRIB2 Section 5 packing method +!> See GRIB2 data representation information: https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_sect5.shtml call get_g2_sec5packingmethod(pset%packing_method,idrsnum,ierr) if(maxval(datafld1)==minval(datafld1))then idrsnum=0 @@ -990,6 +1169,368 @@ end subroutine gengrb2msg ! !-------------------------------------------------------------------------------------- ! +! E. JAMES: 10 JUN 2021 - Adding section to read in GRIB2 files for comparison +! within UPP. Two new subroutines added below. +!> @brief Reads in GRIB2 file header information +!> @param[in] filenameG2 Grib 2 file name +!> @param[out] nx Total number of grid points along x +!> @param[out] ny Total number of grid points along y +!> @param[out] nz Total number of grid points along z (vertical) +!> @param[out] rlonmin Westernmost longitude of the subdomain to extract (negative in Western hemisphere; in degrees) _____? +!> @param[out] rlatmax Northernmost latitude of the subdomain to extract (in degrees) _____? +!> @param[out] rdx Inverse x grid length +!> @param[out] rdy Inverse y grid length + subroutine read_grib2_head(filenameG2,nx,ny,nz,rlonmin,rlatmax,rdx,rdy) +! + use grib_mod + implicit none + character*256,intent(in) :: filenameG2 + integer, intent(out) :: nx,ny,nz + real, intent(out) :: rlonmin,rlatmax + real*8, intent(out) :: rdx,rdy +! +! + type(gribfield) :: gfld + logical :: expand=.true. + integer :: ifile + character(len=1),allocatable,dimension(:) :: cgrib + integer,parameter :: msk1=32000 + integer :: lskip, lgrib,iseek + integer :: currlen + integer :: icount , lengrib + integer :: listsec0(3) + integer :: listsec1(13) + integer year, month, day, hour, minute, second, fcst + integer :: numfields,numlocal,maxlocal,ierr + integer :: grib_edition + integer :: itot +! real :: dx,dy,lat1,lon1 + real :: scale_factor,scale_factor2 +! +! + integer :: nn,n,j,iret + real :: fldmax,fldmin,sum +! +! + scale_factor=1.0e6 + scale_factor2=1.0e3 + ifile=10 + loopfile: do nn=1,1 +! write(6,*) 'read in grib2 file head', trim(filenameG2) + lskip=0 + lgrib=0 + iseek=0 + icount=0 + itot=0 + currlen=0 +! Open GRIB2 file + call baopenr(ifile,trim(filenameG2),iret) + if (iret.eq.0) then + VERSION: do + ! Search opend file for the next GRIB2 messege (record). + call skgb(ifile,iseek,msk1,lskip,lgrib) + ! Check for EOF, or problem + if (lgrib.eq.0) then + exit + endif + ! Check size, if needed allocate more memory. + if (lgrib.gt.currlen) then + if (allocated(cgrib)) deallocate(cgrib) + allocate(cgrib(lgrib)) + currlen=lgrib + endif + ! Read a given number of bytes from unblocked file. + call baread(ifile,lskip,lgrib,lengrib,cgrib) + if(lgrib.ne.lengrib) then + write(*,*) 'ERROR, read_grib2 lgrib ne lengrib', & + lgrib,lengrib + stop 1234 + endif + iseek=lskip+lgrib + icount=icount+1 + ! Unpack GRIB2 field + call gb_info(cgrib,lengrib,listsec0,listsec1, & + numfields,numlocal,maxlocal,ierr) + if(ierr.ne.0) then + write(6,*) 'Error querying GRIB2 message',ierr + stop + endif + itot=itot+numfields + grib_edition=listsec0(2) + if (grib_edition.ne.2) then + exit VERSION + endif +! write(*,*) 'listsec0=',listsec0 +! write(*,*) 'listsec1=',listsec1 +! write(*,*) 'numfields=',numfields +! get information from grib2 file + n=1 + call gf_getfld(cgrib,lengrib,n,.FALSE.,expand,gfld,ierr) + year =gfld%idsect(6) !(FOUR-DIGIT) YEAR OF THE DATA + month =gfld%idsect(7) ! MONTH OF THE DATA + day =gfld%idsect(8) ! DAY OF THE DATA + hour =gfld%idsect(9) ! HOUR OF THE DATA + minute=gfld%idsect(10) ! MINUTE OF THE DATA + second=gfld%idsect(11) ! SECOND OF THE DATA + write(*,*) 'year,month,day,hour,minute,second=' + write(*,*) year,month,day,hour,minute,second + write(*,*) 'source center =',gfld%idsect(1) + write(*,*) 'Indicator of model =',gfld%ipdtmpl(5) + write(*,*) 'observation level (m)=',gfld%ipdtmpl(12) + write(*,*) 'map projection=',gfld%igdtnum + if (gfld%igdtnum.eq.0) then ! Lat/Lon grid aka Cylindrical + ! Equidistant + nx = gfld%igdtmpl(8) + ny = gfld%igdtmpl(9) + nz = 1 + rdx = gfld%igdtmpl(17)/scale_factor + rdy = gfld%igdtmpl(18)/scale_factor + rlatmax = gfld%igdtmpl(12)/scale_factor + rlonmin = gfld%igdtmpl(13)/scale_factor +! write(*,*) 'nx,ny=',nx,ny +! write(*,*) 'dx,dy=',rdx,rdy +! write(*,*) 'lat1,lon1=',rlatmax,rlonmin + else if (gfld%igdtnum.eq.1) then ! Rotated Lat Lon Grid (RRFS_NA) + nx = gfld%igdtmpl(8) + ny = gfld%igdtmpl(9) + nz = 1 + rdx = gfld%igdtmpl(17)/scale_factor + rdy = gfld%igdtmpl(18)/scale_factor + rlatmax = gfld%igdtmpl(12)/scale_factor + rlonmin = gfld%igdtmpl(13)/scale_factor +! write(*,*) 'nx,ny=',nx,ny +! write(*,*) 'dx,dy=',rdx,rdy +! write(*,*) 'lat1,lon1=',rlatmax,rlonmin + else if (gfld%igdtnum.eq.30) then ! Lambert Conformal Grid (HRRR) + nx = gfld%igdtmpl(8) + ny = gfld%igdtmpl(9) + nz = 1 + rdx = gfld%igdtmpl(15)/scale_factor2 + rdy = gfld%igdtmpl(16)/scale_factor2 + rlatmax = gfld%igdtmpl(10)/scale_factor + rlonmin = gfld%igdtmpl(11)/scale_factor +! write(*,*) 'nx,ny=',nx,ny +! write(*,*) 'dx,dy=',rdx,rdy +! write(*,*) 'lat1,lon1=',rlatmax,rlonmin + else + write(*,*) 'unknown projection' + stop 1235 + endif + call gf_free(gfld) + enddo VERSION ! skgb + endif + CALL BACLOSE(ifile,ierr) + nullify(gfld%local) + if (allocated(cgrib)) deallocate(cgrib) + enddo loopfile + return + end subroutine read_grib2_head +! +!--- +!> @brief Reads GRIB2 files +!> @param[in] filenameG2 Grib 2 file name +!> @param[in] ntot Total count of variables ? +!> @param[out] height _____? +!> @param[out] var Array of variables + subroutine read_grib2_sngle(filenameG2,ntot,height,var) +! + use grib_mod + implicit none + character*256,intent(in) :: filenameG2 + integer, intent(in) :: ntot + real, intent(out) :: var(ntot) + integer, intent(out) :: height +! +! + type(gribfield) :: gfld + logical :: expand=.true. + integer :: ifile + character(len=1),allocatable,dimension(:) :: cgrib + integer,parameter :: msk1=32000 + integer :: lskip, lgrib,iseek + integer :: currlen + integer :: icount , lengrib + integer :: listsec0(3) + integer :: listsec1(13) + integer year, month, day, hour, minute, second, fcst + integer :: numfields,numlocal,maxlocal,ierr + integer :: grib_edition + integer :: itot + integer :: nx,ny + real :: dx,dy,lat1,lon1,rtnum, nlat + real :: ref_value,bin_scale_fac,dec_scale_fac,bit_number,field_type + real :: bit_map + real :: scale_factor,scale_factor2 +! +! + integer :: nn,n,j,iret + real :: fldmax,fldmin,sum +! +! + scale_factor=1.0e6 + scale_factor2=1.0e3 + ifile=12 + loopfile: do nn=1,1 +! write(6,*) 'read mosaic in grib2 file ', trim(filenameG2) + lskip=0 + lgrib=0 + iseek=0 + icount=0 + itot=0 + currlen=0 +! Open GRIB2 file + call baopenr(ifile,trim(filenameG2),iret) + if (iret.eq.0) then + VERSION: do + ! Search opend file for the next GRIB2 messege (record). + call skgb(ifile,iseek,msk1,lskip,lgrib) + ! Check for EOF, or problem + if (lgrib.eq.0) then + exit + endif + ! Check size, if needed allocate more memory. + if (lgrib.gt.currlen) then + if (allocated(cgrib)) deallocate(cgrib) + allocate(cgrib(lgrib)) + currlen=lgrib + endif + ! Read a given number of bytes from unblocked file. + call baread(ifile,lskip,lgrib,lengrib,cgrib) + if(lgrib.ne.lengrib) then + write(*,*) 'ERROR, read_grib2 lgrib ne lengrib', & + lgrib,lengrib + stop 1234 + endif +! write(*,*) 'lengrib=',lengrib + iseek=lskip+lgrib + icount=icount+1 + ! Unpack GRIB2 field + call gb_info(cgrib,lengrib,listsec0,listsec1, & + numfields,numlocal,maxlocal,ierr) + if(ierr.ne.0) then + write(6,*) 'Error querying GRIB2 message',ierr + stop + endif + itot=itot+numfields + grib_edition=listsec0(2) + if (grib_edition.ne.2) then + exit VERSION + endif +! write(*,*) 'listsec0=',listsec0 +! write(*,*) 'listsec1=',listsec1 +! write(*,*) 'numfields=',numfields! +! get information form grib2 file + n=1 + call gf_getfld(cgrib,lengrib,n,.FALSE.,expand,gfld,ierr) + year =gfld%idsect(6) !(FOUR-DIGIT) YEAR OF THE DATA + month =gfld%idsect(7) ! MONTH OF THE DATA + day =gfld%idsect(8) ! DAY OF THE DATA + hour =gfld%idsect(9) ! HOUR OF THE DATA + minute=gfld%idsect(10) ! MINUTE OF THE DATA + second=gfld%idsect(11) ! SECOND OF THE DATA +! write(*,*) 'year,month,day,hour,minute,second=' +! write(*,*) year,month,day,hour,minute,second +! write(*,*) 'source center =',gfld%idsect(1) +! write(*,*) 'Indicator of model =',gfld%ipdtmpl(5) +! write(*,*) 'observation level (m)=',gfld%ipdtmpl(12) +! write(*,*) 'map projection=',gfld%igdtnum + height=gfld%ipdtmpl(12) + if (gfld%igdtnum.eq.0) then ! Lat/Lon grid aka Cylindrical + ! Equidistant + nx = gfld%igdtmpl(8) + ny = gfld%igdtmpl(9) + dx = gfld%igdtmpl(17)/scale_factor + dy = gfld%igdtmpl(18)/scale_factor + lat1 = gfld%igdtmpl(12)/scale_factor + lon1 = gfld%igdtmpl(13)/scale_factor +! write(*,*) 'nx,ny=',nx,ny +! write(*,*) 'dx,dy=',dx,dy +! write(*,*) 'lat1,lon1=',lat1,lon1 + else if (gfld%igdtnum.eq.1) then ! Rotated Lat Lon Grid (RRFS_NA) + nx = gfld%igdtmpl(8) + ny = gfld%igdtmpl(9) + dx = gfld%igdtmpl(17)/scale_factor + dy = gfld%igdtmpl(18)/scale_factor + lat1 = gfld%igdtmpl(12)/scale_factor + lon1 = gfld%igdtmpl(13)/scale_factor +! write(*,*) 'nx,ny=',nx,ny +! write(*,*) 'dx,dy=',rdx,rdy +! write(*,*) 'lat1,lon1=',rlatmax,rlonmin + else if (gfld%igdtnum.eq.30) then ! Lambert Conformal Grid (HRRR) + nx = gfld%igdtmpl(8) + ny = gfld%igdtmpl(9) + dx = gfld%igdtmpl(15)/scale_factor2 + dy = gfld%igdtmpl(16)/scale_factor2 + lat1 = gfld%igdtmpl(10)/scale_factor + lon1 = gfld%igdtmpl(11)/scale_factor +! write(*,*) 'In read_grib2_sngle:' +! write(*,*) 'nx,ny=',nx,ny +! write(*,*) 'dx,dy=',dx,dy +! write(*,*) 'lat1,lon1=',lat1,lon1 + rtnum = gfld%idrtnum +! write(*,*) 'rtnum=',rtnum + ref_value = gfld%idrtmpl(1) + bin_scale_fac = gfld%idrtmpl(2) + dec_scale_fac = gfld%idrtmpl(3) + bit_number = gfld%idrtmpl(4) + field_type = gfld%idrtmpl(5) + bit_map = gfld%ibmap +! write(*,*) 'ref_value=',ref_value +! write(*,*) 'bin_scale_fac=',bin_scale_fac +! write(*,*) 'dec_scale_fac=',dec_scale_fac +! write(*,*) 'bit_number=',bit_number +! write(*,*) 'field_type=',field_type +! write(*,*) 'bit map indicator=',bit_map + else if (gfld%igdtnum.eq.40) then ! Gaussian Grid (GFS) + nx = gfld%igdtmpl(8) + ny = gfld%igdtmpl(9) + lat1 = gfld%igdtmpl(12)/scale_factor + lon1 = gfld%igdtmpl(13)/scale_factor + dx = gfld%igdtmpl(17)/scale_factor + nlat = gfld%igdtmpl(18) +! write(*,*) gfld%igdtnum, nx, ny, lat1, lon1, dx, nlat + else + write(*,*) 'unknown projection' + stop 1235 + endif + call gf_free(gfld) + ! Continue to unpack GRIB2 field. + NUM_FIELDS: do n = 1, numfields + ! e.g. U and V would =2, otherwise its usually =1 + call gf_getfld(cgrib,lengrib,n,.true.,expand,gfld,ierr) + if (ierr.ne.0) then + write(*,*) ' ERROR extracting field gf_getfld = ',ierr + cycle + endif +! write(*,*) 'gfld%ndpts=',n,gfld%ndpts +! write(*,*) 'gfld%ngrdpts=',n,gfld%ngrdpts +! write(*,*) 'gfld%unpacked=',n,gfld%unpacked + fldmax=gfld%fld(1) + fldmin=gfld%fld(1) + sum=gfld%fld(1) + if(ntot .ne. gfld%ngrdpts) then + write(*,*) 'Error, wrong dimension ',ntot, gfld%ngrdpts + stop 1234 + endif + do j=1,gfld%ngrdpts + var(j)=gfld%fld(j) + enddo +! write(*,*) 'j,first,last:',j,var(954370),var(953920) +! write(*,*) 'height,max,min',height,maxval(var),minval(var) + call gf_free(gfld) + enddo NUM_FIELDS + enddo VERSION ! skgb + endif + CALL BACLOSE(ifile,ierr) + if (allocated(cgrib)) deallocate(cgrib) + nullify(gfld%local) + enddo loopfile + return + end subroutine read_grib2_sngle +! +!---------------------------------------------------------------------------------------- +!> @brief g2sec3tmpl40() Gets grid definition section (Section 3 of the WMO GRIB2 Standards) ? +!> See https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_sect3.shtml subroutine g2sec3tmpl40(nx,nY,lat1,lon1,lat2,lon2,lad,ds1,len3,igds,ifield3) implicit none ! @@ -1033,7 +1574,7 @@ subroutine g2sec3tmpl40(nx,nY,lat1,lon1,lat2,lon2,lad,ds1,len3,igds,ifield3) end subroutine g2sec3tmpl40 ! !------------------------------------------------------------------------------------- -! +!> @brief g2getbits() Compute the total number of bits subroutine g2getbits(MXBIT,ibm,scl,len,bmap,g,ibs,ids,nbits) !$$$ ! This subroutine is changed from w3 lib getbit to compute the total number of bits, @@ -1104,7 +1645,7 @@ subroutine g2getbits(MXBIT,ibm,scl,len,bmap,g,ibs,ids,nbits) ENDIF ENDIF -! write(0,*)' GMIN=',GMIN,' GMAX=',GMAX +! write(*,*)' GMIN=',GMIN,' GMAX=',GMAX ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! COMPUTE NUMBER OF BITS icnt = 0 @@ -1139,7 +1680,7 @@ subroutine g2getbits(MXBIT,ibm,scl,len,bmap,g,ibs,ids,nbits) rng2 = range * 2. ** (-ibs) nbits = INT ( ALOG ( rng2 ) / rln2 ) + 1 END IF -! write(0,*)'in g2getnits,ibs=',ibs,'ids=',ids,'nbits=',nbits,'range=',range +! write(*,*)'in g2getnits,ibs=',ibs,'ids=',ids,'nbits=',nbits,'range=',range !* IF(nbits <= 0) THEN nbits = 0 @@ -1152,7 +1693,7 @@ subroutine g2getbits(MXBIT,ibm,scl,len,bmap,g,ibs,ids,nbits) ENDIF ENDIF nbits = min(nbits,MXBIT) -! write(0,*)'in g2getnits ibs=',ibs,'ids=',ids,'nbits=',nbits +! write(*,*)'in g2getnits ibs=',ibs,'ids=',ids,'nbits=',nbits ! IF ( scl > 0.0 ) THEN s=10.0 ** ids @@ -1196,19 +1737,17 @@ subroutine g2getbits(MXBIT,ibm,scl,len,bmap,g,ibs,ids,nbits) endif ! endif -! write(0,*)'in g2getnits,2ibs=',ibs,'ids=',ids,'nbits=',nbits,'range=',& +! write(*,*)'in g2getnits,2ibs=',ibs,'ids=',ids,'nbits=',nbits,'range=',& ! range, 'scl=',scl,'data=',maxval(g),minval(g) ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RETURN END subroutine g2getbits ! !------------------------------------------------------------------------------------- -! +!> @brief getgds() Set up Grid Description Section (GDS) kpds (Product Definition Section?) to call Boi's code ? subroutine getgds(ldfgrd,len3,ifield3len,igds,ifield3) -! -!***** set up gds kpds to call Boi's code -! - use CTLBLK_mod, only : im,jm,gdsdegr,modelname + + use CTLBLK_mod, only : im,jm,gdsdegr,modelname,earth_radius use gridspec_mod, only: DXVAL,DYVAL,CENLAT,CENLON,LATSTART,LONSTART,LATLAST, & & LONLAST,MAPTYPE,STANDLON,latstartv,cenlatv,lonstartv, & cenlonv,TRUELAT1,TRUELAT2,LATSTART_R,LONSTART_R, & @@ -1423,22 +1962,45 @@ subroutine getgds(ldfgrd,len3,ifield3len,igds,ifield3) ifield3(15) = latlast ifield3(16) = lonlast ! ifield3(17) = NINT(360./(IM)*1.0E6) - ifield3(17) = abs(lonlast-lonstart)/(IM-1) +! ifield3(17) = abs(lonlast-lonstart)/(IM-1) + ifield3(17) = DXVAL ! if(mod(jm,2) == 0 ) then ! ifield3(18) = NINT(180./JM*1.0E6) ! else ! ifield3(18) = NINT(180./(JM-1)*1.0E6) - ifield3(18) = abs(latlast-latstart)/(JM-1) +! ifield3(18) = abs(latlast-latstart)/(JM-1) ! endif + ifield3(18) = DYVAL if( latstart < latlast ) then ifield3(19) = 64 !for SN scan else ifield3(19) = 0 !for NS scan endif - ENDIF + ENDIF ! MAPTYPE branching + + IF (earth_radius > 0.) THEN + + ! J Kenyon (25 Jul 2025): earth_radius > 0 indicates that a namelist-specified earth radius is + ! present. Accordingly, the GRIB2 files will be generated to reflect this radius. This is + ! accomplished by updating elements 1-3 of the "ifield3()" array. These three elements correspond + ! to the first three rows of + ! https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-0.shtml + ! (also applies to other projections besides lat-lon). Specifically: + + ! For element 1: the "Shape of the Earth" + ifield3(1) = 1 ! 1 indicates "Earth assumed spherical with radius specified (in m) by data producer"; + ! see https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table3-2.shtml + + ! For element 2: the "Scale Factor of radius of spherical Earth" + ifield3(2) = 0 ! 0 indicates that no scale factor is applied + + ! For element 3: the "Scale value of radius of spherical Earth" + ifield3(3) = earth_radius ! assign the value (meters) from the namelist + + ENDIF ! namelist-specified earth_radius -! write(0,*)'igds=',igds,'igdstempl=',ifield3(1:ifield3len) +! write(*,*)'igds=',igds,'igdstempl=',ifield3(1:ifield3len) end subroutine getgds ! !------------------------------------------------------------------------------------- diff --git a/sorc/ncep_post.fd/gtg_ReadSetupParams.F90 b/sorc/ncep_post.fd/gtg_ReadSetupParams.F90 new file mode 100644 index 0000000000..a29cbf1841 --- /dev/null +++ b/sorc/ncep_post.fd/gtg_ReadSetupParams.F90 @@ -0,0 +1,4 @@ + subroutine gtg_ReadSetupParams() + implicit none + print *, "Stub code for GTG protection but to make UPP public to work" + end subroutine gtg_ReadSetupParams diff --git a/sorc/ncep_post.fd/gtg_cdf_mod.F90 b/sorc/ncep_post.fd/gtg_cdf_mod.F90 new file mode 100644 index 0000000000..4b261a98d5 --- /dev/null +++ b/sorc/ncep_post.fd/gtg_cdf_mod.F90 @@ -0,0 +1,4 @@ + subroutine gtg_cdf_mod() + implicit none + print *, "Stub code for GTG protection but to make UPP public to work" + end subroutine gtg_cdf_mod diff --git a/sorc/ncep_post.fd/gtg_config.F90 b/sorc/ncep_post.fd/gtg_config.F90 deleted file mode 100644 index 71317e0752..0000000000 --- a/sorc/ncep_post.fd/gtg_config.F90 +++ /dev/null @@ -1,7 +0,0 @@ -module gtg_config -contains - subroutine read_config() - implicit none - print *, "Stub code for GTG protection but to make UPP public to work" - end subroutine read_config -end module gtg_config diff --git a/sorc/ncep_post.fd/gtg_filter.F90 b/sorc/ncep_post.fd/gtg_filter.F90 index 0af041b1a9..3dc603b2a3 100644 --- a/sorc/ncep_post.fd/gtg_filter.F90 +++ b/sorc/ncep_post.fd/gtg_filter.F90 @@ -1,5 +1,8 @@ +!> @file +!> @brief Contains stub code for GTG protection that makes public UPP work module gtg_filter contains +!> @brief Stub code for GTG protection that makes public UPP work subroutine filt3d() implicit none print *, "Stub code for GTG protection but to make UPP public to work" diff --git a/sorc/ncep_post.fd/gtg_indices.F90 b/sorc/ncep_post.fd/gtg_indices.F90 index eff35708e5..4a41b51192 100644 --- a/sorc/ncep_post.fd/gtg_indices.F90 +++ b/sorc/ncep_post.fd/gtg_indices.F90 @@ -1,5 +1,8 @@ +!> @file +!> @brief Contains stub code for GTG protection that makes public UPP work module gtg_indices contains +!> @brief Stub code for GTG protection that makes public UPP work subroutine indices_gtg() implicit none print *, "Stub code for GTG protection but to make UPP public to work" diff --git a/sorc/ncep_post.fd/gtg_interp.F90 b/sorc/ncep_post.fd/gtg_interp.F90 new file mode 100644 index 0000000000..57147900b4 --- /dev/null +++ b/sorc/ncep_post.fd/gtg_interp.F90 @@ -0,0 +1,4 @@ + subroutine gtg_interp() + implicit none + print *, "Stub code for GTG protection but to make UPP public to work" + end subroutine gtg_interp diff --git a/sorc/ncep_post.fd/gtg_mlmodel.F90 b/sorc/ncep_post.fd/gtg_mlmodel.F90 new file mode 100644 index 0000000000..7900773f61 --- /dev/null +++ b/sorc/ncep_post.fd/gtg_mlmodel.F90 @@ -0,0 +1,4 @@ + subroutine gtg_mlmodel() + implicit none + print *, "Stub code for GTG protection but to make UPP public to work" + end subroutine gtg_mlmodel diff --git a/sorc/ncep_post.fd/gtg_prob.F90 b/sorc/ncep_post.fd/gtg_prob.F90 new file mode 100644 index 0000000000..5d5427c23d --- /dev/null +++ b/sorc/ncep_post.fd/gtg_prob.F90 @@ -0,0 +1,4 @@ + subroutine gtg_prob() + implicit none + print *, "Stub code for GTG protection but to make UPP public to work" + end subroutine gtg_prob diff --git a/sorc/ncep_post.fd/gtg_read_config.F90 b/sorc/ncep_post.fd/gtg_read_config.F90 new file mode 100644 index 0000000000..99decd2912 --- /dev/null +++ b/sorc/ncep_post.fd/gtg_read_config.F90 @@ -0,0 +1,10 @@ +!> @file +!> @brief Contains stub code for GTG protection that makes public UPP work +module gtg_config +contains +!> @brief Stub code for GTG protection that makes public UPP work + subroutine gtg_read_config() + implicit none + print *, "Stub code for GTG protection but to make UPP public to work" + end subroutine gtg_read_config +end module gtg_config diff --git a/sorc/ncep_post.fd/intio_tags.f b/sorc/ncep_post.fd/intio_tags.f index d9e296b3a6..d043d39314 100644 --- a/sorc/ncep_post.fd/intio_tags.f +++ b/sorc/ncep_post.fd/intio_tags.f @@ -1,42 +1,44 @@ +!> @file +!> @brief intio_tags_mod defines variables related to integer input/output + module intio_tags_mod -! -!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + implicit none ! - INTEGER, PARAMETER :: int_ioexit = 10 - INTEGER, PARAMETER :: int_open_for_write_begin = 20 - INTEGER, PARAMETER :: int_open_for_write_commit = 30 - INTEGER, PARAMETER :: int_open_for_read = 40 - INTEGER, PARAMETER :: int_intio_nextrec = 50 - INTEGER, PARAMETER :: int_inquire_opened = 60 - INTEGER, PARAMETER :: int_inquire_filename = 70 - INTEGER, PARAMETER :: int_iosync = 80 - INTEGER, PARAMETER :: int_ioclose = 90 - INTEGER, PARAMETER :: int_next_time = 100 - INTEGER, PARAMETER :: int_set_time = 110 - INTEGER, PARAMETER :: int_next_var = 120 - INTEGER, PARAMETER :: int_dom_ti_real = 140 - INTEGER, PARAMETER :: int_dom_ti_double = 160 - INTEGER, PARAMETER :: int_dom_ti_integer = 180 - INTEGER, PARAMETER :: int_dom_ti_logical = 200 - INTEGER, PARAMETER :: int_dom_ti_char = 220 - INTEGER, PARAMETER :: int_dom_td_real = 240 - INTEGER, PARAMETER :: int_dom_td_double = 260 - INTEGER, PARAMETER :: int_dom_td_integer = 280 - INTEGER, PARAMETER :: int_dom_td_logical = 300 - INTEGER, PARAMETER :: int_dom_td_char = 320 - INTEGER, PARAMETER :: int_var_ti_real = 340 - INTEGER, PARAMETER :: int_var_ti_double = 360 - INTEGER, PARAMETER :: int_var_ti_integer = 380 - INTEGER, PARAMETER :: int_var_ti_logical = 400 - INTEGER, PARAMETER :: int_var_ti_char = 420 - INTEGER, PARAMETER :: int_var_td_real = 440 - INTEGER, PARAMETER :: int_var_td_double = 460 - INTEGER, PARAMETER :: int_var_td_integer = 480 - INTEGER, PARAMETER :: int_var_td_logical = 500 - INTEGER, PARAMETER :: int_var_td_char = 520 - INTEGER, PARAMETER :: int_field = 530 - INTEGER, PARAMETER :: int_var_info = 540 - INTEGER, PARAMETER :: int_noop = 550 + INTEGER, PARAMETER :: int_ioexit =10 !< Assigns ID 10 to int_ioexit - exit + INTEGER, PARAMETER :: int_open_for_write_begin =20 !< Assigns ID 20 to int_open_for_write_begin - open for write operation + INTEGER, PARAMETER :: int_open_for_write_commit =30 !< Assigns ID 30 to int_open_for_write_commit - open for write operation & commit + INTEGER, PARAMETER :: int_open_for_read =40 !< Assigns ID 40 to int_open_for_read - open for read + INTEGER, PARAMETER :: int_intio_nextrec =50 !< Assigns ID 50 to int_intio_nextrec - next record request + INTEGER, PARAMETER :: int_inquire_opened =60 !< Assigns ID 60 to int_inquire_opened - check if opened + INTEGER, PARAMETER :: int_inquire_filename =70 !< Assigns ID 70 to int_inquire_filename - filename request + INTEGER, PARAMETER :: int_iosync =80 !< Assigns ID 80 to int_iosync - sync data in buffer ? + INTEGER, PARAMETER :: int_ioclose =90 !< Assigns ID 90 to int_ioclose - close + INTEGER, PARAMETER :: int_next_time =100 !< Assigns ID 100 to int_next_time - get next timestamp + INTEGER, PARAMETER :: int_set_time =110 !< Assigns ID 110 to int_set_time - set time request + INTEGER, PARAMETER :: int_next_var =120 !< Assigns ID 120 to int_next_var - next variable request + INTEGER, PARAMETER :: int_dom_ti_real =140 !< Assigns ID 140 to int_dom_ti_real - time-independent domain metadata - real type + INTEGER, PARAMETER :: int_dom_ti_double =160 !< Assigns ID 160 to int_dom_ti_double - time-independent domain metadata - double type + INTEGER, PARAMETER :: int_dom_ti_integer =180 !< Assigns ID 180 to int_dom_ti_integer - time-independent domain metadata - integer type + INTEGER, PARAMETER :: int_dom_ti_logical =200 !< Assigns ID 200 to int_dom_ti_logical - time-independent domain metadata - logical/boolean type + INTEGER, PARAMETER :: int_dom_ti_char =220 !< Assigns ID 220 to int_dom_ti_char - time-independent domain metadata - character type + INTEGER, PARAMETER :: int_dom_td_real =240 !< Assigns ID 240 to int_dom_td_real - time-dependent domain metadata - real type + INTEGER, PARAMETER :: int_dom_td_double =260 !< Assigns ID 260 to int_dom_td_double - time-dependent domain metadata - double type + INTEGER, PARAMETER :: int_dom_td_integer =280 !< Assigns ID 280 to int_dom_td_integer - time-dependent domain metadata - integer type + INTEGER, PARAMETER :: int_dom_td_logical =300 !< Assigns ID 300 to int_dom_td_logical - time-dependent domain metadata - logical/boolean type + INTEGER, PARAMETER :: int_dom_td_char =320 !< Assigns ID 320 to int_dom_td_char - time-dependent domain metadata - character type + INTEGER, PARAMETER :: int_var_ti_real =340 !< Assigns ID 340 to int_var_ti_real - time-independent variable metadata - real type + INTEGER, PARAMETER :: int_var_ti_double =360 !< Assigns ID 360 to int_var_ti_double - time-independent variable metadata - double type + INTEGER, PARAMETER :: int_var_ti_integer =380 !< Assigns ID 380 to int_var_ti_integer - time-independent variable metadata - integer type + INTEGER, PARAMETER :: int_var_ti_logical =400 !< Assigns ID 400 to int_var_ti_logical - time-independent variable metadata - logical/boolean type + INTEGER, PARAMETER :: int_var_ti_char =420 !< Assigns ID 420 to int_var_ti_char - time-independent variable metadata - character type + INTEGER, PARAMETER :: int_var_td_real =440 !< Assigns ID 440 to int_var_td_real - time-dependent variable metadata - real type + INTEGER, PARAMETER :: int_var_td_double =460 !< Assigns ID 460 to int_var_td_double - time-dependent variable metadata - double type + INTEGER, PARAMETER :: int_var_td_integer =480 !< Assigns ID 480 to int_var_td_integer - time-dependent variable metadata - integer type + INTEGER, PARAMETER :: int_var_td_logical =500 !< Assigns ID 500 to int_var_td_logical - time-dependent variable metadata - logical/boolean type + INTEGER, PARAMETER :: int_var_td_char =520 !< Assigns ID 520 to int_var_td_char - time-dependent variable metadata - character type + INTEGER, PARAMETER :: int_field =530 !< Assigns ID 530 to int_field - write field request + INTEGER, PARAMETER :: int_var_info =540 !< Assigns ID 540 to int_var_info - variable info request ? + INTEGER, PARAMETER :: int_noop =550 !< Assigns ID 550 to int_noop - do nothing/no operation request end module intio_tags_mod diff --git a/sorc/ncep_post.fd/io_int_stubs.f b/sorc/ncep_post.fd/io_int_stubs.f index f6dc98c30a..6bdefe809e 100644 --- a/sorc/ncep_post.fd/io_int_stubs.f +++ b/sorc/ncep_post.fd/io_int_stubs.f @@ -2,12 +2,6 @@ ! !--- 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 @@ -140,6 +134,9 @@ subroutine int_gen_ti_header_c ( hdrbuf, hdrbufsize, itypesize, typesize, & END SUBROUTINE int_gen_ti_header_c +subroutine ext_ncd_get_var_ti_real(DataHandle,Element,Var,Data,Count,OutCount,Status) + return +end subroutine ext_ncd_get_var_ti_real diff --git a/sorc/ncep_post.fd/kinds_mod.F b/sorc/ncep_post.fd/kinds_mod.F index f89c57a95a..6f363bcc0b 100644 --- a/sorc/ncep_post.fd/kinds_mod.F +++ b/sorc/ncep_post.fd/kinds_mod.F @@ -1,39 +1,33 @@ !> @file -! . . . . -!> module: kinds -!! prgmmr: treadon org: np23 date: 2004-08-15 -!! -!! abstract: Module to hold specification kinds for variable declaration. -!! This module is based on (copied from) Paul vanDelst's -!! type_kinds module found in the community radiative transfer -!! model -!! -!! module history log: -!! 2004-08-15 treadon -!! -!! Subroutines Included: -!! -!! Functions Included: -!! -!! remarks: -!! The numerical data types defined in this module are: -!! i_byte - specification kind for byte (1-byte) integer variable -!! i_short - specification kind for short (2-byte) integer variable -!! i_long - specification kind for long (4-byte) integer variable -!! i_llong - specification kind for double long (8-byte) integer variable -!! r_single - specification kind for single precision (4-byte) real variable -!! r_double - specification kind for double precision (8-byte) real variable -!! r_quad - specification kind for quad precision (16-byte) real variable -!! -!! i_kind - generic specification kind for default integer -!! r_kind - generic specification kind for default floating point -!! -!! -!! attributes: -!! language: f90 -!! machine: ibm RS/6000 SP -!! -!! +!> +!> @brief This module is to hold specification kinds for variable declaration. +!> This module is based on (copied from) Paul vanDelst's +!> type_kinds module found in the community radiative transfer model. +!> +!> @note The numerical data types defined in this module are: +!> Variables name | Numerical data types +!> ---------------|------------ +!> i_byte | specification kind for byte (1-byte) integer variable +!> i_short | specification kind for short (2-byte) integer variable +!> i_long | specification kind for long (4-byte) integer variable +!> i_llong | specification kind for double long (8-byte) integer variable +!> r_single | specification kind for single precision (4-byte) real variable +!> r_double | specification kind for double precision (8-byte) real variable +!> r_quad | specification kind for quad precision (16-byte) real variable +!> i_kind | generic specification kind for default integer +!> r_kind | generic specification kind for default floating point +!> +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2004-08-15 | Russ Treadon | Initial +!> +!> @author Russ Treadon np23 @date 2004-08-15 +! +! ---------------------------------------------------------------------- +! + module kinds implicit none @@ -42,16 +36,24 @@ module kinds ! Integer type definitions below ! Integer types + !> Specification kind for byte (1-byte) integer variable integer, parameter, public :: i_byte = selected_int_kind(1) ! byte integer + !> Specification kind for short (2-byte) integer variable integer, parameter, public :: i_short = selected_int_kind(4) ! short integer + !> Specification kind for long (4-byte) integer variable integer, parameter, public :: i_long = selected_int_kind(8) ! long integer integer, parameter, private :: llong_t = selected_int_kind(16) ! llong integer + !> Specification kind for double long (8-byte) integer variable integer, parameter, public :: i_llong = max( llong_t, i_long ) ! Expected 8-bit byte sizes of the integer kinds + !> Expected 8-bit byte size for byte integer integer, parameter, public :: num_bytes_for_i_byte = 1 + !> Expected 8-bit byte size for short integer integer, parameter, public :: num_bytes_for_i_short = 2 + !> Expected 8-bit byte size for long integer integer, parameter, public :: num_bytes_for_i_long = 4 + !> Expected 8-bit byte size for llong integer integer, parameter, public :: num_bytes_for_i_llong = 8 ! Define arrays for default definition @@ -72,22 +74,29 @@ module kinds ! 2=short, ! 3=long, ! 4=llong + !> i_kind Generic specification kind for default integer integer, parameter, public :: i_kind = integer_types( default_integer ) + !> Number of bytes for i_kind integer, parameter, public :: num_bytes_for_i_kind = & integer_byte_sizes( default_integer ) - ! Real definitions below ! Real types + !> Specification kind for single precision (4-byte) real variable integer, parameter, public :: r_single = selected_real_kind(6) ! single precision + !> Specification kind for double precision (8-byte) real variable integer, parameter, public :: r_double = selected_real_kind(15) ! double precision integer, parameter, private :: quad_t = selected_real_kind(20) ! quad precision + !> r_quad Specification kind for quad precision (16-byte) real variable integer, parameter, public :: r_quad = max( quad_t, r_double ) ! Expected 8-bit byte sizes of the real kinds + !> Expected 8-bit byte size for single precision types integer, parameter, public :: num_bytes_for_r_single = 4 + !> Expected 8-bit byte size for double precision types integer, parameter, public :: num_bytes_for_r_double = 8 + !> Expected 8-bit byte size for quad precision types integer, parameter, public :: num_bytes_for_r_quad = 16 ! Define arrays for default definition @@ -103,7 +112,9 @@ module kinds integer, parameter, private :: default_real = 1 ! 1=single, ! 2=double, ! 3=quad + !> r_kind Generic specification kind for default floating point integer, parameter, public :: r_kind = real_kinds( default_real ) + !> Number of bytes for r_kind integer, parameter, public :: num_bytes_for_r_kind = & real_byte_sizes( default_real ) diff --git a/sorc/ncep_post.fd/machine.f b/sorc/ncep_post.fd/machine.f index d2d3468fc6..372b54bfcf 100644 --- a/sorc/ncep_post.fd/machine.f +++ b/sorc/ncep_post.fd/machine.f @@ -1,14 +1,20 @@ +!> @file +!> @brief MACHINE_POST defines machine-dependent constants MODULE MACHINE_POST IMPLICIT NONE SAVE -! Machine dependant constants - integer kind_io4,kind_io8,kind_phys,kind_rad + + integer kind_io4 & !< 4-byte I/O variables ? + ,kind_io8 & !< 8-byte I/O variables ? + ,kind_phys & !< Physics variables ? + ,kind_rad & !< Radiation variables ? + ,kint_mpi !< MPI variables ? + parameter (kind_rad = selected_real_kind(13,60)) ! the '60' maps to 64-bit real parameter (kind_phys = selected_real_kind(13,60)) ! the '60' maps to 64-bit real parameter (kind_io4 = 4) parameter (kind_io8 = 8) - integer kint_mpi parameter (kint_mpi = 4) END MODULE MACHINE_POST diff --git a/sorc/ncep_post.fd/makefile b/sorc/ncep_post.fd/makefile deleted file mode 100644 index 7a0a614d8c..0000000000 --- a/sorc/ncep_post.fd/makefile +++ /dev/null @@ -1,258 +0,0 @@ -#!/bin/ksh -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=YES # compile with wrf stub instead of WRF lib -################################# 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} -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 -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="" -elif [ $machine = wcoss_c ] ; then - 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 -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/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 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 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 DEBUG="" - fi - export LIST="" - export FREE="-FR" - export TRAPS="" - export PROFILE="" -elif [ $machine = gaea ] ; then - export NETCDFPATH="/opt/cray/netcdf/4.3.2/INTEL/140" - export WRFPATH="/lustre/f1/unswept/ncep/Shrinivas.Moorthi/nceplibs/nwprod/lib/sorc/WRFV3" - 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 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 ipv=${ipv:-""} -export spv=${spv:-""} - -if [ ${CLEAN:-YES} = YES ] ; then make -f Makefile clean ; fi - -export CFLAGS="-DLINUX -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long'" -if [ $machine = wcoss_c ] ; then - - if [ $make_nowrf = YES ] ; then - WRF_INC= - WRF_LIB= - fi - NETCDF_LIB="${NETCDF}/lib/libnetcdf.a" - export FFLAGS="${OPTS} ${FREE} ${TRAPS} ${DEBUG} -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 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}" -else - 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${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 - WRF_INC= - WRF_LIB= - else - 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" - 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 - else - make -f Makefile - fi - fi -else - if [ $make_post_exec = YES ] ; then - if [ $make_nowrf = YES ] ; then - make -f Makefile_nowrf - else - make -f Makefile - fi - fi - export POSTLIBPATH=${POSTLIBPATH:-$(pwd)} - if [ ${CLEAN:-YES} = YES ] ; then rm -rf $POSTLIBPATH/include/post_4 ; fi - mkdir -p $POSTLIBPATH/include/post_4 - make -f Makefile_lib -fi - - diff --git a/sorc/ncep_post.fd/makefile_dtc b/sorc/ncep_post.fd/makefile_dtc deleted file mode 100644 index 519c2418ba..0000000000 --- a/sorc/ncep_post.fd/makefile_dtc +++ /dev/null @@ -1,130 +0,0 @@ -SHELL = /bin/sh - -################################################################################ -# -# Makefile for NCEP Post -# -# Use: -# make - build the executable -# make clean - start with a clean slate -# -################################################################################# -# -# Define the name of the executable -# -TARGET = unipost.exe - -# -# build configuration determined before compile -include ../../configure.upp - -# -# directories for shared resources -LOCALINC = -I$(INCMOD) -I$(INCMOD)/crtm2 -NCDFINC = -I$(NETCDFPATH)/include -GRIB2INC = -I$(GRIB2SUPT_INC) - -LLIBDIR = -L$(LIBDIR) -UPPLIBS = -lCRTM $(SERIAL_MPI_LIB) -lxmlparse -NCEPLIBS = $(NCEPLIBLIB) $(NCEPLIB_FLAGS) $(GRIB2SUPT_LIB) -NCDFLIBS = -L$(NETCDFPATH)/lib $(NETCDFLIBS) - -LIBS = $(LLIBDIR) $(UPPLIBS) $(GRIB2LIBS) $(NCEPLIBS) $(NCDFLIBS) - -MODULES = - -# -# Compilation / Link Flag Configuration -EXTRA_CPPFLAGS = -EXTRA_FFLAGS = -c $(LOCALINC) $(NETCDFINC) $(NCDFINC) $(NCEPLIBINC) -#EXTRA_LDFLAGS = $(LIBS) -Wl,-Map=lm -EXTRA_LDFLAGS = $(LIBS) -EXTRA_CFLAGS = -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long' - -# -# ----------- -# Threaded object files -# ----------- -OBJS_FT = wrf_io_flags.o getVariable.o \ - getIVariableN.o kinds_mod.o machine.o physcons.o \ - native_endianness.o \ - retrieve_index.o ZENSUN.o \ - CLDFRAC_ZHAO.o GFSPOST.o GFSPOSTSIG.o GETGBANDSCATTER.o \ - blockIO.o - -# ----------- -# Non-threaded object files -# ----------- -#OBJXML = post_t.o - -OBJS_F = 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 $(LINUX_OBJ)\ - 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 INITPOST.o LFMFLD.o MAPSSLP.o MISCLN.o MDL2STD_P.o MIXLEN.o MDL2P.o ETAMP_Q2F.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 \ - 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 \ - GEO_ZENITH_ANGLE.o GFIP3.o GRIDAVG.o CALUPDHEL.o MSFPS.o INITPOST_GFS_SIGIO.o\ - AllGETHERV_GSD.o SELECT_CHANNELS.o ALLOCATE_ALL.o INITPOST_NEMS_MPIIO.o ASSIGNNEMSIOVAR.o INITPOST_GFS_NEMS_MPIIO.o \ - INITPOST_NETCDF.o INITPOST_GFS_NETCDF.o \ - gtg_ctlblk.o gtg_indices.o gtg_filter.o gtg_compute.o gtg_config.o map_routines.o gtg_algo.o CALVESSEL.o \ - CALHEL2.o CALCAPE2.o - -OBJS = $(OBJS_F) $(OBJXML) $(OBJS_FT) - -# ----------- -# Targets -# ----------- -all: $(TARGET) - -$(TARGET): $(XML_DEPS) $(OBJS) $(MODULES) - $(F90) -o $@ $(FFLAGS) $(MODULES) $(OBJS) $(LDFLAGS) $(EXTRA_LDFLAGS) - $(CP) $@ $(BINDIR) - -# This insures a dependency found in some files -- watch file order above remains -- should -# be done w/ dependencies -$(OBJS_F): $(OBJS_FT) $(OBJXML) - -# -# These files are configurable, but rarely change -clean: - @echo -e "\n<><><><> CLEAN <><><><>\n$@ in `pwd`" - $(RM) $(TARGET) $(OBJS) *.lst *.mod - $(RM) $(BINDIR)/$(TARGET) - for f in `ls -1 *.F|sed "s/.F$$/.f/"` ; do \ - $(RM) $$f ; \ - done - -distclean: clean - -.IGNORE: -.PHONY: clean - -.SUFFIXES: -.SUFFIXES: .F .f .f90 .o .c - -.F.o: - $(CPP) $(CPP_FLAGS) $(EXTRA_CPPFLAGS) $< > $*.f - $(F90) -c $(FFLAGS) $(EXTRA_FFLAGS) $*.f - -.f.o: - $(F90) -c $(FFLAGS) $(EXTRA_FFLAGS) $< - -.f90.o: - $(F90) -c $(FFLAGS) $(EXTRA_FFLAGS) $< - -.c.o: - ${CC} -c ${CFLAGS} $(EXTRA_CFLAGS) $< - diff --git a/sorc/ncep_post.fd/makefile_lib b/sorc/ncep_post.fd/makefile_lib deleted file mode 100644 index 37d48af6ed..0000000000 --- a/sorc/ncep_post.fd/makefile_lib +++ /dev/null @@ -1,146 +0,0 @@ -################################################################################ -# -# Makefile for upp (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 -# -# This version for GFS V16 in-line post -# Wen Meng Ocotomber 2020 -# -################################################################################# -# -# Define the name of the executable -# - #POSTLIBPATH=../.. - #TARGET = ${POSTLIBPATH}/lib/libncep_post_${version}_4.a - #INCMOD= ${POSTLIBPATH}/lib/include/ncep_post_${version}_4 - TARGET = libupp_4.a - INCMOD = include/upp_4 - AR = ar - ARFLAGS = -rv - -# -# CPP, Compiler, and Linker Options -# - -#FC = mpfort -compiler ifort -#CPP = /lib/cpp -P -FC = $(myFC) $(myFCFLAGS) -CPP = $(myCPP) $(myCPPFLAGS) -ARCH = auto -CPPFLAGS = -DLINUX -OPTS = -O -fp-model strict -LIST = -FREE = -FR -#TRAPS = -qflttrap=ov:und:zero:inv:inex -qcheck -qinitauto=FF -TRAPS = -PROFILE = -DEBUG = -g -CFLAGS = -DLINUX -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long' -W3LIBDIR = /nwprod/lib - -SEARCH = -# -# Assemble Options -# -#FFLAGS = $(OPTS) $(FREE) $(TRAPS) $(DEBUG) -I$(CRTM_INC) -I$(W3EMC_INC4) -I$(G2_INC4) -I$(G2TMPL_INC) -I$(XMLPARSE_INC) -I$(SIGIO_INC4) -I$(GFSIO_INC4) -FFLAGS = $(OPTS) $(FREE) $(TRAPS) $(DEBUG) -I$(CRTM_INC) -I$(W3EMC_INC4) -I$(G2_INC4) -I$(G2TMPL_INC) -I$(SIGIO_INC4) -I$(GFSIO_INC4) -FFLAGST = $(OPTS) $(FREE) $(TRAPS) $(DEBUG) -I$(CRTM_INC) -I$(W3EMC_INC4) -I$(SIGIO_INC4) -I$(GFSIO_INC4) - -# -# Threaded object files -# -OBJST= kinds_mod.o machine.o physcons.o ZENSUN.o CLDFRAC_ZHAO.o GFSPOST.o -# -# Non-threaded object files -# -#OBJXML= post_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 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 LFMFLD.o \ - MAPSSLP.o MISCLN.o MDL2STD_P.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 \ - gtg_ctlblk.o gtg_indices.o gtg_filter.o gtg_compute.o gtg_config.o map_routines.o gtg_algo.o gtg_smoothseams.o CALVESSEL.o \ - CALHEL2.o CALCAPE2.o - - -.SUFFIXES: .F .f .o .f90 .c - -.F.f: - $(CPP) $(CPPFLAGS) $< > $*.f - -$(TARGET): $(OBJST) $(OBJXML) $(OBJS) - $(AR) $(ARFLAGS) $@ $(OBJST) $(OBJXML) $(OBJS) $(LIBS) - mv *.mod $(INCMOD) - -.f.o: - $(FC) $(FFLAGS) -c $< - -.f90.o: - $(FC) $(FFLAGS) -c $< - -.c.o : - ${CC} ${CFLAGS} -c $< - -clean: - /bin/rm -rf libupp_*.a *.lst *.o include -# -#postcntrl_t.o : postcntrl_t.f90 -# $(FC) $(FFLAGS) postcntrl_t.f90 - - diff --git a/sorc/ncep_post.fd/makefile_module b/sorc/ncep_post.fd/makefile_module deleted file mode 100644 index 5b6f2c7630..0000000000 --- a/sorc/ncep_post.fd/makefile_module +++ /dev/null @@ -1,126 +0,0 @@ -################################################################################################### -# post implement module load standard -# -# 10/15 Lin Gan: Create module load version -# 12/07 Lin Gan: Update to generate post module output -# 07/16 J. Carley: Generalize for multiple machines -# -################################################################################################### - -SHELL=/bin/bash -# -# Define the name of the executable -# -# To generate exe as ncep_post -TARGET = ncep_post -LIB_TARGET = libnceppost.a -AR = ar -ARFLAGS = ruv - -# -# CPP, Compiler, and Linker Options -# - -FC = $(myFC) $(myFCFLAGS) -CPP = $(myCPP) $(myCPPFLAGS) -CPPFLAGS = -DLINUX -FREE = -FR - -NETCDF_INC = -I$(NETCDF)/include -#NETCDF_LDFLAGS = -L$(NETCDF)/lib -lnetcdff -lnetcdf -NETCDF_LDFLAGS = -L$(NETCDF)/lib -lnetcdff -lnetcdf -L$(HDF5_LDFLAGS) $(Z_LIB) - -CFLAGS = -DLINUX -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long' - -FFLAGS = $(OPTS) $(FREE) $(DEBUG) \ - -I$(SFCIO_INC4) \ - -I$(NEMSIO_INC) \ - -I$(SIGIO_INC4) \ - -I$(G2_INC4) \ - -I$(G2TMPL_INC) \ - -I$(GFSIO_INC4) \ - -I$(W3EMC_INC4) \ - -I$(CRTM_INC) \ - -I$(IP_INC4) \ - $(NETCDF_INC) - -LIBS = $(WRFIO_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) \ - $(NETCDF_LDFLAGS) - - -OBJS = wrf_io_flags.o getVariable.o getIVariableN.o \ - kinds_mod.o machine.o physcons.o \ - native_endianness.o blockIO.o \ - retrieve_index.o ZENSUN.o CLDFRAC_ZHAO.o \ - GFSPOST.o GFSPOSTSIG.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 \ - UPP_MATH.o UPP_PHYSICS.o \ - BNDLYR.o BOUND.o CALDWP.o CALDRG.o CALHEL.o CALLCL.o \ - CALMCVG.o CALPOT.o CALPW.o CALRCH.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 INITPOST.o LFMFLD.o \ - MAPSSLP.o MISCLN.o MDL2STD_P.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 \ - CALPBL.o MDL2SIGMA2.o INITPOST_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 \ - GEO_ZENITH_ANGLE.o GFIP3.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 INITPOST_NETCDF.o INITPOST_GFS_NETCDF.o INITPOST_GFS_NETCDF_PARA.o \ - gtg_ctlblk.o gtg_indices.o gtg_filter.o gtg_compute.o gtg_config.o map_routines.o gtg_algo.o gtg_smoothseams.o CALVESSEL.o \ - CALHEL2.o ETAMP_Q2F.o - - -.SUFFIXES: .F .f .o .f90 .c - -.F.f: - $(CPP) $(CPPFLAGS) $< > $*.f - -$(TARGET): $(OBJST) $(OBJS) - $(FC) -o $@ $(OBJST) $(OBJS) $(LIBS) $(OPENMP) - mkdir -p include/post_4 - $(AR) $(ARFLAGS) $(LIB_TARGET) $(OBJST) $(OBJS) - mv *.mod include/post_4 - -.f.o: - $(FC) $(FFLAGS) -c $< - -.f90.o: - $(FC) $(FFLAGS) -c $< - -.c.o : - ${CC} ${CFLAGS} -c $< - - -clean: - /bin/rm -f *.o *.mod libnceppost.a ncep_post - /bin/rm -rf include diff --git a/sorc/ncep_post.fd/native_endianness.f b/sorc/ncep_post.fd/native_endianness.f index acfadaacdc..88a72a0b59 100644 --- a/sorc/ncep_post.fd/native_endianness.f +++ b/sorc/ncep_post.fd/native_endianness.f @@ -1,35 +1,25 @@ !> @file -! . . . . -!> module: native_endianness -!! prgmmr: parrish org: wx22 date: 2012-10-11 -!! -!! abstract: This module was written by Dusan Jovic and has been adapted to GSI for internal translation -!! of WRF ARW and NMM binary restart files as required to match the machine native -!! endian storage format. The original code only converted from big-endian to little-endian. -!! There are no restrictions in this version. -!! This is required for these two types of files, because they are read/written to using mpi-io, -!! which has no compiler option for automatic switching to machine native endian format -!! for fortran unformatted read/write. -!! -!! program history log: -!! 2012-10-11 parrish - copy/modify original module native_endianness provided by Dusan Jovic, NCEP/EMC 2012 -!! 2012-10-19 parrish - additional modifications to improve efficiency. Remove interface and make -!! to_native_endianness to work only with integer(4) arguments. -!! Put to_native_endianness_i4 outside module. -!! -!! subroutines included: -!! -!! functions included: -!! is_little_endian - no argument--returns true for little-endian machine, false for big-endian machine -!! -!! variables included: -!! byte_swap - false if machine and wrf binary file are same endian, true if different -!! -!! attributes: -!! language: f90 -!! machine: -!! -!! +!> +!> @brief This module, native_endianness, was written by Dusan Jovic and has been adapted to GSI for internal translation +!> of WRF ARW and NMM binary restart files as required to match the machine native +!> endian storage format. The original code only converted from big-endian to little-endian. +!> There are no restrictions in this version. +!> This is required for these two types of files, because they are read/written to using mpi-io, +!> which has no compiler option for automatic switching to machine native endian format +!> for fortran unformatted read/write. +!> +!> @author Parrish wx22 @date 2012-10-11 +!> @note functions included: is_little_endian - no argument--returns true for little-endian machine, false for big-endian machine +!> +!> @note variables included: byte_swap - false if machine and wrf binary file are same endian, true if different +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2012-10-11 | Parrish | Initial. Copy/modify original module native_endianness provided by Dusan Jovic, NCEP/EMC 2012 +!> 2012-10-19 | parrish | Additional modifications to improve efficiency. Remove interface and make to_native_endianness to work only with integer(4) arguments. Put to_native_endianness_i4 outside module. +!> +!> @author Parrish wx22 @date 2012-10-11 module native_endianness @@ -41,31 +31,21 @@ module native_endianness public byte_swap public is_little_endian + !> false if machine and wrf binary file are same endian, true if different logical byte_swap contains logical function is_little_endian() -!$$$ subprogram documentation block -! . . . . -! subprogram: is_little_endian -! prgmmr: parrish org: wx22 date: 2012-10-11 -! -! abstract: test to see if machine is little-endian. Returns true for little-endian, false for big-endian. -! -! program history log: -! 2012-10-11 parrish - add doc block -! -! input argument list: -! -! output argument list: -! -! attributes: -! language: f90 -! machine: -! -!$$$ end documentation block - +!> is_little_endian() tests to see if machine is little-endian. Returns true for little-endian, false for big-endian. +!> @return is_little_endian logical Returns true or false +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2012-10-11 | Parrish | Add doc block +!> +!> @author Parrish wx22 @date 2012-10-11 implicit none integer(i_byte) :: i1 @@ -86,32 +66,19 @@ end module native_endianness !---------------------------------------------------------------------- subroutine to_native_endianness_i4(i4,num) -!$$$ subprogram documentation block -! . . . . -! subprogram: to_native_endianness_i4 -! prgmmr: parrish org: wx22 date: 2012-10-11 -! -! abstract: swap bytes of argument. -! -! program history log: -! 2012-10-11 parrish - add doc block -! 2012-10-19 parrish - additional modifications to improve efficiency. Remove interface and make -! to_native_endianness to work only with integer(4) arguments. -! Put to_native_endianness_i4 outside module. -! -! input argument list: -! i4 - input 4 byte integer array -! num - length of array i4 (NOTE: type of num must be i_llong (8 byte integer) ) -! -! output argument list: -! i4 - output 4 byte integer array with bytes in reverse order -! -! attributes: -! language: f90 -! machine: -! -!$$$ end documentation block - +!> to_native_endianness_i4() is to swap bytes of argument. +!> +!> @param[in] i4 Input 4 byte integer array. +!> @param[in] num Length of array i4. (NOTE: type of num must be i_llong (8 byte integer) ) +!> @param[out] i4 Output 4 byte integer array with bytes in reverse order. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2012-10-11 | Parrish | Add doc block +!> 2012-10-19 | Parrish | Additional modifications to improve efficiency. Remove interface and make to_native_endianness to work only with integer(4) arguments. Put to_native_endianness_i4 outside module. +!> +!> @author Parrish wx22 @date 2012-10-11 use kinds, only: i_byte,i_long,i_llong implicit none diff --git a/sorc/ncep_post.fd/params.F b/sorc/ncep_post.fd/params.F index 5e5e58dbcb..a2532c9455 100644 --- a/sorc/ncep_post.fd/params.F +++ b/sorc/ncep_post.fd/params.F @@ -1,117 +1,118 @@ +!> @file +!> @brief params_mod defines physical constants and smoothing coefficients module params_mod !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! -! file: params.f -! defines physical constants and smoothing coefficients ! last update: 09/06/2006 ! ! SMOOTHING PARAMETERS. - integer, parameter :: KSMUD=4 - integer, parameter :: KSLPD=1 - integer, parameter :: KSSLP=2 - integer, parameter :: KSFI=2 - integer, parameter :: KST=2 - integer, parameter :: KSUV=2 - integer, parameter :: KSRH=2 - integer, parameter :: KSAV=2 - integer, parameter :: KSLI=2 - integer, parameter :: KSLP=2 - integer, parameter :: NSUMD=1 + integer, parameter :: KSMUD=4 !< No longer used/supported + integer, parameter :: KSLPD=1 !< No longer used/supported + integer, parameter :: KSSLP=2 !< No longer used/supported + integer, parameter :: KSFI=2 !< No longer used/supported + integer, parameter :: KST=2 !< No longer used/supported + integer, parameter :: KSUV=2 !< No longer used/supported + integer, parameter :: KSRH=2 !< No longer used/supported + integer, parameter :: KSAV=2 !< No longer used/supported + integer, parameter :: KSLI=2 !< No longer used/supported + integer, parameter :: KSLP=2 !< No longer used/supported + integer, parameter :: NSUMD=1 !< No longer used/supported - real, parameter :: SMTHA=-1.8E-4 - real, parameter :: SMTHB=16.0 + real, parameter :: SMTHA=-1.8E-4 !< No longer used/supported + real, parameter :: SMTHB=16.0 !< No longer used/supported ! ! CONSTANTS. - real, parameter :: CM1=2937.4 - real, parameter :: CM2=4.9283 - real, parameter :: CM3=23.5518 - real, parameter :: D00=0.0 - real, parameter :: D1=0.1 - real, parameter :: D01=0.01 - real, parameter :: D001=0.001 - real, parameter :: D50=0.50 - real, parameter :: H999=999. - real, parameter :: H1=1.0 - real, parameter :: H2=2.0 - real, parameter :: H4=4.0 - real, parameter :: H99999=99999. - real, parameter :: H1M12=1.E-12 - real, parameter :: H1000=1000. - real, parameter :: H1M5=1.E-5 - real, parameter :: D125=.125 - real, parameter :: D25=0.25 - real, parameter :: H100=100. - real, parameter :: H10000=10000. - real, parameter :: H10E5=1.E5 - real, parameter :: CAPA=0.28589641E0 - real, parameter :: D115=0.115 - real, parameter :: D608=0.608 - real, parameter :: D05=0.05 - real, parameter :: D0065=0.0065 - real, parameter :: H1E2=100. - real, parameter :: H1E4=1.E4 - real, parameter :: H1M2=1.E-2 - real, parameter :: G=9.81 - real, parameter :: RD=287.04 - real, parameter :: ROG=RD/G - real, parameter :: GI=1./G - real, parameter :: OVERRC=1.10 - real, parameter :: AD05=OVERRC*D05 - real, parameter :: CFT0=OVERRC-H1 - real, parameter :: PI=3.141592653589793 - real, parameter :: DTR=3.1415926/180. - real, parameter :: RTD=1./DTR - real, parameter :: ERAD=6.371E6 - real, parameter :: CP=1004.6 - real, parameter :: RCAPA=1./CAPA - real, parameter :: P1000=1000.E2,DP10M=110 - real, parameter :: ELWV=2.50E6 - real, parameter :: CPDR=CP/RD - real, parameter :: RG=1./GI - real, parameter :: ELDR=ELWV/RD - real, parameter :: BETA=.00367 - real, parameter :: BTG=BETA*G - real, parameter :: FMW=18.015 - real, parameter :: FMD=28.964 - real, parameter :: EPS=FMW/FMD - real, parameter :: ONEPS=1.-EPS - real, parameter :: TFRZ=273.15 - real, parameter :: RDOCP=RD/CP - real, parameter :: LHEAT=2.5E6 - real, parameter :: LHTOCP=LHEAT/CP - real, parameter :: EPSQ2=0.02 - real, parameter :: PQ0=379.90516 - real, parameter :: A2=17.2693882 - real, parameter :: A3=273.16 - real, parameter :: A4=35.86 - real, parameter :: EPSQ=1.E-12 + real, parameter :: CM1=2937.4 !< Constant used in Magnus Formula to calculate saturation water vapor pressure + real, parameter :: CM2=4.9283 !< Constant used in Magnus Formula to calculate saturation water vapor pressure + real, parameter :: CM3=23.5518 !< Constant used in Magnus Formula to calculate saturation water vapor pressure + real, parameter :: D00=0.0 !< Decimal form of 0 + real, parameter :: D1=0.1 !< Decimal number - one tenth + real, parameter :: D01=0.01 !< Decimal number - one hundreth + real, parameter :: D001=0.001 !< Decimal number - one thousandth + real, parameter :: D50=0.50 !< Decimal number 0.5 + real, parameter :: H999=999. !< 999 + real, parameter :: H1=1.0 !< 1.0 + real, parameter :: H2=2.0 !< 2.0 + real, parameter :: H4=4.0 !< 4.0 + real, parameter :: H99999=99999. !< 99999 + real, parameter :: H1M12=1.E-12 !< 1 * 10^(-12) + real, parameter :: H1000=1000. !< 1000 + real, parameter :: H1M5=1.E-5 !< 1/100000 == 0.00001 + real, parameter :: D125=.125 !< Decimal number 0.125 + real, parameter :: D25=0.25 !< Decimal number 0.25 + real, parameter :: H100=100. !< 100 + real, parameter :: H10000=10000. !< 10000 + real, parameter :: H10E5=1.E5 !< 100000 + real, parameter :: CAPA=0.28589641E0 !< R/Cp (universal gas constant over specific heat capacity of dry air at constant pressure) + real, parameter :: D115=0.115 !< Decimal number 0.125 + real, parameter :: D608=0.608 !< Decimal number 0.608 + real, parameter :: D05=0.05 !< Decimal number 0.05 + real, parameter :: D0065=0.0065 !< Decimal number 0.0065 + real, parameter :: H1E2=100. !< No longer used/supported + real, parameter :: H1E4=1.E4 !< No longer used/supported + real, parameter :: H1M2=1.E-2 !< No longer used/supported + real, parameter :: G=9.81 !< Acceleration due to gravity + real, parameter :: RD=287.04 !< Gas constant for dry air + real, parameter :: ROG=RD/G !< RD over G + real, parameter :: GI=1./G !< Inverse of acceleration due to gravity + real, parameter :: OVERRC=1.10 !< Overrelaxation coefficient + real, parameter :: AD05=OVERRC*D05 !< Overrelaxation coefficient * 0.05 + real, parameter :: CFT0=OVERRC-H1 !< A constant calculated by subtracting H1 from OVERRC + real, parameter :: PI=3.141592653589793 !< Pi + real, parameter :: DTR=3.1415926/180. !< Degrees to radians conversion + real, parameter :: RTD=1./DTR !< Radians to degrees conversion + real, parameter :: ERAD=6.371E6 !< Earth's radius in meters + real, parameter :: CP=1004.6 !< Specific heat capacity of dry air at constant pressure (kJ/kg-K) + real, parameter :: RCAPA=1./CAPA !< Reciprocal of CAPA + real, parameter :: P1000=1000.E2 !< 100,000 + real, parameter :: DP10M=110 !< No longer used/supported + real, parameter :: ELWV=2.50E6 !< Latent heat of vaporization of water in J/kg + real, parameter :: CPDR=CP/RD !< CP over RD + real, parameter :: RG=1./GI !< Reciprocal of GI (equal to G) + real, parameter :: ELDR=ELWV/RD !< No longer used/supported + real, parameter :: BETA=.00367 !< Thermal expansion coefficient of air + real, parameter :: BTG=BETA*G !< Beta times acceleration due to gravity + real, parameter :: FMW=18.015 !< Mean molecular mass of wet air + real, parameter :: FMD=28.964 !< Mean molecular mass of dry air + real, parameter :: EPS=FMW/FMD !< Ratio of dry air to water vapor gas constants + real, parameter :: ONEPS=1.-EPS !< _____ Represents the complement of the ratio of molecular weights of water vapor to dry air ? + real, parameter :: TFRZ=273.15 !< Freezing temperature of water + real, parameter :: RDOCP=RD/CP !< RD over CP + real, parameter :: LHEAT=2.5E6 !< Latent heat + real, parameter :: LHTOCP=LHEAT/CP !< Latent heat over CP + real, parameter :: EPSQ2=0.02 !< Minimum value of turbulent kinetic energy (m2 s^-2) ? + real, parameter :: PQ0=379.90516 !< Constant used to parameterize specific humidity at 2m in WRFPOST: qs=pq0/p*exp(a2*(t-a3)/(t-a4)) + real, parameter :: A2=17.2693882 !< Constant used to parameterize specific humidity at 2m in WRFPOST: qs=pq0/p*exp(a2*(t-a3)/(t-a4)) + real, parameter :: A3=273.16 !< Constant used to parameterize specific humidity at 2m in WRFPOST: qs=pq0/p*exp(a2*(t-a3)/(t-a4)) + real, parameter :: A4=35.86 !< Constant used to parameterize specific humidity at 2m in WRFPOST: qs=pq0/p*exp(a2*(t-a3)/(t-a4)) + real, parameter :: EPSQ=1.E-12 !< Minimum q (specific humidity) for computing precipitation type #ifdef GSDRAPR - real, parameter :: QCLDmin=1.E-6 ! was 1.E-6 + real, parameter :: QCLDmin=1.E-6 !< Minimum cloud mixing ratio - was 1.E-6 #else - real, parameter :: QCLDmin=1.E-5 ! was 1.E-6 + real, parameter :: QCLDmin=1.E-5 !< Minimum cloud mixing ratio - was 1.E-6 #endif - real, parameter :: CLFRmin=D1 - real, parameter :: NLImin=1.E3 + real, parameter :: CFRmin_BASE_TOP=0.02 !< Minimum cloud fraction for cloud base and top (used by GSL starting in 2023) + real, parameter :: NLImin=1.E3 !< Minimum number concentrations (m**-3) of large ice (snow/graupel/sleet) ! move definition of NLImax and T_ICE to MICROINIT 2012012018 ! real, parameter :: NLImax=5.E3 ! real, parameter :: T_ICE=-30. ! real, parameter :: TRAD_ice=0.5*T_ICE+TFRZ - real, parameter :: Qconv=0.1E-3 + real, parameter :: Qconv=0.1E-3 !< Heat transfer coefficient of convection _____? ! - real, parameter :: STBOL=1./5.67E-8 - real, parameter :: DBZmin=-20. - real, parameter :: abscoef=8.0 - real, parameter :: abscoefi=5.0 - real, parameter :: XLAI=4.0 ! Leaf area index - real, parameter :: RHmin=1.0E-6 ! minimal RH bound - real, parameter :: SMALL=1.E-6 + real, parameter :: STBOL=1./5.67E-8 !< 1 over Stefan-Boltzmann constant (W m^-2 deg^-4) + real, parameter :: DBZmin=-20. !< Minimum detectable radar reflectivity + real, parameter :: abscoef=8.0 !< Cloud water absorption coefficient + real, parameter :: abscoefi=5.0 !< Cloud ice absorption coefficient + real, parameter :: XLAI=4.0 !< Leaf area index + real, parameter :: RHmin=1.0E-6 !< minimal RH bound + real, parameter :: SMALL=1.E-6 !< _____? ! real, parameter :: PTHRESH=0.000000 - real, parameter :: ELIVW=2.72E6 - real, parameter :: ELOCP=ELIVW/CP + real, parameter :: ELIVW=2.72E6 !< Latent heat of vaporization of water in J/kg, used in calculations involving energy transfer during evaporation + real, parameter :: ELOCP=ELIVW/CP !< ELIVW over CP ! - real, parameter :: GAMMA=6.5E-3 - real, parameter :: RGAMOG=RD*GAMMA/G + real, parameter :: GAMMA=6.5E-3 !< Gamma - constant for lapse rate in troposphere + real, parameter :: RGAMOG=RD*GAMMA/G !< Gas constant for dry air times gamma over acceleration due to gravity end module params_mod diff --git a/sorc/ncep_post.fd/physcons.f b/sorc/ncep_post.fd/physcons.f index 126c993c84..7c37736779 100644 --- a/sorc/ncep_post.fd/physcons.f +++ b/sorc/ncep_post.fd/physcons.f @@ -1,3 +1,6 @@ +!> @file +!> @brief physcons_post declares physical constants used throughout UPP code. +!> module physcons_post use machine_post,only:kind_phys !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -8,36 +11,37 @@ module physcons_post ! 1990/04/30: g and rd are made consistent with NWS usage. ! 2001/10/22: g made consistent with SI usage. ! Math constants -! real(kind=kind_phys),parameter:: con_pi =3.141593e+0 ! pi - real(kind=kind_phys),parameter:: con_pi =4.0d0*atan(1.0d0) - real(kind=kind_phys),parameter:: con_sqrt2 =1.414214e+0_kind_phys ! square root of 2 - real(kind=kind_phys),parameter:: con_sqrt3 =1.732051e+0_kind_phys ! square root of 3 -! Primary constants - real(kind=kind_phys),parameter:: con_rerth =6.3712e+6_kind_phys ! radius of earth (m) - real(kind=kind_phys),parameter:: con_g =9.80665e+0_kind_phys! gravity (m/s2) - real(kind=kind_phys),parameter:: con_omega =7.2921e-5_kind_phys ! ang vel of earth (1/s) - real(kind=kind_phys),parameter:: con_rd =2.8705e+2_kind_phys ! gas constant air (J/kg/K) - real(kind=kind_phys),parameter:: con_rv =4.6150e+2_kind_phys ! gas constant H2O (J/kg/K) - real(kind=kind_phys),parameter:: con_cp =1.0046e+3_kind_phys ! spec heat air @p (J/kg/K) - real(kind=kind_phys),parameter:: con_cv =7.1760e+2_kind_phys ! spec heat air @v (J/kg/K) - real(kind=kind_phys),parameter:: con_cvap =1.8460e+3_kind_phys ! spec heat H2O gas (J/kg/K) - real(kind=kind_phys),parameter:: con_cliq =4.1855e+3_kind_phys ! spec heat H2O liq (J/kg/K) - real(kind=kind_phys),parameter:: con_csol =2.1060e+3_kind_phys ! spec heat H2O ice (J/kg/K) - real(kind=kind_phys),parameter:: con_hvap =2.5000e+6_kind_phys ! lat heat H2O cond (J/kg) - real(kind=kind_phys),parameter:: con_hfus =3.3358e+5_kind_phys ! lat heat H2O fusion (J/kg) - real(kind=kind_phys),parameter:: con_psat =6.1078e+2_kind_phys ! pres at H2O 3pt (Pa) - real(kind=kind_phys),parameter:: con_sbc =5.6730e-8_kind_phys ! stefan-boltzmann (W/m2/K4) - real(kind=kind_phys),parameter:: con_solr =1.3533e+3_kind_phys ! solar constant (W/m2) - real(kind=kind_phys),parameter:: con_t0c =2.7315e+2_kind_phys ! temp at 0C (K) - real(kind=kind_phys),parameter:: con_ttp =2.7316e+2_kind_phys ! temp at H2O 3pt (K) -! Secondary constants - real(kind=kind_phys),parameter:: con_rocp =con_rd/con_cp - real(kind=kind_phys),parameter:: con_cpor =con_cp/con_rd - real(kind=kind_phys),parameter:: con_rog =con_rd/con_g - real(kind=kind_phys),parameter:: con_fvirt =con_rv/con_rd-1. - real(kind=kind_phys),parameter:: con_eps =con_rd/con_rv - real(kind=kind_phys),parameter:: con_epsm1 =con_rd/con_rv-1. - real(kind=kind_phys),parameter:: con_dldt =con_cvap-con_cliq - real(kind=kind_phys),parameter:: con_xpona =-con_dldt/con_rv - real(kind=kind_phys),parameter:: con_xponb =-con_dldt/con_rv+con_hvap/(con_rv*con_ttp) +! real(kind=kind_phys),parameter:: con_pi =3.141593e+0 !< pi + real(kind=kind_phys),parameter:: con_pi =4.0d0*atan(1.0d0) !< pi + real(kind=kind_phys),parameter:: con_sqrt2 =1.414214e+0_kind_phys !< square root of 2 + real(kind=kind_phys),parameter:: con_sqrt3 =1.732051e+0_kind_phys !< square root of 3 +!> Primary constants + real(kind=kind_phys),parameter:: con_rerth =6.3712e+6_kind_phys !< radius of earth (m) + real(kind=kind_phys),parameter:: con_g =9.80665e+0_kind_phys!< acceleration due to gravity (m/s2) + real(kind=kind_phys),parameter:: con_omega =7.2921e-5_kind_phys !< angular vel of earth (1/s) + real(kind=kind_phys),parameter:: con_rd =2.8705e+2_kind_phys !< gas constant dry air (J/kg/K) + real(kind=kind_phys),parameter:: con_rv =4.6150e+2_kind_phys !< gas constant H2O (J/kg/K) + real(kind=kind_phys),parameter:: con_cp =1.0046e+3_kind_phys !< specific heat dry air at constant pressure (J/kg/K) + real(kind=kind_phys),parameter:: con_cv =7.1760e+2_kind_phys !< specific heat dry air at constant volume (J/kg/K) + real(kind=kind_phys),parameter:: con_cvap =1.8460e+3_kind_phys !< specific heat H2O gas (J/kg/K) + real(kind=kind_phys),parameter:: con_cliq =4.1855e+3_kind_phys !< specific heat H2O liquid (J/kg/K) + real(kind=kind_phys),parameter:: con_csol =2.1060e+3_kind_phys !< specific heat H2O ice (J/kg/K) + real(kind=kind_phys),parameter:: con_hvap =2.5000e+6_kind_phys !< latent heat H2O condensation (J/kg) + real(kind=kind_phys),parameter:: con_hfus =3.3358e+5_kind_phys !< latent heat H2O fusion (J/kg) + real(kind=kind_phys),parameter:: con_psat =6.1078e+2_kind_phys !< pressure at H2O triple point (Pa) + real(kind=kind_phys),parameter:: con_sbc =5.6730e-8_kind_phys !< stefan-boltzmann constant (W/m2/K4) + real(kind=kind_phys),parameter:: con_solr =1.3533e+3_kind_phys !< solar constant (W/m2) + real(kind=kind_phys),parameter:: con_t0c =2.7315e+2_kind_phys !< temp at 0C (K) + real(kind=kind_phys),parameter:: con_ttp =2.7316e+2_kind_phys !< temp at H2O triple point (K) + +!> Secondary constants + real(kind=kind_phys), parameter :: con_rocp = con_rd / con_cp !< Rd/Cp -- Gas constant for dry air over specific heat of dry air at constant pressure + real(kind=kind_phys), parameter :: con_cpor = con_cp / con_rd !< Cp/Rd -- Specific heat of dry air at constant pressure over gas constant for dry air + real(kind=kind_phys), parameter :: con_rog = con_rd / con_g !< Rd/g -- Gas constant for dry air over acceleration due to gravity + real(kind=kind_phys), parameter :: con_fvirt = con_rv / con_rd - 1. !< Rv/Rd -- Virtual temperature correction factor - Gas constant for H2O over gas constant for dry air minus 1 + real(kind=kind_phys), parameter :: con_eps = con_rd / con_rv !< Epsilon -- Rd/Rv - ratio of gas constant of dry air to gas constant of water vapor + real(kind=kind_phys), parameter :: con_epsm1 = con_rd / con_rv - 1. !< Epsilon minus 1 + real(kind=kind_phys), parameter :: con_dldt = con_cvap - con_cliq !< Difference in specific heat between water vapor and liquid H2O + real(kind=kind_phys), parameter :: con_xpona = con_dldt / con_rv !< Dldt/Rv + real(kind=kind_phys), parameter :: con_xponb = -con_dldt / con_rv + con_hvap / (con_rv * con_ttp) !< -dldt/Rv + hvap/(Rv*Ttp) end module diff --git a/sorc/ncep_post.fd/post_gtg.fd b/sorc/ncep_post.fd/post_gtg.fd new file mode 160000 index 0000000000..3d35332fe6 --- /dev/null +++ b/sorc/ncep_post.fd/post_gtg.fd @@ -0,0 +1 @@ +Subproject commit 3d35332fe66e3e63a285cc8d96facdf255a33481 diff --git a/sorc/ncep_post.fd/retrieve_index.f b/sorc/ncep_post.fd/retrieve_index.f index ebacab31aa..5d8f71d76f 100644 --- a/sorc/ncep_post.fd/retrieve_index.f +++ b/sorc/ncep_post.fd/retrieve_index.f @@ -1,31 +1,31 @@ !> @file -! . . . . -!> subprogram: retrieve_index get record number of desired variable -!! prgmmr: parrish org: np22 date: 2004-11-29 -!! -!! abstract: by examining previously generated inventory of wrf binary restart file, -!! find record number that contains the header record for variable -!! identified by input character variable "string". -!! -!! program history log: -!! 2004-11-29 parrish -!! -!! input argument list: -!! string - mnemonic for variable desired -!! varname_all - list of all mnemonics obtained from inventory of file -!! nrecs - total number of sequential records counted in wrf -!! binary restart file -!! -!! output argument list: -!! index - desired record number -!! iret - return status, set to 0 if variable was found, -!! non-zero if not. -!! -!! attributes: -!! language: f90 -!! machine: ibm RS/6000 SP -!! -!! +!> @brief retrieve_index() gets record number of desired variable. +!> +!> By examining previously generated inventory of wrf binary restart file, +!> find record number that contains the header record for variable +!> identified by input character variable "string". +!> +!> @param[in] string Mnemonic for variable desired. +!> @param[in] varname_all List of all mnemonics obtained from inventory of file. +!> @param[in] nrecs integer Total number of sequential records counted in wrf binary restart file. +!> @param[out] index integer Desired record number. +!> @param[out] iret integer Return status, set to 0 if variable was found, non-zero if not. +!> +!> ### Program History Log +!> Date | Programmer | Comments +!> -----|------------|--------- +!> 2004-11-29 | Parrish | Initial +!> +!> @author Parrish np22 @date 2004-11-29 +!--------------------------------------------------------------------- +!> @brief retrieve_index() gets record number of desired variable. +!> +!> @param[in] string Mnemonic for variable desired. +!> @param[in] varname_all List of all mnemonics obtained from inventory of file. +!> @param[in] nrecs integer Total number of sequential records counted in wrf binary restart file. +!> @param[out] index integer Desired record number. +!> @param[out] iret integer Return status, set to 0 if variable was found, non-zero if not. +!> subroutine retrieve_index(index,string,varname_all,nrecs,iret) diff --git a/sorc/ncep_post.fd/svptbl.f b/sorc/ncep_post.fd/svptbl.f index 9b143d7107..b31efe2f40 100644 --- a/sorc/ncep_post.fd/svptbl.f +++ b/sorc/ncep_post.fd/svptbl.f @@ -1,11 +1,16 @@ +!> @file +!> @brief SVPTBL declares variables related to saturation vapor pressure tables module svptbl_mod !--------------------------------------------------------------------- implicit none ! - integer,PARAMETER :: NX=7501 - real C1XPVS0,C2XPVS0 - real C1XPVS,C2XPVS - real TBPVS(NX),TBPVS0(NX) + integer,PARAMETER :: NX=7501 !< Table length + real C1XPVS0 !< Coefficient 1 for saturation vapor pressure in TBPVS0 + real C2XPVS0 !< Coefficient 2 for saturation vapor pressure in TBPVS0 + real C1XPVS !< Coefficient 1 for saturation vapor pressure in TBPVS + real C2XPVS !< Coefficient 2 for saturation vapor pressure in TBPVS + real TBPVS(NX) !< Table of saturation vapor pressure values + real TBPVS0(NX) !< Table of saturation vapor pressure values ! end module svptbl_mod diff --git a/sorc/ncep_post.fd/wrf_io_flags.f b/sorc/ncep_post.fd/wrf_io_flags.f index fbd773e521..a7221893ef 100644 --- a/sorc/ncep_post.fd/wrf_io_flags.f +++ b/sorc/ncep_post.fd/wrf_io_flags.f @@ -1,12 +1,14 @@ +!> @file +!> @brief wrf_io_flags declares variables related to WRF input/output. module wrf_io_flags_mod implicit none - integer, parameter :: WRF_FILE_NOT_OPENED = 100 - integer, parameter :: WRF_FILE_OPENED_NOT_COMMITTED = 101 - integer, parameter :: WRF_FILE_OPENED_AND_COMMITTED = 102 - integer, parameter :: WRF_FILE_OPENED_FOR_READ = 103 - integer, parameter :: WRF_REAL = 104 - integer, parameter :: WRF_REAL8 = 105 - integer, parameter :: WRF_INTEGER = 106 - integer, parameter :: WRF_LOGICAL = 107 + integer, parameter :: WRF_FILE_NOT_OPENED = 100 !< Assigns ID 100 to WRF_FILE_NOT_OPENED + integer, parameter :: WRF_FILE_OPENED_NOT_COMMITTED = 101 !< Assigns ID 101 to WRF_FILE_OPENED_NOT_COMMITTED + integer, parameter :: WRF_FILE_OPENED_AND_COMMITTED = 102 !< Assigns ID 102 to WRF_FILE_OPENED_AND_COMMITTED + integer, parameter :: WRF_FILE_OPENED_FOR_READ = 103 !< Assigns ID 103 to WRF_FILE_OPENED_FOR_READ + integer, parameter :: WRF_REAL = 104 !< Assigns ID 104 to WRF_REAL + integer, parameter :: WRF_REAL8 = 105 !< Assigns ID 105 to WRF_REAL8 + integer, parameter :: WRF_INTEGER = 106 !< Assigns ID 106 to WRF_INTEGER + integer, parameter :: WRF_LOGICAL = 107 !< Assigns ID 107 to WRF_LOGICAL end module wrf_io_flags_mod diff --git a/sorc/ncep_post.fd/xml_perl_data.f b/sorc/ncep_post.fd/xml_perl_data.f index a17ac307bc..360b5b17b6 100644 --- a/sorc/ncep_post.fd/xml_perl_data.f +++ b/sorc/ncep_post.fd/xml_perl_data.f @@ -1,15 +1,35 @@ module xml_perl_data !------------------------------------------------------------------------ -! -! This module read in Perl XML processed flat file and -! handle parameter marshalling for existing POST program -! -! program log: -! March, 2015 Lin Gan Initial Code -! July, 2016 J. Carley Clean up prints -! +!> @file +!> @brief This module reads in Perl XML processed flat file and +!> handles parameter marshalling for existing POST program +!> +!> ### Program history log: +!> Date | Programmer | Comments +!> -----|------------|--------- +!> March, 2015 | Lin Gan | Initial Code +!> July, 2016 | J. Carley | Clean up prints +!> July, 2024 | Wen Meng | Increase datset length +!> May, 2025 | Ben Blake | Remove hardcoded value for tprec +!> !------------------------------------------------------------------------ +!> @defgroup xml_perl_data_mod xml_perl_data +!> Sets parameters that are used to read in +!! Perl XML processed flat file and handle parameter marshalling for +!! existing POST program. +! implicit none +! +!> @ingroup xml_perl_data_mod +!> @{ Parameters that are used to read in Perl XML processed flat file +!! and handle parameter marshalling for existing POST program. + integer :: NFCST,NBC,LIST,IOUT,NTSTM, & + NRADS,NRADL,NDDAMP,IDTAD,NBOCO,NSHDE,NCP,IMDLTY +!> @} + +!> @ingroup xml_perl_data_mod +!> @{ Parameters that are used to read in Perl XML processed flat file +!! and handle parameter marshalling for existing POST program. type param_t integer :: post_avblfldidx=-9999 character(len=80) :: shortname='' @@ -20,12 +40,13 @@ module xml_perl_data character(len=10) :: table_info='' character(len=80) :: stats_proc='' character(len=80) :: fixed_sfc1_type='' - integer, dimension(:), pointer :: scale_fact_fixed_sfc1 => null() - real, dimension(:), pointer :: level => null() - character(len=80) :: fixed_sfc2_type='' - integer, dimension(:), pointer :: scale_fact_fixed_sfc2 => null() - real, dimension(:), pointer :: level2 => null() - character(len=80) :: aerosol_type='' + integer, dimension(:), pointer :: scale_fact_fixed_sfc1 => null() + real, dimension(:), pointer :: level => null() + character(len=80) :: fixed_sfc2_type='' + integer, dimension(:), pointer :: scale_fact_fixed_sfc2 => null() + real, dimension(:), pointer :: level2 => null() + character(len=80) :: aerosol_type='' + character(len=80) :: prob_type='' character(len=80) :: typ_intvl_size='' integer :: scale_fact_1st_size=0 real :: scale_val_1st_size=0.0 @@ -36,7 +57,11 @@ module xml_perl_data real :: scale_val_1st_wvlen=0.0 integer :: scale_fact_2nd_wvlen=0 real :: scale_val_2nd_wvlen=0.0 - real, dimension(:), pointer :: scale => null() + integer :: scale_fact_lower_limit=0 + real :: scale_val_lower_limit=0.0 + integer :: scale_fact_upper_limit=0 + real :: scale_val_upper_limit=0.0 + real, dimension(:), pointer :: scale => null() integer :: stat_miss_val=0 integer :: leng_time_range_prev=0 integer :: time_inc_betwn_succ_fld=0 @@ -44,9 +69,13 @@ module xml_perl_data character(len=20) :: stat_unit_time_key_succ='' character(len=20) :: bit_map_flag='' end type param_t +!> @} +!> @ingroup xml_perl_data_mod +!> @{ Parameters that are used to read in Perl XML processed flat file +!! and handle parameter marshalling for existing POST program. type paramset_t - character(len=6) :: datset='' + character(len=20) :: datset='' integer :: grid_num=255 character(len=20) :: sub_center='' character(len=20) :: version_no='' @@ -62,19 +91,31 @@ module xml_perl_data character(len=30) :: order_of_sptdiff='1st_ord_sptdiff' character(len=20) :: field_datatype='' character(len=30) :: comprs_type='' +!> @} +!> @ingroup xml_perl_data_mod +!> @{ Parameters that are used to read in Perl XML processed flat file +!! and handle parameter marshalling for existing POST program. character(len=50) :: type_ens_fcst='' character(len=50) :: type_derived_fcst='' type(param_t), dimension(:), pointer :: param => null() end type paramset_t - +!> @} +!> @ingroup xml_perl_data_mod +!> @{ Parameters that are used to read in Perl XML processed flat file +!! and handle parameter marshalling for existing POST program. type post_avblfld_t type(param_t), dimension(:), pointer :: param => null() end type post_avblfld_t +!> @} +!> @ingroup xml_perl_data_mod +!> @{ Parameters that are used to read in Perl XML processed flat file +!! and handle parameter marshalling for existing POST program. type (paramset_t), dimension(:), pointer :: paramset type (post_avblfld_t),save :: post_avblflds - +!> @} contains +!> @brief Reads in and processes the postxconfig file subroutine read_postxconfig() use rqstfld_mod,only: num_post_afld,MXLVL,lvlsxml @@ -108,11 +149,33 @@ subroutine read_postxconfig() ! Take the first line as paramset_count read(22,*)paramset_count - if(me==0)write(0,*)'xml_perl_data read Post flat file' + if(associated(paramset)) then + if(size(paramset)>0) then + do i=1,size(paramset) + if (associated(paramset(i)%param)) then + if (size(paramset(i)%param)>0) then + do j=1,size(paramset(i)%param) + if (associated(paramset(i)%param(j)%scale_fact_fixed_sfc1)) & + deallocate(paramset(i)%param(j)%scale_fact_fixed_sfc1) + if (associated(paramset(i)%param(j)%level)) & + deallocate(paramset(i)%param(j)%level) + if (associated(paramset(i)%param(j)%scale_fact_fixed_sfc2)) & + deallocate(paramset(i)%param(j)%scale_fact_fixed_sfc2) + if (associated(paramset(i)%param(j)%level2)) & + deallocate(paramset(i)%param(j)%level2) + if (associated(paramset(i)%param(j)%scale)) & + deallocate(paramset(i)%param(j)%scale) + enddo + deallocate(paramset(i)%param) + nullify(paramset(i)%param) + endif + endif + enddo + endif + deallocate(paramset) + endif ! Allocate paramset array size - if(me==0)write(0,*)'allocate paramset to :', paramset_count - allocate(paramset(paramset_count)) ! Take the second line as param_count (on n..1 down loop) @@ -123,14 +186,12 @@ subroutine read_postxconfig() do i = paramset_count, 1, -1 read(22,*)param_count - if(me==0)write(0,*)'allocate param to :', param_count allocate(paramset(i)%param(param_count)) ! LinGan lvlsxml is now a sum of flat file read out ! Also allocate lvlsxml for rqstfld_mod num_post_afld = num_post_afld + param_count - if(me==0)write(0,*)'sum num_post_afld :', num_post_afld end do @@ -142,7 +203,6 @@ subroutine read_postxconfig() ! allocate array size from param for current paramset ! filter_char_inp is to check if "?" is found ! then replace to empty string because it means no input. - read(22,*)paramset(i)%datset call filter_char_inp(paramset(i)%datset) @@ -163,7 +223,6 @@ subroutine read_postxconfig() call filter_char_inp(paramset(i)%data_type) read(22,*)paramset(i)%gen_proc_type call filter_char_inp(paramset(i)%gen_proc_type) - if(me==0)print*,'gen_proc_type= ',paramset(i)%gen_proc_type read(22,*)paramset(i)%time_range_unit call filter_char_inp(paramset(i)%time_range_unit) read(22,*)paramset(i)%orig_center @@ -177,11 +236,9 @@ subroutine read_postxconfig() call filter_char_inp(paramset(i)%field_datatype) read(22,*)paramset(i)%comprs_type call filter_char_inp(paramset(i)%comprs_type) - if(me==0)print*,'finish reading comprs_type' if(paramset(i)%gen_proc_type=='ens_fcst')then read(22,*)paramset(i)%type_ens_fcst call filter_char_inp(paramset(i)%type_ens_fcst) - tprec = 6 ! always 6 hr bucket for gefs tclod = tprec trdlw = tprec trdsw = tprec @@ -189,7 +246,6 @@ subroutine read_postxconfig() tmaxmin = tprec td3d = tprec end if - if(me==0)print*,'type_ens_fcst= ',paramset(i)%type_ens_fcst ! Loop param_count (param datas 161) for gfsprs do j = 1, param_count read(22,*)paramset(i)%param(j)%post_avblfldidx @@ -261,6 +317,8 @@ subroutine read_postxconfig() read(22,*)paramset(i)%param(j)%aerosol_type call filter_char_inp(paramset(i)%param(j)%aerosol_type) + read(22,*)paramset(i)%param(j)%prob_type + call filter_char_inp(paramset(i)%param(j)%prob_type) read(22,*)paramset(i)%param(j)%typ_intvl_size call filter_char_inp(paramset(i)%param(j)%typ_intvl_size) @@ -275,6 +333,10 @@ subroutine read_postxconfig() read(22,*)paramset(i)%param(j)%scale_val_1st_wvlen read(22,*)paramset(i)%param(j)%scale_fact_2nd_wvlen read(22,*)paramset(i)%param(j)%scale_val_2nd_wvlen + read(22,*)paramset(i)%param(j)%scale_fact_lower_limit + read(22,*)paramset(i)%param(j)%scale_val_lower_limit + read(22,*)paramset(i)%param(j)%scale_fact_upper_limit + read(22,*)paramset(i)%param(j)%scale_val_upper_limit read(22,*)scale_array_count allocate(paramset(i)%param(j)%scale(1)) if (scale_array_count > 0) then @@ -307,7 +369,8 @@ subroutine read_postxconfig() end subroutine read_postxconfig - +!> @brief Checks parameter set to see whether "?" is found and, if so, replaces it with an empty string because it means no input. +!> @param[inout] inpchar Input character subroutine filter_char_inp (inpchar) implicit none character, intent(inout) :: inpchar @@ -317,4 +380,3 @@ subroutine filter_char_inp (inpchar) end subroutine filter_char_inp end module - diff --git a/tests/compile_upp.sh b/tests/compile_upp.sh index 94360f243a..12d9a4b453 100755 --- a/tests/compile_upp.sh +++ b/tests/compile_upp.sh @@ -1,32 +1,179 @@ #!/bin/bash # Wen Meng 01/2020, Set up for cmake build. -############################################# +# Wen Meng 01/2022, Add option for building with gtg code +# Sam Trahan 01/2023, Add option for building with libIFI +############################################################ -set -x - -#Clean loaded modules -module purge +set -eu -hostname -source ./detect_machine.sh if [[ $(uname -s) == Darwin ]]; then readonly MYDIR=$(cd "$(dirname "$(greadlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) else readonly MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) fi PATHTR=${PATHTR:-$( cd ${MYDIR}/.. && pwd )} +source ${PATHTR}/tests/detect_machine.sh + +set_defaults() { + delete_exec=YES + upp_name="upp.x" + load_ifi_module=NO + prefix="../install" + ifi_opt=" -DBUILD_WITH_IFI=OFF" + build_ifi_executables_opt=" " + build_ifi_executables=NO + gtg_opt=" -DBUILD_WITH_GTG=OFF" + nemsio_opt=" -DBUILD_WITH_NEMSIO=ON" + wrfio_opt=" -DBUILD_WITH_WRFIO=ON" + build_unit_tests_opt=" -DBUILD_TESTING=ON" + more=" " + verbose_opt="" + debug_opt="" + compiler="intel" +} + +usage() { + set_defaults # restore defaults so usage is correct + echo + echo "Usage: $0 [options]" + echo + echo " -o exe_name.x Name of built UPP executable in exec. Default: $upp_name" + echo " -p installation prefix DEFAULT: $prefix" + echo " -g build with GTG(users with gtg repos. access only) DEFAULT: ${gtg_opt#*=}" + echo " -i build with libIFI(users with ifi install access only) DEFAULT: OFF" + echo " -I build with libIFI (users with ifi repos. access only) DEFAULT: OFF" + echo " -B build libIFI test programs (only valid with -I) DEFAULT: OFF" + echo " -n build with nemsio DEFAULT: ${nemsio_opt#*=}" + echo " -w build with WRF-IO DEFAULT: ${wrfio_opt#*=}" + echo " -t build unit tests DEFAULT: ${build_unit_tests_opt#*=}" + echo " -v build with cmake verbose DEFAULT: OFF" + echo " -c Compiler to use for build DEFAULT: $compiler" + echo " -d Debug mode of CMAKE_BUILD_TYPE DEFAULT: Release" + echo " -a Skip deletion of exec. Add new executables. DEFAULT: OFF" + echo " -Doption=value Passes this option to cmake (can use more than once)" + echo " -h display this message and quit" + echo + exit 1 +} + +set_defaults + +while getopts ":p:gnwc:vhiIdBD:o:at" opt; do + case $opt in + a) + delete_exec=NO + ;; + o) + upp_name="$OPTARG" + ;; + D) + more="$more -$opt$OPTARG" + ;; + p) + prefix=$OPTARG + ;; + g) + gtg_opt=" -DBUILD_WITH_GTG=ON" + ;; + B) + build_ifi_executables_opt=" -DBUILD_IFI_EXECUTABLES=ON" + build_ifi_executables=YES + ;; + n) + nemsio_opt=" -DBUILD_WITH_NEMSIO=OFF" + ;; + w) + wrfio_opt=" -DBUILD_WITH_WRFIO=OFF" + ;; + t) + build_unit_tests_opt=" -DBUILD_TESTING=OFF" + ;; + I) + ifi_opt=" -DINTERNAL_IFI=ON" + ;; + i) + ifi_opt=" -DREQUIRE_IFI=ON" + load_ifi_module=YES + ;; + c) + compiler=$OPTARG + ;; + v) + verbose_opt="VERBOSE=1" + ;; + d) + debug_opt=" -DCMAKE_BUILD_TYPE=Debug" + ;; + h|\?|:) + usage + ;; + esac +done + +if [[ ! -z $debug_opt && $ifi_opt =~ INTERNAL.*=ON ]] ; then + echo ENABLING IFI DEBUG + # When building debug mode with internal IFI, also enable debugging in IFI. + # This includes bounds checking in much of the libIFI C++ library. + debug_opt="$debug_opt -DIFI_DEBUG=ON" +fi + +cmake_opts=" -DCMAKE_INSTALL_PREFIX=$prefix"${nemsio_opt}${wrfio_opt}${gtg_opt}${ifi_opt}${debug_opt}${build_ifi_executables_opt}${build_unit_tests_opt}${more} #Load required modulefiles -module use $PATHTR/modulefiles -modulefile=${MACHINE_ID} -module load $modulefile -module list - -rm -rf build install -mkdir build && cd build -cmake -DCMAKE_INSTALL_PREFIX=../install -DBUILD_WITH_WRFIO=ON ../.. -make -j6 +if [[ $MACHINE_ID != "unknown" ]]; then + if [ $MACHINE_ID == "wcoss2" -o $MACHINE_ID == "wcoss2_a" ]; then + module reset + elif [ $MACHINE_ID == "container" ]; then + source /usr/lmod/lmod/init/bash + module purge + elif [[ "$MACHINE_ID" =~ gaea* ]] ; then + module reset + # Unset the read-only variables $PELOCAL_PRGENV and $RCLOCAL_PRGENV + gdb -ex 'call (int) unbind_variable("PELOCAL_PRGENV")' \ + -ex 'call (int) unbind_variable("RCLOCAL_PRGENV")' \ + --pid=$$ --batch + else + module purge + fi + module use $PATHTR/modulefiles + modulefile=${MACHINE_ID}_${compiler} + if [ -f "${PATHTR}/modulefiles/${modulefile}" -o -f "${PATHTR}/modulefiles/${modulefile}.lua" ]; then + echo "Building for machine ${MACHINE_ID}, compiler ${compiler}" + else + echo "Modulefile does not exist for machine ${MACHINE_ID}, compiler ${compiler}" + exit 1 + fi + module load $modulefile + if [[ "$load_ifi_module" == YES ]] ; then + echo "Loading modulefile for external libIFI library" + module load ${modulefile}_external_ifi + fi + if [[ "$build_ifi_executables" == YES ]] ; then + echo "Loading libIFI executables' prerequisites" + module load ${modulefile}_ifi_test_prereqs + fi + module list +fi + +# Provide host+compiler specific toolchains if available +CMAKE_TOOLCHAIN_FILE="${PATHTR}/cmake/toolchains/${MACHINE_ID}.${compiler}-toolchain.cmake" +if [[ -f "${CMAKE_TOOLCHAIN_FILE}" ]]; then + cmake_opts="${cmake_opts} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}" +fi + +set -x +BUILD_DIR=${BUILD_DIR:-"build"} +rm -rf ${BUILD_DIR} install +mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} +cmake $cmake_opts ${PATHTR} +make -j${BUILD_JOBS:-6} $verbose_opt make install -rm -rf $PATHTR/exec && mkdir $PATHTR/exec -cp $PATHTR/tests/install/bin/upp.x $PATHTR/exec/. +if [[ "$delete_exec" == YES ]] ; then + rm -rf $PATHTR/exec +fi +test -d $PATHTR/exec || mkdir -p $PATHTR/exec +cp $prefix/bin/upp.x $PATHTR/exec/$upp_name +if [[ "$build_ifi_executables" == YES ]] ; then + cp $prefix/bin/fip2-lookalike.x $PATHTR/exec/. +fi diff --git a/tests/detect_machine.sh b/tests/detect_machine.sh index 9362e56351..f209a57b86 100755 --- a/tests/detect_machine.sh +++ b/tests/detect_machine.sh @@ -1,105 +1,118 @@ #!/bin/bash +# The authoritative copy of this script lives in the ufs-weather-model at: +# https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/detect_machine.sh +# If any local modifications are made or new platform support added, +# please consider opening an issue and a PR to the ufs-weather-model +# so that this copy remains in sync with its authoritative source +# +# Thank you for your contribution + +# If the MACHINE_ID variable is set, skip this script. +[[ -n ${MACHINE_ID:-} ]] && return + +# First detect w/ hostname case $(hostname -f) in - llogin1) MACHINE_ID=wcoss_cray ;; ### luna - llogin2) MACHINE_ID=wcoss_cray ;; ### luna - llogin3) MACHINE_ID=wcoss_cray ;; ### luna - - slogin1) MACHINE_ID=wcoss_cray ;; ### surge - slogin2) MACHINE_ID=wcoss_cray ;; ### surge - slogin3) MACHINE_ID=wcoss_cray ;; ### surge - - v71a1.ncep.noaa.gov) MACHINE_ID=wcoss_dell_p3 ;; ### venus - v71a2.ncep.noaa.gov) MACHINE_ID=wcoss_dell_p3 ;; ### venus - v71a3.ncep.noaa.gov) MACHINE_ID=wcoss_dell_p3 ;; ### venus - v72a1.ncep.noaa.gov) MACHINE_ID=wcoss_dell_p3 ;; ### venus - v72a2.ncep.noaa.gov) MACHINE_ID=wcoss_dell_p3 ;; ### venus - v72a3.ncep.noaa.gov) MACHINE_ID=wcoss_dell_p3 ;; ### venus - - m71a1.ncep.noaa.gov) MACHINE_ID=wcoss_dell_p3 ;; ### mars - m71a2.ncep.noaa.gov) MACHINE_ID=wcoss_dell_p3 ;; ### mars - m71a3.ncep.noaa.gov) MACHINE_ID=wcoss_dell_p3 ;; ### mars - m72a1.ncep.noaa.gov) MACHINE_ID=wcoss_dell_p3 ;; ### mars - m72a2.ncep.noaa.gov) MACHINE_ID=wcoss_dell_p3 ;; ### mars - m72a3.ncep.noaa.gov) MACHINE_ID=wcoss_dell_p3 ;; ### mars - - alogin01) MACHINE_ID=wcoss2 ;; ### acorn - alogin02) MACHINE_ID=wcoss2 ;; ### acorn - - gaea9) MACHINE_ID=gaea ;; ### gaea9 - gaea10) MACHINE_ID=gaea ;; ### gaea10 - gaea11) MACHINE_ID=gaea ;; ### gaea11 - gaea12) MACHINE_ID=gaea ;; ### gaea12 - gaea13) MACHINE_ID=gaea ;; ### gaea13 - gaea14) MACHINE_ID=gaea ;; ### gaea14 - gaea15) MACHINE_ID=gaea ;; ### gaea15 - gaea16) MACHINE_ID=gaea ;; ### gaea16 - gaea9.ncrc.gov) MACHINE_ID=gaea ;; ### gaea9 - gaea10.ncrc.gov) MACHINE_ID=gaea ;; ### gaea10 - gaea11.ncrc.gov) MACHINE_ID=gaea ;; ### gaea11 - gaea12.ncrc.gov) MACHINE_ID=gaea ;; ### gaea12 - gaea13.ncrc.gov) MACHINE_ID=gaea ;; ### gaea13 - gaea14.ncrc.gov) MACHINE_ID=gaea ;; ### gaea14 - gaea15.ncrc.gov) MACHINE_ID=gaea ;; ### gaea15 - gaea16.ncrc.gov) MACHINE_ID=gaea ;; ### gaea16 - - hfe01) MACHINE_ID=hera ;; ### hera01 - hfe02) MACHINE_ID=hera ;; ### hera02 - hfe03) MACHINE_ID=hera ;; ### hera03 - hfe04) MACHINE_ID=hera ;; ### hera04 - hfe05) MACHINE_ID=hera ;; ### hera05 - hfe06) MACHINE_ID=hera ;; ### hera06 - hfe07) MACHINE_ID=hera ;; ### hera07 - hfe08) MACHINE_ID=hera ;; ### hera08 - hfe09) MACHINE_ID=hera ;; ### hera09 - hfe10) MACHINE_ID=hera ;; ### hera10 - hfe11) MACHINE_ID=hera ;; ### hera11 - hfe12) MACHINE_ID=hera ;; ### hera12 - - fe1) MACHINE_ID=jet ;; ### jet01 - fe2) MACHINE_ID=jet ;; ### jet02 - fe3) MACHINE_ID=jet ;; ### jet03 - fe4) MACHINE_ID=jet ;; ### jet04 - fe5) MACHINE_ID=jet ;; ### jet05 - fe6) MACHINE_ID=jet ;; ### jet06 - fe7) MACHINE_ID=jet ;; ### jet07 - fe8) MACHINE_ID=jet ;; ### jet08 - tfe1) MACHINE_ID=jet ;; ### jet09 - tfe2) MACHINE_ID=jet ;; ### jet10 - - Orion-login-1.HPC.MsState.Edu) MACHINE_ID=orion ;; ### orion1 - Orion-login-2.HPC.MsState.Edu) MACHINE_ID=orion ;; ### orion2 - Orion-login-3.HPC.MsState.Edu) MACHINE_ID=orion ;; ### orion3 - Orion-login-4.HPC.MsState.Edu) MACHINE_ID=orion ;; ### orion4 - - cheyenne1.cheyenne.ucar.edu) MACHINE_ID=cheyenne ;; ### cheyenne1 - cheyenne2.cheyenne.ucar.edu) MACHINE_ID=cheyenne ;; ### cheyenne2 - cheyenne3.cheyenne.ucar.edu) MACHINE_ID=cheyenne ;; ### cheyenne3 - cheyenne4.cheyenne.ucar.edu) MACHINE_ID=cheyenne ;; ### cheyenne4 - cheyenne5.cheyenne.ucar.edu) MACHINE_ID=cheyenne ;; ### cheyenne5 - cheyenne6.cheyenne.ucar.edu) MACHINE_ID=cheyenne ;; ### cheyenne6 - cheyenne1.ib0.cheyenne.ucar.edu) MACHINE_ID=cheyenne ;; ### cheyenne1 - cheyenne2.ib0.cheyenne.ucar.edu) MACHINE_ID=cheyenne ;; ### cheyenne2 - cheyenne3.ib0.cheyenne.ucar.edu) MACHINE_ID=cheyenne ;; ### cheyenne3 - cheyenne4.ib0.cheyenne.ucar.edu) MACHINE_ID=cheyenne ;; ### cheyenne4 - cheyenne5.ib0.cheyenne.ucar.edu) MACHINE_ID=cheyenne ;; ### cheyenne5 - cheyenne6.ib0.cheyenne.ucar.edu) MACHINE_ID=cheyenne ;; ### cheyenne6 - - login1.stampede2.tacc.utexas.edu) MACHINE_ID=stampede ;; ### stampede1 - login2.stampede2.tacc.utexas.edu) MACHINE_ID=stampede ;; ### stampede2 - login3.stampede2.tacc.utexas.edu) MACHINE_ID=stampede ;; ### stampede3 - login4.stampede2.tacc.utexas.edu) MACHINE_ID=stampede ;; ### stampede4 - - s4-submit.ssec.wisc.edu) MACHINE_ID=s4 ;; ### S4 -esac + adecflow0[12].acorn.wcoss2.ncep.noaa.gov) MACHINE_ID=acorn ;; ### acorn + alogin0[123].acorn.wcoss2.ncep.noaa.gov) MACHINE_ID=acorn ;; ### acorn + clogin0[1-9].cactus.wcoss2.ncep.noaa.gov) MACHINE_ID=wcoss2 ;; ### cactus01-9 + clogin10.cactus.wcoss2.ncep.noaa.gov) MACHINE_ID=wcoss2 ;; ### cactus10 + dlogin0[1-9].dogwood.wcoss2.ncep.noaa.gov) MACHINE_ID=wcoss2 ;; ### dogwood01-9 + dlogin10.dogwood.wcoss2.ncep.noaa.gov) MACHINE_ID=wcoss2 ;; ### dogwood10 + + gaea6[1-8]) MACHINE_ID=gaeac6 ;; ### gaea61-68 + gaea6[1-8].ncrc.gov) MACHINE_ID=gaeac6 ;; ### gaea61-68 + + hfe0[1-9]) MACHINE_ID=hera ;; ### hera01-09 + hfe1[01]) MACHINE_ID=hera ;; ### hera10-11 + hecflow01) MACHINE_ID=hera ;; ### heraecflow01 + + ufe[0-9][0-9]) MACHINE_ID=ursa ;; + uecflow*) MACHINE_ID=ursa ;; + + s4-submit.ssec.wisc.edu) MACHINE_ID=s4 ;; ### s4 -# Overwrite auto-detect with RT_MACHINE if set -MACHINE_ID=${RT_MACHINE:-${MACHINE_ID}} + fe[1-8]) MACHINE_ID=jet ;; ### jet1-8 + tfe[12]) MACHINE_ID=jet ;; ### tjet1-2 -# Append compiler -#if [ $MACHINE_ID = orion ] || [ $MACHINE_ID = hera ] || [ $MACHINE_ID = cheyenne ] || [ $MACHINE_ID = jet ] || [ $MACHINE_ID = gaea ] || [ $MACHINE_ID = stampede ] || [ $MACHINE_ID = s4 ]; then -# MACHINE_ID=${MACHINE_ID}.${RT_COMPILER} -#fi + [Oo]rion-login-[1-4].[Hh][Pp][Cc].[Mm]s[Ss]tate.[Ee]du) MACHINE_ID=orion ;; ### orion1-4 + + [Hh]ercules-login-[1-4].[Hh][Pp][Cc].[Mm]s[Ss]tate.[Ee]du) MACHINE_ID=hercules ;; ### hercules1-4 + + derecho*) MACHINE_ID=derecho ;; ### derecho1-8 + + login[1-4].stampede2.tacc.utexas.edu) MACHINE_ID=stampede ;; ### stampede1-4 + + login0[1-2].expanse.sdsc.edu) MACHINE_ID=expanse ;; ### expanse1-2 + + discover3[1-5].prv.cube) MACHINE_ID=discover ;; ### discover31-35 + *) MACHINE_ID=UNKNOWN ;; # Unknown platform +esac -echo "Machine: " $MACHINE_ID +# overwrite MACHINE_ID, if use container +if [[ -d /opt/spack-stack ]]; then + if [[ -v SINGULARITY_CONTAINER ]]; then + # We are in a container + MACHINE_ID=container + fi +fi + +if [[ ${MACHINE_ID} == "UNKNOWN" ]]; then + case ${PW_CSP:-} in + "aws" | "google" | "azure") MACHINE_ID=noaacloud ;; + *) PW_CSP="UNKNOWN" + esac +fi + +# Overwrite auto-detect with MACHINE if set +MACHINE_ID=${MACHINE:-${MACHINE_ID}} + +# If MACHINE_ID is no longer UNKNNOWN, return it +if [[ "${MACHINE_ID}" != "UNKNOWN" ]]; then + return +fi + +# Try searching based on paths since hostname may not match on compute nodes +if [[ -d /lfs/h3 ]]; then + # We are on NOAA Cactus or Dogwood + MACHINE_ID=wcoss2 +elif [[ -d /lfs/h1 && ! -d /lfs/h3 ]]; then + # We are on NOAA TDS Acorn + MACHINE_ID=acorn +elif [[ -d /mnt/lfs1 ]]; then + # We are on NOAA Jet + MACHINE_ID=jet +elif [[ -d /scratch3 ]]; then + # We are on NOAA Hera or Ursa + mount=$(findmnt -n -o SOURCE /apps) + if [[ ${mount} =~ "ursa" ]]; then + # We are on Ursa + MACHINE_ID=ursa + elif [[ ${mount} =~ "hera" ]]; then + MACHINE_ID=hera + fi +elif [[ -d /glade ]]; then + # We are on NCAR derecho + MACHINE_ID=derecho +elif [[ -d /work ]]; then + # We are on MSU Orion or Hercules, check the home mount + mount=$(findmnt -n -o SOURCE /home) + if [[ ${mount} =~ "hercules" ]]; then + # We are on Hercules + MACHINE_ID=hercules + else + MACHINE_ID=orion + fi +elif [[ -d /gpfs/f6 ]]; then + # We are on GAEAC6. + MACHINE_ID=gaeac6 +elif [[ -d /data/prod ]]; then + # We are on SSEC's S4 + MACHINE_ID=s4 +elif [[ -d /opt/spack-stack && -v SINGULARITY_CONTAINER ]]; then + # We are in a container + MACHINE_ID=container +else + echo WARNING: UNKNOWN PLATFORM 1>&2 +fi diff --git a/tests/logs/rt.log.HERCULES_intel b/tests/logs/rt.log.HERCULES_intel new file mode 100644 index 0000000000..58c261626f --- /dev/null +++ b/tests/logs/rt.log.HERCULES_intel @@ -0,0 +1,65 @@ +===== Start of UPP Regression Testing Log ===== +UPP Hash Tested: +68a3743e13eb77684c06509f5bf0eb4a97169a03 + +Submodule hashes: +-5afd607642ae0fd6a53b137230336386beb47ce6 sorc/libIFI.fd +-3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd + +Run directory: /work2/noaa/epic/clyden/regression-tests/upp/hercules/1449_hercules_intel/ci/rundir/upp-HERCULES +Baseline directory: /work/noaa/epic/role-epic/hercules/UPP + +Total runtime: 00h:12m:09s +Test Date: 20260306 10:22:32 +Summary Results: + +03/06 16:12:37Z -sfs test: your new post executable generates bit-identical sfs.t00z.master.grb2f048 as the develop branch +03/06 16:12:40Z -aqm test: your new post executable generates bit-identical CMAQ08.tm00 as the develop branch +03/06 16:12:48Z -gefsv12 test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch +03/06 16:13:05Z -hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch +03/06 16:13:14Z -gefsv13 test: your new post executable generates bit-identical gefs.t00z.master.grb2f009 as the develop branch +03/06 16:13:34Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF06 as the develop branch +03/06 16:13:35Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF06 as the develop branch +03/06 16:13:39Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch +03/06 16:13:40Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch +03/06 16:13:40Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch +03/06 16:13:43Z -mpas test: your new post executable generates bit-identical POSTNAT18.tm00 as the develop branch +03/06 16:13:44Z -mpas test: your new post executable generates bit-identical POSTPRS18.tm00 as the develop branch +03/06 16:13:44Z -mpas test: your new post executable generates bit-identical POSTTWO18.tm00 as the develop branch +03/06 16:14:16Z -3drtma test: your new post executable generates bit-identical WRFNAT.GrbF00 as the develop branch +03/06 16:14:17Z -3drtma test: your new post executable generates bit-identical WRFTWO.GrbF00 as the develop branch +03/06 16:14:17Z -3drtma test: your new post executable generates bit-identical WRFPRS.GrbF00 as the develop branch +03/06 16:14:24Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF10 as the develop branch +03/06 16:14:25Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF10 as the develop branch +03/06 16:14:26Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF10 as the develop branch +03/06 16:14:29Z -mpas_hfip test: your new post executable generates bit-identical NATLEV.GrbF48 as the develop branch +03/06 16:14:30Z -mpas_hfip test: your new post executable generates bit-identical PRSLEV.GrbF48 as the develop branch +03/06 16:14:31Z -mpas_hfip test: your new post executable generates bit-identical 2DFLD.GrbF48 as the develop branch +03/06 16:14:57Z -rrfs_ifi_missing test: your new post executable generates bit-identical IFIFIP18.tm00 as the develop branch +03/06 16:15:18Z -gcafs test: your new post executable generates bit-identical GFSPRS.GrbF60 as the develop branch +03/06 16:15:18Z -gcafs test: your new post executable generates bit-identical GFSFLX.GrbF60 as the develop branch +03/06 16:20:17Z -gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch +03/06 16:20:17Z -gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch +03/06 16:20:17Z -gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch +03/06 16:22:13Z -rrfs test: your new post executable generates bit-identical PRSLEV18.tm00 as the develop branch +03/06 16:22:21Z -rrfs test: your new post executable generates bit-identical NATLEV18.tm00 as the develop branch +03/06 16:22:23Z -rrfs test: your new post executable generates bit-identical 2DFLD18.tm00 as the develop branch +03/06 16:13:01Z -Runtime: sfs_test 00:00:05 -- baseline 00:01:20 +03/06 16:13:01Z -Runtime: aqm_test 00:00:08 -- baseline 00:00:30 +03/06 16:13:01Z -Runtime: gefsv12_test 00:00:16 -- baseline 00:01:00 +03/06 16:13:16Z -Runtime: gefsv13_test 00:00:42 -- baseline 00:02:00 +03/06 16:13:46Z -Runtime: nmmb_test 00:01:08 -- baseline 00:03:00 +03/06 16:13:46Z -Runtime: rap_test 00:01:03 -- baseline 00:02:00 +03/06 16:14:31Z -Runtime: hrrr_test 00:01:54 -- baseline 00:06:00 +03/06 16:14:31Z -Runtime: hafs_test 00:00:33 -- baseline 00:01:00 +03/06 16:14:31Z -Runtime: 3drtma_test 00:01:45 -- baseline 00:03:00 +03/06 16:14:31Z -Runtime: mpas_test 00:01:12 -- baseline 00:02:30 +03/06 16:14:31Z -Runtime: mpas_hfip_test 00:02:00 -- baseline 00:05:00 +03/06 16:15:31Z -Runtime: gcafs_test 00:02:46 -- baseline 00:02:30 +03/06 16:22:32Z -Runtime: rrfs_test 00:09:51 -- baseline 00:12:00 +03/06 16:22:32Z -Runtime: rrfs_ifi_missing 00:02:25 -- baseline 00:04:00 +03/06 16:22:32Z -Runtime: gfs_test 00:07:45 -- baseline 00:25:00 +Check tests: +['sfs', 'aqm', 'gefsv12', 'gefsv13', 'nmmb', 'rap', 'hrrr', 'hafs', '3drtma', 'mpas', 'mpas_hfip', 'gcafs', 'rrfs', 'rrfs_ifi_missing', 'gfs'] +No changes in test results detected. +===== End of UPP Regression Testing Log ===== diff --git a/tests/logs/rt.log.HERCULES_intelllvm b/tests/logs/rt.log.HERCULES_intelllvm new file mode 100644 index 0000000000..e85556e395 --- /dev/null +++ b/tests/logs/rt.log.HERCULES_intelllvm @@ -0,0 +1,57 @@ +===== Start of UPP Regression Testing Log ===== +UPP Hash Tested: +942c1c313761a405a6ea67167b5a5a289c339641 + +Submodule hashes: +-179cae1dd84401cf25d250bd9102e66560a9d328 sorc/libIFI.fd +-3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd + +Run directory: /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1249-llvm/ci/rundir/upp-HERCULES +Baseline directory: /work/noaa/epic/role-epic/hercules/UPP + +Total runtime: 00h:19m:58s +Test Date: 20250714 13:57:00 +Summary Results: + +07/14 18:45:13Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the develop branch +07/14 18:46:06Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch +07/14 18:46:08Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch +07/14 18:46:09Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch +07/14 18:46:36Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch +07/14 18:46:58Z -fv3r test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the develop branch +07/14 18:47:22Z -mpas_hfip test: your new post executable generates bit-identical NATLEV.GrbF48 as the develop branch +07/14 18:47:24Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the develop branch +07/14 18:47:25Z -mpas_hfip test: your new post executable generates bit-identical PRSLEV.GrbF48 as the develop branch +07/14 18:47:37Z -fv3hafs test: your new post executable did not generate bit-identical HURPRS09.tm00 as the develop branch +07/14 18:47:38Z -mpas_hfip test: your new post executable did not generate bit-identical 2DFLD.GrbF48 as the develop branch +07/14 18:47:41Z -rap test: your new post executable did not generate bit-identical WRFNAT.GrbF16 as the develop branch +07/14 18:49:09Z -fv3r test: your new post executable did not generate bit-identical NATLEV10.tm00 as the develop branch +07/14 18:51:06Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the develop branch +07/14 18:51:07Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the develop branch +07/14 18:51:08Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the develop branch +07/14 18:52:14Z -3drtma test: your new post executable did not generate bit-identical NATLEV00.tm00 as the develop branch +07/14 18:53:41Z -3drtma test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the develop branch +07/14 18:56:51Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch +07/14 18:56:52Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch +07/14 18:56:52Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch +07/14 18:46:14Z -Runtime: nmmb_test 00:03:26 -- baseline 00:03:00 +07/14 18:46:44Z -Runtime: fv3gefs_test 00:00:40 -- baseline 00:01:00 +07/14 18:49:14Z -Runtime: fv3r_test 00:06:25 -- baseline 00:03:00 +07/14 18:49:14Z -Runtime: fv3r_ifi_mis 00:00:20 -- baseline 00:01:00 +07/14 18:51:14Z -Runtime: hrrr_test 00:05:12 -- baseline 00:05:00 +07/14 18:51:14Z -Runtime: rap_test 00:01:45 -- baseline 00:02:00 +07/14 18:51:14Z -Runtime: fv3hafs_test 00:01:41 -- baseline 00:01:00 +07/14 18:53:44Z -Runtime: 3drtma_test 00:07:40 -- baseline 00:03:00 +07/14 18:57:00Z -Runtime: fv3gfs_test 00:10:43 -- baseline 00:11:00 +07/14 18:57:00Z -Runtime: mpas_hfip_test 00:04:34 -- baseline 00:05:00 +Check tests: +['nmmb', 'fv3gefs', 'fv3r', 'fv3r_ifi_missing', 'hrrr', 'rap', 'fv3hafs', '3drtma', 'fv3gfs', 'mpas_hfip', 'rtma'] +There are changes in results for case fv3r in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1249-llvm/ci/rundir/upp-HERCULES/fv3r_2023062800/PRSLEV10.tm00 +There are changes in results for case fv3r in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1249-llvm/ci/rundir/upp-HERCULES/fv3r_2023062800/NATLEV10.tm00 +There are changes in results for case 3drtma in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1249-llvm/ci/rundir/upp-HERCULES/3drtma_2023040400/NATLEV00.tm00 +There are changes in results for case 3drtma in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1249-llvm/ci/rundir/upp-HERCULES/3drtma_2023040400/PRSLEV00.tm00 +There are changes in results for case mpas_hfip in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1249-llvm/ci/rundir/upp-HERCULES/mpas_hfip_2024100700/2DFLD.GrbF48 +There are changes in results for case rap in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1249-llvm/ci/rundir/upp-HERCULES/rap_2020072316/WRFNAT.GrbF16 +There are changes in results for case fv3hafs in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1249-llvm/ci/rundir/upp-HERCULES/fv3hafs_2022092800/HURPRS09.tm00 +Refer to .diff files in rundir: /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1249-llvm/ci/rundir/upp-HERCULES for details on differences in results for each case. +===== End of UPP Regression Testing Log ===== diff --git a/tests/logs/rt.log.ORION_intel b/tests/logs/rt.log.ORION_intel new file mode 100644 index 0000000000..91aa6ecc9a --- /dev/null +++ b/tests/logs/rt.log.ORION_intel @@ -0,0 +1,65 @@ +===== Start of UPP Regression Testing Log ===== +UPP Hash Tested: +68a3743e13eb77684c06509f5bf0eb4a97169a03 + +Submodule hashes: +-5afd607642ae0fd6a53b137230336386beb47ce6 sorc/libIFI.fd +-3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd + +Run directory: /work2/noaa/epic/clyden/regression-tests/upp/orion/1449_orion_intel/ci/rundir/upp-ORION +Baseline directory: /work/noaa/epic/role-epic/orion/UPP + +Total runtime: 00h:20m:03s +Test Date: 20260306 10:30:25 +Summary Results: + +03/06 16:13:45Z -sfs test: your new post executable generates bit-identical sfs.t00z.master.grb2f048 as the develop branch +03/06 16:13:50Z -aqm test: your new post executable generates bit-identical CMAQ08.tm00 as the develop branch +03/06 16:13:56Z -gefsv12 test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch +03/06 16:14:14Z -hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch +03/06 16:14:33Z -gefsv13 test: your new post executable generates bit-identical gefs.t00z.master.grb2f009 as the develop branch +03/06 16:15:08Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch +03/06 16:15:09Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch +03/06 16:15:09Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch +03/06 16:15:20Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF06 as the develop branch +03/06 16:15:21Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF06 as the develop branch +03/06 16:15:30Z -mpas test: your new post executable generates bit-identical POSTNAT18.tm00 as the develop branch +03/06 16:15:31Z -mpas test: your new post executable generates bit-identical POSTPRS18.tm00 as the develop branch +03/06 16:15:32Z -mpas test: your new post executable generates bit-identical POSTTWO18.tm00 as the develop branch +03/06 16:16:11Z -rrfs_ifi_missing test: your new post executable generates bit-identical IFIFIP18.tm00 as the develop branch +03/06 16:16:33Z -3drtma test: your new post executable generates bit-identical WRFNAT.GrbF00 as the develop branch +03/06 16:16:33Z -3drtma test: your new post executable generates bit-identical WRFTWO.GrbF00 as the develop branch +03/06 16:16:34Z -3drtma test: your new post executable generates bit-identical WRFPRS.GrbF00 as the develop branch +03/06 16:16:46Z -gcafs test: your new post executable generates bit-identical GFSPRS.GrbF60 as the develop branch +03/06 16:16:47Z -gcafs test: your new post executable generates bit-identical GFSFLX.GrbF60 as the develop branch +03/06 16:17:04Z -mpas_hfip test: your new post executable generates bit-identical NATLEV.GrbF48 as the develop branch +03/06 16:17:06Z -mpas_hfip test: your new post executable generates bit-identical PRSLEV.GrbF48 as the develop branch +03/06 16:17:07Z -mpas_hfip test: your new post executable generates bit-identical 2DFLD.GrbF48 as the develop branch +03/06 16:17:13Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF10 as the develop branch +03/06 16:17:14Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF10 as the develop branch +03/06 16:17:15Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF10 as the develop branch +03/06 16:25:01Z -gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch +03/06 16:25:03Z -gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch +03/06 16:25:03Z -gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch +03/06 16:29:46Z -rrfs test: your new post executable generates bit-identical PRSLEV18.tm00 as the develop branch +03/06 16:30:09Z -rrfs test: your new post executable generates bit-identical NATLEV18.tm00 as the develop branch +03/06 16:30:12Z -rrfs test: your new post executable generates bit-identical 2DFLD18.tm00 as the develop branch +03/06 16:14:08Z -Runtime: sfs_test 00:00:07 -- baseline 00:01:20 +03/06 16:14:08Z -Runtime: aqm_test 00:00:12 -- baseline 00:00:30 +03/06 16:14:08Z -Runtime: gefsv12_test 00:00:18 -- baseline 00:01:00 +03/06 16:14:38Z -Runtime: gefsv13_test 00:00:55 -- baseline 00:02:00 +03/06 16:15:23Z -Runtime: nmmb_test 00:01:31 -- baseline 00:03:00 +03/06 16:15:23Z -Runtime: rap_test 00:01:43 -- baseline 00:02:00 +03/06 16:17:23Z -Runtime: hrrr_test 00:03:37 -- baseline 00:08:00 +03/06 16:17:23Z -Runtime: hafs_test 00:00:36 -- baseline 00:01:00 +03/06 16:17:23Z -Runtime: 3drtma_test 00:02:56 -- baseline 00:03:00 +03/06 16:17:23Z -Runtime: mpas_test 00:01:54 -- baseline 00:02:30 +03/06 16:17:24Z -Runtime: mpas_hfip_test 00:03:30 -- baseline 00:05:00 +03/06 16:17:24Z -Runtime: gcafs_test 00:03:09 -- baseline 00:03:15 +03/06 16:30:25Z -Runtime: rrfs_test 00:16:34 -- baseline 00:12:00 +03/06 16:30:25Z -Runtime: rrfs_ifi_missing 00:02:33 -- baseline 00:04:00 +03/06 16:30:25Z -Runtime: gfs_test 00:11:25 -- baseline 00:26:00 +Check tests: +['sfs', 'aqm', 'gefsv12', 'gefsv13', 'nmmb', 'rap', 'hrrr', 'hafs', '3drtma', 'mpas', 'mpas_hfip', 'gcafs', 'rrfs', 'rrfs_ifi_missing', 'gfs'] +No changes in test results detected. +===== End of UPP Regression Testing Log ===== diff --git a/tests/logs/rt.log.ORION_intelllvm b/tests/logs/rt.log.ORION_intelllvm new file mode 100644 index 0000000000..e0126b11a2 --- /dev/null +++ b/tests/logs/rt.log.ORION_intelllvm @@ -0,0 +1,57 @@ +===== Start of UPP Regression Testing Log ===== +UPP Hash Tested: +e350ebf00387c2bbf0f7ab5072106f0ef6a7217b + +Submodule hashes: +-179cae1dd84401cf25d250bd9102e66560a9d328 sorc/libIFI.fd +-3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd + +Run directory: /work/noaa/epic/gpetro/orion/RTs/upp-rts/1249-llvm/ci/rundir/upp-ORION +Baseline directory: /work/noaa/epic/role-epic/orion/UPP + +Total runtime: 00h:19m:34s +Test Date: 20250714 11:58:22 +Summary Results: + +07/14 16:46:12Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the develop branch +07/14 16:46:15Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch +07/14 16:47:14Z -fv3hafs test: your new post executable did not generate bit-identical HURPRS09.tm00 as the develop branch +07/14 16:47:20Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch +07/14 16:47:23Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch +07/14 16:47:23Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch +07/14 16:47:53Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the develop branch +07/14 16:48:17Z -rap test: your new post executable did not generate bit-identical WRFNAT.GrbF16 as the develop branch +07/14 16:50:49Z -fv3r test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the develop branch +07/14 16:52:06Z -mpas_hfip test: your new post executable generates bit-identical NATLEV.GrbF48 as the develop branch +07/14 16:52:17Z -mpas_hfip test: your new post executable generates bit-identical PRSLEV.GrbF48 as the develop branch +07/14 16:52:39Z -mpas_hfip test: your new post executable did not generate bit-identical 2DFLD.GrbF48 as the develop branch +07/14 16:53:04Z -3drtma test: your new post executable did not generate bit-identical NATLEV00.tm00 as the develop branch +07/14 16:54:51Z -fv3r test: your new post executable did not generate bit-identical NATLEV10.tm00 as the develop branch +07/14 16:55:35Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the develop branch +07/14 16:55:36Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the develop branch +07/14 16:55:38Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the develop branch +07/14 16:55:44Z -3drtma test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the develop branch +07/14 16:58:14Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch +07/14 16:58:15Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch +07/14 16:58:15Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch +07/14 16:47:30Z -Runtime: nmmb_test 00:01:51 -- baseline 00:03:00 +07/14 16:47:32Z -Runtime: fv3gefs_test 00:00:44 -- baseline 00:01:00 +07/14 16:55:03Z -Runtime: fv3r_test 00:09:19 -- baseline 00:03:00 +07/14 16:55:06Z -Runtime: fv3r_ifi_mis 00:00:44 -- baseline 00:01:00 +07/14 16:55:51Z -Runtime: hrrr_test 00:10:06 -- baseline 00:09:00 +07/14 16:55:51Z -Runtime: rap_test 00:02:45 -- baseline 00:02:00 +07/14 16:55:51Z -Runtime: fv3hafs_test 00:01:42 -- baseline 00:01:00 +07/14 16:55:51Z -Runtime: 3drtma_test 00:10:12 -- baseline 00:03:00 +07/14 16:58:21Z -Runtime: fv3gfs_test 00:12:43 -- baseline 00:13:00 +07/14 16:58:22Z -Runtime: mpas_hfip_test 00:07:08 -- baseline 00:05:00 +Check tests: +['nmmb', 'fv3gefs', 'fv3r', 'fv3r_ifi_missing', 'hrrr', 'rap', 'fv3hafs', '3drtma', 'fv3gfs', 'mpas_hfip', 'rtma'] +There are changes in results for case fv3r in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1249-llvm/ci/rundir/upp-ORION/fv3r_2023062800/PRSLEV10.tm00 +There are changes in results for case fv3r in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1249-llvm/ci/rundir/upp-ORION/fv3r_2023062800/NATLEV10.tm00 +There are changes in results for case 3drtma in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1249-llvm/ci/rundir/upp-ORION/3drtma_2023040400/NATLEV00.tm00 +There are changes in results for case 3drtma in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1249-llvm/ci/rundir/upp-ORION/3drtma_2023040400/PRSLEV00.tm00 +There are changes in results for case mpas_hfip in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1249-llvm/ci/rundir/upp-ORION/mpas_hfip_2024100700/2DFLD.GrbF48 +There are changes in results for case rap in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1249-llvm/ci/rundir/upp-ORION/rap_2020072316/WRFNAT.GrbF16 +There are changes in results for case fv3hafs in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1249-llvm/ci/rundir/upp-ORION/fv3hafs_2022092800/HURPRS09.tm00 +Refer to .diff files in rundir: /work/noaa/epic/gpetro/orion/RTs/upp-rts/1249-llvm/ci/rundir/upp-ORION for details on differences in results for each case. +===== End of UPP Regression Testing Log ===== diff --git a/tests/logs/rt.log.URSA_intel b/tests/logs/rt.log.URSA_intel new file mode 100644 index 0000000000..983d231c46 --- /dev/null +++ b/tests/logs/rt.log.URSA_intel @@ -0,0 +1,65 @@ +===== Start of UPP Regression Testing Log ===== +UPP Hash Tested: +68a3743e13eb77684c06509f5bf0eb4a97169a03 + +Submodule hashes: +-5afd607642ae0fd6a53b137230336386beb47ce6 sorc/libIFI.fd +-3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd + +Run directory: /scratch4/NAGAPE/epic/Chad.Lyden/regression_tests/upp/1449_ursa_intel/ci/rundir/upp-URSA +Baseline directory: /scratch4/NAGAPE/epic/role-epic/ursa/UPP/test_suite + +Total runtime: 00h:09m:15s +Test Date: 20260306 16:19:36 +Summary Results: + +03/06 16:12:18Z -aqm test: your new post executable generates bit-identical CMAQ08.tm00 as the develop branch +03/06 16:12:31Z -hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch +03/06 16:12:48Z -sfs test: your new post executable generates bit-identical sfs.t00z.master.grb2f048 as the develop branch +03/06 16:12:56Z -gefsv12 test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch +03/06 16:13:16Z -gefsv13 test: your new post executable generates bit-identical gefs.t00z.master.grb2f009 as the develop branch +03/06 16:13:17Z -mpas test: your new post executable generates bit-identical POSTNAT18.tm00 as the develop branch +03/06 16:13:18Z -mpas test: your new post executable generates bit-identical POSTPRS18.tm00 as the develop branch +03/06 16:13:19Z -mpas test: your new post executable generates bit-identical POSTTWO18.tm00 as the develop branch +03/06 16:13:30Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF06 as the develop branch +03/06 16:13:31Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF06 as the develop branch +03/06 16:13:36Z -3drtma test: your new post executable generates bit-identical WRFNAT.GrbF00 as the develop branch +03/06 16:13:36Z -3drtma test: your new post executable generates bit-identical WRFTWO.GrbF00 as the develop branch +03/06 16:13:37Z -3drtma test: your new post executable generates bit-identical WRFPRS.GrbF00 as the develop branch +03/06 16:13:44Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch +03/06 16:13:44Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch +03/06 16:13:45Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch +03/06 16:13:56Z -gcafs test: your new post executable generates bit-identical GFSPRS.GrbF60 as the develop branch +03/06 16:13:57Z -gcafs test: your new post executable generates bit-identical GFSFLX.GrbF60 as the develop branch +03/06 16:14:10Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF10 as the develop branch +03/06 16:14:10Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF10 as the develop branch +03/06 16:14:12Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF10 as the develop branch +03/06 16:14:29Z -rrfs_ifi_missing test: your new post executable generates bit-identical IFIFIP18.tm00 as the develop branch +03/06 16:15:43Z -mpas_hfip test: your new post executable generates bit-identical NATLEV.GrbF48 as the develop branch +03/06 16:15:45Z -mpas_hfip test: your new post executable generates bit-identical PRSLEV.GrbF48 as the develop branch +03/06 16:15:46Z -mpas_hfip test: your new post executable generates bit-identical 2DFLD.GrbF48 as the develop branch +03/06 16:17:54Z -gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch +03/06 16:17:55Z -gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch +03/06 16:17:55Z -gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch +03/06 16:19:17Z -rrfs test: your new post executable generates bit-identical PRSLEV18.tm00 as the develop branch +03/06 16:19:22Z -rrfs test: your new post executable generates bit-identical NATLEV18.tm00 as the develop branch +03/06 16:19:29Z -rrfs test: your new post executable generates bit-identical 2DFLD18.tm00 as the develop branch +03/06 16:12:50Z -Runtime: sfs_test 00:00:04 -- baseline 00:01:20 +03/06 16:12:50Z -Runtime: aqm_test 00:00:04 -- baseline 00:00:30 +03/06 16:13:05Z -Runtime: gefsv12_test 00:00:12 -- baseline 00:02:00 +03/06 16:13:20Z -Runtime: gefsv13_test 00:00:32 -- baseline 00:02:00 +03/06 16:13:50Z -Runtime: nmmb_test 00:00:53 -- baseline 00:02:00 +03/06 16:13:50Z -Runtime: rap_test 00:00:47 -- baseline 00:02:00 +03/06 16:14:20Z -Runtime: hrrr_test 00:01:28 -- baseline 00:03:00 +03/06 16:14:20Z -Runtime: hafs_test 00:00:24 -- baseline 00:01:30 +03/06 16:14:20Z -Runtime: 3drtma_test 00:01:30 -- baseline 00:01:30 +03/06 16:14:20Z -Runtime: mpas_test 00:01:05 -- baseline 00:02:30 +03/06 16:15:51Z -Runtime: mpas_hfip_test 00:03:09 -- baseline 00:05:00 +03/06 16:15:51Z -Runtime: gcafs_test 00:01:13 -- baseline 00:02:00 +03/06 16:19:36Z -Runtime: rrfs_test 00:06:48 -- baseline 00:07:00 +03/06 16:19:36Z -Runtime: rrfs_ifi_missing 00:01:45 -- baseline 00:03:00 +03/06 16:19:36Z -Runtime: gfs_test 00:05:11 -- baseline 00:15:00 +Check tests: +['sfs', 'aqm', 'gefsv12', 'gefsv13', 'nmmb', 'rap', 'hrrr', 'hafs', '3drtma', 'mpas', 'mpas_hfip', 'gcafs', 'rrfs', 'rrfs_ifi_missing', 'gfs'] +No changes in test results detected. +===== End of UPP Regression Testing Log ===== diff --git a/tests/logs/rt.log.URSA_intelllvm b/tests/logs/rt.log.URSA_intelllvm new file mode 100644 index 0000000000..8fde4aae16 --- /dev/null +++ b/tests/logs/rt.log.URSA_intelllvm @@ -0,0 +1,65 @@ +===== Start of UPP Regression Testing Log ===== +UPP Hash Tested: +68a3743e13eb77684c06509f5bf0eb4a97169a03 + +Submodule hashes: +-5afd607642ae0fd6a53b137230336386beb47ce6 sorc/libIFI.fd +-3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd + +Run directory: /scratch4/NAGAPE/epic/Chad.Lyden/regression_tests/upp/1449_ursa_intelllvm/ci/rundir/upp-URSA +Baseline directory: /scratch4/NAGAPE/epic/role-epic/ursa/UPP/test_suite + +Total runtime: 00h:08m:09s +Test Date: 20260306 16:18:31 +Summary Results: + +03/06 16:11:24Z -aqm test: your new post executable generates bit-identical CMAQ08.tm00 as the develop branch +03/06 16:11:42Z -hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch +03/06 16:12:02Z -sfs test: your new post executable generates bit-identical sfs.t00z.master.grb2f048 as the develop branch +03/06 16:12:12Z -gefsv12 test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch +03/06 16:12:19Z -mpas test: your new post executable generates bit-identical POSTNAT18.tm00 as the develop branch +03/06 16:12:20Z -mpas test: your new post executable generates bit-identical POSTPRS18.tm00 as the develop branch +03/06 16:12:21Z -mpas test: your new post executable generates bit-identical POSTTWO18.tm00 as the develop branch +03/06 16:12:36Z -3drtma test: your new post executable generates bit-identical WRFNAT.GrbF00 as the develop branch +03/06 16:12:36Z -3drtma test: your new post executable generates bit-identical WRFTWO.GrbF00 as the develop branch +03/06 16:12:37Z -3drtma test: your new post executable generates bit-identical WRFPRS.GrbF00 as the develop branch +03/06 16:12:38Z -gefsv13 test: your new post executable generates bit-identical gefs.t00z.master.grb2f009 as the develop branch +03/06 16:13:23Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF06 as the develop branch +03/06 16:13:24Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF06 as the develop branch +03/06 16:13:37Z -rrfs_ifi_missing test: your new post executable generates bit-identical IFIFIP18.tm00 as the develop branch +03/06 16:13:41Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch +03/06 16:13:42Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch +03/06 16:13:42Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch +03/06 16:13:52Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF10 as the develop branch +03/06 16:13:53Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF10 as the develop branch +03/06 16:13:54Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF10 as the develop branch +03/06 16:13:55Z -gcafs test: your new post executable generates bit-identical GFSPRS.GrbF60 as the develop branch +03/06 16:13:56Z -gcafs test: your new post executable generates bit-identical GFSFLX.GrbF60 as the develop branch +03/06 16:14:23Z -mpas_hfip test: your new post executable generates bit-identical NATLEV.GrbF48 as the develop branch +03/06 16:14:25Z -mpas_hfip test: your new post executable generates bit-identical PRSLEV.GrbF48 as the develop branch +03/06 16:14:26Z -mpas_hfip test: your new post executable generates bit-identical 2DFLD.GrbF48 as the develop branch +03/06 16:16:47Z -gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch +03/06 16:16:48Z -gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch +03/06 16:16:48Z -gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch +03/06 16:18:10Z -rrfs test: your new post executable generates bit-identical PRSLEV18.tm00 as the develop branch +03/06 16:18:14Z -rrfs test: your new post executable generates bit-identical NATLEV18.tm00 as the develop branch +03/06 16:18:19Z -rrfs test: your new post executable generates bit-identical 2DFLD18.tm00 as the develop branch +03/06 16:12:15Z -Runtime: sfs_test 00:00:06 -- baseline 00:01:20 +03/06 16:12:15Z -Runtime: aqm_test 00:00:07 -- baseline 00:00:30 +03/06 16:12:15Z -Runtime: gefsv12_test 00:00:13 -- baseline 00:02:00 +03/06 16:12:45Z -Runtime: gefsv13_test 00:00:34 -- baseline 00:02:00 +03/06 16:13:45Z -Runtime: nmmb_test 00:00:58 -- baseline 00:01:30 +03/06 16:13:45Z -Runtime: rap_test 00:00:40 -- baseline 00:02:00 +03/06 16:14:00Z -Runtime: hrrr_test 00:01:13 -- baseline 00:02:30 +03/06 16:14:00Z -Runtime: hafs_test 00:00:25 -- baseline 00:01:30 +03/06 16:14:00Z -Runtime: 3drtma_test 00:01:20 -- baseline 00:01:30 +03/06 16:14:00Z -Runtime: mpas_test 00:01:04 -- baseline 00:02:30 +03/06 16:14:30Z -Runtime: mpas_hfip_test 00:03:09 -- baseline 00:05:00 +03/06 16:14:31Z -Runtime: gcafs_test 00:01:12 -- baseline 00:02:30 +03/06 16:18:31Z -Runtime: rrfs_test 00:06:27 -- baseline 00:06:00 +03/06 16:18:31Z -Runtime: rrfs_ifi_missing 00:01:44 -- baseline 00:03:00 +03/06 16:18:31Z -Runtime: gfs_test 00:04:50 -- baseline 00:15:00 +Check tests: +['sfs', 'aqm', 'gefsv12', 'gefsv13', 'nmmb', 'rap', 'hrrr', 'hafs', '3drtma', 'mpas', 'mpas_hfip', 'gcafs', 'rrfs', 'rrfs_ifi_missing', 'gfs'] +No changes in test results detected. +===== End of UPP Regression Testing Log ===== diff --git a/tests/logs/rt.log.WCOSS2_intel b/tests/logs/rt.log.WCOSS2_intel new file mode 100644 index 0000000000..04b8942345 --- /dev/null +++ b/tests/logs/rt.log.WCOSS2_intel @@ -0,0 +1,65 @@ +===== Start of UPP Regression Testing Log ===== +UPP Hash Tested: +fd22301cf70b239e803b5baeadbc8fb5440c564b + +Submodule hashes: +-5afd607642ae0fd6a53b137230336386beb47ce6 sorc/libIFI.fd +-3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd + +Run directory: /lfs/h2/emc/ptmp/wen.meng/upp-WCOSS2 +Baseline directory: /lfs/h2/emc/vpppg/noscrub/wen.meng/test_suite + +Total runtime: 00h:16m:41s +Test Date: 20260306 14:36:19 +Summary Results: + +03/06 14:23:11Z -sfs test: your new post executable generates bit-identical sfs.t00z.master.grb2f048 as the develop branch +03/06 14:23:18Z -aqm test: your new post executable generates bit-identical CMAQ08.tm00 as the develop branch +03/06 14:23:32Z -gefsv12 test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch +03/06 14:23:52Z -hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch +03/06 14:24:12Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF06 as the develop branch +03/06 14:24:14Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF06 as the develop branch +03/06 14:24:20Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch +03/06 14:24:21Z -gefsv13 test: your new post executable generates bit-identical gefs.t00z.master.grb2f009 as the develop branch +03/06 14:24:21Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch +03/06 14:24:22Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch +03/06 14:24:40Z -mpas test: your new post executable generates bit-identical POSTNAT18.tm00 as the develop branch +03/06 14:24:42Z -mpas test: your new post executable generates bit-identical POSTPRS18.tm00 as the develop branch +03/06 14:24:43Z -mpas test: your new post executable generates bit-identical POSTTWO18.tm00 as the develop branch +03/06 14:25:11Z -3drtma test: your new post executable generates bit-identical WRFNAT.GrbF00 as the develop branch +03/06 14:25:12Z -3drtma test: your new post executable generates bit-identical WRFTWO.GrbF00 as the develop branch +03/06 14:25:14Z -3drtma test: your new post executable generates bit-identical WRFPRS.GrbF00 as the develop branch +03/06 14:25:36Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF10 as the develop branch +03/06 14:25:38Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF10 as the develop branch +03/06 14:25:42Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF10 as the develop branch +03/06 14:26:52Z -gcafs test: your new post executable generates bit-identical GFSPRS.GrbF60 as the develop branch +03/06 14:26:54Z -gcafs test: your new post executable generates bit-identical GFSFLX.GrbF60 as the develop branch +03/06 14:27:01Z -mpas_hfip test: your new post executable generates bit-identical NATLEV.GrbF48 as the develop branch +03/06 14:27:06Z -mpas_hfip test: your new post executable generates bit-identical PRSLEV.GrbF48 as the develop branch +03/06 14:27:08Z -mpas_hfip test: your new post executable generates bit-identical 2DFLD.GrbF48 as the develop branch +03/06 14:28:10Z -rrfs_ifi_missing test: your new post executable generates bit-identical IFIFIP18.tm00 as the develop branch +03/06 14:33:48Z -gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch +03/06 14:33:50Z -gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch +03/06 14:33:51Z -gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch +03/06 14:35:10Z -rrfs test: your new post executable generates bit-identical PRSLEV18.tm00 as the develop branch +03/06 14:35:26Z -rrfs test: your new post executable generates bit-identical NATLEV18.tm00 as the develop branch +03/06 14:35:33Z -rrfs test: your new post executable generates bit-identical 2DFLD18.tm00 as the develop branch +03/06 14:23:26Z -Runtime: sfs_test 00:00:43 -- baseline 00:00:50 +03/06 14:23:46Z -Runtime: aqm_test 00:00:54 -- baseline 00:01:00 +03/06 14:23:51Z -Runtime: gefsv12_test 00:01:08 -- baseline 00:01:20 +03/06 14:24:44Z -Runtime: gefsv13_test 00:01:56 -- baseline 00:02:00 +03/06 14:24:48Z -Runtime: nmmb_test 00:01:57 -- baseline 00:02:20 +03/06 14:24:52Z -Runtime: rap_test 00:01:49 -- baseline 00:02:00 +03/06 14:26:04Z -Runtime: hrrr_test 00:03:19 -- baseline 00:03:40 +03/06 14:26:08Z -Runtime: hafs_test 00:01:28 -- baseline 00:02:00 +03/06 14:26:13Z -Runtime: 3drtma_test 00:02:52 -- baseline 00:03:00 +03/06 14:26:17Z -Runtime: mpas_test 00:02:20 -- baseline 00:02:40 +03/06 14:27:26Z -Runtime: mpas_hfip.test 00:04:45 -- baseline 00:05:00 +03/06 14:27:30Z -Runtime: gcafs_test 00:04:31 -- baseline 00:05:30 +03/06 14:36:09Z -Runtime: rrfs_test 00:13:14 -- baseline 00:10:00 +03/06 14:36:14Z -Runtime: rrfs_ifi_mis 00:05:45 -- baseline 00:08:00 +03/06 14:36:18Z -Runtime: gfs_test 00:11:29 -- baseline 00:15:00 +Check tests: +['sfs', 'aqm', 'gefsv12', 'gefsv13', 'nmmb', 'rap', 'hrrr', 'hafs', '3drtma', 'mpas', 'mpas_hfip', 'gcafs', 'rrfs', 'rrfs_ifi_missing', 'gfs'] +No changes in test results detected. +===== End of UPP Regression Testing Log ===== diff --git a/unit_tests/CMakeLists.txt b/unit_tests/CMakeLists.txt new file mode 100644 index 0000000000..9cd9895425 --- /dev/null +++ b/unit_tests/CMakeLists.txt @@ -0,0 +1,45 @@ +# This is the cmake build file for the tests directory of the UPP project. +# +# Alyson Stahl, 10/2025 + +message(STATUS "Building test directory...") + +# This function builds, links, and runs a Fortran test program. +function(create_test name) + add_executable(${name} ${name}.f90) + target_link_libraries(${name} PRIVATE upp::upp) + set_target_properties(${name} PROPERTIES LINKER_LANGUAGE Fortran) + add_test(NAME ${name} COMMAND ${name}) +endfunction() + +create_test(test_dewpoint) +create_test(test_bound) +create_test(test_caldrg) +create_test(test_calstrm) +create_test(test_callcl) +create_test(test_calpot) +create_test(test_calvis) +create_test(test_calvis_gsd) +create_test(test_calwxt_dominant) +create_test(test_calthte) +create_test(test_calvessel) +create_test(test_calwxt_explicit) +create_test(test_ttblex) +create_test(test_wetfrzlvl) +create_test(test_zensun) +create_test(test_geo_zenith_angle) +create_test(test_icaoheight) +create_test(test_gpvs) +create_test(test_etamp_q2f) +create_test(test_etcalc) +create_test(test_fgamma) +create_test(test_canres) +create_test(test_clmax) +create_test(test_cldfrac_zhao) +create_test(test_para_range) +create_test(test_poleavg) +create_test(test_smooth) +create_test(test_sclfld) +create_test(test_spline) +create_test(test_snfrac) +create_test(test_snfrac_gfs) diff --git a/unit_tests/test_bound.f90 b/unit_tests/test_bound.f90 new file mode 100644 index 0000000000..ed41f875ad --- /dev/null +++ b/unit_tests/test_bound.f90 @@ -0,0 +1,51 @@ +! This is a test program for UPP. +! +! This program tests the BOUND() subroutine. +! +! Alyson Stahl, 11/2025 +program test_bound + use ctlblk_mod, only: jsta, jend, spval, ista, iend, im, jm + implicit none + + integer, parameter :: npts = 3 + real, parameter :: FMIN = 10.0, FMAX = 20.0 + integer :: i, j, res + real :: FLD(1:npts, 1:npts), EXPECTED_FLD(1:npts, 1:npts) + + interface + subroutine BOUND(FLD, FMIN, FMAX) + use ctlblk_mod, only: im, jm + real, intent(in) :: FMAX, FMIN + real, intent(inout) :: FLD(IM,JM) + end subroutine BOUND + end interface + + im = npts + jm = npts + ista = 1 + iend = npts + jsta = 1 + jend = npts + spval = -9999.0 + + ! FLD contains values below FMIN, above FMAX, within range, and spval + FLD = reshape([spval, 5.0, 15.0, 25.0, spval, 10.0, 20.0, 30.0, spval], [im, jm]) + EXPECTED_FLD = reshape([spval, FMIN, 15.0, FMAX, spval, FMIN, FMAX, FMAX, spval], [im, jm]) + + print *, "Testing BOUND subroutine..." + call BOUND(FLD, FMIN, FMAX) + + res = 0 + do i = 1, npts + do j = 1, npts + if (FLD(i,j) /= EXPECTED_FLD(i,j)) then + print *, 'FAIL: FLD(',i,',',j,') = ', FLD(i,j), ' expected ', EXPECTED_FLD(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, "SUCCESS!" +end program test_bound diff --git a/unit_tests/test_caldrg.f90 b/unit_tests/test_caldrg.f90 new file mode 100644 index 0000000000..e03e2cb3a6 --- /dev/null +++ b/unit_tests/test_caldrg.f90 @@ -0,0 +1,198 @@ +! This is a test program for UPP. +! +! This program tests the CALDRG() subroutine. +! +! Alyson Stahl, 11/2025 +program test_caldrg + use vrbls3d, only: uh, vh + use vrbls2d, only: uz0, vz0, ustar, u10, v10 + use masks, only: lmh + use ctlblk_mod, only: jsta, jend, jsta_m, jend_m, modelname, spval, im, jm, & + jsta_2l, jend_2u, ista, iend, ista_m, iend_m, ista_2l, iend_2u + use gridspec_mod, only: gridtype + implicit none + + real, parameter :: tol = 1.0e-6 + integer, parameter :: npts = 5 + integer, parameter :: nlevs = 60 ! arbitrarily larger than lmh for buffer + integer :: i, j, res + real :: DRAGCO(1:npts, 1:npts) + + ! Expected results for comparison + real :: EXP_DRAGCO_A(1:npts, 1:npts), EXP_DRAGCO_E(1:npts, 1:npts), EXP_DRAGCO_B(1:npts, 1:npts), & + EXP_DRAGCO_B_NMM(1:npts, 1:npts), EXP_DRAGCO_INVALID(1:npts, 1:npts) + + interface + subroutine CALDRG(DRAGCO) + use ctlblk_mod, only: jsta_2l, jend_2u, ista_2l, iend_2u + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(inout) :: DRAGCO + end subroutine CALDRG + end interface + + ! Grid dimensions and bounds + im = npts + jm = npts + ista = 1 + iend = npts + jsta = 1 + jend = npts + ista_2l = 1 + iend_2u = npts + jsta_2l = 1 + jend_2u = npts + ista_m = 2 + iend_m = 4 + jsta_m = 2 + jend_m = 4 + + spval = -9999.0 + + modelname = 'GFS' + + ! Initialize expected results + EXP_DRAGCO_A = reshape((/ 0.0000000000000, 0.0002941176471, 0.0002941176471, 0.0002941176471, 0.0002941176471, & + 0.0002941176471, 0.0011764705882, 0.0073529411765, 0.0188235294118, 0.0002941176471, & + 0.0002941176471, 0.0026470588235, 0.0105882352941, 0.0238235294118, 0.0002941176471, & + 0.0002941176471, 0.0047058823529, 0.0144117647059, 0.0294117647059, 0.0002941176471, & + 0.0002941176471, 0.0002941176471, 0.0002941176471, 0.0002941176471, 0.0002941176471 /), (/npts,npts/)) + EXP_DRAGCO_E = reshape((/ 0.0, 0.0, 0.0, 0.0, 0.0, & + 0.0, 0.0007920792079, 0.0049504950495, 0.0126732673267, 0.0, & + 0.0, 0.0017821782178, 0.0071287128713, 0.0160396039604, 0.0, & + 0.0, 0.0031683168317, 0.0097029702970, 0.0198019801980, 0.0, & + 0.0, 0.0, 0.0, 0.0, 0.0 /), (/npts,npts/)) + EXP_DRAGCO_B = reshape((/ 0.0, 0.0, 0.0, 0.0, 0.0, & + 0.0, 0.0007920792079, 0.0049504950495, 0.0126732673267, 0.0, & + 0.0, 0.0017821782178, 0.0071287128713, 0.0160396039604, 0.0, & + 0.0, 0.0031683168317, 0.0097029702970, 0.0198019801980, 0.0, & + 0.0, 0.0, 0.0, 0.0, 0.0 /), (/npts,npts/)) + EXP_DRAGCO_B_NMM = RESHAPE((/ 0.0, 0.0, 0.0, 0.0, 0.0, & + 0.0, 0.0007920792079, 0.0049504950495, 0.0126732673267, 0.0, & + 0.0, 0.0017821782178, 0.0071287128713, 0.0160396039604, 0.0, & + 0.0, 0.0031683168317, 0.0097029702970, 0.0198019801980, 0.0, & + 0.0, 0.0, 0.0, 0.0, 0.0 /), (/npts,npts/)) + EXP_DRAGCO_INVALID = spval + + ! Allocate arrays with full grid dimensions + allocate(ustar(ista_2l:iend_2u, jsta_2l:jend_2u)) + allocate(u10(ista_2l:iend_2u, jsta_2l:jend_2u)) + allocate(v10(ista_2l:iend_2u, jsta_2l:jend_2u)) + allocate(lmh(ista_2l:iend_2u, jsta_2l:jend_2u)) + allocate(uh(ista_2l:iend_2u, jsta_2l:jend_2u, 1:nlevs)) + allocate(vh(ista_2l:iend_2u, jsta_2l:jend_2u, 1:nlevs)) + allocate(uz0(ista_2l:iend_2u, jsta_2l:jend_2u)) + allocate(vz0(ista_2l:iend_2u, jsta_2l:jend_2u)) + + lmh = 40.0 ! Model levels + + !ustar = reshape([0.3, 0.2, spval, 0.5, 0.4, 0.3, 0.1, 0.6, 0.7], [npts,npts]) + + ustar = 0.1 + ustar(2,2) = 0.2 + ustar(2,3) = 0.3 + ustar(2,4) = 0.4 + ustar(3,2) = 0.5 + ustar(3,3) = 0.6 + ustar(3,4) = 0.7 + ustar(4,2) = 0.8 + ustar(4,3) = 0.9 + ustar(4,4) = 1.0 + ustar(1,1) = spval + + uh = 8.0 + vh = 6.0 + u10 = 5.0 + v10 = 3.0 + uz0 = 3.0 + vz0 = 3.0 + + print *, "Testing CALDRG subroutine..." + print *, "Testing with gridtype = 'A'." + + gridtype = 'A' + call CALDRG(DRAGCO) + + ! Compare results for gridtype 'A' + res = 0 + do j = jsta, jend + do i = ista, iend + if (abs(DRAGCO(i,j) - EXP_DRAGCO_A(i,j)) > tol) then + print *, "Mismatch at (", i, ",", j, "): ", DRAGCO(i,j), " vs ", EXP_DRAGCO_A(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, "Testing with gridtype = 'E'." + gridtype = 'E' + call CALDRG(DRAGCO) + + ! Compare results for gridtype 'E' + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(DRAGCO(i,j) - EXP_DRAGCO_E(i,j)) > tol) then + print *, "Mismatch at (", i, ",", j, "): ", DRAGCO(i,j), " vs ", EXP_DRAGCO_E(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 20 + + print *, "Testing with gridtype = 'B'." + + gridtype = 'B' + call CALDRG(DRAGCO) + + ! Compare results for gridtype 'B' + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(DRAGCO(i,j) - EXP_DRAGCO_B(i,j)) > tol) then + print *, "Mismatch at (", i, ",", j, "): ", DRAGCO(i,j), " vs ", EXP_DRAGCO_B(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 30 + + print *, "Testing with gridtype = 'B' and modelname = 'NMM'." + + modelname = 'NMM' + call CALDRG(DRAGCO) + + ! Compare results for gridtype 'B' with NMM model + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(DRAGCO(i,j) - EXP_DRAGCO_B_NMM(i,j)) > tol) then + print *, "Mismatch at (", i, ",", j, "): ", DRAGCO(i,j), " vs ", EXP_DRAGCO_B_NMM(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 40 + + print *, "Testing with invalid grid type. Expect DRAGCO = spval." + gridtype = 'X' + call CALDRG(DRAGCO) + + ! Compare results for invalid grid type + res = 0 + do i = 1, npts + do j = 1, npts + if (DRAGCO(i,j) /= EXP_DRAGCO_INVALID(i,j)) then + print *, "Mismatch at (", i, ",", j, "): ", DRAGCO(i,j), " vs ", EXP_DRAGCO_INVALID(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 50 + + print *, "SUCCESS!" +end program test_caldrg diff --git a/unit_tests/test_callcl.f90 b/unit_tests/test_callcl.f90 new file mode 100644 index 0000000000..b6cfdfcf65 --- /dev/null +++ b/unit_tests/test_callcl.f90 @@ -0,0 +1,121 @@ +! This is a test program for UPP. +! +! This program tests the CALLCL() subroutine. +! +! Alyson Stahl, 12/2025 +program test_callcl + use vrbls3d, only: alpint, zint + use vrbls2d, only: fis + use masks, only: lmh + use params_mod, only: eps, oneps, d01, h1m12, gi, d00 + use ctlblk_mod, only: jsta, jend, spval, jsta_m, jend_m, im, & + ista, iend, ista_m, iend_m + implicit none + + real, parameter :: tol = 1.0e-6 + ! From CALLCL.f + real, parameter :: D35=3.5, D4805=4.805, H2840=2840., H55=55., D2845=0.2845, D28=0.28 + ! Used to initialize inputs + real, parameter :: zsfc = 10.0, dz = 200.0, Hscale = 8000.0 + integer, parameter :: npts = 2, nlevs = 60 + ! Used to calculate expected results + real :: evp, rmx, rkapa, tlcl, dlplcl, dalp + integer :: i, j, k, res + real :: P1D(1:npts,1:npts), T1D(1:npts,1:npts), Q1D(1:npts,1:npts) + real :: PLCL(1:npts,1:npts), ZLCL(1:npts,1:npts) + real :: EXP_PLCL(1:npts,1:npts), EXP_ZLCL(1:npts,1:npts) + + interface + subroutine CALLCL(P1D, T1D, Q1D, PLCL, ZLCL) + use ctlblk_mod, only: jsta, jend, ista, iend + real, dimension(ista:iend,jsta:jend), intent(in) :: P1D, T1D, Q1D + real, dimension(ista:iend,jsta:jend), intent(inout) :: PLCL, ZLCL + end subroutine CALLCL + end interface + + ! Grid parameters + jsta = 1 + jend = npts + ista = 1 + iend = npts + im = npts + jsta_m = 1 + jend_m = npts + ista_m = 1 + iend_m = npts + + spval = 9.9e10 + + ! Allocate arrays + allocate(alpint(1:npts,1:npts,1:nlevs)) + allocate(zint(1:npts,1:npts,1:nlevs)) + allocate(fis(1:npts,1:npts)) + allocate(lmh(1:npts,1:npts)) + + ! CALLCL() uses lmh to determine the number of levels + ! Set to nlevs - 1 since loop accesses lmh(i,j) + 1 + lmh = nlevs - 1 + + fis = zsfc/gi ! Set surface geopotential consistent with ~10 m AGL + P1D = 100000.0 ! 1000 hPa surface parcel pressure (Pa) + T1D = 300.0 ! 300 K surface parcel temperature + Q1D = 0.012 ! 12 g/kg specific humidity (kg/kg) + + do k = 1, nlevs + zint(:,:,k) = zsfc + (k-1)*dz + alpint(:,:,k) = LOG(100000.0) - zint(:,:,k)/Hscale + end do + + evp = 100000.0 * 0.012 / (eps + 0.012 * oneps) + rmx = eps * evp / (100000.0 - evp) + rkapa = 1.0 / (D2845 * (1.0 - D28 * rmx)) + tlcl = H55 + H2840 / (D35*LOG(300.0)-LOG(evp * D01)-D4805) + EXP_PLCL = 100000.0 * (tlcl/300.0)**rkapa + + dlplcl = LOG(EXP_PLCL(1,1)) - alpint(1,1,nlevs) + dalp = alpint(1,1,nlevs-1) - alpint(1,1,nlevs) + EXP_ZLCL = zint(1,1,nlevs) - dz*dlplcl/dalp - zsfc + + ! Test Case: Input value missing, outputs all set to spval + P1D(2,1) = spval + EXP_PLCL(2,1) = spval + EXP_ZLCL(2,1) = spval + + ! Test Case: EVP * D01 > H1M12, clips log argument in PLCL calculation + Q1D(1,2) = 1.0e-20 + + evp = 100000.0 * 1.0e-20 / (eps + 1.0e-20 * oneps) + rmx = eps * evp / (100000.0 - evp) + rkapa = 1.0 / (D2845 * (1.0 - D28 * rmx)) + tlcl = H55 + H2840 / (D35*LOG(300.0)-LOG(H1M12)-D4805) + EXP_PLCL(1,2) = 100000.0 * (tlcl/300.0)**rkapa + EXP_ZLCL(1,2) = spval + + ! Test Case: ZLCL below surface, clips to 0 m + fis(2,2) = 5000.0/gi + EXP_ZLCL(2,2) = 0.0 + + call CALLCL(P1D, T1D, Q1D, PLCL, ZLCL) + + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(PLCL(i,j) - EXP_PLCL(i,j)) > tol) then + print *, 'PLCL Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_PLCL(i,j), & + ' but got ', PLCL(i,j) + res = 1 + end if + if (abs(ZLCL(i,j) - EXP_ZLCL(i,j)) > tol) then + print *, 'ZLCL Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_ZLCL(i,j), & + ' but got ', ZLCL(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, 'SUCCESS!' +end program test_callcl \ No newline at end of file diff --git a/unit_tests/test_calpot.f90 b/unit_tests/test_calpot.f90 new file mode 100644 index 0000000000..656a721268 --- /dev/null +++ b/unit_tests/test_calpot.f90 @@ -0,0 +1,53 @@ +! This is a test program for UPP. +! +! This program tests the CALPOT() subroutine. +! +! Alyson Stahl, 12/2025 +program test_calpot + use ctlblk_mod, only: jsta, jend, spval, im, ista, iend + implicit none + + real, parameter :: tol = 1.0e-6 + integer, parameter :: npts = 2 + integer :: i, j, res + real :: P1D(1:npts,1:npts), T1D(1:npts,1:npts) + real :: THETA(1:npts,1:npts), EXP_THETA(1:npts,1:npts) + + interface + subroutine CALPOT(P1D, T1D, THETA) + use ctlblk_mod, only: jsta, jend, ista, iend + real, dimension(ista:iend,jsta:jend), intent(in) :: P1D, T1D + real, dimension(ista:iend,jsta:jend), intent(inout) :: THETA + end subroutine CALPOT + end interface + + ! Grid parameters + jsta = 1 + jend = npts + ista = 1 + iend = npts + im = npts + spval = 9999.0 + + P1D = reshape([100000.0, 1.0, 99500.0, 99500.0], [npts, npts]) + T1D = reshape([275.0, 275.0, 300.0, spval], [npts, npts]) + EXP_THETA = reshape([275.0, 0.0, 300.4302368, spval], [npts, npts]) + + call CALPOT(P1D, T1D, THETA) + + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(THETA(i,j) - EXP_THETA(i,j)) > tol) then + print *, 'Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_THETA(i,j), & + ' but got ', THETA(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, 'SUCCESS!' +end program test_calpot \ No newline at end of file diff --git a/unit_tests/test_calstrm.f90 b/unit_tests/test_calstrm.f90 new file mode 100644 index 0000000000..15d71648d7 --- /dev/null +++ b/unit_tests/test_calstrm.f90 @@ -0,0 +1,54 @@ +! This is a test program for UPP. +! +! This program tests the CALSTRM() subroutine. +! +! Alyson Stahl, 12/2025 +program test_calstrm + use ctlblk_mod, only: jsta, jend, im, ista, iend + implicit none + + real, parameter :: tol = 1.0e-6 + integer, parameter :: npts = 2 + integer :: i, j, res + real :: Z1D(1:npts,1:npts), STRM(1:npts,1:npts) + real :: EXP_STRM(1:npts,1:npts) + + interface + subroutine CALSTRM(Z1D, STRM) + use ctlblk_mod, only: jsta, jend, ista, iend + real, dimension(ista:iend,jsta:jend), intent(in) :: Z1D + real, dimension(ista:iend,jsta:jend), intent(inout) :: STRM + end subroutine CALSTRM + end interface + ! Grid parameters + ista = 1 + iend = npts + jsta = 1 + jend = npts + im = 4 + + Z1D(1,1) = 500.0 ! Normal height test + Z1D(1,2) = 1000.0 ! Another level + Z1D(2,1) = -500.0 ! Negative height test + Z1D(2,2) = 0.0 ! Zero height test + STRM = 0.0 + EXP_STRM = reshape([5.24657E7, -5.24657E7, 1.049314E8, 0.0], [npts, npts]) + + call CALSTRM(Z1D, STRM) + + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(STRM(i,j) - EXP_STRM(i,j)) > tol) then + print *, 'Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_STRM(i,j), & + ' but got ', STRM(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, 'SUCCESS!' +end program test_calstrm \ No newline at end of file diff --git a/unit_tests/test_calthte.f90 b/unit_tests/test_calthte.f90 new file mode 100644 index 0000000000..d6611b5812 --- /dev/null +++ b/unit_tests/test_calthte.f90 @@ -0,0 +1,54 @@ +! This is a test program for UPP. +! +! This program tests the CALTHTE() subroutine. +! +! Alyson Stahl, 12/2025 +program test_calthte + use ctlblk_mod, only: jsta, jend, im, spval, ista, iend + implicit none + + real, parameter :: tol = 1.0e-6 + integer, parameter :: npts = 2 + integer :: i, j, res + real, dimension(1:npts,1:npts) :: P1D, T1D, Q1D + real, dimension(1:npts,1:npts) :: THTE, EXP_THTE + + interface + subroutine CALTHTE(P1D, T1D, Q1D, THTE) + use ctlblk_mod, only: jsta, jend, ista, iend + real, dimension(ista:iend,jsta:jend), intent(in) :: P1D, T1D, Q1D + real, dimension(ista:iend,jsta:jend), intent(out) :: THTE + end subroutine CALTHTE + end interface + ! Grid parameters + jsta = 1 + jend = npts + im = npts + ista = 1 + iend = npts + + spval = 9.9e10 + + P1D = reshape([100000.0, spval, 99500.0, 99000.0], [npts, npts]) + T1D = reshape([292.0, 293.0, 293.0, 294.0], [npts, npts]) + Q1D = reshape([0.01, 0.011, 0.011, 0.012], [npts, npts]) + EXP_THTE = reshape([320.884246826171875, 0.0, 325.338592529296875, 329.84857177734375], [npts, npts]) + + call CALTHTE(P1D, T1D, Q1D, THTE) + + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(THTE(i,j) - EXP_THTE(i,j)) > tol) then + print *, 'THTE Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_THTE(i,j), & + ' but got ', THTE(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, 'SUCCESS!' +end program test_calthte \ No newline at end of file diff --git a/unit_tests/test_calvessel.f90 b/unit_tests/test_calvessel.f90 new file mode 100644 index 0000000000..3d128f45cd --- /dev/null +++ b/unit_tests/test_calvessel.f90 @@ -0,0 +1,100 @@ +! This is a test program for UPP. +! +! This program tests the CALVESSEL() subroutine. +! +! Alyson Stahl, 12/2025 +program test_calvessel + use vrbls2d, only: sst, u10h, v10h, tshltr, pshltr + use masks, only: sm, sice + use ctlblk_mod, only: jsta, jend, im, spval, ista, iend + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: npts = 3 + integer :: i, j, res + real, dimension(1:npts,1:npts) :: ICEG, EXP_ICEG + + interface + subroutine CALVESSEL(ICEG) + use ctlblk_mod, only: jsta, jend, ista, iend + real, dimension(ista:iend,jsta:jend), intent(out) :: ICEG + end subroutine CALVESSEL + end interface + ! Grid parameters + jsta = 1 + jend = npts + im = npts + ista = 1 + iend = npts + + spval = 9.9e10 + + allocate(sm(1:npts,1:npts)) + allocate(sice(1:npts,1:npts)) + allocate(sst(1:npts,1:npts)) + allocate(u10h(1:npts,1:npts)) + allocate(v10h(1:npts,1:npts)) + allocate(tshltr(1:npts,1:npts)) + allocate(pshltr(1:npts,1:npts)) + + sice = 0.0 + sm = 1.0 + ! Test Case: Fail mask check + sm(1,1) = 0.5 + + sst = 280.0 + ! Test Case: sst > 285.15 K + sst(1,2) = 286.0 + + u10h = 20.0 + v10h = 30.0 + + ! Test Case: SQRT(U10H(I,J)**2+V10H(I,J)**2) > 50.0 + u10h(1,3) = 50.0 + v10h(1,3) = 60.0 + + pshltr = 1.1e5 + tshltr = 264 + ! Test Case: Shelter level temp > 273.15 K + tshltr(2,1) = 273.15 + + ! Test Case: ICEG goes below 0 + tshltr(2,2) = 265.0 + + ! Some more values for variety + u10h(2,3) = 10.0 + v10h(2,3) = 15.0 + + pshltr(3,1) = 1.05e5 + + EXP_ICEG = reshape([0.0, 0.0, 0.43042678044002968818E-05, & + 0.0, 0.0, 0.12278148631139629288E-06, & + 0.0, 0.60870952722780202748E-07, 0.12278148631139629288E-06], & + [npts, npts]) + + call CALVESSEL(ICEG) + + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(ICEG(i,j) - EXP_ICEG(i,j)) > tol) then + print *, 'ICEG Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_ICEG(i,j), & + ' but got ', ICEG(i,j) + res = 1 + end if + end do + end do + + deallocate(sm) + deallocate(sice) + deallocate(sst) + deallocate(u10h) + deallocate(v10h) + deallocate(tshltr) + deallocate(pshltr) + + if (res .ne. 0) stop 10 + + print *, 'SUCCESS!' +end program test_calvessel \ No newline at end of file diff --git a/unit_tests/test_calvis.f90 b/unit_tests/test_calvis.f90 new file mode 100644 index 0000000000..c8cca5e1c9 --- /dev/null +++ b/unit_tests/test_calvis.f90 @@ -0,0 +1,84 @@ +! This is a test program for UPP. +! +! This program tests the CALVIS() subroutine. +! +! Alyson Stahl, 12/2025 +program test_calvis + use ctlblk_mod, only: jsta, jend, jsta_2l, jend_2u, spval, & + ista, iend, ista_2l, iend_2u + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: npts = 3 + integer :: i, j, res + real, dimension(1:npts,1:npts) :: QV,QC,QR,QI,QS,TT,PP + real, dimension(1:npts,1:npts) :: VIS, EXP_VIS + + interface + subroutine CALVIS(QV, QC, QR, QI, QS, TT, PP, VIS) + use ctlblk_mod, only: jsta, jend, jsta_2l, jend_2u, & + ista, iend, ista_2l, iend_2u + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(in) :: & + QV, QC, QR, QI, QS, TT, PP + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(inout) :: VIS + end subroutine CALVIS + end interface + + ! Grid parameters + jsta = 1 + jend = npts + jsta_2l = jsta + jend_2u = jend + ista = 1 + iend = npts + ista_2l = ista + iend_2u = iend + spval = 9.9e10 + + ! Test case where CONST1/BETAV < 24.135 + QV = 0.01 ! water vapor mixing ratio (kg/kg) + QC = 1.0e-3 ! cloud water mixing ratio (kg/kg) + QR = 0.0 ! rain water mixing ratio (kg/kg) + QI = 0.0 ! cloud ice mixing ratio (kg/kg) + QS = 0.0 ! snow mixing ratio (kg/kg) + TT = 280.0 ! temperature (K) + PP = 101325.0 ! pressure (Pa) + + ! Set some array values to spval to test the handling of spval + QV(1,1) = spval + QC(2,1) = spval + QR(3,1) = spval + QI(1,2) = spval + QS(2,2) = spval + TT(3,2) = spval + PP(1,3) = spval + + ! Test case where CONST1/BETAV > 24.135 + QV(2,3) = 0.005 + QC(2,3) = 0.0 + QR(2,3) = 0.0 + QI(2,3) = 0.0 + QS(2,3) = 0.0 + TT(2,3) = 280.0 + PP(2,3) = 101325.0 + + EXP_VIS = reshape([spval, spval, spval, spval, spval, spval, spval, 24135.0, 22.361997604], [npts, npts]) + + call CALVIS(QV, QC, QR, QI, QS, TT, PP, VIS) + + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(VIS(i,j) - EXP_VIS(i,j)) > tol) then + print *, 'VIS Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_VIS(i,j), & + ' but got ', VIS(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, 'SUCCESS!' +end program test_calvis \ No newline at end of file diff --git a/unit_tests/test_calvis_gsd.f90 b/unit_tests/test_calvis_gsd.f90 new file mode 100644 index 0000000000..1a1ef6f810 --- /dev/null +++ b/unit_tests/test_calvis_gsd.f90 @@ -0,0 +1,188 @@ +! This is a test program for UPP. +! +! This program tests the CALVIS_GSD() subroutine. +! +! Alyson Stahl, 12/2025 +program test_calvis_gsd + use vrbls2d, only: sno, si, ustar, z0 + use vrbls3d, only: qqw, qqi, qqs, qqr, qqg, t, pmid, q, u, v, aextc55 + use ctlblk_mod, only: jm, im, jsta_2l, jend_2u, lm, modelname, spval, method_blsn, & + ista_2l, iend_2u + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: npts = 4, nlevs = 5 + integer :: i, j, k, res + real, dimension(1:npts,1:npts) :: CZEN, VIS, EXP_VIS + + interface + subroutine CALVIS_GSD(CZEN, VIS) + use ctlblk_mod, only: jsta, jend, jsta_2l, jend_2u, & + ista, iend, ista_2l, iend_2u + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(in) :: CZEN + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(out) :: VIS + end subroutine CALVIS_GSD + end interface + + ! Grid parameters + jm = npts + im = npts + jsta_2l = 1 + jend_2u = npts + ista_2l = 1 + iend_2u = npts + lm = nlevs + + spval = 9.9e10 + modelname = 'GFS' + method_blsn = .true. + + allocate(sno(1:npts,1:npts)) + allocate(si(1:npts,1:npts)) + allocate(ustar(1:npts,1:npts)) + allocate(z0(1:npts,1:npts)) + allocate(qqw(1:npts,1:npts,1:nlevs)) + allocate(qqi(1:npts,1:npts,1:nlevs)) + allocate(qqs(1:npts,1:npts,1:nlevs)) + allocate(qqr(1:npts,1:npts,1:nlevs)) + allocate(qqg(1:npts,1:npts,1:nlevs)) + allocate(t(1:npts,1:npts,1:nlevs)) + allocate(pmid(1:npts,1:npts,1:nlevs)) + allocate(q(1:npts,1:npts,1:nlevs)) + allocate(u(1:npts,1:npts,1:nlevs)) + allocate(v(1:npts,1:npts,1:nlevs)) + allocate(aextc55(1:npts,1:npts,1:nlevs)) + + ! Initialize arrays with realistic base values + sno = 0.05 ! m SWE + si = 50.0 ! mm snow depth + ustar = 0.30 ! m s^-1 + z0 = 0.10 ! m, roughness length + + do k = 1, nlevs + qqw(:,:,k) = 2.0e-5 ! kg/kg cloud water + qqi(:,:,k) = 2.0e-5 ! kg/kg ice + qqs(:,:,k) = 2.0e-5 ! kg/kg snow + qqr(:,:,k) = 1.0e-5 ! kg/kg rain + qqg(:,:,k) = 1.0e-5 ! kg/kg graupel + + t(:,:,k) = 270.0 ! K + pmid(:,:,k) = 100000.0 - 2000.0*real(k-1) ! Pa + q(:,:,k) = 0.004 ! kg/kg specific humidity + + u(:,:,k) = 2.0 + 1.0*real(k-1) ! m/s, increasing with height + v(:,:,k) = 1.0 + 0.5*real(k-1) ! m/s, increasing with height + + aextc55(:,:,k) = 1.0e-4 ! m^-1 aerosol extinction + end do + + CZEN = 0.5 ! daytime default + + ! (1,1): Clear-air case, no hydrometeors or aerosols; low humidity for large vis + do k = 1, 3 + qqw(1,1,k) = 0.0; qqi(1,1,k) = 0.0; qqs(1,1,k) = 0.0 + qqr(1,1,k) = 0.0; qqg(1,1,k) = 0.0 + aextc55(1,1,k) = 0.0 + end do + q(1,1,1) = 0.001 + CZEN(1,1) = 0.5 + z0(1,1) = 0.10 + + ! (1,2): Heavy dry snow + graupel at night; strong ustar to trigger BLSN + do k = 1, 3 + qqs(1,2,k) = 3.0e-4 + qqg(1,2,k) = 2.0e-4 + qqw(1,2,k) = 1.0e-5 + qqi(1,2,k) = 1.0e-5 + qqr(1,2,k) = 0.0 + t(1,2,k) = 260.0 + end do + ustar(1,2) = 0.60 + sno(1,2) = 0.20 + CZEN(1,2) = 0.05 ! night/low sun + + ! (1,3): Wet snow near freezing; forest (z0>0.7) disables BLSN even if enabled + do k = 1, 3 + qqs(1,3,k) = 4.0e-4 + qqr(1,3,k) = 5.0e-5 + t(1,3,k) = 273.5 + end do + z0(1,3) = 1.0 + ustar(1,3) = 0.70 + CZEN(1,3) = 0.30 + + ! (2,1): Aerosol-only attenuation (hydrometeors zero, elevated aerosols) + do k = 1, 3 + qqw(2,1,k) = 0.0; qqi(2,1,k) = 0.0; qqs(2,1,k) = 0.0 + qqr(2,1,k) = 0.0; qqg(2,1,k) = 0.0 + aextc55(2,1,k) = 5.0e-4 + end do + q(2,1,1) = 0.0035 + CZEN(2,1) = 0.60 + + ! (2,2): Strong low-level shear between levels 1 and 4 + u(2,2,1) = 0.0; v(2,2,1) = 0.0 + u(2,2,4) = 12.0; v(2,2,4) = 8.0 + CZEN(2,2) = 0.20 + + ! (2,3): High RH clear-air (warm and moist), hydrometeors zero, no aerosols + do k = 1, 2 + qqw(2,3,k) = 0.0; qqi(2,3,k) = 0.0; qqs(2,3,k) = 0.0 + qqr(2,3,k) = 0.0; qqg(2,3,k) = 0.0 + t(2,3,k) = 285.0 + aextc55(2,3,k) = 0.0 + q(2,3,k) = 0.018 + end do + CZEN(2,3) = 0.50 + + ! (3,1): Very low sun angle (night-like) + CZEN(3,1) = 0.001 + + ! Set some array values to spval to test the handling of spval + t(4,1,lm) = spval + u(4,2,lm) = spval + v(4,3,lm) = spval + pmid(4,4,lm) = spval + + EXP_VIS = reshape([ & + 204.72335815, 204.72335815, 459.18145752, spval, & + 147.99403381, 204.72335815, 204.72335815, spval, & + 163.81585693, 204.72335815, 204.72335815, spval, & + 204.72335815, 204.72335815, 204.72335815, spval & + ], [npts, npts]) + + call CALVIS_GSD(CZEN, VIS) + + ! Deallocate all allocated arrays + deallocate(sno) + deallocate(si) + deallocate(ustar) + deallocate(z0) + deallocate(qqw) + deallocate(qqi) + deallocate(qqs) + deallocate(qqr) + deallocate(qqg) + deallocate(t) + deallocate(pmid) + deallocate(q) + deallocate(u) + deallocate(v) + deallocate(aextc55) + + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(VIS(i,j) - EXP_VIS(i,j)) > tol) then + print *, 'VIS Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_VIS(i,j), & + ' but got ', VIS(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, 'SUCCESS!' +end program test_calvis_gsd \ No newline at end of file diff --git a/unit_tests/test_calwxt_dominant.f90 b/unit_tests/test_calwxt_dominant.f90 new file mode 100644 index 0000000000..88f99e07bf --- /dev/null +++ b/unit_tests/test_calwxt_dominant.f90 @@ -0,0 +1,154 @@ +! This is a test program for UPP. +! +! This program tests the CALWXT_DOMINANT_POST() subroutine. +! +! Alyson Stahl, 12/2025 +program test_calwxt_dominant + use ctlblk_mod, only: jsta, jend, pthresh, im, jsta_2l, jend_2u, & + ista, iend, ista_2l, iend_2u + implicit none + + integer, parameter :: nalg = 5 ! Defined in CALWXT_DOMINANT_POST() subroutine + integer, parameter :: npts = 3 + integer :: i, j, res + real, dimension(1:npts,1:npts) :: PREC, DOMS, DOMR, DOMZR, DOMIP + real, dimension(1:npts,1:npts,nalg) :: RAIN, SNOW, SLEET, FREEZR + real, dimension(1:npts,1:npts) :: EXP_DOMS, EXP_DOMR, EXP_DOMZR, EXP_DOMIP + + interface + subroutine CALWXT_DOMINANT_POST(PREC, RAIN, FREEZR, SLEET, SNOW, DOMR, & + DOMZR, DOMIP, DOMS) + use ctlblk_mod, only: jsta, jend, jsta_2l, jend_2u, & + ista, iend, ista_2l, iend_2u + integer, parameter :: nalg = 5 + real, intent(in) :: PREC(ista_2l:iend_2u,jsta_2l:jend_2u) + real, dimension(ista:iend,jsta:jend,nalg), intent(in) :: & + RAIN, SNOW, SLEET, FREEZR + real, dimension(ista:iend,jsta:jend), intent(inout) :: & + DOMS, DOMR, DOMZR, DOMIP + end subroutine CALWXT_DOMINANT_POST + end interface + + ! Grid parameters + jsta = 1 + jsta_2l = 1 + jend = npts + jend_2u = npts + im = npts + ista = 1 + iend = npts + ista_2l = 1 + iend_2u = npts + pthresh = 1.0e-6 + + ! Initialize input arrays + PREC = 1.0e-4 + RAIN = 0.0 + FREEZR = 0.0 + SLEET = 0.0 + SNOW = 0.0 + + ! Test Case: PREC <= PTHRESH + PREC(1,1) = pthresh + + ! (2,1): TOTSN > TOTIP and TOTSN > TOTZR and TOTSN >= TOTR -> DOMS + SNOW(2,1,1) = 1.0 + SNOW(2,1,2) = 1.0 + SNOW(2,1,3) = 1.0 + SLEET(2,1,4) = 1.0 + RAIN(2,1,5) = 1.0 + + ! (3,1): TOTSN > TOTIP and TOTSN > TOTZR and TOTSN < TOTR -> DOMR + SNOW(3,1,1) = 1.0 + RAIN(3,1,2) = 1.0 + RAIN(3,1,3) = 1.0 + + ! (1,2): TOTSN > TOTIP and TOTSN <= TOTZR and TOTZR >= TOTR -> DOMZR + SNOW(1,2,1) = 1.0 + FREEZR(1,2,2) = 1.0 + FREEZR(1,2,3) = 1.0 + RAIN(1,2,4) = 1.0 + + ! (2,2): TOTSN > TOTIP and TOTSN <= TOTZR and TOTZR < TOTR -> DOMR + SNOW(2,2,1) = 1.0 + FREEZR(2,2,2) = 1.0 + RAIN(2,2,3) = 1.0 + RAIN(2,2,4) = 1.0 + + ! (3,2): TOTSN <= TOTIP and TOTIP > TOTZR and TOTIP >= TOTR -> DOMIP + SLEET(3,2,1) = 1.0 + SLEET(3,2,2) = 1.0 + FREEZR(3,2,3) = 1.0 + RAIN(3,2,4) = 1.0 + + ! (1,3): TOTSN <= TOTIP and TOTIP > TOTZR and TOTIP < TOTR -> DOMR + SLEET(1,3,1) = 1.0 + RAIN(1,3,2) = 1.0 + RAIN(1,3,3) = 1.0 + + ! (2,3): TOTSN <= TOTIP and TOTIP <= TOTZR and TOTZR >= TOTR -> DOMZR + SNOW(2,3,1) = 1.0 + SLEET(2,3,2) = 1.0 + FREEZR(2,3,3) = 1.0 + FREEZR(2,3,4) = 1.0 + RAIN(2,3,5) = 1.0 + + ! (3,3): TOTSN <= TOTIP and TOTIP <= TOTZR and TOTZR < TOTR -> DOMR + SNOW(3,3,1) = 1.0 + SLEET(3,3,2) = 1.0 + FREEZR(3,3,3) = 1.0 + RAIN(3,3,4) = 1.0 + RAIN(3,3,5) = 1.0 + + ! Default output is 0.0 + EXP_DOMS = 0.0 + EXP_DOMR = 0.0 + EXP_DOMZR = 0.0 + EXP_DOMIP = 0.0 + + ! Expected dominant type per case + EXP_DOMS(2,1) = 1.0 + EXP_DOMR(3,1) = 1.0 + EXP_DOMZR(1,2) = 1.0 + EXP_DOMR(2,2) = 1.0 + EXP_DOMIP(3,2) = 1.0 + EXP_DOMR(1,3) = 1.0 + EXP_DOMZR(2,3) = 1.0 + EXP_DOMR(3,3) = 1.0 + + call CALWXT_DOMINANT_POST(PREC, RAIN, FREEZR, SLEET, SNOW, DOMR, DOMZR, DOMIP, DOMS) + + res = 0 + do i = 1, npts + do j = 1, npts + if (DOMS(i,j) /= EXP_DOMS(i,j)) then + print *, 'DOMS Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_DOMS(i,j), & + ' but got ', DOMS(i,j) + res = 1 + end if + if (DOMR(i,j) /= EXP_DOMR(i,j)) then + print *, 'DOMR Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_DOMR(i,j), & + ' but got ', DOMR(i,j) + res = 1 + end if + if (DOMZR(i,j) /= EXP_DOMZR(i,j)) then + print *, 'DOMZR Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_DOMZR(i,j), & + ' but got ', DOMZR(i,j) + res = 1 + end if + if (DOMIP(i,j) /= EXP_DOMIP(i,j)) then + print *, 'DOMIP Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_DOMIP(i,j), & + ' but got ', DOMIP(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, "SUCCESS!" +end program test_calwxt_dominant \ No newline at end of file diff --git a/unit_tests/test_calwxt_explicit.f90 b/unit_tests/test_calwxt_explicit.f90 new file mode 100644 index 0000000000..66c79e0cbb --- /dev/null +++ b/unit_tests/test_calwxt_explicit.f90 @@ -0,0 +1,83 @@ +! This is a test program for UPP. +! +! This program tests the CALWXT_EXPLICIT_POST() subroutine. +! +! Alyson Stahl, 12/2025 +program test_calwxt_explicit + use ctlblk_mod, only: jsta, jend, pthresh, im, jsta_2l, jend_2u, & + lm, ista, iend, ista_2l, iend_2u + implicit none + + integer, parameter :: npts = 3 , nlevs = 1 + integer :: i, j, res + real, dimension(1:npts,1:npts) :: LMH, THS, PREC, SR + real, dimension(1:npts,1:npts,1:nlevs) :: PMID, F_RIMEF + integer, dimension(1:npts,1:npts) :: IWX, EXP_IWX + + interface + subroutine CALWXT_EXPLICIT_POST(LMH, THS, PMID, PREC, SR, F_RIMEF, IWX) + use ctlblk_mod, only: jsta, jend, jsta_2l, jend_2u, ista, iend, & + ista_2l, iend_2u, lm + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u,lm), intent(in) :: & + F_RIMEF, PMID + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(in) :: & + LMH, PREC, THS, SR + integer, dimension(ista:iend,jsta:jend), intent(inout) :: IWX + end subroutine CALWXT_EXPLICIT_POST + end interface + + ! Grid parameters + jsta = 1 + jsta_2l = 1 + jend = npts + jend_2u = npts + im = npts + ista = 1 + iend = npts + ista_2l = 1 + iend_2u = npts + lm = nlevs + pthresh = 1.0e-6 + + ! Initialize arrays + LMH(:,:) = 1.0 ! use lowest level everywhere + PMID(:,:,1) = 100000.0 ! ~sea-level pressure in Pa + THS(:,:) = 290.0 ! potential temperature in K + SR(:,:) = 0.2 ! mostly rain branch (SR < 0.5) + F_RIMEF(:,:,1) = 0.0 ! low riming by default + PREC(:,:) = 1.0e-4 ! precip present (> pthresh) + + ! Case IWX = 0: no precip (PREC <= PTHRESH) + PREC(1,1) = pthresh + + ! Case IWX = 4: freezing rain (SR < 0.5, Tskin < 273.15 K) + THS(1,2) = 268.0 + + ! Case IWX = 1: snow (SR >= 0.5, F_RIMEF < 10) + SR(2,2) = 0.8 + F_RIMEF(2,2,1) = 0.0 + + ! Case IWX = 2: sleet (SR >= 0.5, F_RIMEF >= 10) + SR(2,3) = 0.8 + F_RIMEF(2,3,1) = 15.0 + + EXP_IWX = reshape([0, 8, 8, 4, 1, 8, 8, 2, 8], [npts, npts]) + + call CALWXT_EXPLICIT_POST(LMH, THS, PMID, PREC, SR, F_RIMEF, IWX) + + res = 0 + do i = 1, npts + do j = 1, npts + if (IWX(i,j) /= EXP_IWX(i,j)) then + print *, 'IWX Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_IWX(i,j), & + ' but got ', IWX(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, 'SUCCESS!' +end program test_calwxt_explicit \ No newline at end of file diff --git a/unit_tests/test_canres.f90 b/unit_tests/test_canres.f90 new file mode 100644 index 0000000000..d812d53457 --- /dev/null +++ b/unit_tests/test_canres.f90 @@ -0,0 +1,172 @@ +! This is a test program for UPP. +! +! This program tests the CANRES() subroutine. +! +! Alyson Stahl, 1/2026 +program test_canres + use ctlblk_mod, only: novegtype, nsoil, ivegsrc + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: npts = 4 + integer :: res + ! Input variables + integer :: IVEG, ISOIL + real :: SOLAR, SFCTMP, Q2, SFCPRS + real, dimension(1:npts) :: SMC, SLDPTH + ! Output variables + integer :: NROOTS, EXP_NROOTS_1 = 3, EXP_NROOTS_2 = 4 + real :: RCT, RCS, RCQ, RCSOIL, GC, RC, SMCWLT, SMCREF, RSMIN + real :: EXP_RCT_1 = 9.8559999466E-01, EXP_RCS_1 = 6.3962256908E-01, EXP_RCQ_1 = 7.4187535048E-01, & + EXP_RCSOIL_1 = 4.5774650574E-01, EXP_GC_1 = 3.8059044164E-03, EXP_RC_1 = 2.6274963379E+02, & + EXP_SMCWLT_1 = 2.3000000045E-02, EXP_SMCREF_1 = 2.3600000143E-01, EXP_RSMIN_1 = 225.0 + real :: EXP_RCT_2 = 9.8559999466E-01, EXP_RCS_2 = 8.9405411482E-01, EXP_RCQ_2 = 9.9999997474E-05, & + EXP_RCSOIL_2 = 5.5774652958E-01, EXP_GC_2 = 7.9999997979E-04, EXP_RC_2 = 1250.0, & + EXP_SMCWLT_2 = 2.3000000045E-02, EXP_SMCREF_2 = 2.3600000143E-01, EXP_RSMIN_2 = 100.0 + + interface + subroutine CANRES(SOLAR, SFCTMP, Q2, SFCPRS, SMC, GC, RC, IVEG, ISOIL, RSMIN, & + NROOTS, SMCWLT, SMCREF, RCS, RCQ, RCT, RCSOIL, SLDPTH) + use ctlblk_mod, only: novegtype, nsoil, ivegsrc + integer , intent(in) :: IVEG, ISOIL + real, intent(in) :: SOLAR, SFCTMP, Q2, SFCPRS + real, dimension(nsoil), intent(in) :: SMC, SLDPTH + integer, intent(out) :: NROOTS + real, intent(out) :: RCT, RCS, RCQ, RCSOIL, GC, RC, SMCWLT, SMCREF, RSMIN + end subroutine CANRES + end interface + + res = 0 ! Initialize to no errors + + ivegsrc = 1 ! Test cases where veg type is IGBP + nsoil = npts + novegtype = 20 + SOLAR = 600.0 + SFCTMP = 295.0 + Q2 = 0.008 + SFCPRS = 100000.0 + IVEG = 6 ! IGBP: IROOT(6) = 3 -> NROOTS > 1 + ISOIL = 1 ! Soil type: SAND (SMCREF=0.236, SMCWLT=0.023) + + SMC(1) = 0.50 ! GX > 1.0, will be clipped to 1.0 + SMC(2) = 0.00 ! GX < 0.0, will be clipped to 0.0 + SMC(3) = 0.15 ! 0.0 < GX < 1.0 + SMC(4) = 0.15 + + SLDPTH(1) = 0.10 + SLDPTH(2) = 0.30 + SLDPTH(3) = 0.60 + SLDPTH(4) = 0.0 + + call CANRES(SOLAR, SFCTMP, Q2, SFCPRS, SMC, GC, RC, IVEG, ISOIL, RSMIN, & + NROOTS, SMCWLT, SMCREF, RCS, RCQ, RCT, RCSOIL, SLDPTH) + + if (NROOTS /= EXP_NROOTS_1) then + print *, "ERROR: NROOTS expected ", EXP_NROOTS_1, " but got ", NROOTS + res = 1 + end if + if (abs(RCT - EXP_RCT_1) > tol) then + print *, "ERROR: RCT expected ", EXP_RCT_1, " but got ", RCT + res = 1 + end if + if (abs(RCS - EXP_RCS_1) > tol) then + print *, "ERROR: RCS expected ", EXP_RCS_1, " but got ", RCS + res = 1 + end if + if (abs(RCQ - EXP_RCQ_1) > tol) then + print *, "ERROR: RCQ expected ", EXP_RCQ_1, " but got ", RCQ + res = 1 + end if + if (abs(RCSOIL - EXP_RCSOIL_1) > tol) then + print *, "ERROR: RCSOIL expected ", EXP_RCSOIL_1, " but got ", RCSOIL + res = 1 + end if + if (abs(GC - EXP_GC_1) > tol) then + print *, "ERROR: GC expected ", EXP_GC_1, " but got ", GC + res = 1 + end if + if (abs(RC - EXP_RC_1) > tol) then + print *, "ERROR: RC expected ", EXP_RC_1, " but got ", RC + res = 1 + end if + if (abs(SMCWLT - EXP_SMCWLT_1) > tol) then + print *, "ERROR: SMCWLT expected ", EXP_SMCWLT_1, " but got ", SMCWLT + res = 1 + end if + if (abs(SMCREF - EXP_SMCREF_1) > tol) then + print *, "ERROR: SMCREF expected ", EXP_SMCREF_1, " but got ", SMCREF + res = 1 + end if + if (abs(RSMIN - EXP_RSMIN_1) > tol) then + print *, "ERROR: RSMIN expected ", EXP_RSMIN_1, " but got ", RSMIN + res = 1 + end if + + if (res .ne. 0) stop 10 + + ivegsrc = 0 ! Test case where veg type is USGS + novegtype = 24 + SOLAR = 900.0 + SFCTMP = 301.0 + Q2 = 0.050 + SFCPRS = 101300.0 + IVEG = 11 ! USGS: IROOT(11) = 4 -> NROOTS > 1 + + SMC(1) = 0.00 ! GX < 0.0 + SMC(2) = 0.50 ! GX > 1.0 + SMC(3) = 0.15 ! 0.0 < GX < 1.0 + SMC(4) = 0.15 + + SLDPTH(1) = 0.20 + SLDPTH(2) = 0.20 + SLDPTH(3) = 0.60 + SLDPTH(4) = 0.0 + + call CANRES(SOLAR, SFCTMP, Q2, SFCPRS, SMC, GC, RC, IVEG, ISOIL, RSMIN, & + NROOTS, SMCWLT, SMCREF, RCS, RCQ, RCT, RCSOIL, SLDPTH) + + if (NROOTS /= EXP_NROOTS_2) then + print *, "ERROR: NROOTS expected ", EXP_NROOTS_2, " but got ", NROOTS + res = 1 + end if + if (abs(RCT - EXP_RCT_2) > tol) then + print *, "ERROR: RCT expected ", EXP_RCT_2, " but got ", RCT + res = 1 + end if + if (abs(RCS - EXP_RCS_2) > tol) then + print *, "ERROR: RCS expected ", EXP_RCS_2, " but got ", RCS + res = 1 + end if + if (abs(RCQ - EXP_RCQ_2) > tol) then + print *, "ERROR: RCQ expected ", EXP_RCQ_2, " but got ", RCQ + res = 1 + end if + if (abs(RCSOIL - EXP_RCSOIL_2) > tol) then + print *, "ERROR: RCSOIL expected ", EXP_RCSOIL_2, " but got ", RCSOIL + res = 1 + end if + if (abs(GC - EXP_GC_2) > tol) then + print *, "ERROR: GC expected ", EXP_GC_2, " but got ", GC + res = 1 + end if + if (abs(RC - EXP_RC_2) > tol) then + print *, "ERROR: RC expected ", EXP_RC_2, " but got ", RC + res = 1 + end if + if (abs(SMCWLT - EXP_SMCWLT_2) > tol) then + print *, "ERROR: SMCWLT expected ", EXP_SMCWLT_2, " but got ", SMCWLT + res = 1 + end if + if (abs(SMCREF - EXP_SMCREF_2) > tol) then + print *, "ERROR: SMCREF expected ", EXP_SMCREF_2, " but got ", SMCREF + res = 1 + end if + if (abs(RSMIN - EXP_RSMIN_2) > tol) then + print *, "ERROR: RSMIN expected ", EXP_RSMIN_2, " but got ", RSMIN + res = 1 + end if + + if (res .ne. 0) stop 20 + + print *, "SUCCESS!" +end program test_canres \ No newline at end of file diff --git a/unit_tests/test_cldfrac_zhao.f90 b/unit_tests/test_cldfrac_zhao.f90 new file mode 100644 index 0000000000..5f3da639a6 --- /dev/null +++ b/unit_tests/test_cldfrac_zhao.f90 @@ -0,0 +1,98 @@ +! This is a test program for UPP. +! +! This program tests the progcld1() subroutine in CLDFRAC_ZHAO.f +! +! Alyson Stahl, 1/2026 +program test_cldfrac_zhao + use kinds, only: r_kind + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: nx = 3, ny = 3 + integer :: i, j, res + integer :: IX, NLAY, IFLIP + real(r_kind), dimension(1:nx,1:ny) :: PLYR, TLYR, QLYR, QSTL, CLW + real(r_kind), dimension(1:nx,1:ny) :: CLDTOT, EXP_CLDTOT + + interface + subroutine PROGCLD1(PLYR, TLYR, QLYR, QSTL, CLW, IX, NLAY, IFLIP, CLDTOT) + use kinds, only: r_kind + integer, intent(in) :: IX, NLAY, IFLIP + real(kind=r_kind), dimension(IX, NLAY), intent(in) :: PLYR, TLYR, & + QLYR, QSTL, CLW + real(kind=r_kind), dimension(IX, NLAY), intent(out) :: CLDTOT + end subroutine PROGCLD1 + end interface + + IX = nx + NLAY = ny + + PLYR(1:nx,1) = 400.0 + PLYR(1:nx,2) = 650.0 + PLYR(1:nx,3) = 900.0 + + TLYR(1:nx,1) = 240.0 + TLYR(1:nx,2) = 260.0 + TLYR(1:nx,3) = 280.0 + + QSTL = 0.0100 + QLYR = 0.0090 + CLW = 2.0e-6 + + EXP_CLDTOT = 2.166432329E-02 + + ! Test Case: will result in CLDTOT = 0.0 + CLW(1,1) = 1.0e-7 + EXP_CLDTOT(1,1) = 0.0 + + ! Test Case: values set such that tem1 evaluates to 2000.0. Will result in CLDTOT = 0.0 + QSTL(1,2) = 1.0 + QLYR(1,2) = 0.0 + EXP_CLDTOT(1,2) = 0.0 + + ! Test Case: values set such that value evaluates to 50.0. + QLYR(2,1) = QSTL(2,1) + CLW(2,1) = 3.0e-5 + EXP_CLDTOT(2,1) = 1.0 + + ! Test Case: values set such that tem1 evaluates to 2000/0.001 + QLYR(3,2) = QSTL(3,2) + EXP_CLDTOT(3,2) = 9.816843271E-01 + + ! Test Case: IFLIP = 0 (input data from toa to sfc) + IFLIP = 0 + call PROGCLD1(PLYR, TLYR, QLYR, QSTL, CLW, IX, NLAY, IFLIP, CLDTOT) + + res = 0 + do i = 1, nx + do j = 1, ny + if (abs(CLDTOT(i,j) - EXP_CLDTOT(i,j)) > tol) then + print *, 'CLDTOT Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_CLDTOT(i,j), & + ' but got ', CLDTOT(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + ! Test Case: IFLIP = 1 (input data from sfc to toa) + IFLIP = 1 + call PROGCLD1(PLYR, TLYR, QLYR, QSTL, CLW, IX, NLAY, IFLIP, CLDTOT) + + do i = 1, nx + do j = 1, ny + if (abs(CLDTOT(i,j) - EXP_CLDTOT(i,j)) > tol) then + print *, 'CLDTOT Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_CLDTOT(i,j), & + ' but got ', CLDTOT(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 20 + + print *, "SUCCESS!" +end program test_cldfrac_zhao \ No newline at end of file diff --git a/unit_tests/test_clmax.f90 b/unit_tests/test_clmax.f90 new file mode 100644 index 0000000000..43671d6f85 --- /dev/null +++ b/unit_tests/test_clmax.f90 @@ -0,0 +1,97 @@ +! This is a test program for UPP. +! +! This program tests the CLMAX() subroutine. +! +! Alyson Stahl, 1/2026 +program test_clmax + use vrbls3d, only: zint, q2, pint + use masks, only: lmh, sm + use params_mod, only: EPSQ2 + use ctlblk_mod, only: jsta, jend, lm, spval, ista, iend + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: npts = 2, nlevs = 3 + integer :: i, j, res + real, dimension(1:npts,1:npts) :: SQZ, SQ, RQ2L, RQ2H + real, dimension(1:npts,1:npts) :: EL0, EXP_EL0 + + interface + subroutine CLMAX(EL0, SQZ, SQ, RQ2L, RQ2H) + use ctlblk_mod, only: jsta, jend, ista, iend + real, dimension(ista:iend,jsta:jend), intent(inout) :: & + EL0, SQZ, SQ, RQ2L, RQ2H + end subroutine CLMAX + end interface + + ! Grid parameters + jsta = 1 + jend = npts + ista = 1 + iend = npts + lm = npts + spval = 9.9e6 + + ! Allocate arrays + allocate(lmh(1:npts,1:npts)) + allocate(q2(1:npts,1:npts,1:nlevs)) + allocate(zint(1:npts,1:npts,1:nlevs+1)) + allocate(pint(1:npts,1:npts,1:nlevs+1)) + allocate(sm(1:npts,1:npts)) + + ! Expected results + EXP_EL0 = reshape([11.0, 300.0, spval, 5.430163193E+01], [npts, npts]) + + lmh = 1.0 + q2 = 0.4 + sm = 0.0 + + ! Interface heights (m), monotonically increasing: 0, 100, 500, 1500 + zint(:,:,1) = 0.0 + zint(:,:,2) = 100.0 + zint(:,:,3) = 500.0 + zint(:,:,4) = 1500.0 + + ! Interface pressures (Pa), decreasing with height (scale height ≈ 8 km) + pint(:,:,1) = 100000.0 + pint(:,:,2) = 98760.0 + pint(:,:,3) = 93940.0 + pint(:,:,4) = 83470.0 + + ! Test Case: q2 <= EPSQ2 at all levels. Should expect EL0 = ELMIN + q2(1,1,:) = EPSQ2 * 0.5 + + ! Test Case: Expect EL0 = spval + zint(1,2,:) = spval + + ! Test Case: Expect EL0 = EL0M + zint(2,1,1) = 0.0 + zint(2,1,2) = 2000.0 + zint(2,1,3) = 4000.0 + zint(2,1,4) = 6000.0 + + call CLMAX(EL0, SQZ, SQ, RQ2L, RQ2H) + + deallocate(lmh) + deallocate(q2) + deallocate(zint) + deallocate(pint) + deallocate(sm) + + ! Check results + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(EL0(i,j) - EXP_EL0(i,j)) > tol) then + print *, 'EL0 Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_EL0(i,j), & + ' but got ', EL0(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, "SUCCESS!" +end program test_clmax diff --git a/unit_tests/test_dewpoint.f90 b/unit_tests/test_dewpoint.f90 new file mode 100644 index 0000000000..a540af38cb --- /dev/null +++ b/unit_tests/test_dewpoint.f90 @@ -0,0 +1,70 @@ +! This is a test program for UPP. +! +! This program tests the DEWPOINT() subroutine. +! +! Alyson Stahl, 11/2025 +program test_dewpoint + use ctlblk_mod, only: jsta, jend, spval, ista, iend, im, jm + implicit none + + integer, parameter :: npts = 2 + + ! From DEWPOINT documentation, plausible physical range for dewpoint (K) + real, parameter :: min_expected = 233.0, max_expected = 315.0 + integer :: i, j, res + real :: VP(1:npts, 1:npts), TD(1:npts, 1:npts) + + interface + subroutine DEWPOINT(VP, TD) + use ctlblk_mod, only: jsta, jend, ista, iend + real,intent(in) :: VP(ista:iend,jsta:jend) + real,intent(out) :: TD(ista:iend,jsta:jend) + end subroutine DEWPOINT + end interface + + im = npts + jm = npts + ista = 1 + iend = npts + jsta = 1 + jend = npts + spval = -9999.0 + + ! Set up test vapor pressure values (centibars) + VP = reshape([0.02, 0.5, 2.0, 8.0], [npts, npts]) + + print *, 'Testing DEWPOINT subroutine with spval less than min vapor pressure. Expect TD = spval.' + + call DEWPOINT(VP, TD) + + res = 0 + do i = 1, npts + do j = 1, npts + if (TD(i,j) /= spval) then + print *, 'FAIL: TD(',i,',',j,') = ', TD(i,j), ' expected spval = ', spval + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, "Testing DEWPOINT subroutine with spval greater than max vapor pressure." + + spval = 9.9e10 + call DEWPOINT(VP, TD) + + res = 0 + do i = 1, npts + do j = 1, npts + if (TD(i,j) < min_expected .or. TD(i,j) > max_expected) then + print *, 'FAIL: TD(',i,',',j,') = ', TD(i,j), ' out of expected range.' + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 11 + + print *, "SUCCESS!" +end program test_dewpoint \ No newline at end of file diff --git a/unit_tests/test_etamp_q2f.f90 b/unit_tests/test_etamp_q2f.f90 new file mode 100644 index 0000000000..23ae720606 --- /dev/null +++ b/unit_tests/test_etamp_q2f.f90 @@ -0,0 +1,103 @@ +! This is a test program for UPP. +! +! This program tests the ETAMP_Q2F() subroutine. +! +! Alyson Stahl, 1/2026 +program test_etamp_q2f + use ctlblk_mod, only: lm,jsta,jend,jsta_2l,jend_2u,& + ista,iend,ista_2l,iend_2u + implicit none + + real, parameter :: tol = 1.0e-8 + ! From etamp_q2f.f + real, parameter :: t_ice=-40., t0c=273.15, t_icek=233.15, epsq=1.e-12 + integer, parameter :: npts = 2, nlevs = 1 + integer :: i, j, res + real, dimension(1:npts,1:npts,1:nlevs) :: QRIMEF, QQW, QQR, QQI, T + real, dimension(1:npts,1:npts,1:nlevs) :: F_RAIN, F_ICE, F_RIMEF, CWM + real, dimension(1:npts,1:npts,1:nlevs) :: EXP_F_RAIN, EXP_F_ICE, EXP_F_RIMEF, EXP_CWM + + interface + subroutine ETAMP_Q2F(QRIMEF, QQI, QQR, QQW, CWM, F_RAIN, F_ICE, F_RIMEF, T) + use ctlblk_mod, only: lm, jsta_2l, jend_2u, ista_2l, iend_2u + real, intent(in), dimension(ista_2l:iend_2u,jsta_2l:jend_2u,lm) :: & + QRIMEF, QQW, QQR, QQI, T + real, intent(out), dimension(ista_2l:iend_2u,jsta_2l:jend_2u,lm) :: & + F_RAIN, F_ICE, F_RIMEF, CWM + end subroutine ETAMP_Q2F + end interface + + ! Grid parameters + jsta = 1 + jend = npts + jsta_2l = 1 + jend_2u = npts + ista = 1 + iend = npts + ista_2l = 1 + iend_2u = npts + lm = nlevs + + QRIMEF = 0.015 + QQI = 0.004 + QQR = 0.011 + QQW = 0.003 + T = 260.0 + + ! Test Case: F_ICE = 0 & F_FRIMEF = 1 with QQI <= EPSQ + QQI(1,1,1) = epsq / 10.0 + + ! Test Case: F_ICE = 1 & F_FRIMEF = 1 with QQI <= EPSQ + QQI(1,2,1) = epsq / 10.0 + T(1,2,1) = t_icek - 5.0 + + ! Test Case: F_RIMEF = 100.0 with QRIMEF > 100 * QQI & + ! F_ICE = 1 and F_RAIN = 0 with QQR = 0 and QQW = 0 + QRIMEF(2,1,1) = 0.5 + QQR(2,1,1) = 0.0 + QQW(2,1,1) = 0.0 + + ! Test Case: F_RAIN = 1.0 with QQW < 0 + QQW(2,2,1) = -0.0001 + + EXP_F_RAIN = reshape([7.8571426868E-01, 0.0, 7.8571426868E-01, 1.0], & + [npts, npts, nlevs]) + EXP_F_ICE = reshape([0.0, 1.0, 1.0, 2.6845636964E-01], & + [npts, npts, nlevs]) + EXP_F_RIMEF = reshape([1.0, 100.0, 1.0, 3.7499997616], & + [npts, npts, nlevs]) + EXP_CWM = reshape([1.4000000432E-02, 4.0000001900E-03, & + 1.4000000432E-02, 1.4900000766E-02], & + [npts, npts, nlevs]) + + call ETAMP_Q2F(QRIMEF, QQI, QQR, QQW, CWM, F_RAIN, F_ICE, F_RIMEF, T) + + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(F_RAIN(i,j,1) - EXP_F_RAIN(i,j,1)) > tol) then + print *, "F_RAIN test failed at (", i, ",", j, "): ", & + "Expected ", EXP_F_RAIN(i,j,1), " but got ", F_RAIN(i,j,1) + res = 1 + end if + if (abs(F_ICE(i,j,1) - EXP_F_ICE(i,j,1)) > tol) then + print *, "F_ICE test failed at (", i, ",", j, "): ", & + "Expected ", EXP_F_ICE(i,j,1), " but got ", F_ICE(i,j,1) + res = 1 + end if + if (abs(F_RIMEF(i,j,1) - EXP_F_RIMEF(i,j,1)) > tol) then + print *, "F_RIMEF test failed at (", i, ",", j, "): ", & + "Expected ", EXP_F_RIMEF(i,j,1), " but got ", F_RIMEF(i,j,1) + res = 1 + end if + if (abs(CWM(i,j,1) - EXP_CWM(i,j,1)) > tol) then + print *, "CWM test failed at (", i, ",", j, "): ", & + "Expected ", EXP_CWM(i,j,1), " but got ", CWM(i,j,1) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + print *, "SUCCESS!" +end program test_etamp_q2f diff --git a/unit_tests/test_etcalc.f90 b/unit_tests/test_etcalc.f90 new file mode 100644 index 0000000000..55017bd446 --- /dev/null +++ b/unit_tests/test_etcalc.f90 @@ -0,0 +1,124 @@ +! This is a test program for UPP. +! +! This program tests the ETCALC() subroutine. +! +! Alyson Stahl, 1/2026 +program test_etcalc + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: ntests = 24 + integer :: i, res + integer, dimension(1:ntests) :: ISOIL + real, dimension(1:ntests) :: ETA, ETP, ESD, VEGFAC, SMC + real, dimension(1:ntests) :: CMC, EC, EDIR, ETRANS, ESNOW, SMCDRY, SMCMAX + real, dimension(1:ntests) :: EXP_CMC, EXP_EC, EXP_EDIR, EXP_ETRANS, EXP_ESNOW, & + EXP_SMCDRY, EXP_SMCMAX + + interface + subroutine ETCALC(ETA, ETP, ESD, VEGFAC, ISOIL, SMC, CMC, & + EC, EDIR, ETRANS, ESNOW, SMCDRY, SMCMAX) + integer, intent(in) :: ISOIL + real, intent(in) :: ETA, ETP, ESD, VEGFAC, SMC + real, intent(inout) :: CMC + real, intent(out) :: EC, EDIR, ETRANS, ESNOW, SMCDRY, SMCMAX + end subroutine ETCALC + end interface + + ! Initialize arrays with default test case values + ETA = 150.0 + ETP = 200.0 + ESD = 0.0 + VEGFAC = 0.5 + SMC = 0.15 + CMC = 0.00025 + ISOIL = 1 + ! We want to test every soil type. ISOIL = 1 will be used for additional test cases. + do i = 1, 19 + ISOIL(i) = i + end do + + ESD(20) = 0.5 ! Test Case where ESD > 0, expect ESNOW = ETA + SMC(21) = 0.4 ! Test Case where SMC > SMCMAX for ISOIL = 1 + SMC(22) = 0.023 ! Test Case where SMC = SMCDRY for ISOIL = 1 + CMC(23) = 0.006 ! Test Case where CMC > CMCMAX + ETA(24) = 0.0 ! Test Case where ETRANS = ETA - EDIR - EC < 0 (clipped to ETRANS = 0) + + EXP_CMC = 0.00025 + EXP_CMC(23) = 0.0005 + + EXP_EC = 7.0710678101E+01 + EXP_EC(20) = 0.0 + EXP_EC(23) = 100.0 + + EXP_ESNOW = 0.0 + EXP_ESNOW(20) = 150.0 + + EXP_SMCDRY = (/ 0.023, 0.028, 0.047, 0.084, 0.084, 0.066, & + 0.069, 0.120, 0.103, 0.100, 0.126, 0.135, & + 0.069, 0.000, 0.012, 0.028, 0.135, 0.012, & + 0.023, 0.023, 0.023, 0.023, 0.023, 0.023 /) + + EXP_SMCMAX = (/ 0.395, 0.421, 0.434, 0.476, 0.476, 0.439, & + 0.404, 0.464, 0.465, 0.406, 0.468, 0.457, & + 0.464, 0.000, 0.200, 0.421, 0.457, 0.200, & + 0.395, 0.395, 0.395, 0.395, 0.395, 0.395 /) + + EXP_EDIR = (/ 1.1655249596E+01, 9.6368389130E+00, 7.0835776329E+00, & + 2.8347566128E+00, 2.8347566128E+00, 5.0715522766E+00, & + 5.8462915421E+00, 7.6054668427E-01, 1.6856940985E+00, & + 2.6699137688E+00, 4.9245935678E-01, 2.1700558066E-01, & + 4.2050962448E+00, 1.0000000000E+02, 5.3881855011E+01, & + 9.6368389130E+00, 2.1700558066E-01, 5.3881855011E+01, & + 1.1655249596E+01, 0.0000000000E+00, 1.0000000000E+02, & + 0.0000000000E+00, 1.1655249596E+01, 1.1655249596E+01 /) + + EXP_ETRANS = (/ 6.7634078979E+01, 6.9652481079E+01, 7.2205749512E+01, & + 7.6454559326E+01, 7.6454559326E+01, 7.4217773438E+01, & + 7.3443023682E+01, 7.8528778076E+01, 7.7603622437E+01, & + 7.6619415283E+01, 7.8796859741E+01, 7.9072311401E+01, & + 7.5084228516E+01, 0.0000000000E+00, 2.5407470703E+01, & + 6.9652481079E+01, 7.9072311401E+01, 2.5407470703E+01, & + 6.7634078979E+01, 0.0000000000E+00, 0.0000000000E+00, & + 7.9289321899E+01, 3.8344757080E+01, 0.0000000000E+00 /) + + res = 0 + do i = 1, ntests + call ETCALC(ETA(i),ETP(i),ESD(i),VEGFAC(i),ISOIL(i),SMC(i),CMC(i), & + & EC(i),EDIR(i),ETRANS(i),ESNOW(i),SMCDRY(i),SMCMAX(i)) + + if (abs(CMC(i) - EXP_CMC(i)) > tol) then + print *, "Test ", i, " failed: CMC = ", CMC(i), " expected ", EXP_CMC(i) + res = 1 + end if + if (abs(EC(i) - EXP_EC(i)) > tol) then + print *, "Test ", i, " failed: EC = ", EC(i), " expected ", EXP_EC(i) + res = 1 + end if + if (abs(EDIR(i) - EXP_EDIR(i)) > tol) then + print *, "Test ", i, " failed: EDIR = ", EDIR(i), " expected ", EXP_EDIR(i) + res = 1 + end if + if (abs(ETRANS(i) - EXP_ETRANS(i)) > tol) then + print *, "Test ", i, " failed: ETRANS = ", ETRANS(i), " expected ", EXP_ETRANS(i) + res = 1 + end if + if (abs(ESNOW(i) - EXP_ESNOW(i)) > tol) then + print *, "Test ", i, " failed: ESNOW = ", ESNOW(i), " expected ", EXP_ESNOW(i) + res = 1 + end if + if (abs(SMCDRY(i) - EXP_SMCDRY(i)) > tol) then + print *, "Test ", i, " failed: SMCDRY = ", SMCDRY(i), " expected ", EXP_SMCDRY(i) + res = 1 + end if + if (abs(SMCMAX(i) - EXP_SMCMAX(i)) > tol) then + print *, "Test ", i, " failed: SMCMAX = ", SMCMAX(i), " expected ", EXP_SMCMAX(i) + res = 1 + end if + + if (res .ne. 0) stop 10 + end do + + + print *, "SUCCESS!" +end program test_etcalc \ No newline at end of file diff --git a/unit_tests/test_fgamma.f90 b/unit_tests/test_fgamma.f90 new file mode 100644 index 0000000000..548b6585fb --- /dev/null +++ b/unit_tests/test_fgamma.f90 @@ -0,0 +1,57 @@ +! This is a test program for UPP. +! +! This program tests the FGAMMA() subroutine. +! +! Alyson Stahl, 1/2026 +program test_fgamma + implicit none + + real, parameter :: tol = 1.0e-8 + real, parameter :: XBIG = 35.040E0, XMININ = 1.18E-38, EPS = 1.19E-7, & + XINF = 3.4E38 + integer, parameter :: ntests = 12 + integer :: i, res + real, dimension(1:ntests) :: X, FX, EXP_FX + + interface + real function fGAMMA(X) + real, intent(in) :: X + end function fGAMMA + end interface + + ! Initialize input array X with test values + X(1) = 0.0 ! Y = 0 with RES = 0 + X(2) = -1.0 ! Y < 0 with RES = 0 + X(3) = -1.2 ! Y <= 0 with RES != 0 and PARITY = .TRUE. + X(4) = -0.5 ! Y <= 0 with RES != 0 and PARITY = .FALSE. + X(5) = 5.9e-39 ! 0 < Y < EPS and Y < XMININ + X(6) = 1.18e-38 ! 0 < Y < EPS and Y = XMININ + X(7) = 0.5 ! In range [EPS, 12) with 0 < Y < 1 + X(8) = 1.5 ! In range [EPS, 12) with 1 < Y < 2 + X(9) = 5.0 ! In range [EPS, 12) with 2 < Y < 12 + X(10) = 12.0 ! 12 <= Y <= XBIG + X(11) = 35.04 ! Y = XBIG + X(12) = 35.1 ! Y > XBIG + + EXP_FX = (/ XINF, XINF, 4.8509559631E+00, & + -3.5449078083E+00, XINF, 8.4745768940E+37, & + 1.7724539042E+00, 8.8622695208E-01, 2.4000000000E+01, & + 3.9916800000E+07, 3.4016304551E+38, XINF/) + + do i = 1, ntests + FX(i) = fGAMMA(X(i)) + end do + + res = 0 + do i = 1, ntests + if (abs(FX(i) - EXP_FX(i)) > tol) then + print *, "Test ", i, " failed: FGAMMA(", X(i), ") = ", FX(i), & + ", expected ", EXP_FX(i) + res = 1 + end if + end do + + if (res .ne. 0) stop 10 + + print *, "SUCCESS!" +end program test_fgamma \ No newline at end of file diff --git a/unit_tests/test_geo_zenith_angle.f90 b/unit_tests/test_geo_zenith_angle.f90 new file mode 100644 index 0000000000..9c9b2478be --- /dev/null +++ b/unit_tests/test_geo_zenith_angle.f90 @@ -0,0 +1,68 @@ +! This is a test program for UPP. +! +! This program tests the GEO_ZENITH_ANGLE() subroutine. +! +! Alyson Stahl, 1/2026 +program test_geo_zenith_angle + implicit none + + real, parameter :: tol_abs = 1.0e-6, tol_rel = 1.0e-6 + integer, parameter :: ntests = 5 + integer :: i, res + real, dimension(ntests) :: RLAT, RLON, SLAT, SLON, ZA, EXP_ZA + + interface + subroutine GEO_ZENITH_ANGLE(i, j, RLAT, RLON, SLAT, SLON, ZA) + integer, intent(in) :: i, j + real, intent(in) :: RLAT, RLON, SLAT, SLON + real, intent(out) :: ZA + end subroutine GEO_ZENITH_ANGLE + end interface + + ! Default input values + RLAT = 35.0 + RLON = 135.0 + SLAT = 0.0 + SLON = 140.7 + + ! RLAT > 180.0 + RLAT(2) = 250.0 + + ! COSE clips to 1.0 + RLAT(3) = 0.0 + RLON(3) = 180.0 + SLAT(3) = 0.0 + SLON(3) = 0.0 + + ! COSE clips to -1.0 + RLAT(4) = 0.0 + RLON(4) = 0.0 + SLAT(4) = 0.0 + SLON(4) = 0.0 + + ! ZA clips to 0.0 + RLAT(5) = 0.0 + RLON(5) = 360.0 + SLAT(5) = 0.0 + SLON(5) = 0.0 + + EXP_ZA = (/ 41.077945709, 117.58034515, 180.0, 0.0, 0.0 /) + + do i = 1, ntests + ! First two arguments are unused in current implementation + call GEO_ZENITH_ANGLE(0, 0, RLAT(i), RLON(i), SLAT(i), SLON(i), ZA(i)) + end do + + res = 0 + do i = 1, ntests + if (abs(ZA(i) - EXP_ZA(i)) > max(tol_abs, tol_rel*abs(EXP_ZA(i)))) then + print *, 'Test ', i, ' failed: computed ZA = ', ZA(i), & + ', expected ZA = ', EXP_ZA(i) + res = 1 + end if + end do + + if (res .ne. 0) stop 10 + + print *, 'SUCCESS!' +end program test_geo_zenith_angle \ No newline at end of file diff --git a/unit_tests/test_gpvs.f90 b/unit_tests/test_gpvs.f90 new file mode 100644 index 0000000000..da0b1a9f3b --- /dev/null +++ b/unit_tests/test_gpvs.f90 @@ -0,0 +1,79 @@ +! This is a test program for UPP. +! +! This program tests the functions and subroutines in GPVS.f. +! +! The function FPVS0() is intentionally skipped because it's +! no longer being used. +! +! FPVS() has mostly been replaced, but is still used in +! CALMICT.f, so it is still being tested here. +! +! Alyson Stahl, 1/2026 +program test_gpvs + use svptbl_mod, only: nx, tbpvs, tbpvs0 + implicit none + + real, parameter :: tol = 1.0e-8 + real, parameter :: XMIN = 180.0, XMAX = 330.0 ! From GPVS.f + integer, parameter :: npts = 16 ! Number of points to check in svp tables + integer, parameter :: ntests = 8 ! Number of tests for FPVS + real, parameter :: TINC = (XMAX - XMIN) / (ntests - 1) + integer :: i, j, res + real :: T, SVP + real, dimension(npts) :: EXP_TBPVS = (/& + 5.1082324717E-06, 3.1216961361E-05, 1.5894723765E-04, 6.9217011333E-04, & + 2.6336372830E-03, 8.9114867151E-03, 2.7213586494E-02, 7.5932152569E-02, & + 1.9561828673E-01, 4.6946316957E-01, 9.8994475603E-01, 1.9149112701E+00, & + 3.5241372585E+00, 6.2015328407E+00, 1.0480564117E+01, 1.7075515747E+01 /) + real, dimension(npts) :: EXP_TBPVS0 = (/& + 1.2800095647E-05, 7.1109141572E-05, 3.2837456092E-04, 1.2950585224E-03, & + 4.4593093917E-03, 1.3652097434E-02, 3.7726629525E-02, 9.5303639770E-02, & + 2.2244605422E-01, 4.8410034180E-01, 9.8994475603E-01, 1.9149112701E+00, & + 3.5241372585E+00, 6.2015328407E+00, 1.0480564117E+01, 1.7075515747E+01 /) + real, dimension(ntests) :: EXP_SVP = (/& + 5.1082324717E-06, 1.9790380611E-04, 3.7731970660E-03, 4.2686607689E-02, & + 3.2524418831E-01, 1.5943791866E+00, 5.7352380753E+00, 1.7075515747E+01 /) + + interface + subroutine GPVS() + end subroutine GPVS + real function FPVS(T) + real, intent(in) :: T + end function FPVS + end interface + + ! No input or output. Just initializes tables tbpvs and tbpvs0 + call GPVS() + + ! Check results of TBPVS and TBPVS0 against expected values + res = 0 + do i = 1, npts + j = 1 + (i-1) * 500 + if (abs(tbpvs(j) - EXP_TBPVS(i)) > tol) then + print *, 'tbpvs Failed for test', i, ': ', & + 'Expected ', EXP_TBPVS(i), & + ' but got ', tbpvs(j) + res = 1 + end if + if (abs(tbpvs0(j) - EXP_TBPVS0(i)) > tol) then + print *, 'tbpvs0 Failed for test', i, ': ', & + 'Expected ', EXP_TBPVS0(i), & + ' but got ', tbpvs0(j) + res = 1 + end if + if (res .ne. 0) stop 10 + end do + + do i = 1, ntests + T = XMIN + TINC * (i - 1) + SVP = FPVS(T) + if (abs(SVP - EXP_SVP(i)) > tol) then + print *, 'FPVS Failed for test', i, ': ', & + 'Expected ', EXP_SVP(i), & + ' but got ', SVP + stop 20 + end if + end do + + print *, 'SUCCESS!' +end program test_gpvs \ No newline at end of file diff --git a/unit_tests/test_icaoheight.f90 b/unit_tests/test_icaoheight.f90 new file mode 100644 index 0000000000..df337a02a5 --- /dev/null +++ b/unit_tests/test_icaoheight.f90 @@ -0,0 +1,60 @@ +! This is a test program for UPP. +! +! This program tests the ICAOHEIGHT() subroutine. +! +! Alyson Stahl, 1/2026 +program test_icaoheight + use ctlblk_mod, only: jsta, jend, ista, iend, spval + implicit none + + real, parameter :: tol = 1.0e-8 + ! From ICAOHEIGHT.f + real, parameter :: Press_Bot = 101325., Press_Mid = 22632., Press_Top = 5474.87 + integer, parameter :: npts = 3 + integer :: i, j, res + real, dimension(1:npts,1:npts) :: MAXWP, MAXWICAOZ, EXP_MAXWICAOZ + + interface + subroutine ICAOHEIGHT(MAXWP, MAXWICAOZ) + use ctlblk_mod, only: jsta, jend, ista, iend + real, intent(in) :: MAXWP(ista:iend,jsta:jend) + real, intent(out) :: MAXWICAOZ(ista:iend,jsta:jend) + end subroutine ICAOHEIGHT + end interface + + ! Grid parameters + jsta = 1 + jend = npts + ista = 1 + iend = npts + spval = 9.9e10 + + MAXWP(1,1) = 500.0 ! 0 < MAXWP < 1000 + MAXWP(1,2) = spval ! MAXWP = spval + MAXWP(1,3) = Press_Bot + 500.0 ! Press_Bot < MAXWP < spval + MAXWP(2,1) = Press_Mid + 500.0 ! Press_Mid < MAXWP < Press_Bot + MAXWP(2,2) = Press_Mid ! MAXWP = Press_Mid + MAXWP(2,3) = Press_Top + 500.0 ! Press_Top < MAXWP < Press_Mid + MAXWP(3,1) = Press_Top ! MAXWP = Press_Top + MAXWP(3,2) = 3500.0 ! 1000.0 < MAXWP < Press_Top + MAXWP(3,3) = 2750.0 ! 1000.0 < MAXWP < Press_Top + + EXP_MAXWICAOZ = reshape([3.1054496094E+04, 1.0861050781E+04, 2.0000000000E+04, & + spval, 1.1000000000E+04, 2.2855916016E+04, 0.0, & + 1.9445695312E+04, 2.4410888672E+04], [npts,npts]) + + call ICAOHEIGHT(MAXWP, MAXWICAOZ) + + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(MAXWICAOZ(i,j) - EXP_MAXWICAOZ(i,j)) > tol) then + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, 'SUCCESS!' +end program test_icaoheight \ No newline at end of file diff --git a/unit_tests/test_para_range.f90 b/unit_tests/test_para_range.f90 new file mode 100644 index 0000000000..15d3fa30c6 --- /dev/null +++ b/unit_tests/test_para_range.f90 @@ -0,0 +1,156 @@ +! This is a test program for UPP. +! +! This program tests subroutines PARA_RANGE() and PARA_RANGE2() in PARA_RANGE.f. +! +! Alyson Stahl, 2/2026 +program test_para_range + implicit none + + ! Number of tests for PARA_RANGE() and PARA_RANGE2(), respectively. + integer, parameter :: n_tests1 = 2, n_tests2 = 8 + integer :: i, res + integer, dimension(n_tests1) :: N1, N2, NPROCS, IRANK + integer, dimension(n_tests2) :: IM, JM, NX, NY, NRANK + integer, dimension(n_tests1) :: ISTA1, IEND1, EXP_ISTA1, EXP_IEND1 + integer, dimension(n_tests2) :: ISTA2, IEND2, JSTA2, JEND2, EXP_ISTA2, & + EXP_IEND2, EXP_JSTA2, EXP_JEND2 + + interface + subroutine PARA_RANGE(N1, N2, NPROCS, IRANK, ISTA, IEND) + integer, intent(in) :: N1, N2, NPROCS, IRANK + integer, intent(out) :: ISTA, IEND + end subroutine PARA_RANGE + subroutine PARA_RANGE2(IM, JM, NX, NY, NRANK, ISTA, IEND, JSTA, JEND) + integer, intent(in) :: IM, JM, NX, NY, NRANK + integer, intent(out) :: ISTA, IEND, JSTA, JEND + end subroutine PARA_RANGE2 + end interface + + ! Testing PARA_RANGE() + ! Test Case 1: iwork2 <= irank + N1(1) = 1 + N2(1) = 10 + NPROCS(1) = 4 + IRANK(1) = 2 + EXP_ISTA1(1) = 7 + EXP_IEND1(1) = 8 + + ! Test Case: iwork2 > irank + N1(2) = 1 + N2(2) = 10 + NPROCS(2) = 4 + IRANK(2) = 1 + EXP_ISTA1(2) = 4 + EXP_IEND1(2) = 6 + + res = 0 + do i = 1, n_tests1 + call PARA_RANGE(N1(i), N2(i), NPROCS(i), IRANK(i), ISTA1(i), IEND1(i)) + if (ISTA1(i) .ne. EXP_ISTA1(i)) then + print *, "Test ", i, " Failed: Expected ISTA=", EXP_ISTA1(i), " but got ISTA=", ISTA1(i) + res = 1 + end if + if (IEND1(i) .ne. EXP_IEND1(i)) then + print *, "Test ", i, " Failed: Expected IEND=", EXP_IEND1(i), " but got IEND=", IEND1(i) + res = 1 + end if + end do + + if (res .ne. 0) stop 10 + + ! Testing PARA_RANGE2() + IM = 8 + JM = 8 + NX = 2 + NY = 2 + + ! Test Cases 1 to 4: Check all "corners" of the domain with same (IM, JM, NX, NY). + ! Top-left corner + NRANK(1) = 0 + EXP_ISTA2(1) = 1 + EXP_IEND2(1) = 4 + EXP_JSTA2(1) = 1 + EXP_JEND2(1) = 4 + + ! Top-right corner + NRANK(2) = 1 ! NX-1 + EXP_ISTA2(2) = 5 + EXP_IEND2(2) = 8 + EXP_JSTA2(2) = 1 + EXP_JEND2(2) = 4 + + ! Bottom-left corner + NRANK(3) = 2 ! NX*(NY-1) + EXP_ISTA2(3) = 1 + EXP_IEND2(3) = 4 + EXP_JSTA2(3) = 5 + EXP_JEND2(3) = 8 + + ! Bottom-right corner + NRANK(4) = 3 ! NX*NY-1 + EXP_ISTA2(4) = 5 + EXP_IEND2(4) = 8 + EXP_JSTA2(4) = 5 + EXP_JEND2(4) = 8 + + ! Test Cases 5 to 7: 1D-degenerate decompositions + NRANK(5:7) = 0 + + ! NX = 1, NY > 1 + NX(5) = 1 + EXP_ISTA2(5) = 1 + EXP_IEND2(5) = 8 + EXP_JSTA2(5) = 1 + EXP_JEND2(5) = 4 + + ! NX > 1, NY = 1 + NY(6) = 1 + EXP_ISTA2(6) = 1 + EXP_IEND2(6) = 4 + EXP_JSTA2(6) = 1 + EXP_JEND2(6) = 8 + + ! NX = 1, NY = 1 + NX(7) = 1 + NY(7) = 1 + EXP_ISTA2(7) = 1 + EXP_IEND2(7) = 8 + EXP_JSTA2(7) = 1 + EXP_JEND2(7) = 8 + + ! Test Case 8: IM and JM not divisible by NX and NY, respectively + IM(8) = 10 + JM(8) = 7 + NRANK(8) = 5 + NX(8) = 4 + NY(8) = 3 + EXP_ISTA2(8) = 4 + EXP_IEND2(8) = 6 + EXP_JSTA2(8) = 4 + EXP_JEND2(8) = 5 + + res = 0 + do i = 1, n_tests2 + call PARA_RANGE2(IM(i), JM(i), NX(i), NY(i), NRANK(i), ISTA2(i), IEND2(i), JSTA2(i), JEND2(i)) + if (ISTA2(i) .ne. EXP_ISTA2(i)) then + print *, "Test ", i, " Failed: Expected ISTA=", EXP_ISTA2(i), " but got ISTA=", ISTA2(i) + res = 1 + end if + if (IEND2(i) .ne. EXP_IEND2(i)) then + print *, "Test ", i, " Failed: Expected IEND=", EXP_IEND2(i), " but got IEND=", IEND2(i) + res = 1 + end if + if (JSTA2(i) .ne. EXP_JSTA2(i)) then + print *, "Test ", i, " Failed: Expected JSTA=", EXP_JSTA2(i), " but got JSTA=", JSTA2(i) + res = 1 + end if + if (JEND2(i) .ne. EXP_JEND2(i)) then + print *, "Test ", i, " Failed: Expected JEND=", EXP_JEND2(i), " but got JEND=", JEND2(i) + res = 1 + end if + end do + + if (res .ne. 0) stop 20 + + print *, "SUCCESS!" +end program test_para_range \ No newline at end of file diff --git a/unit_tests/test_poleavg.f90 b/unit_tests/test_poleavg.f90 new file mode 100644 index 0000000000..4755aa59db --- /dev/null +++ b/unit_tests/test_poleavg.f90 @@ -0,0 +1,138 @@ +! This is a test program for UPP. +! +! This program tests the POLEAVG() subroutine. +! +! Alyson Stahl, 2/2026 +program test_poleavg + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: nx = 3, ny = 3 + integer :: i, j, res + integer :: IM, JM, JSTA, JEND + real :: SMALL, SPVAL + real :: COSL(nx, ny), VAR(nx, ny), EXP_VAR(nx, ny) + + interface + subroutine POLEAVG(IM, JM, JSTA, JEND, SMALL, COSL, SPVAL, VAR) + integer, intent(in) :: IM, JM, JSTA, JEND + real, intent(in) :: SMALL, SPVAL + real, dimension(IM,JSTA:JEND), intent(in) :: COSL + real, dimension(IM,JSTA:JEND), intent(inout) :: VAR + end subroutine POLEAVG + end interface + + SMALL = 1.0e-6 + SPVAL = 9.9e10 + IM = nx + JM = ny + COSL = SMALL * 10.0 + VAR = 1.0 + + ! Test Case: jsta > 1 and jend < jm. VAR should be unchanged. + JSTA = 2 + JEND = 2 + + call POLEAVG(IM, JM, JSTA, JEND, SMALL, COSL, SPVAL, VAR) + + res = 0 + do i = 1, nx + do j = 1, ny + if (abs(VAR(i,j) - 1.0) > tol) then + print *, 'Test failed at (', i, ',', j, '): ', & + 'Expected VAR=1.0 but got VAR=', VAR(i,j) + res = 1 + end if + end do + end do + if (res .ne. 0) stop 10 + + ! Test Case: JJ in bounds, but COSL > SMALL at both poles. VAR should be unchanged. + JSTA = 1 + JEND = ny + call POLEAVG(IM, JM, JSTA, JEND, SMALL, COSL, SPVAL, VAR) + + res = 0 + do i = 1, nx + do j = 1, ny + if (abs(VAR(i,j) - 1.0) > tol) then + print *, 'Test failed at (', i, ',', j, '): ', & + 'Expected VAR=1.0 but got VAR=', VAR(i,j) + res = 1 + end if + end do + end do + if (res .ne. 0) stop 20 + + ! Test Case: COSL < SMALL at both poles, but VAR is SPVAL everywhere. VAR should be unchanged. + COSL = SMALL / 10.0 + VAR = SPVAL + call POLEAVG(IM, JM, JSTA, JEND, SMALL, COSL, SPVAL, VAR) + + res = 0 + do i = 1, nx + do j = 1, ny + if (abs(VAR(i,j) - SPVAL) > tol) then + print *, 'Test failed at (', i, ',', j, '): ', & + 'Expected VAR=', SPVAL, ' but got VAR=', VAR(i,j) + res = 1 + end if + end do + end do + if (res .ne. 0) stop 30 + + ! Test Case: COSL < SMALL at both poles and VAR does not contain SPVAL. + ! VAR should be set to the average of all values in the column. + do i = 1, nx + do j = 1, ny + VAR(i,j) = real((j-1)*nx + i) + end do + end do + + ! Average of both poles + EXP_VAR(:,1) = 2.0 + EXP_VAR(1,2) = VAR(1,2) + EXP_VAR(2,2) = VAR(2,2) + EXP_VAR(3,2) = VAR(3,2) + EXP_VAR(:,3) = 8.0 + + call POLEAVG(IM, JM, JSTA, JEND, SMALL, COSL, SPVAL, VAR) + res = 0 + do i = 1, nx + do j = 1, ny + if (abs(VAR(i,j) - EXP_VAR(i,j)) > tol) then + print *, 'Test failed at (', i, ',', j, '): ', & + 'Expected VAR=', EXP_VAR(i,j), ' but got VAR=', VAR(i,j) + res = 1 + end if + end do + end do + if (res .ne. 0) stop 40 + + ! Test Case: Mix of SPVAL and non-SPVAL values in VAR. VAR should be set to the + ! average of the non-SPVAL values in the column. + VAR(1,1) = 1.0 + VAR(2,1) = SPVAL + VAR(3,1) = 3.0 + VAR(1,3) = SPVAL + VAR(2,3) = 8.0 + VAR(3,3) = 9.0 + + EXP_VAR(:,1) = 2.0 + EXP_VAR(:,3) = 8.5 + + call POLEAVG(IM, JM, JSTA, JEND, SMALL, COSL, SPVAL, VAR) + res = 0 + do i = 1, nx + do j = 1, ny + if (abs(VAR(i,j) - EXP_VAR(i,j)) > tol) then + print *, 'Test failed at (', i, ',', j, '): ', & + 'Expected VAR=', EXP_VAR(i,j), ' but got VAR=', VAR(i,j) + res = 1 + end if + end do + end do + if (res .ne. 0) stop 50 + + print *, "SUCCESS!" +end program test_poleavg \ No newline at end of file diff --git a/unit_tests/test_sclfld.f90 b/unit_tests/test_sclfld.f90 new file mode 100644 index 0000000000..9e4691d931 --- /dev/null +++ b/unit_tests/test_sclfld.f90 @@ -0,0 +1,69 @@ +! This is a test program for UPP. +! +! This program tests the SCLFLD() subroutine. +! +! Alyson Stahl, 2/2026 +program test_sclfld + use ctlblk_mod, only: jsta, jend, spval, ista, iend + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: npts = 2 + integer :: i, j, res + integer :: IMO, JMO + real :: SCALE + real, dimension(1:npts,1:npts) :: FLD, EXP_FLD + + interface + subroutine SCLFLD(FLD, SCALE, IMO,JMO) + use ctlblk_mod, only: jsta, jend, ista, iend + integer,intent(in) :: IMO, JMO + REAL,intent(in) :: SCALE + REAL,dimension(ista:iend,jsta:jend), intent(inout) :: FLD + end subroutine SCLFLD + end interface + + ! Grid parameters + jsta = 1 + jend = npts + ista = 1 + iend = npts + spval = 9.9e10 + + SCALE = 100.0 + + ! Set for sake of completeness. These values aren't actually used by SCLFLD. + IMO = npts + JMO = npts + + ! Test Case: Standard cases where FLD is scaled. + FLD(1,1) = 1.0 + FLD(1,2) = 2.0 + FLD(2,1) = 3.0 + + ! Test Case: FLD is filled with spval, should remain unchanged. + FLD(2,2) = spval + + EXP_FLD(1,1) = 100.0 + EXP_FLD(1,2) = 200.0 + EXP_FLD(2,1) = 300.0 + EXP_FLD(2,2) = spval + + call SCLFLD(FLD, SCALE, IMO, JMO) + + res = 0 + do i = 1, npts + do j = 1, npts + if (abs(FLD(i,j) - EXP_FLD(i,j)) > tol) then + print *, 'FLD Failed for test', i, ': ', & + 'Expected ', EXP_FLD(i,j), & + ' but got ', FLD(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, 'SUCCESS!' +end program test_sclfld \ No newline at end of file diff --git a/unit_tests/test_smooth.f90 b/unit_tests/test_smooth.f90 new file mode 100644 index 0000000000..6a605886ab --- /dev/null +++ b/unit_tests/test_smooth.f90 @@ -0,0 +1,91 @@ +! This is a test program for UPP. +! +! This program tests subroutines SMOOTH() and SMOOTHC() in SMOOTH.f. +! +! Alyson Stahl, 2/2026 +program test_smooth + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: nx = 4, ny = 4 + integer :: i, j, res + integer :: IX, IY + real :: SMTH, HOLD(nx, 2), FIELD(nx, ny), FIELDC(nx, ny) + real :: EXP_FIELD(nx, ny), EXP_FIELDC(nx, ny) + + interface + subroutine SMOOTH(FIELD, HOLD, IX, IY, SMTH) + integer, intent(in) :: IX, IY + real, intent(in) :: SMTH + real, dimension(IX, 2), intent(in) :: HOLD + real, dimension(IX, IY), intent(inout) :: FIELD + end subroutine SMOOTH + subroutine SMOOTHC(FIELD, HOLD, IX, IY, SMTH) + integer, intent(in) :: IX, IY + real, intent(in) :: SMTH + real, dimension(IX, 2), intent(in) :: HOLD + real, dimension(IX, IY), intent(inout) :: FIELD + end subroutine SMOOTHC + end interface + + IX = nx + IY = ny + SMTH = 0.5 + HOLD = 0.0 + + EXP_FIELD = reshape([280.0, 281.0, 282.0, 283.0, & + 282.0, 283.0, 284.0, 285.0, & + 284.0, 285.0, 286.0, 287.0, & + 286.0, 287.0, 288.0, 289.0], [nx, ny]) + EXP_FIELDC = reshape([281.0, 281.25, 282.0625, 282.265625, & + 283.0, 283.0, 284.0, 284.0, & + 285.0, 285.0, 286.0, 286.0, & + 287.0, 287.25, 288.0625, 288.265625], [nx, ny]) + + do i = 1, nx + do j = 1, ny + FIELD(i, j) = 280.0 + 2.0 * real(j - 1) + real(i - 1) + FIELDC(i, j) = 280.0 + 2.0 * real(j - 1) + real(i - 1) + end do + end do + + ! Test for SMOOTH() + + call SMOOTH(FIELD, HOLD, IX, IY, SMTH) + + res = 0 + do i = 1, nx + do j = 1, ny + if (abs(FIELD(i,j) - EXP_FIELD(i,j)) > tol) then + print *, 'FIELD Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_FIELD(i,j), & + ' but got ', FIELD(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + ! Test for SMOOTHC() + + HOLD = 0.0 ! Reset HOLD for SMOOTHC test, just in case. + + call SMOOTHC(FIELDC, HOLD, IX, IY, SMTH) + + res = 0 + do i = 1, nx + do j = 1, ny + if (abs(FIELDC(i,j) - EXP_FIELDC(i,j)) > tol) then + print *, 'FIELDC Test failed at (', i, ',', j, '): ', & + 'Expected ', EXP_FIELDC(i,j), & + ' but got ', FIELDC(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 20 + + print *, "SUCCESS!" +end program test_smooth \ No newline at end of file diff --git a/unit_tests/test_snfrac.f90 b/unit_tests/test_snfrac.f90 new file mode 100644 index 0000000000..00ed6a512a --- /dev/null +++ b/unit_tests/test_snfrac.f90 @@ -0,0 +1,98 @@ +! This is a test program for UPP. +! +! This program tests the SNFRAC() subroutine. +! +! Alyson Stahl, 2/2026 +program test_snfrac + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: ntests = 10 + real, parameter :: SALP = 4.0 ! From SNFRAC.f + integer :: i, res + real :: RSNOW ! For calculating expected values + integer :: IVEGx(ntests) + real, dimension(ntests) :: SNEQV, SNCOVR, EXP_SNCOVR + + interface + subroutine SNFRAC(SNEQV, IVEGx, SNCOVR) + integer,intent(in) :: IVEGx + real,intent(in) :: SNEQV + real,intent(out) :: SNCOVR + end subroutine SNFRAC + end interface + + ! Test Case: Standard case, where 0 < SNEQV < 1, for different vegetation types. + ! Covers all distinct values of SNUP (threshold depth) + ! SNUP(1) = 0.080 + IVEGx(1) = 1 + SNEQV(1) = 0.06 + RSNOW = SNEQV(1) / 0.08 + EXP_SNCOVR(1) = 1. - (EXP(-SALP*RSNOW) - RSNOW*EXP(-SALP)) + + ! SNUP(6) = 0.020 + IVEGx(2) = 6 + SNEQV(2) = 0.018 + RSNOW = SNEQV(2) / 0.02 + EXP_SNCOVR(2) = 1. - (EXP(-SALP*RSNOW) - RSNOW*EXP(-SALP)) + + ! SNUP(8) = 0.060 + IVEGx(3) = 8 + SNEQV(3) = 0.048 + RSNOW = SNEQV(3) / 0.06 + EXP_SNCOVR(3) = 1. - (EXP(-SALP*RSNOW) - RSNOW*EXP(-SALP)) + + ! SNUP(9) = 0.040 + IVEGx(4) = 9 + SNEQV(4) = 0.025 + RSNOW = SNEQV(4) / 0.04 + EXP_SNCOVR(4) = 1. - (EXP(-SALP*RSNOW) - RSNOW*EXP(-SALP)) + + ! SNUP(11) = 0.01 + IVEGx(5) = 11 + SNEQV(5) = 0.005 + RSNOW = SNEQV(5) / 0.01 + EXP_SNCOVR(5) = 1. - (EXP(-SALP*RSNOW) - RSNOW*EXP(-SALP)) + + ! SNUP(15) = 0.013 + IVEGx(6) = 15 + SNEQV(6) = 0.0052 + RSNOW = SNEQV(6) / 0.013 + EXP_SNCOVR(6) = 1. - (EXP(-SALP*RSNOW) - RSNOW*EXP(-SALP)) + + ! Test Case: Invalid inputs for IVEGx, defaulting to IVEGx = 1 + IVEGx(7) = 0 + SNEQV(7) = 0.04 + RSNOW = SNEQV(7) / 0.08 + EXP_SNCOVR(7) = 1. - (EXP(-SALP*RSNOW) - RSNOW*EXP(-SALP)) + + IVEGx(8) = 21 + SNEQV(8) = 0.05 + RSNOW = SNEQV(8) / 0.08 + EXP_SNCOVR(8) = 1. - (EXP(-SALP*RSNOW) - RSNOW*EXP(-SALP)) + + ! Test Case: SNEQV exceeds threshold depth, clipping SNCOVR to 1.0 + IVEGx(9) = 1 + SNEQV(9) = 0.1 + EXP_SNCOVR(9) = 1.0 + + ! Test Case: Invalid input for SNEQV, clipping SNCOVR to 0.0 + IVEGx(10) = 1 + SNEQV(10) = -0.1 + EXP_SNCOVR(10) = 0.0 + + res = 0 + do i = 1, ntests + call SNFRAC(SNEQV(i), IVEGx(i), SNCOVR(i)) + if (abs(SNCOVR(i) - EXP_SNCOVR(i)) > tol) then + print *, 'SNCOVR Failed for test', i, ': ', & + 'Expected ', EXP_SNCOVR(i), & + ' but got ', SNCOVR(i) + res = 1 + end if + end do + + if (res .ne. 0) stop 10 + + print *, 'SUCCESS!' +end program test_snfrac \ No newline at end of file diff --git a/unit_tests/test_snfrac_gfs.f90 b/unit_tests/test_snfrac_gfs.f90 new file mode 100644 index 0000000000..d6d7563695 --- /dev/null +++ b/unit_tests/test_snfrac_gfs.f90 @@ -0,0 +1,69 @@ +! This is a test program for UPP. +! +! This program tests the SNFRAC_GFS() subroutine. +! +! Alyson Stahl, 2/2026 +program test_snfrac_gfs + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: ntests = 5 + real, parameter :: SALP = 2.6 ! From SNFRAC_GFS.f + integer :: i, res + real :: RSNOW ! For calculating expected values + integer :: IVEG(ntests) + real, dimension(ntests) :: SNEQV, SNCOVR, EXP_SNCOVR + + interface + subroutine SNFRAC_GFS(SNEQV, IVEG, SNCOVR) + integer,intent(in) :: IVEG + real,intent(in) :: SNEQV + real,intent(out) :: SNCOVR + end subroutine SNFRAC_GFS + end interface + + ! Test Case: Standard case, where 0 < SNEQV < 1, for different vegetation types. + ! Covers all distinct values of SNUP (threshold depth) + ! SNUP(1) = 0.080 + IVEG(1) = 1 + SNEQV(1) = 0.06 + RSNOW = SNEQV(1) / 0.08 + EXP_SNCOVR(1) = 1. - (EXP(-SALP*RSNOW) - RSNOW*EXP(-SALP)) + + ! SNUP(7) = 0.040 + IVEG(2) = 7 + SNEQV(2) = 0.02 + RSNOW = SNEQV(2) / 0.04 + EXP_SNCOVR(2) = 1. - (EXP(-SALP*RSNOW) - RSNOW*EXP(-SALP)) + + ! SNUP(13) = 0.025 + IVEG(3) = 13 + SNEQV(3) = 0.02 + RSNOW = SNEQV(3) / 0.025 + EXP_SNCOVR(3) = 1. - (EXP(-SALP*RSNOW) - RSNOW*EXP(-SALP)) + + ! Test Case: SNEQV exceeds threshold depth, clipping SNCOVR to 1.0 + IVEG(4) = 1 + SNEQV(4) = 0.1 + EXP_SNCOVR(4) = 1.0 + + ! Test Case: Invalid input for SNEQV, clipping SNCOVR to 0.0 + IVEG(5) = 1 + SNEQV(5) = -0.1 + EXP_SNCOVR(5) = 0.0 + + res = 0 + do i = 1, ntests + call SNFRAC_GFS(SNEQV(i), IVEG(i), SNCOVR(i)) + if (abs(SNCOVR(i) - EXP_SNCOVR(i)) > tol) then + print *, 'SNCOVR Failed for test', i, ': ', & + 'Expected ', EXP_SNCOVR(i), & + ' but got ', SNCOVR(i) + res = 1 + end if + end do + + if (res .ne. 0) stop 10 + + print *, 'SUCCESS!' +end program test_snfrac_gfs \ No newline at end of file diff --git a/unit_tests/test_spline.f90 b/unit_tests/test_spline.f90 new file mode 100644 index 0000000000..eb3e312638 --- /dev/null +++ b/unit_tests/test_spline.f90 @@ -0,0 +1,102 @@ +! This is a test program for UPP. +! +! This program tests the SPLINE() subroutine. +! +! Alyson Stahl, 2/2026 +program test_spline + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: JTB = 5 + integer :: i, res + integer :: NOLD, NNEW + real :: XOLD(JTB), YOLD(JTB), XNEW(JTB), P(JTB), Q(JTB), Y2(JTB) + real :: YNEW(JTB), EXP_YNEW_1(JTB), EXP_YNEW_2(JTB) + + interface + subroutine SPLINE(JTB,NOLD,XOLD,YOLD,Y2,NNEW,XNEW,YNEW,P,Q) + integer,intent(in) :: JTB,NOLD,NNEW + real,dimension(JTB),intent(in) :: XOLD,YOLD,XNEW + real,dimension(JTB),intent(inout) :: P,Q,Y2 + real,dimension(JTB),intent(out) :: YNEW + end subroutine SPLINE + end interface + + ! Test Case: Standard case where NOLD > 3 + EXP_YNEW_1 = 0.0 + EXP_YNEW_1(1) = 0.34558820724 + EXP_YNEW_1(2) = 0.61488968134 + EXP_YNEW_1(3) = 2.2107839584 + EXP_YNEW_1(4) = 25.0 + + ! Choose NOLD>3 to exercise forward sweep; NNEW>=2 to test reuse/recompute + NOLD = 5 + NNEW = 4 + + ! Ascending, nonuniform XOLD to exercise variable spacing + XOLD = (/0.0, 1.0, 2.5, 4.0, 5.0/) + + ! Nonlinear YOLD values + do i = 1, NOLD + YOLD(i) = XOLD(i)**2 + end do + + ! Natural spline boundary conditions: Y2(1)=0 and Y2(NOLD)=0 + Y2 = 0.0 + P = 0.0 + Q = 0.0 + + ! XNEW sequence to cover interior, reuse, recompute, and right endpoint + XNEW(1) = 0.5 ! interior in first interval (XOLD(1), XOLD(2)) + XNEW(2) = 0.75 ! same interval as previous (reuse coefficients) + XNEW(3) = 1.5 ! moves to next interval (recompute coefficients) + XNEW(4) = XOLD(NOLD) ! right endpoint path (assign YNEW=YOLD(NOLD)) + + ! Initialize YNEW so that unused indices maintain consistent values. + YNEW = 0.0 + + call SPLINE(JTB,NOLD,XOLD,YOLD,Y2,NNEW,XNEW,YNEW,P,Q) + + res = 0 + do i = 1, JTB + if (abs(YNEW(i) - EXP_YNEW_1(i)) > tol) then + print *, 'YNEW Failed for test', i, ': ', & + 'Expected ', EXP_YNEW_1(i), & + ' but got ', YNEW(i) + res = 1 + end if + end do + + if (res .ne. 0) stop 10 + + ! Test Case: Edge case where NOLD=3 + NOLD = 3 + + EXP_YNEW_2 = 0.0 + EXP_YNEW_2(1) = 0.31249994040 + EXP_YNEW_2(2) = 0.58593744040 + EXP_YNEW_2(3) = 2.3333330154 + EXP_YNEW_2(4) = 6.25 + EXP_YNEW_2(5) = 0.0 + + ! Reinitialize inout and output variables + Y2 = 0.0 + P = 0.0 + Q = 0.0 + YNEW = 0.0 + + call SPLINE(JTB,NOLD,XOLD,YOLD,Y2,NNEW,XNEW,YNEW,P,Q) + + do i = 1, JTB + if (abs(YNEW(i) - EXP_YNEW_2(i)) > tol) then + print *, 'YNEW Failed for test', i, ': ', & + 'Expected ', EXP_YNEW_2(i), & + ' but got ', YNEW(i) + res = 1 + end if + end do + + if (res .ne. 0) stop 20 + + print *, 'SUCCESS!' +end program test_spline \ No newline at end of file diff --git a/unit_tests/test_ttblex.f90 b/unit_tests/test_ttblex.f90 new file mode 100644 index 0000000000..3091f0b887 --- /dev/null +++ b/unit_tests/test_ttblex.f90 @@ -0,0 +1,147 @@ +! This is a test program for UPP. +! +! This program tests the TTBLEX() subroutine. +! +! Alyson Stahl, 1/2026 +program test_ttblex + use ctlblk_mod, only: jsta, jend, jsta_2l, jend_2u, & + ista, iend, ista_2l, iend_2u + implicit none + + ! spval for tests + real, parameter :: tol = 1.0e-8, spval = 9.9e10 + integer, parameter :: npts = 2, ni = 50, nj = 50 + integer :: i, j, res + ! Inputs + integer :: ITB, JTB, KARR(1:npts,1:npts) + real, dimension(1:ni,1:nj) :: TTBL + real, dimension(1:npts,1:npts) :: PMIDL, THESP + real, dimension(1:ni) :: THE0, STHE + real :: PL, RDP, RDTHE + ! Outputs + real, dimension(1:npts,1:npts) :: TREF, QQ, PP, EXP_TREF, EXP_QQ, EXP_PP + integer, dimension(1:npts,1:npts) :: IPTB, ITHTB, EXP_IPTB, EXP_ITHTB + + interface + subroutine TTBLEX(TREF, TTBL, ITB, JTB, KARR, PMIDL, & + PL, QQ, PP, RDP, THE0, STHE, RDTHE, THESP, & + IPTB, ITHTB) + use ctlblk_mod, only: jsta, jend, jsta_2l, jend_2u, & + ista, iend, ista_2l, iend_2u + integer, intent(in) :: ITB,JTB + integer, intent(in) :: KARR(ista:iend,jsta:jend) + real, dimension(JTB,ITB), intent(in) :: TTBL + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(in) :: PMIDL + real, dimension(ista:iend,jsta:jend), intent(in) :: THESP + real, dimension(ITB), intent(in) :: THE0,STHE + real, intent(in) :: PL,RDP,RDTHE + integer, dimension(ista:iend,jsta:jend), intent(out) :: IPTB,ITHTB + real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u), intent(out) :: TREF + real, dimension(ista:iend,jsta:jend), intent(out) :: QQ,PP + end subroutine TTBLEX + end interface + + ! Grid parameters + jsta = 1 + jend = npts + jsta_2l = jsta + jend_2u = jend + ista = 1 + iend = npts + ista_2l = ista + iend_2u = iend + + ! Initialize inputs + ITB = ni + JTB = nj + KARR = 1 + PL = 0.0 + RDP = 5.0e-4 + RDTHE = 1.0 + + do i = 1, ni + do j = 1, nj + TTBL(i,j) = 220.0 + 0.6*i + 0.4*j + end do + end do + + do i = 1, npts + do j = 1, npts + PMIDL(i,j) = 55000.0 + 137.0*i + 53.0*j + THESP(i,j) = 310.0 + 0.7*j + 0.3*i + end do + end do + + do i = 1, ni + THE0(i) = 300.0 + 0.8*(i-1) + STHE(i) = 12.5 + end do + + ! Expected Outputs + EXP_TREF = reshape([2.2080192566E+02, spval, 2.6900000000E+02, 2.3158871460E+02], [npts, npts]) + EXP_QQ = reshape([-5.0000000745E-02, spval, 0.0000000000E+00, 6.9000053406E-01], [npts, npts]) + EXP_PP = reshape([-2.9679930210E-01, spval, 0.0000000000E+00, -8.1216067076E-01], [npts, npts]) + EXP_IPTB = reshape([1, 0, 49, 28], [npts, npts]) + EXP_ITHTB= reshape([1, 0, 49, 1], [npts, npts]) + + ! Test Case: IPTB and ITHTB clipped to 1 + PMIDL(1,1) = PL - 100.0 + THESP(1,1) = THE0(1) - 0.3*STHE(1) + + ! Test Case: IPTB and ITHTB clipped to ITB-1 and JTB-1, respectively + PMIDL(1,2) = PL + (ITB + 10)/RDP + THESP(1,2) = THE0(ITB-1) + STHE(ITB-1)*(JTB + 0.2) + + ! Test Case: KARR = 0. This won't compute anything and will leave output arrays as is. + ! Output arrays set to default value before call for predictable output. + ! (spval for reals, 0 for integers) + KARR(2,1) = 0 + TREF = spval + QQ = spval + PP = spval + IPTB = 0 + ITHTB= 0 + + call TTBLEX(TREF, TTBL, ITB, JTB, KARR, PMIDL, PL, QQ, PP, RDP, THE0, & + STHE, RDTHE, THESP, IPTB, ITHTB) + + res = 0 + do i = 1, npts + do j = 1, npts + if ( abs(TREF(i,j) - EXP_TREF(i,j)) > tol ) then + print *, "Test failed at TREF (i,j)=(", i, ",", j, "): ", & + "Expected TREF = ", EXP_TREF(i,j), & + ", Computed TREF = ", TREF(i,j) + res = 1 + end if + if ( abs(QQ(i,j) - EXP_QQ(i,j)) > tol ) then + print *, "Test failed at QQ (i,j)=(", i, ",", j, "): ", & + "Expected QQ = ", EXP_QQ(i,j), & + ", Computed QQ = ", QQ(i,j) + res = 1 + end if + if ( abs(PP(i,j) - EXP_PP(i,j)) > tol ) then + print *, "Test failed at PP (i,j)=(", i, ",", j, "): ", & + "Expected PP = ", EXP_PP(i,j), & + ", Computed PP = ", PP(i,j) + res = 1 + end if + if ( IPTB(i,j) /= EXP_IPTB(i,j) ) then + print *, "Test failed at IPTB (i,j)=(", i, ",", j, "): ", & + "Expected IPTB = ", EXP_IPTB(i,j), & + ", Computed IPTB = ", IPTB(i,j) + res = 1 + end if + if ( ITHTB(i,j) /= EXP_ITHTB(i,j) ) then + print *, "Test failed at ITHTB (i,j)=(", i, ",", j, "): ", & + "Expected ITHTB = ", EXP_ITHTB(i,j), & + ", Computed ITHTB = ", ITHTB(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, "SUCCESS!" +end program test_ttblex \ No newline at end of file diff --git a/unit_tests/test_wetfrzlvl.f90 b/unit_tests/test_wetfrzlvl.f90 new file mode 100644 index 0000000000..97fa343d70 --- /dev/null +++ b/unit_tests/test_wetfrzlvl.f90 @@ -0,0 +1,148 @@ +! This is a test program for UPP. +! +! This program tests the WETFRZLVL() subroutine. +! +! Alyson Stahl, 1/2026 +program test_wetfrzlvl + use vrbls3d, only: pint, zint, t + use vrbls2d, only: fis, thz0, ths + use masks, only: lmh, sm + use params_mod, only: p1000, capa + use ctlblk_mod, only: jsta, jend, jsta_2l, jend_2u, lm, spval, & + ista, iend, ista_2l, iend_2u + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: npts = 3, nlevs = 30 + integer :: i, j, k, res + real :: z_sfc, z_top, dz, p0, H, z_mid, t_sfc + real, dimension(1:npts,1:npts,1:nlevs+1) :: TWET + real, dimension(1:npts,1:npts) :: ZWET, EXP_ZWET + + interface + subroutine WETFRZLVL(TWET,ZWET) + use ctlblk_mod, only: jsta, jend, jsta_2l, jend_2u, lm, & + ista, iend, ista_2l, iend_2u + real, intent(in) :: TWET(ista_2l:iend_2u,jsta_2l:jend_2u,lm) + real, intent(out) :: ZWET(ista:iend,jsta:jend) + end subroutine WETFRZLVL + end interface + + ! Grid parameters + lm = nlevs+1 + jsta = 1 + jend = npts + jsta_2l = jsta + jend_2u = jend + ista = 1 + iend = npts + ista_2l = ista + iend_2u = iend + spval = 9.9e10 + + allocate(sm(ista_2l:iend_2u, jsta_2l:jend_2u)) + allocate(fis(ista_2l:iend_2u, jsta_2l:jend_2u)) + allocate(thz0(ista_2l:iend_2u, jsta_2l:jend_2u)) + allocate(ths(ista_2l:iend_2u, jsta_2l:jend_2u)) + allocate(lmh(ista_2l:iend_2u, jsta_2l:jend_2u)) + allocate(zint(ista_2l:iend_2u, jsta_2l:jend_2u, nlevs+2)) + allocate(pint(ista_2l:iend_2u, jsta_2l:jend_2u, nlevs+2)) + allocate(t(ista_2l:iend_2u, jsta_2l:jend_2u, nlevs+1)) + + ! Initialize default inputs + z_sfc = 200.0 + z_top = 5200.0 + dz = (z_top - z_sfc)/real(nlevs+2) + p0 = 100000.0 + H = 7500.0 + + sm = 0.5 + fis = 9.81*z_sfc + thz0 = 290.0 + ths = 288.0 + lmh = real(nlevs) + + do i = ista_2l, iend_2u + do j = jsta_2l, jend_2u + do k = 1, nlevs+2 + zint(i,j,k) = z_top - real(k-1)*dz + pint(i,j,k) = p0 * exp( - zint(i,j,k) / H ) + end do + do k = 1, nlevs+1 + t(i,j,k) = 240.0 + (260.0 - 240.0) * real(k-1) / real(nlevs-1) + TWET(i,j,k) = 260.0 + (273.15 - 260.0) * real(k-1) / real(nlevs-1) + end do + end do + end do + + ! Expected output for default test case + EXP_ZWET = 3.9467242432E+02 + + ! Test Case: FIS = spval + FIS(1,1) = spval + EXP_ZWET(1,1) = spval + + ! Test Case: Freezing level at ground level + thz0(1,2) = 270.0 + ths(1,2) = 270.0 + EXP_ZWET(1,2) = -1.0882454834E+03 + + ! Test Case: Freezing level above heighest model level + thz0(1,3) = 290.0 + ths(1,3) = 290.0 + do k = 1, nlevs+1 + TWET(1,3,k) = 275.0 + end do + EXP_ZWET(1,3) = z_sfc + + ! Test Case: DELT = 0 branch + sm(2,1) = 0.4 + thz0(2,1) = 247.5 + ths(2,1) = 300.0 + t_sfc = sm(2,1)*thz0(2,1) + (1.0 - sm(2,1))*ths(2,1) * ( pint(2,1,nlevs+1) / p1000 )**capa + t(2,1,nlevs) = t_sfc + EXP_ZWET(2,1) = 5.6424841309E+02 + + ! Test Case: ZWET clipped to ZU if ZWET > ZU + t_sfc = sm(2,2)*thz0(2,2) + (1.0 - sm(2,2))*ths(2,2) * ( pint(2,2,nlevs+1) / p1000 )**capa + t(2,2,nlevs) = t_sfc - 0.5 + EXP_ZWET(2,2) = 5.9062500000E+02 + + ! Test Case: ZWET clipped to ZU if -ZWET > ZU + t_sfc = sm(2,3)*thz0(2,3) + (1.0 - sm(2,3))*ths(2,3) * ( pint(2,3,nlevs+1) / p1000 )**capa + t(2,3,nlevs) = t_sfc + 1.2 + EXP_ZWET(2,3) = 5.9062500000E+02 + + ! Test Case: TWET <= TFRZ below model top + do k = 1, nlevs+1 + TWET(3,1,k) = 260.0 + (285.0 - 260.0) * real(k-1) / real(nlevs-1) + end do + EXP_ZWET(3,1) = 2.7384375000E+03 + + call WETFRZLVL(TWET, ZWET) + + deallocate(sm) + deallocate(fis) + deallocate(thz0) + deallocate(ths) + deallocate(lmh) + deallocate(zint) + deallocate(pint) + deallocate(t) + + res = 0 + do i = 1, npts + do j = 1, npts + if ( abs(ZWET(i,j) - EXP_ZWET(i,j)) > tol ) then + print *, "Test failed at (i,j)=(", i, ",", j, "): ", & + "Expected ZWET = ", EXP_ZWET(i,j), & + ", Computed ZWET = ", ZWET(i,j) + res = 1 + end if + end do + end do + + if (res .ne. 0) stop 10 + + print *, "SUCCESS!" +end program test_wetfrzlvl \ No newline at end of file diff --git a/unit_tests/test_zensun.f90 b/unit_tests/test_zensun.f90 new file mode 100644 index 0000000000..6cb98fb022 --- /dev/null +++ b/unit_tests/test_zensun.f90 @@ -0,0 +1,123 @@ +! This is a test program for UPP. +! +! This program tests the ZENSUN() subroutine. +! +! Note: There is one branch of the ZENSUN() logic (di == 74) that +! appears to be unreachable. +! +! Alyson Stahl, 1/2026 +program test_zensun + use kinds, only: r_kind,i_kind + implicit none + + real, parameter :: tol = 1.0e-8 + integer, parameter :: ntests = 10 + integer :: i, res + ! Input + real(r_kind), parameter :: PI = 3.14159265358979323846 + integer(i_kind), dimension(ntests) :: DAY + real(r_kind), dimension(ntests) :: TIME, LAT, LON + ! Output + real(r_kind), dimension(ntests) :: SUN_ZENITH, SUN_AZIMUTH + real(r_kind), dimension(ntests) :: EXP_SUN_ZENITH, EXP_SUN_AZIMUTH + + interface + subroutine ZENSUN(DAY, TIME, LAT, LON, PI, SUN_ZENITH, SUN_AZIMUTH) + use kinds, only: r_kind,i_kind + integer(i_kind), intent(in) :: DAY + real(r_kind), intent(in) :: TIME, LAT, LON, PI + real(r_kind), intent(out) :: SUN_ZENITH, SUN_AZIMUTH + end subroutine ZENSUN + end interface + + ! 1) di == 1 lower boundary: tt = 1.0 (nday(1)) + DAY(1) = 1 + TIME(1) = 0.0 + LAT(1) = 0.0 + LON(1) = 0.0 + + ! 2) di == 1 upper boundary: tt = 6.0 (nday(2)), first matching interval is di=1 + DAY(2) = 6 + TIME(2) = 0.0 + LAT(2) = 45.0 + LON(2) = 0.0 + + ! 3) di == 2 lower boundary just above 6: tt ≈ 6.0417 + DAY(3) = 6 + TIME(3) = 1.0 + LAT(3) = 0.0 + LON(3) = 30.0 + + ! 4) di == 2 typical interior: tt in [6,11] + DAY(4) = 8 + TIME(4) = 12.0 + LAT(4) = -30.0 + LON(4) = -60.0 + + ! 5) di in [3,72] typical interior: mid-year day + DAY(5) = 100 + TIME(5) = 6.0 + LAT(5) = 50.0 + LON(5) = 10.0 + + ! 6) di in [3,72] exact LOWTRAN point: tt = 171.0 (summer solstice) + DAY(6) = 171 + TIME(6) = 0.0 + LAT(6) = 23.5 + LON(6) = 0.0 + + ! 7) di in [3,72] equinox region: tt = 266.0 (fall equinox) + DAY(7) = 266 + TIME(7) = 12.0 + LAT(7) = 0.0 + LON(7) = 0.0 + + ! 8) di == 73 lower boundary: tt = 361.0 + DAY(8) = 361 + TIME(8) = 0.0 + LAT(8) = 0.0 + LON(8) = 0.0 + + ! 9) di == 73 interior: tt in [361,366] + DAY(9) = 363 + TIME(9) = 18.0 + LAT(9) = -60.0 + LON(9) = 120.0 + + ! 10) di == 73 upper boundary: tt = 366.0 (nday(74)) + DAY(10) = 366 + TIME(10) = 0.0 + LAT(10) = 10.0 + LON(10) = -90.0 + + EXP_SUN_ZENITH = (/ & + 1.5711235046E+02, 1.5745872498E+02, 1.3195394897E+02, 5.5247062683E+01, & + 7.8017562866E+01, 1.3316987610E+02, 1.8452537060E+00, 1.5675169373E+02, & + 1.0507037354E+02, 1.8356952667E+01 /) + + EXP_SUN_AZIMUTH = (/ & + -1.7825204468E+02, -3.2312366962E+00, 1.2082527924E+02, 9.7385551453E+01, & + 9.2414581299E+01, -4.0916731954E-01, -8.7924919128E+01, -1.7962820435E+02, & + -9.5679412842E+01, 8.6554504395E+01 /) + + res = 0 + do i = 1, ntests + call ZENSUN(DAY(i), TIME(i), LAT(i), LON(i), PI, SUN_ZENITH(i), SUN_AZIMUTH(i)) + if ( abs(SUN_ZENITH(i) - EXP_SUN_ZENITH(i)) > tol ) then + print *, "Test failed for SUN_ZENITH(", i, "): ", & + "Expected = ", EXP_SUN_ZENITH(i), & + ", Computed = ", SUN_ZENITH(i) + res = 1 + end if + if ( abs(SUN_AZIMUTH(i) - EXP_SUN_AZIMUTH(i)) > tol ) then + print *, "Test failed for SUN_AZIMUTH(", i, "): ", & + "Expected = ", EXP_SUN_AZIMUTH(i), & + ", Computed = ", SUN_AZIMUTH(i) + res = 1 + end if + end do + + if (res .ne. 0) stop 10 + + print *, "SUCCESS!" +end program test_zensun \ No newline at end of file diff --git a/ush/fix_precip.sh b/ush/fix_precip.sh deleted file mode 100755 index 62912b4408..0000000000 --- a/ush/fix_precip.sh +++ /dev/null @@ -1,13 +0,0 @@ - #!/bin/sh - # - # usage $0 output (list of gfs grib2 forecast files in order) - # - C=":APCP:surface:" - D=":ACPCP:surface:" - F=":NCPCP:surface:" - output=$1 - shift 1 - cat $* | wgrib2 - -match "($C|$D|$F)" -set_grib_type c3 \ - -if "$C" -ncep_norm $output \ - -if "$D" -ncep_norm $output \ - -if "$F" -ncep_norm $output diff --git a/ush/fv3gfs_downstream_nems.sh b/ush/fv3gfs_downstream_nems.sh deleted file mode 100755 index b2f625de32..0000000000 --- a/ush/fv3gfs_downstream_nems.sh +++ /dev/null @@ -1,352 +0,0 @@ -#!/bin/ksh -set -x - -#----------------------------------------------------------------------- -#-Hui-Ya Chuang, January 2014: First version. -# This script was written to include all new Grib2 GFS downstream post processing in -# EMC's parallel so that EMC can reproduce all operational pgb files as in operations. -# Due to EMC's limited resources, MPMD is used to speed up downstream post processing. -#-Hui-Ya Chuang, September 2015: -# modification to generate select grids on non-WCOSS machines without using MPMD. -# NCEP R&D machines do not have MPMD. -#-Fanglin Yang, September 2015 -# 1. restructured and simplified the script. -# 2. use wgrib2 instead of copygb2 for interpolation. copygb2 is slow and is not -# working for converting grib2 files that are produced by nceppost using nemsio files. -# 3. use wgrib2 to convert pgbm on quarter-degree (no matter gaussian or lat-lon) grid -# to pgbq on quarter-degree lat-lon grid. -# 4. Between using COPYGB2 and WGRIB2, about 50% of the fields are bit-wise identical. -# Others are different at the noise level at spotted points. -#-Fanglin Yang, February 2016 -# 1. For NEMSIO, gfspost1 exceends 6-hour CPU limits on WCOSS. Remove pgrbh and pgrbl -#-Fanglin Yang, March 2017 -# 1. Modified for FV3GFS, using NCEP-NCO standard output name convention -# 2. Add option24 to turn on bitmap in grib2 file (from Wen Meng) -#-Wen Meng, January 2018, add flag PGB1F for turning on/ogg grib1 pgb data at 1.00 deg. generation. -#-Wen Meng, Feburary 2018 -# 1. Add flag PGBS for turning on/off pgb data at 1.0 and 0.5 deg. generation frequency of FHOUT_PGB defined. -#-Wen Meng, October 2019 -# 1. Use bilinear interpolation for LAND. It can trancate land-sea mask as 1 or 0. -#-Wen Meng, November 2019 -# 1. Modify sea icea cover via land-sea mask. -#----------------------------------------------------------------------- - - -echo "!!!!!CREATING $RUN DOWNSTREAM PRODUCTS FOR FH = $FH !!!!!!" - -export downset=${downset:-1} -export DATA=${DATA:-/ptmpd2/$LOGNAME/test} -export CNVGRIB=${CNVGRIB:-${NWPROD:-/nwprod}/util/exec/cnvgrib21} -export COPYGB2=${COPYGB2:-${NWPROD:-/nwprod}/util/exec/copygb2} -export WGRIB2=${WGRIB2:-${NWPROD:-/nwprod}/util/exec/wgrib2} -export GRBINDEX=${GRBINDEX:-${NWPROD:-nwprod}/util/exec/grbindex} -export RUN=${RUN:-"gfs"} -export cycn=`echo $CDATE |cut -c 9-10` -export TCYC=${TCYC:-".t${cycn}z."} -export PREFIX=${PREFIX:-${RUN}${TCYC}} -export PGB1F=${PGB1F:-"NO"} -export FHOUT_PGB=${FHOUT_PGB:-3} -export PGBS=${PGBS:-"NO"} #YES-- generate 1.00 and 0.50 deg pgb data -export MODICEC=${MODICEC:-$USHgfs/mod_icec.sh} - -#--wgrib2 regrid parameters -export option1=' -set_grib_type same -new_grid_winds earth ' -export option21=' -new_grid_interpolation bilinear -if ' -export option22=":(CRAIN|CICEP|CFRZR|CSNOW|ICSEV):" -export option23=' -new_grid_interpolation neighbor -fi ' -export option24=' -set_bitmap 1 -set_grib_max_bits 16 -if ' -export option25=":(APCP|ACPCP|PRATE|CPRAT):" -export option26=' -set_grib_max_bits 25 -fi -if ' -export option27=":(APCP|ACPCP|PRATE|CPRAT|DZDT):" -export option28=' -new_grid_interpolation budget -fi ' -export grid0p25="latlon 0:1440:0.25 90:721:-0.25" -export grid0p5="latlon 0:720:0.5 90:361:-0.5" -export grid1p0="latlon 0:360:1.0 90:181:-1.0" -export grid2p5="latlon 0:144:2.5 90:73:-2.5" - - -unset paramlist paramlistb -if [ $FH -eq -1 ] ; then - #export paramlist=/global/save/Hui-Ya.Chuang/gfs_trunk/sib/fix/global_1x1_paramlist_g2.anl - export paramlist=${paramlist:-$PARMpost/global_1x1_paramlist_g2.anl} - export paramlistb=${paramlistb:-$PARMpost/global_master-catchup_parmlist_g2} - export fhr3=anl - export PGBS=YES -elif [ $FH -eq 0 ] ; then - export paramlist=${paramlist:-$PARMpost/global_1x1_paramlist_g2.f000} - export paramlistb=${paramlistb:-$PARMpost/global_master-catchup_parmlist_g2} - export fhr3=000 - export PGBS=YES -else - export paramlist=${paramlist:-$PARMpost/global_1x1_paramlist_g2} - export paramlistb=${paramlistb:-$PARMpost/global_master-catchup_parmlist_g2} - export fhr3=`expr $FH + 0 ` - if [ $fhr3 -lt 100 ]; then export fhr3="0$fhr3"; fi - if [ $fhr3 -lt 10 ]; then export fhr3="0$fhr3"; fi - if [ $fhr3%${FHOUT_PGB} -eq 0 ]; then - export PGBS=YES - fi -fi - - -$WGRIB2 $PGBOUT2 | grep -F -f $paramlist | $WGRIB2 -i -grib tmpfile1_$fhr3 $PGBOUT2 -export err=$?; err_chk -#if [ $machine = WCOSS -o $machine = WCOSS_C -a $downset = 2 ]; then -if [ $downset = 2 ]; then - $WGRIB2 $PGBOUT2 | grep -F -f $paramlistb | $WGRIB2 -i -grib tmpfile2_$fhr3 $PGBOUT2 - export err=$?; err_chk -fi - -#----------------------------------------------------- -#----------------------------------------------------- -if [ $machine = WCOSS -o $machine = WCOSS_C -o $machine = WCOSS_DELL_P3 -o $machine = HERA -o $machine = ORION -o $machine = JET -o $machine = S4 ]; then -#----------------------------------------------------- -#----------------------------------------------------- -export nset=1 -export totalset=2 -if [ $downset = 1 ]; then totalset=1 ; fi - -#.............................................. -while [ $nset -le $totalset ]; do -#.............................................. - export tmpfile=$(eval echo tmpfile${nset}_${fhr3}) - -# split of Grib files to run downstream jobs using MPMD - export ncount=`$WGRIB2 $tmpfile |wc -l` -# export tasks_post=$(eval echo \$tasksp_$nknd) - export nproc=${nproc:-${npe_dwn:-24}} - if [ $nproc -gt $ncount ]; then - echo " *** FATA ERROR: Total number of records in $tmpfile is not right" - export err=8 - err_chk - fi - export inv=`expr $ncount / $nproc` - rm -f $DATA/poescript - export iproc=1 - export end=0 - - while [ $iproc -le $nproc ] ; do - export start=`expr ${end} + 1` - export end=`expr ${start} + ${inv} - 1` - if [[ $end -ge $ncount ]] ;then - export end=$ncount - fi - - # if final record of each piece is ugrd, add vgrd - # copygb will only interpolate u and v together - #$WGRIB2 -d $end $tmpfile |grep -i ugrd - $WGRIB2 -d $end $tmpfile |egrep -i "ugrd|ustm|uflx|u-gwd" - export rc=$? - if [[ $rc -eq 0 ]] ; then - export end=`expr ${end} + 1` - fi - # if final record is land, add next record icec - $WGRIB2 -d $end $tmpfile |egrep -i "land" - export rc=$? - if [[ $rc -eq 0 ]] ; then - export end=`expr ${end} + 1` - fi - if [ $iproc -eq $nproc ]; then - export end=$ncount - fi - - $WGRIB2 $tmpfile -for ${start}:${end} -grib ${tmpfile}_${iproc} - export err=$?; err_chk - echo "${GFSDWNSH:-$USHgfs/fv3gfs_dwn_nems.sh} ${tmpfile}_${iproc} $fhr3 $iproc $nset" >> $DATA/poescript - - # if at final record and have not reached the final processor then write echo's to - # poescript for remaining processors - if [[ $end -eq $ncount ]] ;then - while [[ $iproc -lt $nproc ]];do - export iproc=`expr $iproc + 1` - echo "/bin/echo $iproc" >> $DATA/poescript - done - break - fi - export iproc=`expr $iproc + 1` - done - -date - chmod 775 $DATA/poescript - export MP_PGMMODEL=mpmd - export MP_CMDFILE=$DATA/poescript - launcher=${APRUN_DWN:-"aprun -j 1 -n 24 -N 24 -d 1 cfp"} - if [ $machine = WCOSS_C -o $machine = WCOSS_DELL_P3 ] ; then - $launcher $MP_CMDFILE - elif [ $machine = HERA -o $machine = ORION -o $machine = JET -o $machine = S4 ] ; then - if [ -s $DATA/poescript_srun ]; then rm -f $DATA/poescript_srun; fi - touch $DATA/poescript_srun - nm=0 - cat $DATA/poescript | while read line; do - echo "$nm $line" >> $DATA/poescript_srun - nm=$((nm+1)) - done - ${launcher:-"srun --export=ALL"} -n $nm --multi-prog $DATA/poescript_srun - else - $launcher - fi - export err=$? - if [ $err -ne 0 ]; then sh +x $DATA/poescript ; fi - -date - export iproc=1 - while [ $iproc -le $nproc ]; do - if [ $nset = 1 ]; then - cat pgb2file_${fhr3}_${iproc}_0p25 >> pgb2file_${fhr3}_0p25 - if [ "$PGBS" = "YES" ]; then - cat pgb2file_${fhr3}_${iproc}_0p5 >> pgb2file_${fhr3}_0p5 - cat pgb2file_${fhr3}_${iproc}_1p0 >> pgb2file_${fhr3}_1p0 - if [ "$PGB1F" = 'YES' ]; then - cat pgbfile_${fhr3}_${iproc}_1p0 >> pgbfile_${fhr3}_1p0 - fi - fi - elif [ $nset = 2 ]; then - cat pgb2bfile_${fhr3}_${iproc}_0p25 >> pgb2bfile_${fhr3}_0p25 - if [ "$PGBS" = "YES" ]; then - cat pgb2bfile_${fhr3}_${iproc}_0p5 >> pgb2bfile_${fhr3}_0p5 - cat pgb2bfile_${fhr3}_${iproc}_1p0 >> pgb2bfile_${fhr3}_1p0 - fi - fi - export iproc=`expr $iproc + 1` - done -date - -#Chuang: generate second land mask using bi-linear interpolation and append to the end -# if [ $nset = 1 ]; then -# rm -f land.grb newland.grb newnewland.grb newnewland.grb1 -# $WGRIB2 $tmpfile -match "LAND:surface" -grib land.grb -##0p25 degree -# $WGRIB2 land.grb -set_grib_type same -new_grid_interpolation bilinear -new_grid_winds earth -new_grid $grid0p25 newland.grb -# $WGRIB2 newland.grb -set_byte 4 11 218 -grib newnewland.grb -# cat ./newnewland.grb >> pgb2file_${fhr3}_0p25 -# $CNVGRIB -g21 newnewland.grb newnewland.grb1 -# cat ./newnewland.grb1 >> pgbfile_${fhr3}_0p25 -##0p5 degree -# rm -f newland.grb newnewland.grb newnewland.grb1 -# $WGRIB2 land.grb -set_grib_type same -new_grid_interpolation bilinear -new_grid_winds earth -new_grid $grid0p5 newland.grb -# $WGRIB2 newland.grb -set_byte 4 11 218 -grib newnewland.grb -# cat ./newnewland.grb >> pgb2file_${fhr3}_0p5 -#1p0 -# rm -f newland.grb newnewland.grb newnewland.grb1 -# $WGRIB2 land.grb -set_grib_type same -new_grid_interpolation bilinear -new_grid_winds earth -new_grid $grid1p0 newland.grb -# $WGRIB2 newland.grb -set_byte 4 11 218 -grib newnewland.grb -# cat ./newnewland.grb >> pgb2file_${fhr3}_1p0 -# $CNVGRIB -g21 newnewland.grb newnewland.grb1 -# cat ./newnewland.grb1 >> pgbfile_${fhr3}_1p0 -# fi - - - if [ $nset = 1 ]; then - if [ $fhr3 = anl ]; then - cp pgb2file_${fhr3}_0p25 $COMOUT/${PREFIX}pgrb2.0p25.anl - $WGRIB2 -s pgb2file_${fhr3}_0p25 > $COMOUT/${PREFIX}pgrb2.0p25.anl.idx - if [ "$PGBS" = "YES" ]; then - cp pgb2file_${fhr3}_0p5 $COMOUT/${PREFIX}pgrb2.0p50.anl - cp pgb2file_${fhr3}_1p0 $COMOUT/${PREFIX}pgrb2.1p00.anl - $WGRIB2 -s pgb2file_${fhr3}_0p5 > $COMOUT/${PREFIX}pgrb2.0p50.anl.idx - $WGRIB2 -s pgb2file_${fhr3}_1p0 > $COMOUT/${PREFIX}pgrb2.1p00.anl.idx - if [ "$PGB1F" = 'YES' ]; then - cp pgbfile_${fhr3}_1p0 $COMOUT/${PREFIX}pgrb.1p00.anl - $GRBINDEX $COMOUT/${PREFIX}pgrb.1p00.anl $COMOUT/${PREFIX}pgrb.1p00.anl.idx - fi - fi - else - cp pgb2file_${fhr3}_0p25 $COMOUT/${PREFIX}pgrb2.0p25.f${fhr3} - $WGRIB2 -s pgb2file_${fhr3}_0p25 > $COMOUT/${PREFIX}pgrb2.0p25.f${fhr3}.idx - if [ "$PGBS" = "YES" ]; then - cp pgb2file_${fhr3}_0p5 $COMOUT/${PREFIX}pgrb2.0p50.f${fhr3} - cp pgb2file_${fhr3}_1p0 $COMOUT/${PREFIX}pgrb2.1p00.f${fhr3} - $WGRIB2 -s pgb2file_${fhr3}_0p5 > $COMOUT/${PREFIX}pgrb2.0p50.f${fhr3}.idx - $WGRIB2 -s pgb2file_${fhr3}_1p0 > $COMOUT/${PREFIX}pgrb2.1p00.f${fhr3}.idx - if [ "$PGB1F" = 'YES' ]; then - cp pgbfile_${fhr3}_1p0 $COMOUT/${PREFIX}pgrb.1p00.f${fhr3} - $GRBINDEX $COMOUT/${PREFIX}pgrb.1p00.f${fhr3} $COMOUT/${PREFIX}pgrb.1p00.f${fhr3}.idx - fi - fi - fi - - elif [ $nset = 2 ]; then - - if [ $fhr3 = anl ]; then - cp pgb2bfile_${fhr3}_0p25 $COMOUT/${PREFIX}pgrb2b.0p25.anl - $WGRIB2 -s pgb2bfile_${fhr3}_0p25 > $COMOUT/${PREFIX}pgrb2b.0p25.anl.idx - if [ "$PGBS" = "YES" ]; then - cp pgb2bfile_${fhr3}_0p5 $COMOUT/${PREFIX}pgrb2b.0p50.anl - cp pgb2bfile_${fhr3}_1p0 $COMOUT/${PREFIX}pgrb2b.1p00.anl - $WGRIB2 -s pgb2bfile_${fhr3}_0p5 > $COMOUT/${PREFIX}pgrb2b.0p50.anl.idx - $WGRIB2 -s pgb2bfile_${fhr3}_1p0 > $COMOUT/${PREFIX}pgrb2b.1p00.anl.idx - fi - - else - cp pgb2bfile_${fhr3}_0p25 $COMOUT/${PREFIX}pgrb2b.0p25.f${fhr3} - $WGRIB2 -s pgb2bfile_${fhr3}_0p25 > $COMOUT/${PREFIX}pgrb2b.0p25.f${fhr3}.idx - if [ "$PGBS" = "YES" ]; then - cp pgb2bfile_${fhr3}_0p5 $COMOUT/${PREFIX}pgrb2b.0p50.f${fhr3} - cp pgb2bfile_${fhr3}_1p0 $COMOUT/${PREFIX}pgrb2b.1p00.f${fhr3} - $WGRIB2 -s pgb2bfile_${fhr3}_0p5 > $COMOUT/${PREFIX}pgrb2b.0p50.f${fhr3}.idx - $WGRIB2 -s pgb2bfile_${fhr3}_1p0 > $COMOUT/${PREFIX}pgrb2b.1p00.f${fhr3}.idx - fi - fi - fi - -#.............................................. - export nset=`expr $nset + 1 ` - done -#.............................................. - - -#--------------------------------------------------------------- -#--------------------------------------------------------------- -# R&D machine has no MPDP. Only generate 0.25 and 1 deg files -else -#--------------------------------------------------------------- -#--------------------------------------------------------------- - $WGRIB2 tmpfile1_$fhr3 $option1 $option21 $option22 $option23 $option24 \ - $option25 $option26 $option27 $option28 \ - -new_grid $grid0p25 pgb2file_${fhr3}_0p25 \ - -new_grid $grid0p5 pgb2file_${fhr3}_0p5 \ - -new_grid $grid1p0 pgb2file_${fhr3}_1p0 - export err=$?; err_chk - #tweak sea ice cover - count=`$WGRIB2 pgb2file_${fhr3}_0p25 -match "LAND|ICEC" |wc -l` - if [ $count -eq 2 ]; then - $MODICEC pgb2file_${fhr3}_0p25 - $MODICEC pgb2file_${fhr3}_1p0 - fi - -# convert 1 deg files back to Grib1 for verification - if [ "$PGB1F" = 'YES' ]; then - if [ $fhr3 = anl ]; then - $CNVGRIB -g21 pgb2file_${fhr3}_1p0 $COMOUT/${PREFIX}pgrb.1p00.anl - export err=$?; err_chk - $GRBINDEX $COMOUT/${PREFIX}pgrb.1p00.anl $COMOUT/${PREFIX}pgrb.1p00.anl.idx - else - $CNVGRIB -g21 pgb2file_${fhr3}_1p0 $COMOUT/${PREFIX}pgrb.1p00.f${fhr3} - export err=$?; err_chk - $GRBINDEX $COMOUT/${PREFIX}pgrb.1p00.f${fhr3} $COMOUT/${PREFIX}pgrb.1p00.f${fhr3}.idx - fi - fi - - if [ $fhr3 = anl ]; then - $WGRIB2 -s pgb2file_${fhr3}_0p25 > $COMOUT/${PREFIX}pgrb2.0p25.anl.idx - cp pgb2file_${fhr3}_0p25 $COMOUT/${PREFIX}pgrb2.0p25.anl - if [ "$PGBS" = "YES" ]; then - $WGRIB2 -s pgb2file_${fhr3}_1p0 > $COMOUT/${PREFIX}pgrb2.1p00.anl.idx - cp pgb2file_${fhr3}_1p0 $COMOUT/${PREFIX}pgrb2.1p00.anl - fi - else - $WGRIB2 -s pgb2file_${fhr3}_0p25 > $COMOUT/${PREFIX}pgrb2.0p25.f${fhr3}.idx - cp pgb2file_${fhr3}_0p25 $COMOUT/${PREFIX}pgrb2.0p25.f${fhr3} - if [ "$PGBS" = "YES" ]; then - $WGRIB2 -s pgb2file_${fhr3}_1p0 > $COMOUT/${PREFIX}pgrb2.1p00.f${fhr3}.idx - cp pgb2file_${fhr3}_1p0 $COMOUT/${PREFIX}pgrb2.1p00.f${fhr3} - fi - fi - -#--------------------------------------------------------------- -fi -echo "!!!!!!CREATION OF SELECT $RUN DOWNSTREAM PRODUCTS COMPLETED FOR FHR = $FH !!!!!!!" -#--------------------------------------------------------------- - - -exit 0 diff --git a/ush/fv3gfs_dwn_nems.sh b/ush/fv3gfs_dwn_nems.sh deleted file mode 100755 index 4190e9525a..0000000000 --- a/ush/fv3gfs_dwn_nems.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/bin/ksh -set -x - -# this script generates 0.25/0.5/1/2.5 deg pgb files for each small Grib file -# Hui-Ya Chuang 01/2014: First Version -# Fanglin Yang 09/2015: Modified to use WGRIB2 instead of COPYGB2 for interpolation -# Fanglin Yang 02/2016: remove 0.5-deg and 2.5deg output to speed up post -# Fanglin Yang 09/11/2017: add option opt24 to turn on bitmap (from Wen Meng) -# Wen Meng 12/2017: add trim_rh.sh for triming RH values larger than 100. -# Wen Meng 01/2018: add flag PGB1F for turning on/off wgrib1 pgb data at 1.00 deg. generation. -# Wen Meng 02/2018: add flag PGBS for turning on/off pgb data at 1.0 and 0.5 deg. generation. -# Wen Meng 10/2019: Use bilinear interpolation for LAND, It can trancate land-sea mask as 0 or 1. -# Wen Meng 11/2019: Teak sea ice cover via land-sea mask. - -export tmpfile=$1 -export fhr3=$2 -export iproc=$3 -export nset=$4 - -export CNVGRIB=${CNVGRIB:-$${NWPROD:-/nwprod}/util/exec/cnvgrib21} -export COPYGB2=${COPYGB2:-$${NWPROD:-/nwprod}/util/exec/copygb2} -export WGRIB2=${WGRIB2:-${NWPROD:-/nwprod}/util/exec/wgrib2} -export TRIMRH=${TRIMRH:-$USHgfs/trim_rh.sh} -export MODICEC=${MODICEC:-$USHgfs/mod_icec.sh} - -export opt1=' -set_grib_type same -new_grid_winds earth ' -export opt21=' -new_grid_interpolation bilinear -if ' -export opt22=":(CSNOW|CRAIN|CFRZR|CICEP|ICSEV):" -export opt23=' -new_grid_interpolation neighbor -fi ' -export opt24=' -set_bitmap 1 -set_grib_max_bits 16 -if ' -export opt25=":(APCP|ACPCP|PRATE|CPRAT):" -export opt26=' -set_grib_max_bits 25 -fi -if ' -export opt27=":(APCP|ACPCP|PRATE|CPRAT|DZDT):" -export opt28=' -new_grid_interpolation budget -fi ' -if [ $machine = "S4" ]; then - export optncpu=' -ncpu 1 ' -fi -export grid0p25="latlon 0:1440:0.25 90:721:-0.25" -export grid0p5="latlon 0:720:0.5 90:361:-0.5" -export grid1p0="latlon 0:360:1.0 90:181:-1.0" -export grid2p5="latlon 0:144:2.5 90:73:-2.5" - -export PGB1F=${PGB1F:-"NO"} -export PGBS=${PGBS:-"NO"} - -if [ $nset = 1 ]; then - if [ "$PGBS" = "YES" ]; then - $WGRIB2 $optncpu $tmpfile $opt1 $opt21 $opt22 $opt23 $opt24 $opt25 $opt26 $opt27 $opt28 \ - -new_grid $grid0p25 pgb2file_${fhr3}_${iproc}_0p25 \ - -new_grid $grid1p0 pgb2file_${fhr3}_${iproc}_1p0 \ - -new_grid $grid0p5 pgb2file_${fhr3}_${iproc}_0p5 - export err=$?; err_chk - $TRIMRH pgb2file_${fhr3}_${iproc}_0p25 - $TRIMRH pgb2file_${fhr3}_${iproc}_0p5 - $TRIMRH pgb2file_${fhr3}_${iproc}_1p0 - #tweak sea ice cover - count=`$WGRIB2 $optncpu pgb2file_${fhr3}_${iproc}_0p25 -match "LAND|ICEC" |wc -l` - if [ $count -eq 2 ]; then - $MODICEC pgb2file_${fhr3}_${iproc}_0p25 - $MODICEC pgb2file_${fhr3}_${iproc}_0p5 - $MODICEC pgb2file_${fhr3}_${iproc}_1p0 - fi - #$CNVGRIB -g21 pgb2file_${fhr3}_${iproc}_0p25 pgbfile_${fhr3}_${iproc}_0p25 - if [ "$PGB1F" = 'YES' ]; then - $CNVGRIB -g21 pgb2file_${fhr3}_${iproc}_1p0 pgbfile_${fhr3}_${iproc}_1p0 - export err=$?; err_chk - fi - else - $WGRIB2 $optncpu $tmpfile $opt1 $opt21 $opt22 $opt23 $opt24 $opt25 $opt26 $opt27 $opt28 \ - -new_grid $grid0p25 pgb2file_${fhr3}_${iproc}_0p25 - export err=$?; err_chk - $TRIMRH pgb2file_${fhr3}_${iproc}_0p25 - #tweak sea ice cover - count=`$WGRIB2 $optncpu pgb2file_${fhr3}_${iproc}_0p25 -match "LAND|ICEC" |wc -l` - if [ $count -eq 2 ]; then - $MODICEC pgb2file_${fhr3}_${iproc}_0p25 - fi - fi -elif [ $nset = 2 ]; then - if [ "$PGBS" = "YES" ]; then - $WGRIB2 $optncpu $tmpfile $opt1 $opt21 $opt22 $opt23 $opt24 $opt25 $opt26 $opt27 $opt28 \ - -new_grid $grid0p25 pgb2bfile_${fhr3}_${iproc}_0p25 \ - -new_grid $grid1p0 pgb2bfile_${fhr3}_${iproc}_1p0 \ - -new_grid $grid0p5 pgb2bfile_${fhr3}_${iproc}_0p5 - export err=$?; err_chk - $TRIMRH pgb2bfile_${fhr3}_${iproc}_0p25 - $TRIMRH pgb2bfile_${fhr3}_${iproc}_0p5 - $TRIMRH pgb2bfile_${fhr3}_${iproc}_1p0 - else - $WGRIB2 $optncpu $tmpfile $opt1 $opt21 $opt22 $opt23 $opt24 $opt25 $opt26 $opt27 $opt28 \ - -new_grid $grid0p25 pgb2bfile_${fhr3}_${iproc}_0p25 - export err=$?; err_chk - $TRIMRH pgb2bfile_${fhr3}_${iproc}_0p25 - fi -fi - -#---------------------------------------------------------------------------------------------- -#--Hui-Ya Chuang -# export grid1p0="0 6 0 0 0 0 0 0 360 181 0 0 90000000 0 48 -90000000 359000000 1000000 1000000 0" -# $COPYGB2 -g "${grid1p0}" -i0 -x tmpfile_${FH}_${iproc} pgb2file_${FH}_${iproc}_1p0 -# export grid0p5="0 6 0 0 0 0 0 0 720 361 0 0 90000000 0 48 -90000000 359500000 500000 500000 0" -# $COPYGB2 -g "${grid0p5}" -i0 -x tmpfile_${FH}_${iproc} pgb2file_${FH}_${iproc}_0p5 -# export grid2p5="0 6 0 0 0 0 0 0 144 73 0 0 90000000 0 48 -90000000 357500000 2500000 2500000 0" -# $COPYGB2 -g "${grid2p5}" -i0 -x tmpfile_${FH}_${iproc} pgb2file_${FH}_${iproc}_2p5 -# $CNVGRIB -g21 pgb2file_${fhr3}_${iproc}_1p0 pgbfile_${fhr3}_${iproc}_1p0 -# $CNVGRIB -g21 pgb2file_${fhr3}_${iproc}_2p5 pgbfile_${fhr3}_${iproc}_2p5 -#---------------------------------------------------------------------------------------------- - -exit 0 diff --git a/ush/gfs_nceppost.sh b/ush/gfs_nceppost.sh deleted file mode 100755 index b904e4ba59..0000000000 --- a/ush/gfs_nceppost.sh +++ /dev/null @@ -1,424 +0,0 @@ - -################################################################################ -#### UNIX Script Documentation Block -# . . -# Script name: gfs_nceppost.sh -# Script description: Posts the global pressure GRIB file -# -# Author: Mark Iredell Org: NP23 Date: 1999-05-01 -# -# Abstract: This script reads a single global GFS IO file and (optionally) -# a global flux file and creates a global pressure GRIB file. -# The resolution and generating code of the output GRIB file can also -# be set in the argument list. -# -# Script history log: -# 1999-05-01 Mark Iredell -# 2007-04-04 Huiya Chuang: Modify the script to run unified post -# 2012-06-04 Jun Wang: add grib2 option -# 2015-03-20 Lin Gan: add Perl for Post XML performance upgrade -# 2016-02-08 Lin Gan: Modify to use Vertical Structure -# 2018-02-05 Wen Meng: For EE2 standard, create gfs_nceppost.sh based -# global_nceppost.sh and change EXECglobal to EXECgfs; -# Remove legacy setting for reading non-nemsio model output -# and generating grib1 data -# 2019-06-02 Wen Meng: Remove the links of gfs fix files. -# -# Usage: global_postgp.sh SIGINP FLXINP FLXIOUT PGBOUT PGIOUT IGEN -# -# Input script positional parameters: -# 1 Input sigma file -# defaults to $SIGINP -# 2 Input flux file -# defaults to $FLXINP -# 3 Output flux index file -# defaults to $FLXIOUT -# 4 Output pressure GRIB file -# defaults to $PGBOUT -# 5 Output pressure GRIB index file -# defaults to $PGIOUT, then to none -# 8 Model generating code, -# defaults to $IGEN, then to input sigma generating code -# -# Imported Shell Variables: -# SIGINP Input sigma file -# overridden by $1 -# FLXINP Input flux file -# overridden by $2 -# FLXIOUT Output flux index file -# overridden by $3 -# PGBOUT Output pressure GRIB file -# overridden by $4. If not defined, -# post will use the filename specified in -# the control file -# PGIOUT Output pressure GRIB index file -# overridden by $5; defaults to none -# IGEN Model generating code -# overridden by $8; defaults to input sigma generating code -##### Moorthi: Add new imported shell variable for running chgres -# CHGRESSH optional: the script to run chgres -# default to to ${USHglobal}/global_chgres.sh -# SIGLEVEL optional: the coordinate text file -# default to to /nwprod/fix/global_hyblev.l${LEVS}.txt -##### Chuang: Add new imported Shell Variable for ncep post -# OUTTYP Output file type read in by post -# 1: if user has a sigma file and needs post to run chgres to convert to gfs io file -# 2: if user already has a gfs io file -# 3: if user uses post to read sigma file directly -# 0: if user wishes to generate both gfsio and sigma files -# 4: if user uses post to read nemsio file directly -# VDATE Verifying date 10 digits yyyymmddhh -# GFSOUT Optional, output file name from chgres which is input file name to nceppost -# if model already runs gfs io, make sure GFSOUT is linked to the gfsio file -# CTLFILE Optional, Your version of control file if not using operational one -# OVERPARMEXEC Optional, the executable for changing Grib KPDS ID -# default to to ${EXECglobal}/overparm_grib -# CHGRESTHREAD Optional, speed up chgres by using multiple threads -# default to 1 -# FILTER Optional, set to 1 to filter SLP and 500 mb height using copygb -# D3DINP Optional, Inout D3D file, if not defined, post will run -# without processing D3D file -# D3DOUT Optional, output D3D file, if not defined, post will -# use the file name specified in the control file -# IPVOUT Optional, output IPV file, if not defined, post will -# use the file name specified in the control file -# GENPSICHI Optional, set to YES will generate psi and chi and -# append it to the end of PGBOUT. Default to NO -# GENPSICHIEXE Optional, specify where executable is for generating -# psi and chi. -######################################################################## -# EXECUTIL Directory for utility executables -# defaults to /nwprod/util/exec -# USHUTIL Directory for utility scripts -# defaults to /nwprod/util/ush -# EXECglobal Directory for global executables -# defaults to /nwprod/exec -# USHglobal Directory for global scripts -# defaults to /nwprod/ush -# DATA working directory -# (if nonexistent will be made, used and deleted) -# defaults to current working directory -# MP Multi-processing type ("p" or "s") -# defaults to "p", or "s" if LOADL_STEP_TYPE is not PARALLEL -# XC Suffix to add to executables -# defaults to none -# POSTGPEXEC Global post executable -# defaults to ${EXECglobal}/ncep_post -# GRBINDEX GRIB index maker -# defaults to ${EXECUTIL}/grbindex$XC -# POSTGPLIST File containing further namelist inputs -# defaults to /dev/null -# INISCRIPT Preprocessing script -# defaults to none -# LOGSCRIPT Log posting script -# defaults to none -# ERRSCRIPT Error processing script -# defaults to 'eval [[ $err = 0 ]]' -# ENDSCRIPT Postprocessing script -# defaults to none -# POSTGPVARS Other namelist inputs to the global post executable -# such as IDRT,KO,PO,KTT,KT,PT,KZZ,ZZ, -# NCPUS,MXBIT,IDS,POB,POT,MOO,MOOA,MOW,MOWA, -# ICEN,ICEN2,IENST,IENSI -# defaults to none set -# NTHREADS Number of threads -# defaults to 1 -# NTHSTACK Size of stack per thread -# defaults to 64000000 -# VERBOSE Verbose flag (YES or NO) -# defaults to NO -# PGMOUT Executable standard output -# defaults to $pgmout, then to '&1' -# PGMERR Executable standard error -# defaults to $pgmerr, then to '&1' -# pgmout Executable standard output default -# pgmerr Executable standard error default -# REDOUT standard output redirect ('1>' or '1>>') -# defaults to '1>', or to '1>>' to append if $PGMOUT is a file -# REDERR standard error redirect ('2>' or '2>>') -# defaults to '2>', or to '2>>' to append if $PGMERR is a file -# -# Exported Shell Variables: -# PGM Current program name -# pgm -# ERR Last return code -# err -# -# Modules and files referenced: -# scripts : $INISCRIPT -# $LOGSCRIPT -# $ERRSCRIPT -# $ENDSCRIPT -# -# programs : $POSTGPEXEC -# $GRBINDEX -# -# input data : $1 or $SIGINP -# $2 or $SFCINP -# $POSTGPLIST -# -# output data: $3 or $FLXIOUT -# $4 or $PGBOUT -# $5 or $PGIOUT -# $PGMOUT -# $PGMERR -# -# scratch : ${DATA}/postgp.inp.sig -# ${DATA}/postgp.inp.flx -# ${DATA}/postgp.out.pgb -# -# Remarks: -# -# Condition codes -# 0 - no problem encountered -# >0 - some problem encountered -# -# Control variable resolution priority -# 1 Command line argument. -# 2 Environment variable. -# 3 Inline default. -# -# Attributes: -# Language: POSIX shell -# Machine: IBM SP -# -#### -################################################################################ -# Set environment. -export VERBOSE=${VERBOSE:-"NO"} -if [[ "$VERBOSE" = "YES" ]] -then - echo $(date) EXECUTING $0 $* >&2 - set -x -fi -# Command line arguments. -export SIGINP=${1:-${SIGINP}} -export FLXINP=${2:-${FLXINP}} -export FLXIOUT=${3:-${FLXIOUT}} -export PGBOUT=${4:-${PGBOUT}} -#export PGIOUT=${5:-${PGIOUT}} -export PGIOUT=${PGIOUT:-pgb.idx} -export IO=${6:-${IO:-0}} -export JO=${7:-${JO:-0}} -export IGEN=${8:-${IGEN:-0}} -# Directories. -export NWPROD=${NWPROD:-/nwprod} -#export EXECUTIL=${EXECUTIL:-$NWPROD/util/exec} -export USHUTIL=${USHUTIL:-$NWPROD/util/ush} -export EXECgfs=${EXECgfs:-$NWPROD/exec} -export USHgfs=${USHgfs:-$NWPROD/ush} -export DATA=${DATA:-$(pwd)} -# Filenames. -export MP=${MP:-$([[ $LOADL_STEP_TYPE = PARALLEL ]]&&echo "p"||echo "s")} -export XC=${XC} -export POSTGPEXEC=${POSTGPEXEC:-${EXECgfs}/gfs_ncep_post} -export OVERPARMEXEC=${OVERPARMEXEC:-${EXECgfs}/overparm_grib} -export POSTGPLIST=${POSTGPLIST:-/dev/null} -export INISCRIPT=${INISCRIPT} -export ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'} -export LOGSCRIPT=${LOGSCRIPT} -export ENDSCRIPT=${ENDSCRIPT} -export GFSOUT=${GFSOUT:-gfsout} -export CTLFILE=${CTLFILE:-$NWPROD/parm/gfs_cntrl.parm} -#export MODEL_OUT_FORM=${MODEL_OUT_FORM:-binarynemsiompiio} -export OUTPUT_FILE=${OUTPUT_FILE:-"nemsio"} -export GRIBVERSION=${GRIBVERSION:-'grib1'} -# Other variables. -export POSTGPVARS=${POSTGPVARS} -export NTHREADS=${NTHREADS:-1} -export NTHSTACK=${NTHSTACK:-64000000} -export PGMOUT=${PGMOUT:-${pgmout:-'&1'}} -export PGMERR=${PGMERR:-${pgmerr:-'&2'}} -export CHGRESTHREAD=${CHGRESTHREAD:-1} -export FILTER=${FILTER:-0} -export GENPSICHI=${GENPSICHI:-NO} -export GENPSICHIEXE=${GENPSICHIEXE:-${EXECgfs}/genpsiandchi} -export ens=${ens:-NO} -#export D3DINP=${D3DINP:-/dev/null} -typeset -L1 l=$PGMOUT -[[ $l = '&' ]]&&a=''||a='>' -export REDOUT=${REDOUT:-'1>'$a} -typeset -L1 l=$PGMERR -[[ $l = '&' ]]&&a=''||a='>' -export REDERR=${REDERR:-'2>'$a} -################################################################################ -# Preprocessing -$INISCRIPT - -# Chuang: Run chgres if OUTTYP=1 or 0 - -export APRUN=${APRUNP:-${APRUN:-""}} - -# exit if NEMSINP does not exist -if [ ${OUTTYP} -eq 4 ] ; then - if [ ! -s $NEMSINP -o ! -s $FLXINP ] ; then - echo "model files not found, exitting" - exit 111 - fi -fi - -export SIGHDR=${SIGHDR:-$NWPROD/exec/global_sighdr} -export IDRT=${IDRT:-4} - -# run post to read nemsio file if OUTTYP=4 -if [ ${OUTTYP} -eq 4 ] ; then - if [ ${OUTPUT_FILE} = "netcdf" ]; then - export MODEL_OUT_FORM=${MODEL_OUT_FORM:-netcdfpara} - elif [ ${OUTPUT_FILE} = "nemsio" ]; then - export MODEL_OUT_FORM=${MODEL_OUT_FORM:-binarynemsiompiio} - else - export MODEL_OUT_FORM=${MODEL_OUT_FORM:-binarynemsiompiio} - fi - export GFSOUT=${NEMSINP} -fi - -# allow threads to use threading in Jim's sp lib -# but set default to 1 -export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1} - -pwd=$(pwd) -if [[ -d $DATA ]] -then - mkdata=NO -else - mkdir -p $DATA - mkdata=YES -fi -cd $DATA||exit 99 -################################################################################ -# Post GRIB -export PGM=$POSTGPEXEC -export pgm=$PGM -$LOGSCRIPT -cat <postgp.inp.nml$$ - &NAMPGB - $POSTGPVARS -EOF - -cat <>postgp.inp.nml$$ -/ -EOF - -if [[ "$VERBOSE" = "YES" ]] -then - cat postgp.inp.nml$$ -fi - -# making the time stamp format for ncep post -export YY=`echo $VDATE | cut -c1-4` -export MM=`echo $VDATE | cut -c5-6` -export DD=`echo $VDATE | cut -c7-8` -export HH=`echo $VDATE | cut -c9-10` - -cat > itag <> itag - -cat itag - -rm -f fort.* - -#ln -sf $SIGINP postgp.inp.sig$$ -#ln -sf $FLXINP postgp.inp.flx$$ -#ln -sf $PGBOUT postgp.out.pgb$$ - -# change model generating Grib number -if [ ${GRIBVERSION} = grib2 ]; then - cp ${POSTGRB2TBL} . - cp ${PostFlatFile} ./postxconfig-NT.txt - if [ ${ens} = "YES" ] ; then - sed < ${PostFlatFile} -e "s#negatively_pert_fcst#${ens_pert_type}#" > ./postxconfig-NT.txt - fi -# cp ${CTLFILE} postcntrl.xml - -fi -export CTL=`basename $CTLFILE` - -ln -sf griddef.out fort.110 -cp ${PARMpost}/nam_micro_lookup.dat ./eta_micro_lookup.dat - -echo "gfs_nceppost.sh OMP_NUM_THREADS= $OMP_NUM_THREADS" -${APRUN:-mpirun.lsf} $POSTGPEXEC < itag > outpost_gfs_${VDATE}_${CTL} - -export ERR=$? -export err=$ERR -$ERRSCRIPT||exit 2 - -if [ $FILTER = "1" ] ; then - -# Filter SLP and 500 mb height using copygb, change GRIB ID, and then -# cat the filtered fields to the pressure GRIB file, from Iredell - -if [ $GRIBVERSION = grib2 ]; then - if [ ${ens} = YES ] ; then - $COPYGB2 -x -i'4,0,80' -k'1 3 0 7*-9999 101 0 0' $PGBOUT tfile - export err=$?; err_chk - else - $COPYGB2 -x -i'4,0,80' -k'0 3 0 7*-9999 101 0 0' $PGBOUT tfile - export err=$?; err_chk - fi - $WGRIB2 tfile -set_byte 4 11 1 -grib prmsl - export err=$?; err_chk - if [ ${ens} = YES ] ; then - $COPYGB2 -x -i'4,1,5' -k'1 3 5 7*-9999 100 0 50000' $PGBOUT tfile - export err=$?; err_chk - else - $COPYGB2 -x -i'4,1,5' -k'0 3 5 7*-9999 100 0 50000' $PGBOUT tfile - export err=$?; err_chk - fi - $WGRIB2 tfile -set_byte 4 11 193 -grib h5wav - export err=$?; err_chk - -#cat $PGBOUT prmsl h5wav >> $PGBOUT -#wm -# cat prmsl h5wav >> $PGBOUT -[[ -f prmsl ]] && rm prmsl ; [[ -f h5wav ]] && rm h5wav ; [[ -f tfile ]] && rm tfile - -fi - -fi - -################################################################################ -# Make GRIB index file -if [[ -n $PGIOUT ]] -then - if [ $GRIBVERSION = grib2 ]; then - # JY $GRBINDEX2 $PGBOUT $PGIOUT - $GRB2INDEX $PGBOUT $PGIOUT - fi -fi -if [[ -r $FLXINP && -n $FLXIOUT && $OUTTYP -le 3 ]] -then - $GRBINDEX $FLXINP $FLXIOUT -fi -################################################################################ -# generate psi and chi -echo "GENPSICHI= " $GENPSICHI -if [ $GENPSICHI = YES ] ; then -#echo "PGBOUT PGIOUT=" $PGBOUT $PGIOUT -#echo "YY MM=" $YY $MM - export psichifile=./psichi.grb - $GENPSICHIEXE < postgp.inp.nml$$ - rc=$? - if [[ $rc -ne 0 ]] ; then echo 'Nonzero return code rc= '$rc ; exit 3 ; fi - cat ./psichi.grb >> $PGBOUT -fi -################################################################################ -# Postprocessing -cd $pwd -[[ $mkdata = YES ]]&&rmdir $DATA -$ENDSCRIPT -set +x -if [[ "$VERBOSE" = "YES" ]] -then - echo $(date) EXITING $0 with return code $err >&2 -fi -exit $err diff --git a/ush/gfs_transfer.sh b/ush/gfs_transfer.sh deleted file mode 100755 index 028004d904..0000000000 --- a/ush/gfs_transfer.sh +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/ksh - -##################################################################### -echo "-----------------------------------------------------" -echo " Script: gfs_transfer.sh" -echo " " -echo " Purpose - Copy GFS Posts to /nwges and /com" -echo " Alert posted files to DBNet" -echo " " -echo " History - " -echo " Cooke - 04/21/05 - Inital version, based off of" -echo " global_transfer.sh" -echo " Meng - 01/04/18 - Remove writing data file to /nwges." -echo " Meng - 09/14/20 - Update model output format to netcdf for GFS V16" -echo "-----------------------------------------------------" -##################################################################### -set -xa - -# export CNVGRIB=/nwprod/util/exec/cnvgrib -# export GRB2INDX=/nwprod/util/exec/grb2index -# export WGRIB2=/nwprod/util/exec/wgrib2 - - -#if test "$SENDCOM" = "YES" -#then - # - # Save Pressure and SFLUX GRIB/GRIB Index files - # -# cp flxifile $COMOUT/${RUN}.${cycle}.sfluxgrbif$fhr - -# Chuang: keeping gfs surface files around because post and dng -# use them now - #if [[ $fhr -gt 84 ]] - #then - # if [[ $fhr -ne 120 && $fhr -ne 168 ]] - # then - # rm $COMOUT/${RUN}.${cycle}.bf$fhr - # fi - #fi -#fi - -############################################ -# Convert the sflux file to grib2 format: -############################################ -#cp $COMIN/${RUN}.${cycle}.sfluxgrbf$fhr sfluxgrbf$fhr -#if [ `expr $fhr % 3` -eq 0 ]; then -#$CNVGRIB -g12 -p40 $COMIN/${RUN}.${cycle}.sfluxgrbf$fhr sfluxgrbf${fhr}.grib2 -#$WGRIB2 sfluxgrbf${fhr}.grib2 -s> sfluxgrbf${fhr}.grib2.idx - -#if [ $SENDCOM = YES ] -#then -# cp sfluxgrbf${fhr}.grib2 $COMOUT/${RUN}.${cycle}.sfluxgrbf${fhr}.grib2 -# cp sfluxgrbf${fhr}.grib2.idx $COMOUT/${RUN}.${cycle}.sfluxgrbf${fhr}.grib2.idx -#fi - -#fi -# -# DBNet Alerts for gfs suite -# - -if test "$SENDDBN" = 'YES' -a "$RUN" = 'gfs' -then - #if [ `expr $fhr % 3` -eq 0 ]; then - #echo $DBNROOT/bin/dbn_alert MODEL GFS_SGB $job $COMOUT/${RUN}.${cycle}.sfluxgrbf$fhr - #echo $DBNROOT/bin/dbn_alert MODEL GFS_SGBI $job $COMOUT/${RUN}.${cycle}.sfluxgrbif$fhr - #echo $DBNROOT/bin/dbn_alert MODEL GFS_SGB_GB2 $job $COMOUT/${RUN}.${cycle}.sfluxgrbf${fhr}.grib2 - #echo $DBNROOT/bin/dbn_alert MODEL GFS_SGB_GB2_WIDX $job $COMOUT/${RUN}.${cycle}.sfluxgrbf${fhr}.grib2.idx - #fi - - fhr=`printf "%03d" $fhr` - $DBNROOT/bin/dbn_alert MODEL GFS_SF $job $COMOUT/${RUN}.t${cyc}z.atmf$fhr.nc - - - if [[ $fhr -gt 0 && $fhr -le 84 ]] - then - $DBNROOT/bin/dbn_alert MODEL GFS_BF $job $COMOUT/${RUN}.t${cyc}z.sfcf$fhr.nc - fi - if [[ $fhr -eq 120 ]] - then - $DBNROOT/bin/dbn_alert MODEL GFS_BF $job $COMOUT/${RUN}.t${cyc}z.sfcf$fhr.nc - fi -fi - -exit 0 - diff --git a/ush/global_nceppost.sh b/ush/global_nceppost.sh deleted file mode 100755 index 65fde56cf1..0000000000 --- a/ush/global_nceppost.sh +++ /dev/null @@ -1,505 +0,0 @@ - -################################################################################ -#### UNIX Script Documentation Block -# . . -# Script name: global_nceppost.sh -# Script description: Posts the global pressure GRIB file -# -# Author: Mark Iredell Org: NP23 Date: 1999-05-01 -# -# Abstract: This script reads a single global GFS IO file and (optionally) -# a global flux file and creates a global pressure GRIB file. -# The resolution and generating code of the output GRIB file can also -# be set in the argument list. -# -# Script history log: -# 1999-05-01 Mark Iredell -# 2007-04-04 Huiya Chuang: Modify the script to run unified post -# 2012-06-04 Jun Wang: add grib2 option -# 2015-03-20 Lin Gan: add Perl for Post XML performance upgrade -# 2016-02-08 Lin Gan: Modify to use Vertical Structure -# -# Usage: global_postgp.sh SIGINP FLXINP FLXIOUT PGBOUT PGIOUT IGEN -# -# Input script positional parameters: -# 1 Input sigma file -# defaults to $SIGINP -# 2 Input flux file -# defaults to $FLXINP -# 3 Output flux index file -# defaults to $FLXIOUT -# 4 Output pressure GRIB file -# defaults to $PGBOUT -# 5 Output pressure GRIB index file -# defaults to $PGIOUT, then to none -# 8 Model generating code, -# defaults to $IGEN, then to input sigma generating code -# -# Imported Shell Variables: -# SIGINP Input sigma file -# overridden by $1 -# FLXINP Input flux file -# overridden by $2 -# FLXIOUT Output flux index file -# overridden by $3 -# PGBOUT Output pressure GRIB file -# overridden by $4. If not defined, -# post will use the filename specified in -# the control file -# PGIOUT Output pressure GRIB index file -# overridden by $5; defaults to none -# IGEN Model generating code -# overridden by $8; defaults to input sigma generating code -##### Moorthi: Add new imported shell variable for running chgres -# CHGRESSH optional: the script to run chgres -# default to to ${USHglobal}/global_chgres.sh -# SIGLEVEL optional: the coordinate text file -# default to to /nwprod/fix/global_hyblev.l${LEVS}.txt -##### Chuang: Add new imported Shell Variable for ncep post -# OUTTYP Output file type read in by post -# 1: if user has a sigma file and needs post to run chgres to convert to gfs io file -# 2: if user already has a gfs io file -# 3: if user uses post to read sigma file directly -# 0: if user wishes to generate both gfsio and sigma files -# 4: if user uses post to read nemsio file directly -# VDATE Verifying date 10 digits yyyymmddhh -# GFSOUT Optional, output file name from chgres which is input file name to nceppost -# if model already runs gfs io, make sure GFSOUT is linked to the gfsio file -# CTLFILE Optional, Your version of control file if not using operational one -# OVERPARMEXEC Optional, the executable for changing Grib KPDS ID -# default to to ${EXECglobal}/overparm_grib -# CHGRESTHREAD Optional, speed up chgres by using multiple threads -# default to 1 -# FILTER Optional, set to 1 to filter SLP and 500 mb height using copygb -# D3DINP Optional, Inout D3D file, if not defined, post will run -# without processing D3D file -# D3DOUT Optional, output D3D file, if not defined, post will -# use the file name specified in the control file -# IPVOUT Optional, output IPV file, if not defined, post will -# use the file name specified in the control file -# GENPSICHI Optional, set to YES will generate psi and chi and -# append it to the end of PGBOUT. Default to NO -# GENPSICHIEXE Optional, specify where executable is for generating -# psi and chi. -######################################################################## -# EXECUTIL Directory for utility executables -# defaults to /nwprod/util/exec -# USHUTIL Directory for utility scripts -# defaults to /nwprod/util/ush -# EXECglobal Directory for global executables -# defaults to /nwprod/exec -# USHglobal Directory for global scripts -# defaults to /nwprod/ush -# DATA working directory -# (if nonexistent will be made, used and deleted) -# defaults to current working directory -# MP Multi-processing type ("p" or "s") -# defaults to "p", or "s" if LOADL_STEP_TYPE is not PARALLEL -# XC Suffix to add to executables -# defaults to none -# POSTGPEXEC Global post executable -# defaults to ${EXECglobal}/ncep_post -# GRBINDEX GRIB index maker -# defaults to ${EXECUTIL}/grbindex$XC -# ANOMCATSH Global anomaly GRIB script -# defaults to ${USHglobal/global_anomcat.sh -# POSTGPLIST File containing further namelist inputs -# defaults to /dev/null -# INISCRIPT Preprocessing script -# defaults to none -# LOGSCRIPT Log posting script -# defaults to none -# ERRSCRIPT Error processing script -# defaults to 'eval [[ $err = 0 ]]' -# ENDSCRIPT Postprocessing script -# defaults to none -# POSTGPVARS Other namelist inputs to the global post executable -# such as IDRT,KO,PO,KTT,KT,PT,KZZ,ZZ, -# NCPUS,MXBIT,IDS,POB,POT,MOO,MOOA,MOW,MOWA, -# ICEN,ICEN2,IENST,IENSI -# defaults to none set -# NTHREADS Number of threads -# defaults to 1 -# NTHSTACK Size of stack per thread -# defaults to 64000000 -# VERBOSE Verbose flag (YES or NO) -# defaults to NO -# PGMOUT Executable standard output -# defaults to $pgmout, then to '&1' -# PGMERR Executable standard error -# defaults to $pgmerr, then to '&1' -# pgmout Executable standard output default -# pgmerr Executable standard error default -# REDOUT standard output redirect ('1>' or '1>>') -# defaults to '1>', or to '1>>' to append if $PGMOUT is a file -# REDERR standard error redirect ('2>' or '2>>') -# defaults to '2>', or to '2>>' to append if $PGMERR is a file -# -# Exported Shell Variables: -# PGM Current program name -# pgm -# ERR Last return code -# err -# -# Modules and files referenced: -# scripts : $INISCRIPT -# $LOGSCRIPT -# $ERRSCRIPT -# $ENDSCRIPT -# $ANOMCATSH -# -# programs : $POSTGPEXEC -# $GRBINDEX -# -# input data : $1 or $SIGINP -# $2 or $SFCINP -# $POSTGPLIST -# -# output data: $3 or $FLXIOUT -# $4 or $PGBOUT -# $5 or $PGIOUT -# $PGMOUT -# $PGMERR -# -# scratch : ${DATA}/postgp.inp.sig -# ${DATA}/postgp.inp.flx -# ${DATA}/postgp.out.pgb -# -# Remarks: -# -# Condition codes -# 0 - no problem encountered -# >0 - some problem encountered -# -# Control variable resolution priority -# 1 Command line argument. -# 2 Environment variable. -# 3 Inline default. -# -# Attributes: -# Language: POSIX shell -# Machine: IBM SP -# -#### -################################################################################ -# Set environment. -export VERBOSE=${VERBOSE:-"NO"} -if [[ "$VERBOSE" = "YES" ]] -then - echo $(date) EXECUTING $0 $* >&2 - set -x -fi -# Command line arguments. -export SIGINP=${1:-${SIGINP}} -export FLXINP=${2:-${FLXINP}} -export FLXIOUT=${3:-${FLXIOUT}} -export PGBOUT=${4:-${PGBOUT}} -#export PGIOUT=${5:-${PGIOUT}} -export PGIOUT=${PGIOUT:-pgb.idx} -export IO=${6:-${IO:-0}} -export JO=${7:-${JO:-0}} -export IGEN=${8:-${IGEN:-0}} -# Directories. -export NWPROD=${NWPROD:-/nwprod} -#export EXECUTIL=${EXECUTIL:-$NWPROD/util/exec} -export USHUTIL=${USHUTIL:-$NWPROD/util/ush} -export EXECglobal=${EXECglobal:-$NWPROD/exec} -export USHglobal=${USHglobal:-$NWPROD/ush} -export DATA=${DATA:-$(pwd)} -# Filenames. -export MP=${MP:-$([[ $LOADL_STEP_TYPE = PARALLEL ]]&&echo "p"||echo "s")} -export XC=${XC} -export POSTGPEXEC=${POSTGPEXEC:-${EXECglobal}/ncep_post} -export OVERPARMEXEC=${OVERPARMEXEC:-${EXECglobal}/overparm_grib} -export ANOMCATSH=${ANOMCATSH:-${USHglobal}/global_anomcat.sh} -export CHGRESSH=${CHGRESSH:-${USHglobal}/global_chgres.sh} -export POSTGPLIST=${POSTGPLIST:-/dev/null} -export INISCRIPT=${INISCRIPT} -export ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'} -export LOGSCRIPT=${LOGSCRIPT} -export ENDSCRIPT=${ENDSCRIPT} -export GFSOUT=${GFSOUT:-gfsout} -export CTLFILE=${CTLFILE:-$NWPROD/parm/gfs_cntrl.parm} -export MODEL_OUT_FORM=${MODEL_OUT_FORM:-binarynemsiompiio} -export GRIBVERSION=${GRIBVERSION:-'grib1'} -# Other variables. -export POSTGPVARS=${POSTGPVARS} -export NTHREADS=${NTHREADS:-1} -export NTHSTACK=${NTHSTACK:-64000000} -export PGMOUT=${PGMOUT:-${pgmout:-'&1'}} -export PGMERR=${PGMERR:-${pgmerr:-'&2'}} -export CHGRESTHREAD=${CHGRESTHREAD:-1} -export FILTER=${FILTER:-1} -export GENPSICHI=${GENPSICHI:-NO} -export GENPSICHIEXE=${GENPSICHIEXE:-${EXECglobal}/genpsiandchi} -export ens=${ens:-NO} -#export D3DINP=${D3DINP:-/dev/null} -typeset -L1 l=$PGMOUT -[[ $l = '&' ]]&&a=''||a='>' -export REDOUT=${REDOUT:-'1>'$a} -typeset -L1 l=$PGMERR -[[ $l = '&' ]]&&a=''||a='>' -export REDERR=${REDERR:-'2>'$a} -################################################################################ -# Preprocessing -$INISCRIPT - -# Chuang: Run chgres if OUTTYP=1 or 0 - -export APRUN=${APRUNP:-${APRUN:-""}} - -# exit if SIGINP does not exist -if [ ${OUTTYP} -le 3 ] ; then - if [ ! -s $SIGINP ] ; then - echo "sigma file not found, exitting" - exit 111 - fi -fi - -export SIGHDR=${SIGHDR:-$NWPROD/exec/global_sighdr} -export IDRT=${IDRT:-4} - -if [ ${OUTTYP} -le 1 ] ; then - export JCAP=${JCAP:-`echo jcap|$SIGHDR ${SIGINP}`} - export LEVS=${LEVS:-`echo levs|$SIGHDR ${SIGINP}`} - export IDVC=${IDVC:-$(echo idvc|$SIGHDR ${SIGINP})} - export IDVM=${IDVM:-$(echo idvm|$SIGHDR ${SIGINP})} - export NVCOORD=${NVCOORD:-$(echo nvcoord|$SIGHDR ${SIGINP})} - export IVSSIG=${IVSSIG:-$(echo ivs|$SIGHDR ${SIGINP})} - export LATCH=${LATCH:-8} - if [ ${OUTTYP} -eq 1 ] ; then - export CHGRESVARS="IDVC=$IDVC,IDVM=$IDVM,NVCOORD=$NVCOORD,IVSSIG=$IVSSIG,LATCH=$LATCH," - elif [ ${OUTTYP} -eq 0 ] ; then - export CHGRESVARS="LATCH=$LATCH,$CHGRESVARS" - fi - #export SIGLEVEL=${SIGLEVEL:-""} - export SIGLEVEL=${SIGLEVEL:-"$NWPROD/fix/global_hyblev.l${LEVS}.txt"} - # specify threads for running chgres - export OMP_NUM_THREADS=$CHGRESTHREAD - export NTHREADS=$OMP_NUM_THREADS - if [ ${JCAP} -eq 574 -a ${IDRT} -eq 4 ] - then - export NTHSTACK=1024000000 - fi - export XLSMPOPTS="parthds=$NTHREADS:stack=$NTHSTACK" - - $CHGRESSH - - export ERR=$? - export err=$ERR - $ERRSCRIPT||exit 1 - -# run post to read sigma file directly if OUTTYP=3 -elif [ ${OUTTYP} -eq 3 ] ; then - export LONB=${LONB:-`echo lonb|$SIGHDR ${SIGINP}`} - export LATB=${LATB:-`echo latb|$SIGHDR ${SIGINP}`} - export MODEL_OUT_FORM=sigio - export GFSOUT=${SIGINP} - -# run post to read nemsio file if OUTTYP=4 -elif [ ${OUTTYP} -eq 4 ] ; then - export nemsioget=${nemsioget:-$EXECglobal/nemsio_get} - export LONB=${LONB:-$($nemsioget $NEMSINP dimx | awk '{print $2}')} - export LATB=${LATB:-$($nemsioget $NEMSINP dimy | awk '{print $2}')} - export JCAP=${JCAP:-`expr $LATB - 2`} -# export LONB=${LONB:-$($nemsioget $NEMSINP lonf |grep -i "lonf" |awk -F"= " '{print $2}' |awk -F" " '{print $1}')} -# export LATB=${LATB:-$($nemsioget $NEMSINP latg |grep -i "latg" |awk -F"= " '{print $2}' |awk -F" " '{print $1}')} -# export JCAP=${JCAP:-$($nemsioget $NEMSINP jcap |grep -i "jcap" |awk -F"= " '{print $2}' |awk -F" " '{print $1}')} - - export MODEL_OUT_FORM=${MODEL_OUT_FORM:-binarynemsiompiio} - export GFSOUT=${NEMSINP} - ln -sf $FIXglobal/fix_am/global_lonsperlat.t${JCAP}.${LONB}.${LATB}.txt ./lonsperlat.dat - ln -sf $FIXglobal/fix_am/global_hyblev.l${LEVS}.txt ./global_hyblev.txt -fi - -# allow threads to use threading in Jim's sp lib -# but set default to 1 -export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1} - -pwd=$(pwd) -if [[ -d $DATA ]] -then - mkdata=NO -else - mkdir -p $DATA - mkdata=YES -fi -cd $DATA||exit 99 -################################################################################ -# Post GRIB -export PGM=$POSTGPEXEC -export pgm=$PGM -$LOGSCRIPT -cat <postgp.inp.nml$$ - &NAMPGB - $POSTGPVARS -EOF - -cat <>postgp.inp.nml$$ - / -EOF -if [[ "$VERBOSE" = "YES" ]] -then - cat postgp.inp.nml$$ -fi - -# making the time stamp format for ncep post -export YY=`echo $VDATE | cut -c1-4` -export MM=`echo $VDATE | cut -c5-6` -export DD=`echo $VDATE | cut -c7-8` -export HH=`echo $VDATE | cut -c9-10` - -cat > itag <> itag - -cat itag - -rm -f fort.* - -#ln -sf $SIGINP postgp.inp.sig$$ -#ln -sf $FLXINP postgp.inp.flx$$ -#ln -sf $PGBOUT postgp.out.pgb$$ - -# change model generating Grib number -if [ ${GRIBVERSION} = grib1 ]; then - - if [ ${IGEN} -le 9 ] ; then - cat ${CTLFILE}|sed s:00082:0000${IGEN}:>./gfs_cntrl.parm - elif [ ${IGEN} -le 99 ] ; then - cat ${CTLFILE}|sed s:00082:000${IGEN}:>./gfs_cntrl.parm - elif [ ${IGEN} -le 999 ] ; then - cat ${CTLFILE}|sed s:00082:00${IGEN}:>./gfs_cntrl.parm - else - ln -sf ${CTLFILE} ./gfs_cntrl.parm - fi - ln -sf ./gfs_cntrl.parm fort.14 - -elif [ ${GRIBVERSION} = grib2 ]; then - cp ${POSTGRB2TBL} . - cp ${PostFlatFile} ./postxconfig-NT.txt - if [ ${ens} = "YES" ] ; then - sed < ${PostFlatFile} -e "s#negatively_pert_fcst#${ens_pert_type}#" > ./postxconfig-NT.txt - fi -# cp ${CTLFILE} postcntrl.xml - -fi -export CTL=`basename $CTLFILE` - -ln -sf griddef.out fort.110 -cp ${PARMglobal}/nam_micro_lookup.dat ./eta_micro_lookup.dat - -${APRUN:-mpirun.lsf} $POSTGPEXEC < itag > outpost_gfs_${VDATE}_${CTL} - -export ERR=$? -export err=$ERR -$ERRSCRIPT||exit 2 - -if [ $FILTER = "1" ] ; then - -# Filter SLP and 500 mb height using copygb, change GRIB ID, and then -# cat the filtered fields to the pressure GRIB file, from Iredell - -if [ $GRIBVERSION = grib1 ]; then - $COPYGB -x -i'4,0,80' -k'4*-1,1,102' $PGBOUT tfile - ln -s -f tfile fort.11 - ln -s -f prmsl fort.51 - echo 0 2|$OVERPARMEXEC - $COPYGB -x -i'4,1,5' -k'4*-1,7,100,500' $PGBOUT tfile - ln -s -f tfile fort.11 - ln -s -f h5wav fort.51 - echo 0 222|$OVERPARMEXEC - -#cat $PGBOUT prmsl h5wav >> $PGBOUT - cat prmsl h5wav >> $PGBOUT - -elif [ $GRIBVERSION = grib2 ]; then - if [ ${ens} = YES ] ; then - $COPYGB2 -x -i'4,0,80' -k'1 3 0 7*-9999 101 0 0' $PGBOUT tfile - else - $COPYGB2 -x -i'4,0,80' -k'0 3 0 7*-9999 101 0 0' $PGBOUT tfile - fi - $WGRIB2 tfile -set_byte 4 11 1 -grib prmsl - if [ ${ens} = YES ] ; then - $COPYGB2 -x -i'4,1,5' -k'1 3 5 7*-9999 100 0 50000' $PGBOUT tfile - else - $COPYGB2 -x -i'4,1,5' -k'0 3 5 7*-9999 100 0 50000' $PGBOUT tfile - fi - $WGRIB2 tfile -set_byte 4 11 193 -grib h5wav - -#cat $PGBOUT prmsl h5wav >> $PGBOUT - - cat prmsl h5wav >> $PGBOUT - -fi - -fi - -################################################################################ -# Anomaly concatenation -# for now just do anomaly concentration for grib1 -if [ $GRIBVERSION = grib1 ]; then - - if [[ -x $ANOMCATSH ]] - then - if [[ -n $PGIOUT ]] - then - $GRBINDEX $PGBOUT $PGIOUT - fi - export PGM=$ANOMCATSH - export pgm=$PGM - $LOGSCRIPT - - eval $ANOMCATSH $PGBOUT $PGIOUT - - export ERR=$? - export err=$ERR - $ERRSCRIPT||exit 3 - fi -fi -################################################################################ -# Make GRIB index file -if [[ -n $PGIOUT ]] -then - if [ $GRIBVERSION = grib2 ]; then - # JY $GRBINDEX2 $PGBOUT $PGIOUT - $GRB2INDEX $PGBOUT $PGIOUT - else - $GRBINDEX $PGBOUT $PGIOUT - fi -fi -if [[ -r $FLXINP && -n $FLXIOUT && $OUTTYP -le 3 ]] -then - $GRBINDEX $FLXINP $FLXIOUT -fi -################################################################################ -# generate psi and chi -echo "GENPSICHI= " $GENPSICHI -if [ $GENPSICHI = YES ] ; then -#echo "PGBOUT PGIOUT=" $PGBOUT $PGIOUT -#echo "YY MM=" $YY $MM - export psichifile=./psichi.grb - $GENPSICHIEXE < postgp.inp.nml$$ - rc=$? - if [[ $rc -ne 0 ]] ; then echo 'Nonzero return code rc= '$rc ; exit 3 ; fi - cat ./psichi.grb >> $PGBOUT -fi -################################################################################ -# Postprocessing -cd $pwd -[[ $mkdata = YES ]]&&rmdir $DATA -$ENDSCRIPT -set +x -if [[ "$VERBOSE" = "YES" ]] -then - echo $(date) EXITING $0 with return code $err >&2 -fi -exit $err diff --git a/ush/link_crtm_fix.sh b/ush/link_crtm_fix.sh deleted file mode 100755 index 1ce1085ecd..0000000000 --- a/ush/link_crtm_fix.sh +++ /dev/null @@ -1,35 +0,0 @@ -#! /bin/sh - -# Get CRTM fix directory from (in this order): -# 1. First argument to script, or -# 2. $FIXCRTM environment variable, or -# 3. Nowhere. Give up. Whine. -FIXCRTM="${1:-${FIXCRTM:-MISSING}}" - -if [[ "$FIXCRTM" == "MISSING" ]] ; then - echo "Please specify CRTM fix location. Giving up." 1>&2 - exit 19 -fi -if [[ ! -d "$FIXCRTM" ]] ; then - echo "$FIXCRTM: \$FIXCRTM is not a directory. Giving up." 1>&2 - exit 38 -fi - -for what in "amsre_aqua" "imgr_g11" "imgr_g12" "imgr_g13" \ - "imgr_g15" "imgr_mt1r" "imgr_mt2" "seviri_m10" \ - "ssmi_f13" "ssmi_f14" "ssmi_f15" "ssmis_f16" \ - "ssmis_f17" "ssmis_f18" "ssmis_f19" "ssmis_f20" \ - "tmi_trmm" "v.seviri_m10" "imgr_insat3d" "abi_gr" "ahi_himawari8" ; do - ln -s "$FIXCRTM/$what.TauCoeff.bin" . - ln -s "$FIXCRTM/$what.SpcCoeff.bin" . -done - -for what in 'Aerosol' 'Cloud' ; do - ln -s "$FIXCRTM/${what}Coeff.bin" . -done - -for what in $FIXCRTM/*Emis* ; do - ln -s $what . -done - -exit 0 diff --git a/ush/mod_icec.sh b/ush/mod_icec.sh deleted file mode 100755 index bb8c22182f..0000000000 --- a/ush/mod_icec.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -set -x -#This script is used for modifing icee via land-sea mask -#Wen Meng 11/2019: First Version - -f=$1 - -export WGRIB2=${WGRIB2:-${NWPROD:-/nwprod}/util/exec/wgrib2} - -$WGRIB2 $optncpu $f \ - -if 'LAND' -rpn 'sto_1' -fi \ - -if 'ICEC' -rpn 'rcl_1:0:==:*' -fi \ - -set_grib_type same \ - -set_scaling same same \ - -grib_out $f.new -export err=$?; err_chk -mv $f.new $f - -exit 0 - -#-if 'ICEC' -rpn 'rcl_1:-1:*:1:+:*' -fi \ - - diff --git a/ush/trim_rh.sh b/ush/trim_rh.sh deleted file mode 100755 index 9140e97124..0000000000 --- a/ush/trim_rh.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/ksh -set -x - -#This is scripts is used to trim RH vaule larger than 100. -# Wen Meng 12/2017: First Version - -f=$1 - -export WGRIB2=${WGRIB2:-${NWPROD:-/nwprod}/util/exec/wgrib2} - -$WGRIB2 $optncpu $f -not_if ':RH:' -grib $f.new \ - -if ':RH:' -rpn "10:*:0.5:+:floor:1000:min:10:/" -set_grib_type same \ - -set_scaling -1 0 -grib_out $f.new -export err=$?; err_chk -mv $f.new $f - -exit 0