From 967b894652c76a48e32e43afd16f2d2e93b3014c Mon Sep 17 00:00:00 2001 From: ana espinoza Date: Wed, 25 Sep 2024 13:24:36 -0600 Subject: [PATCH 01/10] Init mvu24f --- jupyter-images/mvu24f/.condarc | 2 + jupyter-images/mvu24f/Acknowledgements.ipynb | 43 ++++++ jupyter-images/mvu24f/Dockerfile | 42 ++++++ .../mvu24f/additional_kernels.ipynb | 52 +++++++ jupyter-images/mvu24f/build.sh | 28 ++++ jupyter-images/mvu24f/default_kernel.py | 67 +++++++++ jupyter-images/mvu24f/environment.yml | 34 +++++ jupyter-images/mvu24f/overrides.json | 7 + jupyter-images/mvu24f/secrets.yaml | 114 +++++++++++++++ jupyter-images/mvu24f/update_material.ipynb | 138 ++++++++++++++++++ 10 files changed, 527 insertions(+) create mode 100644 jupyter-images/mvu24f/.condarc create mode 100644 jupyter-images/mvu24f/Acknowledgements.ipynb create mode 100644 jupyter-images/mvu24f/Dockerfile create mode 100644 jupyter-images/mvu24f/additional_kernels.ipynb create mode 100755 jupyter-images/mvu24f/build.sh create mode 100755 jupyter-images/mvu24f/default_kernel.py create mode 100644 jupyter-images/mvu24f/environment.yml create mode 100644 jupyter-images/mvu24f/overrides.json create mode 100644 jupyter-images/mvu24f/secrets.yaml create mode 100644 jupyter-images/mvu24f/update_material.ipynb diff --git a/jupyter-images/mvu24f/.condarc b/jupyter-images/mvu24f/.condarc new file mode 100644 index 00000000..7c536d94 --- /dev/null +++ b/jupyter-images/mvu24f/.condarc @@ -0,0 +1,2 @@ +envs_dirs: + - /home/jovyan/additional-envs diff --git a/jupyter-images/mvu24f/Acknowledgements.ipynb b/jupyter-images/mvu24f/Acknowledgements.ipynb new file mode 100644 index 00000000..fae591fc --- /dev/null +++ b/jupyter-images/mvu24f/Acknowledgements.ipynb @@ -0,0 +1,43 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c86cd54f-b73c-4781-b6eb-89c79d3d3b22", + "metadata": {}, + "source": [ + "## Acknowledgements\n", + "\n", + "Launching this JupyterHub server is the result of a collaboration between several research and academic institutions and their staff. For Jetstream2 and JupyterHub expertise, we thank Andrea Zonca (San Diego Supercomputing Center), Jeremy Fischer, Mike Lowe (Indiana University), the NSF Jetstream2 (`doi:10.1145/3437359.3465565`) team.\n", + "\n", + "This work employs the NSF Jetstream2 Cloud at Indiana University through allocation EES220002 from the Advanced Cyberinfrastructure Coordination Ecosystem: Services & Support (ACCESS) program, which is supported by National Science Foundation grants #2138259, #2138286, #2138307, #2137603, and #2138296.\n", + "\n", + "Unidata is one of the University Corporation for Atmospheric Research (UCAR)'s Community Programs (UCP), and is funded primarily by the National Science Foundation (AGS-2403649).\n", + "\n", + "## To Acknowledge This JupyterHub and the Unidata Science Gateway\n", + "\n", + "If you have benefited from the Unidata Science Gateway, please cite `doi:10.5065/688s-2w73`. Additional citation information can be found in this [Citation File Format file](https://raw.githubusercontent.com/Unidata/science-gateway/master/CITATION.cff).\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/jupyter-images/mvu24f/Dockerfile b/jupyter-images/mvu24f/Dockerfile new file mode 100644 index 00000000..7289d7bb --- /dev/null +++ b/jupyter-images/mvu24f/Dockerfile @@ -0,0 +1,42 @@ +# Heavily borrowed from docker-stacks/minimal-notebook/ +# https://github.com/jupyter/docker-stacks/blob/main/minimal-notebook/Dockerfile + +ARG BASE_CONTAINER=jupyter/minimal-notebook +FROM $BASE_CONTAINER + +ENV DEFAULT_ENV_NAME=mvu24f EDITOR=nano VISUAL=nano + +LABEL maintainer="Unidata " + +USER root + +RUN apt-get update && \ + apt-get install -y --no-install-recommends vim nano curl zip unzip && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +USER $NB_UID + +ADD environment.yml /tmp + +RUN mamba install --quiet --yes \ + 'conda-forge::nb_conda_kernels' \ + 'conda-forge::jupyterlab-git' \ + 'conda-forge::ipywidgets' && \ + mamba env update --name $DEFAULT_ENV_NAME -f /tmp/environment.yml && \ + pip install --no-cache-dir nbgitpuller && \ + mamba clean --all -f -y && \ + jupyter lab clean -y && \ + npm cache clean --force && \ + rm -rf /home/$NB_USER/.cache/yarn && \ + rm -rf /home/$NB_USER/.node-gyp && \ + fix-permissions $CONDA_DIR && \ + fix-permissions /home/$NB_USER + +COPY additional_kernels.ipynb update_material.ipynb Acknowledgements.ipynb \ + default_kernel.py .condarc / + +ARG JUPYTER_SETTINGS_DIR=/opt/conda/share/jupyter/lab/settings/ +COPY overrides.json $JUPYTER_SETTINGS_DIR + +USER $NB_UID diff --git a/jupyter-images/mvu24f/additional_kernels.ipynb b/jupyter-images/mvu24f/additional_kernels.ipynb new file mode 100644 index 00000000..e59cdd0f --- /dev/null +++ b/jupyter-images/mvu24f/additional_kernels.ipynb @@ -0,0 +1,52 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a9d9cf3f-590d-40ef-8421-a9789a03bb07", + "metadata": {}, + "source": [ + "### Creating Additional Kernels\n", + "\n", + "You can also create additional kernels and have them be available via the kernel menu. Your kernel must contain the `nb_conda_kernels` and `ipykernel` packages for this to work. For example, if you wish to have a kernel with the `seaborn` package, you can create the following `environment.yml` from the terminal with the `pico` editor:\n", + "\n", + "```yaml\n", + " name: myenv\n", + " channels:\n", + " - conda-forge\n", + " dependencies:\n", + " - python=3\n", + " - seaborn\n", + " - nb_conda_kernels\n", + " - ipykernel\n", + "```\n", + "\n", + "followed by\n", + "\n", + "`mamba env update --name myenv -f environment.yml`\n", + "\n", + "at this point `myenv` will be available via the `Kernel → Change kernel...` menu." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/jupyter-images/mvu24f/build.sh b/jupyter-images/mvu24f/build.sh new file mode 100755 index 00000000..2b6fad0a --- /dev/null +++ b/jupyter-images/mvu24f/build.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Check if an image name is provided +if [ -z "$1" ]; then + echo "Error: No image name provided." + echo "Usage: $0 " + exit 1 +fi + +IMAGE_NAME=$1 + +DATE_TAG=$(date "+%Y%b%d_%H%M%S") +RANDOM_HEX=$(openssl rand -hex 2) +TAG="${DATE_TAG}_${RANDOM_HEX}" + +FULL_TAG="unidata/$IMAGE_NAME:$TAG" + +echo "Building Docker image with tag: $FULL_TAG" + +docker build --no-cache --pull --tag "$FULL_TAG" . + +# Check if the build was successful +if [ $? -eq 0 ]; then + echo "Docker image built successfully: $FULL_TAG" +else + echo "Error: Docker build failed." + exit 1 +fi diff --git a/jupyter-images/mvu24f/default_kernel.py b/jupyter-images/mvu24f/default_kernel.py new file mode 100755 index 00000000..f4d6d81e --- /dev/null +++ b/jupyter-images/mvu24f/default_kernel.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python + +import argparse +import glob +import json +import os +import re + + +def update_kernelspec_in_notebooks(directory, new_name): + """ + Updates the kernelspec in all Jupyter Notebook files within the specified + directory and its subdirectories, while preserving the original file + formatting. + + Args: + directory (str): The path to the directory containing .ipynb files. + new_name (str): The new name to set in the kernelspec. + """ + for file_path in glob.glob(f'{directory}/**/*.ipynb', recursive=True): + try: + with open(file_path, 'r', encoding='utf-8') as file: + file_contents = file.read() + notebook = json.loads(file_contents) + + if 'kernelspec' not in notebook.get('metadata', {}): + print(f"No kernelspec found in {file_path}. Skipping file.") + continue + + kernelspec = notebook['metadata']['kernelspec'] + kernelspec['display_name'] = f"Python [conda env:{new_name}]" + kernelspec['name'] = f"conda-env-{new_name}-py" + + # Convert the updated kernelspec dictionary to a JSON-formatted + # string with indentation + updated_kernelspec = json.dumps(kernelspec, indent=4) + + # Replace the existing kernelspec section in the original file + # contents with the updated JSON string. The regular expression + # looks for the "kernelspec" key and replaces its entire value + # (including nested structures), preserving the overall structure + # and formatting of the file. + updated_contents = re.sub( + r'"kernelspec": \{.*?\}', + f'"kernelspec": {updated_kernelspec}', + file_contents, flags=re.DOTALL + ) + + with open(file_path, 'w', encoding='utf-8') as file: + file.write(updated_contents) + + except Exception as e: + print(f"Error processing file {file_path}: {e}") + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Update the kernel name in " + "Jupyter Notebook files in directory " + "tree.") + parser.add_argument("new_kernel_name", help="New kernel name to set.") + parser.add_argument("directory_path", nargs='?', default=os.getcwd(), + help="Directory containing .ipynb files (default: " + "current directory).") + + args = parser.parse_args() + + update_kernelspec_in_notebooks(args.directory_path, args.new_kernel_name) diff --git a/jupyter-images/mvu24f/environment.yml b/jupyter-images/mvu24f/environment.yml new file mode 100644 index 00000000..75b5d712 --- /dev/null +++ b/jupyter-images/mvu24f/environment.yml @@ -0,0 +1,34 @@ +name: mvu24f +channels: + - rttools + - conda-forge + - defaults +dependencies: + - python=3.10 + - numpy + - matplotlib + - pandas + - scipy + - metpy + - xarray + - scikit-learn + #- wrf-python + - cartopy + - seaborn + - netcdf4 + - pyorbital + - pytz + - siphon + - statsmodels + - pip + - cfgrib + - climlab + - climlab-rrtmg + - typhon + - ipympl + - proplot + - pyarts=2.5.12 + - pip: + - miepython +variables: + ARTS_DATA_PATH: /share/share/ESCI345/arts-xml-data/ diff --git a/jupyter-images/mvu24f/overrides.json b/jupyter-images/mvu24f/overrides.json new file mode 100644 index 00000000..c60d6b61 --- /dev/null +++ b/jupyter-images/mvu24f/overrides.json @@ -0,0 +1,7 @@ +{ + "@jupyterlab/docmanager-extension:plugin": { + "defaultViewers": { + "markdown": "Markdown Preview" + } + } +} diff --git a/jupyter-images/mvu24f/secrets.yaml b/jupyter-images/mvu24f/secrets.yaml new file mode 100644 index 00000000..20d37074 --- /dev/null +++ b/jupyter-images/mvu24f/secrets.yaml @@ -0,0 +1,114 @@ +hub: + cookieSecret: "xxx" + config: + Authenticator: + admin_users: + - admins + #If you have a large list of users, consider using allowed_users.yaml + allowed_users: + - users + # necessary for jhub admins to add user via admin page `/hub/admin` + allow_existing_users: true + GitHubOAuthenticator: + client_id: "xxx" + client_secret: "xxx" + oauth_callback_url: "https://mvu24f-1.ees220002.projects.jetstream-cloud.org:443/oauth_callback" + JupyterHub: + authenticator_class: github + extraConfig: + 01-no-labels: | + from kubespawner import KubeSpawner + class CustomSpawner(KubeSpawner): + def _build_common_labels(self, extra_labels): + labels = super()._build_common_labels(extra_labels) + # Until https://github.com/jupyterhub/kubespawner/issues/498 + # is fixed + del labels['hub.jupyter.org/username'] + return labels + c.JupyterHub.spawner_class = CustomSpawner + +proxy: + secretToken: "xxx" + +ingress: + enabled: true + annotations: + kubernetes.io/ingress.class: "nginx" + cert-manager.io/cluster-issuer: "letsencrypt" + #For manually issuing certificates: see vms/jupyter/readme.md + #cert-manager.io/issuer: "incommon" + nginx.ingress.kubernetes.io/proxy-body-size: 500m + hosts: + - "mvu24f-1.ees220002.projects.jetstream-cloud.org" + tls: + - hosts: + - "mvu24f-1.ees220002.projects.jetstream-cloud.org" + secretName: certmanager-tls-jupyterhub + +#For having a dedicated core node: see vms/jupyter/readme.md +#scheduling: +# corePods: +# tolerations: +# - key: hub.jupyter.org/dedicated +# operator: Equal +# value: core +# effect: NoSchedule +# - key: hub.jupyter.org_dedicated +# operator: Equal +# value: core +# effect: NoSchedule +# nodeAffinity: +# matchNodePurpose: require + +singleuser: + extraEnv: + NBGITPULLER_DEPTH: "0" + storage: + capacity: 30Gi + startTimeout: 600 + memory: + guarantee: 12G + limit: 24G + cpu: + guarantee: 4 + limit: 6 + defaultUrl: "/lab" + image: + name: "unidata/mvu24f" + tag: "xxx" + lifecycleHooks: + postStart: + exec: + command: + - "bash" + - "-c" + - > + dir="/home/jovyan/.ssh"; [ -d $dir ] && { chmod 700 $dir && chmod -f 600 $dir/* && chmod -f 644 $dir/*.pub; } || true; + cp -t /home/jovyan /Acknowledgements.ipynb \ + /update_material.ipynb /additional_kernels.ipynb; + gitpuller https://github.com/wblumberg/ESCI448.git main esci448; + gitpuller https://github.com/wblumberg/ESCI446.git main esci446; + gitpuller https://github.com/wblumberg/ESCI345.git main esci345; + python /default_kernel.py $DEFAULT_ENV_NAME /home/jovyan; + [[ -f $HOME/.bashrc ]] || cp /etc/skel/.bashrc $HOME/; + [[ -f $HOME/.profile ]] || cp /etc/skel/.profile $HOME/; + [[ -f $HOME/.bash_logout ]] || cp /etc/skel/.bash_logout $HOME/; + [[ -f $HOME/.condarc ]] || cp /.condarc $HOME/; + [ -d "/share/share" ] && [ ! -L ~/share ] && ln -s /share/share ~/share || true; + #Multiple profiles: see vms/jupyter/readme.md + profileList: + - display_name: "High Power (default)" + description: "Up to 24 GB of memory; up to 6 vCPUs" + kubespawner_override: + mem_guarantee: 12G + mem_limit: 24G + cpu_guarantee: 4 + cpu_limit: 6 + default: true + - display_name: "Low Power" + description: "6 GB of memory; up to 2 vCPUS" + kubespawner_override: + mem_guarantee: 6G + mem_limit: 6G + cpu_guarantee: 1 + cpu_limit: 2 diff --git a/jupyter-images/mvu24f/update_material.ipynb b/jupyter-images/mvu24f/update_material.ipynb new file mode 100644 index 00000000..5a052e01 --- /dev/null +++ b/jupyter-images/mvu24f/update_material.ipynb @@ -0,0 +1,138 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "
\n", + "\n", + "
\n", + "\"Unidata\n", + "
\n", + "\n", + "

Update Notebook Material

\n", + "

by Unidata

\n", + "\n", + "
\n", + "
\n", + "\n", + "---\n", + "\n", + "This notebook can be used to update material whenever updates are posted.\n", + "\n", + "---\n", + "\n", + "## Running the Update\n", + "\n", + "When you run the following cell, any changes from the workshop GitHub repository will be applied to the material under the directory defined by `gitdir` in your workspace.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "repourls = [\"https://github.com/wblumberg/ESCI448.git\", \"https://github.com/wblumberg/ESCI446.git\", \"https://github.com/wblumberg/ESCI345.git\"]\n", + "branches = [\"main\", \"main\"]\n", + "gitdirs = [\"esci448\", \"esci446\", \"esci345\"]\n", + "\n", + "for repourl, branch, gitdir in zip(repourls, branches, gitdirs):\n", + " !gitpuller {repourl} {branch} {gitdir}" + ] + + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "## What to expect?\n", + "\n", + "### No Updates Available\n", + "\n", + "If there are no updates to the material, the output from the cell will look something like the following:\n", + "\n", + "~~~bash\n", + "$ git fetch\n", + "\n", + "$ git reset --mixed\n", + "\n", + "$ git -c user.email=nbgitpuller@nbgitpuller.link -c user.name=nbgitpuller merge -Xours origin/main\n", + "\n", + "Already up to date.\n", + "~~~\n", + "\n", + "### Updates are Available\n", + "If there are updates to the material, the output will show the updated files being pulled, for example:\n", + "\n", + "~~~bash\n", + "$ git fetch\n", + "\n", + "From https://github.com/Unidata/users-workshop-2023\n", + "\n", + " 193f5d9..392761e main -> origin/main\n", + "\n", + "$ git reset --mixed\n", + "\n", + "$ git -c user.email=nbgitpuller@nbgitpuller.link -c user.name=nbgitpuller merge -Xours origin/main\n", + "\n", + "Updating 193f5d9..392761e\n", + "\n", + "Fast-forward\n", + "\n", + " {monday => 1_monday}/martin_tabular/TabularSummer2023.ipynb | 0\n", + "\n", + " .../breakout_sessions/Intro_to_sklearn_2023.ipynb | 0\n", + "\n", + " {thursday => 4_thursday}/Grover_Open_Science/placeholder.rtf | 0\n", + "\n", + " README.md | 2 ++\n", + "\n", + " 4 files changed, 2 insertions(+)\n", + "\n", + " rename {monday => 1_monday}/martin_tabular/TabularSummer2023.ipynb (100%)\n", + "\n", + " rename {wednesday => 3_wednesday}/breakout_sessions/Intro_to_sklearn_2023.ipynb (100%)\n", + "\n", + " rename {thursday => 4_thursday}/Grover_Open_Science/placeholder.rtf (100%)\n", + "~~~\n", + "\n", + "That's it!\n", + "Now you have the latest and greatest material." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From 04f45e863ec69d1ce9e98311aec716006250b9c1 Mon Sep 17 00:00:00 2001 From: ana espinoza Date: Wed, 25 Sep 2024 13:48:17 -0600 Subject: [PATCH 02/10] Fix gitpuller array --- jupyter-images/mvu24f/update_material.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jupyter-images/mvu24f/update_material.ipynb b/jupyter-images/mvu24f/update_material.ipynb index 5a052e01..590df117 100644 --- a/jupyter-images/mvu24f/update_material.ipynb +++ b/jupyter-images/mvu24f/update_material.ipynb @@ -37,7 +37,7 @@ "outputs": [], "source": [ "repourls = [\"https://github.com/wblumberg/ESCI448.git\", \"https://github.com/wblumberg/ESCI446.git\", \"https://github.com/wblumberg/ESCI345.git\"]\n", - "branches = [\"main\", \"main\"]\n", + "branches = [\"main\", \"main\", \"main\"]\n", "gitdirs = [\"esci448\", \"esci446\", \"esci345\"]\n", "\n", "for repourl, branch, gitdir in zip(repourls, branches, gitdirs):\n", From ed071e0b2c87cc95c4fab65de6dcff5a120f08ab Mon Sep 17 00:00:00 2001 From: ana espinoza Date: Wed, 2 Oct 2024 11:25:30 -0600 Subject: [PATCH 03/10] Add ideal WRF, ipykernel --- jupyter-images/mvu24f/Dockerfile | 149 ++++++++++++++++++++++++++ jupyter-images/mvu24f/environment.yml | 6 +- 2 files changed, 154 insertions(+), 1 deletion(-) diff --git a/jupyter-images/mvu24f/Dockerfile b/jupyter-images/mvu24f/Dockerfile index 7289d7bb..8aeb9ae5 100644 --- a/jupyter-images/mvu24f/Dockerfile +++ b/jupyter-images/mvu24f/Dockerfile @@ -1,3 +1,152 @@ +# Multistage Docker build to include the WRF single column model in a +# JupyterLab environment + +FROM ubuntu as build-wrf + +#################################################### +# Begin WRF ideal single column model compilation # +#################################################### + +# Mostly following the steps outlined here: +# https://forum.mmm.ucar.edu/threads/full-wrf-and-wps-installation-example.12385/ + +# Dependencies missing from base image +RUN apt-get update && apt-get install --yes --no-install-recommends \ + gcc cpp gfortran g++ openmpi-bin libopenmpi-dev git csh perl file \ + make m4 curl vim ca-certificates && \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +# Run tests recommended by MMM to confirm the fortran and c compilers are +# functioning as expected +# https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php#STEP1 +RUN set -x && cd / && mkdir TESTS && cd TESTS && \ + curl https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_tests.tar -O && \ + tar -xf Fortran_C_tests.tar && \ + gfortran TEST_1_fortran_only_fixed.f && ./a.out && \ + gfortran TEST_2_fortran_only_free.f90 && ./a.out && \ + gcc TEST_3_c_only.c && ./a.out && \ + gcc -c -m64 TEST_4_fortran+c_c.c && gfortran -c -m64 TEST_4_fortran+c_f.f90 && \ + gfortran -m64 TEST_4_fortran+c_f.o TEST_4_fortran+c_c.o && ./a.out && \ + ./TEST_csh.csh && \ + ./TEST_perl.pl && \ + ./TEST_sh.sh && \ + cd / && rm -rf TESTS + +# Test for other utilities +RUN which ar awk cat cp cut expr file grep gzip \ + head hostname ln ls make mkdir mv nm printf rm \ + sed sleep sort tar touch tr uname wc which m4 + +########################################################### +# Library and software versions +########################################################### + +ENV NETCDF_VERSION=4.9.0 \ + NETCDF_F_VERSION=4.5.3 \ + WRF_VERSION=4.4.2 + +########################################################### +# Library and software PATHS +########################################################### + +ENV DIR=/Build_WRF/LIBRARIES +ENV NETCDF=$DIR/netcdf +ENV PATH=$NETCDF/bin:$PATH \ + LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NETCDF/lib:/$ZLIB_DIR/lib + +RUN mkdir -p $DIR + +########################################################### +# Compiler options +########################################################### + +ENV CC=gcc \ + CXX=g++ \ + FC=gfortran \ + FCFLAGS=-m64 \ + F77=gfortran \ + FFLAGS=-m64 \ + LDFLAGS="-L$NETCDF/lib" \ + CPPFLAGS="-I$NETCDF/include" + +########################################################### +# Build libraries +########################################################### + +# netcdf-c +# BUILT WITH "--disable-netcdf4" SO WE COMPILE WRF WITH "NETCDF_classic" +RUN set -x && \ + cd / && mkdir -p Build_WRF/LIBRARIES && cd Build_WRF/LIBRARIES && \ + curl https://downloads.unidata.ucar.edu/netcdf-c/$NETCDF_VERSION/netcdf-c-$NETCDF_VERSION.tar.gz -O && \ + tar xzvf netcdf-c-$NETCDF_VERSION.tar.gz && \ + cd netcdf-c-$NETCDF_VERSION && \ + ./configure --enable-shared --disable-netcdf4 --disable-filter-testing --disable-dap --prefix=$DIR/netcdf && \ + make && make install && \ + cd .. && rm -rf netcdf-c-$NETCDF_VERSION* + +# netcdf-f +RUN set -x && \ + export CPPFLAGS="-I$NETCDF/include -L$NETCDF/lib" && \ + cd /Build_WRF/LIBRARIES && \ + curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NETCDF_F_VERSION/netcdf-fortran-$NETCDF_F_VERSION.tar.gz -O && \ + tar xzvf netcdf-fortran-$NETCDF_F_VERSION.tar.gz && \ + cd netcdf-fortran-$NETCDF_F_VERSION && \ + ./configure --prefix=$DIR/netcdf --disable-shared && \ + make && make install && \ + cd .. && rm -rf netcdf-fortran-$NETCDF_F_VERSION + +########################################################### +# Verify libraries will play nice with the compilers used to build WRF +########################################################### + +# https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php#STEP3 + +RUN set -x && \ + cd / && mkdir TESTS && cd TESTS && \ + curl https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_NETCDF_MPI_tests.tar -O && \ + tar -xf Fortran_C_NETCDF_MPI_tests.tar && \ + cp ${NETCDF}/include/netcdf.inc . && \ + gfortran -c 01_fortran+c+netcdf_f.f && \ + gcc -c 01_fortran+c+netcdf_c.c && \ + gfortran 01_fortran+c+netcdf_f.o 01_fortran+c+netcdf_c.o -L${NETCDF}/lib -lnetcdff -lnetcdf && \ + ./a.out && \ + mpif90 -c 02_fortran+c+netcdf+mpi_f.f && \ + mpicc -c 02_fortran+c+netcdf+mpi_c.c && \ + mpif90 02_fortran+c+netcdf+mpi_f.o 02_fortran+c+netcdf+mpi_c.o -L${NETCDF}/lib -lnetcdff -lnetcdf && \ + mpirun --allow-run-as-root ./a.out && \ + cd / && rm -rf TESTS + +########################################################### +# Actually build WRF +########################################################### + +# At the moment, the configure script on the repo has an open issue regarding +# string comparison: +# https://github.com/wrf-model/WRF/issues/1817 +COPY ./configure /tmp/configure +COPY ./Registry.EM_COMMON_edit /tmp/Registry.EM_COMMON_edit + +# ./configure won't run with the options (33 and 0) if this variable is not set +ENV NETCDF_classic=1 + +# Piping the output of "echo '33\r0\r'" tells the script to configure WRF to +# compile for parallel using smpar and the GNU compilers we have been using (33) +# and to compile for no nesting (0) +RUN set -x && \ + cd /Build_WRF && \ + git clone --recurse-submodule https://github.com/wrf-model/WRF.git && \ + cd WRF && \ + git checkout release-v${WRF_VERSION} && \ + mv /tmp/Registry.EM_COMMON_edit ./Registry/Registry.EM_COMMON && \ + mv /tmp/configure ./configure && chmod u+x ./configure && \ + git diff && \ + echo '33\r0\r' | ./configure && \ + ./compile em_scm_xy > log.compile 2>&1 + +########################################################### +# Begin JupyterLab Stage +########################################################### + # Heavily borrowed from docker-stacks/minimal-notebook/ # https://github.com/jupyter/docker-stacks/blob/main/minimal-notebook/Dockerfile diff --git a/jupyter-images/mvu24f/environment.yml b/jupyter-images/mvu24f/environment.yml index 75b5d712..6ebbf6e6 100644 --- a/jupyter-images/mvu24f/environment.yml +++ b/jupyter-images/mvu24f/environment.yml @@ -4,7 +4,11 @@ channels: - conda-forge - defaults dependencies: + # Required by JupyterLab - python=3.10 + - nb_conda_kernels + - ipykernel + # User requested packages - numpy - matplotlib - pandas @@ -12,7 +16,7 @@ dependencies: - metpy - xarray - scikit-learn - #- wrf-python + - wrf-python - cartopy - seaborn - netcdf4 From 04aada1b8d3eced642a8481180fc5db23bf9c7d8 Mon Sep 17 00:00:00 2001 From: ana espinoza Date: Wed, 2 Oct 2024 11:35:26 -0600 Subject: [PATCH 04/10] Multi-stage build fix --- jupyter-images/mvu24f/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/jupyter-images/mvu24f/Dockerfile b/jupyter-images/mvu24f/Dockerfile index 8aeb9ae5..eee8ade1 100644 --- a/jupyter-images/mvu24f/Dockerfile +++ b/jupyter-images/mvu24f/Dockerfile @@ -150,8 +150,7 @@ RUN set -x && \ # Heavily borrowed from docker-stacks/minimal-notebook/ # https://github.com/jupyter/docker-stacks/blob/main/minimal-notebook/Dockerfile -ARG BASE_CONTAINER=jupyter/minimal-notebook -FROM $BASE_CONTAINER +FROM jupyter/minimal-notebook ENV DEFAULT_ENV_NAME=mvu24f EDITOR=nano VISUAL=nano From 32d2d27c6d40fbb7ddf0d491df104dd1839d5eca Mon Sep 17 00:00:00 2001 From: ana espinoza Date: Wed, 2 Oct 2024 11:44:23 -0600 Subject: [PATCH 05/10] Fix add WRF --- jupyter-images/mvu24f/Dockerfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/jupyter-images/mvu24f/Dockerfile b/jupyter-images/mvu24f/Dockerfile index eee8ade1..78755119 100644 --- a/jupyter-images/mvu24f/Dockerfile +++ b/jupyter-images/mvu24f/Dockerfile @@ -187,4 +187,10 @@ COPY additional_kernels.ipynb update_material.ipynb Acknowledgements.ipynb \ ARG JUPYTER_SETTINGS_DIR=/opt/conda/share/jupyter/lab/settings/ COPY overrides.json $JUPYTER_SETTINGS_DIR +COPY --from=build-wrf /Build_WRF /Build_WRF + +USER root +RUN chown -R ${NB_UID}:${NB_GID} /Build_WRF/WRF && \ + ldconfig /Build_WRF/LIBRARIES/netcdf/lib + USER $NB_UID From 6dd93a4a74a8d2928118f9cbf7af00b8c6cb61df Mon Sep 17 00:00:00 2001 From: ana espinoza Date: Wed, 2 Oct 2024 11:46:50 -0600 Subject: [PATCH 06/10] Add files for WRF --- jupyter-images/mvu24f/Registry.EM_COMMON_edit | 3587 +++++++++++++++++ jupyter-images/mvu24f/configure | 1090 +++++ 2 files changed, 4677 insertions(+) create mode 100644 jupyter-images/mvu24f/Registry.EM_COMMON_edit create mode 100644 jupyter-images/mvu24f/configure diff --git a/jupyter-images/mvu24f/Registry.EM_COMMON_edit b/jupyter-images/mvu24f/Registry.EM_COMMON_edit new file mode 100644 index 00000000..5d636b36 --- /dev/null +++ b/jupyter-images/mvu24f/Registry.EM_COMMON_edit @@ -0,0 +1,3587 @@ +# At the present time this file is managed manually and edited by hand. +# +################################################################################ +# Dimension specifications +# +# This section of the Registry file is used to specify the dimensions +# that will be used to define arrays. Dim is the one-letter name of the +# dimension. How defined can either be "standard_domain", which means +# that the dimension (1) is one of the three spatial dimensions and (2) +# it will be set using the standard namelist mechanism and domain data +# structure dimension fields (e.g. sd31,ed31,sd32...). +# +# Order refers to which of the three sets of just-mentioned internal +# dimension variables the dimension is referred to by in the driver. +# That is, is it the first, second, or third dimension. The registry +# infers the mapping of its internal dimensions according to the +# combination of Order and Coord-axis that are specified in this table. +# Note that it is all right to more than one dimension name for, say, the +# x dimension. However, the Order and Coord-axis relationship must be +# consistent throughout. +# +# Note: these entries do not enforce storage order on a particular field. +# That is determined by the dimension strings for each field. But it does +# relate the dimspec to the internal data structures that the driver uses +# to maintain the three physical domain dimensions. +# +# "How defined" can also specify the name of a namelist variable from which +# the definition for the dimension will come; this is specified as +# "namelist=". The namelist variable must have been +# defined as an integer and with only one entry in the rconfig table. Or +# a constant can be specified. The coordinate axis for the dimension is +# either X, Y, Z, or C (for "not a spatial dimension"). The Dimname is +# the descriptive name of the dimension that will be included in the +# metadata in data sets. Note that the b, f, and t modifiers that appear +# as the last characters of dimension strings used # in state and # i1 +# registry definitions are not dimensions and do not need to be declared +# here. +# + + +################################################################################ +################################################################################ +################################################################################ + +# Lines that start with the word 'state' form a table that is +# used by the script use_registry to generate module_state_descript.F +# and other files. Also see documentation in use_registry. +# +# table entries are of the form +# +# +state real XLAT ij misc 1 - i0123rh0156{22}{23}d "XLAT" "LATITUDE, SOUTH IS NEGATIVE" "degree_north" +state real XLONG ij misc 1 - i0123rh0156{22}{23}d=(interp_fcn_blint_ll:xlat,input_from_file) "XLONG" "LONGITUDE, WEST IS NEGATIVE" "degree_east" + +# It is required that LU_INDEX appears before any variable that is +# interpolated with a mask, as lu_index supplies that mask. +state real LU_INDEX ij misc 1 - i012rh01d=(interp_fcnm_lu:xlat,xlong,dx,grid_id)u=(copy_fcnm) "LU_INDEX" "LAND USE CATEGORY" "" +state real LU_MASK ij misc 1 - i3h1 "LU_MASK" "0 land 1 water" "" + +# znw, znu, dzs, and zs must be listed before any 3-d fields +# in order for the grib output module to work correctly. The grib output +# module retrieves the vertical levels from these parameters. If znw, znu +# dzs, and zs are not listed first, vertical level will not be encoded at +# time 0. + +state real znu k dyn_em 1 - irh "znu" "eta values on half (mass) levels" "" +state real znw k dyn_em 1 Z i0rh "znw" "eta values on full (w) levels" "" +state real ZS l misc - Z irh "ZS" "DEPTHS OF CENTERS OF SOIL LAYERS" "m" +state real DZS l misc - Z irh "DZS" "THICKNESSES OF SOIL LAYERS" "m" +# cyl : variables for trajectory calculation +state real traj_i {ntraj} dyn_em 1 Z irh "traj_i" "grid number of trajectory " "" +state real traj_j {ntraj} dyn_em 1 Z irh "traj_j" "grid number of trajectory " "" +state real traj_k {ntraj} dyn_em 1 Z irh "traj_k" "vertical eta level of trajectory " "" +state real traj_long {ntraj} dyn_em 1 Z irh "traj_long" "longitude of trajectory " "" +state real traj_lat {ntraj} dyn_em 1 Z irh "traj_lat" "latitude of trajectory " "" + +# +# Variables from WPS +# + +state real u_gc igj dyn_em 1 XZ i1 "UU" "x-wind component" "m s-1" +state real v_gc igj dyn_em 1 YZ i1 "VV" "y-wind component" "m s-1" +state real t_gc igj dyn_em 1 Z i1 "TT" "temperature" "K" +state real rh_gc igj dyn_em 1 Z i1 "RH" "relative humidity" "%" +state real ght_gc igj dyn_em 1 Z i1 "GHT" "geopotential height" "m" +state real p_gc igj dyn_em 1 Z i1 "PRES" "pressure" "Pa" +state real prho_gc igj dyn_em 1 Z i1 "PRHO" "for UM data, pressure of U and V" "Pa" +state real xlat_gc ij dyn_em 1 - i1 "XLAT_M" "latitude, positive north" "degrees" +state real xlong_gc ij dyn_em 1 - i1 "XLONG_M" "longitude, positive east" "degrees" +state real ht_gc ij dyn_em 1 - i1 "HGT_M" "topography elevation" "m" +state real var_sso ij dyn_em 1 - i012hrd "var_sso" "variance of subgrid-scale orography" "m2" +state real lap_hgt ij dyn_em 1 - r "lap_hgt" "Laplacian of orography" "m" +state real tsk_gc ij dyn_em 1 - i1 "SKINTEMP" "skin temperature" "K" +state real tavgsfc ij dyn_em 1 - i1 "TAVGSFC" "daily mean of surface air temperature" "K" +state real tmn_gc ij dyn_em 1 - i1 "SOILTEMP" "annual mean deep soil temperature" "K" +state real pslv_gc ij dyn_em 1 - i1 "PMSL" "sea level pressure" "Pa" +state real sct_dom_gc ij dyn_em 1 - i1 "SCT_DOM" "Dominant soil (top) category from GEOGRID" "cat" +state real scb_dom_gc ij dyn_em 1 - i1 "SCB_DOM" "Dominant soil (bottom) category from GEOGRID" "cat" +state real greenfrac imj dyn_em 1 Z i1 "GREENFRAC" "monthly greenness fraction" "0 - 1 fraction" +state real albedo12m imj dyn_em 1 Z i1 "ALBEDO12M" "background albedo" "0 - 1 fraction" +state real lai12m imj dyn_em 1 Z i1 "LAI12M" "monthly LAI" "m2/m2" +state real pd_gc igj dyn_em 1 Z - "PD" "dry pressure" "Pa" +state real pdrho_gc igj dyn_em 1 Z - "PDRHO" "dry pressure for UM data for the variables U and V" "Pa" +state real psfc_gc ij dyn_em 1 - - "PSFC_GC" "surface pressure" "Pa" +state real intq_gc ij dyn_em 1 - - "INTQ" "integrated mixing ratio" "Pa" +state real pdhs ij dyn_em 1 - - "PDHS" "hydrostatic dry surface pressure" "Pa" +state real qv_gc igj dyn_em 1 Z i1 "QV" "mixing ratio" "kg kg-1" +state real sh_gc igj dyn_em 1 Z i1 "SPECHUMD" "Specific humidity" "kg kg-1" +state real cl_gc igj dyn_em 1 Z i1 "SPECCLDL" "Cloud water content, liquid" "kg kg-1" +state real cf_gc igj dyn_em 1 Z i1 "SPECCLDF" "Cloud water content, frozen" "kg kg-1" +state real icefrac_gc ij dyn_em 1 - i1 "ICEFRAC" "Sea ice fraction" "0 - 1 fraction" +state real icepct ij dyn_em 1 - i1 "ICEPCT" "Sea ice percent" "%" +state real qr_gc igj dyn_em 1 Z i1 "QR" "rain water mixing ratio" "kg kg-1" +state real qc_gc igj dyn_em 1 Z i1 "QC" "cloud water mixing ratio" "kg kg-1" +state real qs_gc igj dyn_em 1 Z i1 "QS" "snow mixing ratio" "kg kg-1" +state real qi_gc igj dyn_em 1 Z i1 "QI" "cloud ice mixing ratio" "kg kg-1" +state real qg_gc igj dyn_em 1 Z i1 "QG" "graupel mixing ratio" "kg kg-1" +state real qh_gc igj dyn_em 1 Z i1 "QH" "hail mixing ratio" "kg kg-1" +state real qni_gc igj dyn_em 1 Z i1 "QNI" "ice num concentration" "# kg-1" +state real qnc_gc igj dyn_em 1 Z i1 "QNC" "cloud water num concentration" "# kg-1" +state real qnr_gc igj dyn_em 1 Z i1 "QNR" "rain num concentration" "# kg-1" +state real qns_gc igj dyn_em 1 Z i1 "QNS" "snow num concentration" "# kg-1" +state real qng_gc igj dyn_em 1 Z i1 "QNG" "graupel num concentration" "# kg-1" +state real qnh_gc igj dyn_em 1 Z i1 "QNH" "hail num concentration" "# kg-1" +state real qntemp imj dyn_em 1 Z - "QNTEMP" "temporary var for time interp" "" +state real qntemp2 ij dyn_em 1 - - "QNTEMP2" "temporary var2D for time interp" "" +state real t_max_p ij dyn_em 1 - i0d "T_MAX_P" "temperature at max pressure" "K" +state real ght_max_p ij dyn_em 1 - i0d "GHT_MAX_P" "geopotential height at max pressure" "m" +state real max_p ij dyn_em 1 - i0d "MAX_P" "max pressure " "Pa" +state real t_min_p ij dyn_em 1 - i0d "T_MIN_P" "temperature at min pressure" "K" +state real ght_min_p ij dyn_em 1 - i0d "GHT_MIN_P" "geopotential height at min pressure" "m" +state real min_p ij dyn_em 1 - i0d "MIN_P" "min pressure " "Pa" +state real hgtmaxw ij dyn_em 1 - i1 "HGTMAXW" "Height of the max wind speed" "m" +state real hgttrop ij dyn_em 1 - i1 "HGTTROP" "Height of the tropopause" "m" +state real pmaxw ij dyn_em 1 - i1 "PMAXW" "Pressure of the max wind speed" "Pa" +state real pmaxwnn ij dyn_em 1 - i1 "PMAXWNN" "PMAXW, nearest neighbor interp" "Pa" +state real ptrop ij dyn_em 1 - i1 "PTROP" "Pressure of the tropopause" "Pa" +state real ptropnn ij dyn_em 1 - i1 "PTROPNN" "PTROP, nearest neighbor interp" "Pa" +state real tmaxw ij dyn_em 1 - i1 "TMAXW" "Temperature of the max wind speed" "K" +state real ttrop ij dyn_em 1 - i1 "TTROP" "Temperature of the tropopause" "K" +state real umaxw ij dyn_em 1 X i1 "UMAXW" "U-component of the max wind speed" "m s-1" +state real utrop ij dyn_em 1 X i1 "UTROP" "U-component of the tropopause wind" "m s-1" +state real vmaxw ij dyn_em 1 Y i1 "VMAXW" "V-component of the max wind speed" "m s-1" +state real vtrop ij dyn_em 1 Y i1 "VTROP" "V-component of the tropopause wind" "m s-1" +state real erod ij. misc 1 - i012rd "EROD" "fraction of erodible surface in each grid cell (0-1)" "none" +state real bathymetry ij dyn_em 1 - i1 "bathymetry" "Bathymetry and topography" "m" +state integer BATHYMETRY_FLAG - misc 1 - i0rh "BATHYMETRY_FLAG" "Flag for bathymetry in the global attributes for metgrid data" + +#----------------------------------------------------------------------------------------------------------------------------------------------------------------- +# +# Variables for Eulerian mass coordinate dynamics +# + +# Velocities +# +# U Vel +state real u ikjb dyn_em 2 X \ + i0rhusdf=(bdy_interp:dt) "U" "x-wind component" "m s-1" +state real ru ikj dyn_em 1 X - "MU_U" "mu-coupled u" "Pa m s-1" +state real ru_m ikj dyn_em 1 X - "ru_m" "" "" +state real ru_tend ikj dyn_em 1 X - "ru_tend" "" "" +i1 real ru_tendf ikj dyn_em 1 X +state real u_save ikj dyn_em 1 X - "u_save" +state real z_force | dyn_em 1 - i3rh "Z_FORCE" "height of forcing input" "m" +state real z_force_tend | dyn_em 1 - i3rh "Z_FORCE_TEND" "tendency height of forcing input" "m" +state real u_g | dyn_em 1 - i3rh "U_G" "x-direction geostrophic wind" "m s-1" +state real u_g_tend | dyn_em 1 - i3rh "U_G_TEND" "tendency x-direction geostrophic wind" "m s-1" +# +# V Vel +state real v ikjb dyn_em 2 Y \ + i0rhusdf=(bdy_interp:dt) "V" "y-wind component" "m s-1" +state real rv ikj dyn_em 1 Y - "MU_V" "mu-coupled v" "Pa m s-1" +state real rv_m ikj dyn_em 1 Y - "rv_m" +state real rv_tend ikj dyn_em 1 Y - "rv_tend" +i1 real rv_tendf ikj dyn_em 1 Y +state real v_save ikj dyn_em 1 Y - "v_save" +state real v_g | dyn_em 1 - i3rh "V_G" "y-direction geostrophic wind" "m s-1" +state real v_g_tend | dyn_em 1 - i3rh "V_G_TEND" "tendency y-direction geostrophic wind" "m s-1" +# +# Vertical Vel +state real w ikjb dyn_em 2 Z \ + irhusdf=(bdy_interp:dt) "w" "z-wind component" "m s-1" +state real ww ikj dyn_em 1 Z r "ww" "mu-coupled eta-dot" "Pa s-1" +state real rw ikj dyn_em 1 Z - "rw" "mu-coupled w" "Pa m s-1" +i1 real ww1 ikj dyn_em 1 Z +i1 real wwE ikj dyn_em 1 Z - "wwE" "Explicit vertical velocity" "Pa s-1" +i1 real wwI ikj dyn_em 1 Z - "wwI" "Implicit vertical velocity" "Pa s-1" +state real ww_m ikj dyn_em 1 Z r "ww_m" "time-avg mu-coupled eta-dot" "Pa s-1" +i1 real wwp ikj dyn_em 1 Z +i1 real rw_tend ikj dyn_em 1 Z +i1 real rw_tendf ikj dyn_em 1 Z +i1 real w_save ikj dyn_em 1 Z +state real w_subs | dyn_em 1 - i3rh "W_SUBS" "large-scale vertical velocity" "m s-1" +state real w_subs_tend | dyn_em 1 - i3rh "W_SUBS_TEND" "tendency large-scale vertical velocity" "m s-1" + +# Geopotential +state real ph ikjb dyn_em 2 Z \ + irhusdf=(bdy_interp:dt) "ph" "perturbation geopotential" "m2 s-2" +state real phb ikj dyn_em 1 Z irhdus "phb" "base-state geopotential" "m2 s-2" +state real phb_fine ikj dyn_em 1 Z - "phb_fine" "for nesting, temp holding interpolated coarse grid phb" "m2 s-2" +state real ph0 ikj dyn_em 1 Z r "ph0" "initial geopotential" "m2 s-2" +state real php ikj dyn_em 1 - r "php" "geopotential" "m2 s-2" +i1 real ph_tend ikj dyn_em 1 Z +i1 real ph_tendf ikj dyn_em 1 Z +i1 real ph_save ikj dyn_em 1 Z + +# Potential Temperature +state real th_phy_m_t0 ikj dyn_em 1 - irhd "t" "perturbation potential temperature theta-t0" "K" +state real t ikjb dyn_em 2 - \ + i0rhusdf=(bdy_interp:dt) "thm" "either 1) pert moist pot temp=(1+Rv/Rd Qv)*(theta)-T0, or 2) pert dry pot temp=theta-T0; based on use_theta_m setting" "K" + +state real t_init ikj dyn_em 1 - ird "t_init" "initial potential temperature" "K" +i1 real t_tend ikj dyn_em 1 - +i1 real t_tendf ikj dyn_em 1 - +i1 real t_2save ikj dyn_em 1 - +state real t_save ikj dyn_em 1 - - "t_save" + +state real th_upstream_x | dyn_em 1 - i3rh "TH_UPSTREAM_X" "upstream theta x-advection" "K s-1" +state real th_upstream_x_tend | dyn_em 1 - i3rh "TH_UPSTREAM_X_TEND" "tendency upstream theta x-advection" "K s-2" +state real th_upstream_y | dyn_em 1 - i3rh "TH_UPSTREAM_Y" "upstream theta y-advection" "K s-1" +state real th_upstream_y_tend | dyn_em 1 - i3rh "TH_UPSTREAM_Y_TEND" "tendency upstream theta y-advection" "K s-2" + +state real qv_upstream_x | dyn_em 1 - i3rh "QV_UPSTREAM_X" "upstream qv x-advection" "kg kg-1 s-1" +state real qv_upstream_x_tend | dyn_em 1 - i3rh "QV_UPSTREAM_X_TEND" "tendency upstream qv x-advection" "kg kg-1 s-2" +state real qv_upstream_y | dyn_em 1 - i3rh "QV_UPSTREAM_Y" "upstream qv y-advection" "kg kg-1 s-1" +state real qv_upstream_y_tend | dyn_em 1 - i3rh "QV_UPSTREAM_Y_TEND" "tendency upstream qv y-advection" "kg kg-1 s-2" + +state real ql_upstream_x | dyn_em 1 - i3rh "QL_UPSTREAM_X" "upstream ql x-advection" "kg kg-1 s-1" +state real ql_upstream_x_tend | dyn_em 1 - i3rh "QL_UPSTREAM_X_TEND" "tendency upstream ql x-advection" "kg kg-1 s-2" +state real ql_upstream_y | dyn_em 1 - i3rh "QL_UPSTREAM_Y" "upstream ql y-advection" "kg kg-1 s-1" +state real ql_upstream_y_tend | dyn_em 1 - i3rh "QL_UPSTREAM_Y_TEND" "tendency upstream ql y-advection" "kg kg-1 s-2" + +state real u_upstream_x | dyn_em 1 - i3rh "U_UPSTREAM_X" "upstream u x-advection" "m s-2" +state real u_upstream_x_tend | dyn_em 1 - i3rh "U_UPSTREAM_X_TEND" "tendency upstream u x-advection" "m s-3" +state real u_upstream_y | dyn_em 1 - i3rh "U_UPSTREAM_Y" "upstream u y-advection" "m s-2" +state real u_upstream_y_tend | dyn_em 1 - i3rh "U_UPSTREAM_Y_TEND" "tendency upstream u y-advection" "m s-3" + +state real v_upstream_x | dyn_em 1 - i3rh "V_UPSTREAM_X" "upstream v x-advection" "m s-2" +state real v_upstream_x_tend | dyn_em 1 - i3rh "V_UPSTREAM_X_TEND" "tendency upstream v x-advection" "m s-3" +state real v_upstream_y | dyn_em 1 - i3rh "V_UPSTREAM_Y" "upstream v y-advection" "m s-2" +state real v_upstream_y_tend | dyn_em 1 - i3rh "V_UPSTREAM_Y_TEND" "tendency upstream v y-advection" "m s-3" + +state real th_t_tend | dyn_em 1 - i3rh "TH_T_TEND" "tendency theta time" "K s-2" +state real qv_t_tend | dyn_em 1 - i3rh "QV_T_TEND" "tendency qv time" "kg kg-1 s-1" + +state real th_largescale | dyn_em 1 - i3rh "TH_LARGESCALE" "SCM largescale theta" "K" +state real th_largescale_tend | dyn_em 1 - i3rh "TH_LARGESCALE_TEND" "SCM tendency largescale theta" "K s-1" + +state real qv_largescale | dyn_em 1 - i3rh "QV_LARGESCALE" "SCM largescale qv" "kg kg-1 s-1" +state real qv_largescale_tend | dyn_em 1 - i3rh "QV_LARGESCALE_TEND" "SCM tendency largescale qv" "kg kg-1 s-2" + +state real ql_largescale | dyn_em 1 - i3rh "QL_LARGESCALE" "SCM largescale ql" "kg kg-1 s-1" +state real ql_largescale_tend | dyn_em 1 - i3rh "QL_LARGESCALE_TEND" "SCM tendency largescale ql" "kg kg-1 s-2" + +state real u_largescale | dyn_em 1 - i3rh "U_LARGESCALE" "SCM largescale u" "m s-2" +state real u_largescale_tend | dyn_em 1 - i3rh "U_LARGESCALE_TEND" "SCM tendency largescale u" "m s-3" + +state real v_largescale | dyn_em 1 - i3rh "V_LARGESCALE" "SCM largescale v" "m s-2" +state real v_largescale_tend | dyn_em 1 - i3rh "V_LARGESCALE_TEND" "SCM tendency largescale v" "m s-3" + +state real tau_largescale | dyn_em 1 - i3rh "TAU_LARGESCALE" "SCM largescale timescale" "s" +state real tau_largescale_tend | dyn_em 1 - i3rh "TAU_LARGESCALE_TEND" "SCM tendency largescale timescale" "" + +state real tau_x | dyn_em 1 - i3rh "TAU_X" "X-direction advective timescale" "s" +state real tau_x_tend | dyn_em 1 - i3rh "TAU_X_TEND" "tendency X-direction advective timescale" "" +state real tau_y | dyn_em 1 - i3rh "TAU_Y" "Y-direction advective timescale" "s" +state real tau_y_tend | dyn_em 1 - i3rh "TAU_Y_TEND" "tendency Y-direction advective timescale" "" + +dimspec fslay 2 namelist=num_force_soil_layers z force_soil_layers +state real t_soil_forcing_val {fslay} dyn_em 1 - i3rh "T_SOIL_FORCING_VAL" "Soil temp value for SCM forcing" "K" +state real t_soil_forcing_tend {fslay} dyn_em 1 - i3rh "T_SOIL_FORCING_TEND" "tendency soil temp for SCM forcing" "K s-1" +state real q_soil_forcing_val {fslay} dyn_em 1 - i3rh "Q_SOIL_FORCING_VAL" "Soil moisture value for SCM forcing" "1" +state real q_soil_forcing_tend {fslay} dyn_em 1 - i3rh "Q_SOIL_FORCING_TEND" "tendency soil moisture for SCM forcing" "s-1" +state real tau_soil {fslay} dyn_em 1 - i3rh "TAU_SOIL" "SCM soil forcing timescale" "s" +state real soil_depth_force {fslay} dyn_em 1 - i3rh "SOIL_DEPTH_FORCE" "SCM depth at center of soil layers in forcing file" "1" + +state real hfx_force - dyn_em 1 - i3rh "HFX_FORCE" "SCM ideal surface sensible heat flux" "W m-2" +state real lh_force - dyn_em 1 - i3rh "LH_FORCE" "SCM ideal surface latent heat flux" "W m-2" +state real tsk_force - dyn_em 1 - i3rh "TSK_FORCE" "SCM ideal surface skin temperature" "W m-2" +state real hfx_force_tend - dyn_em 1 - i3rh "HFX_FORCE_TEND" "SCM ideal surface sensible heat flux tendency" "W m-2 s-1" +state real lh_force_tend - dyn_em 1 - i3rh "LH_FORCE_TEND" "SCM ideal surface latent heat flux tendency" "W m-2 s-1" +state real tsk_force_tend - dyn_em 1 - i3rh "TSK_FORCE_TEND" "SCM ideal surface skin temperature tendency" "W m-2 s-1" + + +# Mass +state real mu ijb dyn_em 2 - \ + irh01usdf=(bdy_interp:dt) "mu" "perturbation dry air mass in column" "Pa" +state real mub ij dyn_em 1 - irhdus "mub" "base state dry air mass in column" "Pa" +state real mub_fine ij dyn_em 1 - - "mub_fine" "nest temp, holds interpolated coarse grid mub" "Pa" +state real mub_save ij dyn_em 1 - - "mub_save" "nest temp, holds orig fine grid mub" "Pa" +state real mu0 ij dyn_em 1 - i1 "mu0" "initial dry mass in column" "Pa" +state real mudf ij dyn_em 1 - - "mudf" "" "" +state real muu ij dyn_em 1 X - "muu" +state real muus ij dyn_em 1 X - "muus" +state real muv ij dyn_em 1 Y - "muv" +state real muvs ij dyn_em 1 Y - "muvs" +state real mut ij dyn_em 1 - - "mut" +state real muts ij dyn_em 1 - - "muts" +i1 real muave ij dyn_em 1 - +i1 real mu_save ij dyn_em 1 - +i1 real mu_tend ij dyn_em 1 - +i1 real mu_tendf ij dyn_em 1 - + +#diagnostic for looking at nest position in output. A mungy version of terrain height. +state real nest_pos ij misc 1 - rhu=(mark_domain) "NEST_POS" +state real nest_mask ij misc 1 - ru=(mark_domain) "NEST_MASK" "LOCATION OF NEST IF ANY" +state real ht_coarse ij misc 1 - r - "STORAGE FOR LOW-RES TERRAIN" + + +# TKE +state real tke ikj dyn_em 2 - r "tke" "TURBULENCE KINETIC ENERGY" "m2 s-2" +i1 real tke_tend ikj dyn_em 1 - + +# variables in 3DTKE scheme (km_opt=5) +state real nlflux ikj dyn_em 1 Z - "NLFLUX" "PRESCRIBED NONLOCAL HEAT FLUX IN 3DTKE SCHEME" "K m s-1" +state real gamu ij dyn_em 1 - r "GAMU" "NONLOCAL U GAMMA TERM IN 3DTKE SCHEME" "s-1" +state real gamv ij dyn_em 1 - r "GAMV" "NONLOCAL V GAMMA TERM IN 3DTKE SCHEME" "s-1" +state real dlk ikj dyn_em 1 - - "DLK" "TURBULENT LENGTH SCALE" "m" +state real l_diss ikj dyn_em 1 - - "L_DISS" "DISSIPATION LENGTH SCALE" "m" +state real elmin ikj dyn_em 1 - h "ELMIN" "FREE ATMOS LENGTH SCALE (FROM BOULAC SCHEME)" "m" +state real xkmv_meso ikj dyn_em 1 - - "XKMV_MESO" "XKMV AT MESOSCALE LIMIT" "m2 s-1" + +# Pressure and Density +state real p ikj dyn_em 1 - irh "p" "perturbation pressure" "Pa" +state real al ikj dyn_em 1 - ir "al" "inverse perturbation density" "m3 kg-1" +state real alt ikj dyn_em 1 - r "alt" "inverse density" "m3 kg-1" +state real alb ikj dyn_em 1 - irdus "alb" "inverse base density" "m3 kg-1" +state real zx ikj dyn_em 1 XZ - " " " " " " +state real zy ikj dyn_em 1 YZ - " " " " " " +state real rdz ikj dyn_em 1 Z - " " " " " " +state real rdzw ikj dyn_em 1 Z - " " " " " " +state real pb ikj dyn_em 1 - irhdus "pb" "BASE STATE PRESSURE " "Pa" + +# +# Other dyn +# +i1 real advect_tend ikj dyn_em 1 - +i1 real alpha ikj dyn_em 1 - +i1 real a ikj dyn_em 1 - +i1 real gamma ikj dyn_em 1 - +i1 real c2a ikj dyn_em 1 - - +state real rho ikj misc 1 - r "RHO" "DENSITY" "Kg m-3" +i1 real phm ikj dyn_em 1 - - +i1 real cqu ikj dyn_em 1 - - +i1 real cqv ikj dyn_em 1 - - +i1 real cqw ikj dyn_em 1 - - +i1 real pm1 ikj dyn_em 1 - - +state real fnm k dyn_em 1 - irh "fnm" "upper weight for vertical stretching" "" +state real fnp k dyn_em 1 - irh "fnp" "lower weight for vertical stretching" "" +state real rdnw k dyn_em 1 - irh "rdnw" "inverse d(eta) values between full (w) levels" "" +state real rdn k dyn_em 1 - irh "rdn" "inverse d(eta) values between half (mass) levels" "" +state real dnw k dyn_em 1 - irh "dnw" "d(eta) values between full (w) levels" "" +state real dn k dyn_em 1 - irh "dn " "d(eta) values between half (mass) levels" "" +state real t_base k dyn_em 1 - ir "t_base" "BASE STATE T IN IDEALIZED CASES" "K" +state real z ikj dyn_em 1 - - " " " " " " +state real z_at_w ikj dyn_em 1 Z +state real cfn - misc - - irh "cfn" "extrapolation constant" "" +state real cfn1 - misc - - irh "cfn1" "extrapolation constant" "" +state integer step_number - misc - - ir "step_number" "" + +# Idealized run +state logical this_is_an_ideal_run - misc - - irh "this_is_an_ideal_run" "T/F flag: this is an ARW ideal simulation" + +# For the adaptive timestep restart +state logical stepping_to_time - misc - - r "stepping_to_time" "" +state integer last_step_updated - misc - - r "last_step_updated" "" +state logical adapt_step_using_child - misc - - r "adapt_step_using_child" "" +state integer last_dt_sec - misc - - r "last_dt_sec" "Whole seconds for last timestep" "sec" +state integer last_dt_sec_num - misc - - r "last_dt_sec_num" "Fractional secs, numerator" "sec" +state integer last_dt_sec_den - misc - - r "last_dt_sec_den" "Fractional secs, denominator" "sec" +state integer last_dt_yr - misc - - r "last_dt_yr" "Relative year" "years" +state integer last_dt_mm - misc - - r "last_dt_mm" "Relative month" "months" + +# hydrostatic pressure vars +state real p_hyd ikj dyn_em 1 - irh "p_hyd" "hydrostatic pressure" "Pa" +state real p_hyd_w ikj dyn_em 1 Z r "p_hyd_w" "hydrostatic pressure at full levels" "Pa" + +# 2m and 10m output diagnostics +state real Q2 ij misc 1 - irh01{22}{23}du "Q2" "QV at 2 M" "kg kg-1" +state real T2 ij misc 1 - i01rh01{22}{23}du "T2" "TEMP at 2 M" "K" +state real TH2 ij misc 1 - irhdu "TH2" "POT TEMP at 2 M" "K" +state real PSFC ij misc 1 - i01rh01du "PSFC" "SFC PRESSURE" "Pa" + +state real U10 ij misc 1 - irh01{22}{23}du "U10" "U at 10 M" "m s-1" +state real V10 ij misc 1 - irh01{22}{23}du "V10" "V at 10 M" "m s-1" +# LPI +state real LPI ij misc 1 - rhdu "LPI" "Lightning Potential Index" "m^2 s-2" + +# these next 4 are for observational nudging +state real uratx ij misc 1 - r "URATX" "Ratio of U over U10 on mass points " "dimensionless" +state real vratx ij misc 1 - r "VRATX" "Ratio of V over V10 on mass points " "dimensionless" +state real tratx ij misc 1 - r "TRATX" "Ratio of T over TH2 on mass points " "dimensionless" +state real obs_savwt hikj dyn_em 1 X - "OBS_SAVWT" "Internal space holding weights of each ob, for each i,j,k" "dimensionless" + +# Other +state real rdx - misc - - irh "rdx" "INVERSE X GRID LENGTH" "m-1" +state real rdy - misc - - irh "rdy" "INVERSE Y GRID LENGTH" "m-1" +state real area2d ij misc - - rh "area2d" "Horizontal grid cell area, using dx, dy, and map factors" "m2" +state real dx2d ij misc - - rh "dx2d" "Horizontal grid distance: sqrt(area2d)" "m" +state real dts - misc - - ir "dts" "SMALL TIMESTEP" "" +state real dtseps - misc - - ir "dtseps" "TIME WEIGHT CONSTANT FOR SMALL STEPS" "" +state real resm - misc - - irh "resm" "TIME WEIGHT CONSTANT FOR SMALL STEPS" "" +state real zetatop - misc - - irh "zetatop" "ZETA AT MODEL TOP" "" +state real cf1 - misc - - irh "cf1" "2nd order extrapolation constant" "" +state real cf2 - misc - - irh "cf2" "2nd order extrapolation constant" "" +state real cf3 - misc - - irh "cf3" "2nd order extrapolation constant" "" +state integer number_at_same_level - - - - - "number_at_same_level" "" "" +state real radtacttime - - - - r "radtacttime" "RADTACTTIME" "LW SW ACTIVATION TIME in s" +state real bldtacttime - - - - r "bldtacttime" "BLDTACTTIME" "PBL ACTIVATION TIME in s" +state real cudtacttime - - - - r "cudtacttime" "CUDTACTTIME" "CPS ACTIVATION TIME in s" +state real ltngacttime - - - - r "ltngacttime" "LTNGACTTIME" "LTNG ACTIVATION TIME in s" +state real power ij misc 1 - irh "Power" "Power production" "W" + + +# State for derived time quantities. +state integer itimestep - - - - rh "itimestep" "" "" +state real xtime - - - - rh "xtime" "minutes since YYYY-MM-DD hh:mm:ss" "minutes since simulation start" +state real julian - - - - - "julian" "day of year, 0.0 at 0Z on 1 Jan." "days" + +# input file descriptor for lbcs on parent domain +state integer lbc_fid - - - - - "lbc_fid" "" "" +# indicates if tiling has been computed +state logical tiled - - - - - "tiled" "" "" +# indicates if patches have been computed +state logical patched - - - - - "patched" "" "" +# indicates whether to read input from file or generate +#state logical input_from_file - - - - - "input_from_file" "" "" +# indicates whether to recompute mu +state logical press_adj - - - - - "press_adj" "T/F flag adjust mu" "" + +# Mask for moving nest interpolations +state integer imask_nostag ij misc 1 - +state integer imask_xstag ij misc 1 X +state integer imask_ystag ij misc 1 Y +state integer imask_xystag ij misc 1 XY +# vortex center indices; need for restarts of moving nests +state real xi - misc - - r +state real xj - misc - - r +state real vc_i - misc - - r +state real vc_j - misc - - r + +#----------------------------------------------------------------------------------------------------------------------------------------------------------------- +# Scalar (4D) arrays + +# Moist Scalars +# +# The first line ensures that there will be identifiers named moist and +# moist_tend even if there are not any moist scalars (so the essentially +# dry code will will still link properly) +# +state real - ikjftb moist 1 - - - +state real qv ikjftb moist 1 - \ + i0rh01usdf=(bdy_interp:dt) "QVAPOR" "Water vapor mixing ratio" "kg kg-1" +state real qc ikjftb moist 1 - \ + i0rhusdf=(bdy_interp:dt) "QCLOUD" "Cloud water mixing ratio" "kg kg-1" +state real qr ikjftb moist 1 - \ + i0rhusdf=(bdy_interp:dt) "QRAIN" "Rain water mixing ratio" "kg kg-1" +state real qi ikjftb moist 1 - \ + i0rhusdf=(bdy_interp:dt) "QICE" "Ice mixing ratio" "kg kg-1" +state real qi2 ikjftb moist 1 - \ + i0rhusdf=(bdy_interp:dt) "QICE2" "Ice mixing ratio cat 2" "kg kg-1" +state real qi3 ikjftb moist 1 - \ + i0rhusdf=(bdy_interp:dt) "QICE3" "Ice mixing ratio cat 3" "kg kg-1" +state real qs ikjftb moist 1 - \ + i0rhusdf=(bdy_interp:dt) "QSNOW" "Snow mixing ratio" "kg kg-1" +state real qg ikjftb moist 1 - \ + i0rhusdf=(bdy_interp:dt) "QGRAUP" "Graupel mixing ratio" "kg kg-1" +state real qh ikjftb moist 1 - \ + i0rhusdf=(bdy_interp:dt) "QHAIL" "Hail mixing ratio" "kg kg-1" +state real - ikjftb dfi_moist 1 - - - +state real dfi_qv ikjftb dfi_moist 1 - \ + rusdf=(bdy_interp:dt) "DFI_QVAPOR" "Water vapor mixing ratio" "kg kg-1" +state real dfi_qc ikjftb dfi_moist 1 - \ + rusdf=(bdy_interp:dt) "DFI_QCLOUD" "Cloud water mixing ratio" "kg kg-1" +state real dfi_qr ikjftb dfi_moist 1 - \ + rusdf=(bdy_interp:dt) "DFI_QRAIN" "Rain water mixing ratio" "kg kg-1" +state real dfi_qi ikjftb dfi_moist 1 - \ + rusdf=(bdy_interp:dt) "DFI_QICE" "Ice mixing ratio" "kg kg-1" +state real dfi_qi2 ikjftb dfi_moist 1 - \ + rusdf=(bdy_interp:dt) "DFI_QICE2" "Ice mixing ratio cat 2" "kg kg-1" +state real dfi_qi3 ikjftb dfi_moist 1 - \ + rusdf=(bdy_interp:dt) "DFI_QICE3" "Ice mixing ratio cat 3" "kg kg-1" +state real dfi_qs ikjftb dfi_moist 1 - \ + rusdf=(bdy_interp:dt) "DFI_QSNOW" "Snow mixing ratio" "kg kg-1" +state real dfi_qg ikjftb dfi_moist 1 - \ + rusdf=(bdy_interp:dt) "DFI_QGRAUP" "Graupel mixing ratio" "kg kg-1" +state real dfi_qh ikjftb dfi_moist 1 - \ + rusdf=(bdy_interp:dt) "DFI_QHAIL" "Hail mixing ratio" "kg kg-1" +state real qvold ikj misc 1 - rdu "QVOLD" "Water vapor mixing ratio, old time step" "kg kg-1" +state real rimi ikj misc 1 - irh "RIMI" "riming intensity" "fraction" +state real qnwfa2d ij misc 1 - i01{17}rhdu "QNWFA2D" "Surface aerosol number conc emission" "kg-1 s-1" +state real qnifa2d ij misc 1 - i01{17}rhdu "QNIFA2D" "Surface dust number conc emission" "kg-1 s-1" +state real qnbca2d ij misc 1 - i01{17}rhdu "QNBCA2D" "Surface black carbon number conc emission" "kg-1 s-1" +state real qnocbb2d ij misc 1 - i01{17}rhdu "QNOCBB2D" "Surface organic carbon biomass burning number conc emission" "kg-1 s-1" +state real qnbcbb2d ij misc 1 - i01{17}rhdu "QNBCBB2D" "Surface black carbon biomass burning number conc emission" "kg-1 s-1" +state real re_cloud ikj misc 1 - r "RE_CLOUD" "Effective radius cloud water" "m" +state real re_ice ikj misc 1 - r "RE_ICE" "Effective radius cloud ice" "m" +state real re_snow ikj misc 1 - r "RE_SNOW" "Effective radius snow" "m" +state real re_cloud_gsfc ikj misc 1 - rh "RE_CLOUD_GSFC" "Cloud Water effective radius" "micron" +state real re_rain_gsfc ikj misc 1 - rh "RE_RAIN_GSFC" "Rain Water effective radius" "micron" +state real re_ice_gsfc ikj misc 1 - rh "RE_ICE_GSFC" "Cloud Ice effective radius" "micron" +state real re_snow_gsfc ikj misc 1 - rh "RE_SNOW_GSFC" "Snow effective radius" "micron" +state real re_graupel_gsfc ikj misc 1 - rh "RE_GRAUPEL_GSFC" "Graupel Water effective radius" "micron" +state real re_hail_gsfc ikj misc 1 - rh "RE_HAIL_GSFC" "Hail Water effective radius" "micron" +state real dfi_re_cloud ikj misc 1 - - "DFI_RE_CLOUD" "DFI Effective radius cloud water" "m" +state real dfi_re_ice ikj misc 1 - - "DFI_RE_ICE" "DFI Effective radius cloud ice" "m" +state real dfi_re_snow ikj misc 1 - - "DFI_RE_SNOW" "DFI Effective radius snow" "m" +state real dfi_re_cloud_gsfc ikj misc 1 - - "DFI_RE_CLOUD_GSFC" "DFI Cloud Water effective radius" "micron" +state real dfi_re_rain_gsfc ikj misc 1 - - "DFI_RE_RAIN_GSFC" "DFI Rain Water effective radius" "micron" +state real dfi_re_ice_gsfc ikj misc 1 - - "DFI_RE_ICE_GSFC" "DFI Cloud Ice effective radius" "micron" +state real dfi_re_snow_gsfc ikj misc 1 - - "DFI_RE_SNOW_GSFC" "DFI Snow effective radius" "micron" +state real dfi_re_graupel_gsfc ikj misc 1 - - "DFI_RE_GRAUPEL_GSFC" "DFI Graupel Water effective radius" "micron" +state real dfi_re_hail_gsfc ikj misc 1 - - "DFI_RE_HAIL_GSFC" "DFI Hail Water effective radius" "micron" +state integer has_reqc - misc 1 - r "has_reqc" "Flag for having effective radius cloud water" "" +state integer has_reqi - misc 1 - r "has_reqi" "Flag for having effective radius cloud ice" "" +state integer has_reqs - misc 1 - r "has_reqs" "Flag for having effective radius snow" "" + +# Other Scalars +state real - ikjftb scalar 1 - - - +state real qndrop ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QNDROP" "Droplet number mixing ratio" "# kg-1" +state real qni ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QNICE" "Ice Number concentration" "# kg-1" +state real qni2 ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QNICE2" "Ice Number concentration cat 2" "# kg-1" +state real qni3 ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QNICE3" "Ice Number concentration cat 3" "# kg-1" +state real qt ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "CWM" "Total condensate mixing ratio" "kg kg-1" +state real qns ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QNSNOW" "Snow Number concentration" "# kg(-1)" +state real qnr ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QNRAIN" "Rain Number concentration" "# kg(-1)" +state real qng ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QNGRAUPEL" "Graupel Number concentration" "# kg(-1)" +state real qnh ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QNHAIL" "Hail Number concentration" "# kg(-1)" +state real qnn ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QNCCN" "CCN Number concentration" "# kg(-1)" +state real qnc ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QNCLOUD" "cloud water Number concentration" "# kg(-1)" +state real qvolg ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QVGRAUPEL" "Graupel Particle Volume" "m(3) kg(-1)" +state real qvolh ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QVHAIL" "Hail Particle Volume" "m(3) kg(-1)" +state real qrimef ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QRIMEF" "rime factor * qi" "kg kg-1" +state real qir ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QIR" "Rime ice mass-1 mixing ratio" "kg kg(-1)" +state real qib ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QIB" "Rime ice volume-1 mixing ratio" "m(3) kg(-1)" +state real qir2 ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QIR2" "Rime ice mass-2 mixing ratio" "kg kg(-1)" +state real qib2 ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QIB2" "Rime ice volume-2 mixing ratio" "m(3) kg(-1)" +state real qzi ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QZI" "Sixth moment ice mixing ratio" "m(6) kg(-1)" +state real qvoli ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QVOLI" "Ice volume-1 mixing ratio" "m(3) kg(-1)" +state real qaoli ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QAOLI" "Ice volume-1 times aspect ratio mixing ratio" "m(3) kg(-1)" +state real qvoli2 ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QVOLI2" "Ice volume-2 mixing ratio" "m(3) kg(-1)" +state real qaoli2 ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QAOLI2" "Ice volume-2 times aspect ratio mixing ratio" "m(3) kg(-1)" +state real qvoli3 ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QVOLI3" "Ice volume-3 mixing ratio" "m(3) kg(-1)" +state real qaoli3 ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QAOLI3" "Ice volume-3 times aspect ratio mixing ratio" "m(3) kg(-1)" + +state real - ikjftb dfi_scalar 1 - - - +state real dfi_qndrop ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QNDROP" "DFI Droplet number mixing ratio" "# kg-1" +state real dfi_qni ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QNICE" "DFI Ice Number concentration" "# kg-1" +state real dfi_qni2 ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QNICE2" "DFI Ice Number concentration cat 2" "# kg-1" +state real dfi_qni3 ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QNICE3" "DFI Ice Number concentration cat 3" "# kg-1" +state real dfi_qt ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_CWM" "DFI Total condensate mixing ratio" "kg kg-1" +state real dfi_qns ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QNSNOW" "DFI Snow Number concentration" "# kg(-1)" +state real dfi_qnr ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QNRAIN" "DFI Rain Number concentration" "# kg(-1)" +state real dfi_qng ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QNGRAUPEL" "DFI Graupel Number concentration" "# kg(-1)" +state real dfi_qnh ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QNHAIL" "DFI Hail Number concentration" "# kg(-1)" +state real dfi_qnn ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QNCC" "DFI CNN Number concentration" "# kg(-1)" +state real dfi_qnc ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QNCLOUD" "DFI Cloud Number concentration" "# kg(-1)" +state real dfi_qvolg ikjftb dfi_scalar 1 - \ + rhusdf=(bdy_interp:dt) "DFI_QVGRAUPEL" "DFI Graupel Particle Volume" "m(3) kg(-1)" +state real dfi_qvolh ikjftb dfi_scalar 1 - \ + rhusdf=(bdy_interp:dt) "DFI_QVHAIL" "DFI Hail Particle Volume" "m(3) kg(-1)" +state real dfi_qir ikjftb dfi_scalar 1 - \ + rhusdf=(bdy_interp:dt) "DFI_QIR" "DFI Rime ice mass-1 mixing ratio" "kg kg(-1)" +state real dfi_qib ikjftb dfi_scalar 1 - \ + rhusdf=(bdy_interp:dt) "DFI_QIB" "DFI Rime ice volume-1 mixing ratio" "m(3) kg(-1)" +state real dfi_qir2 ikjftb dfi_scalar 1 - \ + rhusdf=(bdy_interp:dt) "DFI_QIR2" "DFI Rime ice mass-2 mixing ratio" "kg kg(-1)" +state real dfi_qib2 ikjftb dfi_scalar 1 - \ + rhusdf=(bdy_interp:dt) "DFI_QIB2" "DFI Rime ice volume-2 mixing ratio" "m(3) kg(-1)" +state real dfi_qvoli ikjftb dfi_scalar 1 - \ + rhusdf=(bdy_interp:dt) "DFI_QVOLI" "DFI Ice volume-1 mixing ratio" "kg kg(-1)" +state real dfi_qaoli ikjftb dfi_scalar 1 - \ + rhusdf=(bdy_interp:dt) "DFI_QAOLI" "DFI Ice volume-1 times aspect ratio mixing ratio" "kg kg(-1)" +state real dfi_qvoli2 ikjftb dfi_scalar 1 - \ + rhusdf=(bdy_interp:dt) "DFI_QVOLI2" "DFI Ice volume-2 mixing ratio" "kg kg(-1)" +state real dfi_qaoli2 ikjftb dfi_scalar 1 - \ + rhusdf=(bdy_interp:dt) "DFI_QAOLI2" "DFI Ice volume-2 times aspect ratio mixing ratio" "kg kg(-1)" +state real dfi_qvoli3 ikjftb dfi_scalar 1 - \ + rhusdf=(bdy_interp:dt) "DFI_QVOLI3" "DFI Ice volume-3 mixing ratio" "kg kg(-1)" +state real dfi_qaoli3 ikjftb dfi_scalar 1 - \ + rhusdf=(bdy_interp:dt) "DFI_QAOLI3" "DFI Ice volume-3 times aspect ratio mixing ratio" "kg kg(-1)" + +state real dfi_qke_adv ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "dfi_qke_adv" "DFI twice TKE from MYNN" "m2 s-2" + +#---------for ntu3m--------------------------------------------------------------------------- +state real qdcn ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QDCN" "Mass mixing ratio for dry CN " "kg kg-1" +state real qtcn ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QTCN" "Mass mixing ratio for total CN" "kg kg-1" +state real qccn ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QCCN" "Mass mixing ratio for cloud CN" "kg kg-1" +state real qrcn ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QRCN" "Mass mixing ratio for rain CN" "kg kg-1" +state real qnin ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "QNIN" "Potential ice nuclei number mixing ratio" "# kg-1" +state real fi ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "FI" "Shape moment mixing ratio for pristine ice" "m^3 kg-1" +state real fs ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "FS" "Shape moment mixing ratio for snow-aggregates" "m^3 kg-1" +state real vi ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "VI" "Volume moment mixing ratio for pristine ice" "m^3 kg-1" +state real vs ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "VS" "Volume moment mixing ratio for snow-aggragates" "m^3 kg-1" +state real vg ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "VG" "Volume moment mixing ratio for rimed ice" "m^3 kg-1" +state real ai ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "AI" "Second moment mixing ratio for pristine ice" "m^2 kg-1" +state real as ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "AS" "Second moment mixing ratio for snow-aggregates" "m^2 kg-1" +state real ag ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "AG" "Second moment mixing ratio for rimed ice" "m^2 kg-1" +state real ah ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "AH" "Second moment mixing ratio for hail" "m^2 kg-1" +state real i3m ikjftb scalar 1 - \ + i0rhusdf=(bdy_interp:dt) "I3M" "Third moment mixing ratio for pristine ice" "m^3 kg-1" + +state real dfi_qdcn ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QDCN" "Mass mixing ratio for dry CN" "kg kg-1" +state real dfi_qtcn ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QTCN" "Mass mixing ratio for total CN" "kg kg-1" +state real dfi_qccn ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QCCN" "Mass mixing ratio for cloud CN" "kg kg-1" +state real dfi_qrcn ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QRCN" "Mass mixing ratio for rain CN" "kg kg-1" +state real dfi_qnin ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_QNIN" "Potential ice nuclei number mixing ratio" "# kg-1" +state real dfi_fi ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_FI" "Shape moment mixing ratio for pristine ice" "m^3 kg-1" +state real dfi_fs ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_FS" "Shape moment mixing ratio for snow-aggregates" "m^3 kg-1" +state real dfi_vi ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_VI" "Volume moment mixing ratio for pristine ice" "m^3 kg-1" +state real dfi_vs ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_VS" "Volume moment mixing ratio for snow-aggregates" "m^3 kg-1" +state real dfi_vg ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_VG" "Volume moment mixing ratio for rimed ice" "m^3 kg-1" +state real dfi_ai ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_AI" "Second moment mixing ratio for pristine ice" "m^2 kg-1" +state real dfi_as ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_AS" "Second moment mixing ratio for snow-aggregates" "m^2 kg-1" +state real dfi_ag ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_AG" "Second moment mixing ratio for rimed ice" "m^2 kg-1" +state real dfi_ah ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_AH" "Second moment mixing ratio for hail" "m^2 kg-1" +state real dfi_i3m ikjftb dfi_scalar 1 - \ + rusdf=(bdy_interp:dt) "DFI_I3M" "Third moment mixing ratio for pristine ice" "m^3 kg-1" +#-------------------------------------for ntu3m---------------------------------------------------------- +# +#----------------------------------------------------------------------------------------------------------------------------------------------------------------- + +# Arrays for Specified LBCs (lbc arrays REMOVED; Boundary arrays are now specified with the state array; see above, 20050413 JM ) + +state real fcx w misc - - ir "fcx" "RELAXATION TERM FOR BOUNDARY ZONE" "" +state real gcx w misc - - ir "gcx" "2ND RELAXATION TERM FOR BOUNDARY ZONE" "" +state real dtbc - misc - - r "dtbc" "TIME SINCE BOUNDARY READ" "" + +#------------------------------------------------------------------------------------------------------------------------------------------- +#------------------------------------------------------------------------------------------------------------------------------------------- +# Physics Related State Varibles + +#------------------------------------------------------------------------------------------------------------------------------------------- +# SI - start variables from netCDF format from Standard Initialization, most eventually for use in LSM schemes +#------------------------------------------------------------------------------------------------------------------------------------------- + +state real soil_layers i{lin}j misc 1 Z i1 "SOIL_LAYERS" "SOIL LAYERS" "cm" +state real soil_levels i{lin}j misc 1 Z i1 "SOIL_LEVELS" "SOIL LEVELS" "cm" +state real st i{lin}j misc 1 Z i1 "ST" "SOIL TEMPERATURES" "K" +state real sm i{lin}j misc 1 Z i1 "SM" "SOIL MOISTURES" "m3 m-3" +state real sw i{lin}j misc 1 Z i1 "SW" "SOIL LIQUIDS" "m3 m-3" +state real soilt i{lin}j misc 1 Z i1 "SOILT" "RUC SOIL TEMPERATURES" "K" +state real soilm i{lin}j misc 1 Z i1 "SOILM" "RUC SOIL MOISTURES" "m3 m-3" +state real sm000007 ij misc 1 - i1 "SM000007" "LAYER SOIL MOISTURE" "m3 m-3" +state real sm007028 ij misc 1 - i1 "SM007028" "LAYER SOIL MOISTURE" "m3 m-3" +state real sm028100 ij misc 1 - i1 "SM028100" "LAYER SOIL MOISTURE" "m3 m-3" +state real sm100255 ij misc 1 - i1 "SM100255" "LAYER SOIL MOISTURE" "m3 m-3" +state real st000007 ij misc 1 - i1 "ST000007" "LAYER SOIL TEMPERATURE" "K" +state real st007028 ij misc 1 - i1 "ST007028" "LAYER SOIL TEMPERATURE" "K" +state real st028100 ij misc 1 - i1 "ST028100" "LAYER SOIL TEMPERATURE" "K" +state real st100255 ij misc 1 - i1 "ST100255" "LAYER SOIL TEMPERATURE" "K" +state real sm000010 ij misc 1 - i1 "SM000010" "LAYER SOIL MOISTURE" "m3 m-3" +state real sm010040 ij misc 1 - i1 "SM010040 " "LAYER SOIL MOISTURE" "m3 m-3" +state real sm040100 ij misc 1 - i1 "SM040100 " "LAYER SOIL MOISTURE" "m3 m-3" +state real sm100200 ij misc 1 - i1 "SM100200 " "LAYER SOIL MOISTURE" "m3 m-3" +state real sm010200 ij misc 1 - i1 "SM010200" "LAYER SOIL MOISTURE" "m3 m-3" +state real soilm000 ij misc 1 - i1 "SOILM000" "LAYER SOIL MOISTURE" "m3 m-3" +state real soilm005 ij misc 1 - i1 "SOILM005" "LAYER SOIL MOISTURE" "m3 m-3" +state real soilm020 ij misc 1 - i1 "SOILM020" "LAYER SOIL MOISTURE" "m3 m-3" +state real soilm040 ij misc 1 - i1 "SOILM040" "LAYER SOIL MOISTURE" "m3 m-3" +state real soilm160 ij misc 1 - i1 "SOILM160" "LAYER SOIL MOISTURE" "m3 m-3" +state real soilm300 ij misc 1 - i1 "SOILM300" "LAYER SOIL MOISTURE" "m3 m-3" +state real sw000010 ij misc 1 - i1 "SW000010" "LAYER SOIL LIQUID" "m3 m-3" +state real sw010040 ij misc 1 - i1 "SW010040" "LAYER SOIL LIQUID" "m3 m-3" +state real sw040100 ij misc 1 - i1 "SW040100" "LAYER SOIL LIQUID" "m3 m-3" +state real sw100200 ij misc 1 - i1 "SW100200" "LAYER SOIL LIQUID" "m3 m-3" +state real sw010200 ij misc 1 - i1 "SW010200" "LAYER SOIL LIQUID" "m3 m-3" +state real soilw000 ij misc 1 - i1 "SOILW000" "LAYER SOIL LIQUID" "m3 m-3" +state real soilw005 ij misc 1 - i1 "SOILW005" "LAYER SOIL LIQUID" "m3 m-3" +state real soilw020 ij misc 1 - i1 "SOILW020" "LAYER SOIL LIQUID" "m3 m-3" +state real soilw040 ij misc 1 - i1 "SOILW040" "LAYER SOIL LIQUID" "m3 m-3" +state real soilw160 ij misc 1 - i1 "SOILW160" "LAYER SOIL LIQUID" "m3 m-3" +state real soilw300 ij misc 1 - i1 "SOILW300" "LAYER SOIL LIQUID" "m3 m-3" +state real st000010 ij misc 1 - i1 "ST000010" "LAYER SOIL TEMPERATURE" "K" +state real st010040 ij misc 1 - i1 "ST010040" "LAYER SOIL TEMPERATURE" "K" +state real st040100 ij misc 1 - i1 "ST040100" "LAYER SOIL TEMPERATURE" "K" +state real st100200 ij misc 1 - i1 "ST100200" "LAYER SOIL TEMPERATURE" "K" +state real st010200 ij misc 1 - i1 "ST010200" "LAYER SOIL TEMPERATURE" "K" +state real soilt000 ij misc 1 - i1 "SOILT000" "LAYER SOIL TEMPERATURE" "K" +state real soilt005 ij misc 1 - i1 "SOILT005" "LAYER SOIL TEMPERATURE" "K" +state real soilt020 ij misc 1 - i1 "SOILT020" "LAYER SOIL TEMPERATURE" "K" +state real soilt040 ij misc 1 - i1 "SOILT040" "LAYER SOIL TEMPERATURE" "K" +state real soilt160 ij misc 1 - i1 "SOILT160" "LAYER SOIL TEMPERATURE" "K" +state real soilt300 ij misc 1 - i1 "SOILT300" "LAYER SOIL TEMPERATURE" "K" +state real topostdv ij misc 1 - i12 "TOPOSTDV" "ELEVATION STD DEV" "m" +state real toposlpx ij misc 1 - i012rdu "TOPOSLPX" "ELEVATION X SLOPE" "" +state real toposlpy ij misc 1 - i012rdu "TOPOSLPY" "ELEVATION Y SLOPE" "" +state real slope ij misc 1 - rdu "SLOPE" "ELEVATION SLOPE" "" +state real slp_azi ij misc 1 - rdu "SLP_AZI" "ELEVATION SLOPE AZIMUTH" "rad" +state real shdmax ij misc 1 - i012rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "SHDMAX" "ANNUAL MAX VEG FRACTION" "" +state real shdmin ij misc 1 - i012rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "SHDMIN" "ANNUAL MIN VEG FRACTION" "" +state real snoalb ij misc 1 - i012rhd "SNOALB" "ANNUAL MAX SNOW ALBEDO IN FRACTION" "" +state real toposoil ij misc 1 - i12 "SOILHGT" "ELEVATION OF LSM DATA" "m" +state real landusef iuj misc 1 Z i012rdu "LANDUSEF" "LANDUSE FRACTION BY CATEGORY" "" +state real soilctop isj misc 1 Z i012rdu "SOILCTOP" "SOIL CAT FRACTION (TOP)" "" +state real soilcbot isj misc 1 Z i012rdu "SOILCBOT" "SOIL CAT FRACTION (BOTTOM)" "" +state real soilcat ij misc 1 - i12 "SOILCAT" "SOIL CAT DOMINANT TYPE" "" +state real vegcat ij misc 1 - i12 "VEGCAT" "VEGETATION CAT DOMINANT TYPE" "" + +state real pct_pft_input i{npft}j misc 1 Z i012rh "PCT_PFT" "PFT PERCENTAGE BY CATEGORY" "" +state real irrigation ij misc 1 - i012rdu "IRRIGATION" "irrigated land percentage" "" +state integer irr_rand_field ij misc 1 - hrdu "IRR_PH_FIELD" "irrigated land percentage" "" + + +#--------------------------------------------------------------------------------------------------------------------------------------- +# SI - end variables from netCDF format from Standard Initialization +#--------------------------------------------------------------------------------------------------------------------------------------- + +# soil model variables (Note that they are marked as staggered in the vertical dimension +# because they are "fully dimensioned" -- they use every element in that dim +state real TSLB ilj misc 1 Z i02rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TSLB" "SOIL TEMPERATURE" "K" + +# Time series variables +state real ts_hour ?! misc - - - "TS_HOUR" "Model integration time, hours" +state real ts_u ?! misc - - - "TS_U" "Surface wind U-component, earth-relative" +state real ts_v ?! misc - - - "TS_V" "Surface wind V-component, earth-relative" +state real ts_q ?! misc - - - "TS_Q" "Surface mixing ratio" +state real ts_t ?! misc - - - "TS_T" "Surface temperature" +state real ts_psfc ?! misc - - - "TS_PSFC" "Surface pressure" +state real ts_glw ?! misc - - - "TS_GLW" "Downward long wave flux at surface" +state real ts_gsw ?! misc - - - "TS_GSW" "Net short wave flux at surface" +state real ts_hfx ?! misc - - - "TS_HFX" "Upward heat flux at surface" +state real ts_lh ?! misc - - - "TS_LH" "Upward moisture flux at surface" +state real ts_tsk ?! misc - - - "TS_TSK" "Skin temperature" +state real ts_tslb ?! misc - - - "TS_TSLB" "Soil temperature" +state real ts_clw ?! misc - - - "TS_CLW" "Column integrated cloud water" +state real ts_rainc ?! misc - - - "TS_RAINC" "Cumulus precip" +state real ts_rainnc ?! misc - - - "TS_RAINNC" "Grid-scale precip" + +# Time series of vertical profile of U, V, GHT, THETA, QVAPOR, PRESSURE +state real ts_u_profile ?!k misc - - - "TS_U_PROFILE" "Wind u-Component, earth relative, vertical profile" "m/s" +state real ts_v_profile ?!k misc - - - "TS_V_PROFILE" "Wind v-Component, earth relative, vertical profile" "m/s" +state real ts_w_profile ?!k misc - - - "TS_W_PROFILE" "Wind w-Component, vertical profile" "m/s" +state real ts_gph_profile ?!k misc - - - "TS_GPH_PROFILE" "Total geopotential height, vertical profile" "m" +state real ts_th_profile ?!k misc - - - "TS_TH_PROFILE" "Total potential temperature, vertical profile" "K" +state real ts_qv_profile ?!k misc - - - "TS_QV_PROFILE" "Water vapor mixing ratio, vertical profile" "kg/kg" +state real ts_p_profile ?!k misc - - - "TS_P_PROFILE" "Pressure, vertical profile" "Pa" + + +# urban model variables +state real DZR l em - Z r "DZR" "THICKNESSES OF ROOF LAYERS" "m" +state real DZB l em - Z r "DZB" "THICKNESSES OF WALL LAYERS" "m" +state real DZG l em - Z r "DZG" "THICKNESSES OF ROAD LAYERS" "m" +state real URB_PARAM i{urb}j misc 1 - i1 "URB_PARAM" "NUDAPT_NBSD Urban Parameters" "parameter" +state real LP_URB2D ij misc 1 - ir "BUILD_AREA_FRACTION" "BUILDING PLAN AREA DENSITY" "dimensionless" +state real HI_URB2D i{uhi}j misc 1 Z ir "HEIGHT_HISTOGRAMS" "DISTRIBUTION OF BUILDING HEIGHTS" "dimensionless" +state real LB_URB2D ij misc 1 - ir "BUILD_SURF_RATIO" "BUILDING SURFACE AREA TO PLAN AREA RATIO" "dimensionless" +state real HGT_URB2D ij misc 1 - ir "BUILD_HEIGHT" "AVERAGE BUILDING HEIGHT WEIGHTED BY BUILDING PLAN AREA" "m" +state real MH_URB2D ij misc 1 - ir "MH_URB2D" "Mean Building Height" "m" +state real STDH_URB2D ij misc 1 - ir "STDH_URB2D" "Standard Deviation of Building Height" "m2" +state real LF_URB2D i{udr}j misc 1 Z ir "LF_URB2D" "Frontal Area Index" "dimensionless" + +# lsm State Variables + +state real SMOIS ilj - 1 Z i02rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "SMOIS" "SOIL MOISTURE" "m3 m-3" +state real SH2O ilj - 1 Z i02rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "SH2O" "SOIL LIQUID WATER" "m3 m-3" +state real SMCREL ilj - 1 Z i02rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "SMCREL" "RELATIVE SOIL MOISTURE" "" +state real XICE ij misc 1 - i0124rhd=(interp_mask_field:lu_index,isice)u=(copy_fcnm) "SEAICE" "SEA ICE FLAG" "" +state real ICEDEPTH ij misc 1 - i0124rhd=(interp_mask_field:lu_index,isice)u=(copy_fcnm) "ICEDEPTH" "SEA ICE THICKNESS" "m" +state real XICEM ij misc 1 - rhd=(interp_mask_field:lu_index,isice)u=(copy_fcnm) "XICEM" "SEA ICE FLAG (PREVIOUS STEP)" "" +state real ALBSI ij misc 1 - i0124rhd=(interp_mask_field:lu_index,isice)u=(copy_fcnm) "ALBSI" "SEA ICE ALBEDO" "" +state real SNOWSI ij misc 1 - i0124rhd=(interp_mask_field:lu_index,isice)u=(copy_fcnm) "SNOWSI" "SNOW DEPTH ON SEA ICE" "m" +state real SMSTAV ij misc 1 - rd=(interp_mask_field:lu_index,iswater) "SMSTAV" "MOISTURE AVAILABILITY" "" +state real SMSTOT ij misc 1 - r "SMSTOT" "TOTAL SOIL MOISTURE" "m3 m-3" +state real SOLDRAIN ij misc 1 - r "SOLDRAIN" "soil column drainage" "mm" +state real SFCHEADRT ij misc 1 - r "SFCHEADRT" "surface water depth" "mm" +state real INFXSRT ij misc 1 - r "INFXSRT" "time step infiltration excess" "mm" +state real qtiledrain ij misc 1 - r "qtiledrain" "accumulated tile drainage" "mm" +state real ZWATBLE2D ij misc 1 - r "ZWATBLE2D" "water table depth for tile drainage" "mm" + +state real SFCRUNOFF ij misc 1 - rhd=(interp_mask_field:lu_index,iswater) "SFROFF" "SURFACE RUNOFF" "mm" +state real UDRUNOFF ij misc 1 - rhd=(interp_mask_field:lu_index,iswater) "UDROFF" "UNDERGROUND RUNOFF" "mm" +state integer IVGTYP ij misc 1 - i02rhd=(interp_fcni)u=(copy_fcni) "IVGTYP" "DOMINANT VEGETATION CATEGORY" "" +state integer ISLTYP ij misc 1 - i02rhd=(interp_mask_soil:lu_index)u=(copy_fcni) "ISLTYP" "DOMINANT SOIL CATEGORY" "" +state real VEGFRA ij misc 1 - i024rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "VEGFRA" "VEGETATION FRACTION" "" +state real SFCEVP ij misc 1 - r "SFCEVP" "ACCUMULATED SURFACE EVAPORATION" "kg m-2" +state real GRDFLX ij misc 1 - rh "GRDFLX" "GROUND HEAT FLUX" "W m-2" +state real ACGRDFLX ij misc 1 - rhdu "ACGRDFLX" "ACCUMULATED GROUND HEAT FLUX" "J m-2" +state real SFCEXC ij misc 1 - r "SFCEXC " "SURFACE EXCHANGE COEFFICIENT" "m s-1" + +state real ACSNOW ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "ACSNOW" "ACCUMULATED SNOW" "kg m-2" +state real ACRUNOFF ij misc 1 - irhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "ACRUNOFF" "ACCUMULATED RUNOFF" "kg m-2" +state real ACSNOM ij misc 1 - rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "ACSNOM" "ACCUMULATED MELTED SNOW" "kg m-2" +state real SNOW ij misc 1 - i012rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "SNOW" "SNOW WATER EQUIVALENT" "kg m-2" +state real SNOWH ij misc 1 - i012rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "SNOWH" "PHYSICAL SNOW DEPTH" "m" + +#state real RHOSN ij misc 1 - i02rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "RHOSN" " SNOW DENSITY" "kg m-3" +state real CANWAT ij misc 1 - i012rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "CANWAT" "CANOPY WATER" "kg m-2" +state integer IFNDSNOWH - misc 1 - i "FNDSNOWH" "SNOWH_LOGICAL" +state integer IFNDSOILW - misc 1 - i "FNDSOILW" "SOILW_LOGICAL" +state integer IFNDALBSI - misc 1 - ir "FNDALBSI" "ALBSI_LOGICAL" +state integer IFNDSNOWSI - misc 1 - ir "FNDSNOWSI" "SNOWSI_LOGICAL" +state integer IFNDICEDEPTH - misc 1 - ir "FNDICEDEPTH" "ICEDEPTH_LOGICAL" +state real XLAIDYN ij misc 1 - - "XLAIDYN" "Noah Dynamic LEAF AREA INDEX" "m-2/m-2" +# SKIN SST +state real SSTSK ij misc 1 - rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "SSTSK" "SKIN SEA SURFACE TEMPERATURE" "K" +state real lake_depth ij misc 1 - i012rd=(interp_mask_water_field:lu_index,islake) "lake_depth" "lake depth" "m" +state real water_depth ij misc 1 - i0rhd "water_depth" "global water depth" "m" +state real DTW ij misc 1 - r "DTW" "WARM LAYER TEMP DIFF" "C" +# Ocean surface currents +state real UOCE ij misc 1 - i0124rd=(interp_mask_water_field:lu_index,iswater) "UOCE" "SEA SURFACE ZONAL CURRENTS" "m s-1" +state real VOCE ij misc 1 - i0124rd=(interp_mask_water_field:lu_index,iswater) "VOCE" "SEA SURFACE MERIDIONAL CURRENTS" "m s-1" + +# DFI variables +state real hcoeff {ndfi} misc 1 - - "HCOEFF" "initialization weights" +state real hcoeff_tot - misc 1 - - "HCOEFF_TOT" "initialization weights" +state real dfi_p ikj misc 1 - r "P_DFI" "perturbation pressure" "Pa" +state real dfi_al ikj misc 1 - r "AL_DFI" "inverse perturbation density" "m3 kg-1" +state real dfi_mu ij misc 1 - r "MU_DFI" "perturbation dry air mass in column" "Pa" +state real dfi_phb ikj misc 1 Z r "PHB_DFI" "base-state geopotential" "m2 s-2" +state real dfi_ph0 ikj misc 1 Z r "PH0_DFI" "initial geopotential" "m2 s-2" +state real dfi_php ikj misc 1 Z r "PHP_DFI" "geopotential" "m2 s-2" +state real dfi_u ikj misc 1 - r "U_DFI" "u accumulation array" " " +state real dfi_v ikj misc 1 - r "V_DFI" "v accumulation array" " " +state real dfi_w ikj misc 1 - r "W_DFI" "w accumulation array" " " +state real dfi_ww ikj misc 1 Z r "WW_DFI" "mu-coupled eta-dot" "Pa s-1" +state real dfi_t ikj misc 1 - r "TT_DFI" "t accumulation array" " " +state real dfi_rh ikj misc 1 - r "RH_DFI" "initial relative humidity" " " +state real dfi_ph ikj misc 1 - r "PH_DFI" "p accumulation array" " " +state real dfi_pb ikj misc 1 - r "PB_DFI" "pb accumulation array" " " +state real dfi_alt ikj misc 1 - r "ALT_DFI" "1/rho accumulation array" " " +state real dfi_tke ikj misc 1 - r "TKE_DFI" "TURBULENCE KINETIC ENERGY" "m2 s-2" +state real dfi_tten_rad ikj misc 1 - ir "RAD_TTEN_DFI" "RADAR POT. TEMP. TENDENCY" "K s-1" +state real dfi_TSLB ilj misc 1 Z r "TSLB_dfi" "SOIL TEMPERATURE" "K" +state real dfi_SMOIS ilj - 1 Z r "SMOIS_dfi" "SOIL MOISTURE" "m3 m-3" +state real dfi_SNOW ij misc 1 - r "SNOW_dfi" "SNOW WATER EQUIVALENT" "kg m-2" +state real dfi_SNOWH ij misc 1 - r "SNOWH_dfi" "PHYSICAL SNOW DEPTH" "m" +state real dfi_CANWAT ij misc 1 - r "CANWAT_dfi" "CANOPY WATER" "kg m-2" +state real dfi_SMFR3D ilj misc 1 Z r "SMFR3D_dfi" "SOIL ICE" "" +state real dfi_KEEPFR3DFLAG ilj misc 1 Z r "KEEPFR3DFLAG_dfi" "FLAG - 1. FROZEN SOIL YES, 0 - NO" "" + +# urban state variables +state real TSK_RURAL ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TSK_RURAL" "TSK for rural fraction" "K" +state real TR_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TR_URB" "URBAN ROOF SKIN TEMPERATURE" "K" +state real TGR_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TGR_URB" "URBAN GREEN ROOF SKIN TEMPERATURE" "K" +state real TB_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TB_URB" "URBAN WALL SKIN TEMPERATURE" "K" +state real TG_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TG_URB" "URBAN ROAD SKIN TEMPERATURE" "K" +state real TC_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TC_URB" "URBAN CANOPY TEMPERATURE" "K" +state real QC_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "QC_URB" "URBAN CANOPY HUMIDITY" "kg kg{-1}" +state real UC_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "UC_URB" "URBAN CANOPY WIND" "m s{-1}" +state real XXXR_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "XXXR_URB" "M-O LENGTH ABOVE URBAN ROOF" "dimensionless" +state real XXXB_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "XXXB_URB" "M-O LENGTH ABOVE URBAN WALL" "dimensionless" +state real XXXG_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "XXXG_URB" "M-O LENGTH ABOVE URBAN ROAD" "dimensionless" +state real XXXC_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "XXXC_URB" "M-O LENGTH ABOVE URBAN CANOPY" "dimensionless" +state real CMCR_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "CMCR_URB" "GREEN ROOF CANOPY INTERCAPTED WATER" "m" +state real DRELR_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "DRELR_URB" "WATER HOLDING DEPTH ON ROOF IMPERVIOUS SURFACE" "m" +state real DRELB_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "DRELB_URB" "WATER HOLDING DEPTH ON WALL IMPERVIOUS SURFACE" "m" +state real DRELG_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "DRELG_URB" "WATER HOLDING DEPTH ON ROAD IMPERVIOUS SURFACE" "m" +state real FLXHUMR_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "FLXHUMR_URB" "WATER FLUX ON ROOF IMPERVIOUS SURFACE" "m/s" +state real FLXHUMB_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "FLXHUMB_URB" "WATER FLUX ON WALL IMPERVIOUS SURFACE" "m/s" +state real FLXHUMG_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "FLXHUMG_URB" "WATER FLUX ON ROAD IMPERVIOUS SURFACE" "m/s" +state real TGRL_URB3D ilj misc 1 Z rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TGRL_URB" "GREEN ROOF LAYER TEMPERATURE" +state real SMR_URB3D ilj misc 1 Z rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "SMR_URB" "GREEN ROOF LAYER SOIL MOISTURE" +state real TRL_URB3D ilj misc 1 Z rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TRL_URB" "ROOF LAYER TEMPERATURE" "K" +state real TBL_URB3D ilj misc 1 Z rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TBL_URB" "WALL LAYER TEMPERATURE" "K" +state real TGL_URB3D ilj misc 1 Z rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TGL_URB" "ROAD LAYER TEMPERATURE" "K" +state real SH_URB2D ij misc 1 - rd=(interp_fcnm)u=(copy_fcnm) "SH_URB" "SENSIBLE HEAT FLUX FROM URBAN SFC" "W m{-2}" +state real LH_URB2D ij misc 1 - rd=(interp_fcnm)u=(copy_fcnm) "LH_URB" "LATENT HEAT FLUX FROM URBAN SFC" "W m{-2}" +state real G_URB2D ij misc 1 - rd=(interp_fcnm)u=(copy_fcnm) "G_URB" "GROUND HEAT FLUX INTO URBAN" "W m{-2}" +state real RN_URB2D ij misc 1 - rd=(interp_fcnm)u=(copy_fcnm) "RN_URB" "NET RADIATION ON URBAN SFC" "W m{-2}" +state real TS_URB2D ij misc 1 - rd=(interp_fcnm)u=(copy_fcnm) "TS_URB" "SKIN TEMPERATURE" "K" +state real FRC_URB2D ij misc 1 - i012rd=(interp_fcnm)u=(copy_fcnm) "FRC_URB2D" "URBAN FRACTION" "dimensionless" +state integer UTYPE_URB2D ij misc 1 - rd=(interp_fcni)u=(copy_fcni) "UTYPE_URB" "URBAN TYPE" "dimensionless" +state real TRB_URB4D i{umap1}j misc 1 Z r "TRB_URB4D" "ROOF LAYER TEMPERATURE" "K" +state real TW1_URB4D i{umap2}j misc 1 Z r "TW1_URB4D" "WALL LAYER TEMPERATURE" "K" +state real TW2_URB4D i{umap2}j misc 1 Z r "TW2_URB4D" "WALL LAYER TEMPERATURE" "K" +state real TGB_URB4D i{umap3}j misc 1 Z r "TGB_URB4D" "ROAD LAYER TEMPERATURE" "K" +state real TLEV_URB3D i{umap6}j misc 1 Z r "TLEV_URB3D" "INDOOR TEMPERATURE" "K" +state real QLEV_URB3D i{umap6}j misc 1 Z r "QLEV_URB3D" "SPECIFIC HUMIDITY" "dimensionless" +state real TW1LEV_URB3D i{umap7}j misc 1 Z r "TW1LEV_URB3D" "WINDOW TEMPERATURE" "K" +state real TW2LEV_URB3D i{umap7}j misc 1 Z r "TW2LEV_URB3D" "WINDOW TEMPERATURE" "K" +state real TGLEV_URB3D i{umap8}j misc 1 Z r "TGLEV_URB3D" "GROUND TEMPERATURE BELOW A BUILDING" "K" +state real TFLEV_URB3D i{umap9}j misc 1 Z r "TFLEV_URB3D" "FLOOR TEMPERATURE" "K" +state real SF_AC_URB3D ij misc 1 - r "SF_AC_URB3D" "SENSIBLE HEAT FLUX FROM THE AIR COND." "W m{-2}" +state real LF_AC_URB3D ij misc 1 - r "LF_AC_URB3D" "LATENT HEAT FLUX FROM THE AIR COND." "W m{-2}" +state real CM_AC_URB3D ij misc 1 - r "CM_AC_URB3D" "CONSUMPTION OF THE AIR COND." "W m{-2}" +state real SFVENT_URB3D ij misc 1 - r "SFVENT_URB3D" "SENSIBLE HEAT FLUX FROM URBAN VENTILATION" "W m{-2}" +state real LFVENT_URB3D ij misc 1 - r "LFVENT_URB3D" "LATENT HEAT FLUX FROM URBAN VENTILATION" "W m{-2}" +state real SFWIN1_URB3D i{umap7}j misc 1 Z r "SFWIN1_URB3D" "SENSIBLE HEAT FLUX FROM URBAN SFC WINDOW" "W m{-2}" +state real SFWIN2_URB3D i{umap7}j misc 1 Z r "SFWIN2_URB3D" "SENSIBLE HEAT FLUX FROM URBAN SFC WINDOW" "W m{-2}" +state real SFW1_URB3D i{umap4}j misc 1 Z r "SFW1_URB3D" "SENSIBLE HEAT FLUX FROM URBAN SFC" "W m{-2}" +state real SFW2_URB3D i{umap4}j misc 1 Z r "SFW2_URB3D" "SENSIBLE HEAT FLUX FROM URBAN SFC" "W m{-2}" +state real SFR_URB3D i{umap5}j misc 1 Z r "SFR_URB3D" "SENSIBLE HEAT FLUX FROM URBAN SFC" "W m{-2}" +state real SFG_URB3D i{umap0}j misc 1 Z r "SFG_URB3D" "SENSIBLE HEAT FLUX FROM URBAN SFC" "W m{-2}" +state real EP_PV_URB3D ij misc 1 - rh "EP_PV_URB3D" "ELEC. PRODUCTION OF ROOFTOP PV PANELS" "W m{-2}" !PVP +state real T_PV_URB3D i{umap5}j misc 1 - r "T_PV_URB3D" "PHOTOVOLTAIC PANELS TEMPERATURE " "K" !PVP +state real TRV_URB4D i{umap10}j misc 1 Z r "TRV_URB4D" "GREEN ROOF LAYER TEMPERATURE" "K" +state real QR_URB4D i{umap10}j misc 1 Z r "QR_URB4D" "GREEN ROOF LAYER MOISTURE" "dimensionless" +state real QGR_URB3D ij misc 1 Z rh "QGR_URB4D" "GREEN ROOF LAYER MOISTURE OUTPUT" "dimensionless" +state real TGR_URB3D ij misc 1 Z rh "TGR_URB4D" "GREEN ROOF LAYER TEMPERATURE OUTPUT" "dimensionless" +state real DRAIN_URB4D i{umap5}j misc 1 Z r "DRAIN_URB4D" "GREEN ROOF DRAINAGE" "mm" +state real DRAINGR_URB3D ij misc 1 - rh "DRAINGR_URB3D" "ACCUMULATED GREEN ROOF DRAINAGE" "mm" +state real SFRV_URB3D i{umap5}j misc 1 Z r "SFRV_URB3D" "SENSIBLE HEAT FLUX FROM GREEN ROOF" "W m{-2}" +state real LFRV_URB3D i{umap5}j misc 1 Z r "LFRV_URB3D" "LATENT HEAT FLUX FROM GREEN ROOF" "W m{-2}" +state real DGR_URB3D i{umap5}j misc 1 Z r "DGR_URB3D" "ROOF LAYER DEPTH WATER RETENTION" "mm" +state real DG_URB3D i{umap0}j misc 1 Z r "DG_URB4D" "ROOF LAYER DEPTH WATER RETENTION" "mm" +state real LFR_URB3D i{umap5}j misc 1 Z r "LFR_URB3D" "LATENT HEAT FLUX FROM URBAN SFC" "W m{-2}" +state real LFG_URB3D i{umap0}j misc 1 Z r "LFG_URB3D" "LATENT HEAT FLUX FROM URBAN SFC" "W m{-2}" + +state real CMR_SFCDIF ij misc 1 - r "CMR_SFCDIF" "" "" +state real CHR_SFCDIF ij misc 1 - r "CHR_SFCDIF" "" "" +state real CMC_SFCDIF ij misc 1 - r "CMC_SFCDIF" "" "" +state real CHC_SFCDIF ij misc 1 - r "CHC_SFCDIF" "" "" +state real CMGR_SFCDIF ij misc 1 - r "CMGR_SFCDIF" "" "" +state real CHGR_SFCDIF ij misc 1 - r "CHGR_SFCDIF" "" "" + +state integer ECMASK ij misc 1 - rh "ECMASK" "ECLIPSE MASK" "dimensionless" +state real ECOBSC ij misc 1 - rh "ECOBSC" "ECLIPSE OBSCURITY" "dimensionless" +state real elon_track - misc 1 - rh "elon_track" "ECLIPSE LON" "degrees" +state real elat_track - misc 1 - rh "elat_track" "ECLIPSE LAT" "degrees" + +# solar location variables from radiation driver +state real COSZEN ij misc 1 - rh "COSZEN" "COS of SOLAR ZENITH ANGLE" "dimensionless" +state real HRANG ij misc 1 - r "HRANG" "SOLAR HOUR ANGLE" "radians" +state real DECLIN - misc 1 - r "DECLIN" "SOLAR DECLINATION" "radians" +state real SOLCON - misc 1 - r "SOLCON" "SOLAR CONSTANT" "W m-2" + +# RUC LSM +state real RHOSNF ij misc 1 - irh "RHOSNF" "DENSITY OF FROZEN PRECIP" "kg/m^3" +state real SNOWFALLAC ij misc 1 - irh "SNOWFALLAC" "RUN-TOTAL ACCUMULATED SNOWFALL [mm]" "" +state real PRECIPFR ij misc 1 - - "PRECIPFR" "TIME-STEP FROZEN PRECIP [mm]" "" +state real SMFR3D ilj misc 1 Z r "SMFR3D" "SOIL ICE" "" +state real KEEPFR3DFLAG ilj misc 1 Z r "KEEPFR3DFLAG" "FLAG - 1. FROZEN SOIL YES, 0 - NO" "" + +state real SWVISDIR ij misc 1 Z r "SWVISDIR" "SWR VIS DIR component" "" +state real SWVISDIF ij misc 1 Z r "SWVISDIF" "SWR VIS DIF component" "" +state real SWNIRDIR ij misc 1 Z r "SWNIRDIR" "SWR NIR DIR component" "" +state real SWNIRDIF ij misc 1 Z r "SWNIRDIF" "SWR NIR DIF component" "" +state real ALSWVISDIR ij misc 1 Z r "ALSWVISDIR" "ALB VIS DIR component" "" +state real ALSWVISDIF ij misc 1 Z r "ALSWVISDIF" "ALB VIS DIF component" "" +state real ALSWNIRDIR ij misc 1 Z r "ALSWNIRDIR" "ALB NIR DIR component" "" +state real ALSWNIRDIF ij misc 1 Z r "ALSWNIRDIF" "ALB NIR DIF component" "" + + +# From P-X PBL and LSM; RS (RC) and RA also from Noah and NoahMP +state real RA ij misc 1 - r "RA" "AERODYNAMIC RESISTANCE" "s m-1" +state real RS ij misc 1 - r "RS" "SURFACE RESISTANCE" "s m-1" +state real LAI ij misc 1 - i0124rh "LAI" "LEAF AREA INDEX" "m-2/m-2" +state real VEGF_PX ij misc 1 - rh "VEGF_PX" "Vegetation Fraction for PX LSM" "area/area" +state real T2OBS ij misc 1 - r "T2OBS" "2-m temperature from analysis " "K" +state real Q2OBS ij misc 1 - r "Q2OBS" "2-m mixing ratio from analysis " "kg/kg" +state real IMPERV ij misc 1 - i012rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "IMPERV" "Impervious surface fraction NLCD" "percent" +state real CANFRA ij misc 1 - i012rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "CANFRA" "Satellite canopy fraction" "percent" +state real LAI_PX ij misc 1 - rh "LAI_PX" "LAI used for PX LSM" "m2/m2" +state real WWLT_PX ij misc 1 - rh "WWLT_PX" "Soil wilting point for PX LSM" "m3/m3" +state real WFC_PX ij misc 1 - rh "WFC_PX" "Soil field capacity for PX LSM" "m3/m3" +state real WSAT_PX ij misc 1 - rh "WSAT_PX" "Soil saturation for PX LSM" "m3/m3" +state real CLAY_PX ij misc 1 - rh "CLAY_PX" "Clay perent for PX LSM" "fraction" +state real CSAND_PX ij misc 1 - rh "CSAND_PX" "Coarse sand perent for PX LSM" "fraction" +state real FMSAND_PX ij misc 1 - rh "FMSAND_PX" "Fine-medium sand perent for PX LSM" "fraction" + +# sfclay PBL variables +i1 real PSIM ij misc 1 - - "PSIM" "SIMILARITY FUNCTION FOR MOMENTUM" "" +i1 real PSIH ij misc 1 - - "PSIH" "SIMILARITY FUNCTION FOR HEAT" "" +state real FM ij misc 1 - h "FM" "INTEGRATED FUNCTION FOR MOMENTUM" "" +state real FH ij misc 1 - h "FH" "INTEGRATED FUNCTION FOR HEAT" "" +state real WSPD ij misc 1 - - "WSPD" "Wind Speed At Lowest Model Level (may contain vconv)" "m s-1" +i1 real GZ1OZ0 ij misc 1 - - "GZ1OZ0" "LOG OF Z1 over Z0" "" +state real BR ij misc 1 - h "BR" "Bulk Richardson" "" +state real ZOL ij misc 1 - h "ZOL" "z/L" "" + +# ysupbl variables for grims shallow convection +state real WSTAR_YSU ij misc 1 - h "WSTAR_YSU" "mixed-layer velocity scale from ysupbl" "m/s" +state real DELTA_YSU ij misc 1 - h "DELTA_YSU" "entrainment layer depth from ysupbl" "m" + +# EEPS PBL scheme +state real pep_pbl ikj misc 1 - hr "PEP_PBL" "TKE dissipation rate from EEPS" "m2 s-3" +state real pek_adv ikjftb scalar 1 - i0rusdf=(bdy_interp:dt) "pek_adv" "TKE from EEPS" "m2 s-2" +state real pep_adv ikjftb scalar 1 - i0rusdf=(bdy_interp:dt) "pep_adv" "TKE dissipating rate from EEPS" "m2 s-3" + +# MYJ PBL variables; GBM PBL: EXCH_H, EXCH_M +state real EXCH_H ikj misc 1 Z r "EXCH_H" "SCALAR EXCHANGE COEFFICIENTS " "m2 s-1" +state real EXCH_M ikj misc 1 Z r "EXCH_M" "EXCHANGE COEFFICIENTS " "m2 s-1" +state real CT ij misc 1 - r "CT" "COUNTERGRADIENT TERM" "K" +state real THZ0 ij misc 1 - r "THZ0" "POTENTIAL TEMPERATURE AT ZNT" "K" +state real Z0 ij misc 1 - r "Z0" "Background ROUGHNESS LENGTH" "m" +state real QZ0 ij misc 1 - r "QZ0" "SPECIFIC HUMIDITY AT ZNT" "kg kg-1" +state real UZ0 ij misc 1 - r "UZ0" "U WIND COMPONENT AT ZNT" "m s-1" +state real VZ0 ij misc 1 - r "VZ0" "V WIND COMPONENT AT ZNT" "m s-1" +state real QSFC ij misc 1 - r "QSFC" "SPECIFIC HUMIDITY AT LOWER BOUNDARY" "kg kg-1" +state real AKHS ij misc 1 - r "AKHS" "SFC EXCH COEFF FOR HEAT" "m s-1" +state real AKMS ij misc 1 - r "AKMS" "SFC EXCH COEFF FOR MOMENTUM" "m s-1" +state integer KPBL ij misc 1 - r "KPBL" "LEVEL OF PBL TOP" "" +state real U10E ij misc 1 - hdu "U10E" "Special U at 10 M from MYJSFC" "m s-1" +state real V10E ij misc 1 - hdu "V10E" "Special V at 10 M from MYJSFC" "m s-1" + +#BSINGH - For CuP +#~wig: added real pbl level index for output tests +state real AKPBL ij misc 1 - r "AKPBL" "LEVEL OF PBL TOP" "" +#BSINGH - ENDS +state real TSHLTR ij misc 1 - r "TSHLTR" "SHELTER THETA FROM MYJ" "K" +state real QSHLTR ij misc 1 - r "QSHLTR" "SHELTER SPECIFIC HUMIDITY FROM MYJ" "kg kg-1" +state real PSHLTR ij misc 1 - r "PSHLTR" "SHELTER PRESSURE FROM MYJ" "Pa" +state real TH10 ij misc 1 - r "TH10" "10-M THETA FROM MYJ" "K" +state real Q10 ij misc 1 - r "Q10" "10-M SPECIFIC HUMIDITY FROM MYJ" "kg kg-1" +i1 real CHKLOWQ ij misc 1 - - "CHKLOWQ" "SURFACE SATURATION FLAG" "" + +# MF_SHCONV variables +state real massflux_EDKF ikj misc 1 - - "MASS_FLUX" "MASS FLUX FROM EDKF" "Kg m s-1" +state real entr_EDKF ikj misc 1 - - "ENTR" "ENTRAINMENT FROM EDKF" "m-1" +state real detr_EDKF ikj misc 1 - - "DETR" "ENTRAINMENT FROM EDKF" "m-1" +state real thl_up ikj misc 1 - - "THL_UP" "THL OF UPDRAFT FROM EDKF" "K" +state real thv_up ikj misc 1 - - "THV_UP" "THL OF UPDRAFT FROM EDKF" "K" +state real rv_up ikj misc 1 - - "RV_UP" "RV OF UPDRAFT FROM EDKF" "kq/kg" +state real rt_up ikj misc 1 - - "RT_UP" "RT OF UPDRAFT FROM EDKF" "kq/kg" +state real rc_up ikj misc 1 - - "RC_UP" "RC OF UPDRAFT FROM EDKF" "kq/kg" +state real u_up ikj misc 1 - - "U_UP" "U OF UPDRAFT FROM EDKF" "m/s" +state real v_up ikj misc 1 - - "V_UP" "U OF UPDRAFT FROM EDKF" "m/s" +state real frac_up ikj misc 1 - - "FRAC_UP" "FRACTION OF UPDRAFT FROM EDKF" "" +state real rc_mf ikj misc 1 - r "RC_MF" "RC IN THE GRID COMPUTED BY EDKF" "kg/kg" + +# TEMF PBL variables +state real te_temf ikj misc 1 - rh "te_temf" "Total energy from TEMF PBL scheme" "m2 s-2" +state real kh_temf ikj misc 1 - rh "kh_temf" "Diffusion coefficient for heat from TEMF PBL" +state real km_temf ikj misc 1 - rh "km_temf" "Diffusion coefficient for momentum from TEMF PBL" +state real shf_temf ikj misc 1 - rh "shf_temf" "Sensible heat flux from TEMF PBL" "K m s-1" +state real qf_temf ikj misc 1 - rh "qf_temf" "Sensible heat flux from TEMF PBL" "kg/kg m s-1" +state real uw_temf ikj misc 1 - rh "uw_temf" "U momentum flux from TEMF PBL" "m2 s-2" +state real vw_temf ikj misc 1 - rh "vw_temf" "V momentum flux from TEMF PBL" "m2 s-2" +state real wupd_temf ikj misc 1 - rh "wupd_temf" "Updraft velocity from TEMF PBL" "m s-1" +state real mf_temf ikj misc 1 - rh "mf_temf" "Mass flux from TEMF PBL" "m s-1" +state real thup_temf ikj misc 1 - rh "thup_temf" "Updraft thetal from TEMF PBL" "K" +state real qtup_temf ikj misc 1 - rh "qtup_temf" "Updraft qt from TEMF PBL" "1" +state real qlup_temf ikj misc 1 - rh "qlup_temf" "Updraft ql (liquid water) from TEMF PBL" "1" +state real cf3d_temf ikj misc 1 - rh "cf3d_temf" "3D Cloud fraction from TEMF PBL" "1" +state real hd_temf ij misc 1 - rh "hd_temf" "Dry thermal top height from TEMF PBL" "m" +state real lcl_temf ij misc 1 - rh "lcl_temf" "Lifting condensation level from TEMF PBL" "m" +state real hct_temf ij misc 1 - rh "hct_temf" "Cloud top height from TEMF PBL" "m" +state real cfm_temf ij misc 1 - rh "cfm_temf" "Column cloud fraction from TEMF PBL" "1" +state real wm_temf ij misc 1 - rh "wm_temf" "Velocity scale in TEMF surface layer scheme" "m s-1" + +# MYNN PBL variables +state real qke_adv ikjftb scalar 1 - i0rusdf=(bdy_interp:dt) "qke_adv" "twice TKE from MYNN" "m2 s-2" +state real qke ikj misc 1 - irh "qke" "twice TKE from MYNN" "m2 s-2" +state real qSHEAR ikj misc 1 Z h "qSHEAR" "TKE Production - shear" "m2 s-2" +state real qBUOY ikj misc 1 Z h "qBUOY" "TKE Production - buoyancy" "m2 s-2" +state real qDISS ikj misc 1 Z h "qDISS" "TKE dissipation" "m2 s-2" +state real qWT ikj misc 1 Z h "qWT" "TKE vertical transport" "m2 s-2" +state real dqke ikj misc 1 - h "Dtke" "TKE change" "m2 s-2" +state real tsq ikj misc 1 - rh "tsq" "liquid water pottemp variance" "K2" +state real qsq ikj misc 1 - rh "qsq" "total water variance" "(kg/kg)**2" +state real cov ikj misc 1 - rh "cov" "total water-liquid water pottemp covariance" "K kg/kg" +state real Sh3d ikj misc 1 - rh "Sh3d" "Stability function for heat" "" +state real ch ij misc 1 - h "ch" "surface exchange coeff for heat" "m s-1" +#state real K_m ikj misc 1 - - "K_m" "EXCHANGE COEFFICIENT for momentum " +#state real K_h ikj misc 1 - - "K_h" "EXCHANGE COEFFICIENT for heat " +#state real K_q ikj misc 1 - - "K_q" "EXCHANGE COEFFICIENT for qke " +#MYNN-EDMF VARIABLES +state real edmf_a ikj misc 1 - h "edmf_a" "EDMF relative updraft area - moist updrafts" "-" +state real edmf_w ikj misc 1 - h "edmf_w" "EDMF vertical velocity - mean moist updrafts" "m s-1" +state real edmf_thl ikj misc 1 - h "edmf_thl" "EDMF thetaL - mean moist updrafts" "K" +state real edmf_qt ikj misc 1 - h "edmf_qt" "EDMF qt - mean moist updrafts" "kg kg-1" +state real edmf_ent ikj misc 1 - h "edmf_ent" "EDMF entrainment - mean moist updrafts" "m-1" +state real edmf_qc ikj misc 1 - h "edmf_qc" "EDMF qc - mean moist updrafts" "kg kg-1" +state real sub_thl3D ikj misc 1 - h "sub_thl3D" "thetaL subsidence tendency from EDMF" "K s-1" +state real sub_sqv3D ikj misc 1 - h "sub_sqv3D" "qv subsidence tendency from EDMF" "kg kg-1 s-1" +state real det_thl3D ikj misc 1 - h "det_thl3D" "thetaL detrainment tendency from EDMF" "K s-1" +state real det_sqv3D ikj misc 1 - h "det_sqv3D" "qv detrainment tendency from EDMF" "kg kg-1 s-1" +state integer nupdraft ij misc 1 - h "nupdraft" "Number of updrafts per grid cell" "" +state integer ktop_plume ij misc 1 - h "ktop_plume" "k-level of highest pentrating plume" "" +state real maxMF ij misc 1 - h "maxMF" "Maximum mass-flux (neg: all dry, pos: moist)" "m/s * area" + +#FogDES variables +state real fgdp ij misc 1 - - "fgdp" "Accumulated fog deposition" "mm" +state real dfgdp ij misc 1 - - "dfgdp" "Fog deposition during timestep" "mm" +state real vdfg ij misc 1 - - "vdfg" "Deposition velocity of fog" "m/s" + +# GBM PBL variable +state real exch_tke ikj misc 1 - h "EXCH_TKE" "Exchange coefficient TKE enhanced" "m2 s-1" + +# Additional for gravity wave drag +state real DTAUX3D ikj misc 1 - rh "DTAUX3D" "LOCAL U GWDO STRESS" "m s-1" +state real DTAUY3D ikj misc 1 - rh "DTAUY3D" "LOCAL V GWDO STRESS" "m s-1" +state real DUSFCG ij misc 1 - rh "DUSFCG" "COLUMN-INTEGRATED U GWDO STRESS" "Pa m s-1" +state real DVSFCG ij misc 1 - rh "DVSFCG" "COLUMN-INTEGRATED V GWDO STRESS" "Pa m s-1" +state real VAR2D ij misc 1 - i012rhd "VAR" "STANDARD DEVIATION OF SUBGRID-SCALE OROGRAPHY" "m" +state real OC12D ij misc 1 - i012rhd "CON" "OROGRAPHIC CONVEXITY" "" +state real OA1 ij misc 1 - i012rhd "OA1" "ASYMMETRY OF SUBGRID-SCALE OROGRAPHY FOR WESTERLY FLOW" "" +state real OA2 ij misc 1 - i012rhd "OA2" "ASYMMETRY OF SUBGRID-SCALE OROGRAPHY FOR SOUTHERLY FLOW" "" +state real OA3 ij misc 1 - i012rhd "OA3" "ASYMMETRY OF SUBGRID-SCALE OROGRAPHY FOR SOUTH-WESTERLY FLOW" "" +state real OA4 ij misc 1 - i012rhd "OA4" "ASYMMETRY OF SUBGRID-SCALE OROGRAPHY FOR NORTH-WESTERLY FLOW" "" +state real OL1 ij misc 1 - i012rhd "OL1" "NON-DIMENSIONAL EFFECTIVE OROGRAPHIC LENGTH FOR WESTERLY FLOW" "" +state real OL2 ij misc 1 - i012rhd "OL2" "NON-DIMENSIONAL EFFECTIVE OROGRAPHIC LENGTH FOR SOUTHERLY FLOW" "" +state real OL3 ij misc 1 - i012rhd "OL3" "NON-DIMENSIONAL EFFECTIVE OROGRAPHIC LENGTH FOR SOUTH-WESTERLY FLOW" "" +state real OL4 ij misc 1 - i012rhd "OL4" "NON-DIMENSIONAL EFFECTIVE OROGRAPHIC LENGTH FOR NORTH-WESTERLY FLOW" "" + +# Additional for GSL gravity wave drag suite +state real DTAUX3D_ls ikj misc 1 - rh "DTAUX3D_ls" "LOCAL U GWDO STRESS LARGE-SCALE" "m s-1" +state real DTAUY3D_ls ikj misc 1 - rh "DTAUY3D_ls" "LOCAL V GWDO STRESS LARGE-SCALE" "m s-1" +state real DTAUX3D_bl ikj misc 1 - rh "DTAUX3D_bl" "LOCAL U GWDO STRESS BLOCKING" "m s-1" +state real DTAUY3D_bl ikj misc 1 - rh "DTAUY3D_bl" "LOCAL V GWDO STRESS BLOCKING" "m s-1" +state real DTAUX3D_ss ikj misc 1 - rh "DTAUX3D_ss" "LOCAL U GWDO STRESS SMALL-SCALE" "m s-1" +state real DTAUY3D_ss ikj misc 1 - rh "DTAUY3D_ss" "LOCAL V GWDO STRESS SMALL-SCALE" "m s-1" +state real DTAUX3D_fd ikj misc 1 - rh "DTAUX3D_fd" "LOCAL U GWDO STRESS FORM-DRAG" "m s-1" +state real DTAUY3D_fd ikj misc 1 - rh "DTAUY3D_fd" "LOCAL V GWDO STRESS FORM-DRAG" "m s-1" +state real DUSFCG_ls ij misc 1 - rh "DUSFCG_ls" "COLUMN-INTEGRATED U GWDO STRESS LARGE-SCALE" "Pa m s-1" +state real DVSFCG_ls ij misc 1 - rh "DVSFCG_ls" "COLUMN-INTEGRATED V GWDO STRESS LARGE-SCALE" "Pa m s-1" +state real DUSFCG_bl ij misc 1 - rh "DUSFCG_bl" "COLUMN-INTEGRATED U GWDO STRESS BLOCKING" "Pa m s-1" +state real DVSFCG_bl ij misc 1 - rh "DVSFCG_bl" "COLUMN-INTEGRATED V GWDO STRESS BLOCKING" "Pa m s-1" +state real DUSFCG_ss ij misc 1 - rh "DUSFCG_ss" "COLUMN-INTEGRATED U GWDO STRESS SMALL-SCALE" "Pa m s-1" +state real DVSFCG_ss ij misc 1 - rh "DVSFCG_ss" "COLUMN-INTEGRATED V GWDO STRESS SMALL-SCALE" "Pa m s-1" +state real DUSFCG_fd ij misc 1 - rh "DUSFCG_fd" "COLUMN-INTEGRATED U GWDO STRESS FORM-DRAG" "Pa m s-1" +state real DVSFCG_fd ij misc 1 - rh "DVSFCG_fd" "COLUMN-INTEGRATED V GWDO STRESS FORM-DRAG" "Pa m s-1" +state real VAR2Dls ij misc 1 - i012rhd "VARls" "STANDARD DEVIATION of 2.5min-resolution topography" "m" +state real OC12Dls ij misc 1 - i012rhd "CONls" "OROGRAPHIC CONVEXITY of 2.5min-resolution topography" "" +state real OA1ls ij misc 1 - i012rhd "OA1ls" "OROGRAPHIC ASYMMETRY in West direction from 2.5min-resolution topography" "" +state real OA2ls ij misc 1 - i012rhd "OA2ls" "OROGRAPHIC ASYMMETRY in South direction from 2.5min-resolution topography" "" +state real OA3ls ij misc 1 - i012rhd "OA3ls" "OROGRAPHIC ASYMMETRY in South-West direction from 2.5min-resolution topography" "" +state real OA4ls ij misc 1 - i012rhd "OA4ls" "OROGRAPHIC ASYMMETRY in North-West direction from 2.5min-resolution topography" "" +state real OL1ls ij misc 1 - i012rhd "OL1ls" "OROGRAPHIC EFFECTIVE LENGTH for Westerly flow from 2.5min-resolution topography" "" +state real OL2ls ij misc 1 - i012rhd "OL2ls" "OROGRAPHIC EFFECTIVE LENGTH for Southerly flow from 2.5min-resolution topography" "" +state real OL3ls ij misc 1 - i012rhd "OL3ls" "OROGRAPHIC EFFECTIVE LENGTH for South-Westerly flow from 2.5min-resolution topography" "" +state real OL4ls ij misc 1 - i012rhd "OL4ls" "OROGRAPHIC EFFECTIVE LENGTH for North-Westerly flow from 2.5min-resolution topography" "" +state real VAR2Dss ij misc 1 - i012rhd "VARss" "STANDARD DEVIATION of 30sec-resolution topography" "m" +state real OC12Dss ij misc 1 - i012rhd "CONss" "OROGRAPHIC CONVEXITY of 30sec-resolution topography" "" +state real OA1ss ij misc 1 - i012rhd "OA1ss" "OROGRAPHIC ASYMMETRY in West direction from 30sec-resolution topography" "" +state real OA2ss ij misc 1 - i012rhd "OA2ss" "OROGRAPHIC ASYMMETRY in South direction from 30sec-resolution topography" "" +state real OA3ss ij misc 1 - i012rhd "OA3ss" "OROGRAPHIC ASYMMETRY in South-West direction from 30sec-resolution topography" "" +state real OA4ss ij misc 1 - i012rhd "OA4ss" "OROGRAPHIC ASYMMETRY in North-West direction from 30sec-resolution topography" "" +state real OL1ss ij misc 1 - i012rhd "OL1ss" "OROGRAPHIC EFFECTIVE LENGTH for Westerly flow from 30sec-resolution topography" "" +state real OL2ss ij misc 1 - i012rhd "OL2ss" "OROGRAPHIC EFFECTIVE LENGTH for Southerly flow from 30sec-resolution topography" "" +state real OL3ss ij misc 1 - i012rhd "OL3ss" "OROGRAPHIC EFFECTIVE LENGTH for South-Westerly flow from 30sec-resolution topography" "" +state real OL4ss ij misc 1 - i012rhd "OL4ss" "OROGRAPHIC EFFECTIVE LENGTH for North-Westerly flow from 30sec-resolution topography" "" + +# Additional for topo_wind +state real ctopo ij misc 1 - rdu "ctopo" "Correction for topography" "" +state real ctopo2 ij misc 1 - rdu "ctopo2" "Correction for topography 2" "" + +# BEP urban scheme variables +state real a_u_bep ikj misc 1 Z - "a_u_bep" "IMPLICIT FOR X-COMP." "s-1" +state real a_v_bep ikj misc 1 Z - "a_v_bep" "IMPLICIT FOR Y-COMP." "s-1" +state real a_t_bep ikj misc 1 Z - "a_t_bep" "IMPLICIT FOR Pot. Temp" "s-1" +state real a_q_bep ikj misc 1 Z - "a_q_bep" "IMPLICIT FOR Moisture" "s-1" +state real a_e_bep ikj misc 1 Z - "a_e_bep" "IMPLICIT FOR TKE" "s-1" +state real b_u_bep ikj misc 1 Z - "b_u_bep" "EXPLICIT FOR X-COMP." "m s-2" +state real b_v_bep ikj misc 1 Z - "b_v_bep" "EXPLICIT FOR Y-COMP." "m s-2" +state real b_t_bep ikj misc 1 Z - "b_t_bep" "EXPLICIT FOR Pot. Temp" "K s-1" +state real b_q_bep ikj misc 1 Z - "b_q_bep" "EXPLICIT FOR Moisture" "kg s-1" +state real b_e_bep ikj misc 1 Z - "b_e_bep" "EXPLICIT FOR TKE" "m2 s-3" +state real dlg_bep ikj misc 1 Z - "dlg_bep" "length scale 1" "m" +state real dl_u_bep ikj misc 1 Z - "dl_u_bep" "urban length scale" "m" +state real sf_bep ikj misc 1 Z - "sf_bep" "surface grid" "-" +state real vl_bep ikj misc 1 Z - "vl_bep" "volume grid" "-" +state real tke_pbl ikj misc 1 Z rh "tke_pbl" "TKE from PBL" "m2 s-2" +state real el_pbl ikj misc 1 Z rh "el_pbl" "Length scale from PBL" "m" +# Diagnostic BOULAC PBL variables +state real wu_tur ikj misc 1 - rh "wu_tur" "Turbulent flux of momentum(x)" "m2 s-2" +state real wv_tur ikj misc 1 - rh "wv_tur" "Turbulent flux of momentum(y)" "m2 s-2" +state real wt_tur ikj misc 1 - rh "wt_tur" "Turbulent flux of temperature" "K m s-1" +state real wq_tur ikj misc 1 - rh "wq_tur" "Turbulent flux of water vapor" "- m s-1" + +# gfdl (eta) radiation State Variables +state real HTOP ij misc 1 - r "HTOP" "TOP OF CONVECTION LEVEL" "" +state real HBOT ij misc 1 - r "HBOT" "BOT OF CONVECTION LEVEL" "" +state real HTOPR ij misc 1 - r "HTOPR" "TOP OF CONVECTION LEVEL FOR RADIATION" "" +state real HBOTR ij misc 1 - r "HBOTR" "BOT OF CONVECTION LEVEL FOR RADIATION" "" +state real CUTOP ij misc 1 - r "CUTOP" "TOP OF CONVECTION LEVEL FROM CUMULUS PAR" "" +state real CUBOT ij misc 1 - r "CUBOT" "BOT OF CONVECTION LEVEL FROM CUMULUS PAR" "" +state real CUPPT ij misc 1 - r "CUPPT" "ACCUMULATED CONVECTIVE RAIN SINC LAST CALL TO THE RADIATION" "" +state real rswtoa ij misc 1 - - +state real rlwtoa ij misc 1 - - +state real czmean ij misc 1 - - +state real cfracl ij misc 1 - - +state real cfracm ij misc 1 - - +state real cfrach ij misc 1 - - +state real acfrst ij misc 1 - - +state integer ncfrst ij misc 1 - - +state real acfrcv ij misc 1 - - +state integer ncfrcv ij misc 1 - - + +# new rad variables +state real o3rad ikj misc 1 - rdf=(p2c) "o3rad" "RADIATION 3D OZONE" "ppmv" + +# incoming optical depth derived from aerosol data +state real aerodm i{lsa}jm{ty} misc 1 - - - +state real pina {lsa} misc 1 - - "PINA" "PRESSURE LEVEL OF OZONE MIXING RATIO" "millibar" + +# array to hold aerosol optical depth that has been interpolated to model levels and time +state real - ikjf aerod 1 - - - +state real ocarbon ikjf aerod 1 - df=(p2c) "ocarbon" "organic carbon" - +state real seasalt ikjf aerod 1 - df=(p2c) "seasalt" "sea salt" - +state real dust ikjf aerod 1 - df=(p2c) "dust" "dust" - +state real bcarbon ikjf aerod 1 - df=(p2c) "bcarbon" "black carbon" - +state real sulfate ikjf aerod 1 - df=(p2c) "sulfate" "sulfate" - +state real upperaer ikjf aerod 1 - df=(p2c) "upperaer" "volcanic ash" - +state real aodtot ij misc 1 - r "aodtot" "TOTAL AEROSOL OPTICAL DEPTH" - + +# incoming aerosol data for multiscale Kain Fritsch +state real aeromcu i{lsc}jm{tyc} misc 1 - - - +state real aeropcu i{lsc}jm misc 1 - - "AEROPCU" "PRESSURE LEVEL OF AEROSOL DATA" "millibar" + +# array to hold aerosol data that has been interpolated to model levels and time +state real - ikjf aerocu 1 - - - +state real cu_dust1 ikjf aerocu 1 - hdf=(p2c) "cudust1" "dust 1" "ug m-3" +state real cu_dust2 ikjf aerocu 1 - hdf=(p2c) "cudust2" "dust 2" "ug m-3" +state real cu_dust3 ikjf aerocu 1 - hdf=(p2c) "cudust3" "dust 3" "ug m-3" +state real cu_dust4 ikjf aerocu 1 - hdf=(p2c) "cudust4" "dust 4" "ug m-3" +state real cu_seasalt ikjf aerocu 1 - hdf=(p2c) "cuseasalt" "sea salt" "ug m-3" +state real cu_sulfate ikjf aerocu 1 - hdf=(p2c) "cusulfate" "sulfate" "ug m-3" +state real cu_phobcar ikjf aerocu 1 - hdf=(p2c) "cuphobcar" "hydrophobic black carbon" "ug m-3" +state real cu_phibcar ikjf aerocu 1 - hdf=(p2c) "cuphibcar" "hydrophilic black carbon" "ug m-3" +state real cu_phoocar ikjf aerocu 1 - hdf=(p2c) "cuphoocar" "hydrophobic organic carbon" "ug m-3" +state real cu_phiocar ikjf aerocu 1 - hdf=(p2c) "cuphiocar" "hydrophilic organic carbon" "ug m-3" +state real aerovar ikj misc 1 - hr "AEROVAR" "Aerosol variable for MSKF" "ug m-3" + +# cam radiation variables +state real - i{ls}jf ozmixm 1 - - - +state real mth01 i{ls}jf ozmixm 1 - - - +state real mth02 i{ls}jf ozmixm 1 - - - +state real mth03 i{ls}jf ozmixm 1 - - - +state real mth04 i{ls}jf ozmixm 1 - - - +state real mth05 i{ls}jf ozmixm 1 - - - +state real mth06 i{ls}jf ozmixm 1 - - - +state real mth07 i{ls}jf ozmixm 1 - - - +state real mth08 i{ls}jf ozmixm 1 - - - +state real mth09 i{ls}jf ozmixm 1 - - - +state real mth10 i{ls}jf ozmixm 1 - - - +state real mth11 i{ls}jf ozmixm 1 - - - +state real mth12 i{ls}jf ozmixm 1 - - - +state real pin {ls} misc 1 - - "PIN" "PRESSURE LEVEL OF OZONE MIXING RATIO" "millibar" +state real m_ps ij misc 2 - - "m_ps" "PS from MATCH on WRF grids" +state real - idjf aerosolc 2 - - - +state real SUL idjf aerosolc 2 - - "SUL" "SUL aerosol concentration" +state real SSLT idjf aerosolc 2 - - "SSLT" "SSLT aerosol concentration" +state real DUST1 idjf aerosolc 2 - - "DUST1" "DUST1 aerosol concentration" +state real DUST2 idjf aerosolc 2 - - "DUST2" "DUST2 aerosol concentration" +state real DUST3 idjf aerosolc 2 - - "DUST3" "DUST3 aerosol concentration" +state real DUST4 idjf aerosolc 2 - - "DUST4" "DUST4 aerosol concentration" +state real OCPHO idjf aerosolc 2 - - "OCPHO" "OCPHO aerosol concentration" +state real BCPHO idjf aerosolc 2 - - "BCPHO" "BCPHO aerosol concentration" +state real OCPHI idjf aerosolc 2 - - "OCPHI" "OCPHI aerosol concentration" +state real BCPHI idjf aerosolc 2 - - "BCPHI" "BCPHI aerosol concentration" +state real BG idjf aerosolc 2 - - "BG" "BG aerosol concentration" +state real VOLC idjf aerosolc 2 - - "VOLC" "VOLC aerosol concentration" +state real m_hybi d misc 1 - - "m_hybi" "MATCH hybi" + +# new eta microphysics State Variables +state real F_ICE_PHY ikj misc 1 - rhdu "F_ICE_PHY" "FRACTION OF ICE" "" +state real F_RAIN_PHY ikj misc 1 - rhdu "F_RAIN_PHY" "FRACTION OF RAIN " "" +state real F_RIMEF_PHY ikj misc 1 - rhdu "F_RIMEF_PHY" "MASS RATIO OF RIMED ICE " "" +state real qndropsource ikj misc 1 - r "qndropsource" "Droplet number source" "#/kg/s" + +# cyl 3DPWP variables +state real OM_TMP i{nocnl}j misc 1 Z i012rhdu=(copy_fcnm)f=(c2f_interp:grid_id) "OM_TMP" "temperature" "k" +state real OM_S i{nocnl}j misc 1 Z i012rhdu=(copy_fcnm)f=(c2f_interp:grid_id) "OM_S" "salinity" "degree" +state real OM_DEPTH i{nocnl}j misc 1 Z i012rhd "OM_DEPTH" "depth" "m" +state real OM_U i{nocnl}j misc 1 Z i012rhdu=(copy_fcnm)f=(c2f_interp:grid_id) "OM_U" "u current" "m/s" +state real OM_V i{nocnl}j misc 1 Z i012rhdu=(copy_fcnm)f=(c2f_interp:grid_id) "OM_V" "v current" "m/s" +state real OM_LAT ij misc 1 - i012rd "OM_LAT" "om lat" "degree" +state real OM_LON ij misc 1 - i012rd "OM_LON" "om lon" "degree" +state real OM_ML ij misc 1 - i012rhdu=(copy_fcnm)f=(c2f_interp:grid_id) "OM_ML" "om ml" "m" +state real OM_TINI i{nocnl}j misc 1 Z i012rd "OM_TINI" "temperature init" "k" +state real OM_SINI i{nocnl}j misc 1 Z i012rd "OM_SINI" "salinity init" "degree" + +#BSINGH - added CuP related variables +# CuP fair-weather cumulus scheme variables; wig, 4-Aug-2006 +# The slopes and sigmas are really only needed for testing so they can +# be dropped to i1 level, or even a simple real within cup_driver, once +# they are no longer desired for output. +state logical cupflag ij misc 1 - r "CUPFLAG" "CuP scheme activavted, T=yes, F=no" "" +state real slopesfc ij misc 1 - r "SLOPESFC" "Slope of surface layer dTheta/dMixRatio" "K" +state real slopeez ij misc 1 - r "SLOPEEZ" "Slope of entrainment layer dTheta/dMixRatio" "K" +state real sigmasfc ij misc 1 - r "SIGMASFC" "Std. dev. of surface layer dTheta/dMixRatio" "K kg kg-1" +state real sigmaez ij misc 1 - r "SIGMAEZ" "Std. dev. of entrainment layer dTheta/dMixRatio" "K kg kg-1" +state real shall ij misc 1 - r "SHALL" "Cumulus type, 0=deep, 1=shallow, 2=none" "" +state real taucloud ij misc 1 - r "TAUCLOUD" "CuP cloud time scale for lifetime" "" +state real tactive ij misc 1 - r "TACTIVE" "CuP cloud formation time scale" "" +state real tcloud_cup ij misc 1 - r "TCLOUD_CUP" "CuP cloud duration for modifying T,QV,chem,etc" "" +state real wCloudBase ij misc 1 - r "wCloudBase" "CuP cloud base vertical velocity" "" +state real activeFrac ij misc 1 - r "activeFrac" "Fraction of PDF the forms clouds" "fraction" +state real cldfratend_cup ikj misc 1 - r "CLDFRATEND_CUP" "Cloud fraction tendency due to CuP Scheme" "fraction" +state real cldfra_cup ikj misc 1 - r "CLDFRA_CUP" "Cloud fraction due to CuP Scheme" "fraction" +state real updfra_cup ikj misc 1 - r "UPDFRA_CUP" "Updraft fractional area due to CuP Scheme" "fraction" +state real qc_iu_cup ikj misc 1 - r "QC_IU_CUP" "Cloud water due to CuP Scheme (in cumulus updraft)" "kg kg-1" +state real qc_ic_cup ikj misc 1 - r "QC_IC_CUP" "Cloud water due to CuP Scheme (in cumulus cloud)" "kg kg-1" +state real qndrop_ic_cup ikj misc 1 - r "QNDROP_IC_CUP" "Cloud droplet number due to CuP Scheme (in cumulus cloud)" "# kg-1" +state real wup_cup ikj misc 1 - r "WUP_CUP" "Updraft vertical velocity" "m s-1" +state real wact_cup ij misc 1 - r "WACT_CUP" "CuP cloud base vertical velocity for activation" "m s-1" +state real wulcl_cup ij misc 1 - r "WULCL_CUP" "CuP updraft vertical velocity at top of first cloud layer" "m s-1" +state real mfup_cup ikj misc 1 - r "MFUP_CUP" "Updraft mass flux for shallow-cu in CuP Scheme" "kg m-2 s-1" +state real mfup_ent_cup ikj misc 1 - r "MFUP_ENT_CUP" "Updraft mass flux entrainment (across layer) for shallow-cu in CuP Scheme" "kg m-2 s-1" +state real mfdn_cup ikj misc 1 - r "MFDN_CUP" "Downdraft mass flux for shallow-cu in CuP Scheme" "kg m-2 s-1" +state real mfdn_ent_cup ikj misc 1 - r "MFDN_ENT_CUP" "Downdraft mass flux entrainment (across layer) for shallow-cu in CuP Scheme" "kg m-2 s-1" +state real fcvt_qc_to_pr_cup ikj misc 1 - r "FCVT_QC_TO_PR_CUP" "Fraction of cloudwater converted to precip. as air rises thru an updraft layer" "--" +state real fcvt_qc_to_qi_cup ikj misc 1 - r "FCVT_QC_TO_QI_CUP" "Fraction of cloudwater converted to cloudice as air rises thru an updraft layer" "--" +state real fcvt_qi_to_pr_cup ikj misc 1 - r "FCVT_QI_TO_PR_CUP" "Fraction of cloudice converted to precip. as air rises thru an updraft layer" "--" +state real tstar ij misc 1 - r "TSTAR" "Boundary layer time scale" "s" +state real lnterms ikj misc 1 - r "LNTERMS" "Liquid+ice+1 ln term for cloud fraction" "" +state real lnint ij misc 1 - r "LNINT" "Integrated ln term for cloud fraction" "" +#BSINGH - adde CuP related variables -ENDS + + +# Other Misc State Variables +state real h_diabatic ikj misc 1 - rdu "h_diabatic" "MICROPHYSICS LATENT HEATING" "K s-1" +state real qv_diabatic ikj misc 1 - rdu "qv_diabatic" "MICROPHYSICS QV TENDENCY" "g g-1 s-1" +state real qc_diabatic ikj misc 1 - rdu "qc_diabatic" "MICROPHYSICS QC TENDENCY" "g g-1 s-1" +state real msft ij misc 1 - i012rhdu=(copy_fcnm) "MAPFAC_M" "Map scale factor on mass grid" "" +state real msfu ij misc 1 X i012rhdu=(copy_fcnm) "MAPFAC_U" "Map scale factor on u-grid" "" +state real msfv ij misc 1 Y i012rhdu=(copy_fcnm) "MAPFAC_V" "Map scale factor on v-grid" "" +state real msftx ij misc 1 - i012rhdu=(copy_fcnm) "MAPFAC_MX" "Map scale factor on mass grid, x direction" "" +state real msfty ij misc 1 - i012rhdu=(copy_fcnm) "MAPFAC_MY" "Map scale factor on mass grid, y direction" "" +state real msfux ij misc 1 X i012rhdu=(copy_fcnm) "MAPFAC_UX" "Map scale factor on u-grid, x direction" "" +state real msfuy ij misc 1 X i012rhdu=(copy_fcnm) "MAPFAC_UY" "Map scale factor on u-grid, y direction" "" +state real msfvx ij misc 1 Y i012rhdu=(copy_fcnm) "MAPFAC_VX" "Map scale factor on v-grid, x direction" "" +state real msfvx_inv ij misc 1 Y i012rhdu=(copy_fcnm) "MF_VX_INV" "Inverse map scale factor on v-grid, x direction" "" +state real msfvy ij misc 1 Y i012rhdu=(copy_fcnm) "MAPFAC_VY" "Map scale factor on v-grid, y direction" "" + +state real f ij misc 1 - i012rhdu=(copy_fcnm) "f" "Coriolis sine latitude term" "s-1" +state real e ij misc 1 - i012rhdu=(copy_fcnm) "e" "Coriolis cosine latitude term" "s-1" +state real sina ij misc 1 - i012rhdu=(copy_fcnm) "SINALPHA" "Local sine of map rotation" "" +state real cosa ij misc 1 - i012rhdu=(copy_fcnm) "COSALPHA" "Local cosine of map rotation" "" +state real ht ij misc 1 - i012rh056dus "HGT" "Terrain Height" "m" +state real ht_fine ij misc 1 - - "HGT_FINE" "Fine Terrain Height" "m" +state real ht_int ij misc 1 - - "HGT_INT" "Terrain Height Horizontally Interpolated" "m" +state real ht_input ij misc 1 - - "HGT_INPUT" "Terrain Height from FG Input File" "m" +state real ht_smooth ij misc 1 - - "HGT_SMOOTH" "Terrain Height Smoothed with External Model Topo (d1 only)" "m" +state real ht_shad ijb misc 1 - rdf=(bdy_interp:dt) "HGT_SHAD" "Height of orographic shadow" "m" +i1 real ht_loc ij misc 1 - - +state integer shadowmask ij misc 1 - - +state integer min_ptchsz - misc 1 - r + +state real TSK ij misc 1 - i012rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TSK" "SURFACE SKIN TEMPERATURE" "K" +state real dfi_TSK ij misc 1 - r "TSK_dfi" "saved SURFACE SKIN TEMPERATURE" +state real TSK_SAVE ij misc 1 - r "TSK_SAVE" "SURFACE SKIN TEMPERATURE, EXTRA COPY FOR SEA ICE TESTS in REAL" "K" +state real u_base k misc 1 - ir "u_base" "BASE STATE X WIND IN IDEALIZED CASES" "" +state real v_base k misc 1 - ir "v_base" "BASE STATE Y WIND IN IDEALIZED CASES" "" +state real qv_base k misc 1 - ir "qv_base" "BASE STATE QV IN IDEALIZED CASES" "" +state real z_base k misc 1 - ir "z_base" "BASE STATE HEIGHT IN IDEALIZED CASES" "" +state real u_frame - misc 1 - ir "u_frame" "FRAME X WIND" "m s-1" +state real v_frame - misc 1 - ir "v_frame" "FRAME Y WIND" "m s-1" +# p_top appears as metadata between SI and real but as a state variable in real and WRF +# since it is a scalar and a constant, it makes sense to have it as metadata -- there +# are, however, probably post-processing programs that expect to see it as an I/O record +# another problem: share/input_wrf tries to read this as metadata (fine for real reading +# SI, but with model reading real output, it generates a warning when debug is > 0 in +# namelist and causes repeated questions from users. A third problem is the potential +# collision between a metadata name and a field record in the I/O data +# resolve this how? Have the real program throw a switch to tell the code to get it +# from the metadata? Otherwise it's a field? +state logical just_read_auxinput4 - misc - - r "we_just_read_sst" "1=AUXINPUT4 ALARM RINGING, 0=NO AUXINPUT4 ALARM" "-" +state logical just_read_boundary - misc - - r "we_just_d01_LBC" "1=BOUNDARY ALARM RINGING, 0=NO BOUNDARY ALARM" "-" +state real mf_fft - misc - - r "mf_fft" "Mass point map factor at equatorward FFT filter location" "" +state real p_top - misc - - irh "p_top" "PRESSURE TOP OF THE MODEL" "Pa" +state logical got_var_sso - misc - - i02rh "got_var_sso" "whether VAR_SSO was included in WPS output (beginning V3.4)" "" +state logical v4_metgrid - misc - - - "v4_metgrid" "for real, T/F: identify if this is v4 metgrid data" "" + +#BSINGH - Adding all these variables for CuP scheme[any var before t00] +state real lat_ll_t - dyn_em - - ir "lat_ll_t" "latitude lower left, temp point" "degrees" +state real lat_ul_t - dyn_em - - ir "lat_ul_t" "latitude up left, temp point" "degrees" +state real lat_ur_t - dyn_em - - ir "lat_ur_t" "latitude up right, temp point" "degrees" +state real lat_lr_t - dyn_em - - ir "lat_lr_t" "latitude lower right, temp point" "degrees" +state real lat_ll_u - dyn_em - - ir "lat_ll_u" "latitude lower left, u point" "degrees" +state real lat_ul_u - dyn_em - - ir "lat_ul_u" "latitude up left, u point" "degrees" +state real lat_ur_u - dyn_em - - ir "lat_ur_u" "latitude up right, u point" "degrees" +state real lat_lr_u - dyn_em - - ir "lat_lr_u" "latitude lower right, u point" "degrees" +state real lat_ll_v - dyn_em - - ir "lat_ll_v" "latitude lower left, v point" "degrees" +state real lat_ul_v - dyn_em - - ir "lat_ul_v" "latitude up left, v point" "degrees" +state real lat_ur_v - dyn_em - - ir "lat_ur_v" "latitude up right, v point" "degrees" +state real lat_lr_v - dyn_em - - ir "lat_lr_v" "latitude lower right, v point" "degrees" +state real lat_ll_d - dyn_em - - ir "lat_ll_d" "latitude lower left, massless point" "degrees" +state real lat_ul_d - dyn_em - - ir "lat_ul_d" "latitude up left, massless point" "degrees" +state real lat_ur_d - dyn_em - - ir "lat_ur_d" "latitude up right, massless point" "degrees" +state real lat_lr_d - dyn_em - - ir "lat_lr_d" "latitude lower right, massless point" "degrees" +state real lon_ll_t - dyn_em - - ir "lon_ll_t" "longitude lower left, temp point" "degrees" +state real lon_ul_t - dyn_em - - ir "lon_ul_t" "longitude up left, temp point" "degrees" +state real lon_ur_t - dyn_em - - ir "lon_ur_t" "longitude up right, temp point" "degrees" +state real lon_lr_t - dyn_em - - ir "lon_lr_t" "longitude lower right, temp point" "degrees" +state real lon_ll_u - dyn_em - - ir "lon_ll_u" "longitude lower left, u point" "degrees" +state real lon_ul_u - dyn_em - - ir "lon_ul_u" "longitude up left, u point" "degrees" +state real lon_ur_u - dyn_em - - ir "lon_ur_u" "longitude up right, u point" "degrees" +state real lon_lr_u - dyn_em - - ir "lon_lr_u" "longitude lower right, u point" "degrees" +state real lon_ll_v - dyn_em - - ir "lon_ll_v" "longitude lower left, v point" "degrees" +state real lon_ul_v - dyn_em - - ir "lon_ul_v" "longitude up left, v point" "degrees" +state real lon_ur_v - dyn_em - - ir "lon_ur_v" "longitude up right, v point" "degrees" +state real lon_lr_v - dyn_em - - ir "lon_lr_v" "longitude lower right, v point" "degrees" +state real lon_ll_d - dyn_em - - ir "lon_ll_d" "longitude lower left, massless point" "degrees" +state real lon_ul_d - dyn_em - - ir "lon_ul_d" "longitude up left, massless point" "degrees" +state real lon_ur_d - dyn_em - - ir "lon_ur_d" "longitude up right, massless point" "degrees" +state real lon_lr_d - dyn_em - - ir "lon_lr_d" "longitude lower right, massless point" "degrees" +#BSINGH -ENDS + +state real t00 - misc - - i02rh "t00" "BASE STATE TEMPERATURE " "K" +state real p00 - misc - - i02rh "p00" "BASE STATE PRESSURE" "Pa" +state real tlp - misc - - i02rh "tlp" "BASE STATE LAPSE RATE " "" +state real tiso - misc - - i02rh "tiso" "TEMP AT WHICH THE BASE T TURNS CONST" "K" +state real tlp_strat - misc - - i02rh "tlp_strat" "BASE STATE LAPSE RATE (DT/D(LN(P)) IN STRATOSPHERE" "K" +state real p_strat - misc - - i02rh "p_strat" "BASE STATE PRESSURE AT BOTTOM OF STRATOSPHERE" "Pa" +state real max_msftx - misc - - rh "max_msftx" "Max map factor in domain" "" +state real max_msfty - misc - - rh "max_msfty" "Max map factor in domain" "" + +# NUWRF: State variables for Goddard microphysics +state real phys_tot ikj misc 1 - h "PHYS_TOT" "TOTAL LATENT HEATING RATE" "K s-1" +state real physc ikj misc 1 - - "PHYSC" "LATENT HEATING RATE DUE TO CONDENSATION" "K s-1" +state real physe ikj misc 1 - - "PHYSE" "LATENT HEATING RATE DUE TO EVAPORATION" "K s-1" +state real physd ikj misc 1 - - "PHYSD" "LATENT HEATING RATE DUE TO DEPOSITION" "K s-1" +state real physs ikj misc 1 - - "PHYSS" "LATENT HEATING RATE DUE TO SUBLIMATION" "K s-1" +state real physm ikj misc 1 - - "PHYSM" "LATENT HEATING RATE DUE TO MELTING" "K s-1" +state real physf ikj misc 1 - - "PHYSF" "LATENT HEATING RATE DUE TO FREEZING" "K s-1" +# NUWRF EMK +state real acphys_tot ikj misc 1 - r "ACPHYS_TOT" "ACCUMULATED TOTAL LATENT HEATING" "K" +state real acphysc ikj misc 1 - r "ACPHYSC" "ACCUMULATED LATENT HEATING DUE TO CONDENSATION" "K" +state real acphyse ikj misc 1 - r "ACPHYSE" "ACCUMULATED LATENT HEATING DUE TO EVAPORATION" "K" +state real acphysd ikj misc 1 - r "ACPHYSD" "ACCUMULATED LATENT HEATING DUE TO DEPOSITION" "K" +state real acphyss ikj misc 1 - r "ACPHYSS" "ACCUMULATED LATENT HEATING DUE TO SUBLIMATION" "K" +state real acphysm ikj misc 1 - r "ACPHYSM" "ACCUMULATED LATENT HEATING DUE TO MELTING" "K" +state real acphysf ikj misc 1 - r "ACPHYSF" "ACCUMULATED LATENT HEATING DUE TO FREEZING" "K" + +#state real dbz ikj misc 1 - - "DBZ" "RADAR REFLECTIVITIES" "dbz" +# NUWRF...4ICE output +state real preci3d ikj misc 1 - - "PRECI3D" "Sedimentation Fluxes for cloud ice" "KG/M^2/S" +state real precs3d ikj misc 1 - - "PRECS3D" "Sedimentation Fluxes for snow" "KG/M^2/S" +state real precg3d ikj misc 1 - - "PRECG3D" "Sedimentation Fluxes for graupel" "KG/M^2/S" +state real prech3d ikj misc 1 - - "PRECH3D" "Sedimentation Fluxes for hail" "KG/M^2/S" +state real precr3d ikj misc 1 - - "PRECR3D" "Sedimentation Fluxes for rain" "KG/M^2/S" + +# State variables for Goddard LW and SW radiation +state real TLWDN ij misc 1 - h "TLWDN" "TOA LW downwelling flux" "W m-2" +state real TLWUP ij misc 1 - h "TLWUP" "TOA LW upwelling flux" "W m-2" +state real SLWDN ij misc 1 - h "SLWDN" "Surface LW downwelling flux" "W m-2" +state real SLWUP ij misc 1 - h "SLWUP" "Surface LW upwelling flux" "W m-2" +state real TSWDN ij misc 1 - h "TSWDN" "TOA SW downwelling flux" "W m-2" +state real TSWUP ij misc 1 - h "TSWUP" "TOA SW upwelling flux" "W m-2" +state real SSWDN ij misc 1 - h "SSWDN" "Surface SW downwelling flux" "W m-2" +state real SSWUP ij misc 1 - h "SSWUP" "Surface SW upwelling flux" "W m-2" +state real COD2D_OUT ij misc 1 - h "COD2D_OUT" "Column Cloud Optical Depth" " " +state real CTOP2D_OUT ij misc 1 - h "CTOP2D_OUT" "Cloud-Top Pressure" "mb" + + +# Other physics variables + +state real RUSHTEN ikj misc 1 - r "RUSHTEN" "X WIND TENDENCY DUE TO SHALLOW CUMULUS SCHEME" "m s-2" +state real RVSHTEN ikj misc 1 - r "RVSHTEN" "Y WIND TENDENCY DUE TO SHALLOW CUMULUS SCHEME" "m s-2" +state real RTHSHTEN ikj misc 1 - r "RTHSHTEN" "THETA TENDENCY DUE TO SHALLOW CUMULUS SCHEME" "K s-1" +state real RQVSHTEN ikj misc 1 - r "RQVSHTEN" "Q_V TENDENCY DUE TO SHALLOW CUMULUS SCHEME" "kg kg-1 s-1" +state real RQRSHTEN ikj misc 1 - r "RQRSHTEN" "Q_R TENDENCY DUE TO SHALLOW CUMULUS SCHEME" "kg kg-1 s-1" +state real RQCSHTEN ikj misc 1 - r "RQCSHTEN" "Q_C TENDENCY DUE TO SHALLOW CUMULUS SCHEME" "kg kg-1 s-1" +state real RQSSHTEN ikj misc 1 - r "RQSSHTEN" "Q_S TENDENCY DUE TO SHALLOW CUMULUS SCHEME" "kg kg-1 s-1" +state real RQISHTEN ikj misc 1 - r "RQISHTEN" "Q_I TENDENCY DUE TO SHALLOW CUMULUS SCHEME" "kg kg-1 s-1" +state real RQGSHTEN ikj misc 1 - r "RQGSHTEN" "Q_G TENDENCY DUE TO SHALLOW CUMULUS SCHEME" "kg kg-1 s-1" +state real RQCNSHTEN ikj misc 1 - r "RQCNSHTEN" "Q_CN TENDENCY DUE TO SHALLOW CUMULUS SCHEME" "# kg-1 s-1" +state real RQINSHTEN ikj misc 1 - r "RQINSHTEN" "Q_IN TENDENCY DUE TO SHALLOW CUMULUS SCHEME" "# kg-1 s-1" + +# Deng Shallow Convection Parameterization +state real RDCASHTEN ikj misc 1 - r "RDCASHTEN" "CLOUD FRACTION AREA TENDENCY DUE TO DENG SHALLOW CUMULUS SCHEME" "Pa s-1" +state real RQCDCSHTEN ikj misc 1 - r "RQCDCSHTEN" "CLOUD LIQUID TENDENCY DUE TO DENG SHALLOW CUMULUS SCHEME" "kg kg-1 s-1" +state real CLDAREAA ikj dyn_em 1 - r "CLDAREAA" "CLOUD FRACTION FROM DENG SCHEME" "" +state real CLDAREAB ikj dyn_em 1 - r "CLDAREAB" "CLOUD FRACTION FROM DENG SCHEME" "" +state real CA_RAD ikj dyn_em 1 - r "CA_RAD" "CLOUD WATER CONTENT FROM DENG SCHEME FOR RADIATION" "kg kg-1" +state real CW_RAD ikj dyn_em 1 - r "CW_RAD" "CLOUD WATER CONTENT FROM DENG SCHEME FOR RADIATION" "kg kg-1" +state real CLDLIQA ikj dyn_em 1 - r "CLDLIQA" "CLOUD WATER CONTENT FROM DENG SCHEME" "kg kg-1" +state real CLDLIQB ikj dyn_em 1 - r "CLDLIQB" "CLOUD WATER CONTENT FROM DENG SCHEME" "kg kg-1" +state real CLDDPTHB ij misc 1 - r "CLDDPTHB" "CLOUD DEPTH FROM TAU-1" "m" +state real CLDTOPB ij misc 1 - r "CLDTOPB" "CLOUD TOP FROM TAU-1" "m" +state real PBLMAX ij misc 1 - r "PBLMAX" "MAXIMUM VALUE OF PBL DEPTH SINCE THE START OF THE MODEL RUN" "m" +state real WUB ikj misc 1 - r "WUB" "UPDRAFT VERTICAL VELOCITY" "m s-1" +state real RAINSHVB ij misc 1 - r "RAINSHVB" "TIME-STEP SHCU PRECIPITATION FROM TAU-1" "m s-1" +state real CAPESAVE ij misc 1 - r "CAPESAVE" "CAPE FROM TAU-1" "" +state real RADSAVE ij misc 1 - r "RADSAVE" "CLOUD RADIUS FROM TAU-1" "m" +state real AINCKFSA i{nsh}j misc 1 - r "AINCKFSA" "NUMBER OF CLOUDS FROM TAU-1" "" +state integer LTOPB ij misc 1 - r "LTOPB" "LEVEL OF UPDRAFT TOP FROM TAU-1" "" +state integer KDCLDTOP ij misc 1 - r "KDCLDTOP" "LEVEL OF NBC TOP" "" +state integer KDCLDBAS ij misc 1 - r "KDCLDBAS" "LEVEL OF NBC BASE" "" +state real XTIME1 ij misc 1 - r "XTIME1" "TIME COUNTER AFTER RAIN" "min." +state real PBLHAVG ij misc 1 - r "PBLHAVG" "TIME AVERAGE OF PBLH" "m" +state real TKEAVG ikj misc 1 - r "TKEAVG" "TIME AVERAGE OF TKE" "m2 s-2" +state real WSUBSID k misc 1 - - "WSUBSID" "LARGE-SCALE SUBSIDENCE IN DENG SHCU SCHEME" "m s-1" +# End Deng Shallow Convection Parameterization + + +state real RUCUTEN ikj misc 1 - r "RUCUTEN" "X WIND TENDENCY DUE TO CUMULUS PARAMETERIZATION" "m s-2" +state real RVCUTEN ikj misc 1 - r "RVCUTEN" "Y WIND TENDENCY DUE TO CUMULUS PARAMETERIZATION" "m s-2" +state real RTHCUTEN ikj misc 1 - r "RTHCUTEN" "THETA TENDENCY DUE TO CUMULUS SCHEME" "K s-1" +state real RQVCUTEN ikj misc 1 - r "RQVCUTEN" "Q_V TENDENCY DUE TO CUMULUS SCHEME" "kg kg-1 s-1" +state real RQRCUTEN ikj misc 1 - r "RQRCUTEN" "Q_R TENDENCY DUE TO CUMULUS SCHEME" "kg kg-1 s-1" +state real RQCCUTEN ikj misc 1 - r "RQCCUTEN" "Q_C TENDENCY DUE TO CUMULUS SCHEME" "kg kg-1 s-1" +state real RQSCUTEN ikj misc 1 - r "RQSCUTEN" "Q_S TENDENCY DUE TO CUMULUS SCHEME" "kg kg-1 s-1" +state real RQICUTEN ikj misc 1 - r "RQICUTEN" "Q_I TENDENCY DUE TO CUMULUS SCHEME" "kg kg-1 s-1" +state real RQCNCUTEN ikj misc 1 - r "RQCNCUTEN" "Q_CN TENDENCY DUE TO CUMULUS SCHEME" "# kg-1 s-1" +state real RQINCUTEN ikj misc 1 - r "RQINCUTEN" "Q_IN TENDENCY DUE TO CUMULUS SCHEME" "# kg-1 s-1" +state real W0AVG ikj misc 1 - r "W0AVG" "AVERAGE VERTICAL VELOCITY FOR KF CUMULUS SCHEME" "m s-1" + +state real qcconv ikj misc 1 - r "QCCONV" "CLOUD MIXING RATIO FOR BMJ CUMULUS SCHEME" "kg kg-1" +state real qiconv ikj misc 1 - r "QICONV" "ICE MIXING RATIO FOR BMJ CUMULUS SCHEME" "kg kg-1" +state real RAINC ij misc 1 - rh01du "RAINC" "ACCUMULATED TOTAL CUMULUS PRECIPITATION" "mm" +state real RAINSH ij misc 1 - rh01du "RAINSH" "ACCUMULATED SHALLOW CUMULUS PRECIPITATION" "mm" +state real RAINNC ij misc 1 - rh01du "RAINNC" "ACCUMULATED TOTAL GRID SCALE PRECIPITATION" "mm" +state integer I_RAINC ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_RAINC" "BUCKET FOR RAINC" "" +state integer I_RAINNC ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_RAINNC" "BUCKET FOR RAINNC" "" +state real PRATEC ij misc 1 - r "PRATEC" "PRECIP RATE FROM CUMULUS SCHEME" "mm s-1" +state real PRATESH ij misc 1 - r "PRATESH" "PRECIP RATE FROM SHALLOW CUMULUS SCHEME" "mm s-1" +state real RAINCV ij misc 1 - r "RAINCV" "TIME-STEP CUMULUS PRECIPITATION" "mm" +state real RAINSHV ij misc 1 - r "RAINSHV" "TIME-STEP SHALLOW CUMULUS PRECIPITATION" "mm" +state real RAINNCV ij misc 1 - r "RAINNCV" "TIME-STEP NONCONVECTIVE PRECIPITATION" "mm" +state real RAINBL ij misc 1 - r "RAINBL" "PBL TIME-STEP TOTAL PRECIPITATION" "mm" +state real SNOWNC ij misc 1 - rhdu "SNOWNC" "ACCUMULATED TOTAL GRID SCALE SNOW AND ICE" "mm" +state real GRAUPELNC ij misc 1 - rhdu "GRAUPELNC" "ACCUMULATED TOTAL GRID SCALE GRAUPEL" "mm" +state real HAILNC ij misc 1 - rhdu "HAILNC" "ACCUMULATED TOTAL GRID SCALE HAIL" "mm" +state real SNOWNCV ij misc 1 - r "SNOWNCV" "TIME-STEP NONCONVECTIVE SNOW AND ICE" "mm" +state real GRAUPELNCV ij misc 1 - r "GRAUPELNCV" "TIME-STEP NONCONVECTIVE GRAUPEL" "mm" +state real HAILNCV ij misc 1 - r "HAILNCV" "TIME-STEP NONCONVECTIVE HAIL" "mm" +state real refl_10cm ikj dyn_em 1 - hdu "refl_10cm" "Radar reflectivity (lamda = 10 cm)" "dBZ" +state real mskf_refl_10cm ikj dyn_em 1 - hdu "mskf_refl_10cm" "Full Radar reflectivity (lamda = 10 cm)" "dBZ" +state real th_old ikj misc 1 - rusd "TH_OLD" "Old Value of Th" "K" +state real qv_old ikj misc 1 - rusd "QV_OLD" "Old Value of qv" "kg kg-1" +state real vmi3d ikj misc 1 - hdu "v_ice" "Mass-weighted ice fallspeed cat 1" "m s-1" +state real di3d ikj misc 1 - hdu "d_ice" "Mass-weighted mean ice size cat 1" "m" +state real rhopo3d ikj misc 1 - hdu "rho_ice" "Mass-weighted mean ice density cat 1" "kg m-3" +state real phii3d ikj misc 1 - hdu "phi_ice" "Number-weighted mean ice aspect ratio cat 1" "" +state real vmi3d_2 ikj misc 1 - hdu "v_ice2" "Mass-weighted ice fallspeed cat 2" "m s-1" +state real di3d_2 ikj misc 1 - hdu "d_ice2" "Mass-weighted mean ice size cat 2" "m" +state real rhopo3d_2 ikj misc 1 - hdu "rho_ice2" "Mass-weighted mean ice density cat 2" "kg m-3" +state real phii3d_2 ikj misc 1 - hdu "phi_ice2" "Number-weighted mean ice aspect ratio cat 2" "" +state real vmi3d_3 ikj misc 1 - hdu "v_ice3" "Mass-weighted ice fallspeed cat 3" "m s-1" +state real di3d_3 ikj misc 1 - hdu "d_ice3" "Mass-weighted mean ice size cat 3" "m" +state real rhopo3d_3 ikj misc 1 - hdu "rho_ice3" "Mass-weighted mean ice density cat 3" "kg m-3" +state real phii3d_3 ikj misc 1 - hdu "phi_ice3" "Number-weighted mean ice aspect ratio cat 3" "" +state real itype ikj misc 1 - hdu "ice_type" "Diagnostic ice type cat 1 ISHMAEL microphysics" "" +state real itype_2 ikj misc 1 - hdu "ice_type2" "Diagnostic ice type cat 2 ISHMAEL microphysics" "" +state real itype_3 ikj misc 1 - hdu "ice_type3" "Diagnostic ice type cat 3 ISHMAEL microphysics" "" + +# LIGHTNING NUDGING +#state real ltg_dat ij misc 1 - r "ltg_dat" "gridded lightning data" "Flash per xkm x xkm per LAD_INT sec" +# END LIGHTNING NUDGING +state real NCA ij misc 1 - r "NCA" "COUNTER OF THE CLOUD RELAXATION TIME IN KF CUMULUS SCHEME" "" +state integer LOWLYR ij misc 1 - - "LOWLYR" "INDEX OF LOWEST MODEL LAYER ABOVE THE GROUND IN BMJ SCHEME" "" +state real MASS_FLUX ij misc 1 - r "MASS_FLUX" "DOWNDRAFT MASS FLUX FOR IN GRELL CUMULUS SCHEME" "mb hour-1" +# ckay +state real cldfra_dp ikj misc 1 - r "CLDFRA_DP" "DEEP CONVECTIVE CLOUD FRACTION FROM KF" "" +state real cldfra_sh ikj misc 1 - r "CLDFRA_SH" "SHALLOW CONVECTIVE CLOUD FRACTION FROM KF" "" +state real udr_kf ikj misc 1 - rh "UDR_KF" "UPDRAFT DETRAINMENT RATE FROM KF" "kg s-1" +state real ddr_kf ikj misc 1 - rh "DDR_KF" "DOWNDRAFT DETRAINMENT RATE FROM KF" "kg s-1" +state real uer_kf ikj misc 1 - rh "UER_KF" "UPDRAFT ENTRAINMENT RATE FROM KF" "kg s-1" +state real der_kf ikj misc 1 - rh "DER_KF" "DOWNDRAFT ENTRAINMENT RATE FROM KF" "kg s-1" +state real timec_kf ij misc 1 - rh "TIMEC_KF" "CONVECTIVE TIMESCALE FROM MSKF" "s" +state real apr_gr ij misc 1 - r "APR_GR" "PRECIP FROM CLOSURE OLD_GRELL" "mm hour-1" +state real apr_w ij misc 1 - r "APR_W" "PRECIP FROM CLOSURE W" "mm hour-1" +state real apr_mc ij misc 1 - r "APR_MC" "PRECIP FROM CLOSURE KRISH MV" "mm hour-1" +state real apr_st ij misc 1 - r "APR_ST" "PRECIP FROM CLOSURE STABILITY" "mm hour-1" +state real apr_as ij misc 1 - r "APR_AS" "PRECIP FROM CLOSURE AS-TYPE" "mm hour-1" +state real apr_capma ij misc 1 - r "APR_CAPMA" "PRECIP FROM MAX CAP" "mm hour-1" +state real apr_capme ij misc 1 - r "APR_CAPME" "PRECIP FROM MEAN CAP" "mm hour-1" +state real apr_capmi ij misc 1 - r "APR_CAPMI" "PRECIP FROM MIN CAP" "mm hour-1" +state real edt_out ij misc 1 - - "EDT_OUT" "EDT FROM GD SCHEME" "" +state real xmb_shallow ij misc 1 - r "XMB_SHALLOW" "MASSFLUX FROM SHALLOW CONVECTION (G3 and GF only)" "" +state integer k22_shallow ij misc 1 - r "K22_SHALLOW" "K22 LEVEL FROM SHALLOW CONVECTION (G3 and GF only)" "" +state integer kbcon_shallow ij misc 1 - r "KBCON_SHALLOW" "KBCON LEVEL FROM SHALLOW CONVECTION (G3 and GF only)" "" +state integer ktop_shallow ij misc 1 - r "KTOP_SHALLOW" "KTOP LEVEL FROM SHALLOW CONVECTION (G3 and GF only)" "" +state integer k22_deep ij misc 1 - - "K22_DEEP" "K22 LEVEL FROM DEEPCONVECTION (G3 and GF only)" "" +state integer kbcon_deep ij misc 1 - - "KBCON_DEEP" "KBCON LEVEL FROM DEEP CONVECTION (G3 and GF only)" "" +state integer ktop_deep ij misc 1 - - "KTOP_DEEP" "KTOP LEVEL FROM DEEP CONVECTION (G3 and GF only)" "" +state real xf_ens ije misc 1 Z r "XF_ENS" "MASS FLUX PDF IN GRELL CUMULUS SCHEME" "mb hour-1" +state real pr_ens ije misc 1 Z r "PR_ENS" "PRECIP RATE PDF IN GRELL CUMULUS SCHEME" "mb hour-1" +state real cugd_tten ikj misc 1 - r "CUGD_TTEN" "INITIAL TTENDENCY OUT OFF GRELL CUMULUS SCHEME" "K s-1" +state real cugd_qvten ikj misc 1 - r "CUGD_QVTEN" "INITIAL QTENDENCY OUT OFF GRELL CUMULUS SCHEME" "K s-1" +state real cugd_ttens ikj misc 1 - r "CUGD_TTENS" "INITIAL SUBSIDENCE TTENDENCY OUT OFF GRELL CUMULUS SCHEME" "K s-1" +state real cugd_qvtens ikj misc 1 - r "CUGD_QVTENS" "INITIAL SUBSIDNCE QTENDENCY OUT OFF GRELL CUMULUS SCHEME" "K s-1" +state real cugd_qcten ikj misc 1 - r "CUGD_QCTEN" "INITIAL TEMPERATURE TENDENCY OUT OFF GRELL CUMULUS SCHEME" "K s-1" +state real GD_CLOUD ikj misc 1 - r "GD_CLOUD" "CLOUD WATER/ICE MIXING RAIO IN GD CLOUD" "kg kg-1" +state real GD_CLOUD2 ikj misc 1 - r "GD_CLOUD2" "TEST for GD CLOUD" "kg kg-1" +state real GD_CLDFR ikj misc 1 - r "GD_CLDFR" "GD CLOUD Fraction" " ? " +state real RAINCV_A ij misc 1 - r "RAINCV_A" "taveragd TIME-STEP CUMULUS PRECIPITATION" "mm" +state real RAINCV_B ij misc 1 - r "RAINCV_B" "taveragd TIME-STEP CUMULUS PRECIPITATION" "mm" +state real GD_CLOUD_A ikj misc 1 - r "GD_CLOUD_A" "taveragd CLOUD WATER MIXING RAIO IN GD CLOUD" "kg kg-1" +state real GD_CLOUD2_A ikj misc 1 - r "GD_CLOUD2_A" "taveragd cloud ice mix ratio in GD" "kg kg-1" +state real QC_CU ikj misc 1 - r "QC_CU" "CLOUD WATER MIXING RATIO FROM A CU SCHEME" "kg kg-1" +state real QI_CU ikj misc 1 - r "QI_CU" "CLOUD ICE MIXUNG RATIO FROM A CU SCHEME" "kg kg-1" +state real QR_CU ikj misc 1 - rh "QR_CU" "RAIN MIXING RATIO FROM A CU SCHEME" "kg kg-1" +state real QS_CU ikj misc 1 - rh "QS_CU" "SNOW MIXING RATIO FROM A CU SCHEME" "kg kg-1" +state real NC_CU ikj misc 1 - rh "NC_CU" "CLOUD WATER NUMBER CONCENTRATION FROM A CU SCHEME" "kg-1" +state real NI_CU ikj misc 1 - rh "NI_CU" "CLOUD ICE NUMBER CONCENTRATION FROM A CU SCHEME" "kg-1" +state real NR_CU ikj misc 1 - rh "NR_CU" "RAIN NUMBER CONCENTRATION FROM A CU SCHEME" "kg-1" +state real NS_CU ikj misc 1 - rh "NS_CU" "SNOW NUMBER CONCENTRATION FROM A CU SCHEME" "kg-1" +state real CCN_CU ikj misc 1 - rh "CCN_CU" "CLOUD CONDENSATION NUCLEI CONCENTRATION FROM A CU SCHEME" "kg-1" +state real CU_UAF ij misc 1 - rh "CU_UAF" "CU Updraft Area Fraction" "" +state real EFCS ikj misc 1 - rh "EFCS" "Sub-grid Scale Cloud Effective Radius" "um" +state real EFIS ikj misc 1 - rh "EFIS" "Sub-grid Scale Ice Effective Radius" "um" +state real EFCG ikj misc 1 - rh "EFCG" "Grid Scale Cloud Effective Radius" "um" +state real EFIG ikj misc 1 - rh "EFIG" "Grid Scale Ice Effective Radius" "um" +state real EFSG ikj misc 1 - rh "EFSG" "Grid Scale Snow Effective Radius" "um" +state real EFSS ikj misc 1 - rh "EFSS" "Subgrid Scale Snow Effective Radius" "um" +state real WACT ikj misc 1 - rh "WACT" "Aerosol Activation Updraft" "m s-1" +state real CCN1_GS ikj misc 1 - rh "CCN1_GS" "Grid Scale Cloud Condensation Nuclei at S=0.02%" "#/cm-3" +state real CCN2_GS ikj misc 1 - rh "CCN2_GS" "Grid Scale Cloud Condensation Nuclei at S=0.05%" "#/cm-3" +state real CCN3_GS ikj misc 1 - rh "CCN3_GS" "Grid Scale Cloud Condensation Nuclei at S=0.1%" "#/cm-3" +state real CCN4_GS ikj misc 1 - rh "CCN4_GS" "Grid Scale Cloud Condensation Nuclei at S=0.2%" "#/cm-3" +state real CCN5_GS ikj misc 1 - rh "CCN5_GS" "Grid Scale Cloud Condensation Nuclei at S=0.3%" "#/cm-3" +state real CCN6_GS ikj misc 1 - rh "CCN6_GS" "Grid Scale Cloud Condensation Nuclei at S=0.5%" "#/cm-3" +state real CCN7_GS ikj misc 1 - rh "CCN7_GS" "Grid Scale Cloud Condensation Nuclei at S=1.0%" "#/cm-3" +state real QC_BL ikj misc 1 - r "QC_BL" "CLOUD WATER MIXING RATIO IN PBL schemes" "kg kg-1" +state real QI_BL ikj misc 1 - r "QI_BL" "CLOUD ICE MIXING RATIO IN PBL schemes" "kg kg-1" +state integer STEPAVE_COUNT - misc 1 - r "STEPAVE_COUNT" "time steps contained in averages for convective transport" "" + +# +state real RTHFTEN ikj misc 1 - r "RTHFTEN" "TOTAL ADVECTIVE POTENTIAL TEMPERATURE TENDENCY" "K s-1" +state real RQVFTEN ikj misc 1 - r "RQVFTEN" "TOTAL ADVECTIVE MOISTURE TENDENCY" "kg kg-1 s-1" + +state integer STEPCU - misc 1 - r "STEPCU" "NUMBER OF FUNDAMENTAL TIMESTEPS BETWEEN CONVECTION CALLS" "" + +state real RTHRATEN ikj misc 1 - rd "RTHRATEN" "THETA TENDENCY DUE TO RADIATION" "K s-1" +state real RTHRATENLW ikj misc 1 - r "RTHRATLW" "UNCOUPLED THETA TENDENCY DUE TO LONG WAVE RADIATION" "K s-1" +state real RTHRATENLWC ikj misc 1 - r "RTHRATLWC" "UNCOUPLED THETA TEND DUE TO CLEAR SKY LONG WAVE RAD" "K s-1" +state real RTHRATENSW ikj misc 1 - r "RTHRATSW" "UNCOUPLED THETA TENDENCY DUE TO SHORT WAVE RADIATION" "K s-1" +state real RTHRATENSWC ikj misc 1 - r "RTHRATSWC" "UNCOUPLED THETA TEND DUE TO CLEAR SKY SHORT WAVE RAD" "K s-1" +state real CLDFRA ikj misc 1 - irh "CLDFRA" "CLOUD FRACTION" "" +state real CONVCLD ij misc 1 - r "CONVCLD" "BMJ CONVECTIVE CLOUD" "kg m-2" +state real CCLDFRA ikj misc 1 - r "CCLDFRA" "CONVECTIVE CLOUD FRACTION" "" +state real CLDFRA_OLD ikj misc 1 - r "CLDFRA_OLD" "previous time level cldfra" "" +state real CLDFRA_BL ikj misc 1 - r "CLDFRA_BL" "CLOUD FRACTION pbl" "" +state real CLDT ij misc 1 - - "CFRACT" "TOTAL CLOUD FRACTION" "" +#state real CLDL ij misc 1 - - "CFRACL" "LOW CLOUD FRACTION (ETA GREATER THAN 0.69)" "" +#state real LWP ij misc 1 - - "LWP" "LIQUID CLOUD WATER PATH" "kg m-2" +state real SWDOWN ij misc 1 - rhd "SWDOWN" "DOWNWARD SHORT WAVE FLUX AT GROUND SURFACE" "W m-2" +state real SWDOWN2 ij misc 1 - rhd "SWDOWN2" "DOWNWARD SHORT WAVE FLUX AT GROUND SURFACE FROM FARMS" "W m-2" +state real SWDOWNC ij misc 1 - - "SWDOWNC" "DOWNWARD CLEAR-SKY SHORT WAVE FLUX AT GROUND SURFACE" "W m-2" +state real SWDOWNC2 ij misc 1 - rhd "SWDOWNC2" "CLEAR-SKY DOWNWARD SHORT WAVE FLUX AT GROUND SURFACE FROM FARMS" "W m-2" +state real GSW ij misc 1 - rd "GSW" "NET SHORT WAVE FLUX AT GROUND SURFACE" "W m-2" +state real GLW ij misc 1 - rhd "GLW" "DOWNWARD LONG WAVE FLUX AT GROUND SURFACE" "W m-2" +state real SWNORM ij misc 1 - rhd "SWNORM" "NORMAL SHORT WAVE FLUX AT GROUND SURFACE (SLOPE-DEPENDENT)" "W m-2" +state real diffuse_frac ij misc 1 - rd "DIFFUSE_FRAC" "DIFFUSE FRACTION OF SURFACE SHORTWAVE IRRADIANCE" "" +# WRF-Solar +state real swddir ij misc 1 - rd "SWDDIR" "Shortwave surface downward direct irradiance" "W m-2" "" +state real swddir2 ij misc 1 - rd "SWDDIR2" "Shortwave surface downward direct irradiance from FARMS" "W m-2" "" +state real swddirc ij misc 1 - rd "SWDDIRC" "Clear-sky Shortwave surface downward direct irradiance" "W m-2" "" +state real swddni ij misc 1 - rd "SWDDNI" "Shortwave surface downward direct normal irradiance" "W m-2" "" +state real swddni2 ij misc 1 - rd "SWDDNI2" "Shortwave surface downward direct normal irradiance from FARMS" "W m-2" "" +state real swddnic ij misc 1 - rd "SWDDNIC" "Clear-sky Shortwave surface downward direct normal irradiance" "W m-2" "" +state real swddnic2 ij misc 1 - rhd "SWDDNIC2" "Clear-sky Shortwave surface downward direct normal irradiance from FARMS" "W/m^2" "" +state real swddif ij misc 1 - rd "SWDDIF" "Shortwave surface downward diffuse irradiance" "W m-2" "" +state real swddif2 ij misc 1 - rd "SWDDIF2" "Shortwave surface downward diffuse irradiance from FARMS" "W m-2" "" +state real Gx ij misc 1 - rd "Gx" "" "" +state real Bx ij misc 1 - rd "Bx" "" "" +state real gg ij misc 1 - rd "gg" "" "" +state real bb ij misc 1 - rd "bb" "" "" +state real coszen_ref ij misc 1 - rd "coszen_ref" "" "" +state real swdown_ref ij misc 1 - rd "swdown_ref" "" "" +state real swddir_ref ij misc 1 - rd "swddir_ref" "" "" +# jararias 2013/11 +state real aod5502d ij misc 1 - i{15}r "AOD5502D" "Total aerosol optical depth at 550 nm" "" +state real angexp2d ij misc 1 - i{15}r "ANGEXP2D" "Aerosol Angstrom exponent" "" +state real aerssa2d ij misc 1 - i{15}r "AERSSA2D" "Aerosol single-scattering albedo" "" +state real aerasy2d ij misc 1 - i{15}r "AERASY2D" "Aerosol asymmetry factor" "" +state real aod5503d ikj misc 1 - r "AOD5503D" "3D aerosol optical depth at 550 nm" "" +state real taod5503d ikj misc 1 - r "TAOD5503D" "3D aerosol optical depth at 550 nm (MP=28)" "" +state real taod5502d ij misc 1 - rh "TAOD5502D" "2D aerosol optical depth at 550 nm (MP=28)" "" + +# CLWRF-WRF4G +state real T2MIN ij misc 1 - rh3 "T2MIN" "MINIMUM TEMPERATURE AT 2M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "K" +state real T2MAX ij misc 1 - rh3 "T2MAX" "MAXIMUM TEMPERATURE AT 2M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "K" +state real TT2MIN ij misc 1 - rh3 "TT2MIN" "TIME OF MINIMUM TEMPERATURE AT 2M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "minute" +state real TT2MAX ij misc 1 - rh3 "TT2MAX" "TIME OF MAXIMUM TEMPERATURE AT 2M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "minute" +state real T2MEAN ij misc 1 - rh3 "T2MEAN" "MEAN TEMPERATURE AT 2M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "K" +state real T2STD ij misc 1 - rh3 "T2STD" "STANDARD DEV. TEMPERATURE AT 2M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "k" +state real Q2MIN ij misc 1 - rh3 "Q2MIN" "MINIMUM WATER VAPOR MIX. RAT. AT 2M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "kg kg-1" +state real Q2MAX ij misc 1 - rh3 "Q2MAX" "MAXIMUM WATER VAPOR MIX. RAT. AT 2M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "kg kg-1" +state real TQ2MIN ij misc 1 - rh3 "TQ2MIN" "TIME OF MINIMUM WATER VAPOR MIX. RAT. AT 2M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "minute" +state real TQ2MAX ij misc 1 - rh3 "TQ2MAX" "TIME OF MAXIMUM WATER VAPOR MIX. RAT. AT 2M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "minute" +state real Q2MEAN ij misc 1 - rh3 "Q2MEAN" "MEAN WATER VAPOR MIX. RAT. AT 2M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "kg kg-1" +state real Q2STD ij misc 1 - rh3 "Q2STD" "STANDARD DEV. WATER VAPOR MIX. RAT. AT 2M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "kg kg-1" +state real SKINTEMPMIN ij misc 1 - rh3 "SKINTEMPMIN" "MINIMUM SKIN TEMPERATURE IN DIAGNOSTIC OUTPUT INTERVAL" "K" +state real SKINTEMPMAX ij misc 1 - rh3 "SKINTEMPMAX" "MAXIMUM SKIN TEMPERATURE IN DIAGNOSTIC OUTPUT INTERVAL" "K" +state real TSKINTEMPMIN ij misc 1 - rh3 "TSKINTEMPMIN" "TIME OF MINIMUM SKIN TEMPERATURE IN DIAGNOSTIC OUTPUT INTERVAL" "minute" +state real TSKINTEMPMAX ij misc 1 - rh3 "TSKINTEMPMAX" "TIME OF MAXIMUM SKIN TEMPERATURE IN DIAGNOSTIC OUTPUT INTERVAL" "minute" +state real SKINTEMPMEAN ij misc 1 - rh3 "SKINTEMPMEAN" "MEAN SKIN TEMPERATURE IN DIAGNOSTIC OUTPUT INTERVAL" "K" +state real SKINTEMPSTD ij misc 1 - rh3 "SKINTEMPSTD" "STANDARD DEV. OF SKIN TEMPERATURE IN CLWRF HOURS" "K" +state real U10MAX ij misc 1 - rh3 "U10MAX" "MAXIMUM U AT 10M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "m s-1" +state real V10MAX ij misc 1 - rh3 "V10MAX" "MAXIMUM V AT 10M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "m s-1" +state real SPDUV10MAX ij misc 1 - rh3 "SPDUV10MAX" "MAXIMUM WIND SPEED AT 10M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "m s-1" +state real TSPDUV10MAX ij misc 1 - rh3 "TSPDUV10MAX" "TIME OF MAXIMUM WIND SPEED AT 10M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "minute" +state real U10MEAN ij misc 1 - rh3 "U10MEAN" "MEAN U AT 10M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "m s-1" +state real V10MEAN ij misc 1 - rh3 "V10MEAN" "MEAN V AT 10M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "m s-1" +state real SPDUV10MEAN ij misc 1 - rh3 "SPDUV10MEAN" "MEAN WIND SPEED AT 10M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "m s-1" +state real U10STD ij misc 1 - rh3 "U10STD" "STANDARD DEV. U AT 10M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "m s-1" +state real V10STD ij misc 1 - rh3 "V10STD" "STANDARD DEV. V AT 10M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "m s-1" +state real SPDUV10STD ij misc 1 - rh3 "SPDUV10STD" "STANDARD DEV. WIND SPEED AT 10M HEIGHT IN DIAGNOSTIC OUTPUT INTERVAL" "m s-1" +state real RAINCVMAX ij misc 1 - rh3 "RAINCVMAX" "MAXIMUM CUMULUS PRECIPITATION FLUX IN DIAGNOSTIC OUTPUT INTERVAL" "kg m-2 s-1" +state real RAINNCVMAX ij misc 1 - rh3 "RAINNCVMAX" "MAXIMUM GRID SCALE PRECIPITATION FLUX IN DIAGNOSTIC OUTPUT INTERVAL" "kg m-2 s-1" +state real TRAINCVMAX ij misc 1 - rh3 "TRAINCVMAX" "TIME OF MAXIMUM CUMULUS PRECIPITATION FLUX IN DIAGNOSTIC OUTPUT INTERVAL" "minute" +state real TRAINNCVMAX ij misc 1 - rh3 "TRAINNCVMAX" "TIME OF MAXIMUM GRID SCALE PRECIPITATION FLUX IN DIAGNOSTIC OUTPUT INTERVAL" "minute" +state real RAINCVMEAN ij misc 1 - rh3 "RAINCVMEAN" "MEAN CUMULUS PRECIPITATION FLUX IN DIAGNOSTIC OUTPUT INTERVAL" "kg m-2 s-1" +state real RAINNCVMEAN ij misc 1 - rh3 "RAINNCVMEAN" "MEAN GRID SCALE PRECIPITATION FLUX IN DIAGNOSTIC OUTPUT INTERVAL" "kg m-2 s-1" +state real RAINCVSTD ij misc 1 - rh3 "RAINCVSTD" "STANDARD DEV. CUMULUS PRECIPITATION FLUX IN DIAGNOSTIC OUTPUT INTERVAL" "kg m-2 s-1" +state real RAINNCVSTD ij misc 1 - rh3 "RAINNCVSTD" "STANDARD DEV. GRID SCALE PRECIPITATION IN FLUX DIAGNOSTIC OUTPUT INTERVAL" "kg m-2 s-1" +state integer nsteps - misc - - r "NSTEPS" "Time Step Counter" "" + +# upward and downward clearsky and total diagnostic fluxes for CAM radiation +state real ACSWUPT ij misc 1 - rhdu "ACSWUPT" "ACCUMULATED UPWELLING SHORTWAVE FLUX AT TOP" "J m-2" +state real ACSWUPTC ij misc 1 - rhdu "ACSWUPTC" "ACCUMULATED UPWELLING CLEAR SKY SHORTWAVE FLUX AT TOP" "J m-2" +state real ACSWDNT ij misc 1 - rhdu "ACSWDNT" "ACCUMULATED DOWNWELLING SHORTWAVE FLUX AT TOP" "J m-2" +state real ACSWDNTC ij misc 1 - rhdu "ACSWDNTC" "ACCUMULATED DOWNWELLING CLEAR SKY SHORTWAVE FLUX AT TOP" "J m-2" +state real ACSWUPB ij misc 1 - rhdu "ACSWUPB" "ACCUMULATED UPWELLING SHORTWAVE FLUX AT BOTTOM" "J m-2" +state real ACSWUPBC ij misc 1 - rhdu "ACSWUPBC" "ACCUMULATED UPWELLING CLEAR SKY SHORTWAVE FLUX AT BOTTOM" "J m-2" +state real ACSWDNB ij misc 1 - rhdu "ACSWDNB" "ACCUMULATED DOWNWELLING SHORTWAVE FLUX AT BOTTOM" "J m-2" +state real ACSWDNBC ij misc 1 - rhdu "ACSWDNBC" "ACCUMULATED DOWNWELLING CLEAR SKY SHORTWAVE FLUX AT BOTTOM" "J m-2" +state real ACLWUPT ij misc 1 - rhdu "ACLWUPT" "ACCUMULATED UPWELLING LONGWAVE FLUX AT TOP" "J m-2" +state real ACLWUPTC ij misc 1 - rhdu "ACLWUPTC" "ACCUMULATED UPWELLING CLEAR SKY LONGWAVE FLUX AT TOP" "J m-2" +state real ACLWDNT ij misc 1 - rhdu "ACLWDNT" "ACCUMULATED DOWNWELLING LONGWAVE FLUX AT TOP" "J m-2" +state real ACLWDNTC ij misc 1 - rhdu "ACLWDNTC" "ACCUMULATED DOWNWELLING CLEAR SKY LONGWAVE FLUX AT TOP" "J m-2" +state real ACLWUPB ij misc 1 - rhdu "ACLWUPB" "ACCUMULATED UPWELLING LONGWAVE FLUX AT BOTTOM" "J m-2" +state real ACLWUPBC ij misc 1 - rhdu "ACLWUPBC" "ACCUMULATED UPWELLING CLEAR SKY LONGWAVE FLUX AT BOTTOM" "J m-2" +state real ACLWDNB ij misc 1 - rhdu "ACLWDNB" "ACCUMULATED DOWNWELLING LONGWAVE FLUX AT BOTTOM" "J m-2" +state real ACLWDNBC ij misc 1 - rhdu "ACLWDNBC" "ACCUMULATED DOWNWELLING CLEAR SKY LONGWAVE FLUX AT BOTTOM" "J m-2" +state integer I_ACSWUPT ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACSWUPT" "BUCKET FOR UPWELLING SHORTWAVE FLUX AT TOP" "J m-2" +state integer I_ACSWUPTC ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACSWUPTC" "BUCKET FOR UPWELLING CLEAR SKY SHORTWAVE FLUX AT TOP" "J m-2" +state integer I_ACSWDNT ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACSWDNT" "BUCKET FOR DOWNWELLING SHORTWAVE FLUX AT TOP" "J m-2" +state integer I_ACSWDNTC ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACSWDNTC" "BUCKET FOR DOWNWELLING CLEAR SKY SHORTWAVE FLUX AT TOP" "J m-2" +state integer I_ACSWUPB ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACSWUPB" "BUCKET FOR UPWELLING SHORTWAVE FLUX AT BOTTOM" "J m-2" +state integer I_ACSWUPBC ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACSWUPBC" "BUCKET FOR UPWELLING CLEAR SKY SHORTWAVE FLUX AT BOTTOM" "J m-2" +state integer I_ACSWDNB ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACSWDNB" "BUCKET FOR DOWNWELLING SHORTWAVE FLUX AT BOTTOM" "J m-2" +state integer I_ACSWDNBC ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACSWDNBC" "BUCKET FOR DOWNWELLING CLEAR SKY SHORTWAVE FLUX AT BOTTOM" "J m-2" +state integer I_ACLWUPT ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACLWUPT" "BUCKET FOR UPWELLING LONGWAVE FLUX AT TOP" "J m-2" +state integer I_ACLWUPTC ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACLWUPTC" "BUCKET FOR UPWELLING CLEAR SKY LONGWAVE FLUX AT TOP" "J m-2" +state integer I_ACLWDNT ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACLWDNT" "BUCKET FOR DOWNWELLING LONGWAVE FLUX AT TOP" "J m-2" +state integer I_ACLWDNTC ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACLWDNTC" "BUCKET FOR DOWNWELLING CLEAR SKY LONGWAVE FLUX AT TOP" "J m-2" +state integer I_ACLWUPB ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACLWUPB" "BUCKET FOR UPWELLING LONGWAVE FLUX AT BOTTOM" "J m-2" +state integer I_ACLWUPBC ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACLWUPBC" "BUCKET FOR UPWELLING CLEAR SKY LONGWAVE FLUX AT BOTTOM" "J m-2" +state integer I_ACLWDNB ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACLWDNB" "BUCKET FOR DOWNWELLING LONGWAVE FLUX AT BOTTOM" "J m-2" +state integer I_ACLWDNBC ij misc 1 - rhd=(interp_fcni)u=(copy_fcni) "I_ACLWDNBC" "BUCKET FOR DOWNWELLING CLEAR SKY LONGWAVE FLUX AT BOTTOM" "J m-2" +state real SWUPT ij misc 1 - rhdu "SWUPT" "INSTANTANEOUS UPWELLING SHORTWAVE FLUX AT TOP" "W m-2" +state real SWUPTC ij misc 1 - rhdu "SWUPTC" "INSTANTANEOUS UPWELLING CLEAR SKY SHORTWAVE FLUX AT TOP" "W m-2" +state real SWUPTCLN ij misc 1 - rhdu "SWUPTCLN" "INSTANTANEOUS UPWELLING CLEAN SKY SHORTWAVE FLUX AT TOP" "W m-2" +state real SWDNT ij misc 1 - rhdu "SWDNT" "INSTANTANEOUS DOWNWELLING SHORTWAVE FLUX AT TOP" "W m-2" +state real SWDNTC ij misc 1 - rhdu "SWDNTC" "INSTANTANEOUS DOWNWELLING CLEAR SKY SHORTWAVE FLUX AT TOP" "W m-2" +state real SWDNTCLN ij misc 1 - rhdu "SWDNTCLN" "INSTANTANEOUS DOWNWELLING CLEAN SKY SHORTWAVE FLUX AT TOP" "W m-2" +state real SWUPB ij misc 1 - rhdu "SWUPB" "INSTANTANEOUS UPWELLING SHORTWAVE FLUX AT BOTTOM" "W m-2" +state real SWUPBC ij misc 1 - rhdu "SWUPBC" "INSTANTANEOUS UPWELLING CLEAR SKY SHORTWAVE FLUX AT BOTTOM" "W m-2" +state real SWUPBCLN ij misc 1 - rhdu "SWUPBCLN" "INSTANTANEOUS UPWELLING CLEAN SKY SHORTWAVE FLUX AT BOTTOM" "W m-2" +state real SWDNB ij misc 1 - rhdu "SWDNB" "INSTANTANEOUS DOWNWELLING SHORTWAVE FLUX AT BOTTOM" "W m-2" +state real SWDNBC ij misc 1 - rhdu "SWDNBC" "INSTANTANEOUS DOWNWELLING CLEAR SKY SHORTWAVE FLUX AT BOTTOM" "W m-2" +state real SWDNBCLN ij misc 1 - rhdu "SWDNBCLN" "INSTANTANEOUS DOWNWELLING CLEAN SKY SHORTWAVE FLUX AT BOTTOM" "W m-2" +state real LWUPT ij misc 1 - rhdu "LWUPT" "INSTANTANEOUS UPWELLING LONGWAVE FLUX AT TOP" "W m-2" +state real LWUPTC ij misc 1 - rhdu "LWUPTC" "INSTANTANEOUS UPWELLING CLEAR SKY LONGWAVE FLUX AT TOP" "W m-2" +state real LWUPTCLN ij misc 1 - rhdu "LWUPTCLN" "INSTANTANEOUS UPWELLING CLEAN SKY LONGWAVE FLUX AT TOP" "W m-2" +state real LWDNT ij misc 1 - rhdu "LWDNT" "INSTANTANEOUS DOWNWELLING LONGWAVE FLUX AT TOP" "W m-2" +state real LWDNTC ij misc 1 - rhdu "LWDNTC" "INSTANTANEOUS DOWNWELLING CLEAR SKY LONGWAVE FLUX AT TOP" "W m-2" +state real LWDNTCLN ij misc 1 - rhdu "LWDNTCLN" "INSTANTANEOUS DOWNWELLING CLEAN SKY LONGWAVE FLUX AT TOP" "W m-2" +state real LWUPB ij misc 1 - rhdu "LWUPB" "INSTANTANEOUS UPWELLING LONGWAVE FLUX AT BOTTOM" "W m-2" +state real LWUPBC ij misc 1 - rhdu "LWUPBC" "INSTANTANEOUS UPWELLING CLEAR SKY LONGWAVE FLUX AT BOTTOM" "W m-2" +state real LWUPBCLN ij misc 1 - rhdu "LWUPBCLN" "INSTANTANEOUS UPWELLING CLEAN SKY LONGWAVE FLUX AT BOTTOM" "W m-2" +state real LWDNB ij misc 1 - rhdu "LWDNB" "INSTANTANEOUS DOWNWELLING LONGWAVE FLUX AT BOTTOM" "W m-2" +state real LWDNBC ij misc 1 - rhdu "LWDNBC" "INSTANTANEOUS DOWNWELLING CLEAR SKY LONGWAVE FLUX AT BOTTOM" "W m-2" +state real LWDNBCLN ij misc 1 - rhdu "LWDNBCLN" "INSTANTANEOUS DOWNWELLING CLEAN SKY LONGWAVE FLUX AT BOTTOM" "W m-2" +state real SWCF ij misc 1 - r "SWCF" "SHORT WAVE CLOUD FORCING AT TOA" "W m-2" +state real LWCF ij misc 1 - r "LWCF" "LONG WAVE CLOUD FORCING AT TOA" "W m-2" +state real OLR ij misc 1 - rh "OLR" "TOA OUTGOING LONG WAVE" "W m-2" + +state real XLAT_U ij dyn_em 1 X i012rhdu=(copy_fcnm) "XLAT_U" "LATITUDE, SOUTH IS NEGATIVE" "degree_north" +state real XLONG_U ij dyn_em 1 X i012rhd=(interp_fcn_blint_ll:xlat_u,input_from_file)u=(copy_fcnm) "XLONG_U" "LONGITUDE, WEST IS NEGATIVE" "degree_east" +state real XLAT_V ij dyn_em 1 Y i012rhdu=(copy_fcnm) "XLAT_V" "LATITUDE, SOUTH IS NEGATIVE" "degree_north" +state real XLONG_V ij dyn_em 1 Y i012rhd=(interp_fcn_blint_ll:xlat_v,input_from_file)u=(copy_fcnm) "XLONG_V" "LONGITUDE, WEST IS NEGATIVE" "degree_east" +state real ALBEDO ij misc 1 - rh "ALBEDO" "ALBEDO" +state real CLAT ij misc 1 - i012rhdu=(copy_fcnm) "CLAT" "COMPUTATIONAL GRID LATITUDE, SOUTH IS NEGATIVE" "degree_north" +state real ALBBCK ij misc 1 - i0124rh "ALBBCK" "BACKGROUND ALBEDO" "" +state real EMBCK ij misc 1 - r "EMBCK" "BACKGROUND EMISSIVITY" "" +state real EMISS ij misc 1 - rh "EMISS" "SURFACE EMISSIVITY" "" +state real SNOTIME ij misc 1 - r "SNOTIME" "SNOTIME" "" +state real NOAHRES ij misc 1 - h "NOAHRES" "RESIDUAL OF THE NOAH SURFACE ENERGY BUDGET" "W m{-2}" +state real CLDEFI ij misc 1 - r "CLDEFI" "precipitation efficiency in BMJ SCHEME" "" +state integer STEPRA - misc 1 - r "STEPRA" "NUMBER OF FUNDAMENTAL TIMESTEPS BETWEEN RADIATION CALLS" "" + +state real RUBLTEN ikj misc 1 - rh "RUBLTEN" "X WIND TENDENCY DUE TO PBL PARAMETERIZATION" "m s-2" +state real RVBLTEN ikj misc 1 - rh "RVBLTEN" "Y WIND TENDENCY DUE TO PBL PARAMETERIZATION" "m s-2" +state real RTHBLTEN ikj misc 1 - rh "RTHBLTEN" "THETA TENDENCY DUE TO PBL PARAMETERIZATION" "K s-1" +state real RQVBLTEN ikj misc 1 - rh "RQVBLTEN" "Q_V TENDENCY DUE TO PBL PARAMETERIZATION" "kg kg-1 s-1" +state real RQCBLTEN ikj misc 1 - r "RQCBLTEN" "Q_C TENDENCY DUE TO PBL PARAMETERIZATION" "kg kg-1 s-1" +state real RQIBLTEN ikj misc 1 - r "RQIBLTEN" "Q_I TENDENCY DUE TO PBL PARAMETERIZATION" "kg kg-1 s-1" +state real RQNIBLTEN ikj misc 1 - r "RQNIBLTEN" "Q_NI TENDENCY DUE TO PBL PARAMETERIZATION" "# kg-1 s-1" + +# For Noah UA changes +state real flx4 ij - 1 - - "FLX4" "sensible heat from canopy" "W m{-2}" +state real fvb ij - 1 - - "FVB" "fraction of vegetation with snow below" "" +state real fbur ij - 1 - - "FBUR" "fraction of vegetation covered by snow" "" +state real fgsn ij - 1 - - "FGSN" "fraction of ground covered by snow" "" + +# For Noah-Mosaic danli + +state real TSK_mosaic i{mocat}j misc 1 - i02rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TSK_mosaic" "vegetation temperature" "K" +state real QSFC_mosaic i{mocat}j misc 1 - i02rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "QSFC_mosaic" "SPECIFIC HUMIDITY AT LOWER BOUNDARY" "" +state real TSLB_mosaic i{mocat2}j misc 1 Z i02rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TSLB_mosaic" "SOIL TEMPERATURE" "K" +state real SMOIS_mosaic i{mocat2}j misc 1 Z i02rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "SMOIS_mosaic" "SOIL MOISTURE" "m3 m-3" +state real SH2O_mosaic i{mocat2}j misc 1 Z i02rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "SH2O_mosaic" "SOIL LIQUID WATER" "m3 m-3" +state real CANWAT_mosaic i{mocat}j misc 1 - i012rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "CANWAT_mosaic" "CANOPY WATER" "kg m-2" +state real SNOW_mosaic i{mocat}j misc 1 - i012rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "SNOW_mosaic" "SNOW WATER EQUIVALENT" "kg m-2" +state real SNOWH_mosaic i{mocat}j misc 1 - i012rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "SNOWH_mosaic" "PHYSICAL SNOW DEPTH" "m" +state real SNOWC_mosaic i{mocat}j misc 1 - ird=(interp_mask_land_field:lu_index)u=(copy_fcnm) "SNOWC_mosaic" "FLAG INDICATING SNOW COVERAGE (1 FOR SNOW COVER)" "" + +state real ALBEDO_mosaic i{mocat}j misc 1 - r "ALBEDO_mosaic" "albedo" "" +state real ALBBCK_mosaic i{mocat}j misc 1 - r "ALBBCK_mosaic" "background albedo" "" +state real EMISS_mosaic i{mocat}j misc 1 - r "EMISS_mosaic" "emissivity" "" +state real EMBCK_mosaic i{mocat}j misc 1 - r "EMBCK_mosaic" "background emissivity" "" +state real ZNT_mosaic i{mocat}j misc 1 - r "ZNT_mosaic" "time_varying roughness length" "m" +state real Z0_mosaic i{mocat}j misc 1 - r "Z0_mosaic" "background roughness length" "m" +state real LAI_mosaic i{mocat}j misc 1 - r "LAI_mosaic" "LEAF AREA INDEX" "m-2/m-2" +state real RS_mosaic i{mocat}j misc 1 - r "RS_mosaic" "CANOPY RESISTANCE" "s m-1" +state real HFX_mosaic i{mocat}j misc 1 - r "HFX_mosaic" "UPWARD HEAT FLUX AT THE SURFACE" "W m-2" +state real QFX_mosaic i{mocat}j misc 1 - r "QFX_mosaic" "UPWARD MOISTURE FLUX AT THE SURFACE" "kg m-2 s-1" +state real LH_mosaic i{mocat}j misc 1 - r "LH_mosaic" "LATENT HEAT FLUX AT THE SURFACE" "W m-2" +state real GRDFLX_mosaic i{mocat}j misc 1 - r "GRDFLX_mosaic" "GROUND HEAT FLUX" "W m-2" +state real SNOTIME_mosaic i{mocat}j misc 1 - r "SNOTIME_mosaic" "SNOTIME" "" + +state real TR_URB2D_mosaic i{mocat}j misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TR_URB2D_mosaic" "ROOF TEMPERATURE" "K" +state real TB_URB2D_mosaic i{mocat}j misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TB_URB2D_mosaic" "WALL TEMPERATURE" "K" +state real TG_URB2D_mosaic i{mocat}j misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TG_URB2D_mosaic" "GROUND TEMPERATURE" "K" +state real TC_URB2D_mosaic i{mocat}j misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TC_URB2D_mosaic" "CANYON TEMPERATURE" "K" +state real TS_URB2D_mosaic i{mocat}j misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TS_URB2D_mosaic" "URBAN TEMPERATURE" "K" +state real TS_RUL2D_mosaic i{mocat}j misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TS_RUL2D_mosaic" "RURAL TEMPERATURE" "K" +state real QC_URB2D_mosaic i{mocat}j misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TC_URB2D_mosaic" "CANYON SPECIFIC HUMIDITY" "" +state real UC_URB2D_mosaic i{mocat}j misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TC_URB2D_mosaic" "CANYON WIND SPEED" "m s-1" +state real TRL_URB3D_mosaic i{mocat2}j misc 1 Z rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TRL_URB3D_mosaic" "ROOF LAYER TEMPERATURE" "K" +state real TBL_URB3D_mosaic i{mocat2}j misc 1 Z rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TBL_URB3D_mosaic" "WALL LAYER TEMPERATURE" "K" +state real TGL_URB3D_mosaic i{mocat2}j misc 1 Z rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TGL_URB3D_mosaic" "ROAD LAYER TEMPERATURE" "K" +state real SH_URB2D_mosaic i{mocat}j misc 1 - r "SH_URB2D_mosaic" "UPWARD HEAT FLUX AT THE SURFACE" "W m-2" +state real LH_URB2D_mosaic i{mocat}j misc 1 - r "LH_URB2D_mosaic" "LATENT HEAT FLUX AT THE SURFACE" "kg m-2 s-1" +state real G_URB2D_mosaic i{mocat}j misc 1 - r "G_URB2D_mosaic" "GROUND HEAT FLUX AT THE SURFACE" "W m-2" +state real RN_URB2D_mosaic i{mocat}j misc 1 - r "RN_URB2D_mosaic" "NET RADIATION" "W m-2" + +state integer mosaic_cat_index iuj misc 1 Z i012rd=(interp_fcni)u=(copy_fcni) "mosaic_cat_index" " " "" +state real landusef2 iuj misc 1 Z i012rdu "LANDUSEF2" "sorted landuse fraction" "" + +# State vector for etampnew microphysics. Must be declared state because it is not read-once and is needed for restarting. +state real mp_restart_state p misc 1 - r "MP_RESTART_STATE" "STATE VECTOR FOR MICROPHYSICS RESTARTS" +state real tbpvs_state p misc 1 - r "TBPVS_STATE" "STATE FOR ETAMPNEW MICROPHYSICS" +state real tbpvs0_state p misc 1 - r "TBPVS0_STATE" "STATE FOR ETAMPNEW MICROPHYSICS" + +# State variables for landuse_init, Must be declared state because they are read in and needed for restarts. Had been SAVE vars in +# landuse_init (phys/module_physics_init.F) +state integer landuse_isice - misc - - r +state integer landuse_lucats - misc - - r +state integer landuse_luseas - misc - - r +state integer landuse_isn - misc - - r +state real lu_state p misc - - r + +i1 real th_phy ikj misc 1 - +i1 real pi_phy ikj misc 1 - +i1 real p_phy ikj misc 1 - +state real t_phy ikj misc 1 - r "T_PHY" "Temperature" "K" +state real u_phy ikj misc 1 - r "U_PHY" "x-wind component at mass point" "m s-1" +state real v_phy ikj misc 1 - r "V_PHY" "y-wind component at mass point" "m s-1" +i1 real dz8w ikj misc 1 Z +i1 real p8w ikj misc 1 Z +i1 real t8w ikj misc 1 Z +i1 logical CU_ACT_FLAG ij misc 1 - + + +state real TMN ij misc 1 - i012rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TMN" "SOIL TEMPERATURE AT LOWER BOUNDARY" "K" +state real TYR ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TYR" "ANNUAL MEAN SFC TEMPERATURE" "K" +state real TYRA ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TYRA" "ACCUMULATED YEARLY SFC TEMPERATURE FOR CURRENT YEAR" "K" +state real TDLY ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TDLY" "ACCUMULATED DAILY SFC TEMPERATURE FOR CURRENT DAY" "K" +state real TLAG i&j misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TLAG" "DAILY MEAN SFC TEMPERATURE OF PRIOR DAYS" "K" +state integer NYEAR - misc 1 - r "NYEAR" "ACCUM DAYS IN A YEAR" "" +state real NDAY - misc 1 - r "NDAY" "ACCUM TIMESTEPS IN A DAY" "" +state real XLAND ij misc 1 - i02rhd=(interp_fcnm_imask)u=(copy_fcnm) "XLAND" "LAND MASK (1 FOR LAND, 2 FOR WATER)" "" +state real cplmask i{ncpldom}j misc 1 z i0r "CPLMASK" "COUPLING MASK (0:VALUE FROM SST UPDATE; 1:VALUE FROM COUPLED OCEAN), vertical dim is number of external domains" "" +state real ZNT ij misc 1 - i3rh "ZNT" "TIME-VARYING ROUGHNESS LENGTH" "m" +state real CK ij misc 1 - r "CK" "ENTHALPY EXCHANGE COEFF AT 10 m" "" +state real CKA ij misc 1 - r "CKA" "ENTHALPY EXCHANGE COEFF AT LOWEST MODEL LVL" "" +state real CD ij misc 1 - r "CD" "DRAG COEFF AT 10m" "" +state real CDA ij misc 1 - r "CDA" "DRAG COEFF AT LOWEST MODEL LVL" "" +state real UST ij misc 1 - rh "UST" "U* IN SIMILARITY THEORY" "m s-1" +state real USTM ij misc 1 - r "USTM" "U* IN SIMILARITY THEORY WITHOUT VCONV" "m s-1" +i1 real HOL ij misc 1 - - "HOL" "PBL HEIGHT OVER MONIN-OBUKHOV LENGTH" "" +state real RMOL ij misc 1 - rh "RMOL" "1./Monin Ob. Length" "" +state real MOL ij misc 1 - rh "MOL" "T* IN SIMILARITY THEORY" "K" +state real PBLH ij misc 1 - rh "PBLH" "PBL HEIGHT" "m" +state real CAPG ij misc 1 - r "CAPG" "HEAT CAPACITY FOR SOIL" "J K-1 m-3" +state real THC ij misc 1 - r "THC" "THERMAL INERTIA" "Cal cm-2 K-1 s-0.5" +state real HFX ij misc 1 - rh "HFX" "UPWARD HEAT FLUX AT THE SURFACE" "W m-2" +state real QFX ij misc 1 - rh "QFX" "UPWARD MOISTURE FLUX AT THE SURFACE" "kg m-2 s-1" +state real LH ij misc 1 - rh "LH" "LATENT HEAT FLUX AT THE SURFACE" "W m-2" +state real ACHFX ij misc 1 - rhdu "ACHFX" "ACCUMULATED UPWARD HEAT FLUX AT THE SURFACE" "J m-2" +#BSINGH - Added WSTAR for CuP scheme +state real WSTAR ij misc 1 - h "WSTAR" "DEARDORFF CONVECTIVE VELOCITY SCALE" "m s-1" +state real ACLHF ij misc 1 - rhdu "ACLHF" "ACCUMULATED UPWARD LATENT HEAT FLUX AT THE SURFACE" "J m-2" +state real FLHC ij misc 1 - r "FLHC" "SURFACE EXCHANGE COEFFICIENT FOR HEAT" "" +state real FLQC ij misc 1 - r "FLQC" "SURFACE EXCHANGE COEFFICIENT FOR MOISTURE" "" +state real QSG ij misc 1 - r "QSG" "SURFACE SATURATION WATER VAPOR MIXING RATIO" "kg kg-1" +state real QVG ij misc 1 - r "QVG" "WATER VAPOR MIXING RATIO AT THE SURFACE" "kg kg-1" +state real dfi_QVG ij misc 1 - r "QVG_dfi" "WATER VAPOR MIXING RATIO AT THE SURFACE" "kg kg-1" +state real QCG ij misc 1 - r "QCG" "CLOUD WATER MIXING RATIO AT THE GROUND SURFACE" "kg kg-1" +state real DEW ij misc 1 - r "DEW" "DEW MIXING RATIO AT THE SURFACE" "kg kg-1" +state real SOILT1 ij misc 1 - i012rh "SOILT1" "TEMPERATURE INSIDE SNOW " "K" +state real dfi_SOILT1 ij misc 1 - r "SOILT1_dfi" "TEMPERATURE INSIDE SNOW " "K" +state real TSNAV ij misc 1 - r "TSNAV" "AVERAGE SNOW TEMPERATURE " "C" +state real dfi_TSNAV ij misc 1 - r "TSNAV_dfi" "AVERAGE SNOW TEMPERATURE " "C" +state real REGIME ij misc 1 - r "REGIME" "FLAGS: 1=Night/Stable, 2=Mechanical Turbulent, 3=Forced Conv, 4=Free Conv" "" +state real SNOWC ij misc 1 - i012rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "SNOWC" "FLAG INDICATING SNOW COVERAGE (1 FOR SNOW COVER)" "" +state real dfi_SNOWC ij misc 1 - r "SNOWC_dfi" "FLAG INDICATING SNOW COVERAGE (1 FOR SNOW COVER)" "" +state real MAVAIL ij misc 1 - r "MAVAIL" "SURFACE MOISTURE AVAILABILITY" "" + +state real tkesfcf ij misc 1 - r "tkesfcf" "TKE AT THE SURFACE" "m2 s-2" +state real sr ij dyn_em 1 - irh "sr" "fraction of frozen precipitation" +state real potevp ij dyn_em 1 - r "potevp" "accumulated potential evaporation" "m" +state real snopcx ij dyn_em 1 - r "snopcx" "snow phase change heat flux" "W m-2" +state real soiltb ij dyn_em 1 - r "soiltb" "bottom soil temperature" "K" + +state integer STEPBL - misc 1 - r "STEPBL" "NUMBER OF FUNDAMENTAL TIMESTEPS BETWEEN PBL CALLS" "" +state real taucldi ikj misc 1 - r "TAUCLDI" "CLOUD OPTICAL THICKNESS FOR ICE" "" +state real taucldc ikj misc 1 - r "TAUCLDC" "CLOUD OPTICAL THICKNESS FOR WATER" "" +state real defor11 ikj misc 1 - r "defor11" "DEFORMATION 11" "s-1" +state real defor22 ikj misc 1 - r "defor22" "DEFORMATION 22" "s-1" +state real defor12 ikj misc 1 - r "defor12" "DEFORMATION 12" "s-1" +state real defor33 ikj misc 1 z r "defor33" "DEFORMATION 33" "s-1" +state real defor13 ikj misc 1 z r "defor13" "DEFORMATION 13" "s-1" +state real defor23 ikj misc 1 z r "defor23" "DEFORMATION 23" "s-1" +state real xkmv ikj misc 1 - r "xkmv" "VERTICAL EDDY VISCOSITY" "m2 s-1" +state real xkmh ikj misc 1 - r "xkmh" "HORIZONTAL EDDY VISCOSITY" "m2 s-1" +state real xkhv ikj misc 1 - r "xkhv" "VERTICAL EDDY DIFFUSIVITY OF HEAT" "m2 s-1" +state real xkhh ikj misc 1 - r "xkhh" "HORIZONTAL EDDY DIFFUSIVITY OF HEAT" "m2 s-1" +state real div ikj misc 1 - r "div" "DIVERGENCE" "s-1" +state real BN2 ikj misc 1 - r "BN2" "BRUNT-VAISALA FREQUENCY" "s-2" +state logical warm_rain - misc 1 - - "warm_rain" "WARM_RAIN_LOGICAL" +state logical adv_moist_cond - misc 1 - - "adv_moist_cond" "ADVECT MOIST CONDENSATES LOGICAL" +state integer save_topo_from_real - dyn_em 1 - i02rh "save_topo_from_real" "1=original topo from real/0=topo modified by WRF" "flag" + +## FDDA variables + +state integer STEPFG - misc 1 - r "STEPFG" "NUMBER OF FUNDAMENTAL TIMESTEPS BETWEEN FDDA GRID CALLS" "" +state real RUNDGDTEN ikj misc 1 X r "RUNDGDTEN" "X WIND TENDENCY DUE TO FDDA GRID NUDGING" "m s-2" +state real RVNDGDTEN ikj misc 1 Y r "RVNDGDTEN" "Y WIND TENDENCY DUE TO FDDA GRID NUDGING" "m s-2" +state real RTHNDGDTEN ikj misc 1 - r "RTHNDGDTEN" "THETA TENDENCY DUE TO FDDA GRID NUDGING" "K s-1" +state real RPHNDGDTEN ikj misc 1 - r "RPHNDGDTEN" "GEOPOTENTIAL TENDENCY DUE TO FDDA GRID NUDGING" "m2 s-3" +state real RQVNDGDTEN ikj misc 1 - r "RQVNDGDTEN" "Q_V TENDENCY DUE TO FDDA GRID NUDGING" "kg kg-1 s-1" +state real RMUNDGDTEN ij misc 1 - r "RMUNDGDTEN" "MU TENDENCY DUE TO FDDA GRID NUDGING" "Pa s-1" +state real - ikjf fdda3d 1 - - - +state real U_NDG_NEW ikjf fdda3d 1 X i{10}r "U_NDG_NEW" "NEW X WIND FOR FDDA GRID NUDGING" "m s-1" +state real V_NDG_NEW ikjf fdda3d 1 Y i{10}r "V_NDG_NEW" "NEW Y WIND FOR FDDA GRID NUDGING" "m s-1" +state real T_NDG_NEW ikjf fdda3d 1 - i{10}r "T_NDG_NEW" "NEW PERT POT TEMP FOR FDDA GRID NUDGING" "K" +state real Q_NDG_NEW ikjf fdda3d 1 - i{10}r "Q_NDG_NEW" "NEW WATER VAPOR MIX RATIO FOR FDDA GRID NUDGING" "kg/kg" +state real PH_NDG_NEW ikjf fdda3d 1 Z i{10}r "PH_NDG_NEW" "NEW PERT GEOPOTENTIAL FOR FDDA GRID NUDGING" "kg/kg" +state real U_NDG_OLD ikjf fdda3d 1 X i{10}r "U_NDG_OLD" "OLD X WIND FOR FDDA GRID NUDGING" "m s-1" +state real V_NDG_OLD ikjf fdda3d 1 Y i{10}r "V_NDG_OLD" "OLD Y WIND FOR FDDA GRID NUDGING" "m s-1" +state real T_NDG_OLD ikjf fdda3d 1 - i{10}r "T_NDG_OLD" "OLD PERT POT TEMP FOR FDDA GRID NUDGING" "K" +state real Q_NDG_OLD ikjf fdda3d 1 - i{10}r "Q_NDG_OLD" "OLD WATER VAPOR MIX RATIO FOR FDDA GRID NUDGING" "kg/kg" +state real PH_NDG_OLD ikjf fdda3d 1 Z i{10}r "PH_NDG_OLD" "OLD PERT GEOPOTENTIAL FOR FDDA GRID NUDGING" "kg/kg" +state real - ivjf fdda2d 1 Z - - +state real MU_NDG_NEW ivjf fdda2d 1 - i{10}r "MU_NDG_NEW" "NEW PERT COLUMN DRY MASS FOR FDDA GRID NUDGING" "Pa" +state real MU_NDG_OLD ivjf fdda2d 1 - i{10}r "MU_NDG_OLD" "OLD PERT COLUMN DRY MASS FOR FDDA GRID NUDGING" "Pa" +state real U10_NDG_OLD ij misc 1 X i9r "U10_NDG_OLD" "OLD U10 FOR SURFACE FDDA GRID NUDGING" "m s-1" +state real U10_NDG_NEW ij misc 1 X i9r "U10_NDG_NEW" "NEW U10 FOR SURFACE FDDA GRID NUDGING" "m s-1" +state real V10_NDG_OLD ij misc 1 Y i9r "V10_NDG_OLD" "OLD V10 FOR SURFACE FDDA GRID NUDGING" "m s-1" +state real V10_NDG_NEW ij misc 1 Y i9r "V10_NDG_NEW" "NEW V10 FOR SURFACE FDDA GRID NUDGING" "m s-1" +state real T2_NDG_OLD ij misc 1 - i9r "T2_NDG_OLD" "OLD T2 FOR SURFACE FDDA GRID NUDGING" "K" +state real T2_NDG_NEW ij misc 1 - i9r "T2_NDG_NEW" "NEW T2 FOR SURFACE FDDA GRID NUDGING" "K" +state real TH2_NDG_OLD ij misc 1 - i9r "TH2_NDG_OLD" "OLD TH2 FOR SURFACE FDDA GRID NUDGING" "K" +state real TH2_NDG_NEW ij misc 1 - i9r "TH2_NDG_NEW" "NEW TH2 FOR SURFACE FDDA GRID NUDGING" "K" +state real Q2_NDG_OLD ij misc 1 - i9r "Q2_NDG_OLD" "OLD Q2 FOR SURFACE FDDA GRID NUDGING" "kg kg-1" +state real Q2_NDG_NEW ij misc 1 - i9r "Q2_NDG_NEW" "NEW Q2 FOR SURFACE FDDA GRID NUDGING" "kg kg-1" +state real RH_NDG_OLD ij misc 1 - i9r "RH_NDG_OLD" "OLD RH FOR SURFACE FDDA GRID NUDGING" "%" +state real RH_NDG_NEW ij misc 1 - i9r "RH_NDG_NEW" "NEW RH FOR SURFACE FDDA GRID NUDGING" "%" +state real PSL_NDG_OLD ij misc 1 - i9r "PSL_NDG_OLD" "OLD PSL FOR SURFACE FDDA GRID NUDGING" "Pa" +state real PSL_NDG_NEW ij misc 1 - i9r "PSL_NDG_NEW" "NEW PSL FOR SURFACE FDDA GRID NUDGING" "Pa" +state real PS_NDG_OLD ij misc 1 - i9r "PS_NDG_OLD" "OLD PS FOR SURFACE FDDA GRID NUDGING" "Pa" +state real PS_NDG_NEW ij misc 1 - i9r "PS_NDG_NEW" "NEW PS FOR SURFACE FDDA GRID NUDGING" "Pa" +state real TOB_NDG_OLD ij misc 1 - i9r "TOB_NDG_OLD" "OLD TOB FOR SURFACE FDDA GRID NUDGING" "" +state real ODIS_NDG_OLD ij misc 1 - i9r "ODIS_NDG_OLD" "OLD ODIS FOR SURFACE FDDA GRID NUDGING" "km" +state real TOB_NDG_NEW ij misc 1 - i9r "TOB_NDG_NEW" "NEW TOB FOR SURFACE FDDA GRID NUDGING" "" +state real ODIS_NDG_NEW ij misc 1 - i9r "ODIS_NDG_NEW" "NEW ODIS FOR SURFACE FDDA GRID NUDGING" "km" +state real SN_NDG_NEW ij misc 1 - i9r "SN_NDG_NEW" "NEW Snow Water Equivalent" "mm" +state real SN_NDG_OLD ij misc 1 - i9r "SN_NDG_OLD" "OLD Snow Water Equivalent" "mm" + +#FASDAS +state real SDA_HFX ij misc 1 - r "SDA_HFX" "THETA TENDENCY AT THE FIRST MODEL LAYER" "K s-1" +state real SDA_QFX ij misc 1 - r "SDA_QFX" "MOISTURE TENDENCY AT THE FIRST MODEL LAYER" "kg kg-1 s-1" +state real QNORM ij misc 1 - r "QNORM" "NORMALIZED QV FACTOR" "dimless" +state real HFX_BOTH ij misc 1 - rh "HFX_BOTH" "UPWARD HEAT FLUX AT THE SURFACE" "W m-2" +state real QFX_BOTH ij misc 1 - rh "QFX_BOTH" "UPWARD MOISTURE FLUX AT THE SURFACE" "kg m-2 s-1" +state real HFX_FDDA ikj misc 1 - rh "HFX_FDDA" "PSEUDO RADIATIVE HEAT FLUX FROM TEMPERATURE FDDA" "W m-2" +# + +# flag for nest movement +state logical moved - misc 1 - - + +# special cam radiation restart arrays +state real abstot ikcj misc 1 Z - "" "" " " +state real absnxt ikaj misc 1 - - "" "" " " +state real emstot ikj misc 1 Z - "" "" " " + +# model diagnostics +state real dpsdt ij misc 1 - - "dpsdt" "surface pressure tendency" "Pa/sec" +state real dmudt ij misc 1 - - "dmudt" "mu tendency" "Pa/sec" +state real pk1m ij misc 1 - - "pk1m" "surface pressure at previous step" "Pa" +state real mu_2m ij misc 1 - - "mu_2m" "mu_2 at previous step" "Pa" + +# these are NSSL WRF diagnostics +state real WSPD10MAX ij misc 1 - rh02 "WSPD10MAX" "WIND SPD MAX 10 M" "m s-1" +state real W_UP_MAX ij misc 1 - rh02 "W_UP_MAX" "MAX Z-WIND UPDRAFT" "m s-1" +state real W_DN_MAX ij misc 1 - rh02 "W_DN_MAX" "MAX Z-WIND DOWNDRAFT" "m s-1" +state real REFD_MAX ij misc 1 - rh02 "REFD_MAX" "MAX DERIVED RADAR REFL" "dbZ" +state real UP_HELI_MAX ij misc 1 - rh02 "UP_HELI_MAX" "MAX UPDRAFT HELICITY" "m2 s-2" +state real W_MEAN ij misc 1 - rh "W_MEAN" "HOURLY MEAN Z-WIND" "m s-1" +state real GRPL_MAX ij misc 1 - rh "GRPL_MAX" "MAX COL INT GRAUPEL" "kg m-2" +state real UH ij misc 1 - r "UH" "UPDRAFT HELICITY" "m2 s-2" +state real W_COLMEAN ij misc 1 - - "W_COLMEAN" "COLUMN MEAN Z-WIND" "m s-1" +state real NUMCOLPTS ij misc 1 - - "NUMCOLPTS" "NUMBER OF COLUMN PTS" "dimensionless" +state real GRPL_COLINT ij misc 1 - - "GRPL_COLINT" "COL INT GRAUPEL" "kg m-2" +state real HAIL_MAXK1 ij misc 1 - rh02 "HAIL_MAXK1" "MAX HAIL DIAMETER K=1" "m" +state real HAIL_MAX2D ij misc 1 - rh02 "HAIL_MAX2D" "MAX HAIL DIAMETER ENTIRE COLUMN" "m" + +state real max_cfl - misc 1 - - "max_cfl" "maximum CFL value in grid at a time" "-" + +state real prec_acc_c ij misc 1 - rhdu "prec_acc_c" "ACCUMULATED CUMULUS PRECIPITATION OVER prec_acc_dt PERIODS OF TIME" "mm" +state real prec_acc_nc ij misc 1 - rhdu "prec_acc_nc" "ACCUMULATED GRID SCALE PRECIPITATION OVER prec_acc_dt PERIODS OF TIME" "mm" +state real snow_acc_nc ij misc 1 - rhdu "snow_acc_nc" "ACCUMULATED SNOW WATER EQUIVALENT OVER prec_acc_dt PERIODS OF TIME" "mm" + +# Placeholder for decoupled advective tendency diagnostics for non-chem +state real - ikjf advh_t 1 - - - +state real advh_qv ikjf advh_t 1 - - "advh_qv" "ACCUMULATED HORIZONTAL TENDENCY FOR WATER VAPOR" "kg kg-1" + +state real - ikjf advz_t 1 - - - +state real advz_qv ikjf advz_t 1 - - "advz_qv" "ACCUMULATED VERTICAL TENDENCY FOR WATER VAPOR" "kg kg-1" + +# Ocean Mixed-Layer State Variables +state real TML ij misc 1 - rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TML" "OCEAN MIXED-LAYER TEMPERATURE" "K" +state real T0ML ij misc 1 - rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "T0ML" "INITIAL OCEAN MIXED-LAYER TEMPERATURE" "K" +state real HML ij misc 1 - rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "HML" "OCEAN MIXED-LAYER DEPTH" "m" +state real H0ML ij misc 1 - i012rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "H0ML" "INITIAL OCEAN MIXED-LAYER DEPTH" "m" +state real HUML ij misc 1 - rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "HUML" "OCEAN MIXED-LAYER DEPTH * U-CURRENT" " m2s-1 " +state real HVML ij misc 1 - rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "HVML" "OCEAN MIXED-LAYER DEPTH * V-CURRENT" " m2s-1 " +state real TMOML ij misc 1 - i012rhd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TMOML" "OCEAN LAYER MEAN TEMPERATURE " "K" +# track output +state real track_z {tl}k misc 1 - - "track_z" "mid-level Height" "m" +state real track_t {tl}k misc 1 - - "track_t" "mid-level temperature" "K" +state real track_p {tl}k misc 1 - - "track_p" "mid-level pressure" "Pa" +state real track_u {tl}k misc 1 - - "track_u" "x-wind component" "m s-1" +state real track_v {tl}k misc 1 - - "track_v" "y-wind component" "m s-1" +state real track_w {tl}k misc 1 - - "track_w" "z-wind component" "m s-1" +state real track_rh {tl}k misc 1 - - "track_rh" "relative humidity" "0 - 1 fraction" +state real track_alt {tl}k misc 1 - - "track_alt" "inverse density" "m3 kg-1" +state real track_ele {tl} misc 1 - - "track_ele" "elevation" "m" +state real track_aircraft {tl} misc 1 - - "track_aircraft" "aircraft altitude" "m" + +state real track_qcloud {tl}k misc 1 - - "track_qcloud" "cloud water mixing ratio" "kg kg-1" +state real track_qrain {tl}k misc 1 - - "track_qrain" "rain water mixing ratio" "kg kg-1" +state real track_qice {tl}k misc 1 - - "track_qice" "ice mixing ratio" "kg kg-1" +state real track_qsnow {tl}k misc 1 - - "track_qsnow" "snow mixing ratio" "kg kg-1" +state real track_qgraup {tl}k misc 1 - - "track_qgraup" "graupel mixing ratio" "kg kg-1" +state real track_qvapor {tl}k misc 1 - - "track_qvapor" "water vapor mixing ratio" "kg kg-1" + +# MAD-WRF +state real brtemp ij dyn_em 1 - i01h "brtemp" "Brightness temperature to calc cloud top height" "K" +state real cldmask ij dyn_em 1 - i01h "cldmask" "Cloud mask" "-" +state real cldtopz ij dyn_em 1 - i01h "cldtopz" "Cloud top height above sea level" "m asl" +state real cldbasez ij dyn_em 1 - i01h "cldbasez" "Cloud base height above ground level" "m agl" + +# Accumulated physics tendencies +state real ATHMPTEN ikj misc 1 - h "ATHMPTEN" "ACCUMULATED THETA TENDENCY DUE TO MICROPHY SCHEME" "K " +state real AQVMPTEN ikj misc 1 - h "AQVMPTEN" "ACCUMULATED Q_V TENDENCY DUE TO MICROPHY SCHEME" "kg kg-1 " +state real ATHCUTEN ikj misc 1 - h "ATHCUTEN" "ACCUMULATED THETA TENDENCY DUE TO CUMULUS SCHEME" "K " +state real AQVCUTEN ikj misc 1 - h "AQVCUTEN" "ACCUMULATED Q_V TENDENCY DUE TO CUMULUS SCHEME" "kg kg-1 " +state real AUCUTEN ikj misc 1 - h "AUCUTEN" "ACCUMULATED X WIND TENDENCY DUE TO CUMULUS SCHEME" "m s-1 " +state real AVCUTEN ikj misc 1 - h "AVCUTEN" "ACCUMULATED Y WIND TENDENCY DUE TO CUMULUS SCHEME" "m s-1 " +state real ATHSHTEN ikj misc 1 - h "ATHSHTEN" "ACCUMULATED THETA TENDENCY DUE TO SHALLOW SCHEME" "K " +state real AQVSHTEN ikj misc 1 - h "AQVSHTEN" "ACCUMULATED Q_V TENDENCY DUE TO SHALLOW SCHEME" "kg kg-1 " +state real AUSHTEN ikj misc 1 - h "AUSHTEN" "ACCUMULATED X WIND TENDENCY DUE TO SHALLOW SCHEME" "m s-1 " +state real AVSHTEN ikj misc 1 - h "AVSHTEN" "ACCUMULATED Y WIND TENDENCY DUE TO SHALLOW SCHEME" "m s-1 " +state real ATHBLTEN ikj misc 1 - h "ATHBLTEN" "ACCUMULATED THETA TENDENCY DUE TO PBL SCHEME" "K " +state real AQVBLTEN ikj misc 1 - h "AQVBLTEN" "ACCUMULATED Q_V TENDENCY DUE TO PBL SCHEME" "kg kg-1 " +state real AUBLTEN ikj misc 1 - h "AUBLTEN" "ACCUMULATED X WIND TENDENCY DUE TO PBL SCHEME" "m s-1 " +state real AVBLTEN ikj misc 1 - h "AVBLTEN" "ACCUMULATED Y WIND TENDENCY DUE TO PBL SCHEME" "m s-1 " +state real ATHRATENLW ikj misc 1 - h "ATHRATENLW" "ACCUMULATED THETA TENDENCY DUE TO LW RADIATION SCHEME" "K " +state real ATHRATENSW ikj misc 1 - h "ATHRATENSW" "ACCUMULATED THETA TENDENCY DUE TO SW RADIATION SCHEME" "K " +# +#--------------------------------------------------------------------------------------------------------------------------------------- +# + +###### +# +# Variables that are set at run-time to control configuration (namelist-settable) +# +#
+ +# Time Control +rconfig integer run_days namelist,time_control 1 0 irh "run_days" "NUMBER OF DAYS TO RUN" +rconfig integer run_hours namelist,time_control 1 0 irh "run_hours" "NUMBER OF HOURS TO RUN" +rconfig integer run_minutes namelist,time_control 1 0 irh "run_minutes" "NUMBER OF MINUTES TO RUN" +rconfig integer run_seconds namelist,time_control 1 0 irh "run_seconds" "NUMBER OF SECONDS TO RUN" +rconfig integer start_year namelist,time_control max_domains 1993 irh "start_year" "4 DIGIT YEAR OF START OF MODEL" "YEARS" +rconfig integer start_month namelist,time_control max_domains 03 irh "start_month" "2 DIGIT MONTH OF THE YEAR OF START OF MODEL, 1-12" "MONTHS" +rconfig integer start_day namelist,time_control max_domains 13 irh "start_day" "2 DIGIT DAY OF THE MONTH OF START OF MODEL, 1-31" "DAYS" +rconfig integer start_hour namelist,time_control max_domains 12 irh "start_hour" "2 DIGIT HOUR OF THE DAY OF START OF MODEL, 0-23" "HOURS" +rconfig integer start_minute namelist,time_control max_domains 00 irh "start_minute" "2 DIGIT MINUTE OF THE HOUR OF START OF MODEL, 0-59" "MINUTES" +rconfig integer start_second namelist,time_control max_domains 00 irh "start_second" "2 DIGIT SECOND OF THE MINUTE OF START OF MODEL, 0-59" "SECONDS" +rconfig integer end_year namelist,time_control max_domains 1993 irh "end_year" "4 DIGIT YEAR OF END OF MODEL" "YEARS" +rconfig integer end_month namelist,time_control max_domains 03 irh "end_month" "2 DIGIT MONTH OF THE YEAR OF END OF MODEL, 1-12" "MONTHS" +rconfig integer end_day namelist,time_control max_domains 14 irh "end_day" "2 DIGIT DAY OF THE MONTH OF END OF MODEL, 1-31" "DAYS" +rconfig integer end_hour namelist,time_control max_domains 12 irh "end_hour" "2 DIGIT HOUR OF THE DAY OF END OF MODEL, 0-23" "HOURS" +rconfig integer end_minute namelist,time_control max_domains 00 irh "end_minute" "2 DIGIT MINUTE OF THE HOUR OF END OF MODEL, 0-59" "MINUTES" +rconfig integer end_second namelist,time_control max_domains 00 irh "end_second" "2 DIGIT SECOND OF THE MINUTE OF END OF MODEL, 0-59" "SECONDS" +rconfig integer interval_seconds namelist,time_control 1 10800 irh "interval_seconds" "SECONDS BETWEEN ANALYSIS AND BOUNDARY PERIODS" "SECONDS" +rconfig logical input_from_file namelist,time_control max_domains .false. irh "input_from_file" "T/F INPUT FOR THIS DOMAIN FROM A SEPARATE INPUT FILE" "" +rconfig integer fine_input_stream namelist,time_control max_domains 0 irh "fine_input_stream" "0 THROUGH 11, WHAT INPUT STREAM IS FINE GRID IC FROM" "" +rconfig logical input_from_hires namelist,time_control max_domains .false. irh "input_from_hires" "T/F INPUT FOR THIS DOMAIN FROM USGS HI RES TERRAIN" "" +rconfig character rsmas_data_path namelist,time_control 1 "." - "rsmas_data_path" "" "" +rconfig logical all_ic_times namelist,time_control 1 .false. irh "all_ic_times" "T/F WRITE ALL IC TIME PERIODS" "" + + +rconfig integer JULYR namelist,time_control max_domains 0 h "JULYR" "" "" +rconfig integer JULDAY namelist,time_control max_domains 1 h "JULDAY" "" "" +rconfig real GMT namelist,time_control max_domains 0. h "GMT" "" "" +rconfig character input_inname namelist,time_control 1 "wrfinput_d" - "name of input infile" "" "" +rconfig character input_outname namelist,time_control 1 "wrfinput_d" - "name of input outfile" "" "" +rconfig character bdy_inname namelist,time_control 1 "wrfbdy_d" - "name of boundary infile" "" "" +rconfig character bdy_outname namelist,time_control 1 "wrfbdy_d" - "name of boundary outfile" "" "" +rconfig character rst_inname namelist,time_control 1 "wrfrst_d_" - "name of restrt infile" "" "" +rconfig character rst_outname namelist,time_control 1 "wrfrst_d_" - "name of restrt outfile" "" "" +rconfig logical write_input namelist,time_control 1 .false. - "write input data for 3dvar etc." "" "" +rconfig logical write_restart_at_0h namelist,time_control 1 .false. h "write_restart_at_0h" "" "" +rconfig logical write_hist_at_0h_rst namelist,time_control 1 .false. h "write_hist_at_0h_rst" "T/F write hist at 0 h of restarted forecast" +rconfig logical adjust_output_times namelist,time_control 1 .false. - "adjust_output_times" +rconfig logical adjust_input_times namelist,time_control 1 .false. - "adjust_input_times" +rconfig integer diag_print namelist,time_control 1 0 - "print out time series of model diagnostics" +rconfig logical nocolons namelist,time_control 1 .false. - "nocolons" +rconfig logical cycling namelist,time_control 1 .false. - "true for cycling (using wrfout file as input data)" +rconfig integer output_diagnostics namelist,time_control 1 0 +rconfig integer nwp_diagnostics namelist,time_control 1 0 +rconfig logical output_ready_flag namelist,time_control 1 .false. - "drop a flag called wrfoutReady_d_ after history write" "" "" +rconfig logical force_use_old_data namelist,time_control 1 .false. - "T=use v3 input data, F=only use v4 data" "" "" + +pioprocs, piostart, piostride, pioshift +# PIO namelist +rconfig logical usepio namelist,pio_control 1 .false. rh "pioprocs" "" "" +rconfig integer pioprocs namelist,pio_control 1 0 rh "pioprocs" "" "" +rconfig integer piostart namelist,pio_control 1 1 rh "piostart" "" "" +rconfig integer piostride namelist,pio_control 1 1 rh "piostride" "" "" +rconfig integer pioshift namelist,pio_control 1 1 rh "pioshift" "" "" + +# DFI namelist +rconfig integer dfi_opt namelist,dfi_control 1 0 rh "dfi_opt" "" "" +rconfig integer dfi_savehydmeteors namelist,dfi_control 1 0 rh "dfi_radar" "DFI radar switch" "" +rconfig integer dfi_nfilter namelist,dfi_control 1 7 rh "dfi_nfilter" "Digital filter type" "" +rconfig logical dfi_write_filtered_input namelist,dfi_control 1 .true. rh "dfi_write_filtered_input" "Write a wrfinput_filtered_d0n file?" "" +rconfig logical dfi_write_dfi_history namelist,dfi_control 1 .false. rh "dfi_write_dfi_history" "Write history files during filtering?" "" +rconfig integer dfi_cutoff_seconds namelist,dfi_control 1 3600 rh "dfi_cutoff_seconds" "Digital filter cutoff time" "" +rconfig integer dfi_time_dim namelist,dfi_control 1 1000 rh "dfi_time_dim" "MAX DIMENSION FOR HCOEFF" +rconfig integer dfi_fwdstop_year namelist,dfi_control 1 2004 rh "dfi_fwdstop_year" "4 DIGIT YEAR OF START OF DFI" "YEARS" +rconfig integer dfi_fwdstop_month namelist,dfi_control 1 03 rh "dfi_fwdstop_month" "2 DIGIT MONTH OF THE YEAR OF START OF DFI" "MONTHS" +rconfig integer dfi_fwdstop_day namelist,dfi_control 1 13 rh "dfi_fwdstop_day" "2 DIGIT DAY OF THE MONTH OF START OF DFI" "DAYS" +rconfig integer dfi_fwdstop_hour namelist,dfi_control 1 12 rh "dfi_fwdstop_hour" "2 DIGIT HOUR OF THE DAY OF START OF DFI" "HOURS" +rconfig integer dfi_fwdstop_minute namelist,dfi_control 1 00 rh "dfi_fwdstop_minute" "2 DIGIT MINUTE OF THE HOUR OF START OF DFI" "MINUTES" +rconfig integer dfi_fwdstop_second namelist,dfi_control 1 00 rh "dfi_fwdstop_second" "2 DIGIT SECOND OF THE MINUTE OF START OF DFI" "SECONDS" +rconfig integer dfi_bckstop_year namelist,dfi_control 1 2004 rh "dfi_bckstop_year" "4 DIGIT YEAR OF END OF DFI" "YEARS" +rconfig integer dfi_bckstop_month namelist,dfi_control 1 03 rh "dfi_bckstop_month" "2 DIGIT MONTH OF THE YEAR OF END OF DFI" "MONTHS" +rconfig integer dfi_bckstop_day namelist,dfi_control 1 14 rh "dfi_bckstop_day" "2 DIGIT DAY OF THE MONTH OF END OF DFI" "DAYS" +rconfig integer dfi_bckstop_hour namelist,dfi_control 1 12 rh "dfi_bckstop_hour" "2 DIGIT HOUR OF THE DAY OF END OF DFI" "HOURS" +rconfig integer dfi_bckstop_minute namelist,dfi_control 1 00 rh "dfi_bckstop_minute" "2 DIGIT MINUTE OF THE HOUR OF END OF DFI" "MINUTES" +rconfig integer dfi_bckstop_second namelist,dfi_control 1 00 rh "dfi_bckstop_second" "2 DIGIT SECOND OF THE MINUTE OF END OF DFI" "SECONDS" + +# Domains +rconfig integer time_step namelist,domains 1 -1 ih "time_step" +rconfig integer time_step_fract_num namelist,domains 1 0 ih "time_step_fract_num" +rconfig integer time_step_fract_den namelist,domains 1 1 ih "time_step_fract_den" +rconfig integer time_step_dfi namelist,domains 1 -1 ih "time_step_dfi" + +rconfig real reasonable_time_step_ratio namelist,domains 1 6. ih "reasonable_time_step_ratio" "Any d01, real-data case with a time step ratio larger than this is stopped" + +rconfig integer min_time_step namelist,domains max_domains -1 h "min_time_step" +rconfig integer min_time_step_den namelist,domains max_domains 0 h "min_time_step denominator" +rconfig integer max_time_step namelist,domains max_domains -1 h "max_time_step" +rconfig integer max_time_step_den namelist,domains max_domains 0 h "max_time_step denominator" +rconfig real target_cfl namelist,domains max_domains 1.2 h "target_cfl" +rconfig real target_hcfl namelist,domains max_domains 0.84 h "target_hcfl" +rconfig integer max_step_increase_pct namelist,domains max_domains 5 h "max_step_increase_pct" +rconfig integer starting_time_step namelist,domains max_domains -1 h "starting_time_step" +rconfig integer starting_time_step_den namelist,domains max_domains 0 h "starting_time_step denominator" +rconfig logical step_to_output_time namelist,domains 1 .true. h "step_to_output_time" +rconfig integer adaptation_domain namelist,domains 1 1 h "adaptation_domain" +rconfig logical use_adaptive_time_step namelist,domains 1 .false. h "use_adaptive_time_step" +rconfig logical use_adaptive_time_step_dfi namelist,domains 1 .false. ih "use_adaptive_time_step_dfi" + +rconfig integer max_dom namelist,domains 1 1 irh "max_dom" "" "" +rconfig integer lats_to_mic namelist,domains 1 0 irh "lats_to_mic" "" "" +rconfig integer s_we namelist,domains max_domains 1 irh "s_we" "" "" +rconfig integer e_we namelist,domains max_domains 32 irh "e_we" "" "" +rconfig integer s_sn namelist,domains max_domains 1 irh "s_sn" "" "" +rconfig integer e_sn namelist,domains max_domains 32 irh "e_sn" "" "" +rconfig integer s_vert namelist,domains max_domains 1 irh "s_vert" "" "" +rconfig integer e_vert namelist,domains max_domains 31 irh "e_vert" "" "" +rconfig integer num_metgrid_levels namelist,domains 1 27 irh "num_metgrid_levels" "" "" +rconfig integer num_metgrid_soil_levels namelist,domains 1 4 irh "num_metgrid_soil_levels" "number of input levels or layers in 3D sm, st, sw arrays" "" +rconfig real p_top_requested namelist,domains 1 5000 irh "p_top_requested" "Pa" "" +rconfig logical interp_theta namelist,domains 1 .false. irh "interp_theta" "inside real, vertically interpolate theta (T) or temperature (F)" "" +rconfig integer interp_type namelist,domains 1 2 irh "interp_type" "1=interp in pressure, 2=interp in LOG pressure" "" +rconfig integer rebalance namelist,domains 1 0 irh "rebalance" "0=no; 1=yes (must be 1 if vertical nesting is used)" +rconfig integer vert_refine_method namelist,domains max_domains 0 irh "vert_refine_method" "0=no vertical nesting, 1=integer refinement, 2=use specified eta levels or compute_eta routine" "" +rconfig integer vert_refine_fact namelist,domains 1 1 irh "vertical refinment factor for ndown, not used for concurrent vertical grid nesting" "" "" +rconfig integer extrap_type namelist,domains 1 2 irh "extrap_type" "1= use 2 lowest levels, 2=constant" "" +rconfig integer t_extrap_type namelist,domains 1 2 irh "t_extrap_type" "1=isothermal, 2=6.5 K/km, 3=adiabatic" "" +rconfig integer hypsometric_opt namelist,domains 1 2 irh "hypsometric_opt" "Z relates P, 1=linearly, 2=LOG-linearly" "" +rconfig logical lowest_lev_from_sfc namelist,domains 1 .false. irh "lowest_lev_from_sfc" "" "" +rconfig logical use_levels_below_ground namelist,domains 1 .true. irh "use_levels_below_ground" "T/F: use input data levels below input sfc pres" "" +rconfig logical use_tavg_for_tsk namelist,domains 1 .false. irh "use_tavg_for_tsk" "T/F: use diurnal avg sfc temp for tsk" "" +rconfig logical use_surface namelist,domains 1 .true. irh "use_surface" "T/F: use input surface level in interpolation" "" +rconfig integer lagrange_order namelist,domains 1 2 irh "lagrange_order" "1=linear, 2=quadratic vertical interpolation, 9=cubic spline" "" +rconfig integer linear_interp namelist,domains 1 1 irh "linear_interp" "1=linear" "" +rconfig integer force_sfc_in_vinterp namelist,domains 1 1 irh "force_sfc_in_vinterp" "number of eta levels forced to use sfc in vert interp" "" +rconfig real zap_close_levels namelist,domains 1 500 irh "zap_close_levels" "delta p where level is removed in vert interp" "Pa" +rconfig real maxw_horiz_pres_diff namelist,domains 1 5000 irh "maxw_horiz_pres_diff" "pressure limit (Pa), when horiz diff exceeded do not use max_wind level in real" +rconfig real trop_horiz_pres_diff namelist,domains 1 5000 irh "trop_horiz_pres_diff" "pressure limit (Pa), when horiz diff exceeded do not use tropopause level in real" +rconfig real maxw_above_this_level namelist,domains 1 30000 irh "maxw_above_this_level" "pressure limit (Pa), only use the max_wind data at or above this level" +rconfig integer use_maxw_level namelist,domains 1 0 irh "use_maxw_level" "0=no/1=yes: in real, use the input metgrid U, V, T, GHT at the level of max wind speed" +rconfig integer use_trop_level namelist,domains 1 0 irh "use_trop_level" "0=no/1=yes: in real, use the input metgrid U, V, T, GHT at the tropopause level" +rconfig logical sfcp_to_sfcp namelist,domains 1 .false. irh "sfcp_to_sfcp" "T/F use incoming sfc pres to compute new sfc pres" "flag" +rconfig logical adjust_heights namelist,domains 1 .false. irh "adjust_heights" "T/F adjust pressure level input to match 500 mb height" "flag" +rconfig logical smooth_cg_topo namelist,domains 1 .false. irh "smooth_cg_topo" "T/F smooth CG topo on boundarries" "flag" +rconfig integer nest_interp_coord namelist,domains 1 0 irh "nest_interp_coord" "0=std horiz vi interpolation on eta, 1=attempt isobaric interpolation" +rconfig integer interp_method_type namelist,domains 1 2 irh "interp_method_type" "horiz interp for FG for nesting: 1=bilinear, 2=sint, 3=nearest neighbor is only for testing, 4=quadratic, 12=sint for infrastructure tests" +rconfig logical aggregate_lu namelist,domains 1 .false. irh "aggregate_lu" "T/F aggregate the grass, shrubs, trees in LU" +rconfig logical rh2qv_wrt_liquid namelist,domains 1 .true. irh "rh2qv_wrt_liquid" "T = rh=>Qv assumes RH wrt liquid water, F = allows ice" +rconfig integer rh2qv_method namelist,domains 1 1 irh "rh2qv_method" "1=old MM5 method, 2=new WMO method" +rconfig real qv_max_p_safe namelist,domains 1 10000 irh "qv_max_p_safe" "Threshhold pressure, Qv > flag set to value" "Pa" +rconfig real qv_max_flag namelist,domains 1 1.E-5 irh "qv_max_flag" "Qv flag for max" "kg kg{-1}" +rconfig real qv_max_value namelist,domains 1 3.E-6 irh "qv_max_value" "Qv value for max" "kg kg{-1}" +rconfig real qv_min_p_safe namelist,domains 1 110000 irh "qv_min_p_safe" "Threshhold pressure, Qv < flag set to value" "Pa" +rconfig real qv_min_flag namelist,domains 1 1.E-6 irh "qv_min_flag" "Qv flag for min" "kg kg{-1}" +rconfig real qv_min_value namelist,domains 1 1.E-6 irh "qv_min_value" "Qv value for min" "kg kg{-1}" +rconfig integer ideal_init_method namelist,domains 1 1 irh "ideal_init_method" "inside start_em: 1=alb from phb, 2=alb from t_init" " " +rconfig real dx namelist,domains max_domains 200 h "dx" "X HORIZONTAL RESOLUTION" "METERS" +rconfig real dy namelist,domains max_domains 200 h "dy" "Y HORIZONTAL RESOLUTION" "METERS" +rconfig integer grid_id namelist,domains max_domains 1 irh "id" "" "" +rconfig logical grid_allowed namelist,domains max_domains .true. irh "allowed" "" "" +rconfig integer parent_id namelist,domains max_domains 0 h "parent_id" "" "" +rconfig integer i_parent_start namelist,domains max_domains 1 rh "i_parent_start" "" "" +rconfig integer j_parent_start namelist,domains max_domains 1 rh "j_parent_start" "" "" +rconfig integer parent_grid_ratio namelist,domains max_domains 1 h "parent_grid_ratio" "" "" +rconfig integer parent_time_step_ratio namelist,domains max_domains 1 h "parent_time_step_ratio" "" "" +rconfig integer feedback namelist,domains 1 1 h "feedback" "" "" +rconfig integer smooth_option namelist,domains 1 2 h "smooth_option" "" "" +rconfig integer blend_width namelist,domains 1 5 h "blend_width" "width of cg fg terrain blended zone" "" +rconfig real ztop namelist,domains max_domains 15000. h "ztop" "" "" +rconfig integer moad_grid_ratio namelist,domains max_domains 1 h "moad_grid_ratio" "" "" +rconfig integer moad_time_step_ratio namelist,domains max_domains 1 h "moad_time_step_ratio" "" "" +rconfig integer shw namelist,domains max_domains 2 h "stencil_half_width" "HORIZONTAL INTERPOLATION STENCIL HALF-WIDTH" "GRID POINTS" +rconfig integer tile_sz_x namelist,domains 1 0 - "tile_sz_x" "" "" +rconfig integer tile_sz_y namelist,domains 1 0 - "tile_sz_y" "" "" +rconfig integer numtiles namelist,domains 1 1 - "numtiles" "" "" +rconfig integer numtiles_inc namelist,domains 1 0 - "numtiles_inc" "" "" +rconfig integer numtiles_x namelist,domains 1 0 - "numtiles_x" "" "" +rconfig integer numtiles_y namelist,domains 1 0 - "numtiles_y" "" "" +rconfig integer tile_strategy namelist,domains 1 0 - "tile_strategy" "" "" +rconfig integer nproc_x namelist,domains 1 -1 - "nproc_x" "-1 means not set" "" +rconfig integer nproc_y namelist,domains 1 -1 - "nproc_y" "-1 means not set" "" +rconfig integer irand namelist,domains 1 0 - "irand" "" "" +rconfig real dt derived max_domains 2. h "dt" "TEMPORAL RESOLUTION" "SECONDS" + +rconfig integer fft_used derived 1 0 - "fft_used" "stochastic, spectral nudging, polar filters - turn on if these are used" +rconfig integer cu_used derived 1 0 - "cu_used" "turn on if any cumulus scheme is used" +rconfig integer shcu_used derived 1 0 - "shcu_used" "turn on if any shallow cumulus scheme is used" +rconfig integer cam_used derived 1 0 - "cam_used" "turn on if one of the following CAM schemes is used: MP, PBL, SHCU" +rconfig integer gwd_used derived 1 0 - "gwd_used" "takes on the non-zero value of gwd_opt used on any domain" +rconfig integer gwd_diags_used derived 1 0 - "gwd_diags_used" "takes on the non-zero value of gwd_opt used on any domain if gwd_diags==1" +rconfig integer alloc_qndropsource derived 1 0 - "alloc_qndropsource" "allocate qndropsource if CHEM==1 or if progn=1" + +rconfig integer num_moves namelist,domains 1 0 +rconfig integer ts_buf_size namelist,domains 1 200 - "ts_buf_size" "Size of time series buffer" +rconfig integer max_ts_locs namelist,domains 1 5 - "max_ts_locs" "Maximum number of time series locations" +rconfig logical tslist_ij derived 1 .false. rh "tslist_ij" "Use i,j locations in tslist" "" +rconfig logical tslist_unstagger_winds namelist,domains 1 .false. rh "tslist_unstagger_winds" "interpolate u and v to cell centers" "" +rconfig integer vortex_interval namelist,domains max_domains 15 - "" "" "minutes" +rconfig integer max_vortex_speed namelist,domains max_domains 40 - "" "" "meters per second" +rconfig integer corral_dist namelist,domains max_domains 8 +rconfig integer track_level namelist,domains 1 50000 +rconfig real time_to_move namelist,domains max_domains 0. - "" "" "minutes" +rconfig integer move_id namelist,domains max_moves 0 +rconfig integer move_interval namelist,domains max_moves 999999999 +rconfig integer move_cd_x namelist,domains max_moves 0 +rconfig integer move_cd_y namelist,domains max_moves 0 +rconfig logical swap_x namelist,domains max_domains .false. rh "swap_x" "" "" +rconfig logical swap_y namelist,domains max_domains .false. rh "swap_y" "" "" +rconfig logical cycle_x namelist,domains max_domains .false. rh "cycle_x" "" "" +rconfig logical cycle_y namelist,domains max_domains .false. rh "cycle_y" "" "" +rconfig logical reorder_mesh namelist,domains 1 .false. rh "reorder_mesh" "" "" +rconfig logical perturb_input namelist,domains 1 .false. h "" "" "" +rconfig real eta_levels namelist,domains max_eta -1. +rconfig integer auto_levels_opt namelist,domains 1 2 - "auto_levels_opt" "automatic levels, 1=old, 2=new" +rconfig real max_dz namelist,domains 1 1000. - "max_dz" "maximum thickness limit for eta calc" "m" +rconfig real dzbot namelist,domains 1 50. - "dzbot" "surface dz thickness for eta calc" "m" +rconfig real dzstretch_s namelist,domains 1 1.3 - "dzstretch_s" "surface dz stretching factor for eta calc" "" +rconfig real dzstretch_u namelist,domains 1 1.1 - "dzstretch_u" "upper dz stretching factor for eta calc" "" +rconfig integer ocean_levels namelist,domains 1 30 irh "ocean level" "" "" +rconfig real ocean_z namelist,domains max_ocean -1 - "vertical profile of layer depths for ocean" "m" +rconfig real ocean_t namelist,domains max_ocean -1 - "vertical profile of ocean temps" "K" +rconfig real ocean_s namelist,domains max_ocean -1 - "vertical profile of salinity" +rconfig integer num_traj namelist,domains 1 1000 irh "num_traj" "#of trajectory" "" + +# variable for time series of vertical profile of U, V, Theta, GHT,a nd QVAPOR +rconfig integer max_ts_level namelist,domains 1 15 - "max_ts_level" "Highest model level for time series output" + +# track input +rconfig integer track_loc_in namelist,domains 1 0 - "Number of track locations input" "" "" + +# number of external model domains for coupling +rconfig integer num_ext_model_couple_dom namelist,domains 1 1 - "number of external models domains for coupling, used for the coupling mask" "" "" + +# TC (tropical cyclone bogusing) +rconfig logical insert_bogus_storm namelist,tc 1 .false. irh "insert_bogus_storm" "T/F for inserting a bogus typhoon" "flag" +rconfig logical remove_storm namelist,tc 1 .false. irh "remove_storm" "T/F for only removing the original typhoon" "flag" +rconfig integer num_storm namelist,tc 1 1 irh "num_storm" "Number of bogus typhoons" "" +rconfig real latc_loc namelist,tc max_bogus -999. irh "latc_loc" "center latitude of the bogus tyhoon" "DEGREES" +rconfig real lonc_loc namelist,tc max_bogus -999. irh "lonc_loc" "center longitude of the bogus tyhoon" "DEGREES" +rconfig real vmax_meters_per_second namelist,tc max_bogus -999. irh "vmax_meters_per_second" "vmax of bogus storm in meters per second" "" +rconfig real rmax namelist,tc max_bogus -999. irh "rmax" "maximum radius outward from storm center" "" +rconfig real vmax_ratio namelist,tc max_bogus -999. irh "vmax_ratio" "" "" +rconfig real rankine_lid namelist,tc 1 -999. irh "top pressure limit for the tc bogus scheme" + +# Physics +rconfig character physics_suite namelist,physics 1 "none" rh "Physics suite selection" "physics suite to use for all domains: CONUS, tropical, or none" "character string" +rconfig logical force_read_thompson namelist,physics 1 .false. +rconfig logical write_thompson_tables namelist,physics 1 .true. +rconfig integer mp_physics namelist,physics max_domains -1 irh "mp_physics" "" "" +#rconfig integer milbrandt_ccntype namelist,physics max_domains 0 rh "milbrandt select maritime(1)/continental(2)" "" "" +rconfig real nssl_cccn namelist,physics max_domains 0.5e9 rh "Base CCN concentration for NSSL microphysics" "" "" +rconfig real nssl_alphah namelist,physics max_domains 0 rh "Graupel PSD shape paramter" "" "" +rconfig real nssl_alphahl namelist,physics max_domains 1 rh "Hail PSD shape paramter" "" "" +rconfig real nssl_cnoh namelist,physics max_domains 4.e5 rh "Graupel intercept paramter" "" "" +rconfig real nssl_cnohl namelist,physics max_domains 4.e4 rh "Hail intercept paramter" "" "" +rconfig real nssl_cnor namelist,physics max_domains 8.e5 rh "Rain intercept paramter" "" "" +rconfig real nssl_cnos namelist,physics max_domains 3.e6 rh "Snow intercept paramter" "" "" +rconfig real nssl_rho_qh namelist,physics max_domains 500. rh "Graupel particle density" "" "" +rconfig real nssl_rho_qhl namelist,physics max_domains 900. rh "Hail particle density" "" "" +rconfig real nssl_rho_qs namelist,physics max_domains 100. rh "Snow particle density" "" "" +rconfig integer CCNTY namelist,physics 1 2 rh "Aerosol background type for NTU microphysics" "" "" + +# Lightning Qv Nudging +rconfig integer nudge_lightning namelist,physics max_domains 0 rh "flag for lightning Qv nudging" "" "" +rconfig integer nudge_light_times namelist,physics max_domains 0 rh "start time in sec (domain relative) for lightning Qv nudging" "" "" +rconfig integer nudge_light_timee namelist,physics max_domains 7200 rh "end time in sec (domain relative) for lightning Qv nudging" "" "" +rconfig integer nudge_light_int namelist,physics max_domains 600 rh "time interval in sec of input lightning data files" "" "" +rconfig character path_to_files namelist,physics 1 "~/WRFV3/" rh "path on local machine of input lightning data files" "" "" + + + + +rconfig integer gsfcgce_hail namelist,physics 1 0 rh "gsfcgce select hail/graupel" "" "" +rconfig integer gsfcgce_2ice namelist,physics 1 0 rh "gsfcgce select 2ice/3ice" "" "" +rconfig integer progn namelist,physics max_domains 0 rh "progn" "" "" +rconfig real accum_mode namelist,physics 1 1000.0e6 rh "accum_mode" "" "" +rconfig real aitken_mode namelist,physics 1 300.0e6 rh "aitken_mode" "" "" +rconfig real coarse_mode namelist,physics 1 0.2e6 rh "coarse_mode" "" "" +rconfig integer do_radar_ref namelist,physics 1 0 rh "compute radar reflectivity for a number of schemes" "" "" +rconfig integer compute_radar_ref derived 1 0 - "compute_radar_ref" "0/1 flag: compute radar reflectivity, either do_radar_ref=1 .or. (milbrandt or NSSL schemes)" +rconfig integer ra_lw_physics namelist,physics max_domains -1 rh "ra_lw_physics" "" "" +rconfig integer ra_sw_physics namelist,physics max_domains -1 rh "ra_sw_physics" "" "" +rconfig integer ra_sw_eclipse namelist,physics 1 0 rh "ra_sw_eclipse" "0/1 flag: 1=turn eclipse on" "" +rconfig integer ghg_input namelist,physics 1 1 rh "ghg_input" "for CAM, RRTM, RRTMG, RRTMG_fast: 0/1 flag: 0=constant (CO2 is a function of year for RRTM*); 1=time-varying GHG from CAMtr climate file" +rconfig real radt namelist,physics max_domains 0 h "RADT" "" "" +rconfig real naer namelist,physics max_domains 1e9 rh "NAER" "" "" +rconfig integer sf_sfclay_physics namelist,physics max_domains -1 rh "sf_sfclay_physics" "" "" +# IRRIGATION +rconfig integer sf_surf_irr_scheme namelist,physics max_domains 0 rh "sf_surf_irr_scheme" "ARI: 0=no irr; 1=drip; 2=sprinkler; 3=channel" "" +rconfig integer sf_surf_irr_alloc derived 1 0 rh "sf_surf_irr_alloc" "sf_surf_irr_scheme, for packaging: 0=no irr; 1=drip; 2=sprinkler; 3=channel" "" +rconfig real irr_daily_amount namelist,physics max_domains 0 rh "irr_daily_amount" "sf_surf_irr_scheme WATER AMOUNT [mm]" "" +rconfig integer irr_start_hour namelist,physics max_domains 0 rh "irr_start_hour" "sf_surf_irr_scheme, local start hour" "" +rconfig integer irr_num_hours namelist,physics max_domains 0 rh "irr_num_hours" "sf_surf_irr_scheme, Number of hours to irrigate" "" +rconfig integer irr_start_julianday namelist,physics max_domains 0 rh "irr_start_julianday" "sf_surf_irr_scheme, Julian day to start irrigation (included)" "" +rconfig integer irr_end_julianday namelist,physics max_domains 0 rh "irr_end_julianday" "sf_surf_irr_scheme, Julian day to end irrigation (not included)" "" +rconfig integer irr_freq namelist,physics max_domains 1 rh "irr_freq" "sf_surf_irr_scheme, frequency of irrigation in days" "" +rconfig integer irr_ph namelist,physics max_domains 0 rh "irr_ph" "sf_surf_irr_scheme, phase of irrigation, 0=in phase; 1=not in phase; 2=not in phase, random" "" + + +rconfig integer sf_surface_physics namelist,physics max_domains -1 rh "sf_surface_physics" "" "" +rconfig integer bl_pbl_physics namelist,physics max_domains -1 rh "bl_pbl_physics" "" "" +rconfig integer bl_mynn_tkebudget namelist,physics max_domains 0 rh "bl_mynn_tkebudget" "" "" +rconfig integer ysu_topdown_pblmix namelist,physics 1 1 rh "ysu_topdown_pblmix" "" "" +rconfig integer shinhong_tke_diag namelist,physics max_domains 0 rh "shinhong_tke_diag" "" "" +rconfig logical bl_mynn_tkeadvect namelist,physics max_domains .false. rh "bl_mynn_tkeadvect" "" "" +rconfig integer bl_mynn_cloudpdf namelist,physics 1 2 irh "bl_mynn_cloudpdf" "0:original, 1:Kuwano, 2:Chaboreau-Bechtold" "" +rconfig integer bl_mynn_mixlength namelist,physics 1 1 irh "bl_mynn_mixlength" "0:original,1:RAP/HRRR,2:new blending&cloud mix length" "" +rconfig integer bl_mynn_edmf namelist,physics max_domains 1 irh "bl_mynn_edmf" "0:off,1:activate mass-flux in mynn" "" +rconfig integer bl_mynn_edmf_mom namelist,physics max_domains 1 irh "bl_mynn_edmf_mom" "0:off,1:activate mass-flux transport of momentum" "" +rconfig integer bl_mynn_edmf_tke namelist,physics max_domains 0 irh "bl_mynn_edmf_tke" "0:off,1:activate mass-flux transport of tke" "" +rconfig integer bl_mynn_mixscalars namelist,physics max_domains 0 irh "bl_mynn_mixscalars" "0:off,1:activate mixing of scalars (qnx, qnxfa) in MYNN" "" +rconfig integer bl_mynn_output namelist,physics max_domains 0 irh "bl_mynn_output" "0:off,1:Allocate and output extra 3D arrays" "" +rconfig integer bl_mynn_cloudmix namelist,physics max_domains 1 irh "bl_mynn_cloudmix" "0:off,1:activate mixing of all cloud species" "" +rconfig integer bl_mynn_mixqt namelist,physics max_domains 0 irh "bl_mynn_mixqt" "0:mix moisture species separate,1: mix total water" "" +rconfig integer icloud_bl namelist,physics 1 1 irh "icloud_bl" "0:no subgrid cloud-radiation coupling,1:activated" "" +rconfig integer mfshconv namelist,physics max_domains 1 rh "mfshconv" "To activate mass flux scheme with qnse, 1=true or 0=false" "" +rconfig integer sf_urban_physics namelist,physics max_domains 0 rh "sf_urban_physics" "activate urban model 0=no, 1=Noah_UCM 2=BEP_UCM" "" +rconfig real BLDT namelist,physics max_domains 0 h "BLDT" "" "" +rconfig integer cu_physics namelist,physics max_domains -1 rh "cu_physics" "" "" +rconfig integer shcu_physics namelist,physics max_domains 0 rh "shcu_physics" "" "" +rconfig integer cu_diag namelist,physics max_domains 0 rh "cu_diag" "additional t-averaged stuff for cuphys" "" +rconfig integer kf_edrates namelist,physics max_domains 0 rh "kf_edrates" "output entrainment/detrainment rates and convective timescale for KF schemes" "" +rconfig integer kfeta_trigger namelist,physics 1 1 rh "KFETA Trigger function" "" "" +rconfig integer nsas_dx_factor namelist,physics 1 0 rh "NSAS DX-dependent option" "" "" +rconfig real CUDT namelist,physics max_domains 0 h "CUDT" "" "" +rconfig real GSMDT namelist,physics max_domains 0 h "GSMDT" "" "" +rconfig integer ISFFLX namelist,physics 1 1 irh "ISFFLX" "" "" +rconfig integer IFSNOW namelist,physics 1 1 irh "IFSNOW" "" "" +rconfig integer ICLOUD namelist,physics 1 1 irh "ICLOUD" "" "" +rconfig integer cldovrlp namelist,physics 1 2 irh "cldovrlp" "1=random, 2=maximum-random, 3=maximum, 4=exponential, 5=exponential-random" "" +rconfig integer idcor namelist,physics 1 0 irh "idcor" "0=constant decorrelation length, 2500 m, 1=latitude-varying decorrelation length" "" +rconfig integer ideal_xland namelist,physics 1 1 rh "IDEAL_XLAND" "land=1(def), water=2, for ideal cases with no land-use" "" +rconfig real swrad_scat namelist,physics 1 1 irh "SWRAD_SCAT" "SCATTERING FACTOR IN SWRAD" "" +rconfig integer surface_input_source namelist,physics 1 3 irh "surface_input_source" "1=static (fractional), 2=time dependent (dominant), 3=dominant cateogry from metgrid" "" +rconfig integer num_soil_layers namelist,physics 1 5 irh "num_soil_layers" "" "" +rconfig integer num_pft_clm namelist,physics 1 17 - "num_pft_clm" "" "" +rconfig logical input_pft namelist,physics 1 .false. h "input_pft_flag" "use input pft instead of USGS" "" +rconfig integer maxpatch namelist,physics 1 10 irh "maxpatch" "" "" +rconfig integer num_snow_layers namelist,physics 1 3 irh "num_snow_layers" "" "" +rconfig integer num_snso_layers namelist,physics 1 7 irh "num_snso_layers" "" "" + +rconfig integer num_urban_ndm derived 1 1 irh "num_urban_ndm" "maximum number of street dimensions (ndm in BEP or BEM header)" "" +rconfig integer num_urban_ng derived 1 1 irh "num_urban_ng" "number of grid levels in the ground (ng_u in BEP or BEM header)" "" +rconfig integer num_urban_nwr derived 1 1 irh "num_urban_nwr" "number of grid levels in the walls or roof (nwr_u in BEP or BEM header)" "" +rconfig integer num_urban_ngb derived 1 1 irh "num_urban_ngb" "number of grid levels in the ground below building (ngb_u in BEM header)" "" +rconfig integer num_urban_nf derived 1 1 irh "num_urban_nf" "number of grid levels in the floors (nf_u in BEM header)" "" +rconfig integer num_urban_nz derived 1 1 irh "num_urban_nz" "maximum number of vertical levels in the urban grid (nz_um in BEP or BEM header)" "" +rconfig integer num_urban_nbui derived 1 1 irh "num_urban_nbui" "maximum number of types of buildings in an urban class (nbui_max in BEM header)" "" +rconfig integer num_urban_ngr derived 1 1 irh "num_urban_ngr" "number of grid levels in the green roof (ngr_u in BEP or BEM header)" "" + +rconfig integer urban_map_zrd derived 1 1 rh "urban_map_zrd" "urban mapping 1: ind_zrd" "" +rconfig integer urban_map_zwd derived 1 1 rh "urban_map_zwd" "urban mapping 2: ind_zwd" "" +rconfig integer urban_map_gd derived 1 1 rh "urban_map_gd" "urban mapping 3: ind_gd" "" +rconfig integer urban_map_zd derived 1 1 rh "urban_map_zd" "urban mapping 4: ind_zd" "" +rconfig integer urban_map_zdf derived 1 1 rh "urban_map_zdf" "urban mapping 5: ind_zdf" "" +rconfig integer urban_map_bd derived 1 1 rh "urban_map_bd" "urban mapping 6: ind_bd" "" +rconfig integer urban_map_wd derived 1 1 rh "urban_map_wd" "urban mapping 7: ind_wd" "" +rconfig integer urban_map_gbd derived 1 1 rh "urban_map_gbd" "urban mapping 8: ind_gbd" "" +rconfig integer urban_map_fbd derived 1 1 rh "urban_map_fbd" "urban mapping 9: ind_fbd" "" +rconfig integer urban_map_zgrd derived 1 1 rh "urban_map_zgrd" "urban mapping 10: ind_zgrd" "" +rconfig integer num_urban_hi namelist,physics 1 15 irh "num_urban_hi" "" "" +rconfig integer num_months namelist,physics 1 12 irh "num_months" "" "" +rconfig integer sf_surface_mosaic namelist,physics 1 0 rh "sf_surface_mosaic" "1= mosaic, 0=no mosaic method, add by danli" "" +rconfig integer mosaic_cat namelist,physics 1 3 rh "mosaic_cat" "works when sf_surface_mosaic=1; it is the number of mosaic tiles" "" +rconfig integer mosaic_cat_soil derived 1 12 rh "mosaic_cat_soil" "should be the number of soil layers times the mosaic_cat" "" +rconfig integer mosaic_lu namelist,physics 1 0 irh "mosaic_lu" "" "" +rconfig integer mosaic_soil namelist,physics 1 0 irh "mosaic_soil" "" "" +rconfig integer flag_sm_adj namelist,physics 1 0 irh "flag_sm_adj" "1-adjustment, 0-no soil moisture adjustment in RUC soil moisture initialization from Noah LSM" "" +rconfig integer maxiens namelist,physics 1 1 irh "maxiens" "" "" +rconfig integer maxens namelist,physics 1 3 irh "maxens" "" "" +rconfig integer maxens2 namelist,physics 1 3 irh "maxens2" "" "" +rconfig integer maxens3 namelist,physics 1 16 irh "maxens3" "" "" +rconfig integer ensdim namelist,physics 1 144 irh "ensdim" "" "" +rconfig integer cugd_avedx namelist,physics 1 1 irh "cugd_avedx" "" "" +rconfig integer clos_choice namelist,physics 1 0 rh "clos_choice" "" "" +rconfig integer imomentum namelist,physics 1 0 rh "imomentum" "momentum transport in G3 scheme" "" +rconfig integer ishallow namelist,physics 1 0 rh "ishallow" "shallow convection in G3 scheme" "" +rconfig real convtrans_avglen_m namelist,physics 1 30 rh "convtrans_avglen_m" "averaging time for convective transport output variables (minutes)" "" +rconfig integer num_land_cat namelist,physics 1 21 - "num_land_cat" "" "" +rconfig integer use_wudapt_lcz namelist,physics 1 0 - "use_wudapt_lcz" "" "" +rconfig integer num_soil_cat namelist,physics 1 16 - "num_soil_cat" "" "" +rconfig integer mp_zero_out namelist,physics 1 0 - "mp_zero_out" "microphysics fields set to zero 0=no action taken, 1=all fields but Qv, 2=all fields including Qv" "flag" +rconfig real mp_zero_out_thresh namelist,physics 1 1.e-8 - "mp_zero_out_thresh" "minimum threshold for non-Qv moist fields, below are set to zero" "kg/kg" +rconfig real seaice_threshold namelist,physics 1 100 h "seaice_threshold" "tsk below which which water points are set to sea ice for slab scheme" "K" +rconfig logical bmj_rad_feedback namelist,physics max_domains .false. - "if true include radiative effects of bmj clouds" "" +rconfig integer sst_update namelist,physics 1 0 h "sst_update" "update sst from wrflowinp file 0=no, 1=yes" "" +rconfig integer qna_update namelist,physics 1 0 h "qna_update" "update aerosol in Thompson-MP-Aero from wrfqnainp file 0=no, 1=yes" "" + +rconfig integer sst_skin namelist,physics 1 0 h "sst_skin" "calculate sst skin temperature 0=no, 1=yes" "" +rconfig integer tmn_update namelist,physics 1 0 h "tmn_update" "update tmn from calculation 0=no, 1=yes" "" +rconfig logical usemonalb namelist,physics 1 .false. h "usemonalb" "use 2d field vs table values false=table, True=2d" "" +rconfig logical rdmaxalb namelist,physics 1 .true. h "rdmaxalb" "false set it to table values" "" +rconfig logical rdlai2d namelist,physics 1 .false. h "rdlai2d" "false set it to table values" "" +rconfig logical ua_phys namelist,physics 1 .false. h "ua_phys" "activate UA Noah changes" "" +rconfig integer opt_thcnd namelist,physics 1 1 h "opt_thcnd" "thermal conductivity option in Noah LSM" "" +rconfig integer co2tf namelist,physics 1 1 - "co2tf" "GFDL radiation co2 flag" "" +rconfig integer ra_call_offset namelist,physics 1 0 - "ra_call_offset" "radiation call offset in timesteps (-1=old, 0=new offset)" "" +rconfig real cam_abs_freq_s namelist,physics 1 21600. - "cam_abs_freq_s" "CAM radiation frequency for clear-sky longwave calculations" "s" +rconfig integer levsiz namelist,physics 1 1 - "levsiz" "Number of ozone data levels for CAM radiation (59)" "" +rconfig integer paerlev namelist,physics 1 1 - "paerlev" "Number of aerosol data levels for CAM radiation (29)" "" +rconfig integer cam_abs_dim1 namelist,physics 1 1 - "cam_abs_dim1" "dimension for absnxt in CAM radiation" "" +rconfig integer cam_abs_dim2 namelist,physics 1 1 - "cam_abs_dim2" "dimension for abstot in CAM radiation" "" +rconfig integer lagday namelist,physics 1 150 - "lagday" "" "" +rconfig integer no_src_types namelist,physics 1 1 - "no_src_types" "Number of aerosol types from EC. (6 - Tegan aerosols)" "" +rconfig integer alevsiz namelist,physics 1 1 - "alevsiz" "Number of aerosol optical depth data levels from EC (12)" "" +rconfig integer o3input namelist,physics 1 2 - "o3input" "ozone input for RRTMG for CG domain: original = 0; CAM ozone = 2" "" +rconfig integer aer_opt namelist,physics 1 0 - "aer_opt" "aerosol input option for radiation" "" +rconfig integer swint_opt namelist,physics 1 0 - "swint_opt" "interpolation option for sw radiation: 0 = off, 1 = cosine zenit angle correction, 2 = FARMS (can include fast-moving clouds)" "" +rconfig integer aer_type namelist,physics max_domains 1 irh "aer_type" "aerosol type: 1 is SF79 rural, 2 is SF79 urban" "" +rconfig integer aer_aod550_opt namelist,physics max_domains 1 irh "aer_aod550_opt" "input option for aerosol optical depth at 550 nm" "" +rconfig integer aer_angexp_opt namelist,physics max_domains 1 irh "aer_angexp_opt" "input option for aerosol Angstrom exponent" "" +rconfig integer aer_ssa_opt namelist,physics max_domains 1 irh "aer_ssa_opt" "input option for aerosol single-scattering albedo" "" +rconfig integer aer_asy_opt namelist,physics max_domains 1 irh "aer_asy_opt" "input option for aerosol asymmetry parameter" "" +rconfig real aer_aod550_val namelist,physics max_domains 0.12 irh "aer_aod550_val" "fixed value for aerosol optical depth at 550 nm. Valid when aer_aod550_opt=1" "" +rconfig real aer_angexp_val namelist,physics max_domains 1.3 irh "aer_angexp_val" "fixed value for aerosol Angstrom exponent. Valid when aer_angexp_opt=1" "" +rconfig real aer_ssa_val namelist,physics max_domains 0.85 irh "aer_ssa_val" "fixed value for aerosol single-scattering albedo. Valid when aer_ssa_opt=1" "" +rconfig real aer_asy_val namelist,physics max_domains 0.90 irh "aer_asy_val" "fixed value for aerosol asymmetry parameter. Valid when aer_asy_opt=1" "" +rconfig logical cu_rad_feedback namelist,physics max_domains .false. irh "feedback of cumulus cloud to radiation" "" +rconfig integer dust_emis namelist,physics 1 0 rh "option for dust emission outside of chem" "" "" +rconfig integer erosion_dim namelist,physics 1 3 - "erosion_dim" "" "" +rconfig integer no_src_types_cu namelist,physics 1 1 - "no_src_types_cu" "Number of aerosoal species in global aerosol data" "" +rconfig integer alevsiz_cu namelist,physics 1 1 - "alevsiz_cu" "Number of levels in global aerosol data" "" +rconfig integer aercu_opt namelist,physics 1 0 - "aercu_opt" "aerosol input option for multiscale KF" "" +rconfig real aercu_fct namelist,physics 1 1.0 - "aercu_fct" "aerosol multiplication factor" "" +rconfig integer aercu_used derived 1 0 - "aercu_used" "derived nml for packaging" "" +rconfig logical couple_farms namelist,physics 1 .false. - "couple_farms" "coupling FARMS radiation to land surface model" "" + +#BSINGH - added shallowcu_forced_ra, numBins, thBinSize, rBinSize, minDeepFreq, minShallowFreq, shcu_aerosols_opt for CuP scheme + +rconfig logical shallowcu_forced_ra namelist,physics max_domains .false. - "force radiative impact of shallow Cu (KF-Eta and KF-CuP)" +rconfig integer numBins namelist,physics max_domains 1 - "number of bins to use in the CuP PDF" +rconfig real thBinSize namelist,physics max_domains 1 - "bin size of theta bins of PDF" +rconfig real rBinSize namelist,physics max_domains 1 - "bin size of mixing ratio bins of PDF" +rconfig real minDeepFreq namelist,physics max_domains 1 - "Minimum frequency required for deep convection" +rconfig real minShallowFreq namelist,physics max_domains 1 - "Minimum frequency required for shallow convection" +rconfig integer shcu_aerosols_opt namelist,physics max_domains 0 - "aerosols in shcu: 0=none, 2=prognostic " "" + +rconfig integer ICLOUD_CU derived max_domains 0 - "ICLOUD_CU" "" "" +rconfig integer pxlsm_smois_init namelist,physics max_domains 1 irh "PXLSM_SMOIS_INIT" "Soil moisture initialization option 0-From analysis 1-From MAVAIL" "" +rconfig integer pxlsm_modis_veg namelist,physics max_domains 0 irh "PXLSM_MODIS_VEG" "If 1 use MODIS VEGFRA from wrflowinp updates, 1=yes" "" +rconfig integer omlcall namelist,physics 1 0 h "omlcall" "temporary holder to allow checking for new name: oml_opt" +rconfig integer sf_ocean_physics namelist,physics 1 0 h "sf_ocean_physics" "activate ocean model 0=no, 1=1d mixed layer, 2=3D PWP" "" +rconfig integer traj_opt namelist,physics 1 0 h "traj_opt" "activate trajectory calculation 0=no, 1=on" "" +rconfig logical dm_has_traj namelist,physics max_domains .false. rh "has_traj" "activate trajectory calculation per domain" "" +rconfig integer tracercall namelist,physics 1 0 h "tracercall" "activate tracer calculation 0=no, 1=on" "" +rconfig integer shalwater_z0 namelist,physics max_domains 0 rh "shalwater_z0" "shallow water sea surface roughness flag" "" +rconfig real shalwater_depth namelist,physics 1 -1.0 rh "shalwater_depth" "water depth for shallow water scheme" "m" +rconfig real OMDT namelist,physics 1 1 h "OMDT" "Timestep of ocean model" "s" +rconfig real oml_hml0 namelist,physics 1 50 h "oml_hml0" "oml initial mixed layer depth value" "m" +rconfig real oml_gamma namelist,physics 1 0.14 h "oml_gamma" "oml deep water lapse rate" "K m-1" +rconfig real oml_relaxation_time namelist,physics 1 0. h "oml_relaxation_time" "Relaxation time of mixed layer ocean model back to original values" "s" +rconfig integer isftcflx namelist,physics 1 0 h "isftcflx" "switch to control sfc fluxes" "" +rconfig integer iz0tlnd namelist,physics 1 0 h "iz0tlnd" "switch to control land thermal roughness length" "" +rconfig real shadlen namelist,physics 1 25000. - "shadow_length" "maximum length of orographic shadow" "m" +rconfig integer slope_rad namelist,physics max_domains 0 - "slope_rad" "1: use slope-dependent radiation, 0:not" "" +rconfig integer topo_shading namelist,physics max_domains 0 - "topo_shading" "1: apply topographic shading to radiation, 0:not" "" +rconfig integer topo_wind namelist,physics max_domains 0 - "topo_wind" "2: Use Mass sfc drag scheme, 1: improve effects topography over surface wind, 0:not" "" +rconfig integer no_mp_heating namelist,physics 1 0 - "no_mp_heating" "switch to turn of latent heating in mp schemes" "" +rconfig integer fractional_seaice namelist,physics 1 0 - "fractional_seaice" "Fractional sea-ice option: 0=OFF; 1=ON" +rconfig integer seaice_snowdepth_opt namelist,physics 1 0 - "seaice_snowdepth_opt" "Method for treating snow depth on sea ice" +rconfig real seaice_snowdepth_max namelist,physics 1 1.E10 - "seaice_snowdepth_max" "Maximum allowed accumulation (m) of snow on sea ice" +rconfig real seaice_snowdepth_min namelist,physics 1 0.001 - "seaice_snowdepth_min" "Minimum snow depth (m) on sea ice" +rconfig integer seaice_albedo_opt namelist,physics 1 0 - "seaice_albedo_opt" "Method for setting albedo over sea ice" +rconfig real seaice_albedo_default namelist,physics 1 0.65 - "seaice_albedo_default" "Default value for sea-ice over albedo with seaice_albeo_opt=0" +rconfig integer seaice_thickness_opt namelist,physics 1 0 - "seaice_thickness_opt" "Method for setting sea-ice thickness" +rconfig real seaice_thickness_default namelist,physics 1 3.0 - "seaice_thickness_default" "Default value for sea-ice thickness" +rconfig logical tice2tsk_if2cold namelist,physics 1 .false. - "tice2tsk_if2cold" "Avoid low ice temps when ice frac and Tsk are inconsistent" +rconfig real bucket_mm namelist,physics 1 -1. h "bucket_mm" "bucket reset value for water accumulations -1: inactive" "" +rconfig real bucket_J namelist,physics 1 -1. h "bucket_J" "bucket reset value for energy accumulations -1: inactive" "" +rconfig real mp_tend_lim namelist,physics 1 10. - "mp_tend_lim" "limit on temp tendency from mp latent heating" "K/s" +rconfig real prec_acc_dt namelist,physics max_domains 0. h "prec_acc_dt" "bucket reset time interval between outputs for cumulus or grid scale precipitation" "minutes" +rconfig integer prec_acc_opt derived 1 0 - "prec_acc_opt" "option to output precip in a time window" "" +rconfig integer bucketr_opt derived 1 0 - "bucketr_opt" "option to output water accum based on bucket_mm " "" +rconfig integer bucketf_opt derived 1 0 - "bucketf_opt" "option to output radiation accum based on bucket_J " "" + +rconfig integer process_time_series derived 1 0 - "process_time_series" "0=no, 1=yes" "" + +rconfig integer grav_settling namelist,physics max_domains 0 h "grav_settling" "activate gravitationalsettling of fog 0=no, 1=yes" +rconfig real sas_pgcon namelist,physics max_domains 0.55 irh "sas_pgcon" "convectively forced pressure gradient factor (SAS scheme)" "" +rconfig integer scalar_pblmix namelist,physics max_domains 0 h "mix 4d scalar variables with pbl scheme 0=no 1=yes" "" +rconfig integer tracer_pblmix namelist,physics max_domains 1 h "mix 4d tracer variables with pbl scheme 0=no 1=yes" "" +rconfig logical use_aero_icbc namelist,physics 1 .false. rh "use_aero_icbc" "Use GOCART climo 3D aerosols IC/BC data in Thompson-MP-Aero" "logical flag" +rconfig logical use_rap_aero_icbc namelist,physics 1 .false. r "use_rap_aero_icbc" "Use GOCART climo 3D aerosols IC/BC data in Thompson-MP-Aero from RAP" "logical flag" +rconfig integer aer_init_opt derived 1 0 irh "aer_init_opt" "surrogate to handle aerosol IC/BC data in Thompson-MP-Aero: 0=no IC/BC aerosol, 1=climo, 2=first guess" +rconfig logical wif_fire_emit namelist,physics 1 .false. irh "wif_fire_emit" "Activate biomass burning emissionsu in Thompson-MP-Aero" " " +rconfig integer aer_fire_emit_opt derived 1 0 irh "aer_fire_emit_opt" "surrogate to handle aerosol fire emissions in Thompson-MP-Aero: 0=no fire emissions, 1=OC only, 2=OC+BC" " " +rconfig integer wif_fire_inj namelist,physics max_domains 1 irh "wif_fire_inj" "Vertically distribute biomass burning emissions in Thompson-MP-Aero" " " +rconfig integer use_mp_re namelist,physics 1 1 h "use_mp_re" "use effective radii computed in some mp schemes in RRTMG" "flag" +rconfig logical insert_init_cloud namelist,physics 1 .false. irh "insert_init_cloud" "Insert diagnostic initial cloud using icloud=3 method (Thompson)" "logical flag" + +# The following two options are hooked into various microphysics schemes to allow for ensemble perturbations of CCN and hail/graupel PSDs - GAC (AFWA) +rconfig real ccn_conc namelist,physics 1 1.0E8 h "ccn_conc" "CCN concentration" "# m-3" +rconfig integer hail_opt namelist,physics 1 0 rh "hail_opt" "Hail/Graupel switch, 1:hail, 0:graupel" "" +rconfig integer morr_rimed_ice namelist,physics 1 1 rh "morr_rimed_ice " "Hail/Graupel switch for Morrison Scheme (options 10 and 40), 1:hail, 0:graupel" "" + +rconfig integer clean_atm_diag namelist,physics 1 0 rh "clean_atm_diag" "option to switch on clean sky diagnostics (for chem)" "flag" +rconfig integer calc_clean_atm_diag derived 1 0 - "calc_clean_atm_diag" "carries decision on using clean sky diagnostics" "flag" +rconfig integer acc_phy_tend namelist,physics max_domains 0 rh "acc_phy_tend" "option to output accumulated physics tendencies" "flag" + +# MAD-WRF +rconfig integer madwrf_opt namelist,physics 1 0 rh "madwrf_opt" "MAD-WRF model" "0: off, 1: Advect/diffuse hydromets, 2: Nudge advected/diffused hydrometes to model state" +rconfig real madwrf_dt_relax namelist,physics 1 60. rh "madwrf_dt_relax" "Relaxation time for hydrometeor nudging" "s" +rconfig real madwrf_dt_nudge namelist,physics 1 60. rh "madwrf_dt_nudge" "Temporal period for hydrometeor nudging" "Min" +rconfig integer madwrf_cldinit namelist,physics 1 0 rh "madwrf_cldinit" "Enhance cloud initialization" "0: Off, 1: On" + +# For Noah-MP +rconfig integer dveg namelist,noah_mp 1 4 h "dveg" "dynamic vegetation (1 -> off ; 2 -> on)" "" +rconfig integer opt_crs namelist,noah_mp 1 1 h "opt_crs" "canopy stomatal resistance (1-> Ball-Berry; 2->Jarvis)" "" +rconfig integer opt_btr namelist,noah_mp 1 1 h "opt_btr" "soil moisture factor for stomatal resistance (1-> Noah; 2-> CLM; 3-> SSiB)" "" +rconfig integer opt_run namelist,noah_mp 1 3 h "opt_run" "runoff and groundwater (1->SIMGM; 2->SIMTOP; 3->Schaake96; 4->BATS; 5->Miguez-Macho & Fan; 6->VIC; 7->Xiananjiang; 8->Dynamic VIC)" "" +rconfig integer opt_sfc namelist,noah_mp 1 1 h "opt_sfc" "surface layer drag coeff (CH & CM) (1->M-O; 2->Chen97)" "" +rconfig integer opt_frz namelist,noah_mp 1 1 h "opt_frz" "supercooled liquid water (1-> NY06; 2->Koren99)" "" +rconfig integer opt_inf namelist,noah_mp 1 1 h "opt_inf" "frozen soil permeability (1-> NY06; 2->Koren99)" "" +rconfig integer opt_rad namelist,noah_mp 1 3 h "opt_rad" "radiation transfer (1->gap=F(3D,cosz); 2->gap=0; 3->gap=1-Fveg)" "" +rconfig integer opt_alb namelist,noah_mp 1 2 h "opt_alb" "snow surface albedo (1->BATS; 2->CLASS)" "" +rconfig integer opt_snf namelist,noah_mp 1 1 h "opt_snf" "rainfall & snowfall (1-Jordan91; 2->BATS; 3->Noah)" "" +rconfig integer opt_tbot namelist,noah_mp 1 2 h "opt_tbot" "lower boundary of soil temperature (1->zero-flux; 2->Noah)" "" +rconfig integer opt_stc namelist,noah_mp 1 1 h "opt_stc" "soil/snow temperature time scheme 1->semi-implicit; 2->full-implicit (original Noah)" "" +rconfig integer opt_gla namelist,noah_mp 1 1 h "opt_gla" "glacier treatment option 1->includes phase change; 2->slab ice (Noah)" "" +rconfig integer opt_rsf namelist,noah_mp 1 1 h "opt_rsf" "surface evaporation resistance option" "" +rconfig integer opt_soil namelist,noah_mp 1 1 h "opt_soil" "flag for using different input soil information" "" +rconfig integer opt_pedo namelist,noah_mp 1 1 h "opt_pedo" "pedo_transfer function option" "" +rconfig integer opt_crop namelist,noah_mp 1 0 h "opt_crop" "crop model option" "" +rconfig integer opt_irr namelist,noah_mp 1 0 h "opt_irr" "Noah-MP irrigation option" "" +rconfig integer opt_irrm namelist,noah_mp 1 0 h "opt_irrm" "Noah-MP irrigation method option" "" +rconfig integer opt_infdv namelist,noah_mp 1 0 h "opt_infdv" "Noah-MP infiltration option in dynamic VIC runoff scheme (only works with opt_run=8), 1->Philip; 2->Green-Ampt; 3->Smith-Parlange" +rconfig integer opt_tdrn namelist,noah_mp 1 0 h "opt_tdrn" "NoahMP tile drainage option (currently only tested & works with opt_run=3), 0->no tile drainage; 1->Simple drainage; 2->Hooghoudt scheme" +rconfig real soiltstep namelist,noah_mp 1 0. h "soiltstep" "NoahMP soil process timestep (s) for solving soil temperature and water (default:0->same as main noahmp timestep)" +rconfig real WTDDT namelist,physics max_domains 30. h "wtddt" "minutes between calls to lateral hydro" "" +rconfig real noahmp_acc_dt namelist,noah_mp 1 0. h "noahmp_acc_dt" "bucket reset time interval between outputs for noah-mp accumulation" "minutes" +rconfig integer noahmp_output namelist,noah_mp 1 1 h "noahmp_output" "noahmp output level" "" + +# For WRF Hydro +rconfig integer wrf_hydro derived 1 0 h "wrf_hydro" "descrip" "unit" + + +#FDDA namelist parameters +rconfig real FGDT namelist,fdda max_domains 0 h "FGDT" "" "" +rconfig integer FGDTZERO namelist,fdda max_domains 0 rh "FGDTZERO" "" "" +rconfig integer grid_fdda namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer grid_sfdda namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer if_no_pbl_nudging_uv namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer if_no_pbl_nudging_t namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer if_no_pbl_nudging_ph namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer if_no_pbl_nudging_q namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer if_zfac_uv namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer k_zfac_uv namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer if_zfac_t namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer k_zfac_t namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer if_zfac_ph namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer k_zfac_ph namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer if_zfac_q namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer k_zfac_q namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig integer dk_zfac_uv namelist,fdda max_domains 1 rh "grid_fdda" "" "" +rconfig integer dk_zfac_t namelist,fdda max_domains 1 rh "grid_fdda" "" "" +rconfig integer dk_zfac_ph namelist,fdda max_domains 1 rh "grid_fdda" "" "" +rconfig integer dk_zfac_q namelist,fdda max_domains 1 rh "grid_fdda" "" "" +rconfig integer ktrop namelist,fdda 1 0 rh "grid_fdda" "" "" +rconfig real guv namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig real guv_sfc namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig real gt namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig real gt_sfc namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig real gq namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig real gq_sfc namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig real gph namelist,fdda max_domains 0 rh "grid_fdda" "" "" +rconfig real dtramp_min namelist,fdda 1 0 h "grid_fdda" "" "" +rconfig integer if_ramping namelist,fdda 1 0 h "grid_fdda" "" "" +rconfig real rinblw namelist,fdda max_domains 0 h "grid_fdda" "" "" +rconfig integer xwavenum namelist,fdda max_domains 0 rh "grid_fdda" "top wave number to nudge in x direction" "" +rconfig integer ywavenum namelist,fdda max_domains 0 rh "grid_fdda" "top wave number to nudge in y direction" "" +rconfig integer pxlsm_soil_nudge namelist,fdda max_domains 0 rh "pxlsm_soil_nudge" "nudge pxlsm soil" "" + +#FASDAS +rconfig integer fasdas derived max_domains 0 - "fasdas" "" "" + +#Observational Nudging +rconfig integer obs_nudge_opt namelist,fdda max_domains 0 rh "obs_nudge_opt" "Obs-nudging flag for domain" "" +rconfig integer max_obs namelist,fdda 1 0 h "max_obs" "Maximum number of observations" "" +rconfig real fdda_start namelist,fdda max_domains 0 rh "fdda_start" "Nudging start time for domain" "min" +rconfig real fdda_end namelist,fdda max_domains 0 rh "fdda_end" "Nudging end time for domain" "min" +rconfig integer obs_nudge_wind namelist,fdda max_domains 0 rh "obs_nudge_wind" "Wind-nudging flag for domain" "" +rconfig real obs_coef_wind namelist,fdda max_domains 0 rh "obs_coef_wind" "Wind-nudging coeficient for domain" "s-1" +rconfig integer obs_nudge_temp namelist,fdda max_domains 0 rh "obs_nudge_temp" "Temperature-nudging flag for domain" "" +rconfig real obs_coef_temp namelist,fdda max_domains 0 rh "obs_coef_temp" "Temperature-nudging coef for domain" "s-1" +rconfig integer obs_nudge_mois namelist,fdda max_domains 0 rh "obs_nudge_mois" "Moisture-nudging flag for domain" "" +rconfig real obs_coef_mois namelist,fdda max_domains 0 rh "obs_coef_mois" "Moisture-nudging coef for domain" "s-1" +rconfig integer obs_nudge_pstr namelist,fdda max_domains 0 rh "obs_nudge_pstr" "Not used" "" +rconfig real obs_coef_pstr namelist,fdda max_domains 0 rh "obs_coef_pstr" "Not used" "" +rconfig integer obs_no_pbl_nudge_uv namelist,fdda max_domains 0 rh "obs_no_pbl_nudge_uv" "1=no wind-nudging within pbl" "" +rconfig integer obs_no_pbl_nudge_t namelist,fdda max_domains 0 rh "obs_no_pbl_nudge_t" "1=no temperature-nudging within pbl" "" +rconfig integer obs_no_pbl_nudge_q namelist,fdda max_domains 0 rh "obs_no_pbl_nudge_q" "1=no moisture-nudging within pbl" "" +rconfig integer obs_sfc_scheme_horiz namelist,fdda 1 0 rh "obs_sfcscheme_horiz" "0=wrf scheme, 1=original mm5 scheme" "" +rconfig integer obs_sfc_scheme_vert namelist,fdda 1 0 rh "obs_sfcscheme_vert" "0=regime vif scheme, 1=original simple scheme" "" +rconfig real obs_max_sndng_gap namelist,fdda 1 20 rh "obs_max_sndng_gap" "Max press gap between soundings" "centibars" +rconfig real obs_nudgezfullr1_uv namelist,fdda 1 50 rh "obs_nudgezfullr1_uv" "Vert infl full weight height for LML obs, regime 1, winds" "" +rconfig real obs_nudgezrampr1_uv namelist,fdda 1 50 rh "obs_nudgezrampr1_uv" "Vert infl ramp-to-zero height for LML obs, regime 1, winds" "" +rconfig real obs_nudgezfullr2_uv namelist,fdda 1 50 rh "obs_nudgezfullr2_uv" "Vert infl full weight height for LML obs, regime 2, winds" "" +rconfig real obs_nudgezrampr2_uv namelist,fdda 1 50 rh "obs_nudgezrampr2_uv" "Vert infl ramp-to-zero height for LML obs, regime 2, winds" "" +rconfig real obs_nudgezfullr4_uv namelist,fdda 1 -5000 rh "obs_nudgezfullr4_uv" "Vert infl full weight height for LML obs, regime 4, winds" "" +rconfig real obs_nudgezrampr4_uv namelist,fdda 1 50 rh "obs_nudgezrampr4_uv" "Vert infl ramp-to-zero height for LML obs, regime 4, winds" "" +rconfig real obs_nudgezfullr1_t namelist,fdda 1 50 rh "obs_nudgezfullr1_t" "Vert infl full weight height for LML obs, regime 1, temperature" "" +rconfig real obs_nudgezrampr1_t namelist,fdda 1 50 rh "obs_nudgezrampr1_t" "Vert infl ramp-to-zero height for LML obs, regime 1, temperature" "" +rconfig real obs_nudgezfullr2_t namelist,fdda 1 50 rh "obs_nudgezfullr2_t" "Vert infl full weight height for LML obs, regime 2, temperature" "" +rconfig real obs_nudgezrampr2_t namelist,fdda 1 50 rh "obs_nudgezrampr2_t" "Vert infl ramp-to-zero height for LML obs, regime 2, temperature" "" +rconfig real obs_nudgezfullr4_t namelist,fdda 1 -5000 rh "obs_nudgezfullr4_t" "Vert infl full weight height for LML obs, regime 4, temperature" "" +rconfig real obs_nudgezrampr4_t namelist,fdda 1 50 rh "obs_nudgezrampr4_t" "Vert infl ramp-to-zero height for LML obs, regime 4, temperature" "" +rconfig real obs_nudgezfullr1_q namelist,fdda 1 50 rh "obs_nudgezfullr1_q" "Vert infl full weight height for LML obs, regime 1, moisture" "" +rconfig real obs_nudgezrampr1_q namelist,fdda 1 50 rh "obs_nudgezrampr1_q" "Vert infl ramp-to-zero height for LML obs, regime 1, moisture" "" +rconfig real obs_nudgezfullr2_q namelist,fdda 1 50 rh "obs_nudgezfullr2_q" "Vert infl full weight height for LML obs, regime 2, moisture" "" +rconfig real obs_nudgezrampr2_q namelist,fdda 1 50 rh "obs_nudgezrampr2_q" "Vert infl ramp-to-zero height for LML obs, regime 2, moisture" "" +rconfig real obs_nudgezfullr4_q namelist,fdda 1 -5000 rh "obs_nudgezfullr4_q" "Vert infl full weight height for LML obs, regime 4, moisture" "" +rconfig real obs_nudgezrampr4_q namelist,fdda 1 50 rh "obs_nudgezrampr4_q" "Vert infl ramp-to-zero height for LML obs, regime 4, moisture" "" +rconfig real obs_nudgezfullmin namelist,fdda 1 50 rh "obs_nudgezfullmin" "Minimum depth through which vertical influence fcn remains 1.0" "m" +rconfig real obs_nudgezrampmin namelist,fdda 1 50 rh "obs_nudgezrampmin" "Minimum depth through which vertical influence fcn decreases from 1.0 to 0.0" "m" +rconfig real obs_nudgezmax namelist,fdda 1 3000 rh "obs_nudgezmax" "Maximum depth in which vertical influence function is nonzero" "m" +rconfig real obs_sfcfact namelist,fdda 1 1.0 h "obs_sfcfact" "Scale factor applied to time window for surface obs" "" +rconfig real obs_sfcfacr namelist,fdda 1 1.0 h "obs_sfcfacr" "Scale factor applied to horiz radius of influence for surface obs" "" +rconfig real obs_dpsmx namelist,fdda 1 7.5 h "obs_dpsmx" "Max pressure change allowed within horiz radius of influence" "centibars" +rconfig real obs_rinxy namelist,fdda max_domains 0 rh "obs_rinxy" "Horizontal radius of influence" "km" +rconfig real obs_rinsig namelist,fdda 1 0 h "obs_rinsig" "Vertical radius of influence" "sigma" +rconfig real obs_twindo namelist,fdda max_domains 0 rh "obs_twindo" "Half-period time window for nudging" "hrs" +rconfig integer obs_npfi namelist,fdda 1 0 h "obs_npfi" "Freq in cg timesteps for diag print" "" +rconfig integer obs_ionf namelist,fdda max_domains 1 rh "obs_ionf" "Freq in cg timesteps for obs input and error calc" "" +rconfig integer obs_idynin namelist,fdda 1 0 h "obs_idynin" "Flag for dynamic initialization" "" +rconfig real obs_dtramp namelist,fdda 1 0 h "obs_dtramp" "Time period for ramping (idynin)" "min" +rconfig integer obs_prt_max namelist,fdda 1 1000 rh "obs_prt_max" "Maximum allowed obs entries in diagnostic printout" "" +rconfig integer obs_prt_freq namelist,fdda max_domains 1000 rh "obs_prt_freq" "Frequency in obs index for diagnostic printout." "" +rconfig logical obs_ipf_in4dob namelist,fdda 1 .false. h "obs_ipf_in4dob" "Print obs input diagnostics" "" +rconfig logical obs_ipf_errob namelist,fdda 1 .false. h "obs_ipf_errob" "Print obs error diagnostics" "" +rconfig logical obs_ipf_nudob namelist,fdda 1 .false. h "obs_ipf_nudob" "Print obs nudge diagnostics" "" +rconfig logical obs_ipf_init namelist,fdda 1 .true. h "obs_ipf_init" "Enable obs init warning messages" "" +rconfig integer obs_scl_neg_qv_innov namelist,fdda 1 0 h "obs_scl_neg_qv_innov" "Scale certain negative QV innovations" "" + +# Single-column model (SCM) +rconfig integer scm_force namelist,scm 1 0 rh "scm_force" "SCM forcing switch" "" +rconfig real scm_force_dx namelist,scm 1 4000. rh "scm_force_dx" "DX for SCM forcing" "m" +rconfig integer num_force_layers namelist,scm 1 8 rh "num_force_layers" "Number of SCM forcing layers" "" +rconfig integer scm_lu_index namelist,scm 1 2 rh "scm_lu_index" "SCM landuse index" "" +rconfig integer scm_isltyp namelist,scm 1 4 rh "scm_isltyp" "SCM soil category" "" +rconfig real scm_vegfra namelist,scm 1 50. rh "scm_vegfra" "SCM vegetation fraction" "" +rconfig real scm_canwat namelist,scm 1 0.0 rh "scm_canwat" "SCM canopy water" "kg m-2" +rconfig real scm_lat namelist,scm 1 36.605 rh "scm_lat" "SCM latitude" "degrees" +rconfig real scm_lon namelist,scm 1 -97.485 rh "scm_lon" "SCM longitude" "degrees" +rconfig logical scm_th_t_tend namelist,scm 1 .true. rh "scm_th_t_adv" "Turn on large scale theta tendency in SCM" "" +rconfig logical scm_qv_t_tend namelist,scm 1 .true. rh "scm_qv_t_adv" "Turn on large scale qv tendency in SCM" "" +rconfig logical scm_th_adv namelist,scm 1 .true. rh "scm_th_adv" "Turn on theta advection in SCM" "" +rconfig logical scm_wind_adv namelist,scm 1 .true. rh "scm_wind_adv" "Turn on wind advection in SCM" "" +rconfig logical scm_qv_adv namelist,scm 1 .true. rh "scm_qv_adv" "Turn on qv advection in SCM" "" +rconfig logical scm_ql_adv namelist,scm 1 .false. rh "scm_ql_adv" "Turn on ql advection in SCM" "" +rconfig logical scm_vert_adv namelist,scm 1 .true. rh "scm_vert_adv" "Turn on vertical advection in SCM" "" +rconfig integer num_force_soil_layers namelist,scm 1 5 rh "num_force_soil_layers" "Number of SCM soil forcing layers" "" +rconfig logical scm_soilT_force namelist,scm 1 .false. rh "scm_soilT_force" "Turn on soil temp forcing in SCM" "" +rconfig logical scm_soilq_force namelist,scm 1 .false. rh "scm_soilq_force" "Turn on soil moisture forcing in SCM" "" +rconfig logical scm_force_th_largescale namelist,scm 1 .false. rh "scm_force_th_largescale" "Turn on large scale theta forcing in SCM" "" +rconfig logical scm_force_qv_largescale namelist,scm 1 .false. rh "scm_force_qv_largescale" "Turn on large scale qv forcing in SCM" "" +rconfig logical scm_force_ql_largescale namelist,scm 1 .false. rh "scm_force_ql_largescale" "Turn on large scale ql forcing in SCM" "" +rconfig logical scm_force_wind_largescale namelist,scm 1 .false. rh "scm_force_wind_largescale" "Turn on large scale wind forcing in SCM" "" +rconfig integer scm_force_skintemp namelist,scm 1 0 rh "scm_force_skin" "SCM surface forcing by skin temperature 0=no 1=yes" "" +rconfig integer scm_force_flux namelist,scm 1 0 rh "scm_force_flux" "SCM surface forcing by surface fluxes 0=no 1=yes" "" + +# Dynamics +# dynamics option (see package definitions, below) +rconfig integer dyn_opt namelist,dynamics 1 2 +rconfig integer rk_ord namelist,dynamics 1 3 irh "rk_order" "" "" +rconfig integer w_damping namelist,dynamics 1 0 irh "w_damping" "" "" +rconfig real w_crit_cfl namelist,dynamics 1 1.0 irh "w_crit_cfl" "W-CFL where w-damping is on" "" +rconfig integer zadvect_implicit namelist,dynamics 1 0 irh "zadvect_implicit" "Turns on IEVA for vertical adv" "" +# diff_opt 1=old diffusion, 2=new +rconfig integer diff_opt namelist,dynamics max_domains -1 irh "diff_opt" "" "" +# diff_opt_dfi is needed for backwards integration in dfi +rconfig integer diff_opt_dfi namelist,dynamics max_domains 0 irh "diff_opt_dfi" "" "" +# km_opt 1=old coefs, 2=tke, 3=Smagorinksy +rconfig integer km_opt namelist,dynamics max_domains -1 irh "km_opt" "" "" +# km_opt_dfi is needed for backward integration in dfi +rconfig integer km_opt_dfi namelist,dynamics max_domains 1 irh "km_opt_dfi" "" "" +rconfig integer damp_opt namelist,dynamics 1 3 irh "damp_opt" "" "" +rconfig integer rad_nudge namelist,dynamics 1 0 irh "rad_nudge" "" "" +rconfig integer gwd_opt namelist,dynamics max_domains 0 irh "gwd_opt" "" "" +rconfig integer gwd_diags namelist,dynamics 1 0 irh "gwd_diags" "switch to turn on extra gwd diagnostics if available for given gwd_opt" "" +rconfig real zdamp namelist,dynamics max_domains 5000. h "zdamp" "" "" +rconfig real dampcoef namelist,dynamics max_domains 0.2 h "dampcoef" "" "" +rconfig real khdif namelist,dynamics max_domains 0 h "khdif" "" "" +rconfig real kvdif namelist,dynamics max_domains 0 h "kvdif" "" "" +rconfig real diff_6th_factor namelist,dynamics max_domains 0.12 h "diff_6th_factor" "factor that controls rate of 6th-order numerical diffusion" +rconfig integer diff_6th_opt namelist,dynamics max_domains 0 irh "diff_6th_opt" "switch for 6th-order numerical diffusion" +rconfig integer diff_6th_slopeopt namelist,dynamics max_domains 0 irh "diff_6th_slopeopt" "switch for 6th-order numerical diffusion - terrain-slope tapering" +rconfig real diff_6th_thresh namelist,dynamics max_domains 0.10 ih "diff_6th_thresh" "slope threshold (m/m) that turns off 6th order diff is steep terrain" +rconfig integer use_theta_m namelist,dynamics 1 1 rh "use_theta_m" "theta_m = theta (1 + 1.61 Qv); 0-no, 1=yes" "" +rconfig integer use_q_diabatic namelist,dynamics 1 0 rh "use_q_diabatic" "account for q diabatic terms in advection " "" +rconfig real c_s namelist,dynamics max_domains 0.25 h "c_s" "Smagorinsky coeff" "" +rconfig real c_k namelist,dynamics max_domains 0.15 h "c_k" "TKE coeff" "" +rconfig real smdiv namelist,dynamics max_domains 0.1 h "smdiv" "" "" +rconfig real emdiv namelist,dynamics max_domains 0.01 h "emdiv" "" "" +rconfig real epssm namelist,dynamics max_domains .1 h "epssm" "" "" +rconfig logical non_hydrostatic namelist,dynamics max_domains .true. irh "non_hydrostatic" "" "" +rconfig logical use_input_w namelist,dynamics 1 .false. irh "use_input_w" "" "" +rconfig integer time_step_sound namelist,dynamics max_domains 0 h "time_step_sound" "" "" +rconfig integer h_mom_adv_order namelist,dynamics max_domains 5 rh "h_mom_adv_order" "" "" +rconfig integer v_mom_adv_order namelist,dynamics max_domains 3 rh "v_mom_adv_order" "" "" +rconfig integer h_sca_adv_order namelist,dynamics max_domains 5 rh "h_sca_adv_order" "" "" +rconfig integer v_sca_adv_order namelist,dynamics max_domains 3 rh "v_sca_adv_order" "" "" +rconfig integer momentum_adv_opt namelist,dynamics max_domains 1 rh "momentum_adv_opt" "weno RK3 transport switch" "" +rconfig integer moist_adv_opt namelist,dynamics max_domains 1 rh "moist_adv_opt" "positive-definite RK3 transport switch" "" +rconfig integer moist_adv_dfi_opt namelist,dynamics max_domains 0 rh "moist_adv_dfi_opt" "positive-definite RK3 transport switch" "" +rconfig integer chem_adv_opt namelist,dynamics max_domains 1 rh "chem_adv_opt" "positive-definite RK3 transport switch" "" +rconfig integer tracer_adv_opt namelist,dynamics max_domains 1 rh "tracer_adv_opt" "positive-definite RK3 transport switch" "" +rconfig integer scalar_adv_opt namelist,dynamics max_domains 1 rh "scalar_adv_opt" "positive-definite RK3 transport switch" "" +rconfig integer tke_adv_opt namelist,dynamics max_domains 1 rh "tke_adv_opt" "positive-definite RK3 transport switch" "" +rconfig integer phi_adv_z namelist,dynamics max_domains 1 h "phi_adv_z" "Vertical advection option for geopotential; 1: original 2: avoid double staggering of omega" "" +# switches for selectively deactivating 2nd and 6th order horizontal filters for specific scalar variable classes +rconfig logical moist_mix2_off namelist,dynamics max_domains .false. rh "moist_mix2_off" "de-activate 2nd-order horizontal mixing for moisture" "" +rconfig logical chem_mix2_off namelist,dynamics max_domains .false. rh "chem_mix2_off" "de-activate 2nd-order horizontal mixing for chem species" "" +rconfig logical tracer_mix2_off namelist,dynamics max_domains .false. rh "tracer_mix2_off" "de-activate 2nd-order horizontal mixing for tracers" "" +rconfig logical scalar_mix2_off namelist,dynamics max_domains .false. rh "scalar_mix2_off" "de-activate 2nd-order horizontal mixing for scalars" "" +rconfig logical tke_mix2_off namelist,dynamics max_domains .false. rh "tke_mix2_off" "de-activate 2nd-order horizontal mixing for tke" "" +# +rconfig logical moist_mix6_off namelist,dynamics max_domains .false. rh "moist_mix6_off" "de-activate 6th-order horizontal filter for moisture" "" +rconfig logical chem_mix6_off namelist,dynamics max_domains .false. rh "chem_mix6_off" "de-activate 6th-order horizontal filter for chem species" "" +rconfig logical tracer_mix6_off namelist,dynamics max_domains .false. rh "tracer_mix6_off" "de-activate 6th-order horizontal filter for tracers" "" +rconfig logical scalar_mix6_off namelist,dynamics max_domains .false. rh "scalar_mix6_off" "de-activate 6th-order horizontal filter for scalars" "" +rconfig logical tke_mix6_off namelist,dynamics max_domains .false. rh "tke_mix6_off" "de-activate 6th-order horizontal filter for tke" "" +# +rconfig logical top_radiation namelist,dynamics max_domains .false. rh "top_radiation" "" "" +rconfig integer mix_isotropic namelist,dynamics max_domains 0 h "mix_isotropic" "0=anistropic, 1=isotropic" "" +rconfig real mix_upper_bound namelist,dynamics max_domains 0.1 h "mix_upper_bound" "non-dimensional limit" "" +rconfig logical top_lid namelist,dynamics max_domains .false. rh "top_lid" "" "" +rconfig real tke_upper_bound namelist,dynamics max_domains 1000. h "tke_upper_bound" "" "" +rconfig real tke_drag_coefficient namelist,dynamics max_domains 0. h "tke_drag_coefficient" "" "dimensionless" +rconfig real tke_heat_flux namelist,dynamics max_domains 0. h "tke_heat_flux" "" "K m s-1" +rconfig logical pert_coriolis namelist,dynamics max_domains .false. irh "pert_coriolis" "" "" +rconfig logical coriolis2d namelist,dynamics max_domains .false. irh "coriolis2d" "" "" +rconfig logical mix_full_fields namelist,dynamics max_domains .false. irh "mix_full_field" "" "" +rconfig real base_pres namelist,dynamics 1 100000. h "base_pres" "Base state pressure - do not change (10^5 Pa), real only" "Pa" +rconfig real base_temp namelist,dynamics 1 290. h "base_temp" "Base state sea level temperature, real only" "K" +rconfig real base_lapse namelist,dynamics 1 50. h "base_lapse" "Base state temperature difference between base pres and 1/e of atm depth - do not change, real only" "K" +rconfig real iso_temp namelist,dynamics 1 200.00 h "iso_temp" "Isothermal temperature in stratosphere, real only" "K" +rconfig real base_pres_strat namelist,dynamics 1 0. h "base_pres_strat" "Base state pressure (Pa) at bottom of the stratosphere, std atm = 5500 Pa" "Pa" +rconfig real base_lapse_strat namelist,dynamics 1 -11. h "base_lapse_strat", "Base state lapse rate ( dT / d(lnP) ) in stratosphere, std atm = -11 K/(ln delta p)" "K" +rconfig logical use_baseparam_fr_nml namelist,dynamics 1 .false. irh "use_baseparam_fr_nml" "" "" +rconfig real fft_filter_lat namelist,dynamics 1 91. h "fft_filter_lat" "degrees" "grid latitude to start polar filter" +rconfig logical coupled_filtering namelist,dynamics 1 .true. h "coupled_filtering" "for scalar/tracer/chem/moist, T/F filter the fields coupled with mu" +rconfig logical pos_def namelist,dynamics 1 .false. h "pos_def" "for scalar/tracer/chem/moist, T/F after filtering, reset negative values to zero" +rconfig logical swap_pole_with_next_j namelist,dynamics 1 .false. h "swap_pole_with_next_j" "for scalar/tracer/chem/moist, T/F replace the most poleward latitude of data with the next row in" +rconfig logical actual_distance_average namelist,dynamics 1 .false. h "actual_distance_average" "for scalar/tracer/chem/moist, T/F the number of points to use in the latitudinal average is based on the ratio of map factors" +rconfig logical rotated_pole namelist,dynamics 1 .false. irh "rotated_pole" "" "" +rconfig logical do_coriolis namelist,dynamics max_domains .true. irh "do_coriolis" "" "" +rconfig logical do_curvature namelist,dynamics max_domains .true. irh "do_curvature" "" "" +rconfig logical do_gradp namelist,dynamics max_domains .true. irh "do_gradp" "" "" +rconfig integer tracer_opt namelist,dynamics max_domains 0 rh "tracer_opt" "" "" +# Placeholder for decoupled advective tendency diagnostics +rconfig integer tenddiag namelist,dynamics max_domains 0 - "Decoupled tendency diagnostics" "" "" + +# Bdy_control +rconfig integer spec_bdy_width namelist,bdy_control 1 5 irh "spec_bdy_width" "" "" +rconfig integer spec_zone namelist,bdy_control 1 1 irh "spec_zone" "" "" +rconfig integer relax_zone namelist,bdy_control 1 4 irh "relax_zone" "" "" +rconfig logical specified namelist,bdy_control max_domains .false. rh "specified" "" "" +rconfig logical constant_bc namelist,bdy_control 1 .false. rh "constant_bc" "" "" +rconfig logical periodic_x namelist,bdy_control max_domains .false. rh "periodic_x" "" "" +rconfig logical symmetric_xs namelist,bdy_control max_domains .false. rh "symmetric_xs" "" "" +rconfig logical symmetric_xe namelist,bdy_control max_domains .false. rh "symmetric_xe" "" "" +rconfig logical open_xs namelist,bdy_control max_domains .false. rh "open_xs" "" "" +rconfig logical open_xe namelist,bdy_control max_domains .false. rh "open_xe" "" "" +rconfig logical periodic_y namelist,bdy_control max_domains .false. rh "periodic_y" "" "" +rconfig logical symmetric_ys namelist,bdy_control max_domains .false. rh "symmetric_ys" "" "" +rconfig logical symmetric_ye namelist,bdy_control max_domains .false. rh "symmetric_ye" "" "" +rconfig logical open_ys namelist,bdy_control max_domains .false. rh "open_ys" "" "" +rconfig logical open_ye namelist,bdy_control max_domains .false. rh "open_ye" "" "" +rconfig logical polar namelist,bdy_control max_domains .false. rh "polar" "" "" +rconfig logical nested namelist,bdy_control max_domains .false. rh "nested" "" "" +rconfig real spec_exp namelist,bdy_control 1 0. irh "spec_exp" "" "" +rconfig integer real_data_init_type namelist,bdy_control 1 1 irh "real_data_init_type" "REAL DATA INITIALIZATION OPTIONS: 1=SI, 2=MM5, 3=GENERIC" "PRE-PROCESSOR TYPES" +rconfig logical have_bcs_moist namelist,bdy_control max_domains .false. rh "have_bcs_moist" "" "" +rconfig logical have_bcs_scalar namelist,bdy_control max_domains .false. rh "have_bcs_scalar" "" "" +rconfig logical multi_bdy_files namelist,bdy_control 1 .false. rh "multi_bdy_files" "" "" + +rconfig integer background_proc_id namelist,grib2 1 255 rh "background_proc_id" "Background processing id for grib2" "" +rconfig integer forecast_proc_id namelist,grib2 1 255 rh "forecast_proc_id" "Analysis and forecast processing id for grib2" "" +rconfig integer production_status namelist,grib2 1 255 rh "production_status" "Background processing id for grib2" "" +rconfig integer compression namelist,grib2 1 40 rh "compression" "grib2 compression, 40 for JPEG2000 or 41 for PNG" "" + +# NAMELIST DERIVED +rconfig integer nobs_ndg_vars derived 1 6 - "num_ndg_vars" "Number of nudging variables" "" +rconfig integer nobs_err_flds derived 1 10 - "num_err_flds" "Number of error fields" "" +rconfig real cen_lat derived max_domains 0 - "cen_lat" "center latitude" "degrees, negative is south" +rconfig real cen_lon derived max_domains 0 - "cen_lon" "central longitude" "degrees, negative is west" +rconfig real truelat1 derived max_domains 0 - "true_lat1" "first standard parallel" "degrees, negative is south" +rconfig real truelat2 derived max_domains 0 - "true_lat2" "second standard parallel" "degrees, negative is south" +rconfig real moad_cen_lat derived max_domains 0 - "moad_cen_lat" "center latitude of the most coarse grid" "degrees, negative is south" +rconfig real stand_lon derived max_domains 0 - "stand_lon" "standard longitude, parallel to j-direction, perpendicular to i-direction " "degrees, negative is west" +rconfig real pole_lat derived max_domains 0 - "pole_lat" "projection info: latitude of pole" "degrees, positive north" +rconfig real pole_lon derived max_domains 0 - "pole_lon" "projection info: longitude of pole" "degrees, positive east" +rconfig integer FLAG_METGRID derived 1 0 - "FLAG_METGRID" "Flag in global attributes for metgrid data" +rconfig integer FLAG_SNOW derived 1 0 - "FLAG_SNOW" "Flag for snow in the global attributes for metgrid data" +rconfig integer FLAG_PSFC derived 1 0 - "FLAG_PSFC" "Flag for surface pressure in the global attributes for metgrid data" +rconfig integer FLAG_SM000010 derived 1 0 - "FLAG_SM000010" "Flag for soil moisture in the global attributes for metgrid data" +rconfig integer FLAG_SM010040 derived 1 0 - "FLAG_SM010040" "Flag for soil moisture in the global attributes for metgrid data" +rconfig integer FLAG_SM040100 derived 1 0 - "FLAG_SM040100" "Flag for soil moisture in the global attributes for metgrid data" +rconfig integer FLAG_SM100200 derived 1 0 - "FLAG_SM100200" "Flag for soil moisture in the global attributes for metgrid data" +rconfig integer FLAG_ST000010 derived 1 0 - "FLAG_ST000010" "Flag for soil temperature in the global attributes for metgrid data" +rconfig integer FLAG_ST010040 derived 1 0 - "FLAG_ST000010" "Flag for soil temperature in the global attributes for metgrid data" +rconfig integer FLAG_ST040100 derived 1 0 - "FLAG_ST010040" "Flag for soil temperature in the global attributes for metgrid data" +rconfig integer FLAG_ST100200 derived 1 0 - "FLAG_ST100200" "Flag for soil temperature in the global attributes for metgrid data" +rconfig integer FLAG_SOIL_LAYERS derived 1 0 - "FLAG_SOIL_LAYERS" "Flag for input 3d soil data for metgrid data" +rconfig integer FLAG_SLP derived 1 0 - "FLAG_SLP" "Flag for sea level pressure in the global attributes for metgrid data" +rconfig integer FLAG_SOILHGT derived 1 0 - "FLAG_SOILHGT" "Flag for soil height in the global attributes for metgrid data" +rconfig integer FLAG_MF_XY derived 1 0 - "FLAG_MF_XY" "Flag for MF_XYin the global attributes for metgrid data" +rconfig integer FLAG_UM_SOIL derived 1 0 - "FLAG_UM_SOIL" "Flag for soil fields from the Unified Model in the globl attributes for metgrid data" +rconfig real bdyfrq derived max_domains 0 - "bdyfrq" "lateral boundary input frequency" "seconds" +rconfig character mminlu derived max_domains " " - "mminlu" "land use dataset" "" +rconfig integer iswater derived max_domains 0 - "iswater" "land use index of water" "index category" +rconfig integer islake derived max_domains 0 - "islake" "land use index of inland lake" "index category" +rconfig integer isice derived max_domains 0 - "isice" "land use index of ice" "index category" +rconfig integer isurban derived max_domains 0 - "isurban" "land use index for 'urban and built-up" "index category" +rconfig integer isoilwater derived max_domains 0 - "isoilwater" "land use index of water for soil" "index category" +rconfig integer map_proj derived max_domains 0 - "map_proj" "domain map projection" "0=none (Cylindrical), 1=Lambert, 2=polar, 3=Mercator" +rconfig integer use_wps_input derived 1 0 - "use_wps_input" "0/1/2 flag, using wps input" "0=no, 1=real, 2=tc" +rconfig integer dfi_stage derived max_domains 3 - "dfi_stage" "current stage of DFI processing" "0=DFI setup, 1=DFI backward integration, 2=DFI forward integration, 3=WRF forecast" +rconfig integer mp_physics_dfi derived max_domains -1 - "mp_physics_dfi" "" "-1 = no DFI and so no need to allocate DFI moist and scalar variables, >0 = running with DFI, so allocate DFI moist and scalar variables appropriate for selected microphysics package" +rconfig integer bl_pbl_physics_dfi derived max_domains -1 - "bl_pbl_physics_dfi" "" "-1 = no DFI and so no need to allocate DFI qke_adv variable, >0 = running with DFI, so allocate DFI qke_adv variable appropriate for selected PBL package" + +# +# Single dummy declaration to define a nodyn dyn option +state integer nodyn_dummy - dyn_nodyn - - - "" "" "" + +# Turbine drag physics. +rconfig integer windfarm_opt namelist,physics max_domains 0 rh "windfarm_opt" "" "" +rconfig integer windfarm_ij namelist,physics 1 0 rh "windfarm_ij" "" "" +rconfig real windfarm_tke_factor namelist,physics 1 0.25 rh "windfarm_tke_factor" "" "" +# +# Ideal case selection +rconfig integer ideal_case namelist,ideal 1 0 rh "ideal_case" "" "" +#--------------------------------------------------------------------------------------------------------------------------------------- +# Package Declarations +# + +#key package associated package associated 4d scalars +# name namelist choice state vars + +#package passivec1 chem_opt==0 - +ifdef DA_CORE=0 +package passiveqv mp_physics==0 - moist:qv +package kesslerscheme mp_physics==1 - moist:qv,qc,qr +package linscheme mp_physics==2 - moist:qv,qc,qr,qi,qs,qg +package wsm3scheme mp_physics==3 - moist:qv,qc,qr;state:re_cloud,re_ice,re_snow +package wsm5scheme mp_physics==4 - moist:qv,qc,qr,qi,qs;state:re_cloud,re_ice,re_snow +package fer_mp_hires mp_physics==5 - moist:qv,qc,qr,qi;scalar:qt;state:f_ice_phy,f_rain_phy,f_rimef_phy +package fer_mp_hires_advect mp_physics==15 - moist:qv,qc,qr,qi;scalar:qrimef +package wsm6scheme mp_physics==6 - moist:qv,qc,qr,qi,qs,qg;state:re_cloud,re_ice,re_snow +package nuwrf4icescheme mp_physics==7 - moist:qv,qc,qr,qi,qs,qg,qh;state:phys_tot,physc,physe,physd,physs,physm,physf,acphys_tot,acphysc,acphyse,acphysd,acphyss,acphysm,acphysf,preci3d,precs3d,precg3d,precr3d,prech3d,re_cloud_gsfc,re_rain_gsfc,re_ice_gsfc,re_snow_gsfc,re_graupel_gsfc,re_hail_gsfc,re_cloud,re_ice,re_snow +package thompson mp_physics==8 - moist:qv,qc,qr,qi,qs,qg;scalar:qni,qnr;state:re_cloud,re_ice,re_snow +package milbrandt2mom mp_physics==9 - moist:qv,qc,qr,qi,qs,qg,qh;scalar:qnc,qnr,qni,qns,qng,qnh +package morr_two_moment mp_physics==10 - moist:qv,qc,qr,qi,qs,qg;scalar:qni,qns,qnr,qng;state:rqrcuten,rqscuten,rqicuten +package cammgmpscheme mp_physics==11 - moist:qv,qc,qi,qr,qs;scalar:qnc,qni,qnr,qns;state:rh_old_mp,lcd_old_mp,cldfra_old_mp,cldfra_mp,cldfra_mp_all,cldfra_conv,cldfrai,cldfral,turbtype3d,smaw3d,wsedl3d,icwmrdp3d,dp3d,shfrc3d,dlf,dlf2,tke_pbl,lradius,iradius +#package milbrandt3mom mp_physics==12 - moist:qv,qc,qr,qi,qs,qg,qh;scalar:qnc,qnr,qni,qns,qng,qnh,qzr,qzi,qzs,qzg,qzh +package sbu_ylinscheme mp_physics==13 - moist:qv,qc,qr,qi,qs;state:rimi +package wdm5scheme mp_physics==14 - moist:qv,qc,qr,qi,qs;scalar:qnn,qnc,qnr;state:re_cloud,re_ice,re_snow +package wdm6scheme mp_physics==16 - moist:qv,qc,qr,qi,qs,qg;scalar:qnn,qnc,qnr;state:re_cloud,re_ice,re_snow +package nssl_2mom mp_physics==17 - moist:qv,qc,qr,qi,qs,qg,qh;scalar:qndrop,qnr,qni,qns,qng,qnh,qvolg,qvolh;state:re_cloud,re_ice,re_snow +package nssl_2momccn mp_physics==18 - moist:qv,qc,qr,qi,qs,qg,qh;scalar:qnn,qndrop,qnr,qni,qns,qng,qnh,qvolg,qvolh;state:re_cloud,re_ice,re_snow +package nssl_1mom mp_physics==19 - moist:qv,qc,qr,qi,qs,qg,qh;scalar:qvolg +package nssl_1momlfo mp_physics==21 - moist:qv,qc,qr,qi,qs,qg +package nssl_2momg mp_physics==22 - moist:qv,qc,qr,qi,qs,qg;scalar:qndrop,qnr,qni,qns,qng,qvolg;state:re_cloud,re_ice,re_snow +package wsm7scheme mp_physics==24 - moist:qv,qc,qr,qi,qs,qg,qh;state:re_cloud,re_ice,re_snow +package wdm7scheme mp_physics==26 - moist:qv,qc,qr,qi,qs,qg,qh;scalar:qnn,qnc,qnr;state:re_cloud,re_ice,re_snow +package thompsonaero mp_physics==28 - moist:qv,qc,qr,qi,qs,qg;scalar:qni,qnr,qnc,qnwfa,qnifa,qnbca;state:re_cloud,re_ice,re_snow,qnwfa2d,qnifa2d,taod5503d,taod5502d +package p3_1category mp_physics==50 - moist:qv,qc,qr,qi;scalar:qni,qnr,qir,qib;state:re_cloud,re_ice,vmi3d,rhopo3d,di3d,refl_10cm,th_old,qv_old +package p3_1category_nc mp_physics==51 - moist:qv,qc,qr,qi;scalar:qnc,qni,qnr,qir,qib;state:re_cloud,re_ice,vmi3d,rhopo3d,di3d,refl_10cm,th_old,qv_old +package p3_2category mp_physics==52 - moist:qv,qc,qr,qi,qi2;scalar:qnc,qni,qnr,qir,qib,qni2,qir2,qib2;state:re_cloud,re_ice,vmi3d,rhopo3d,di3d,vmi3d_2,rhopo3d_2,di3d_2,refl_10cm,th_old,qv_old +package p3_1cat_3mom mp_physics==53 - moist:qv,qc,qr,qi;scalar:qnc,qni,qnr,qir,qib,qzi;state:re_cloud,re_ice,vmi3d,rhopo3d,di3d,refl_10cm,th_old,qv_old +package morr_tm_aero mp_physics==40 - moist:qv,qc,qr,qi,qs,qg;scalar:qnc,qni,qns,qnr,qng;state:rqrcuten,rqscuten,rqicuten,EFCG,EFIG,EFSG,WACT,CCN1_GS,CCN2_GS,CCN3_GS,CCN4_GS,CCN5_GS,CCN6_GS,CCN7_GS,re_cloud,re_ice,re_snow,mskf_refl_10cm +package jensen_ishmael mp_physics==55 - moist:qv,qc,qr,qi,qi2,qi3;scalar:qnr,qni,qvoli,qaoli,qni2,qvoli2,qaoli2,qni3,qvoli3,qaoli3;state:re_cloud,re_ice,vmi3d,rhopo3d,di3d,phii3d,itype,vmi3d_2,rhopo3d_2,di3d_2,phii3d_2,itype_2,vmi3d_3,rhopo3d_3,di3d_3,phii3d_3,itype_3,refl_10cm +package ntu mp_physics==56 - moist:qv,qc,qr,qi,qs,qg,qh;scalar:qnc,qnr,qni,qns,qng,qnh,qdcn,qtcn,qccn,qrcn,qnin,fi,fs,vi,vs,vg,ai,as,ag,ah,i3m +package etampnew mp_physics==95 - moist:qv,qc,qr,qs;scalar:qt;state:f_ice_phy,f_rain_phy,f_rimef_phy +package gsfcgcescheme mp_physics==97 - moist:qv,qc,qr,qi,qs,qg +package madwrf_mp mp_physics==96 - moist:qv,qc,qi,qs + +package radar_refl compute_radar_ref==1 - state:refl_10cm,refd_max +endif + +# MAD-WRF +package cldinit madwrf_cldinit==1 - state:brtemp,cldmask,cldtopz,cldbasez +package madwrf madwrf_opt==2 - tracer:tr_qc,tr_qi,tr_qs + +package nodfimoist mp_physics_dfi==-1 - - +package passiveqv_dfi mp_physics_dfi==0 - dfi_moist:dfi_qv +package kesslerscheme_dfi mp_physics_dfi==1 - dfi_moist:dfi_qv,dfi_qc,dfi_qr +package linscheme_dfi mp_physics_dfi==2 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg +package wsm3scheme_dfi mp_physics_dfi==3 - dfi_moist:dfi_qv,dfi_qc,dfi_qr;state:dfi_re_cloud,dfi_re_ice,dfi_re_snow +package wsm5scheme_dfi mp_physics_dfi==4 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs;state:dfi_re_cloud,dfi_re_ice,dfi_re_snow +package fer_mp_hires_dfi mp_physics_dfi==5 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi;dfi_scalar:dfi_qt +package wsm6scheme_dfi mp_physics_dfi==6 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg;state:dfi_re_cloud,dfi_re_ice,dfi_re_snow +package nuwrf4icescheme_dfi mp_physics_dfi==7 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg,dfi_qh;state:dfi_re_cloud_gsfc,dfi_re_rain_gsfc,dfi_re_ice_gsfc,dfi_re_snow_gsfc,dfi_re_graupel_gsfc,dfi_re_hail_gsfc,dfi_re_cloud,dfi_re_ice,dfi_re_snow +package thompson_dfi mp_physics_dfi==8 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg;dfi_scalar:dfi_qni,dfi_qnr;state:dfi_re_cloud,dfi_re_ice,dfi_re_snow +package milbrandt2mom_dfi mp_physics_dfi==9 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg,dfi_qh;dfi_scalar:dfi_qnc,dfi_qnr,dfi_qni,dfi_qns,dfi_qng,dfi_qnh +package morr_two_moment_dfi mp_physics_dfi==10 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg;dfi_scalar:dfi_qni,dfi_qns,dfi_qnr,dfi_qng +#package milbrandt3mom_dfi mp_physics_dfi==12 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg,dfi_qh;dfi_scalar:dfi_qnc,dfi_qnr,dfi_qni,dfi_qns,dfi_qng,dfi_qnh,dfi_qzr,dfi_qzi,dfi_qzs,dfi_qzg,dfi_qzh +#package sbu_ylinscheme_dfi mp_physics==13 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs;state:rimi +package wdm5scheme_dfi mp_physics_dfi==14 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs;dfi_scalar:dfi_qnn,dfi_qnc,dfi_qnr;state:dfi_re_cloud,dfi_re_ice,dfi_re_snow +package wdm6scheme_dfi mp_physics_dfi==16 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg;dfi_scalar:dfi_qnn,dfi_qnc,dfi_qnr;state:dfi_re_cloud,dfi_re_ice,dfi_re_snow +package nssl_2mom_dfi mp_physics_dfi==17 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg,dfi_qh;dfi_scalar:dfi_qndrop,dfi_qnr,dfi_qni,dfi_qns,dfi_qng,dfi_qnh,dfi_qvolg,dfi_qvolh;state:dfi_re_cloud,dfi_re_ice,dfi_re_snow +package nssl_2mom_dficcn mp_physics_dfi==18 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg,dfi_qh;dfi_scalar:dfi_qndrop,dfi_qnn,dfi_qnr,dfi_qni,dfi_qns,dfi_qng,dfi_qnh,dfi_qvolg;state:dfi_re_cloud,dfi_re_ice,dfi_re_snow +package nssl_1mom_dfi mp_physics_dfi==19 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg,dfi_qh;dfi_scalar:dfi_qvolg +package nssl_1momlfo_dfi mp_physics_dfi==21 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg +package wsm7scheme_dfi mp_physics_dfi==24 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg,dfi_qh;state:dfi_re_cloud,dfi_re_ice,dfi_re_snow +package wdm7scheme_dfi mp_physics_dfi==26 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg,dfi_qh;dfi_scalar:dfi_qnn,dfi_qnc,dfi_qnr;state:dfi_re_cloud,dfi_re_ice,dfi_re_snow +package thompsonaero_dfi mp_physics_dfi==28 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg;dfi_scalar:dfi_qni,dfi_qnr,dfi_qnc,dfi_qnwfa,dfi_qnifa,dfi_qnbca;state:dfi_re_cloud,dfi_re_ice,dfi_re_snow +package p3_1category_dfi mp_physics_dfi==50 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi;dfi_scalar:dfi_qni,dfi_qnr,dfi_qir,dfi_qib;state:dfi_re_cloud,dfi_re_ice +package p3_1category_nc_dfi mp_physics_dfi==51 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi;dfi_scalar:dfi_qnc,dfi_qni,dfi_qnr,dfi_qir,dfi_qib;state:dfi_re_cloud,dfi_re_ice +package p3_2category_dfi mp_physics_dfi==52 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qi2;dfi_scalar:dfi_qnc,dfi_qni,dfi_qnr,dfi_qir,dfi_qib,dfi_qni2,dfi_qir2,dfi_qib2;state:dfi_re_cloud,dfi_re_ice +package p3_1cat_3mom_dfi mp_physics_dfi==53 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi;dfi_scalar:dfi_qni,dfi_qnr,dfi_qir,dfi_qib,dfi_qzi;state:dfi_re_cloud,dfi_re_ice +package jensen_ishmael_dfi mp_physics_dfi==55 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qi2,dfi_qi3;dfi_scalar:dfi_qnr,dfi_qni,dfi_qvoli,dfi_qaoli,dfi_qni2,dfi_qvoli2,dfi_qaoli2,dfi_qni3,dfi_qvoli3,dfi_qaoli3;state:dfi_re_cloud,dfi_re_ice +package ntu_dfi mp_physics_dfi==56 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg,dfi_qh;dfi_scalar:dfi_qnc,dfi_qnr,dfi_qni,dfi_qns,dfi_qng,dfi_qnh,dfi_qdcn,dfi_qtcn,dfi_qccn,dfi_qrcn,dfi_qnin,dfi_fi,dfi_fs,dfi_vi,dfi_vs,dfi_vg,dfi_ai,dfi_as,dfi_ag,dfi_ah,dfi_i3m +package etampnew_dfi mp_physics_dfi==95 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qs;dfi_scalar:dfi_qt +package gsfcgcescheme_dfi mp_physics_dfi==97 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg + +package noprogn progn==0 - - +package progndrop progn==1 - scalar:qndrop;dfi_scalar:dfi_qndrop;state:qndropsource + +package noqndrop alloc_qndropsource==0 - - +package qndrop alloc_qndropsource==1 - state:qndropsource + +package rrtmscheme ra_lw_physics==1 - - +package camlwscheme ra_lw_physics==3 - ozmixm:mth01,mth02,mth03,mth04,mth05,mth06,mth07,mth08,mth09,mth10,mth11,mth12;aerosolc:sul,sslt,dust1,dust2,dust3,dust4,ocpho,bcpho,ocphi,bcphi,bg,volc;state:emstot,abstot,absnxt,acswupt,acswuptc,acswdnt,acswdntc,acswupb,acswupbc,acswdnb,acswdnbc,aclwupt,aclwuptc,aclwdnt,aclwdntc,aclwupb,aclwupbc,aclwdnb,aclwdnbc,swupt,swuptc,swdnt,swdntc,swupb,swupbc,swdnb,swdnbc,lwupt,lwuptc,lwdnt,lwdntc,lwupb,lwupbc,lwdnb,lwdnbc,taucldc,taucldi +package rrtmg_lwscheme ra_lw_physics==4 - ozmixm:mth01,mth02,mth03,mth04,mth05,mth06,mth07,mth08,mth09,mth10,mth11,mth12;state:aclwupt,aclwuptc,aclwdnt,aclwdntc,aclwupb,aclwupbc,aclwdnb,aclwdnbc,lwupt,lwuptc,lwdnt,lwdntc,lwupb,lwupbc,lwdnb,lwdnbc,o3rad +package rrtmk_lwscheme ra_lw_physics==14 - ozmixm:mth01,mth02,mth03,mth04,mth05,mth06,mth07,mth08,mth09,mth10,mth11,mth12;state:aclwupt,aclwuptc,aclwdnt,aclwdntc,aclwupb,aclwupbc,aclwdnb,aclwdnbc,lwupt,lwuptc,lwdnt,lwdntc,lwupb,lwupbc,lwdnb,lwdnbc,o3rad +package rrtmg_lwscheme_fast ra_lw_physics==24 - ozmixm:mth01,mth02,mth03,mth04,mth05,mth06,mth07,mth08,mth09,mth10,mth11,mth12;state:aclwupt,aclwuptc,aclwdnt,aclwdntc,aclwupb,aclwupbc,aclwdnb,aclwdnbc,lwupt,lwuptc,lwdnt,lwdntc,lwupb,lwupbc,lwdnb,lwdnbc,o3rad +package goddardlwscheme ra_lw_physics==5 - state:tlwdn,tlwup,slwdn,slwup,taucldc,taucldi,re_cloud_gsfc,re_rain_gsfc,re_ice_gsfc,re_snow_gsfc,re_graupel_gsfc,re_hail_gsfc,cod2d_out,ctop2d_out,re_cloud,re_ice,re_snow +package flglwscheme ra_lw_physics==7 - - +package heldsuarez ra_lw_physics==31 - - +package gfdllwscheme ra_lw_physics==99 - - + +package swradscheme ra_sw_physics==1 - - +package gsfcswscheme ra_sw_physics==2 - state:taucldc,taucldi +package camswscheme ra_sw_physics==3 - ozmixm:mth01,mth02,mth03,mth04,mth05,mth06,mth07,mth08,mth09,mth10,mth11,mth12;aerosolc:sul,sslt,dust1,dust2,dust3,dust4,ocpho,bcpho,ocphi,bcphi,bg,volc;state:emstot,abstot,absnxt,acswupt,acswuptc,acswdnt,acswdntc,acswupb,acswupbc,acswdnb,acswdnbc,aclwupt,aclwuptc,aclwdnt,aclwdntc,aclwupb,aclwupbc,aclwdnb,aclwdnbc,swupt,swuptc,swdnt,swdntc,swupb,swupbc,swdnb,swdnbc,lwupt,lwuptc,lwdnt,lwdntc,lwupb,lwupbc,lwdnb,lwdnbc,taucldc,taucldi +package rrtmg_swscheme ra_sw_physics==4 - ozmixm:mth01,mth02,mth03,mth04,mth05,mth06,mth07,mth08,mth09,mth10,mth11,mth12;state:acswupt,acswuptc,acswdnt,acswdntc,acswupb,acswupbc,acswdnb,acswdnbc,swupt,swuptc,swdnt,swdntc,swupb,swupbc,swdnb,swdnbc,o3rad;aerod:ocarbon,seasalt,dust,bcarbon,sulfate,upperaer +package rrtmk_swscheme ra_sw_physics==14 - ozmixm:mth01,mth02,mth03,mth04,mth05,mth06,mth07,mth08,mth09,mth10,mth11,mth12;state:acswupt,acswuptc,acswdnt,acswdntc,acswupb,acswupbc,acswdnb,acswdnbc,swupt,swuptc,swdnt,swdntc,swupb,swupbc,swdnb,swdnbc,o3rad;aerod:ocarbon,seasalt,dust,bcarbon,sulfate,upperaer +package rrtmg_swscheme_fast ra_sw_physics==24 - ozmixm:mth01,mth02,mth03,mth04,mth05,mth06,mth07,mth08,mth09,mth10,mth11,mth12;state:acswupt,acswuptc,acswdnt,acswdntc,acswupb,acswupbc,acswdnb,acswdnbc,swupt,swuptc,swdnt,swdntc,swupb,swupbc,swdnb,swdnbc,o3rad;aerod:ocarbon,seasalt,dust,bcarbon,sulfate,upperaer +package goddardswscheme ra_sw_physics==5 - state:tswdn,tswup,sswdn,sswup,taucldc,taucldi,re_cloud_gsfc,re_rain_gsfc,re_ice_gsfc,re_snow_gsfc,re_graupel_gsfc,re_hail_gsfc,cod2d_out,ctop2d_out,re_cloud,re_ice,re_snow +package flgswscheme ra_sw_physics==7 - - +package gfdlswscheme ra_sw_physics==99 - - +package eclipsescheme ra_sw_eclipse==1 - state:ecmask,ecobsc,elat_track,elon_track + +package nosfcscheme sf_sfclay_physics==0 - - +package sfclayrevscheme sf_sfclay_physics==1 - - +package myjsfcscheme sf_sfclay_physics==2 - state:tke_pbl,u10e,v10e +package gfssfcscheme sf_sfclay_physics==3 - - +package qnsesfcscheme sf_sfclay_physics==4 - state:u10e,v10e +package mynnsfcscheme sf_sfclay_physics==5 - - +package pxsfcscheme sf_sfclay_physics==7 - - +package temfsfcscheme sf_sfclay_physics==10 - state:wm_temf +package idealscmsfcscheme sf_sfclay_physics==89 - - +package sfclayscheme sf_sfclay_physics==91 - - + +package noahucmscheme sf_urban_physics==1 - state:trb_urb4d,tw1_urb4d,tw2_urb4d,tgb_urb4d,sfw1_urb3d,sfw2_urb3d,sfr_urb3d,sfg_urb3d,a_u_bep,a_v_bep,a_t_bep,a_q_bep,a_e_bep,b_u_bep,b_v_bep,b_t_bep,b_q_bep,b_e_bep,dlg_bep,dl_u_bep,sf_bep,vl_bep,mh_urb2d,stdh_urb2d,lf_urb2d,lp_urb2d,hgt_urb2d,lb_urb2d,tgr_urb2d,cmcr_urb2d,drelr_urb2d,drelb_urb2d,drelg_urb2d,flxhumr_urb2d,flxhumb_urb2d,flxhumg_urb2d,tgrl_urb3d,smr_urb3d,cmgr_sfcdif,chgr_sfcdif,trl_urb3d,tgl_urb3d,tbl_urb3d +package bepscheme sf_urban_physics==2 - state:a_u_bep,a_v_bep,a_t_bep,a_q_bep,a_e_bep,b_u_bep,b_v_bep,b_t_bep,b_q_bep,b_e_bep,dlg_bep,dl_u_bep,sf_bep,vl_bep,trb_urb4d,tw1_urb4d,tw2_urb4d,tgb_urb4d,sfw1_urb3d,sfw2_urb3d,sfr_urb3d,sfg_urb3d,hi_urb2d,lp_urb2d,hgt_urb2d,lb_urb2d,trl_urb3d,tgl_urb3d,tbl_urb3d,tsk_rural +package bep_bemscheme sf_urban_physics==3 - state:a_u_bep,a_v_bep,a_t_bep,a_q_bep,a_e_bep,b_u_bep,b_v_bep,b_t_bep,b_q_bep,b_e_bep,dlg_bep,dl_u_bep,sf_bep,vl_bep,trb_urb4d,tw1_urb4d,tw2_urb4d,tgb_urb4d,tlev_urb3d,qlev_urb3d,tw1lev_urb3d,tw2lev_urb3d,tglev_urb3d,tflev_urb3d,sf_ac_urb3d,lf_ac_urb3d,cm_ac_urb3d,sfvent_urb3d,lfvent_urb3d,sfwin1_urb3d,sfwin2_urb3d,sfw1_urb3d,sfw2_urb3d,sfr_urb3d,sfg_urb3d,hi_urb2d,lp_urb2d,hgt_urb2d,lb_urb2d,trl_urb3d,tgl_urb3d,tbl_urb3d,tsk_rural,ep_pv_urb3d,t_pv_urb3d,trv_urb4d,qr_urb4d,qgr_urb3d,tgr_urb3d,drain_urb4d,draingr_urb3d,sfrv_urb3d,lfrv_urb3d,dgr_urb3d,dg_urb3d,lfr_urb3d,lfg_urb3d + + +package nolsmscheme sf_surface_physics==0 - - +package slabscheme sf_surface_physics==1 - - +package lsmscheme sf_surface_physics==2 - state:flx4,fvb,fbur,fgsn,smcrel,xlaidyn +package ruclsmscheme sf_surface_physics==3 - state:smfr3d,keepfr3dflag,soilt1,rhosnf,snowfallac,precipfr,acrunoff +package clmscheme sf_surface_physics==5 - state:numc,nump,sabv,sabg,lwup,lhsoi,lhveg,lhtran,snl,snowdp,wtc,wtp,h2osno,t_grnd,t_veg,h2ocan,h2ocan_col,t2m_max,t2m_min,t2clm,t_ref2m,q_ref2m,h2osoi_liq_s1,h2osoi_liq_s2,h2osoi_liq_s3,h2osoi_liq_s4,h2osoi_liq_s5,h2osoi_liq1,h2osoi_liq2,h2osoi_liq3,h2osoi_liq4,h2osoi_liq5,h2osoi_liq6,h2osoi_liq7,h2osoi_liq8,h2osoi_liq9,h2osoi_liq10,h2osoi_ice_s1,h2osoi_ice_s2,h2osoi_ice_s3,h2osoi_ice_s4,h2osoi_ice_s5,h2osoi_ice1,h2osoi_ice2,h2osoi_ice3,h2osoi_ice4,h2osoi_ice5,h2osoi_ice6,h2osoi_ice7,h2osoi_ice8,h2osoi_ice9,h2osoi_ice10,t_soisno_s1,t_soisno_s2,t_soisno_s3,t_soisno_s4,t_soisno_s5,t_soisno1,t_soisno2,t_soisno3,t_soisno4,t_soisno5,t_soisno6,t_soisno7,t_soisno8,t_soisno9,t_soisno10,dzsnow1,dzsnow2,dzsnow3,dzsnow4,dzsnow5,snowrds1,snowrds2,snowrds3,snowrds4,snowrds5,t_lake1,t_lake2,t_lake3,t_lake4,t_lake5,t_lake6,t_lake7,t_lake8,t_lake9,t_lake10,h2osoi_vol1,h2osoi_vol2,h2osoi_vol3,h2osoi_vol4,h2osoi_vol5,h2osoi_vol6,h2osoi_vol7,h2osoi_vol8,h2osoi_vol9,h2osoi_vol10,albedosubgrid,lhsubgrid,hfxsubgrid,lwupsubgrid,q2subgrid,sabvsubgrid,sabgsubgrid,nrasubgrid,swupsubgrid,t_veg24,t_veg240,fsun,fsun24,fsun240,fsd24,fsd240,fsi24,fsi240,laip,pct_pft_input +package noahmpscheme sf_surface_physics==4 - state:isnowxy,tvxy,tgxy,canliqxy,canicexy,eahxy,tahxy,cmxy,chxy,fwetxy,sneqvoxy,alboldxy,qsnowxy,qrainxy,wslakexy,zwtxy,waxy,wtxy,tsnoxy,zsnsoxy,snicexy,snliqxy,lfmassxy,rtmassxy,stmassxy,woodxy,stblcpxy,fastcpxy,xsaixy,taussxy,t2mvxy,t2mbxy,q2mvxy,q2mbxy,tradxy,neexy,gppxy,nppxy,fvegxy,qinxy,runsfxy,runsbxy,ecanxy,edirxy,etranxy,fsaxy,firaxy,aparxy,psnxy,savxy,sagxy,rssunxy,rsshaxy,bgapxy,wgapxy,tgvxy,tgbxy,chvxy,chbxy,shgxy,shcxy,shbxy,evgxy,evbxy,ghvxy,ghbxy,irgxy,ircxy,irbxy,trxy,evcxy,chleafxy,chucxy,chv2xy,chb2xy,chstarxy,smoiseq,smcwtdxy,rechxy,deeprechxy,fdepthxy,areaxy,rivercondxy,riverbedxy,eqzwt,pexpxy,qrfxy,qrfsxy,qspringxy,qspringsxy,qslatxy,stepwtd,rechclim,gddxy,grainxy,croptype,planting,harvest,season_gdd,cropcat,pgsxy,soilcomp,soilcl1,soilcl2,soilcl3,soilcl4,irfract,sifract,mifract,fifract,irnumsi,irnummi,irnumfi,irwatsi,irwatmi,irwatfi,irsivol,irmivol,irfivol,ireloss,irrsplh,td_fraction,qtdrain,acrech,acqspring,qlatxy,qintsxy,qintrxy,qdripsxy,qdriprxy,qthrosxy,qthrorxy,qsnsubxy,qsnfroxy,qsubcxy,qfrocxy,qevacxy,qdewcxy,qfrzcxy,qmeltcxy,qsnbotxy,pondingxy,pahxy,pahgxy,pahvxy,pahbxy,fpicexy,rainlsm,snowlsm,acints,acintr,acdripr,acthror,acevac,acdewc,forctlsm,forcqlsm,forcplsm,forczlsm,forcwlsm,acrainlsm,acrunsb,acrunsf,acecan,acetran,acedir,acqlat,acqrf,acetlsm,acsnowlsm,acsubc,acfroc,acfrzc,acmeltc,acsnbot,acponding,acsnsub,acsnfro,acrainsnow,acdrips,acthros,acsagb,acirb,acshb,acevb,acghb,acpahb,acsagv,acirg,acshg,acevg,acghv,acpahg,acsav,acirc,acshc,acevc,actr,acpahv,acswdnlsm,acswuplsm,aclwdnlsm,aclwuplsm,acshflsm,aclhflsm,acghflsm,acpahlsm,accanhs,canhsxy,soilenergy,snowenergy,acc_ssoil,acc_qinsur,acc_qseva,acc_etrani,aceflxb,eflxbxy,acc_dwaterxy,acc_prcpxy,acc_ecanxy,acc_etranxy,acc_edirxy,qmeltxy,acsnmelt +package ctsmscheme sf_surface_physics==6 - - +package pxlsmscheme sf_surface_physics==7 - state:t2_ndg_new,q2_ndg_new,t2_ndg_old,q2_ndg_old,t2obs,q2obs,vegf_px,imperv,canfra,lai_px,wwlt_px,wfc_px,wsat_px,clay_px,csand_px,fmsand_px +package ssibscheme sf_surface_physics==8 - state:ssib_fm,ssib_fh,ssib_cm,ssibxdd,ssib_br,ssib_lhf,ssib_shf,ssib_ghf,ssib_egs,ssib_eci,ssib_ect,ssib_egi,ssib_egt,ssib_sdn,ssib_sup,ssib_ldn,ssib_lup,ssib_wat,ssib_shc,ssib_shg,ssib_lai,ssib_vcf,ssib_z00,ssib_veg,isnow,swe,snowden,snowdepth,tkair,dzo1,wo1,tssn1,tssno1,bwo1,bto1,cto1,fio1,flo1,bio1,blo1,ho1,dzo2,wo2,tssn2,tssno2,bwo2,bto2,cto2,fio2,flo2,bio2,blo2,ho2,dzo3,wo3,tssn3,tssno3,bwo3,bto3,cto3,fio3,flo3,bio3,blo3,ho3,dzo4,wo4,tssn4,tssno4,bwo4,bto4,cto4,fio4,flo4,bio4,blo4,ho4 + +package noahmpoptcrop2 opt_crop==2 - state:gecros_state + +package noahmosaicscheme sf_surface_mosaic==1 - state:TSK_mosaic,QSFC_mosaic,TSLB_mosaic,SMOIS_mosaic,SH2O_mosaic,CANWAT_mosaic,SNOW_mosaic,SNOWH_mosaic,SNOWC_mosaic,ALBEDO_mosaic,ALBBCK_mosaic,EMISS_mosaic,EMBCK_mosaic,ZNT_mosaic,Z0_mosaic,HFX_mosaic,QFX_mosaic,LH_mosaic,GRDFLX_mosaic,SNOTIME_mosaic,TR_URB2D_mosaic,TB_URB2D_mosaic,TG_URB2D_mosaic,TC_URB2D_mosaic,TS_URB2D_mosaic,TS_RUL2D_mosaic,QC_URB2D_mosaic,UC_URB2D_mosaic,TRL_URB3D_mosaic,TBL_URB3D_mosaic,TGL_URB3D_mosaic,SH_URB2D_mosaic,LH_URB2D_mosaic,G_URB2D_mosaic,RN_URB2D_mosaic,mosaic_cat_index,landusef2,smcrel,RS_mosaic,LAI_mosaic +# IRRIGATION +package channel sf_surf_irr_alloc==1 - state:irrigation,irr_rand_field +package drip sf_surf_irr_alloc==2 - state:irrigation,irr_rand_field +package sprinkler sf_surf_irr_alloc==3 - state:irrigation,irr_rand_field + + +package lesscheme bl_pbl_physics==0 - - +package ysuscheme bl_pbl_physics==1 - - +package myjpblscheme bl_pbl_physics==2 - state:tke_pbl,el_pbl +package gfsscheme bl_pbl_physics==3 - - +package qnsepblscheme bl_pbl_physics==4 - state:tke_pbl,el_pbl,massflux_EDKF,entr_EDKF,detr_EDKF,thl_up,thv_up,rv_up,rt_up,rc_up,u_up,v_up,frac_up,rc_mf +package mynnpblscheme2 bl_pbl_physics==5 - scalar:qke_adv;state:qke,tke_pbl,sh3d,tsq,qsq,cov,el_pbl +package mynnpblscheme3 bl_pbl_physics==6 - scalar:qke_adv;state:qke,tke_pbl,sh3d,tsq,qsq,cov,el_pbl +package acmpblscheme bl_pbl_physics==7 - - +package boulacscheme bl_pbl_physics==8 - state:el_pbl,tke_pbl,wu_tur,wv_tur,wt_tur,wq_tur +package camuwpblscheme bl_pbl_physics==9 - state:tauresx2d,tauresy2d,tpert2d,qpert2d,wpert2d,tke_pbl,smaw3d,wsedl3d,turbtype3d +package temfpblscheme bl_pbl_physics==10 - state:te_temf,kh_temf,km_temf,shf_temf,qf_temf,uw_temf,vw_temf,wupd_temf,mf_temf,thup_temf,qlup_temf,qtup_temf,cf3d_temf,hd_temf,lcl_temf,hct_temf,cfm_temf +package shinhongscheme bl_pbl_physics==11 - state:el_pbl,tke_pbl +package gbmpblscheme bl_pbl_physics==12 - state:exch_tke,el_pbl,tke_pbl +package eepsscheme bl_pbl_physics==16 - scalar:pek_adv,pep_adv;state:tke_pbl,pep_pbl +package mrfscheme bl_pbl_physics==99 - - + +package mynn_tkebudget bl_mynn_tkebudget==1 - state:qSHEAR,qBUOY,qDISS,qWT,dqke +package mynn_dmp_edmf bl_mynn_edmf==1 - state:ktop_plume,maxmf,nupdraft +package mynn_3Doutput bl_mynn_output==1 - state:edmf_a,edmf_w,edmf_thl,edmf_qt,edmf_ent,edmf_qc,sub_thl3D,sub_sqv3D,det_thl3D,det_sqv3D +package pbl_cloud icloud_bl==1 - state:cldfra_bl,qc_bl,qi_bl + +package sms_3dtke km_opt==5 - state:gamu,gamv,nlflux,dlk,l_diss,elmin,xkmv_meso + +# dfi +package mynnpblscheme2_dfi bl_pbl_physics_dfi==5 - dfi_scalar:dfi_qke_adv +package mynnpblscheme3_dfi bl_pbl_physics_dfi==6 - dfi_scalar:dfi_qke_adv + +package nocuscheme cu_physics==0 - - +package kfetascheme cu_physics==1 - state:w0avg +package bmjscheme cu_physics==2 - state:qcconv,qiconv,convcld,ccldfra +package gfscheme cu_physics==3 - state:cugd_qvten,cugd_tten,cugd_qvtens,cugd_ttens,cugd_qcten,xmb_shallow,k22_shallow,kbcon_shallow,ktop_shallow +package scalesasscheme cu_physics==4 - - +package g3scheme cu_physics==5 - state:cugd_qvten,cugd_tten,cugd_qvtens,cugd_ttens,cugd_qcten,xmb_shallow,k22_shallow,kbcon_shallow,ktop_shallow +package tiedtkescheme cu_physics==6 - - +package camzmscheme cu_physics==7 - state:precz,zmdt,zmdq,zmdice,zmdliq,evaptzm,fzsntzm,evsntzm,evapqzm,zmflxprc,zmflxsnw,zmntprpd,zmntsnpd,zmeiheat,cmfmc,cmfmcdzm,preccdzm,pconvb,pconvt,cape,zmmtu,zmmtv,zmmu,zmmd,zmupgu,zmupgd,zmvpgu,zmvpgd,zmicuu,zmicud,zmicvu,zmicvd,evapcdp3d,icwmrdp3d,rprddp3d,dp3d,du3d,ed3d,eu3d,md3d,mu3d,dsubcld2d,ideep2d,jt2d,maxg2d,lengath2d,dlf,rliq,tpert2d +package kfcupscheme cu_physics==10 - state:cldfratend_cup,cldfra_cup,updfra_cup,qc_iu_cup,qc_ic_cup,qndrop_ic_cup,wup_cup,mfup_cup,mfup_ent_cup,mfdn_cup,mfdn_ent_cup,fcvt_qc_to_pr_cup,fcvt_qc_to_qi_cup,fcvt_qi_to_pr_cup,lnterms,w0avg +package mskfscheme cu_physics==11 - state:w0avg +package ksasscheme cu_physics==14 - - +package nsasscheme cu_physics==96 - - +package ntiedtkescheme cu_physics==16 - - +package gdscheme cu_physics==93 - - +package sasscheme cu_physics==94 - - +package osasscheme cu_physics==95 - - +package kfscheme cu_physics==99 - state:w0avg + +package g3tave cu_diag==1 - state:GD_CLOUD,GD_CLOUD2,GD_CLDFR,GD_CLOUD_A,GD_CLOUD2_A,kbcon_deep,ktop_deep,k22_deep + +package kfedrates kf_edrates==1 - state:udr_kf,ddr_kf,uer_kf,der_kf,timec_kf + +package no_cu_used cu_used==0 - - +package any_cu_used cu_used==1 - state:rucuten,rvcuten,rthcuten,rqvcuten,rqrcuten,rqccuten,rqscuten,rqicuten,rqcncuten,rqincuten + +package no_cam_used cam_used==0 - - +package any_cam_used cam_used==1 - state:cldfra_old + +package noshcuscheme shcu_physics==0 - - +package g3shcuscheme shcu_physics==1 - - +package camuwshcuscheme shcu_physics==2 - state:shfrc3d,dlf,dlf2,cmfmc,cmfmc2,qtflx_cu,slflx_cu,uflx_cu,vflx_cu,qtten_cu,slten_cu,uten_cu,vten_cu,qvten_cu,qlten_cu,qiten_cu,cbmf_cu,ufrcinvbase_cu,ufrclcl_cu,winvbase_cu,wlcl_cu,plcl_cu,pinv_cu,plfc_cu,pbup_cu,ppen_cu,qtsrc_cu,thlsrc_cu,thvlsrc_cu,emkfbup_cu,cin_cu,cinlcl_cu,cbmflimit_cu,tkeavg_cu,zinv_cu,rcwp_cu,rlwp_cu,riwp_cu,tophgt_cu,wu_cu,ufrc_cu,qtu_cu,thlu_cu,thvu_cu,uu_cu,vu_cu,qtu_emf_cu,thlu_emf_cu,uu_emf_cu,vu_emf_cu,umf_cu,uemf_cu,qcu_cu,qlu_cu,qiu_cu,cufrc_cu,fer_cu,fdr_cu,dwten_cu,diten_cu,qrten_cu,qsten_cu,flxrain_cu,flxsnow_cu,ntraprd_cu,ntsnprd_cu,excessu_cu,excessu0_cu,xc_cu,aquad_cu,bquad_cu,cquad_cu,bogbot_cu,bogtop_cu,exit_uwcu_cu,exit_conden_cu,exit_klclmkx_cu,exit_klfcmkx_cu,exit_ufrc_cu,exit_wtw_cu,exit_drycore_cu,exit_wu_cu,exit_cufliter_cu,exit_kinv1_cu,exit_rei_cu,limit_shcu_cu,limit_negcon_cu,limit_ufrc_cu,limit_ppen_cu,limit_emf_cu,limit_cinlcl_cu,limit_cin_cu,limit_cbmf_cu,limit_rei_cu,ind_delcin_cu,evapcsh,cmfsl,cmflq,cldfrash,cush,icwmrsh,snowsh,rprdsh,rliq2,rliq +package grimsshcuscheme shcu_physics==3 - - +package nscvshcuscheme shcu_physics==4 - - +package dengshcuscheme shcu_physics==5 - state:RDCASHTEN,RQCDCSHTEN,CLDAREAA,CLDAREAB,CA_RAD,CW_RAD,CLDLIQA,CLDLIQB,CLDDPTHB,CLDTOPB,PBLMAX,WUB,RAINSHVB,CAPESAVE,RADSAVE,AINCKFSA,LTOPB,KDCLDTOP,KDCLDBAS,XTIME1,PBLHAVG,TKEAVG,W0AVG + +package no_shcu_used shcu_used==0 - - +package any_shcu_used shcu_used==1 - state:rushten,rvshten,rthshten,rqvshten,rqrshten,rqcshten,rqsshten,rqishten,rqgshten,rqcnshten,rqinshten + +package fogsettling0 grav_settling==0 - state:vdfg +package fogsettling1 grav_settling==1 - state:vdfg,fgdp,dfgdp +package fogsettling2 grav_settling==2 - state:vdfg,fgdp,dfgdp + +package psufddagd grid_fdda==1 - fdda3d:u_ndg_old,v_ndg_old,t_ndg_old,q_ndg_old,ph_ndg_old,u_ndg_new,v_ndg_new,t_ndg_new,q_ndg_new,ph_ndg_new;fdda2d:mu_ndg_old,mu_ndg_new;state:rundgdten,rvndgdten,rthndgdten,rphndgdten,rqvndgdten,rmundgdten,hfx_fdda +package spnudging grid_fdda==2 - fdda3d:u_ndg_old,v_ndg_old,t_ndg_old,q_ndg_old,ph_ndg_old,u_ndg_new,v_ndg_new,t_ndg_new,q_ndg_new,ph_ndg_new;fdda2d:mu_ndg_old,mu_ndg_new;state:rundgdten,rvndgdten,rthndgdten,rphndgdten,rqvndgdten,rmundgdten,dif_analysis,dif_xxx,dif_yyy + +package psusfddagd grid_sfdda==1 - state:u10_ndg_old,v10_ndg_old,t2_ndg_old,th2_ndg_old,q2_ndg_old,rh_ndg_old,psl_ndg_old,ps_ndg_old,u10_ndg_new,v10_ndg_new,t2_ndg_new,th2_ndg_new,q2_ndg_new,rh_ndg_new,psl_ndg_new,ps_ndg_new,tob_ndg_old,odis_ndg_old,tob_ndg_new,odis_ndg_new,hfx_fdda + +package obsnudging obs_nudge_opt==1 - state:obs_savwt,fdob + +package fasdas grid_sfdda==2 - state:u10_ndg_old,v10_ndg_old,t2_ndg_old,th2_ndg_old,q2_ndg_old,rh_ndg_old,psl_ndg_old,ps_ndg_old,u10_ndg_new,v10_ndg_new,t2_ndg_new,th2_ndg_new,q2_ndg_new,rh_ndg_new,psl_ndg_new,ps_ndg_new,tob_ndg_old,odis_ndg_old,tob_ndg_new,odis_ndg_new,sda_hfx,sda_qfx,qnorm,hfx_both,qfx_both,hfx_fdda + +package aeropt1 aer_opt==1 - state:aerodm +package aeropt2 aer_opt==2 - state:aod5503d + +package swintopt2 swint_opt==2 - state:swdown2,swddni2,swddif2,swddir2,swdownc2,swddnic2 + +package aercuopt aercu_used==1 - state:aeromcu,CU_UAF,EFCS,EFIS,EFSS,qr_cu,qs_cu,nc_cu,ni_cu,nr_cu,ns_cu,ccn_cu,aerovar;aerocu:cu_sulfate,cu_seasalt,cu_dust1,cu_dust2,cu_dust3,cu_dust4,cu_phoocar,cu_phiocar,cu_phobcar,cu_phibcar + +package slopeopt slope_rad==1 - - +package gwd_used_1 gwd_used==1 - state:oc12d,oa1,oa2,oa3,oa4,ol1,ol2,ol3,ol4,dtaux3d,dtauy3d,dusfcg,dvsfcg +package gwd_used_3 gwd_used==3 - state:var2dls,oc12dls,oa1ls,oa2ls,oa3ls,oa4ls,ol1ls,ol2ls,ol3ls,ol4ls,var2dss,oc12dss,oa1ss,oa2ss,oa3ss,oa4ss,ol1ss,ol2ss,ol3ss,ol4ss +package gwd_diags_used_3 gwd_diags_used==3 - state:dtaux3d_ls,dtauy3d_ls,dtaux3d_bl,dtauy3d_bl,dtaux3d_ss,dtauy3d_ss,dtaux3d_fd,dtauy3d_fd,dusfcg_ls,dvsfcg_ls,dusfcg_bl,dvsfcg_bl,dusfcg_ss,dvsfcg_ss,dusfcg_fd,dvsfcg_fd +package nogwdopt gwd_opt==0 - - +package gwdopt gwd_opt==1 - - +package gwdoptgsl gwd_opt==3 - - +package omlscheme sf_ocean_physics==1 - state:tml,t0ml,hml,h0ml,huml,hvml,tmoml +package pwp3dscheme sf_ocean_physics==2 - state:tml,t0ml,hml,h0ml,huml,hvml,tmoml,om_tmp,om_s,om_depth,om_u,om_v,om_lat,om_lon,om_ml,om_tini,om_sini + +package scmopt scm_force==1 - state:z_force,z_force_tend,u_g,u_g_tend,v_g,v_g_tend,w_subs,w_subs_tend,th_upstream_x,th_upstream_x_tend,th_upstream_y,th_upstream_y_tend,qv_upstream_x,qv_upstream_x_tend,qv_upstream_y,qv_upstream_y_tend,u_upstream_x,u_upstream_x_tend,u_upstream_y,u_upstream_y_tend,v_upstream_x,v_upstream_x_tend,v_upstream_y,v_upstream_y_tend,tau_x,tau_x_tend,tau_y,tau_y_tend,th_largescale,th_largescale_tend,qv_largescale,qv_largescale_tend,ql_largescale,ql_largescale_tend,u_largescale,u_largescale_tend,v_largescale,v_largescale_tend,tau_largescale,tau_largescale_tend,ql_upstream_x,ql_upstream_x_tend,ql_upstream_y,ql_upstream_y_tend,t_soil_forcing_val,t_soil_forcing_tend,q_soil_forcing_val,q_soil_forcing_tend,tau_soil,soil_depth_force,th_t_tend,qv_t_tend + +package prec_acc prec_acc_opt==1 - state:prec_acc_c,prec_acc_nc,snow_acc_nc +package bucketropt bucketr_opt==1 - state:i_rainc,i_rainnc +package bucketfopt bucketf_opt==1 - state:i_acswupt,i_acswuptc,i_acswdnt,i_acswdntc,i_acswupb,i_acswupbc,i_acswdnb,i_acswdnbc,i_aclwupt,i_aclwuptc,i_aclwdnt,i_aclwdntc,i_aclwupb,i_aclwupbc,i_aclwdnb,i_aclwdnbc +package original_mom momentum_adv_opt==1 +package weno_mom momentum_adv_opt==3 + +package original moist_adv_opt==0 - - +package positivedef moist_adv_opt==1 - - +package monotonic moist_adv_opt==2 - - +package weno_scalar moist_adv_opt==3 - - +package wenopd_scalar moist_adv_opt==4 - - + +package maxmin_output output_diagnostics==1 - state:t2min,t2max,tt2min,tt2max,t2mean,t2std,q2min,q2max,tq2min,tq2max,q2mean,q2std,skintempmin,skintempmax,tskintempmin,tskintempmax,skintempmean,skintempstd,u10max,v10max,spduv10max,tspduv10max,u10mean,v10mean,spduv10mean,u10std,v10std,spduv10std,raincvmax,rainncvmax,traincvmax,trainncvmax,raincvmean,rainncvmean,raincvstd,rainncvstd +package nwp_output nwp_diagnostics==1 - state:wspd10max,w_up_max,w_dn_max,up_heli_max,w_mean,grpl_max,hail_maxk1,hail_max2d + +package dfi_setup dfi_stage==0 - - +package dfi_bck dfi_stage==1 - - +package dfi_fwd dfi_stage==2 - - +package dfi_fst dfi_stage==3 - - +package dfi_startfwd dfi_stage==4 - - +package dfi_startbck dfi_stage==5 - - + +package dfi_nodfi dfi_opt==0 - - +package dfi_dfl dfi_opt==1 - state:dfi_u,dfi_v,dfi_w,dfi_ph,dfi_phb,dfi_ph0,dfi_php,dfi_t,dfi_p,dfi_ww,dfi_mu,dfi_tke,dfi_pb,dfi_al,dfi_alt,dfi_TSLB,dfi_SMOIS,dfi_SNOW,dfi_SNOWH,dfi_CANWAT,dfi_SMFR3D,dfi_KEEPFR3DFLAG,dfi_TSK,dfi_SOILT1,dfi_TSNAV,dfi_SNOWC,dfi_QVG,dfi_rh,dfi_tten_rad +package dfi_ddfi dfi_opt==2 - state:dfi_u,dfi_v,dfi_w,dfi_ph,dfi_phb,dfi_ph0,dfi_php,dfi_t,dfi_p,dfi_ww,dfi_mu,dfi_tke,dfi_pb,dfi_al,dfi_alt,dfi_TSLB,dfi_SMOIS,dfi_SNOW,dfi_SNOWH,dfi_CANWAT,dfi_SMFR3D,dfi_KEEPFR3DFLAG,dfi_TSK,dfi_SOILT1,dfi_TSNAV,dfi_SNOWC,dfi_QVG,dfi_rh,dfi_tten_rad +package dfi_tdfi dfi_opt==3 - state:dfi_u,dfi_v,dfi_w,dfi_ph,dfi_phb,dfi_ph0,dfi_php,dfi_t,dfi_p,dfi_ww,dfi_mu,dfi_tke,dfi_pb,dfi_al,dfi_alt,dfi_TSLB,dfi_SMOIS,dfi_SNOW,dfi_SNOWH,dfi_CANWAT,dfi_SMFR3D,dfi_KEEPFR3DFLAG,dfi_TSK,dfi_SOILT1,dfi_TSNAV,dfi_SNOWC,dfi_QVG,dfi_rh,dfi_tten_rad + +package reg_interp nest_interp_coord==0 - - +package flat_p_interp nest_interp_coord==1 - state:t_max_p,ght_max_p,max_p,t_min_p,ght_min_p,min_p + +# Tendency diagnostics for non-chemistry decoupled advective tendency arrays +package notenddiag tenddiag==0 - - +package usetenddiag tenddiag==1 - advh_t:advh_qv;advz_t:advz_qv + +package no_trajectory traj_opt==0 - - +package um_trajectory traj_opt==1 - state:traj_i,traj_j,traj_k,traj_lat,traj_long + +package albsi_zero seaice_albedo_opt==0 - - +package albsi_one seaice_albedo_opt==1 - - +package albsi_two seaice_albedo_opt==2 - state:albsi + +package snowsi_zero seaice_snowdepth_opt==0 - - +package snowsi_one seaice_snowdepth_opt==1 - state:snowsi + +package icedepth_zero seaice_thickness_opt==0 - - +package icedepth_one seaice_thickness_opt==1 - state:icedepth + +#Time series options for text output +package notseries process_time_series==0 - - +package tseries process_time_series==1 - state:ts_hour,ts_u,ts_v,ts_q,ts_t,ts_psfc,ts_glw,ts_gsw,ts_hfx,ts_lh,ts_tsk,ts_tslb,ts_clw,ts_rainc,ts_rainnc,ts_u_profile,ts_v_profile,ts_gph_profile,ts_th_profile,ts_p_profile,ts_w_profile +package tseries_add_solar process_time_series==2 - state:ts_hour,ts_u,ts_v,ts_q,ts_t,ts_psfc,ts_glw,ts_gsw,ts_hfx,ts_lh,ts_tsk,ts_tslb,ts_clw,ts_rainc,ts_rainnc,ts_u_profile,ts_v_profile,ts_gph_profile,ts_th_profile,ts_cldfrac2d,ts_wvp,ts_lwp,ts_iwp,ts_swp,ts_lwp_tot,ts_iwp_tot,ts_swp_tot,ts_re_qc,ts_re_qi,ts_re_qs,ts_re_qc_tot,ts_re_qi_tot,ts_re_qs_tot,ts_tau_qc,ts_tau_qi,ts_tau_qs,ts_tau_qc_tot,ts_tau_qi_tot,ts_tau_qs_tot,ts_cbaseht,ts_ctopht,ts_cbaseht_tot,ts_ctopht_tot,ts_clrnidx,ts_p_profile,ts_w_profile,ts_swdown,ts_swddni,ts_swddif,ts_swdownc,ts_swddnic,ts_swdown2,ts_swddni2,ts_swddif2,ts_swdownc2,ts_swddnic2,ts_ghi_accum + +# WRF-HAILCAST +state real HAILCAST_DHAIL1 ij misc 1 - r "HAILCAST_DHAIL1" "WRF-HAILCAST Hail Diameter, 1st rank order" "mm" +state real HAILCAST_DHAIL2 ij misc 1 - r "HAILCAST_DHAIL2" "WRF-HAILCAST Hail Diameter, 2nd rank order" "mm" +state real HAILCAST_DHAIL3 ij misc 1 - r "HAILCAST_DHAIL3" "WRF-HAILCAST Hail Diameter, 3rd rank order" "mm" +state real HAILCAST_DHAIL4 ij misc 1 - r "HAILCAST_DHAIL4" "WRF-HAILCAST Hail Diameter, 4th rank order" "mm" +state real HAILCAST_DHAIL5 ij misc 1 - r "HAILCAST_DHAIL5" "WRF-HAILCAST Hail Diameter, 5th rank order" "mm" +state real HAILCAST_DIAM_MAX ij misc 1 - h02 "HAILCAST_DIAM_MAX" "WRF-HAILCAST MAX Hail Diameter" "mm" +state real HAILCAST_DIAM_MEAN ij misc 1 - - "HAILCAST_DIAM_MEAN" "WRF-HAILCAST Mean Hail Diameter" "mm" +state real HAILCAST_DIAM_STD ij misc 1 - - "HAILCAST_DIAM_STD" "WRF-HAILCAST Stand. Dev. Hail Diameter" "mm" +state real HAILCAST_WUP_MASK ij misc 1 - r "HAILCAST_WUP_MASK" "Updraft mask, 1 if > 10m/s" "" +state real HAILCAST_WDUR ij misc 1 - r "HAILCAST_WDUR" "Updraft duration" "sec" +state real haildtacttime - - - - r "haildtacttime" "HAILDTACTTIME" "HAILCAST ACTIVATION TIME in s" + + +package hailcast hailcast_opt==1 - state:hailcast_diam_max,hailcast_diam_mean,hailcast_diam_std,hailcast_dhail1,hailcast_dhail2,hailcast_dhail3,hailcast_dhail4,hailcast_dhail5 +rconfig integer hailcast_opt namelist,physics max_domains 0 rh "hailcast_opt" "WRF-HAILCAST option, 1: on" "" +rconfig real HAILDT namelist,physics max_domains 0 h "HAILDT" "seconds between WRF-HAILCAST calls" "sec" +halo HALO_EM_PHYS_HCW dyn_em 8:hailcast_wup_mask, hailcast_wdur + +# lightning + +state real ic_flashcount ij misc 1 - rh "ic_flashcount" "Accumulated IC flash count" "#" +state real ic_flashrate ij misc 1 - r "ic_flashrate" "IC flash rate" "#/s" +state real cg_flashcount ij misc 1 - rh "cg_flashcount" "Accumulated CG flash count" "#" +state real cg_flashrate ij misc 1 - r "cg_flashrate" "CG flash rate" "#/s" + + +rconfig integer lightning_option namelist,physics max_domains 0 h "lightning_option" "Lightning flash parameterization" "" +rconfig real lightning_dt namelist,physics max_domains 0. - "lightning_dt" "" "s" +rconfig real lightning_start_seconds namelist,physics max_domains 0. - "lightning_start_seconds" "" "s" +rconfig real flashrate_factor namelist,physics max_domains 1.0 h "flashrate_factor" "Tuning factor" "" + +rconfig integer iccg_method namelist,physics max_domains 0 - "iccg_method" "IC:CG partitioning method" "" +rconfig real iccg_prescribed_num namelist,physics max_domains 0.0 - "iccg_prescribed_num" "Numerator of user-specified prescribed IC:CG" "" +rconfig real iccg_prescribed_den namelist,physics max_domains 1.0 - "iccg_prescribed_dem" "Denominator of user-specified prescribed IC:CG" "" +rconfig integer cellcount_method namelist,physics max_domains 0 - "cellcount_method" "0=auto, 1=tile, 2=domain" "" +rconfig real cldtop_adjustment namelist,physics max_domains 0. - "cldtop_adjustment" "Adjustment to cloud top for ltng param" "km" +rconfig integer sf_lake_physics namelist,physics max_domains 0 - "sf_lake_physics" "activate lake model 0=no, 1=yes" "" + +state real iccg_in_num ij misc 1 - i{16}r "iccg_in_num" "IC:CG input numerator" "" +state real iccg_in_den ij misc 1 - i{16}r "iccg_in_den" "IC:CG input denominator" "" + +package ltng_none lightning_option==0 - - +package ltng_crm_PR92w lightning_option==1 - state:ic_flashcount,ic_flashrate,cg_flashcount,cg_flashrate +package ltng_crm_PR92z lightning_option==2 - state:ic_flashcount,ic_flashrate,cg_flashcount,cg_flashrate +package ltng_cpm_PR92z lightning_option==11 - state:ic_flashcount,ic_flashrate,cg_flashcount,cg_flashrate +package ltng_lpi lightning_option==3 - state:lpi +# only need to specify these once; not for every io_form* variable +package io_intio io_form_restart==1 - - +package io_netcdf io_form_restart==2 - - +# Placeholders for additional packages (we can go beyond zzz +# but that will entail modifying frame/module_io.F and frame/md_calls.m4) +# Please note these are placeholders; HDF has not been implemented yet. +package io_hdf io_form_restart==3 - - +package io_phdf5 io_form_restart==4 - - +package io_grib1 io_form_restart==5 - - +package io_esmf io_form_restart==7 - - +package io_yyy io_form_restart==8 - - +package io_zzz io_form_restart==9 - - +package io_grib2 io_form_restart==10 - - +package io_pnetcdf io_form_restart==11 - - +package io_pio io_form_restart==12 - - +package io_netcdfpar io_form_restart==13 - - + +#WRF Hydro +package no_wrfhydro wrf_hydro==0 - - +package wrfhydro wrf_hydro==1 - state:SOLDRAIN,SFCHEADRT,INFXSRT,qtiledrain,ZWATBLE2D + +#WRF Windfarm +package no_windfarm windfarm_opt==0 - - +package fitchscheme windfarm_opt==1 - state:power + +#Ideal Cases +package realcase ideal_case==0 - - +package hill2d_x ideal_case==1 - - +package quarter_ss ideal_case==2 - - +package convrad ideal_case==3 - - +package squall2d_x ideal_case==4 - - +package squall2d_y ideal_case==5 - - +package grav2d_x ideal_case==6 - - +package b_wave ideal_case==7 - - +package seabreeze2d_x ideal_case==8 - - +package les ideal_case==9 - - +# WRF-Chem specific diagnostics +package clnatmdiag calc_clean_atm_diag==1 - state:SWUPTCLN,SWDNTCLN,SWUPBCLN,SWDNBCLN,LWUPTCLN,LWDNTCLN,LWUPBCLN,LWDNBCLN +# +package acc_phys_tend acc_phy_tend==1 - state:ATHMPTEN,AQVMPTEN,ATHCUTEN,AQVCUTEN,AUCUTEN,AVCUTEN,ATHSHTEN,AQVSHTEN,AUSHTEN,AVSHTEN,ATHBLTEN,AQVBLTEN,AUBLTEN,AVBLTEN,ATHRATENLW,ATHRATENSW + +#--------------------------------------------------------------------------------------------------------------------------------------- +## communications + +### 8. Edit the Registry file and create a halo-exchange for x_1. + +# Halo Update Communications +halo HALO_EM_INIT_1 dyn_em 48:u_1,u_2,v_1,v_2,w_1,w_2,ph_1,ph_2 +halo HALO_EM_INIT_2 dyn_em 48:t_1,t_2,mu_1,mu_2,tke_1,tke_2,ww,phb +halo HALO_EM_INIT_3 dyn_em 48:ph0,php,t_init,mub,mu0,p,al,alt,alb +halo HALO_EM_INIT_4 dyn_em 48:pb,h_diabatic,qv_diabatic,qc_diabatic,msftx,msfty,msfux,msfuy,msfvx,msfvy,msfvx_inv,f,e,sina,cosa,ht,potevp,snopcx,soiltb,xlat,xlong,xlat_u,xlat_v,xlong_u,xlong_v,clat,msft,msfu,msfv +halo HALO_EM_INIT_5 dyn_em 48:moist,chem,scalar,tracer +halo HALO_EM_INIT_6 dyn_em 48:om_tmp,om_s,om_u,om_v,om_depth,om_tini,om_sini,om_lat,om_lon,om_ml +halo HALO_EM_VINTERP_UV_1 dyn_em 48:pd_gc,pb,pmaxw,ptrop,pmaxwnn,ptropnn +halo HALO_EM_A dyn_em 8:ru,rv,rw,ww,php,alt,al,p,muu,muv,mut,rho +halo HALO_EM_PHYS_A dyn_em 4:u_2,v_2 +halo HALO_EM_PHYS_PBL dyn_em 4:rublten,rvblten +halo HALO_EM_PHYS_CU dyn_em 4:rucuten,rvcuten +halo HALO_EM_PHYS_SHCU dyn_em 4:rushten,rvshten +halo HALO_EM_FDDA dyn_em 4:rundgdten,rvndgdten +halo HALO_EM_FDDA_SFC dyn_em 48:z,z_at_w,pblh,regime,znt,odis_ndg_old,odis_ndg_new +halo HALO_EM_PHYS_DIFFUSION dyn_em 4:defor11,defor22,defor12,defor13,defor23,div,xkmv,xkmh,xkhv,xkhh,tke_1,tke_2 +halo HALO_EM_SBM dyn_em 8:p_phy,pi_phy,dz8w,th_phy,rho,qv_old,th_old,u_phy,v_phy,moist +halo HALO_EM_TKE_ADVECT_3 dyn_em 24:tke_2 +halo HALO_EM_TKE_ADVECT_5 dyn_em 48:tke_2 +halo HALO_EM_TKE_A dyn_em 4:ph_2,phb +halo HALO_EM_TKE_B dyn_em 4:z,rdz,rdzw,zx,zy +halo HALO_EM_TKE_C dyn_em 8:u_2,v_2,z,zx,zy,rdz,rdzw,ustm,ust +halo HALO_EM_TKE_D dyn_em 8:defor11,defor22,defor33,defor12,defor13,defor23,div +halo HALO_EM_TKE_E dyn_em 8:xkmv,xkmh,xkhv,xkhh,BN2,moist,rho,gamu,gamv,xkmv_meso +halo HALO_EM_TKE_3 dyn_em 24:tke_1,tke_2 +halo HALO_EM_TKE_5 dyn_em 48:tke_1,tke_2 +halo HALO_EM_TKE_7 dyn_em 80:tke_1,tke_2 +halo HALO_EM_TKE_OLD_E_5 dyn_em 48:tke_1 +halo HALO_EM_TKE_OLD_E_7 dyn_em 80:tke_1 +halo HALO_EM_HELICITY dyn_em 48:u_2,v_2,w_2,ph_2,zx,zy,rdz,rdzw +halo HALO_EM_B dyn_em 4:ph_2,al,p,t_1,t_save,u_save,v_save,mu_1,mu_2,mudf,php,alt,pb +halo HALO_EM_B2 dyn_em 4:ru_tend,rv_tend +halo HALO_EM_C dyn_em 4:u_2,v_2 +halo HALO_EM_C2 dyn_em 4:ph_2,al,p,mu_2,muts,mudf +halo HALO_EM_D dyn_em 24:ru_m,rv_m,ww_m,mut,muts +halo HALO_EM_D_PV dyn_em 24:u_2,v_2,t_2 +halo HALO_EM_D2_3 dyn_em 24:u_2,v_2,w_2,t_2,ph_2;24:moist,chem,tracer,scalar,tke_2;4:mu_2,al +halo HALO_EM_D2_5 dyn_em 48:u_2,v_2,w_2,t_2,ph_2;24:moist,chem,tracer,scalar,tke_2;4:mu_2,al +halo HALO_EM_D3_3 dyn_em 24:u_1,u_2,v_1,v_2,w_1,w_2,t_1,t_2,ph_1,ph_2,tke_1,tke_2,moist,chem,tracer,scalar;4:mu_1,mu_2 +halo HALO_EM_D3_5 dyn_em 48:u_1,u_2,v_1,v_2,w_1,w_2,t_1,t_2,ph_1,ph_2,tke_1,tke_2,moist,chem,tracer,scalar;4:mu_1,mu_2 +halo HALO_EM_E_3 dyn_em 24:u_1,u_2,v_1,v_2,w_1,w_2,t_1,t_2,ph_1,ph_2,tke_1,tke_2,;4:mu_1,mu_2 +halo HALO_EM_E_5 dyn_em 48:u_1,u_2,v_1,v_2,w_1,w_2,t_1,t_2,ph_1,ph_2,tke_1,tke_2,;4:mu_1,mu_2 +halo HALO_FIREBRAND_SPOTTING_5 dyn_em 48:muts,al +halo HALO_EM_MOIST_E_3 dyn_em 24:moist +halo HALO_EM_MOIST_E_5 dyn_em 48:moist +halo HALO_EM_MOIST_E_7 dyn_em 80:moist +halo HALO_CUP_G3_IN dyn_em 24:RTHFTEN,RQVFTEN,w_2,t_phy +halo HALO_CUP_G3_OUT dyn_em 48:cugd_tten,cugd_qvten,cugd_ttens,cugd_qvtens,raincv +halo HALO_EM_CHEM_E_3 dyn_em 24:chem +halo HALO_EM_CHEM_E_5 dyn_em 48:chem +halo HALO_EM_CHEM_E_7 dyn_em 80:chem +halo HALO_EM_TRACER_E_3 dyn_em 24:tracer +halo HALO_EM_TRACER_E_5 dyn_em 48:tracer +halo HALO_EM_TRACER_E_7 dyn_em 80:tracer +halo HALO_EM_SCALAR_E_3 dyn_em 24:scalar +halo HALO_EM_SCALAR_E_5 dyn_em 48:scalar +halo HALO_EM_SCALAR_E_7 dyn_em 80:scalar +halo HALO_TOPOSHAD phys 24:ht_shad +halo HALO_EM_HORIZ_INTERP dyn_em 24:t_2,ph_2,ht,t_max_p,ght_max_p,max_p,t_min_p,ght_min_p,min_p +halo HALO_EM_THETAM dyn_em 48:h_diabatic + +halo HALO_EM_MOIST_OLD_E_3 dyn_em 24:moist_old +halo HALO_EM_MOIST_OLD_E_5 dyn_em 48:moist_old +halo HALO_EM_MOIST_OLD_E_7 dyn_em 80:moist_old +halo HALO_EM_CHEM_OLD_E_3 dyn_em 24:chem_old +halo HALO_EM_CHEM_OLD_E_5 dyn_em 48:chem_old +halo HALO_EM_CHEM_OLD_E_7 dyn_em 80:chem_old +halo HALO_EM_TRACER_OLD_E_3 dyn_em 24:tracer_old +halo HALO_EM_TRACER_OLD_E_5 dyn_em 48:tracer_old +halo HALO_EM_TRACER_OLD_E_7 dyn_em 80:tracer_old +halo HALO_EM_SCALAR_OLD_E_3 dyn_em 24:scalar_old +halo HALO_EM_SCALAR_OLD_E_5 dyn_em 48:scalar_old +halo HALO_EM_SCALAR_OLD_E_7 dyn_em 80:scalar_old +halo HALO_EM_FEEDBACK dyn_em 48:u_2,v_2,w_2,ph_2,phb,t_2,mu_2,mub,alb,pb,moist,dfi_moist,scalar,dfi_scalar,ht,th_old,qv_old,tracer,pcb,pc_2 +halo HALO_EM_HYDRO_UV dyn_em 8:u_2,v_2 +halo HALO_EM_HYDRO_NOAHMP dyn_em 8:ZWTXY +halo HALO_EM_HYDRO_NOAHMP_INIT dyn_em 8:ZWTXY,FDEPTHXY,HT,ISLTYP +halo HALO_EM_COUPLE_A dyn_em 24:mub,mu_1,mu_2 +period PERIOD_EM_COUPLE_A dyn_em 2:mub,mu_1,mu_2 +halo HALO_EM_COUPLE_B dyn_em 48:ph_1,ph_2,w_1,w_2,t_1,t_2,u_1,u_2,v_1,v_2,\ + moist,chem,tracer,scalar +period PERIOD_EM_COUPLE_B dyn_em 3:ph_1,ph_2,w_1,w_2,t_1,t_2,u_1,u_2,v_1,v_2,\ + moist,chem,tracer,scalar + +#cyl for trajectory +halo HALO_EM_F dyn_em 24:muu,muv,mut +halo HALO_EM_F_1 dyn_em 24:muus,muvs + +## For moving nests +#halo em_shift_halo_y dyn_em 48:imask_nostag,imask_xstag,imask_ystag,imask_xystag,u_2,v_2,t_2 +#halo em_shift_halo_x dyn_em 48:imask_nostag,imask_xstag,imask_ystag,imask_xystag,u_2,v_2,t_2 + +# For observational nudging +halo HALO_OBS_NUDGE dyn_em 24:ph_2,p,uratx,vratx,tratx,kpbl,th_phy_m_t0 + +# cyl: For 3DPWP +halo HALO_PWP dyn_em 8: OM_TMP,OM_S,OM_U,OM_V,OM_DEPTH,OM_TINI,OM_SINI + +# Periodic Boundary Communications + +period PERIOD_BDY_EM_INIT dyn_em 3:u_1,u_2,v_1,v_2,w_1,w_2,t_1,t_2,ph_1,ph_2,t_init,phb,ph0,php,pb,al,alt,alb,mu_1,mu_2,mub,mu0,ht,msftx,msfty,msfux,msfuy,msfvx,msfvy,msfvx_inv,sina,cosa,e,f + +# Monotonic, positive definite advection requires 4 values for moist, chem, tke, and scalar for periodic lateral boundaries + +period PERIOD_BDY_EM_MOIST dyn_em 4:moist +period PERIOD_BDY_EM_CHEM dyn_em 4:chem +period PERIOD_BDY_EM_TRACER dyn_em 4:tracer +period PERIOD_BDY_EM_SCALAR dyn_em 4:scalar +period PERIOD_BDY_EM_TKE dyn_em 4:tke_2 +period PERIOD_BDY_EM_MOIST2 dyn_em 4:moist +period PERIOD_BDY_EM_CHEM2 dyn_em 4:chem +period PERIOD_BDY_EM_TRACER2 dyn_em 4:tracer +period PERIOD_BDY_EM_SCALAR2 dyn_em 4:scalar +period PERIOD_BDY_EM_MOIST_OLD dyn_em 4:moist_old +period PERIOD_BDY_EM_CHEM_OLD dyn_em 4:chem_old +period PERIOD_BDY_EM_TRACER_OLD dyn_em 4:tracer_old +period PERIOD_BDY_EM_SCALAR_OLD dyn_em 4:scalar_old +period PERIOD_BDY_EM_TKE_OLD dyn_em 4:tke_1 + +period PERIOD_BDY_EM_E dyn_em 2:u_2,v_2,ht +period PERIOD_EM_HYDRO_UV dyn_em 1:u_2,v_2 +period PERIOD_BDY_EM_A dyn_em 2:ru,rv,rw,ww,php,alt,p,muu,muv,mut,ph_2,al,rho +period PERIOD_BDY_EM_A1 dyn_em 3:rdzw,rdz,z,zx,zy,ustm,ust +period PERIOD_BDY_EM_PHY_BC dyn_em 2:rublten,rvblten,rucuten,rvcuten,rushten,rvshten,xkmh,xkmv,xkhh,xkhv,div,defor11,defor22,defor12,defor13,defor23,defor33,tke_2,rho,gamu,gamv,xkmv_meso +period PERIOD_BDY_EM_FDDA_BC dyn_em 2:rundgdten,rvndgdten +period PERIOD_BDY_EM_B dyn_em 2:ru_tend,rv_tend,ph_2,al,p,t_1,t_save,u_save,v_save,mu_1,mu_2,mudf,php,alt,pb +period PERIOD_BDY_EM_B3 dyn_em 2:ph_2,al,p,mu_2,muts,mudf +period PERIOD_BDY_EM_B2 dyn_em 2:ru_tend,rv_tend +period PERIOD_BDY_EM_C dyn_em 2:u_2,u_save,v_2,v_save,t_2,t_save,muv,msfvx,msfvy,muu,msfux,msfuy,msfvx_inv +period PERIOD_BDY_EM_D dyn_em 3:u_2,v_2,w_2,t_2,ph_2,mu_2,tke_2 +period PERIOD_BDY_EM_D3 dyn_em 3:u_1,u_2,v_1,v_2,w_1,w_2,t_1,t_2,ph_1,ph_2,tke_1,tke_2,mu_1,mu_2 +period PERIOD_EM_DA dyn_em 2:ru_m,rv_m,ww_m,mut,muts +period PERIOD_EM_F dyn_em 2:muus,muvs +period PERIOD_EM_G dyn_em 2:msftx,msfux,msfvy +period PERIOD_EM_THETAM dyn_em 3:h_diabatic + +# +#swap SWAP_ETAMP_NEW dyn_em 1:dz8w,p_phy,pi_phy,rho,th_phy,moist,F_ICE_PHY,F_RAIN_PHY,F_RIMEF_PHY,RAINNC,RAINNCV,SR,LOWLYR +#swap SWAP_WSM3 dyn_em 1:th_phy,moist,w_2,rho,pi_phy,p_phy,dz8w,rainnc,rainncv +#cycle CYCLE_TEST dyn_em 1:xlong + +## + +# FDDA (Observational-nudging) Variables +typedef fdob_type integer domain_tot # total number of domains to apply obs-nudging +typedef fdob_type integer IEODI # end of obs data flag for current model step +typedef fdob_type integer IWTSIG # flag for nudging on pressure surfaces +typedef fdob_type integer NSTAT # number of obs stations used to nudge current model step +typedef fdob_type integer NSTAW # number of obs stations within current time window +typedef fdob_type integer KTAUR # restart model step +typedef fdob_type integer LEVIDN(max_domains) # level of nest +typedef fdob_type integer REFPRT(max_domains) # reference obs index for diagnostic printout +typedef fdob_type real WINDOW # time window half-period for nudging (in minutes) +typedef fdob_type real RTLAST # time in hours of last obs used in current model step +typedef fdob_type real DATEND # time in minutes after which data are asuumed to have ended +typedef fdob_type logical NUDGE_UV_PBL # Flag for wind nudging within the PBL +typedef fdob_type logical NUDGE_T_PBL # Flag for temperature nudging within the PBL +typedef fdob_type logical NUDGE_Q_PBL # Flag for moisture nudging within the PBL +typedef fdob_type integer SFC_SCHEME_HORIZ # Flag for horizontal spreading scheme for surface obs +typedef fdob_type integer SFC_SCHEME_VERT # Flag for vertical spreading scheme for surface obs +typedef fdob_type real MAX_SNDNG_GAP # Maximum pressure gap allowed for interpolating between soundings (centibars) +typedef fdob_type real SFCFACT # scale factor applied to time window for surface obs +typedef fdob_type real SFCFACR # scale factor applied to horiz radius of influence for surface obs +typedef fdob_type real RINFMN # minimum radius of influence +typedef fdob_type real RINFMX # maximum radius of influence +typedef fdob_type real PFREE # pressure level (cb) where terrain effect becomes small +typedef fdob_type real DCON # 1/DPSMX +typedef fdob_type real DPSMX # max pres change (cb) allowed within infl range of surf obs +typedef fdob_type real TFACI # scale factor used for ramp-down in dynamic initialization +typedef fdob_type real KNOWN_LAT # Latitude of origin point (i,j)=(1,1) +typedef fdob_type real KNOWN_LON # Longitude of origin point (i,j)=(1,1) +typedef fdob_type character SDATE # domain starting date (YYYY-MM-DD_hh:mm:ss) +typedef fdob_type real XTIME_AT_REST # xtime at restart time +typedef fdob_type real VIF_UV(6) # Vertical influence function parameters for wind nudging +typedef fdob_type real VIF_T(6) # Vertical influence function parameters for temperature nudging +typedef fdob_type real VIF_Q(6) # Vertical influence function parameters for moisture nudging +typedef fdob_type real VIF_FULLMIN # Minimum depth through which vert infl fcn remains 1.0 (m) +typedef fdob_type real VIF_RAMPMIN # Minimum depth through which vif decreases 1.0 to 0.0 (m) +typedef fdob_type real VIF_MAX # Maximum depth in which vif is nonzero (m) + +# table entries are of the form +#
+#Grid variables +typedef fdob_type real varobs {nndgvar}{obs} - 1 - - "varobs" "observational values in each variable" +typedef fdob_type real errf h{obs} - 1 - - "errf" "errors between model and obs values" +typedef fdob_type real timeob {obs} - 1 - - "timeob" "model times for each observation" "hours" +typedef fdob_type real nlevs_ob {obs} - 1 - - "nlevs_ob" "numbers of levels in sounding obs" +typedef fdob_type real lev_in_ob {obs} - 1 - - "lev_in_ob" "level in sounding-type obs" +typedef fdob_type real plfo {obs} - 1 - - "plfo" "index for type of obs-platform" +typedef fdob_type real elevob {obs} - 1 - - "elevob" "elevation of observation" "meters" +typedef fdob_type real rio {obs} - 1 - - "rio" "west-east grid coordinate" +typedef fdob_type real rjo {obs} - 1 - - "rjo" "south-north grid coordinate" +typedef fdob_type real rko {obs} - 1 - - "rko" "vertical grid coordinate" +typedef fdob_type integer obsprt [ - 1 - - "obsprt" "obs index for diagnostic printout" +typedef fdob_type real latprt [ - 1 - - "latprt" "obs latitude for diagnostic printout" +typedef fdob_type real lonprt [ - 1 - - "lonprt" "obs longitude for diagnostic printout" +typedef fdob_type real mlatprt [ - 1 - - "mlatprt" "model latitude at obs location" +typedef fdob_type real mlonprt [ - 1 - - "mlonprt" "model longitude at obs location" +typedef fdob_type integer stnidprt {obsstid}{[} - 1 - - "stnidprt" "obs station id for diagnostic printout" +typedef fdob_type real base_state k - 1 - - "base_state" "base-state height on half (mass) levels" "meters" + +state fdob_type fdob - - + +# xpose variables for polar fft +state real t_xxx ikjx - 1 - +state real u_xxx ikjx - 1 X +state real ru_xxx ikjx - 1 X +state real v_xxx ikjx - 1 Y +state real rv_xxx ikjx - 1 Y +state real w_xxx ikjx - 1 Z +state real ww_xxx ikjx - 1 Z +state real ph_xxx ikjx - 1 Z +state real dum_yyy ikjy - 1 - +state real fourd_xxx ikjx - 1 - +state real clat_xxx ijx - 1 - +state real ht_xxx ijx - 1 - +state real mf_xxx ijx - 1 - + +xpose XPOSE_POLAR_FILTER_TOPO dyn_em t_init,t_xxx,dum_yyy +xpose XPOSE_POLAR_FILTER_T dyn_em t_2,t_xxx,dum_yyy +xpose XPOSE_POLAR_FILTER_U dyn_em u_2,u_xxx,dum_yyy +xpose XPOSE_POLAR_FILTER_RU dyn_em ru_m,ru_xxx,dum_yyy +xpose XPOSE_POLAR_FILTER_V dyn_em v_2,v_xxx,dum_yyy +xpose XPOSE_POLAR_FILTER_RV dyn_em rv_m,rv_xxx,dum_yyy +xpose XPOSE_POLAR_FILTER_W dyn_em w_2,w_xxx,dum_yyy +xpose XPOSE_POLAR_FILTER_WW dyn_em ww_m,ww_xxx,dum_yyy +xpose XPOSE_POLAR_FILTER_PH dyn_em ph_2,ph_xxx,dum_yyy +xpose XPOSE_POLAR_FILTER_MOIST dyn_em moist,fourd_xxx,dum_yyy +xpose XPOSE_POLAR_FILTER_CHEM dyn_em chem,fourd_xxx,dum_yyy +xpose XPOSE_POLAR_FILTER_TRACER dyn_em tracer,fourd_xxx,dum_yyy +xpose XPOSE_POLAR_FILTER_SCALAR dyn_em scalar,fourd_xxx,dum_yyy + +# xpose variables for spectral nudging +state real dif_analysis ikj - 1 +state real dif_xxx ikjx - 1 +state real dif_yyy ikjy - 1 + +xpose XPOSE_SPECTRAL_NUDGING dyn_em dif_analysis,dif_xxx,dif_yyy +## + +package no_fft_used fft_used==0 - - +package any_fft_used fft_used==1 - state:t_xxx,u_xxx,ru_xxx,v_xxx,rv_xxx,w_xxx,ww_xxx,ph_xxx,dum_yyy,fourd_xxx + diff --git a/jupyter-images/mvu24f/configure b/jupyter-images/mvu24f/configure new file mode 100644 index 00000000..28629859 --- /dev/null +++ b/jupyter-images/mvu24f/configure @@ -0,0 +1,1090 @@ +#!/bin/sh + +# parse argument list + +thiscmd=$0 + +FORTRAN_COMPILER_TIMER="" +opt_level="-f" +rword="-r4" +print_usage="" +chemistry="" +wrf_core="" +config_line="$0 " +while [ $# -ge 1 ]; do + config_line="$config_line $1" + case $1 in + -d) opt_level="-d" ;; + -D) opt_level="-D" ;; + -s) opt_level="-s" ;; + -f) opt_level="-f" ;; + -h) print_usage="yes" ;; + -help) print_usage="yes" ;; + -os) shift ; WRF_OS=$1 ;; + -mach) shift ; WRF_MACH=$1 ;; + -r8) rword="-r8" ;; + -time) shift ; FORTRAN_COMPILER_TIMER=$1 ;; + chem) WRF_CHEM=1 ;; + cmaq) WRF_CMAQ=1 ;; + kpp) WRF_KPP=1 ;; + radardfi) WRF_DFI_RADAR=1 ;; + wrfda) wrf_core=DA_CORE ;; + 4dvar) wrf_core=4D_DA_CORE ;; + arw) wrf_core=EM_CORE ;; + coamps) wrf_core=COAMPS_CORE ;; + titan) WRF_TITAN=1 ; break ;; + mars) WRF_MARS=1 ; break ;; + venus) WRF_VENUS=1 ; break ;; + wrfplus) wrf_core=WRF_PLUS_CORE ; break ;; + *) echo "This option is not recognized: $1" ; exit 2 ;; + esac + shift +done +if [ -n "$print_usage" ] ; then + echo ' ' + echo '*****************************************************************************' + echo usage: $thiscmd '[-d|-D|-s|-f|-os os|-mach mach|-time timecommand] [chem] [kpp]' + echo '-d build with debugging information and no optimization' + echo '-D build with -d AND floating traps, traceback, uninitialized variables' + echo '-r8 build with 8 byte reals' + echo '-help print this message' + echo '*****************************************************************************' + echo ' ' + exit +fi + +if `pwd | grep ' ' > /dev/null ` ; then + echo '************************** W A R N I N G ************************************' + echo The current working directory has spaces in some components of its path name + echo and this may cause problems for your build. This can occur, for example, on + echo Windows systems. It is strongly recommended that you install WRF and other + echo related software such as NetCDF in directories whose path names contain no + echo white space. On Win, for example, create and install in a directory under C:. + echo '*****************************************************************************' +fi + + +# lifted from the configure file for mpich; 00/03/10 jm +# +# Check for perl and perl version +for p in perl5 perl +do + # Extract the first word of "$p", so it can be a program name with args. + set dummy $p; ac_word=$2 + if test -z "$ac_echo_n" ; then + ac_echo_n=yes + if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi + else + ac_n= ac_c='\c' ac_t= + fi + ac_echo_test=`echo foo 1>&1` + if test -z "$ac_echo_test" ; then + print_error "Your sh shell does not handle the output redirection" + print_error "1>&1 correctly. Configure will work around this problem," + print_error "but you should report the problem to your vendor." + fi + fi + if test -z "$ac_echo_test" -a 1 = 1 ; then + echo $ac_n "checking for $ac_word""... $ac_c" + else + echo $ac_n "checking for $ac_word""... $ac_c" 1>&1 + fi + ac_prog_where="" + if test -n "$PERL"; then + ac_pg_PERL="$PERL" # Let the user override the test. + else + ac_first_char=`expr "$p" : "\(.\)"` + if test "$ac_first_char" = "/" -a -x "$p" ; then + ac_pg_PERL="$p" + ac_prog_where=$p + else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_pg_PERL="$p" + ac_prog_where=$ac_dir/$ac_word + break + fi + done + IFS="$ac_save_ifs" + fi + fi;PERL="$ac_pg_PERL" + if test -n "$ac_prog_where" ; then + if test -z "$ac_echo_test" -a 1 = 1 ; then + echo "$ac_t""found $ac_prog_where ($PERL)" + else + echo "$ac_t""found $ac_prog_where ($PERL)" 1>&1 + fi + PERLFULLPATH=$ac_prog_where + else + if test -z "$ac_echo_test" -a 1 = 1 ; then + echo "$ac_t""no" + else + echo "$ac_t""no" 1>&1 + fi + fi + test -n "$PERL" && break +done + +if test -z "$PERL" ; then + # We have to set this outside of the loop lest the first failure in + # PROGRAM_CHECK set the value (which then terminates the effect of the + # loop, since autoconf macros only set values that are null, they + # don't override them + PERL="" +fi + +if test -n "$PERL" ; then + PERL="$PERL" + + perlversion=`$PERL -v | grep 'This is perl' | \ + sed -e 's/^.*v[a-z ]*\([0-9]\).*$/\1/'` + + # Should do a test first for ch_p4 etc. + if test "$perlversion" -lt 5 ; then + echo "WRF build requires perl version 5, which configure did not find." + echo "You can set the environment variable PERL to contain the " + echo "location of perl version 5." + echo "Configure believes that $PERL is version $perlversion ." + PERL="" + fi + +fi + +if [ -e $NETCDF/bin/nc-config ] ; then + ncversion=`nc-config --version | awk '{print $2}'` +else + ncversion=OLD +fi + +PROBS=FALSE +if [ -n "$NETCDFPAR" ] ; then + NETCDF="$NETCDFPAR" + if [ ! -e $NETCDF/bin/nc-config ] ; then + PROBS=TRUE + else + ncversion=`nc-config --version | awk '{print $2}'` + ncversiona=`echo $ncversion | cut -c 1` + ncversionb=`echo $ncversion | cut -c 3` + ncversionc=`echo $ncversion | cut -c 5` + ncversiona=`expr $ncversiona \* 100` + ncversionb=`expr $ncversionb \* 10` + ncversionabc=`expr $ncversiona + $ncversionb` + ncversionabc=`expr $ncversionabc + $ncversionc` + if [ $ncversionabc -lt 474 ] ; then + PROBS=TRUE + fi + fi + if [ "$PROBS" = "TRUE" ] ; then + echo + echo Cannot activate NETCDFPAR with this version of NetCDF: $ncversion + echo You need NetCDF version 4.7.4 or newer + echo Use a newer version of NetCDF, or unset the env variable NETCDFPAR + echo + exit + fi + NETCDF4="1" + USENETCDFPAR="1" + export NETCDF + export NETCDF4 + export USENETCDFPAR +fi + +if test -z "$NETCDF" ; then + echo ' ' + echo '*****************************************************************************' + echo 'No environment variable NETCDF set.' + echo 'Stopping' + echo '*****************************************************************************' + echo ' ' + exit 5 +fi + +if test -z "$NETCDF_classic" ; then + export NETCDF4=1 +else + unset NETCDF4 +fi + +USENETCDFF="" +USENETCDF="" +if [ -n "$NETCDF" ] ; then + echo "Will use NETCDF in dir: $NETCDF" +# Oh UNIDATA, why make it so hard ... + if [ -f "$NETCDF/lib/libnetcdff.a" -o -f "$NETCDF/lib/libnetcdff.so" -o -f "$NETCDF/lib/libnetcdff.dll.a" ] ; then + USENETCDFF="-lnetcdff" + else + USENETCDFF=" " + fi + if [ -f "$NETCDF/lib/libnetcdf.a" -o -f "$NETCDF/lib/libnetcdf.so" -o -f "$NETCDF/lib/libnetcdf.dll.a" ] ; then + USENETCDF="-lnetcdf" + else + USENETCDF=" " + fi + export USENETCDF=$USENETCDF + export USENETCDFF=$USENETCDFF +else + echo ' ' + echo '*****************************************************************************' + echo 'No environment variable NETCDF set.' + echo 'Stopping' + echo '*****************************************************************************' + echo ' ' + exit 6 +fi + +# If the user asked for classic netcdf, acquiesce to the request. + +ans="`which nf-config`" +status="$?" +if [ "$ans" = "nf-config:" -o "$ans" = "" -o "$status" != "0" ] ; then + export NETCDF_classic=1 + unset NETCDF4 +else + if [ -n "$NETCDF_classic" ] ; then + if [ $NETCDF_classic -eq 1 ] ; then + unset NETCDF4 + else + unset NETCDF_classic + export NETCDF4=1 + fi + else + if [ "`nf-config --has-nc4`" = "yes" ] ; then + unset NETCDF_classic + export NETCDF4=1 + else + export NETCDF_classic=1 + unset NETCDF4 + fi + fi +fi + +if [ -z "$HDF5_PATH" ] ; then HDF5_PATH=''; fi +if [ -z "$ZLIB_PATH" ] ; then ZLIB_PATH=''; fi +if [ -z "$GPFS_PATH" ] ; then GPFS_PATH=''; fi +if [ -z "$CURL_PATH" ] ; then CURL_PATH=''; fi + +if [ -n "$NETCDF4" ] ; then + if [ $NETCDF4 -eq 1 ] ; then + DEP_LIB_PATH='' + if [ -f $NETCDF/bin/nf-config ] ; then + nx_config="$NETCDF/bin/nf-config --flibs" + DEP_LIB_PATH="`$nx_config | awk '{for(i=1;i<=NF;i++){if(match($i, /-L.*/)) {print $i} } }'`" + CURL="`$nx_config | awk '{for(i=1;i<=NF;i++){if($i == "-lcurl") {print $i} } }'`" + GPFS="`$nx_config | awk '{for(i=1;i<=NF;i++){if($i == "-lgpfs") {print $i} } }'`" + fi + if [ "$DEP_LIB_PATH" = '' ] ; then + if [ -f $NETCDF/bin/nc-config ] ; then + nx_config="$NETCDF/bin/nc-config --libs" + DEP_LIB_PATH="`$nx_config | awk '{for(i=1;i<=NF;i++){if(match($i, /-L.*/)) {print $i} } }'`" + CURL="`$nx_config | awk '{for(i=1;i<=NF;i++){if($i == "-lcurl") {print $i} } }'`" + GPFS="`$nx_config | awk '{for(i=1;i<=NF;i++){if($i == "-lgpfs") {print $i} } }'`" + if [ "$CURL" != '' -a "$CURL_PATH" = '' ] ; then + CURL_PATH="DEFAULT" + fi + if [ "$GPFS" != '' -a "$GPFS_PATH" = '' ] ; then + GPFS_PATH="DEFAULT" + fi + fi + fi + for P in "$HDF5_PATH" "$ZLIB_PATH" "$GPFS_PATH" "$CURL_PATH" + do + if [ "$P" != '' -a "$P" != "DEFAULT" ] ; then + if [ "${P#${P%?}}" = "/" ] ; then + P=`echo $P | sed 's/\/$//'` + fi + DEP_LIB_PATH="`echo $DEP_LIB_PATH | awk -v VAR=-L$P/lib '{for(i=1;i<=NF;i++){if ($i != VAR ) {print $i} } }'`" + DEP_LIB_PATH="$DEP_LIB_PATH -L$P/lib" + fi + done + if [ "${NETCDF#${NETCDF%?}}" = "/" ] ; then + NETCDF=`echo $NETCDF | sed 's/\/$//'` + fi + buff="`ls -l $NETCDF | sed 's/ */ /g'`" + while [ "`echo $buff | grep lib`" = "" -a "`echo $buff | grep '\->'`" != "" ] + do + buff="`echo $buff | sed -e 's/->//' -e 's/ */ /g'`" + n=`echo $buff | wc -w` + lastword=`echo "$buff" | cut -d' ' -f$n | sed 's/\/$//'` + c="`echo $lastword | cut -c1`" + if [ "$c" = "/" ] ; then + NETCDF=$lastword + else + c="`echo $lastword | cut -c1-2`" + if [ "$c" = "./" ] ; then + lastword="echo $lastword | cut -c3-" + fi + NETCDF=${NETCDF%/*}/$lastword + fi + buff="`ls -l $NETCDF | sed 's/ */ /g'`" + done + if [ "`echo $NETCDF | grep '..'`" != "" ] ; then + buff="`echo $NETCDF | sed -e 's/^\///' -e 's/\// /g'`" + n=`echo $buff | wc -w` + i=1 + while [ $i -le $n ] + do + if [ "`echo $buff | cut -d' ' -f$i`" = ".." ] ; then + m=$i + fi + i=$(( $i + 1 )) + done + m=$(( $m + 1 )) + NETCDF=/"`echo $buff | cut -d' ' -f${m}- | sed 's/ */\//g'`" + fi + if [ "${DEP_LIB_PATH#${DEP_LIB_PATH%?}}" = "/" ] ; then + DEP_LIB_PATH=`echo $DEP_LIB_PATH | sed 's/\/$//'` + fi + DEP_LIB_PATH="`echo $DEP_LIB_PATH | awk -v VAR=-L$NETCDF/lib '{for(i=1;i<=NF;i++){if ($i != VAR ) {print $i} } }'`" + fi +fi + +if [ -n "$PNETCDF" ] ; then + echo "Will use PNETCDF in dir: $PNETCDF" +# experimental, so don't tease the user if it is not there +#else +# echo "Will configure for use without NetCDF" +fi + +if [ -n "$HDF5" ] ; then + echo "Will use HDF5 in dir: $HDF5" +else + echo "HDF5 not set in environment. Will configure WRF for use without." +fi + +if [ -n "$PHDF5" ] ; then + echo "Will use PHDF5 in dir: $PHDF5" +else + echo "PHDF5 not set in environment. Will configure WRF for use without." +fi + +if [ "$wrf_core" = "DA_CORE" -o "$wrf_core" = "4D_DA_CORE" ] ; then + if [ -n "$RTTOV" ] ; then + echo "Will use RTTOV in dir: $RTTOV" + else + echo "RTTOV not set in environment. Will configure WRFDA for use without." + fi +fi + +# Set the "traditional" flag and the "cpp" flags + +TFL="-traditional-cpp" +CFL="-P -nostdinc" + +if [ "$wrf_core" = "4D_DA_CORE" ]; then + if [ -n "$WRFPLUS_DIR" ] ; then + echo "Will use WRFPLUS in dir: $WRFPLUS_DIR" + else + echo "WRFPLUS_DIR not set in environment. Please compile WRFPLUS and set WRFPLUS_DIR." + exit + fi +else + if [ -n "$WRFPLUS_DIR" ] ; then + echo 'Unsetting "$WRFPLUS_DIR" environment variable. Use "configure 4dvar" to configure for 4dvar compilation.' + unset WRFPLUS_DIR + fi +fi +# Users who are cross-compiling can set environment variable +# $WRF_OS to override the value normally obtained from `uname`. +# If $WRF_OS is set, then $WRF_MACH can also be set to override +# the value normally obtained from `uname -m`. If $WRF_OS is +# set and $WRF_MACH is not set, then $WRF_MACH defaults to "ARCH". +# If $WRF_OS is not set then $WRF_MACH is ignored. +if [ -n "$WRF_OS" ] ; then + echo "${0}: WRF operating system set to \"${WRF_OS}\" via environment variable \$WRF_OS" + os=$WRF_OS + mach="ARCH" + if [ -n "$WRF_MACH" ] ; then + echo "${0}: WRF machine set to \"${WRF_MACH}\" via environment variable \$WRF_MACH" + mach=$WRF_MACH + fi +else + # if the uname command exists, give it a shot and see if + # we can narrow the choices; otherwise, spam 'em + os="ARCH" + mach="ARCH" + type uname > /dev/null + if [ $? -eq 0 ] ; then + os=`uname` + if [ "$os" = "AIX" -o "$os" = "IRIX" -o "$os" = "IRIX64" -o "$os" = "SunOS" -o "$os" = "HP-UX" -o "$os" = "Darwin" -o "$os" = "Interix" ] ; then + mach="ARCH" + else + xxx=`expr "$os" : '\(.........\).*'` + if [ "$xxx" = "CYGWIN_NT" ] ; then + os=$xxx + fi + if [ "$os" = "OSF1" -o "$os" = "Linux" -o "$os" = "UNICOS/mp" -o "$os" = "UNIX_System_V" -o "$os" = "CYGWIN_NT" ] ; then + mach=`uname -m` + if [ "$mach" = "ia64" -a -f /etc/sgi-release ] ; then + mach="Altix" + fi + else + os="ARCH" + mach="ARCH" + fi + fi + fi +fi + +# an IBM specific hack to adjust the bmaxstack and bmaxdata options if addressing is 32-bit +if [ "$os" = "AIX" ] ; then + if [ -z "$OBJECT_MODE" ] ; then + OBJECT_MODE=32 + export OBJECT_MODE + fi + if [ "$OBJECT_MODE" = "32" ] ; then +# the bang means nothing to sh in this context; use to represent spaces (perl will unbang) + ldflags=-bmaxstack:256000000!-bmaxdata:2048000000 + fi +fi + +# compile options that come from the environment, such as chemistry +# the "!" is removed by Config.pl +if [ -n "$WRF_HYDRO" ] ; then + if [ $WRF_HYDRO = 1 ] ; then + echo building WRF-HYDRO + compileflags="${compileflags}!-DWRF_HYDRO" + echo $compileflags + fi +fi + +# compile options that come from the environment, such as chemistry +# the "!" is removed by Config.pl +if [ -n "$WRF_MARS" ] ; then + if [ $WRF_MARS = 1 ] ; then + echo building WRF for Mars + compileflags="${compileflags}!-DPLANET!-DMARS" + echo $compileflags + fi +fi + +if [ -n "$WRF_TITAN" ] ; then + if [ $WRF_TITAN = 1 ] ; then + echo building WRF for Titan + compileflags="${compileflags}!-DPLANET!-DTITAN" + fi +fi + +if [ -n "$WRF_VENUS" ] ; then + if [ $WRF_VENUS = 1 ] ; then + echo building WRF for Venus + compileflags="${compileflags}!-DPLANET!-DVENUS" + fi +fi +if [ -n "$WRF_QUIETLY" ]; then + echo WRF_QUIETLY is now a synonym for WRF_LOG_BUFFERING + echo setting WRF_LOG_BUFFERING to 1... + export WRF_LOG_BUFFERING=1 +fi +if [ -n "$WRF_LOG_BUFFERING" ]; then + if [ $WRF_LOG_BUFFERING = 1 ]; then + echo building WRF with support for buffering of log messages + compileflags="${compileflags}!-DWRF_LOG_BUFFERING=1" + fi +fi +if [ -n "$PNETCDF_QUILT" ]; then + echo Enabling quilt_pnc I/O server implementation. + compileflags="${compileflags}!-DPNETCDF_QUILT=1" +fi +if [ -n "$WRF_DFI_RADAR" ] ; then + if [ $WRF_DFI_RADAR = 1 ] ; then + echo building WRF with radar dfi option + compileflags="${compileflags}!-DWRF_DFI_RADAR=1" + fi +fi + +if [ -n "$WRF_CMAQ" ] ; then + echo building WRF with CMAQ option + compileflags="${compileflags}!-DWRF_CMAQ" +fi + +if [ -n "$WRF_CHEM" ] ; then + if [ $WRF_CHEM = 1 ] ; then + echo building WRF with chemistry option + compileflags="${compileflags}!-DWRF_CHEM!-DBUILD_CHEM=1" + if [ -n "$WRF_KPP" ] ; then + if [ $WRF_KPP = 1 ] ; then + echo building WRF with KPP chemistry option + compileflags="${compileflags}!-DWRF_KPP" + fi + fi + else + compileflags="${compileflags} " + fi +else + compileflags="${compileflags} " +fi + +if [ -n "$WRFPLUS" ] ; then + if [ $WRFPLUS = 1 ] ; then + echo building WRF for TL and AD + compileflags="!-DWRFPLUS" + echo $compileflags + fi +fi + +type m4 > /dev/null +if [ $? -ne 0 ] ; then + echo + echo "ERROR ERROR ERROR ERROR ERROR ERROR ERROR" + echo "'m4' utility not found! Can not configure." + echo + echo "If on an Ubuntu machine, use the command" + echo " sudo apt-get install m4 " + echo "To download and install the 'm4' utility" + exit 1 +fi + +if command -v timex > /dev/null 2>&1; then + FORTRAN_COMPILER_TIMER=timex + echo "Will use 'timex' to report timing information" +elif command -v time > /dev/null 2>&1; then + FORTRAN_COMPILER_TIMER=time + echo "Will use 'time' to report timing information" +fi + +# Is this some type of WRF DA build? If so, it is real*8. +# Let's go ahead and set a flag internally. +if test -n "$wrf_core" ; then + if [ "$wrf_core" = "DA_CORE" -o \ + "$wrf_core" = "4D_DA_CORE" -o \ + "$wrf_core" = "WRF_PLUS_CORE" ] ; then + rword="-r8" + fi +fi + +# Found perl, so proceed with configuration +if test -n "$PERL" ; then + srch=`grep -i "^#ARCH.*$os" arch/configure.defaults | grep -i "$mach"` + if [ -n "$srch" ] ; then + $PERL arch/Config.pl -dmparallel=$COMMLIB -ompparallel=$OMP -perl=$PERL \ + -netcdf=$NETCDF -pnetcdf=$PNETCDF -netcdfpar=$NETCDFPAR -hdf5=$HDF5 -phdf5=$PHDF5 -os=$os -mach=$mach -ldflags=$ldflags \ + -compileflags=$compileflags -opt_level=$opt_level -USENETCDFF=$USENETCDFF -USENETCDF=$USENETCDF \ + -time=$FORTRAN_COMPILER_TIMER -tfl="$TFL" -cfl="$CFL" -config_line="$config_line" \ + -wrf_core=$wrf_core -gpfs=$GPFS_PATH -curl=$CURL_PATH -dep_lib_path="$DEP_LIB_PATH" + if test ! -f configure.wrf ; then + echo "configure.wrf not created! Exiting configure script..." + exit 1 + fi + if [ "$opt_level" = "-d" ] ; then + sed -e 's/FCOPTIM[ ]*=/& # /' -e '/FCDEBUG[ ]*=/s/#//' configure.wrf > configure.wrf.edit + /bin/mv configure.wrf.edit configure.wrf + fi + if [ "$opt_level" = "-D" ] ; then + sed -e 's/FCOPTIM[ ]*=/& # /' -e '/FCDEBUG[ ]*=/s/#//g' configure.wrf > configure.wrf.edit + /bin/mv configure.wrf.edit configure.wrf + fi + + # GNU has a funny way of doing promotion to real*8 + if [ "$rword" = "-r8" ] ; then + srch=`grep -i "^SFC" configure.wrf | grep -i "gfortran"` + if [ -n "$srch" ] ; then + sed -e '/^PROMOTION/s/#//' \ + -e '/^RWORDSIZE/s/$(NATIVE_RWORDSIZE)/8/' configure.wrf > configure.wrf.edit + else + sed -e '/^RWORDSIZE/s/$(NATIVE_RWORDSIZE)/8/' configure.wrf > configure.wrf.edit + fi + /bin/mv configure.wrf.edit configure.wrf + sed -e 's/-DBUILD_SBM_FAST=1/-DBUILD_SBM_FAST=0/' configure.wrf > configure.wrf.edit + /bin/mv configure.wrf.edit configure.wrf + fi + else + echo '*********************************************************' + echo '*** ERROR ERROR ERROR ERROR ***' + echo '*** ***' + echo '*** Configuration not found in configure.defaults ***' + echo '*********************************************************' + exit 2 + fi +fi + +if test -f configure.wrf ; then +# new dec 2005. test what fseek is supported (needed for share/landread.c to work correctly) + echo testing for fseeko and fseeko64 + /bin/rm -f tools/fseeko_test tools/fseeko64_test + ( make fseek_test 2> /dev/null ) 1> /dev/null + if [ "$os" = "Darwin" ] ; then + # fseeko64 does not exist under Darwin fseeko does. Remove the 0 length executable + # file that might get generated anyway, even though the compiler complains about missing reference. + /bin/rm -f tools/fseeko64_test + fi + if test -x tools/fseeko64_test ; then + ( tools/fseeko64_test 2> /dev/null ) 1> /dev/null + if [ $? = 0 ] ; then + echo fseeko64 is supported + sed '/^CC .*=/s/$/ -DFSEEKO64_OK /' configure.wrf > xx$$ ; /bin/mv xx$$ configure.wrf + fi + else + if test -x tools/fseeko_test ; then + ( tools/fseeko_test 2> /dev/null ) 1> /dev/null + if [ $? = 0 ] ; then + echo fseeko is supported and handles 64 bit offsets + sed '/^CC .*=/s/$/ -DFSEEKO_OK /' configure.wrf > xx$$ ; /bin/mv xx$$ configure.wrf + else + echo neither fseeko64 nor fseeko with 64 bit offsets works, landread will be compiled with fseek + echo but may not work correctly for very high resolution terrain datasets + fi + else + echo neither fseeko64 nor fseeko with 64 bit offsets works, landread will be compiled with fseek + echo but may not work correctly for very high resolution terrain datasets + fi + fi +fi + +echo "------------------------------------------------------------------------" +sed -e '1,/#### Architecture specific settings ####/d' -e '/^externals/,$d' configure.wrf + +echo "------------------------------------------------------------------------" +echo "Settings listed above are written to configure.wrf." +echo "If you wish to change settings, please edit that file." +echo "If you wish to change the default options, edit the file:" +echo " arch/configure.defaults" + +if test -n "$NETCDF" ; then + if [ ! -f $NETCDF/include/netcdf.inc ] ; then + echo + echo "Error : Not found $NETCDF/include/netcdf.inc" + echo " Please check this installation of NetCDF and re-run this configure script" + exit -1 + fi + grep nf_format_64bit $NETCDF/include/netcdf.inc > /dev/null + configure_aaaa=$? ; export configure_aaaa + if [ $configure_aaaa -a -z "$WRFIO_NCD_NO_LARGE_FILE_SUPPORT" ] ; then + echo "NetCDF users note:" + echo " This installation of NetCDF supports large file support. To DISABLE large file" + echo " support in NetCDF, set the environment variable WRFIO_NCD_NO_LARGE_FILE_SUPPORT" + echo " to 1 and run configure again. Set to any other value to avoid this message." + fi +fi +echo " " + +if [ "$wrf_core" = "DA_CORE" -o "$wrf_core" = "WRF_PLUS_CORE" -o "$wrf_core" = "4D_DA_CORE" ]; then + if [ "`grep '^SFC' configure.wrf | grep -i 'gfortran'`" != "" -o "`grep '^SFC' configure.wrf | grep -i 'frtpx'`" != "" ]; then + echo "WRFDA/WRFPLUS using gfortran/frtpx needs realsize=8" + sed -e '/^PROMOTION.*=/s/#//' configure.wrf > configure.wrf.edit + /bin/mv configure.wrf.edit configure.wrf + fi +fi + +if [ -n "$WRFPLUS" ] ; then + if [ $WRFPLUS = 1 ] ; then + if [ `grep '^SFC' configure.wrf | cut -d= -f2` = "gfortran" ]; then + echo "WRFPLUS using gfortran needs realsize=8" + sed -e '/^PROMOTION.*=/s/#//' configure.wrf > configure.wrf.edit + /bin/mv configure.wrf.edit configure.wrf + fi + fi +fi + +#Checking cross-compiling capability for some particular environment +#on Linux and Mac box + +if [ $os = "Linux" -o $os = "Darwin" ]; then + + SFC=`grep '^SFC' configure.wrf | awk '{print $3}'` + SCC=`grep '^SCC' configure.wrf | awk '{print $3}'` + CCOMP=`grep '^CCOMP' configure.wrf | awk '{print $3}'` + + SFC="`type $SFC 2>/dev/null | awk '{print $NF}' | sed -e 's/(//g;s/)//g'`" + SCC="`type $SCC 2>/dev/null | awk '{print $NF}' | sed -e 's/(//g;s/)//g'`" + CCOMP="`type $CCOMP 2>/dev/null | awk '{print $NF}' | sed -e 's/(//g;s/)//g'`" + + foo=foo_$$ + + grep '^SFC' configure.wrf | grep -i 'gfortran' > /dev/null + if [ $? ] + then + + cat > ${foo}.F << EOF + PROGRAM GFORTRAN_VERSION_CHECK + IF (__GNUC__ .GT. 9) CALL EXIT(1) + END PROGRAM +EOF + + gfortran -o ${foo} ${foo}.F > /dev/null 2>&1 && ./${foo} + if [ $? -eq 1 ] + then + sed '/^FCCOMPAT/ s/$/ -fallow-argument-mismatch -fallow-invalid-boz/' configure.wrf > configure.wrf.edit + mv configure.wrf.edit configure.wrf + fi + rm ${foo} ${foo}.F 2> /dev/null + fi + +cat > ${foo}.c < ${foo}.f < /dev/null 2>&1 + if [ $? != 0 ]; then + sed 's/-cc=$(SCC)//' configure.wrf > configure.wrf.edit + mv configure.wrf.edit configure.wrf + fi + rm ${foo} ${foo}.o 2> /dev/null + mpif90 -f90=$SFC -o ${foo} ${foo}.f > /dev/null 2>&1 + if [ $? != 0 ]; then + sed 's/-f90=$(SFC)//' configure.wrf > configure.wrf.edit + mv configure.wrf.edit configure.wrf + fi + rm ${foo} ${foo}.o 2> /dev/null + fi + fi + + if [ -e $NETCDF/lib/libnetcdf.a -a "$SFC" != "" -a "$SCC" != "" -a "$CCOMP" != "" ]; then + + SFC_MULTI_ABI=0 + SCC_MULTI_ABI=0 + CCOMP_MULTI_ABI=0 + CROSS_COMPILING=0 + + echo + echo Testing for NetCDF, C and Fortran compiler + echo + + ar p $NETCDF/lib/libnetcdf.a `ar t $NETCDF/lib/libnetcdf.a | grep -E '\.o' | head -n 1 | sed 's/://'` > ${foo}.o + netcdf_arch="`file ${foo}.o | grep -o -E '[0-9]{2}-bit|i386'`" + rm ${foo}.o + + $SFC -o ${foo} ${foo}.f > /dev/null 2>&1 + SFC_arch="`file ${foo} | grep -o -E '[0-9]{2}-bit|i386'`" + rm ${foo} ${foo}.o 2> /dev/null + + $SCC -o ${foo} ${foo}.c > /dev/null 2>&1 + SCC_arch="`file ${foo} | grep -o -E '[0-9]{2}-bit|i386'`" + CCOMP_arch=$SCC_arch + rm ${foo} ${foo}.o 2> /dev/null + + if [ "$SCC" != "$CCOMP" ]; then + $CCOMP -o ${foo} ${foo}.c > /dev/null 2>&1 + CCOMP_arch="`file ${foo} | grep -o -E '[0-9]{2}-bit|i386'`" + rm ${foo} ${foo}.o 2> /dev/null + fi + + if [ "$SFC_arch" = "" -o "$SCC_arch" = "" -o "$CCOMP_arch" = "" ]; then + echo " One of compilers testing failed!" + echo " Please check your compiler" + echo + rm -f ${foo} ${foo}.[cfo] 2> /dev/null + exit + else + cp configure.wrf configure.wrf.edit + fi + + case $netcdf_arch in + + 32-bit|i386 ) + + if [ "$SFC_arch" = "64-bit" ] ; then + CROSS_COMPILING=1 + $SFC -m32 -o ${foo} ${foo}.f > /dev/null 2>&1 + if [ $? = 0 ]; then + SFC_MULTI_ABI=1 + sed '/^SFC.*=/s/$/ -m32/' configure.wrf.edit > configure.wrf.tmp + mv configure.wrf.tmp configure.wrf.edit + fi + fi + if [ "$SCC_arch" = "64-bit" ] ; then + CROSS_COMPILING=1 + $SCC -m32 -o ${foo} ${foo}.c > /dev/null 2>&1 + if [ $? = 0 ]; then + SCC_MULTI_ABI=1 + sed '/^SCC.*=/s/$/ -m32/' configure.wrf.edit > configure.wrf.tmp + mv configure.wrf.tmp configure.wrf.edit + fi + fi + + if [ "$CCOMP_arch" = "64-bit" ] ; then + CROSS_COMPILING=1 + if [ "$CCOMP" != "$SCC" ]; then + $CCOMP -m32 -o ${foo} ${foo}.c > /dev/null 2>&1 + if [ $? = 0 ]; then + CCOMP_MULTI_ABI=1 + sed '/^CCOMP/ s/$/ -m32/' configure.wrf.edit > configure.wrf.tmp + mv configure.wrf.tmp configure.wrf.edit + fi + else + CCOMP_MULTI_ABI=1 + sed '/^CCOMP/ s/$/ -m32/' configure.wrf.edit > configure.wrf.tmp + mv configure.wrf.tmp configure.wrf.edit + fi + fi + + if [ $CROSS_COMPILING -eq 1 ] ; then + echo NOTE: + echo This installation of NetCDF is 32-bit + if [ \( $SFC_MULTI_ABI -ne 1 -a "$SFC_arch" = "64-bit" \) \ + -o \( $SCC_MULTI_ABI -ne 1 -a "$SCC_arch" = "64-bit" \) \ + -o \( $CCOMP_MULTI_ABI -ne 1 -a "$CCOMP_arch" = "64-bit" \) ] ; then + rm configure.wrf.edit + echo One of compilers is 64-bit and doesn\'t support cross-compiling. + echo Please check your NETCDF lib and compiler + else + echo -m32 is appended to configure.wrf + echo It will be forced to build in 32-bit. + echo If you don\'t want 32-bit binaries, please use 64-bit NetCDF, and re-run the configure script. + fi + fi + ;; + + 64-bit ) + + if [ "$SFC_arch" = "32-bit" -o "$SFC_arch" = "i386" ] ; then + CROSS_COMPILING=1 + $SFC -m64 -o ${foo} ${foo}.f > /dev/null 2>&1 + if [ $? = 0 ]; then + SFC_MULTI_ABI=1 + sed '/^SFC.*=/s/$/ -m64/' configure.wrf.edit > configure.wrf.tmp + mv configure.wrf.tmp configure.wrf.edit + fi + fi + if [ "$SCC_arch" = "32-bit" -o "$SCC_arch" = "i386" ] ; then + CROSS_COMPILING=1 + $SCC -m64 -o ${foo} ${foo}.c > /dev/null 2>&1 + if [ $? = 0 ]; then + SCC_MULTI_ABI=1 + sed '/^SCC.*=/s/$/ -m64/' configure.wrf.edit > configure.wrf.tmp + mv configure.wrf.tmp configure.wrf.edit + fi + fi + + if [ "$CCOMP_arch" = "32-bit" -o "$CCOMP_arch" = "i386" ] ; then + CROSS_COMPILING=1 + if [ "$CCOMP" != "$SCC" ]; then + $CCOMP -m64 -o ${foo} ${foo}.c > /dev/null 2>&1 + if [ $? = 0 ]; then + CCOMP_MULTI_ABI=1 + sed '/^CCOMP/ s/$/ -m64/' configure.wrf.edit > configure.wrf.tmp + mv configure.wrf.tmp configure.wrf.edit + fi + else + CCOMP_MULTI_ABI=1 + sed '/^CCOMP/ s/$/ -m64/' configure.wrf.edit > configure.wrf.tmp + mv configure.wrf.tmp configure.wrf.edit + fi + fi + + if [ $CROSS_COMPILING -eq 1 ] ; then + echo NOTE: + echo This installation of NetCDF is 64-bit + if [ \( $SFC_MULTI_ABI -ne 1 -a "$SFC_arch" != "64-bit" \) \ + -o \( $SCC_MULTI_ABI -ne 1 -a "$SCC_arch" != "64-bit" \) \ + -o \( $CCOMP_MULTI_ABI -ne 1 -a "$CCOMP_arch" != "64-bit" \) ]; then + rm configure.wrf.edit + echo One of Compilers is 32-bit and doesn\'t support cross-compiling. + echo Please check your NetCDF lib and compiler + else + echo -m64 is appended to configure.wrf + echo It will be forced to build in 64-bit. + echo If you don\'t want 64-bit binaries, please use 32-bit NetCDF, and re-run the configure script. + fi + fi + ;; + esac + + if [ -e configure.wrf.edit ]; then + mv configure.wrf.edit configure.wrf + fi + + if [ $CROSS_COMPILING -eq 0 ] ; then + echo "This installation of NetCDF is $netcdf_arch" + echo " C compiler is $SCC_arch" + echo " Fortran compiler is $SFC_arch" + echo " It will build in $netcdf_arch" + echo " " + if [ -e $NETCDF/bin/nc-config ] ; then + echo "NetCDF version: ${ncversion}" + echo "Enabled NetCDF-4/HDF-5: `nc-config --has-nc4`" + echo "NetCDF built with PnetCDF: `nc-config --has-pnetcdf`" + if [ "$USENETCDFPAR" = "1" ] ; then + echo "Using parallel NetCDF via NETCDFPAR option" + fi + echo " " + fi + fi + echo + fi + rm -f ${foo} ${foo}.[cfo] 2> /dev/null +fi + +# testing for Fortran 2003 IEEE features +make fortran_2003_ieee_test > tools/fortran_2003_ieee_test.log 2>&1 +rm -f tools/fortran_2003_ieee_test.log +retval=-1 +if [ -f tools/fortran_2003_ieee_test.exe ] ; then + retval=0 +fi +if [ $retval -ne 0 ] ; then + sed -e '/^ARCH_LOCAL/s/$/ -DNO_IEEE_MODULE/' configure.wrf > configure.wrf.edit + mv configure.wrf.edit configure.wrf + echo " " + echo " " + echo "************************** W A R N I N G ************************************" + echo " " + echo "There are some IEEE Fortran 2003 features in WRF that your compiler does not" + echo "recognize. The IEEE function calls have been removed." + echo " " + echo "*****************************************************************************" +fi + +# testing for Fortran 2003 ISO_C features +make fortran_2003_iso_c_test > tools/fortran_2003_iso_c_test.log 2>&1 +rm -f tools/fortran_2003_iso_c_test.log +retval=-1 +if [ -f tools/fortran_2003_iso_c_test.exe ] ; then + retval=0 +fi +if [ $retval -ne 0 ] ; then + sed -e '/^ARCH_LOCAL/s/$/ -DNO_ISO_C_SUPPORT/' configure.wrf > configure.wrf.edit + mv configure.wrf.edit configure.wrf + echo " " + echo " " + echo "************************** W A R N I N G ************************************" + echo " " + echo "There are some Fortran 2003 features in WRF that your compiler does not recognize" + echo "The routines that utilize ISO_C support have been stubbed out. " + echo "That may not be enough." + echo " " + echo "*****************************************************************************" +fi + +# testing for Fortran 2003 FLUSH features +make fortran_2003_flush_test > tools/fortran_2003_flush_test.log 2>&1 +rm -f tools/fortran_2003_flush_test.log +retval=-1 +if [ -f tools/fortran_2003_flush_test.exe ] ; then + retval=0 +fi +if [ $retval -ne 0 ] ; then + make fortran_2003_fflush_test > tools/fortran_2003_fflush_test.log 2>&1 + rm -f tools/fortran_2003_fflush_test.log + retval=-1 + if [ -f tools/fortran_2003_fflush_test.exe ] ; then + retval=0 + fi + if [ $retval -eq 0 ] ; then + sed -e '/^ARCH_LOCAL/s/$/ -DUSE_FFLUSH/' configure.wrf > configure.wrf.edit + mv configure.wrf.edit configure.wrf + echo " " + echo " " + echo "************************** W A R N I N G ************************************" + echo " " + echo "There are some Fortran 2003 features in WRF that your compiler does not recognize" + echo "The standard FLUSH routine has been replaced by FFLUSH." + echo "That may not be enough." + echo " " + echo "*****************************************************************************" + fi + if [ $retval -ne 0 ] ; then + sed -e '/^ARCH_LOCAL/s/$/ -DNO_FLUSH_SUPPORT/' configure.wrf > configure.wrf.edit + mv configure.wrf.edit configure.wrf + echo " " + echo " " + echo "************************** W A R N I N G ************************************" + echo " " + echo "There are some Fortran 2003 features in WRF that your compiler does not recognize" + echo "The standard FLUSH routine has been stubbed out." + echo "That may not be enough." + echo " " + echo "*****************************************************************************" + fi +fi + +# testing for Fortran 2008 intrinsic gamma function +make fortran_2008_gamma_test > tools/fortran_2008_gamma.log 2>&1 +rm -f tools/fortran_2008_gamma.log +retval=-1 +if [ -f tools/fortran_2008_gamma_test.exe ] ; then + retval=0 +fi +if [ $retval -ne 0 ] ; then + sed -e '/^ARCH_LOCAL/s/$/ -DNO_GAMMA_SUPPORT/' configure.wrf > configure.wrf.edit + mv configure.wrf.edit configure.wrf + echo " " + echo " " + echo "************************** W A R N I N G ************************************" + echo " " + echo "There are some Fortran 2008 features in WRF that your compiler does not recognize" + echo "The intrinsic gamma function is not available, required by some schemes." + echo "That code is stubbbed out, and those schemes are unavailable at run-time." + echo " " + echo "*****************************************************************************" +fi + +# testing for location of rpc/types.h file, used in landuse +if [ -f /usr/include/rpc/types.h ] ; then + sed -e '/^CFLAGS_LOCAL/s/#/-DRPC_TYPES=1 &/' configure.wrf > configure.wrf.edit + mv configure.wrf.edit configure.wrf +elif [ -f /usr/include/tirpc/rpc/types.h ] ; then + sed -e '/^CFLAGS_LOCAL/s/#/-DRPC_TYPES=2 &/' configure.wrf > configure.wrf.edit + mv configure.wrf.edit configure.wrf +else + echo "************************** W A R N I N G ************************************" + echo " " + echo "The moving nest option is not available due to missing rpc/types.h file." + echo "Copy landread.c.dist to landread.c in share directory to bypass compile error." + echo " " + echo "*****************************************************************************" +fi + +# testing for netcdf4 IO features +if [ -n "$NETCDF4" ] ; then + if [ $NETCDF4 -eq 1 ] ; then + make nc4_test > tools/nc4_test.log 2>&1 + retval=-1 + if [ -f tools/nc4_test.exe ] ; then + retval=0 + rm -f tools/nc4_test.log + fi + if [ $retval -ne 0 ] ; then + echo "************************** W A R N I N G ************************************" + echo "NETCDF4 IO features are requested, but this installation of NetCDF " + echo " $NETCDF" + echo "DOES NOT support these IO features. " + echo + echo "Please make sure NETCDF version is 4.1.3 or later and was built with " + echo "--enable-netcdf4 " + echo + echo "OR set NETCDF_classic variable " + echo " bash/ksh : export NETCDF_classic=1 " + echo " csh : setenv NETCDF_classic 1 " + echo + echo "Then re-run this configure script " + echo + echo "!!! configure.wrf has been REMOVED !!!" + echo + echo "*****************************************************************************" + rm -f configure.wrf + else + echo "*****************************************************************************" + echo "This build of WRF will use NETCDF4 with HDF5 compression" + echo "*****************************************************************************" + echo " " + fi + fi +else + echo "*****************************************************************************" + echo "This build of WRF will use classic (non-compressed) NETCDF format" + echo "*****************************************************************************" + echo " " +fi From 0ff2041fd5a672106f0619bce38cc9727d3d7d43 Mon Sep 17 00:00:00 2001 From: ana espinoza Date: Wed, 2 Oct 2024 13:53:42 -0600 Subject: [PATCH 07/10] Install necessary WRF dependencies in jupyter build stage --- jupyter-images/mvu24f/Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jupyter-images/mvu24f/Dockerfile b/jupyter-images/mvu24f/Dockerfile index 78755119..46b33a70 100644 --- a/jupyter-images/mvu24f/Dockerfile +++ b/jupyter-images/mvu24f/Dockerfile @@ -159,7 +159,9 @@ LABEL maintainer="Unidata " USER root RUN apt-get update && \ - apt-get install -y --no-install-recommends vim nano curl zip unzip && \ + apt-get install -y --no-install-recommends vim nano curl zip unzip wget \ + gcc cpp gfortran g++ openmpi-bin libopenmpi-dev git csh perl file \ + make m4 ca-certificates libgl1 && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* From 48866cae9d43b63188a0a2d17636f1663d13d6a1 Mon Sep 17 00:00:00 2001 From: ana espinoza Date: Tue, 15 Oct 2024 16:38:43 -0600 Subject: [PATCH 08/10] Base off of old image due to glibc linking issue --- jupyter-images/mvu24f/Dockerfile | 164 ++----------------------------- 1 file changed, 7 insertions(+), 157 deletions(-) diff --git a/jupyter-images/mvu24f/Dockerfile b/jupyter-images/mvu24f/Dockerfile index 46b33a70..c2623f10 100644 --- a/jupyter-images/mvu24f/Dockerfile +++ b/jupyter-images/mvu24f/Dockerfile @@ -1,156 +1,10 @@ -# Multistage Docker build to include the WRF single column model in a -# JupyterLab environment - -FROM ubuntu as build-wrf - -#################################################### -# Begin WRF ideal single column model compilation # -#################################################### - -# Mostly following the steps outlined here: -# https://forum.mmm.ucar.edu/threads/full-wrf-and-wps-installation-example.12385/ - -# Dependencies missing from base image -RUN apt-get update && apt-get install --yes --no-install-recommends \ - gcc cpp gfortran g++ openmpi-bin libopenmpi-dev git csh perl file \ - make m4 curl vim ca-certificates && \ - apt-get clean && rm -rf /var/lib/apt/lists/* - -# Run tests recommended by MMM to confirm the fortran and c compilers are -# functioning as expected -# https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php#STEP1 -RUN set -x && cd / && mkdir TESTS && cd TESTS && \ - curl https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_tests.tar -O && \ - tar -xf Fortran_C_tests.tar && \ - gfortran TEST_1_fortran_only_fixed.f && ./a.out && \ - gfortran TEST_2_fortran_only_free.f90 && ./a.out && \ - gcc TEST_3_c_only.c && ./a.out && \ - gcc -c -m64 TEST_4_fortran+c_c.c && gfortran -c -m64 TEST_4_fortran+c_f.f90 && \ - gfortran -m64 TEST_4_fortran+c_f.o TEST_4_fortran+c_c.o && ./a.out && \ - ./TEST_csh.csh && \ - ./TEST_perl.pl && \ - ./TEST_sh.sh && \ - cd / && rm -rf TESTS - -# Test for other utilities -RUN which ar awk cat cp cut expr file grep gzip \ - head hostname ln ls make mkdir mv nm printf rm \ - sed sleep sort tar touch tr uname wc which m4 - -########################################################### -# Library and software versions -########################################################### - -ENV NETCDF_VERSION=4.9.0 \ - NETCDF_F_VERSION=4.5.3 \ - WRF_VERSION=4.4.2 - -########################################################### -# Library and software PATHS -########################################################### - -ENV DIR=/Build_WRF/LIBRARIES -ENV NETCDF=$DIR/netcdf -ENV PATH=$NETCDF/bin:$PATH \ - LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NETCDF/lib:/$ZLIB_DIR/lib - -RUN mkdir -p $DIR - -########################################################### -# Compiler options -########################################################### - -ENV CC=gcc \ - CXX=g++ \ - FC=gfortran \ - FCFLAGS=-m64 \ - F77=gfortran \ - FFLAGS=-m64 \ - LDFLAGS="-L$NETCDF/lib" \ - CPPFLAGS="-I$NETCDF/include" - -########################################################### -# Build libraries -########################################################### - -# netcdf-c -# BUILT WITH "--disable-netcdf4" SO WE COMPILE WRF WITH "NETCDF_classic" -RUN set -x && \ - cd / && mkdir -p Build_WRF/LIBRARIES && cd Build_WRF/LIBRARIES && \ - curl https://downloads.unidata.ucar.edu/netcdf-c/$NETCDF_VERSION/netcdf-c-$NETCDF_VERSION.tar.gz -O && \ - tar xzvf netcdf-c-$NETCDF_VERSION.tar.gz && \ - cd netcdf-c-$NETCDF_VERSION && \ - ./configure --enable-shared --disable-netcdf4 --disable-filter-testing --disable-dap --prefix=$DIR/netcdf && \ - make && make install && \ - cd .. && rm -rf netcdf-c-$NETCDF_VERSION* - -# netcdf-f -RUN set -x && \ - export CPPFLAGS="-I$NETCDF/include -L$NETCDF/lib" && \ - cd /Build_WRF/LIBRARIES && \ - curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NETCDF_F_VERSION/netcdf-fortran-$NETCDF_F_VERSION.tar.gz -O && \ - tar xzvf netcdf-fortran-$NETCDF_F_VERSION.tar.gz && \ - cd netcdf-fortran-$NETCDF_F_VERSION && \ - ./configure --prefix=$DIR/netcdf --disable-shared && \ - make && make install && \ - cd .. && rm -rf netcdf-fortran-$NETCDF_F_VERSION - -########################################################### -# Verify libraries will play nice with the compilers used to build WRF -########################################################### - -# https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php#STEP3 - -RUN set -x && \ - cd / && mkdir TESTS && cd TESTS && \ - curl https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_NETCDF_MPI_tests.tar -O && \ - tar -xf Fortran_C_NETCDF_MPI_tests.tar && \ - cp ${NETCDF}/include/netcdf.inc . && \ - gfortran -c 01_fortran+c+netcdf_f.f && \ - gcc -c 01_fortran+c+netcdf_c.c && \ - gfortran 01_fortran+c+netcdf_f.o 01_fortran+c+netcdf_c.o -L${NETCDF}/lib -lnetcdff -lnetcdf && \ - ./a.out && \ - mpif90 -c 02_fortran+c+netcdf+mpi_f.f && \ - mpicc -c 02_fortran+c+netcdf+mpi_c.c && \ - mpif90 02_fortran+c+netcdf+mpi_f.o 02_fortran+c+netcdf+mpi_c.o -L${NETCDF}/lib -lnetcdff -lnetcdf && \ - mpirun --allow-run-as-root ./a.out && \ - cd / && rm -rf TESTS - -########################################################### -# Actually build WRF -########################################################### - -# At the moment, the configure script on the repo has an open issue regarding -# string comparison: -# https://github.com/wrf-model/WRF/issues/1817 -COPY ./configure /tmp/configure -COPY ./Registry.EM_COMMON_edit /tmp/Registry.EM_COMMON_edit - -# ./configure won't run with the options (33 and 0) if this variable is not set -ENV NETCDF_classic=1 - -# Piping the output of "echo '33\r0\r'" tells the script to configure WRF to -# compile for parallel using smpar and the GNU compilers we have been using (33) -# and to compile for no nesting (0) -RUN set -x && \ - cd /Build_WRF && \ - git clone --recurse-submodule https://github.com/wrf-model/WRF.git && \ - cd WRF && \ - git checkout release-v${WRF_VERSION} && \ - mv /tmp/Registry.EM_COMMON_edit ./Registry/Registry.EM_COMMON && \ - mv /tmp/configure ./configure && chmod u+x ./configure && \ - git diff && \ - echo '33\r0\r' | ./configure && \ - ./compile em_scm_xy > log.compile 2>&1 - -########################################################### -# Begin JupyterLab Stage -########################################################### - # Heavily borrowed from docker-stacks/minimal-notebook/ # https://github.com/jupyter/docker-stacks/blob/main/minimal-notebook/Dockerfile -FROM jupyter/minimal-notebook +# Due to a linking issue with glibc, I'm basing this image off a previous +# semester's image + +FROM unidata/mvu24s:2024Mar12_145946_8a22 ENV DEFAULT_ENV_NAME=mvu24f EDITOR=nano VISUAL=nano @@ -169,7 +23,9 @@ USER $NB_UID ADD environment.yml /tmp -RUN mamba install --quiet --yes \ +# Rename the previous environment before updating it +RUN mamba rename mvu24s $DEFAULT_ENV_NAME && \ + mamba install --quiet --yes \ 'conda-forge::nb_conda_kernels' \ 'conda-forge::jupyterlab-git' \ 'conda-forge::ipywidgets' && \ @@ -189,10 +45,4 @@ COPY additional_kernels.ipynb update_material.ipynb Acknowledgements.ipynb \ ARG JUPYTER_SETTINGS_DIR=/opt/conda/share/jupyter/lab/settings/ COPY overrides.json $JUPYTER_SETTINGS_DIR -COPY --from=build-wrf /Build_WRF /Build_WRF - -USER root -RUN chown -R ${NB_UID}:${NB_GID} /Build_WRF/WRF && \ - ldconfig /Build_WRF/LIBRARIES/netcdf/lib - USER $NB_UID From 1df07d826a23a7c82301ee1df3dfa882d031e643 Mon Sep 17 00:00:00 2001 From: ana espinoza Date: Thu, 17 Oct 2024 15:44:24 -0600 Subject: [PATCH 09/10] Fixes --- jupyter-images/mvu24f/Dockerfile | 5 ++++- jupyter-images/mvu24f/environment.yml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/jupyter-images/mvu24f/Dockerfile b/jupyter-images/mvu24f/Dockerfile index c2623f10..47da26cf 100644 --- a/jupyter-images/mvu24f/Dockerfile +++ b/jupyter-images/mvu24f/Dockerfile @@ -24,7 +24,7 @@ USER $NB_UID ADD environment.yml /tmp # Rename the previous environment before updating it -RUN mamba rename mvu24s $DEFAULT_ENV_NAME && \ +RUN mamba rename -n mvu24s $DEFAULT_ENV_NAME && \ mamba install --quiet --yes \ 'conda-forge::nb_conda_kernels' \ 'conda-forge::jupyterlab-git' \ @@ -45,4 +45,7 @@ COPY additional_kernels.ipynb update_material.ipynb Acknowledgements.ipynb \ ARG JUPYTER_SETTINGS_DIR=/opt/conda/share/jupyter/lab/settings/ COPY overrides.json $JUPYTER_SETTINGS_DIR +RUN chown -R ${NB_UID}:${NB_GID} /Build_WRF/WRF && \ + ldconfig /Build_WRF/LIBRARIES/netcdf/lib + USER $NB_UID diff --git a/jupyter-images/mvu24f/environment.yml b/jupyter-images/mvu24f/environment.yml index 6ebbf6e6..f69048fc 100644 --- a/jupyter-images/mvu24f/environment.yml +++ b/jupyter-images/mvu24f/environment.yml @@ -31,7 +31,7 @@ dependencies: - typhon - ipympl - proplot - - pyarts=2.5.12 + - pyarts - pip: - miepython variables: From 51df7f76a6cc38fdc213f78dbf9e89dd731d0ad3 Mon Sep 17 00:00:00 2001 From: ana espinoza Date: Thu, 17 Oct 2024 15:54:43 -0600 Subject: [PATCH 10/10] More fixes --- jupyter-images/mvu24f/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jupyter-images/mvu24f/Dockerfile b/jupyter-images/mvu24f/Dockerfile index 47da26cf..f9b9cbe7 100644 --- a/jupyter-images/mvu24f/Dockerfile +++ b/jupyter-images/mvu24f/Dockerfile @@ -45,6 +45,8 @@ COPY additional_kernels.ipynb update_material.ipynb Acknowledgements.ipynb \ ARG JUPYTER_SETTINGS_DIR=/opt/conda/share/jupyter/lab/settings/ COPY overrides.json $JUPYTER_SETTINGS_DIR +USER root + RUN chown -R ${NB_UID}:${NB_GID} /Build_WRF/WRF && \ ldconfig /Build_WRF/LIBRARIES/netcdf/lib