.. vim: syntax=rst .. include:: meta.rest .. role:: raw-html(raw) :format: html APPENDICES ========== This section contains supplementary information. .. _section-a1: A1. Standalone (Uncoupled) WRF-Hydro Test Case User Guide --------------------------------------------------------- Purpose ^^^^^^^ This example test case is meant to orient you to running the WRF-Hydro modelling system using prepared geographical inputs, and prepared forcing data for a specific region (domain). We provide baseline instructions to test that your WRF-Hydro executable was compiled correctly and is able to run on your system. Please see the Readme.txt file provided with the test case for specific file descriptions and a regional description. This test case provides example namelists and prepared geographical input files for three routing configurations. While the step-by-step walkthrough instructions here guide you through running the Gridded configuration we suggest that you explore the other routing configurations and related namelists for reference. For further information on the WRF-Hydro modeling system and possible training opportunities, please visit https://ral.ucar.edu/projects/wrf_hydro. Requirements ^^^^^^^^^^^^ - WRF-Hydro source code: - https://github.com/NCAR/wrf_hydro_nwm_public.git - ``git clone`` into directory where you will be running this case - An official WRF-Hydro example test case: - Download from: https://ral.ucar.edu/projects/wrf_hydro/testcases - or from release assets at: https://github.com/NCAR/wrf_hydro_nwm_public/releases - All system libraries needed by the WRF-Hydro modeling system can be found in the :ref:`build instructions `. Step-by-step walkthrough ^^^^^^^^^^^^^^^^^^^^^^^^ **Directory structure setup**: We will organize all files and folders under a common top-level directory to simplify commands in this walkthrough. All paths mentioned in this walkthrough will be relative to this top-level directory. For example, :file:`/home/user/project_directory/example_case/` will be referred to as :file:`example_case/`. #. Open a terminal window #. Create a top-level directory that will hold all subdirectories and files used for this walkthrough. Hereafter referred to as the ‘project directory’. #. Copy the uncompressed WRF-Hydro source code into the project directory created in step 2. #. Copy the example case directory into the project directory as well. #. An example of your project directory structure using the Croton, NY example test case would look like the following: .. code-block:: console project_directory/ ├──wrf_hydro_nwm_public/ | ├──src/ | ├──example_case/ ├──Gridded_no_lakes/ ├──Gridded/ ├──NWM/ ├──Reach/ ├──ReachLakes/ ├──FORCING/ ├──supplemental/ ├──Readme.txt Compiling the Code ^^^^^^^^^^^^^^^^^^ If you have not built WRF-Hydro before on your current system, please follow the instructions in the :ref:`build instructions ` to ensure you have all the necessary library dependencies available. If you have already built WRF-Hydro, you can skip to step "CMake Build", repeated here: .. code-block:: bash $ cd project_directory/wrf_hydro_nwm_public # project_directory/ from above $ mkdir build $ cd build $ cmake -DHYDRO_D=1 [-DWRF_HYDRO_NUDGING=1] .. # include -DWRF_HYDRO_NUDGING=1 if you want to use the NWM test case $ make -j 4 The executables, namelists and tables will be created in the ``build/Run`` directory. Running a WRF-Hydro Simulation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In this section we will use our compiled WRF-Hydro model and an example test case to run a WRF-Hydro simulation. This walkthrough is using the Croton, NY example test case. After extracting the Croton tarball details on the domain and time period of the simulation are provided in the :file:`example_case/Readme.txt` file. 1. First we need to copy the TBL and executable files in the :file:`wrf_hydro_nwm_public*/src/build/Run` directory to the directory containing the domain and forcing files. For the WRF-Hydro Gridded configuration, these files are located in the directory :file:`example_case/Gridded`. Copy the :file:`*.TBL` files to the example configuration directory: | *(from your project directory)* | :code:`cp wrf_hydro_nwm_public*/build/Run/\*.TBL example_case/Gridded` Copy the :file:`wrf_hydro.exe` file: :code:`cp wrf_hydro_nwm_public*/build/Run/wrf_hydro.exe example_case/Gridded` .. note:: There are other configuration subfolders with the names such as :file:`Gridded`, :file:`nwm`, and :file:`Reach`. These folders contain prepared files for other configurations of WRF-Hydro. They are found under the :file:`src/template/` directory. Information regarding physics options and routing configurations can be found in the main body of the *WRF-Hydro* v\ |version_short| *Technical Description*. Also, note that there is only one :file:`FORCING/` directory. The same forcing data can be used for all configurations. 2. Next, we need to link our forcing data to the :file:`Gridded/` directory. From the :file:`example_case/Gridded directory`, create a symlink: :code:`ln -s ../FORCING .` Your project directory should now have the following directory structure and files: .. code-block:: console project_directory/ ├──wrf_hydro_nwm_public/ | ├──src/ | ├──build/ | ├──example_case/ ├──Gridded/ ├──FORCING/ ├──DOMAIN/ ├──RESTART/ ├──referenceSim/ ├──CHANPARM.TBL ├──GENPARM.TBL ├──HYDRO.TBL ├──MPTABLE.TBL ├──SOILPARM.TBL ├──hydro.namelist ├──namelist.hydrodas ├──wrf_hydro.exe 3. Now we will run the simulation. Note that there are many options and filepaths that need to be set in the two namelist files :file:`hydro.namelist` and :file:`namelist.hrldas`. However, for this walkthrough these files have been prepared for you. Before running the model, ensure you are in the :file:`example_case/Gridded` directory. We will now run the model using :command:`mpirun` with 2 cores. This command may differ depending on your system configuration, but here is an example of what this might look like: .. code-block:: bash mpirun -np 2 ./wrf_hydro.exe 4. If your simulation ran successfully, there should now be a large number of output files. Descriptions of the output files and their contents can be found in :ref:`Appendix A19 `. There are also two important files for determining the success or failure of the run, :file:`diag_hydro.00000` and :file:`diag_hydro.00001`. These :file:`diag_hydro` files contain logs and diagnostics on the simulation run, and one file is produced per core used in the run. Since we ran using 2 cores, we have 2 :file:`diag_hydro` files. You can check that your simulation ran successfully by examining the last line of the diag files, which should read: .. code-block:: console The model finished successfully........ If this line is not present, the simulation did not finish successfully. 5. You can check the validity of your simulation results by comparing the restart files produced during your model run with the restart files included in the :file:`example_case/Gridded/referenceSim` directory. The restart files contain all the model states and thus provide a simple means for testing if two simulations produced the same results. .. note:: Our current example test cases have only been run and tested with the Noah-MP land surface model. For information regarding running WRF-Hydro with Noah please see :ref:`Appendix A3 `. .. _section-a2: A2. Coupled WRF | WRF-Hydro Test Case User Guide ------------------------------------------------ Purpose ^^^^^^^ This test case for the coupled WRF | WRF-Hydro modeling system is meant to orient you to running the modeling system using prepared geographical inputs for WRF-Hydro and sample initial and boundary conditions for WRF. Note that some of the initial and boundary conditions for this test case have been modified in order to produce a hydrologic response over a very limited spatial domain. Results generated from this test case should not be interpreted as a real simulation and users should consult the WRF and WPS documentation for best practices with respect to domain and model configuration. The purpose of this test case is to provide baseline instructions and a computationally tractable test case for users to familiarize themselves with the modeling system and help ensure the modeling system is running properly on their systems. Please see the README.txt file provided with the test case for a more detailed description of the contents. For a detailed technical description of WRF-Hydro and instructions on how to run WRF | WRF-Hydro in coupled mode see the `WRF-Hydro Technical Description documentation `_ and How to Run WRF-Hydro V5 in Coupled Mode user guide available from https://ral.ucar.edu/projects/wrf_hydro. For further information regarding the WRF model and the WRF Preprocessing System (WPS) see the WRF Users’ Guide located here: http://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/contents.html Requirements ^^^^^^^^^^^^ - WRF-Hydro source code: https://github.com/NCAR/wrf_hydro_nwm_public.git - Git clone into directory where you will be running this case - Download WRF and WPS source code: - WRF: https://github.com/wrf-model/WRF - WPS: https://github.com/wrf-model/WPS - WPS geographic data http://www2.mmm.ucar.edu/wrf/src/wps_files/geog_high_res_mandatory.tar.gz - An official WRF-Hydro coupled test case: https://ral.ucar.edu/projects/wrf_hydro/testcases - All system libraries needed by the WRF-Hydro modelling system can be found in the How To Build & Run WRF-Hydro V5 in Standalone Mode user guide and the FAQ web page located at https://ral.ucar.edu/projects/wrf_hydro - All system libraries needed by the WRF modeling system and WPS can be found in the WRF User’s Guide located here: http://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/contents.html Step-by-step walkthrough ^^^^^^^^^^^^^^^^^^^^^^^^ **Directory structure setup**: We will organize all files and folders under a common top-level directory to simplify commands in this walkthrough. All paths mentioned in this walkthrough will be relative to this top-level directory. For example, /home/user/project_directory/example_case_coupled/ will be referred to as example_case_coupled/. The following steps walk you through how to setup your project directory. 1. Open a terminal window 2. Create a top-level directory that will hold all subdirectories and files used for this walkthrough. Hereafter referred to as the ‘project directory’. 3. Git clone WRF-Hydro, WRF, and WPS into project directory created in step 2. Here are examples of possible commands to use, modify as needed: .. code-block:: console git clone https://github.com/NCAR/wrf_hydro_nwm_public.git git clone --recurse-submodule --branch v4.6.1 https://github.com/wrf-model/WRF.git git clone --branch v4.6.0 https://github.com/wrf-model/WPS.git wget https://github.com/NCAR/wrf_hydro_nwm_public/releases/download/v5.4.0/croton_NY_training_example_v5.4.tar.gz 4. Copy the uncompressed WPS geographic data into the WPS directory. 5. Copy the uncompressed coupled example case into the project directory. 6. Your project directory structure will look like the following: .. code-block:: console project_directory/ ├──run/ │ ├──WPS/ │ └──WRF/ ├──wrf_hydro_nwm_public*/ │ └──src/ ├──WRF*/ ├──WPS*/ │ ├──geogrid/ │ ├──metgrid/ │ ├──ungrib/ │ └──geog/ └──example_case_coupled/ ├──WRF_FORCING/ └──DOMAIN/ Compiling the Code ^^^^^^^^^^^^^^^^^^ This section will walk you through compiling the coupled WRF | WRF-Hydro modeling system and the WRF Preprocessing System (WPS) utilities **Compiling the coupled WRF | WRF-Hydro modeling system** 1. Navigate to the WRF source code directory at WRF* .. code-block:: console cd WRF* 2. Remove the old WRF-Hydro source code contained within this directory and replace it with the updated version you just downloaded .. code-block:: console rm -r hydro cp -r ../wrf_hydro*/src hydro 3. Load appropriate modules on Derecho: .. code-block:: console module load ncarenv gcc ncarcompilers cray-mpich craype 4a. Configure WRF: CMake (preferred method) .. code-block:: console cd …/WRF/ # CMake option to turn on WRF-Hydro nudging `-DWRF_HYDRO_NUDGING=1` ./configure_new -x -p gfortran/gcc -- -DWRF_CORE=ARW -DWRF_NESTING=BASIC -DENABLE_HYDRO=ON -DWRF_CASE=EM_REAL ./compile_new 4b. Configure WRF: Old Method .. code-block:: console # Load environement variables source WRF/hydro/template/setEnvar.sh # Export paths necessary for WRF to find the right libraries, follow the link # https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php#STEP2 # under "Building Libraries" to build the appropriate WRF libraries export DIR=path/to/WRF/Build_WRF/LIBRARIES export NETCDF_INC=$DIR/netcdf/include export NETCDF_LIB=$DIR/netcdf/lib export CC="gcc" export CXX="g++" export FC="gfortran" export FCFLAGS="-m64" export F77="gfortran" export FFLAGS="-m64" export JASPERLIB=$DIR/grib2/lib export JASPERINC=$DIR/grib2/include export LDFLAGS=-L$DIR/grib2/lib setenv CPPFLAGS -I$DIR/grib2/include # Configure WRF # On Derecho, selection option 50 (Intel dmpar Cray XC) and 1 (basic nesting) cd …/WRF/ ./configure ./compile >& compile.log **Compiling the WRF Preprocessing System (WPS)** Make sure that paths are set as in Step #5b from above 1. Navigate to the WPS source code directory at WPS* 2. Configure the WPS .. code-block:: console ./configure_new For Derecho select option 43: Cray XC CLE/Linux x86_64, Intel Classic compilers (dmpar). 3. Compile the code and pipe the output to a log file. .. code-block:: console ./compile_new >& compile.log check the compile log for errors. Running the WRF Preprocessing System (WPS) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In this section we will use the compiled WRF Preprocessing System (WPS) utilities along with a namelist file ( namelist.wps ) and meteorological forcing data from the coupled test case to generate geogrid and metgrid files for the two model domains (note that the inner nest, or domain 2, is where WRF-Hydro will run). **Running the geogrid utility** 1. Create a run directory for WPS within your project directory .. code-block:: console mkdir -p run/WPS cd run/WPS 2. Now copy the required files for the WPS geogrid utility into your run directory .. code-block:: console cp ../../WPS*/install/bin/geogrid.exe . cp ../../WPS*/geogrid/GEOGRID.TBL . cp ../../example_case_coupled/namelist.wps . Edit the paths within this namelist as appropriate for your system 3. Edit the path to geographic data in your ``namelist.wps`` file so that .. code-block:: console geog_data_path = '/glade/work/wrfhelp/WPS_GEOG/', 4. Run the geogrid utility .. code-block:: console ./geogrid.exe >& geogrid.log **Running the ungrib utility** The ungrib utility takes meteorological forcing data to be used for simulation initial and boundary conditions and converts the files to an intermediate file format used by the metgrid utility. Make sure modules are loaded from previous steps. 1. Now copy the additional required files for the WPS ungrib utility into your run directory .. code-block:: console cp ../../WPS*/install/bin/ungrib.exe . cp ../../WPS*/link_grib.csh . 2. Next copy over the necessary variable table for your forcing data .. code-block:: console cp ../../WPS*/ungrib/Variable_Tables/Vtable.NAM Vtable 3. If the grib-util module is not loaded, make sure grib2 library is available .. code-block:: console export LD_LIBRARY_PATH=$DIR/grib2/lib/:$LD_LIBRARY_PATH 4. Then link your forcing data from the test case to the run directory (this script will also rename the files to those expected for the ungrib utility) .. code-block:: console ./link_grib.csh ../../example_case_coupled/WRF_FORCING/* 5. Next run the ungrib utility .. code-block:: console ./ungrib.exe >& ungrib.log **Running the metgrid utility** The metgrid utility does some interpolation of meteorological forcing data to the model domain creating metgrid files to be used as input to the WRF real utility. 1. Now copy additional the required files for the WPS metgrid utility into your run directory .. code-block:: console cp ../../WPS/install/bin/metgrid.exe . cp ../../WPS/metgrid/METGRID.TBL . 2. Next run the metgrid utility .. code-block:: console ./metgrid.exe >& metgrid.log Running a coupled WRF | WRF-Hydro simulation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In this section we will use our compiled coupled WRF | WRF-Hydro model to run a simulation. This walkthrough uses the Front Range coupled example test case. Details on the domain and time period of the simulation are provided in the example_case_coupled/README.txt file. **Setting up your run directory** First we will create a run directory and copy over or link the required files. 1. Create a run directory for WRF by copying over the run directory from where it was compiled .. code-block:: console cd project_directory mkdir run cp -RL WRF*/run run/WRF cd run/WRF 2. Copy over parameter tables for WRF-Hydro .. code-block:: console cp ../../WRF/hydro/src/template/HYDRO/*TBL . cp ../../WRF/hydro/Land_models/NoahMP/run/*.TBL . 3. Copy over the namelists for real / wrf (namelist.input) and the hydro components (hydro.namelist) from the example case .. code-block:: console cp ../../example_case_coupled/namelist.input . cp ../../example_case_coupled/hydro.namelist . cp ../../WRF/hydro/template/NoahMP/namelist.hrldas . cp -r ../../example_case_coupled/DOMAIN/ . 4. Link the geogrid and metgrid files we just generated from the WPS utilities .. code-block:: console ln -sf ../WPS/met_em* . ln -sf ../WPS/geo_em* . 4. Copy executable files .. code-block:: console cp ../../WRF/install/bin/real . cp ../../WRF/install/bin/wrf . **Running the real utility** The WRF real utility creates the wrfinput* and wrfbdy* initial and boundary condition files to be used as input for the coupled simulation. 1. Execute real using the proper syntax for your system (example below) and pipe the output to a log file. .. code-block:: console mpirun -np 2 ./real >& real.log 2. Next review the rsl.out.* and rsl.error.* files for possible errors and check to make sure the wrfinput* and wrfbdy* files have been created. **Running the coupled model** Now we will run the coupled model (all included in the wrf binary) using the wrfinput* and wrfbdy* files as initial and boundary conditions and the model physics and other options selected in the namelist.input and hydro.namelist files. 1. Execute wrf.exe using the proper syntax for your system (example below) and pipe the output to a log file. .. code-block:: console mpirun -np 2 ./wrf >& wrf.log 2. If your simulation ran successfully, there should now be a large number of output files. Descriptions of the output files can be found in the WRF-Hydro V5 Technical Description at ( https://ral.ucar.edu/projects/wrf_hydro ) and the WRF User’s Guide found here ( http://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/contents.html ). You will also want to review the rsl.out.* and rsl.error.* files for possible error messages. .. _section-a3: A3. Exceptions for Running WRF-Hydro with the Noah LSM ------------------------------------------------------ Support for the Noah Land Surface Model (LSM) within WRF-Hydro is currently frozen at Noah version 3.6, development to use the `refactored NoahMP `_ as a submodule is under way. Since the Noah LSM is not under active development by the community, WRF-Hydro is continuing to support Noah in deprecated mode only. Some new model features, such as the improved output routines, have not been setup to be backward compatible with Noah. Noah users should follow the guidelines below for adapting the WRF-Hydro workflow to work with Noah: - **LSM initialization:** The simple wrfinput.nc initialization file created by the create_Wrfinput.R script does not currently include all of the fields required by the Noah LSM. Therefore, Noah users should use the WRF real.exe utility to create a wrfinput_d0x file. Refer to the WRF documentation and user guides for information on how to do this. - **Time-varying vegetation specifications:** While the Noah LSM will be properly initialized with green vegetation fraction from the wrfinput file, there is currently no automated method to update this field over time (e.g., seasonally based on climatology). Therefore, Noah users will need to provide these time-varying fields in the model input forcing files (e.g., LDASIN). - **Spatially varying parameters**: Spatially varying soil and vegetation parameters (e.g., soil_properties.nc) are not supported in Noah. - **Model outputs:** The updated output routines have not been adapted to work with Noah. Therefore, Noah users should always use io_form_outputs = 0 to activate the deprecated output routines. Scale/offset and compression options, CF compliance, augmented spatial metadata, etc. are not available in this deprecated mode. .. _section-a4: A4. Noah `namelist.hrldas` File with Description of Options ----------------------------------------------------------- Below is an annotated namelist.hrldas file for running with the Noah land surface model. Notes and descriptions are indicated with <-- .. code-block:: fortran &NOAHLSM_OFFLINE HRLDAS_CONSTANTS_FILE = "./DOMAIN/wrfinput_d01" !!<-- Path to wrfinput file containing initialization data ! for the LSM. This is required even for a warm start ! where a restart file is provided. INDIR = "./FORCING" !<-- Path to atmospheric forcing data directory. OUTDIR = "./" !<-- Generally leave this as-is (output goes to base run directory); ! redirected output only applies to LSM output files and can cause ! issues when running coupled to WRF-Hydro. START_YEAR = 2013 !<-- Simulation start year START_MONTH = 09 !<-- Simulation start month START_DAY = 01 !<-- Simulation start day START_HOUR = 00 !<-- Simulation start hour START_MIN = 00 !<-- Simulation start min RESTART_FILENAME_REQUESTED = "RESTART.2013090100_DOMAIN1" !<-- Path to LSM restart file if using; this contains a ! "warm" model state from a previous model run. ! Comment out if not a restart simulation. ! Specification of simulation length in days hours KHOUR = 24 !<-- Number of hours for simulation; ! Timesteps in units of seconds FORCING_TIMESTEP = 3600 !<-- Timestep for forcing input data (in seconds) NOAH_TIMESTEP = 3600 !<-- Timestep the LSM to cycle (in seconds) OUTPUT_TIMESTEP = 86400 !<-- Timestep for LSM outputs, LDASOUT (in seconds) ! Land surface model restart file write frequency RESTART_FREQUENCY_HOURS = 6 !<-- Timestep for LSM restart files to be generated (in hours). A value of -99999 ! will simply output restarts on the start of each month, useful for longer ! model runs. Restart files are generally quite large, so be cognizant of ! storage space and runtime impacts when specifying. ! Split output after split_output_count output times. SPLIT_OUTPUT_COUNT = 1 !<-- Number of timesteps to put in a single output file. This option ! must be 1 for NWM output configurations. ! Soil layer specification NSOIL=4 !<-- Number of soil layers ZSOIL(1) = 0.10 !<-- Thickness of top soil layer (m) ZSOIL(2) = 0.30 !<-- Thickness of second soil layer (m) ZSOIL(3) = 0.60 !<-- Thickness of third soil layer (m) ZSOIL(4) = 1.00 !<-- Thickness of bottom soil layer (m) ! Forcing data measurement heights ZLVL = 2.0 !<-- Height of input temperature and humidity measurement/estimate ZLVL_WIND = 10.0 !<-- Height of input wind speed measurement/estimate IZ0TLND = 0 !<-- Switch to control land thermal roughness length. Option 0 is the default, ! non-vegetation dependent value and option 1 introduces a vegetation dependence. SFCDIF_OPTION = 0 !<-- Option to use the newer, option 1, or older, option 0, SFCDIF routine. The default value is 0. UPDATE_SNOW_FROM_FORCING = .FALSE. !<-- Option to activate or deactivate updating the snow­cover ! fields from available analyses. The default option is true. ! -------- Section: Select atmospheric forcing input file format, FORC_TYP -------- ! ! Specification of forcing data: 1=HRLDAS-hr format, 2=HRLDAS-min format, ! 3=WRF,4=Idealized, 5=Ideal w/ Spec.Precip., ! 6=HRLDAS-hrly fomat w/ Spec. Precip, 7=WRF w/ Spec. Precip FORC_TYP = 3 / .. _section-a5: A5. Noah-MP `namelist.hrldas` File with Description of Options -------------------------------------------------------------- Below is an annotated namelist.hrldas file for running with the Noah-MP land surface model. Do note that the file says ``&NOAHLSM_OFFLINE`` however it is for use with the Noah-MP LSM. This namelist statement happens to be hardcoded and thus not easily changed. Notes and descriptions are indicated with <-- after sections being described. See the official HRLDAS namelist description here: https://github.com/NCAR/hrldas-release/blob/release/HRLDAS/run/README.namelist .. code-block:: fortran &NOAHLSM_OFFLINE HRLDAS_SETUP_FILE = "./DOMAIN/wrfinput_d01" !<-- Path to wrfinput file containing initialization ! data for the LSM. This is required even for a warm ! start where a restart file is provided. INDIR = "./FORCING" !<-- Path to atmospheric forcing data directory. SPATIAL_FILENAME = "./DOMAIN/soil_properties.nc" !<-- Path to optional 2d/3d soil and vegetation ! parameter file. If you are using this option, ! you must also use a binary compiled with ! SPATIAL_SOIL=1. If using the traditional ! parameter lookup tables, compile with ! SPATIAL_SOIL=0 and comment out this option. OUTDIR = "./" !<-- Generally leave this as-is (output goes to base run directory); redirected ! output only applies to LSM output files ! and can cause issues when running coupled to WRF-Hydro. START_YEAR = 2013 !<-- Simulation start year START_MONTH = 09 !<-- Simulation start month START_DAY = 12 !<-- Simulation start day START_HOUR = 04 !<-- Simulation start hour START_MIN = 00 !<-- Simulation start min RESTART_FILENAME_REQUESTED = "RESTART.2013091204_DOMAIN1" !<-- Path to LSM restart file if using; ! this contains a "warm" model state ! from a previous model run. Comment out ! if not a restart simulation. ! Specification of simulation length in days OR hours KHOUR = 24 !<-- Number of hours for simulation ! -------- Following Section: Noah-MP physics options -------- ! ! Physics options (see the documentation for details) DYNAMIC_VEG_OPTION = 4 !<-- options for dynamic vegetation: ! 1 -> off (use table LAI; use FVEG = SHDFAC from input) ! 2 -> on (together with OPT_CRS = 1) ! 3 -> off (use table LAI; calculate FVEG) ! **4 -> off (use table LAI; use maximum vegetation fraction) ! **5 -> on (use maximum vegetation fraction) ! 6 -> on (use FVEG = SHDFAC from input) ! 7 -> off (use input LAI; use FVEG = SHDFAC from input) ! 8 -> off (use input LAI; calculate FVEG) ! 9 -> off (use input LAI; use maximum vegetation fraction) CANOPY_STOMATAL_RESISTANCE_OPTION = 1 !<-- options for canopy stomatal resistance ! **1 -> Ball-Berry ! 2 -> Jarvis BTR_OPTION = 1 !<-- options for soil moisture factor for stomatal resistance ! **1 -> Noah (soil moisture) ! 2 -> CLM (matric potential) ! 3 -> SSiB (matric potential) RUNOFF_OPTION = 3 !<-- options for runoff and groundwater ! 1 -> TOPMODEL with groundwater (Niu et al. 2007 JGR) ! 2 -> TOPMODEL with an equilibrium water table (Niu et al. 2005 JGR) ! **3 -> original surface and subsurface runoff (free drainage) ! 4 -> BATS surface and subsurface runoff (free drainage) ! 5 -> Miguez-Macho&Fan groundwater scheme (Miguez-Macho et al. 2007 JGR; ! Fan et al. 2007 JGR) [NOT YET SUPPORTED WITH WRF-HYDRO] ! 7 -> Xinanjiang runoff scheme SURFACE_DRAG_OPTION = 1 !<-- options for surface layer drag coeff (CH & CM) ! **1 -> M-O ! 2 -> original Noah (Chen97) FROZEN_SOIL_OPTION = 1 !<-- options for frozen soil permeability ! **1 -> linear effects, more permeable (Niu and Yang, 2006, JHM) ! 2 -> nonlinear effects, less permeable (old) SUPERCOOLED_WATER_OPTION = 1 !<-- options for supercooled liquid water (or ice fraction) ! **1 -> no iteration (Niu and Yang, 2006 JHM) ! 2 -> Koren's iteration RADIATIVE_TRANSFER_OPTION = 3 !<-- options for radiation transfer ! 1 -> modified two-stream (gap = F(solar angle, 3D structure ...)<1-FVEG) ! 2 -> two-stream applied to grid-cell (gap = 0) ! **3 -> two-stream applied to vegetated fraction (gap=1-FVEG) SNOW_ALBEDO_OPTION = 1 !<-- options for ground snow surface albedo ! **1 -> BATS ! 2 -> CLASS PCP_PARTITION_OPTION = 1 !<-- options for partitioning precipitation into rainfall & snowfall ! **1 -> Jordan (1991) ! 2 -> BATS: when SFCTMP SFCTMP < TFRZ ! 4 -> Use WRF microphysics output TBOT_OPTION = 2 !<-- options for lower boundary condition of soil temperature ! 1 -> zero heat flux from bottom (ZBOT and TBOT not used) ! **2 -> TBOT at ZBOT (8m) read from a file (original Noah) TEMP_TIME_SCHEME_OPTION = 3 !<-- options for snow/soil temperature time scheme (only layer 1) ! 1 -> semi-implicit; flux top boundary condition ! 2 -> full implicit (original Noah); temperature top boundary condition ! **3 -> same as 1, but FSNO for TS calculation (generally improves snow; v3.7) GLACIER_OPTION = 2 !<-- options for glacier treatment ! 1 -> include phase change of ice ! **2 -> ice treatment more like original Noah (slab) SURFACE_RESISTANCE_OPTION = 4 !<-- options for surface resistent to evaporation/sublimation ! 1 -> Sakaguchi and Zeng, 2009 ! 2 -> Sellers (1992) ! 3 -> adjusted Sellers to decrease RSURF for wet soil ! **4 -> option 1 for non-snow; rsurf = rsurf_snow for snow (set in MPTABLE); AD v3.8 IMPERV_OPTION = 9 !<-- options for impervious adjustment for surface runoff partitioning ! 0 -> none ! 1 -> adjust based on impervious fraction ! 2 -> adjust based on effective impervious fraction from Alley & Veenhuis ! **9 -> original formulation (varies based on runoff option) ! Timesteps in units of seconds FORCING_TIMESTEP = 3600 !<-- Timestep for forcing input data (in seconds) NOAH_TIMESTEP = 3600 !<-- Timestep the LSM to cycle (in seconds) OUTPUT_TIMESTEP = 86400 !<-- Timestep for LSM outputs, LDASOUT (in seconds) ! Land surface model restart file write frequency RESTART_FREQUENCY_HOURS = 2 !<-- Timestep for LSM restart files to be generated (in hours). ! A value of -99999 will simply output restarts on the start of ! each month, useful for longer model runs. Restart files are ! generally quite large, so be cognizant of storage space and ! runtime impacts when specifying. ! Split output after split_output_count output times. SPLIT_OUTPUT_COUNT = 1 !<-- Number of timesteps to put in a single output file. This option must be 1 for NWM output configurations. ! Soil layer specification NSOIL=4 !<-- Number of soil layers soil_thick_input(1) = 0.10 !<-- Thickness of top soil layer (m) soil_thick_input(2) = 0.30 !<-- Thickness of second soil layer (m) soil_thick_input(3) = 0.60 !<-- Thickness of third soil layer (m) soil_thick_input(4) = 1.00 !<-- Thickness of bottom soil layer (m) ! Forcing data measurement height for winds, temp, humidity ZLVL = 10.0 !<-- Height of input wind speed ! -------- Following Section: Restart IO file formats -------- ! ! Options to specify whether restart files (both read in and output) ! should be in binary or netCDF format. Generally recommend using ! netCDF format (option 0) for both. ! Restart file format options rst_bi_in = 0 !<-- 0: use netcdf input restart file 1: use parallel io for reading multiple ! restart files (1 per core) rst_bi_out = 0 !<-- 0: use netcdf output restart file 1: use parallel io for outputting multiple ! restart files (1 per core) ! -------- Optional forcing variable names -------- ! ! These can be left out of the namelist and will default to the values below, ! so only need to be specified if using alternative names. ! Forcing input variable names forcing_name_T = "T2D" !<-- variable name for air temperature forcing_name_Q = "Q2D" !<-- variable name for humidity forcing_name_U = "U2D" !<-- variable name for u-component of wind speed forcing_name_V = "V2D" !<-- variable name for v-component of wind speed forcing_name_P = "PSFC" !<-- variable name for surface pressure forcing_name_LW = "LWDOWN" !<-- variable name for downward longwave radiation forcing_name_SW = "SWDOWN" !<-- variable name for downward shortwave radiation forcing_name_PR = "RAINRATE" !<-- variable name for precipitation rate ! Optional way to supply liquid or snow fraction of precipitation, e.g., if provided ! by an atmospheric model. Otherwise the land model will estimate this. ! NOTE: You can provide either frozen fraction or liquid fraction (no need to provide both). forcing_name_SN = "" !<-- variable name for frozen fraction of precipitation forcing_name_LF = "LQFRAC" !<-- variable name for liquid fraction of precipitation / &WRF_HYDRO_OFFLINE ! Specification of forcing data: 1=HRLDAS-hr format, 2=HRLDAS-min format, ! 3=WRF, 4=Idealized, 5=Ideal w/ Spec.Precip., ! 6=HRLDAS-hrly fomat w/ Spec. Precip, 7=WRF w/ Spec.Precip FORC_TYP = 1 / ! -------- Optional settings for the Crocus snow model -------- ! ! These options can be excluded if not using the Crocus snow/glacier model. &CROCUS_nlist crocus_opt = 0 !<-- 0 means the Crocus model is off (default) ! 1 means the Crocus model is on act_lev = 40 !<-- Specify the number of layers the Crocus snow model will resolve. ! More layers will require more memory and may slow performance. ! 20-40 normal range, 1-50 acceptable / .. _section-a6: A6. WRF-Hydro `hydro.namelist` File with Description of Options --------------------------------------------------------------- Below is an annotated hydro.namelist file. Annotations follow what is being described, indicated with <-- and blue text. Note that annotations describing options are meant to accompany the commented description in the namelist which precedes the option. .. _hydro-namelist: .. code-block:: fortran &HYDRO_nlist !!!! --------------- SYSTEM COUPLING -------------- !!!! ! Specify what is being coupled: 1=HRLDAS (offline Noah-LSM), ! 2=WRF, 3=NASA/LIS, 4=CLM sys_cpl = 1 !<-- For offline runs, including Noah and Noah-MP, this will be option 1. !!!! ----------- MODEL INPUT DATA FILES ----------- !!!! ! Specify land surface model gridded input data file (e.g.: "geo_em.d01.nc") GEO_STATIC_FLNM = "./DOMAIN/geo_em.d01.nc" !<-- Path to the “GEOGRID” file which contains base ! information on the LSM grid (this file is generally ! created via WPS in the model preprocessing steps). ! Specify the high-resolution routing terrain input data file (e.g.: "Fulldom_hires.nc") GEO_FINEGRID_FLNM = "./DOMAIN/Fulldom_hires.nc" !<-- Path to the “routing stack” which contains ! base information on the high-resolution routing ! grid. This file is generally created via the ! GIS pre-processing tools. ! Specify the spatial hydro parameters file (e.g.: "hydro2dtbl.nc") ! If you specify a filename and the file does not exist, it will ! be created for you. HYDROTBL_F = "./DOMAIN/hydro2dtbl.nc" !<-- Path to the 2d hydro parameters file. If this file ! does not exist, it will be created for you based on ! HYDRO.TBL and the soil and land class grids found in the ! GEOGRID netCDF file ! Specify spatial metadata file for land surface grid. (e.g.: "GEOGRID_LDASOUT_Spatial_Metadata.nc") LAND_SPATIAL_META_FLNM = "./DOMAIN/GEOGRID_LDASOUT_Spatial_Metadata.nc" !<-- Path to the geospatial ! metadata file for your domain. This file is required ! if using any of the io_form_outputs options (i.e., ! io_form_outputs > 0). This file is generally created ! via the GIS pre-processing tools. ! Specify the name of the restart file if starting from restart...comment out with '!' if not... RESTART_FILE = 'HYDRO_RST.2013-09-12_04:00_DOMAIN3' !<-- Path to hydro restart file; this contains ! a "warm" model state from a previous model run. !!!! ------------- MODEL SETUP OPTIONS ------------ !!!! ! Specify the domain or nest number identifier...(integer) IGRID = 1 !<-- Domain ID number. This comes from the WRF coupling framework and is intended to ! specify which nested domain you are running. For standalone runs, this is not relevant ! HOWEVER this ID must match the number specified after DOMAIN in your forcing file names ! (e.g., the "1" in "2013091200.LDASIN_DOMAIN1"). ! Specify the restart file write frequency in minutes ! A value of -99999 will output restarts on the first day of the month only. rst_dt = 120 !<-- Specify how often hydro restart files should be generated, in minutes. This should ! generally track your LSM restart file frequency (as specified in namelist.hrldas). ! A value of -99999 will simply output restarts on the start of each month, useful for ! longer model runs. Hydro restart files are generally quite large, so be cognizant of ! storage space and runtime impacts. ! Reset the LSM soil states from the high-res routing restart file (1=overwrite, 0=no overwrite) ! NOTE: Only turn this option on if overland or subsurface routing is active! rst_typ = 1 !<-- Specify whether or not to use the soil conditions (soil moisture and ponded water) ! from the high-resolution hydro restart file, if "warm" starting the model with a ! provided HYDRO_RST file. If this option is 0, the LSM restart states will be used ! instead. IMPORTANT: If you are NOT running with terrain routing turned on, do not set ! this option to 1 as it may bring in invalid values. ! Restart file format control !<-- Options to whether restart files (input and output separately) ! should be in binary or netCDF format. Generally recommend to use ! netCDF format (option 0) for both. rst_bi_in = 0 !0: use netCDF input restart file (default) 1: use parallel io for reading multiple ! restart files, 1 per core rst_bi_out = 0 !0: use netCDF output restart file (default) 1: use parallel io for outputting multiple ! restart files, 1 per core ! Restart switch to set restart accumulation variables to 0 (0=no reset, 1=yes reset to 0.0) RSTRT_SWC = 0 !<-- Specify whether or not to reset any accumulated output variables to 0 (option 1) ! or to continue accumulating from the values in the hydro restart file (option 0). ! Note that this only applies to the hydrologic model outputs; the LSM outputs will ! always continue to accumulate from the LSM restart file. ! Specify baseflow/bucket model initialization (0=cold start from table, 1=restart file) GW_RESTART = 1 !<-- Specify whether to initialize the groundwater bucket states from the hydro ! restart file (option 1) or "cold" start the bucket states from the parameter ! table, GWBUCKPARM.nc. !!!! ------------ MODEL OUTPUT CONTROL ------------ !!!! ! Specify the output file write frequency...(minutes) out_dt = 60 !<-- Timestep for hydro model outputs, in minutes. This covers all output options ! listed below (CHRTOUT, GWOUT, RTOUT, LAKEOUT, etc.) so be cognizant of impacts ! on disk space and runtime when specifying. ! Specify the number of output times to be contained within each output history file...(integer) ! Currently only 1 and 0 are valid options. 1 will output a single file per timestep. ! 0 will output the CHANOBS file only as a single file over the run duration; other ! files will be one file per timestep. SPLIT_OUTPUT_COUNT = 1 !<-- Number of timesteps to put in a single output file. ! 1 = one file per timestep ! 0 = same as option 1 but there will be one file for the ! full run duration for CHANOBS only ! Specify the minimum stream order to output to netCDF point file (integer) ! Note: lower value of stream order produces more output. order_to_write = 4 !<-- Lowest stream order to include in output files. Selecting 1 gives ! you output for every reach/channel cell, selecting a higher order number ! gives you fewer channel output elements. ! Flag to turn on/off new I/O routines: ! 0 = deprecated output routines (only use when running with the Noah LSM), ! 1 = with scale/offset/compression, ! 2 = with scale/offset/NO compression, ! 3 = compression only, ! 4 = no scale/offset/compression (default) io_form_outputs = 1 !<-- Specify which output option to use (NOTE: option 0 is the only ! supported option when running with the original Noah LSM) ! Realtime run configuration option: ! 0=all (default), 1=analysis, 2=short-range, 3=medium-range, ! 4=long-range, 5=retrospective, ! 6=diagnostic (includes all of 1-4 outputs combined) io_config_outputs = 1 !<-- Specify which configuration of output variables to generate ! (NOTE: not active when io_form_outputs=0) ! Option to write output files at time 0 (restart cold start time): 0=no, 1=yes (default) t0OutputFlag = 1 !<-- Select whether or not to create outputs at the initial timestep. ! Options to output channel & bucket influxes. Only active for UDMP_OPT=1. ! Nonzero choice requires that out_dt above matches NOAH_TIMESTEP in namelist.hrldas. ! 0=None (default), 1=channel influxes (qSfcLatRunoff, qBucket) ! 2=channel+bucket fluxes (qSfcLatRunoff, qBucket, qBtmVertRunoff_toBucket) ! 3=channel accumulations (accSfcLatRunoff, accBucket) *NOT TESTED* output_channelBucket_influx = 0 !<-- Select which additional channel and groundwater bucket ! outputs will be generated. These additional variables can ! be used to drive the channel-only model. ! Output netCDF file control - specify which outputs to generate for the run. CHRTOUT_DOMAIN = 1 !<-- Channel output variables (streamflow, velocity, head, etc.) as a netCDF ! point timeseries output at all channel points (1d) 0 = no output, 1 = output CHANOBS_DOMAIN = 0 !<-- NetCDF point timeseries at forecast points or gage points (defined in ! Route_Link.nc) 0 = no output, 1 = output CHRTOUT_GRID = 0 !<-- NetCDF grid of channel streamflow values (2d) 0 = no output, 1 = output ! NOTE: Not available with reach-based routing LSMOUT_DOMAIN = 0 !<-- NetCDF grid of variables passed between LSM and routing components (2d) ! (generally used for diagnostics only) ! 0 = no output, 1 = output NOTE: No scale_factor/add_offset available RTOUT_DOMAIN = 1 !<-- NetCDF grid of terrain routing variables on routing grid (2d) ! 0 = no output, 1 = output output_gw = 1 !<-- NetCDF groundwater output, 0 = no output, 1 = output ! Groundwater bucket outputs [level, inflow, outflow] outlake = 1 !<-- NetCDF grid of lake values (1d) 0 = no output, 1 = output ! ! Lake output variables (if lakes are included in the domain) [level, inflow, outflow] frxst_pts_out = 0 !<-- ASCII text file of streamflow at forecast points or gage points ! (defined in Route_Link.nc), 0 = no output, 1 = output !!!! ---- PHYSICS OPTIONS AND RELATED SETTINGS ---- !!!! ! Specify the number of soil layers (integer) and the depth of the bottom of each layer... (meters) ! Notes: In the current version of WRF-Hydro these must be the same as in the namelist.input file. ! Future versions may permit this to be different. NSOIL=4 !<-- Number of soil layers ZSOIL8(1) = -0.10 !<-- Depth of bottom boundary of top soil layer in meters ZSOIL8(2) = -0.40 !<-- Depth of bottom of second soil layer in meters (note that this is specified ! differently than the namelist.hrldas; this is total depth from the surface instead of thickness) ZSOIL8(3) = -1.00 !<-- Depth of bottom of third soil layer in meters (note that this is specified ! differently than the namelist.hrldas; this is total depth from the surface instead of thickness) ZSOIL8(4) = -2.00 !<-- Depth of bottom of fourth (last) soil layer in meters (note that this is ! specified differently than the namelist.hrldas; this is total depth from the surface instead of thickness) ! Specify the grid spacing of the terrain routing grid (meters) DXRT = 100.0 !<-- Resolution of the high-res routing grid ! Specify the integer multiple between the land model grid and the terrain routing grid (integer) AGGFACTRT = 10 !<-- Aggregation factor between the high-res routing grid and the LSM grid; ! e.g., a 100-m routing grid resolution and a 1km LSM grid resolution would ! be AGGFACTRT = 10. ! Specify the channel routing model timestep (seconds) DTRT_CH = 10 !<-- Timestep for the channel routing module to cycle, in seconds; model runtime ! will be sensitive to this timestep, so choose something appropriate for your ! domain resolution (finer resolutions generally require finer timesteps). ! Specify the terrain routing model timestep (seconds) DTRT_TER = 10 !<-- Timestep for the terrain routing module to cycle, in seconds; model runtime ! will be sensitive to this timestep, so choose something appropriate for your ! domain resolution (finer resolutions generally require finer timesteps). ! Switch to activate subsurface routing...(0=no, 1=yes) SUBRTSWCRT = 1 !<-- Turn on/off subsurface routing module. ! Switch to activate surface overland flow routing...(0=no, 1=yes) OVRTSWCRT = 1 !<-- Turn on/off overland routing module. ! Specify overland flow routing option: ! 1=Seepest Descent (D8) 2=CASC2D (not active) ! NOTE: Currently subsurface flow is only steepest descent rt_option = 1 !<-- For both terrain routing modules, specify whether flow should follow the ! steepest path (option 1) or multi-directional (option 2). ! Option 2 is currently unsupported. ! Specify whether to adjust overland flow parameters based on imperviousness imperv_adj = 0 !<-- When overland routing is active and an imperviousness grid is ! provided in Fulldom_hires.nc, you can use this option to reduce ! the overland roughness and maximum retention depth based on the ! impervious fraction. ! 0 = no adjustment, 1 = activate parameter adjustments ! Switch to activate channel routing...(0=no, 1=yes) CHANRTSWCRT = 1 !<-- Turn on/off channel routing module. ! Specify channel routing option: ! 1=Muskingam-reach, 2=Musk.-Cunge-reach, 3=Diff.Wave-gridded channel_option = 3 !<-- If channel routing module is active, select which physics option to use. ! Specify the reach file for reach-based routing options (e.g.: "Route_Link.nc") route_link_f = "./DOMAIN/Route_Link.nc" !<-- If using one of the reach-based channel routing ! options (channel_option = 1 or 2), specify the path ! to the Route_Link.nc file, which provides the ! channel-reach parameters. ! If using channel_option=2, activate the compound channel formulation? (Default=.FALSE.) ! This option is currently only supported if using reach-basedrouting with UDMP=1. compound_channel = .FALSE. !<-- Turn on or off the compound channel formulation. ! This option only works with Muskingum-Cunge reach-based ! routing with UDMP=1. This option also requires additional ! parameters in the routelink file. ! Switch to activate channel-loss option (0=no, 1=yes) [Requires Kchan in RouteLink] ! channel_loss_option = 0 !<-- Turn on or off channel loss. Note that the channel loss ! scheme currently only works for Muskingum-Cunge reach-based ! channel routing. Also note that activating channel loss will ! create a sink in the model, so the water budget will not close. ! By default this option is off. ! Lake / Reservoir options (0=lakes off, 1=level pool (typical default), ! 2=passthrough, 3=reservoir DA [see &reservoir_nlist below]) lake_option = 1 !<-- Set the lake/reservoir option. Note that different options may ! require different domain/parameter/input files. Option 0 (lakes off) ! will not generate reasonable results for gridded channel routing ! domains where lake cells mask out channel cells. ! Specify the lake parameter file (e.g.: "LAKEPARM.nc"). Note: REQUIRED if lakes are on. route_lake_f = "./DOMAIN/LAKEPARM.nc" !<-- If lakes are active, specify the path to the lake ! parameter file, which provides the lake parameters. ! Switch to activate baseflow bucket model...(0=none, 1=exp. bucket, 2=pass-through, ! 4=exp. bucket with area normalized parameters) ! Option 4 is currently only supported if using reach-based routing with UDMP=1. GWBASESWCRT = 1 !<-- Turn on/off the ground water bucket module. Option 1 activates the ! exponential bucket model, Option 2 bypasses the bucket model and dumps all ! flow from the bottom of the soil column directly into the channel, and ! Option 4 is a variation of the exponential bucket model (option 1) where ! the coefficient is scaled by catchment area and only works for UDMP=1. ! Option 0 creates a sink at the bottom of the soil column (water draining from ! the bottom of the soil column leaves the system, so note that this option will ! not have water balance closure). ! Groundwater/baseflow 2d mask specified on land surface model grid (e.g.: "GWBASINS.nc"). ! NOTE: Only required if baseflow model is active (1 or 2) and UDMP_OPT=0. gwbasmskfil = "./DOMAIN/GWBASINS.nc" !<-- For configurations where the bucket or pass-through ! groundwater modules are active, provide the path to the ! 2d netCDF file (LSM grid resolution) that maps the ! groundwater basin IDs. Bucket parameters will be specified ! through the GWBUCKPARM.nc file, whose IDs should match ! those in the groundwater basin mask file. ! Groundwater bucket parameter file (e.g.: "GWBUCKPARM.nc") GWBUCKPARM_file = "./DOMAIN/GWBUCKPARM.nc" !<-- For configurations where the groundwater bucket ! model is active, specify the path to the bucket ! parameter file, which provides bucket parameters ! by catchment. ! User defined mapping, such NHDPlus: 0=no (default), 1=yes UDMP_OPT = 0 !<-- If 1, this tells the model to use a "user-defined mapping" scheme to translate ! between terrain and groundwater flow and reaches, e.g., NHDPlus. ! If user-define mapping is on, specify the user-defined mapping file (e.g.: "spatialweights.nc") !udmap_file = "./DOMAIN/spatialweights.nc" !<-- If UDMP_OPT=1 (user defined mapping is active), ! provide the path to the required spatial weights ! file, which maps between grid cells and catchments. / !<-- End of hydro namelist HYDRO_nlist &NUDGING_nlist !<-- Start of separate namelist for nudging, only used if the model is compiled ! with the compile-time option WRF_HYDRO_NUDGING=1. Ignored otherwise. ! Path to the "timeslice" observation files. timeSlicePath = "./nudgingTimeSliceObs/" !<-- Path to a directory containing nuding “time slice” ! observation files. There are no requirements on the ! existence of files in the directory, but the directory ! itself must exist if specified. nudgingParamFile = "DOMAIN/nudgingParams.nc" !<-- Path to the required nudging parameter file. ! Nudging restart file. nudgingLastObsFile defaults to '', which will look for ! nudgingLastObs.YYYY-mm-dd_HH:MM:SS.nc *AT THE INITALIZATION TIME OF THE RUN*. Set to a missing ! file to use no restart. !nudgingLastObsFile = '/a/nonexistent/file/gives/nudging/cold/start' !<-- Optional path to an ! optional nudging restart ! file. See comments above. ! Parallel input of nudging timeslice observation files? readTimesliceParallel = .TRUE. !<-- Can read the observation files in parallel (on different cores) ! for quicker run speeds. ! temporalPersistence defaults to true, only runs if necessary params present. temporalPersistence = .FALSE. !<-- This option uses the expCoeff ! parameter for persisting observations ! The total number of last (obs, modeled) pairs to save in nudgingLastObs for removal of bias. ! This is the maximum array length. (This option is active when persistBias=FALSE) ! (Default=960=10days @15min obs resolution, if all the obs are present and longer if not.) nLastObs = 960 !<-- The maximum trailing window size for calculating bias correction. ! If using temporalPersistence the last observation persists by default. This option instead ! persists the bias after the last observation. persistBias = .FALSE. !<-- Apply bias correction as observations move into the past? ! AnA (FALSE) vs Forecast (TRUE) bias persistence. ! If persistBias: Does the window for calculating the bias end at model init time (=t0)? ! FALSE = window ends at model time (moving), ! TRUE = window ends at init=t0(fcst) time. ! (If commented out, Default=FALSE) ! Note: Perfect restart tests require this option to be .FALSE. biasWindowBeforeT0 = .FALSE. !<-- Is the bias window shifting with ! model integration? ! If persistBias: Only use this many last (obs, modeled) pairs. ! (If Commented out, Default=-1*nLastObs) ! > 0: apply an age-based filter, units=hours. ! = 0: apply no additional filter, use all available/usable obs. ! < 0: apply an count-based filter, units=count maxAgePairsBiasPersist = -960 ! If persistBias: The minimum number of last (obs, modeled) pairs, with age less ! than maxAgePairsBiasPersist, required to apply a bias correction. (default=8) minNumPairsBiasPersist = 8 ! If persistBias: give more weight to observations closer in time? (default=FALSE) invDistTimeWeightBias = .TRUE. !<-- The exact form of this ! weighting is currently hard-coded. ! If persistBias: "No constructive interference in bias correction?", reduce the bias ! adjustment when the model and the bias adjustment have the same sign relative to the ! modeled flow at t0? (default=FALSE) ! Note: Perfect restart tests require this option to be .FALSE. noConstInterfBias = .FALSE. !<-- Tactical response to phase errors. / .. _section-a7: A7. Static input files for WRF-Hydro ------------------------------------- The WRF-Hydro model requires several static input files to define the spatial domain and its parameters. These include two files in common with the WRF Model, :file:`geo_em.d01.nc` and :file:`wrfinput.d01.nc`, as well as the WRF-Hydro routing domain file :file:`Fulldom_hires.nc`. The variables in these netCDF files are listed in the tables below: .. csv-table:: :file:`geo_em.d{X}.nc` `\qquad` *geo_em* :file: input-tables/geo_em.tsv :delim: tab :header-rows: 1 \ .. csv-table:: :file:`wrfinput.d{X}.nc` `\qquad` *WRFINPUT* :file: input-tables/wrfinput.tsv :delim: tab :header-rows: 1 \ .. csv-table:: :file:`Fulldom_hires.nc` `\qquad` *Fulldom_Hires* :file: input-tables/Fulldom_hires.tsv :delim: tab :header-rows: 1 .. _section-a8: A8. Noah land surface model parameter tables -------------------------------------------- The Noah land surface model requires three parameter table files denoted by the file suffix TBL. The variables contained within these files are described in the tables below. Please refer to the Noah land surface model documentation (https://ral.ucar.edu/sites/default/files/public/product-tool/unified-noah-lsm/Noah_LSM_USERGUIDE_2.7.1.pdf) for additional information. `GENPARM.TBL` - This file contains global parameters for the Noah land surface model. .. table:: :width: 90% :align: center +--------------------+-------------------------------------------------+ | **Variable name** | **Description** | +====================+=================================================+ | SLOPE_DATA | Linear reservoir coefficient | +--------------------+-------------------------------------------------+ | SBETA_DATA | Parameter used to calculate vegetation effect | | | on soil heat | +--------------------+-------------------------------------------------+ | FXEXP_DAT | Soil evaporation exponent used in DEVAP | +--------------------+-------------------------------------------------+ | CSOIL_DATA | Soil heat capacity [:math:`J/m^3/K`] | +--------------------+-------------------------------------------------+ | SALP_DATA | Shape parameter of distribution function of | | | snow cover | +--------------------+-------------------------------------------------+ | REFDK_DATA | Parameter in the surface runoff | | | parameterization | +--------------------+-------------------------------------------------+ | REFKDT_DATA | Parameter in the surface runoff | | | parameterization | +--------------------+-------------------------------------------------+ | FRZK_DATA | Frozen ground parameter | +--------------------+-------------------------------------------------+ | ZBOT_DATA | Depth of lower boundary soil temperature | | | [:math:`m`] | +--------------------+-------------------------------------------------+ | CZIL_DATA | Parameter used in the calculation of the | | | roughness length for heat | +--------------------+-------------------------------------------------+ | SMLOW_DATA | Soil moisture wilt, soil moisture reference | | | parameter | +--------------------+-------------------------------------------------+ | SMHIGH_DATA | Soil moisture wilt, soil moisture reference | | | parameter | +--------------------+-------------------------------------------------+ | LVCOEF_DATA | Parameter in the snow albedo formulation | +--------------------+-------------------------------------------------+ | `SOILPARM.TBL` - This file contains parameters that are assigned based upon soil classification. | *All parameters are a function of soil class.* .. table:: :width: 90% :align: center +-------------+--------------------------------------------------------+ | **Variable | **Description** | | name** | | +=============+========================================================+ | BB | B parameter | +-------------+--------------------------------------------------------+ | DRYSMC | Dry soil moisture threshold at which direct | | | evaporation from top soil layer ends | +-------------+--------------------------------------------------------+ | F11 | Soil thermal diffusivity/conductivity coefficient | +-------------+--------------------------------------------------------+ | MAXSMC | Saturation soil moisture content (i.e. porosity) | +-------------+--------------------------------------------------------+ | REFSMC | Reference soil moisture (field capacity), where | | | transpiration begins to stress | +-------------+--------------------------------------------------------+ | SATPSI | Saturation soil matric potential | +-------------+--------------------------------------------------------+ | SATDK | Saturation soil conductivity | +-------------+--------------------------------------------------------+ | SATDW | Saturation soil diffusivity | +-------------+--------------------------------------------------------+ | WLTSMC | Wilting point soil moisture | +-------------+--------------------------------------------------------+ | QTZ | Soil quartz content | +-------------+--------------------------------------------------------+ | `VEGPARM.TBL` - This file contains parameters that a function of land cover type. | *All parameters are a function of land cover type.* .. table:: :width: 90% :align: center +-------------------+---------------------------------------------------------+ | **Variable name** | **Description** | +===================+=========================================================+ | SHDFAC | Green vegetation fraction | +-------------------+---------------------------------------------------------+ | NROOT | Number of soil layers (from the top) reached by | | | vegetation roots | +-------------------+---------------------------------------------------------+ | RS | Minimum stomatal resistance [`s/m`] | +-------------------+---------------------------------------------------------+ | RGL | Parameter used in radiation stress function | +-------------------+---------------------------------------------------------+ | HS | Parameter used in vapor pressure deficit function | +-------------------+---------------------------------------------------------+ | SNUP | Threshold water-equivalent snow depth [m] that implies | | | 100% snow cover | +-------------------+---------------------------------------------------------+ | MAXALB | Upper bound on maximum albedo over deep snow [`\%`] | +-------------------+---------------------------------------------------------+ | LAIMIN | Minimum leaf area index through the year | | | [dimensionless] | +-------------------+---------------------------------------------------------+ | LAIMAX | Maximum leaf area index through the year | | | [dimensionless] | +-------------------+---------------------------------------------------------+ | EMISSMIN | Minimum background emissivity through the year | | | [fraction 0.0 to 1.0] | +-------------------+---------------------------------------------------------+ | EMISSMAX | Maximum background emissivity through the year | | | [fraction 0.0 to 1.0] | +-------------------+---------------------------------------------------------+ | ALBEDOMIN | Minimum background albedo through the year [fraction | | | 0.0 to 1.0] | +-------------------+---------------------------------------------------------+ | ALBEDOMAX | Maximum background albedo through the year [fraction | | | 0.0 to 1.0] | +-------------------+---------------------------------------------------------+ | Z0MIN | Minimum background roughness length through the year | | | [`m`] | +-------------------+---------------------------------------------------------+ | Z0MAX | Maximum background roughness length through the year | | | [`m`] | +-------------------+---------------------------------------------------------+ | TOPT_DATA | Optimum transpiration air temperature [`K`] | +-------------------+---------------------------------------------------------+ | CMCMAX_DATA | Maximum canopy water capacity [volumetric fraction] | | | | +-------------------+---------------------------------------------------------+ | CFACTR_DATA | Parameter used in the canopy interception calculation | | | [dimensionless] | +-------------------+---------------------------------------------------------+ | RSMAX_DATA | Maximal stomatal resistance [`s/m`] | +-------------------+---------------------------------------------------------+ | BARE | The land-use category representing bare ground (used to | | | set the vegetation fraction to zero) [land-use category | | | index] | +-------------------+---------------------------------------------------------+ | NATURAL | The land-use category representative of the non-urban | | | portion of urban land-use points [land-use category | | | index] | +-------------------+---------------------------------------------------------+ .. _section-a9: A9. Noah-MP land surface model parameter tables ----------------------------------------------- The Noah-MP land surface model requires three parameter table files denoted by the file suffix TBL. The variables contained within these files are described in the tables below. As part of the work conducted for the National Water Model implementation, the ability to specify a number of these land surface model parameters spatially on a two or three dimensional grid was introduced. This is done through the use of the compile time option ``SPATIAL_SOIL`` and the specification of a netCDF format parameter file with the default filename soil_properties.nc. A list of the variables contained in this file is included in a table below as well. `GENPARM.TBL` This file contains global parameters for the Noah-MP land surface model. .. table:: :width: 90% :align: center +---------------+------------------------------------------------------+ | **Variable | **Description** | | name** | | +===============+======================================================+ | SLOPE_DATA | Linear reservoir coefficient | +---------------+------------------------------------------------------+ | SBETA_DATA | Parameter used to calculate vegetation effect on | | | soil heat | +---------------+------------------------------------------------------+ | FXEXP_DAT | Soil evaporation exponent used in DEVAP | +---------------+------------------------------------------------------+ | CSOIL_DATA | Soil heat capacity [:math:`J/m^3/K`] | +---------------+------------------------------------------------------+ | SALP_DATA | Shape parameter of distribution function of snow | | | cover | +---------------+------------------------------------------------------+ | REFDK_DATA | Parameter in the surface runoff parameterization | +---------------+------------------------------------------------------+ | REFKDT_DATA | Parameter in the surface runoff parameterization | +---------------+------------------------------------------------------+ | FRZK_DATA | Frozen ground parameter | +---------------+------------------------------------------------------+ | ZBOT_DATA | Depth of lower boundary soil temperature [:math:`m`] | +---------------+------------------------------------------------------+ | CZIL_DATA | Parameter used in the calculation of the roughness | | | length for heat | +---------------+------------------------------------------------------+ | SMLOW_DATA | Soil moisture wilt, soil moisture reference | | | parameter | +---------------+------------------------------------------------------+ | SMHIGH_DATA | Soil moisture wilt, soil moisture reference | | | parameter | +---------------+------------------------------------------------------+ | LVCOEF_DATA | Parameter in the snow albedo formulation | +---------------+------------------------------------------------------+ `SOILPARM.TBL` - This file contains parameters that are assigned based on soil classification. .. table:: :width: 90% :align: center +--------------+-------------------------------------------------------+ | **Variable | **Description** | | name** | | +==============+=======================================================+ | BB | B parameter | +--------------+-------------------------------------------------------+ | DRYSMC | Dry soil moisture threshold at which direct | | | evaporation from top soil layer ends | +--------------+-------------------------------------------------------+ | F11 | Soil thermal diffusivity/conductivity coefficient | +--------------+-------------------------------------------------------+ | MAXSMC | Saturation soil moisture content (i.e. porosity) | +--------------+-------------------------------------------------------+ | REFSMC | Reference soil moisture (field capacity), where | | | transpiration begins to stress | +--------------+-------------------------------------------------------+ | SATPSI | Saturation soil matric potential | +--------------+-------------------------------------------------------+ | SATDK | Saturation soil conductivity | +--------------+-------------------------------------------------------+ | SATDW | Saturation soil diffusivity | +--------------+-------------------------------------------------------+ | WLTSMC | Wilting point soil moisture | +--------------+-------------------------------------------------------+ | QTZ | Soil quartz content | +--------------+-------------------------------------------------------+ | AXAJ | Tension water distribution inflection parameter | +--------------+-------------------------------------------------------+ | BXAJ | Tension water distribution shape parameter | +--------------+-------------------------------------------------------+ | XXAJ | Free water distribution shape parameter | +--------------+-------------------------------------------------------+ `MPTABLE.TBL` - This file contains parameters that are a function of land cover type. .. table:: :width: 90% :align: center +-------------------------+--------------------------------------------+ | **Variable name** | **Description** | +=========================+============================================+ | VEG_DATASET_DESCRIPTION | Land cover classification dataset | +-------------------------+--------------------------------------------+ | NVEG | Number of land cover categories | +-------------------------+--------------------------------------------+ | ISURBAN | Land cover category for urban | +-------------------------+--------------------------------------------+ | ISWATER | Land cover category for water | +-------------------------+--------------------------------------------+ | ISBARREN | Land cover category for barren | +-------------------------+--------------------------------------------+ | ISICE | Land cover category for ice | +-------------------------+--------------------------------------------+ | EBLFOREST | Land cover category for evergreen | | | broadleaf forest | +-------------------------+--------------------------------------------+ | .. centered:: *Parameters below are a function of land cover type* | +-------------------------+--------------------------------------------+ | CH2OP | Maximum intercepted H\ :sub:`2`\O per unit | | | LAI + SAI [:math:`mm`] | +-------------------------+--------------------------------------------+ | DLEAF | Characteristic leaf dimension [:math:`m`] | +-------------------------+--------------------------------------------+ | Z0MVT | Momentum roughness length [:math:`m`] | +-------------------------+--------------------------------------------+ | HVT | Top of canopy [:math:`m`] | +-------------------------+--------------------------------------------+ | HVB | Bottom of canopy [:math:`m`] | +-------------------------+--------------------------------------------+ | DEN | Tree density [:math:`trunks/m^2`\] | +-------------------------+--------------------------------------------+ | RC | Tree crown radius [:math:`m`] | +-------------------------+--------------------------------------------+ | MFSNO | Snowmelt m parameter | +-------------------------+--------------------------------------------+ | RHOS_VIS | Monthly stem area index (SAI), one-sided | +-------------------------+--------------------------------------------+ | RHOS_NIR | Monthly leaf area index (LAI), one-sided | +-------------------------+--------------------------------------------+ | TAUL_VIS | Leaf transmittance, visible | +-------------------------+--------------------------------------------+ | TAUL_NIR | Leaf transmittance, near infrared | +-------------------------+--------------------------------------------+ | TAUS_VIS | Stem transmittance, visible | +-------------------------+--------------------------------------------+ | TAUS_NIR | Stem transmittance, near infrared | +-------------------------+--------------------------------------------+ | XL | Leaf / stem orientation index | +-------------------------+--------------------------------------------+ | CWPVT | Canopy wind parameter | +-------------------------+--------------------------------------------+ | C3PSN | Photosynthetic pathway [c4 = 0. \| c3 = | | | 1.] | +-------------------------+--------------------------------------------+ | KC25 | CO2 Michaelis-Menten constant | | | at 25°C [:math:`Pa`] | +-------------------------+--------------------------------------------+ | AKC | Q10 for KC25 | +-------------------------+--------------------------------------------+ | KO25 | O2 Michaelis-Menten constant | | | at 25°C [:math:`Pa`] | +-------------------------+--------------------------------------------+ | AKO | Q10 for KO25 | +-------------------------+--------------------------------------------+ | AVCMX | Q10 for VCMX25 | +-------------------------+--------------------------------------------+ | AQE | Q10 for QE25 | +-------------------------+--------------------------------------------+ | LTOVRC | Leaf turnover [:math:`1/s`] | +-------------------------+--------------------------------------------+ | DILEFC | Coefficient for leaf stress death | | | [:math:`1/s`] | +-------------------------+--------------------------------------------+ | DILEFW | Coefficient for leaf stress death | | | [:math:`1/s`] | +-------------------------+--------------------------------------------+ | RMF25 | Leaf maintenance respiration at 25°C | | | [:math:`umol\ CO_{2}/m^2/s`] | +-------------------------+--------------------------------------------+ | SLA | Single-side leaf area [:math:`m2/kg`] | +-------------------------+--------------------------------------------+ | FRAGR | Fraction of growth respiration | +-------------------------+--------------------------------------------+ | TMIN | Minimum temperature for photosynthesis | | | [:math:`K`] | +-------------------------+--------------------------------------------+ | VCMX25 | maximum rate of carboxylation at 25°C | | | [:math:`umol\ CO_{2}/m^2/s`] | +-------------------------+--------------------------------------------+ | TDLEF | Characteristic temperature for leaf | | | freezing [:math:`K`] | +-------------------------+--------------------------------------------+ | BP | Minimum leaf conductance | | | [:math:`umol\ /m^2/s`] | +-------------------------+--------------------------------------------+ | MP | Slope of conductance to photosynthesis | | | relationship | +-------------------------+--------------------------------------------+ | QE25 | Quantum efficiency at 25°C | | | [:math:`umol\ CO_{2} / umol\ photon`] | +-------------------------+--------------------------------------------+ | RMS25 | Stem maintenance respiration at 25°C | | | [:math:`umol\ CO_{2}/kg_{bio}/s`] | +-------------------------+--------------------------------------------+ | RMR25 | Root maintenance respiration at 25°C | | | [:math:`umol\ CO_{2}/kg_{bio}/s`] | +-------------------------+--------------------------------------------+ | ARM | Q10 for maintenance respiration | +-------------------------+--------------------------------------------+ | FOLNMX | Foliage nitrogen concentration when | | | :math:`f(n)=1` [:math:`\%`] | +-------------------------+--------------------------------------------+ | WRRAT | Wood to non-wood ratio | +-------------------------+--------------------------------------------+ | MRP | Microbial respiration parameter | | | [:math:`umol\ CO_{2}/kg_{C}/s`] | +-------------------------+--------------------------------------------+ | NROOT | Number of soil layers with root present | +-------------------------+--------------------------------------------+ | RGL | Parameter used in radiation stress | | | function | +-------------------------+--------------------------------------------+ | RS | Stomatal resistance [:math:`s/m`] | +-------------------------+--------------------------------------------+ | HS | Parameter used in vapor pressure deficit | | | function | +-------------------------+--------------------------------------------+ | TOPT | Optimum transpiration air temperature [K] | +-------------------------+--------------------------------------------+ | RSMAX | Maximal stomatal resistance | | | [:math:`s m-1`] | +-------------------------+--------------------------------------------+ | SAI | Steam area index | +-------------------------+--------------------------------------------+ | LAI | Leaf area index | +-------------------------+--------------------------------------------+ | SLAREA | (not used in Noah-MP as configured in | | | WRF-Hydro) | +-------------------------+--------------------------------------------+ | EPS1 | (not used in Noah-MP as configured in | | | WRF-Hydro) | +-------------------------+--------------------------------------------+ | EPS2 | (not used in Noah-MP as configured in | | | WRF-Hydro) | +-------------------------+--------------------------------------------+ | EPS3 | (not used in Noah-MP as configured in | | | WRF-Hydro) | +-------------------------+--------------------------------------------+ | EPS4 | (not used in Noah-MP as configured in | | | WRF-Hydro) | +-------------------------+--------------------------------------------+ | EPS5 | (not used in Noah-MP as configured in | | | WRF-Hydro) | +-------------------------+--------------------------------------------+ | .. centered:: *Parameters below are a function of soil color index* | +-------------------------+--------------------------------------------+ | ALBSAT_VIS | Saturated soil albedos for visible | +-------------------------+--------------------------------------------+ | ALBSAT_NIR | Saturated soil albedos for near infrared | +-------------------------+--------------------------------------------+ | ALBDRY_VIS | Dry soil albedos for visible | +-------------------------+--------------------------------------------+ | ALBDRY_NIR | Dry soil albedos for near infrared | +-------------------------+--------------------------------------------+ | .. centered:: *Parameters below are global* | +-------------------------+--------------------------------------------+ | ALBICE | Albedo land ice (visible and near | | | infrared) | +-------------------------+--------------------------------------------+ | ALBLAK | Albedo frozen lakes (visible and near | | | infrared) | +-------------------------+--------------------------------------------+ | OMEGAS | Two-stream parameter for snow | +-------------------------+--------------------------------------------+ | BETADS | Two-stream parameter for snow | +-------------------------+--------------------------------------------+ | BETAIS | Two-stream parameter for snow | +-------------------------+--------------------------------------------+ | EG | Emissivity soil surface (soil and lake) | +-------------------------+--------------------------------------------+ | CO2 | CO\ :sub:`2` partial pressure | +-------------------------+--------------------------------------------+ | O2 | O\ :sub:`2` partial pressure | +-------------------------+--------------------------------------------+ | TIMEAN | Grid cell mean topographic index [global | | | mean] | +-------------------------+--------------------------------------------+ | FSATMX | Maximum surface saturated fraction [global | | | mean] | +-------------------------+--------------------------------------------+ | Z0SNO | Snow surface roughness length [:math:`m`] | +-------------------------+--------------------------------------------+ | SSI | Liquid water holding capacity for snowpack | | | [:math:`m^3/m^3`] | +-------------------------+--------------------------------------------+ | SWEMX | New snow mass to fully cover old snow | | | [:math:`mm`] | +-------------------------+--------------------------------------------+ | TAU0 | Tau0 from Yang97 eqn. 10a | +-------------------------+--------------------------------------------+ | GRAIN_GROWTH | Growth from vapor diffusion Yang97 | | | eqn. 10b | +-------------------------+--------------------------------------------+ | EXTRA_GROWTH | Extra growth near freezing Yang97 | | | eqn. 10c | +-------------------------+--------------------------------------------+ | DIRT_SOOT | Dirt and soot term Yang97 eqn. 10d | +-------------------------+--------------------------------------------+ | BATS_COSZ | Zenith angle snow albedo | | | adjustment; b in Yang97 eqn. 15 | +-------------------------+--------------------------------------------+ | BATS_VIS_NEW | New snow visible albedo | +-------------------------+--------------------------------------------+ | BATS_NIR_NEW | New snow NIR albedo | +-------------------------+--------------------------------------------+ | BATS_VIS_AGE | Age factor for diffuse visible snow | | | albedo Yang97 eqn. 17 | +-------------------------+--------------------------------------------+ | BATS_NIR_AGE | Age factor for diffuse NIR snow | | | albedo Yang97 eqn. 18 | +-------------------------+--------------------------------------------+ | BATS_VIS_DIR | Cosz factor for direct visible snow | | | albedo Yang97 eqn. 15 | +-------------------------+--------------------------------------------+ | BATS_NIR_DIR | Cosz factor for direct NIR snow | | | albedo Yang97 eqn. 16 | +-------------------------+--------------------------------------------+ | RSURF_SNOW | Surface resistance for snow [:math:`s/m`] | +-------------------------+--------------------------------------------+ | RSURF_EXP | Exponent in the shape parameter for | | | soil resistance option 1 | +-------------------------+--------------------------------------------+ | IMPERV_URBAN | impervious fraction to use for urban | | | type cells [0-1] | +-------------------------+--------------------------------------------+ | SCAMAX | maximum fractional snow covered area [0-1] | +-------------------------+--------------------------------------------+ | SWE_LIMIT | maximum SWE limit [mm] | +-------------------------+--------------------------------------------+ `soil\_properties.nc` [optional] .. table:: :width: 90% :align: center +------------+----------------------------------------------------------+ | **Variable | **Description** | | name** | | +============+==========================================================+ | bexp | Beta parameter | +------------+----------------------------------------------------------+ | cwpvt | Empirical canopy wind parameter | +------------+----------------------------------------------------------+ | dksat | Saturated soil hydraulic conductivity | +------------+----------------------------------------------------------+ | dwsat | Saturated soil hydraulic diffusivity | +------------+----------------------------------------------------------+ | hvt | Top of vegetation canopy [:math:`m`] | +------------+----------------------------------------------------------+ | mfsno | Snowmelt m parameter | +------------+----------------------------------------------------------+ | mp | Slope of conductance to photosynthesis relationship | +------------+----------------------------------------------------------+ | psisat | Saturated soil matric potential | +------------+----------------------------------------------------------+ | quartz | Soil quartz content | +------------+----------------------------------------------------------+ | refdk | Parameter in the surface runoff parameterization | +------------+----------------------------------------------------------+ | refkdt | Parameter in the surface runoff parameterization | +------------+----------------------------------------------------------+ | rsurf_exp | Exponent in the shape parameter for soil | | | resistance option 1 | +------------+----------------------------------------------------------+ | slope | Slope index | +------------+----------------------------------------------------------+ | smcdry | Dry soil moisture threshold where direction evaporation | | | from the top layer ends | +------------+----------------------------------------------------------+ | smcmax | Saturated value of soil moisture [volumetric] | +------------+----------------------------------------------------------+ | smcref | Reference soil moisture (field capacity) [volumetric] | +------------+----------------------------------------------------------+ | smcwlt | Wilting point soil moisture [volumetric] | +------------+----------------------------------------------------------+ | vcmx25 | Maximum rate of carboxylation at 25°C | | | [:math:`umol\ CO_{2}/m^2/s`] | +------------+----------------------------------------------------------+ | AXAJ | Tension water distribution inflection parameter | +------------+----------------------------------------------------------+ | BXAJ | Tension water distribution shape parameter | +------------+----------------------------------------------------------+ | XXAJ | Free water distribution shape parameter | +------------+----------------------------------------------------------+ | rsurfsnow | Surface resistance for snow [s/m] | +------------+----------------------------------------------------------+ | scamax | Maximum fractional snow covered area [0-1] | +------------+----------------------------------------------------------+ | snowretfac | Snowpack water release timescale factor [1/s] | +------------+----------------------------------------------------------+ | ssi | Liquid water holding capacity for snowpack | | | [:math:`m^3/m^3`] | +------------+----------------------------------------------------------+ | tau0 | Snow albedo decay timescale parameter [s] | +------------+----------------------------------------------------------+ | imperv | Impervious fraction (optional) [0-1] | +------------+----------------------------------------------------------+ .. _section-a10: A10. Terrain routing parameter files ------------------------------------ Parameters for the lateral routing component of WRF-Hydro are specified via either the `HYDRO.TBL` file or the `hydro2dtbl.nc` file. Variables within these files are described in the tables below. `HYDRO.TBL` .. table:: :width: 90% :align: center +--------------------+------------------------------------------------------+ | **Variable name** | **Description** | +====================+======================================================+ | .. centered:: *The parameter below is a function of land cover type* | +--------------------+------------------------------------------------------+ | SFC_ROUGH | Overland flow roughness coefficient | +--------------------+------------------------------------------------------+ | .. centered:: *The parameters below are a function of soil class* | +--------------------+------------------------------------------------------+ | SATDK | Saturated soil hydraulic conductivity [:math:`m/s`] | +--------------------+------------------------------------------------------+ | MAXSMC | Maximum volumetric soil moisture | | | [:math:`m^3/m^3`] | +--------------------+------------------------------------------------------+ | REFSMC | Reference volumetric soil moisture | | | [:math:`m^3/m^3`] | +--------------------+------------------------------------------------------+ | WLTSMC | Wilting point volumetric soil moisture | | | [:math:`m^3/m^3`] | +--------------------+------------------------------------------------------+ | QTZ | Quartz fraction of the soil | +--------------------+------------------------------------------------------+ `hydro2dtbl.nc` .. table:: :width: 90% :align: center +-----------------------+----------------------------------------------+ | **Variable name** | **Description** | +=======================+==============================================+ | SMCMAX1 | Maximum volumetric soil moisture | | | [:math:`m^3/m^3`] | +-----------------------+----------------------------------------------+ | SMCREF1 | Reference volumetric soil moisture | | | [:math:`m^3/m^3`] | +-----------------------+----------------------------------------------+ | SMCWLT1 | Wilting point volumetric soil moisture | | | [:math:`m^3/m^3`] | +-----------------------+----------------------------------------------+ | OV_ROUGH2D | Overland flow roughness coefficient | +-----------------------+----------------------------------------------+ | LKSAT | Lateral saturated soil hydraulic | | | conductivity [:math:`m/s`] | +-----------------------+----------------------------------------------+ | NEXP | Exponent in the decay function for lateral | | | Ksat over depth | +-----------------------+----------------------------------------------+ .. _section-a11: A11. Channel routing parameter tables (`CHANPARM.TBL` and `Route\_Link.nc`) --------------------------------------------------------------------------- Variables of the the channel routing parameter tables are described in the tables below. | `CHANPARM.TBL` | *All parameters are a function of Strahler stream order* .. table:: :width: 90% :align: center +----------------------+---------------------------------------------------+ | **Variable name** | **Description** | +======================+===================================================+ | Bw | Channel bottom width [:math:`m`] | +----------------------+---------------------------------------------------+ | HLINK | Initial depth of water in the channel [:math:`m`] | +----------------------+---------------------------------------------------+ | ChSSlp | Channel side slope [:math:`m/m`] | +----------------------+---------------------------------------------------+ | MannN | Manning’s roughness coefficient | +----------------------+---------------------------------------------------+ | `Route\_Link.nc` | *All parameters are specified per stream specified per stream segment (i.e. link)* .. table:: :width: 90% :align: center +----------------------+-----------------------------------------------+ | **Variable name** | **Description** | +======================+===============================================+ | BtmWdth | Channel bottom width [:math:`m`] | +----------------------+-----------------------------------------------+ | ChSlp | Channel side slope [:math:`m/m`] | +----------------------+-----------------------------------------------+ | Kchan | Channel conductivity [:math:`mm/hr`] | +----------------------+-----------------------------------------------+ | Length | Stream segment length [:math:`m`] | +----------------------+-----------------------------------------------+ | MusK | Muskingum routing time [:math:`s`] | +----------------------+-----------------------------------------------+ | MusX | Muskingum weighting coefficient | +----------------------+-----------------------------------------------+ | NHDWaterbodyComID | ComID of an associated water body if any | +----------------------+-----------------------------------------------+ | Qi | Initial flow in link [:math:`m^3/s`] | +----------------------+-----------------------------------------------+ | So | Slope [:math:`m/m`] | +----------------------+-----------------------------------------------+ | alt | Elevation from the NAD88 datum at start node | | | [:math:`m`] | +----------------------+-----------------------------------------------+ | ascendingIndex | Index to user for sorting IDs - *only in NWM | | | files* | +----------------------+-----------------------------------------------+ | from | From Link ID | +----------------------+-----------------------------------------------+ | gages | Identifier for stream gage at this location | +----------------------+-----------------------------------------------+ | lat | Latitude of the segment midpoint *[degrees | | | north]* | +----------------------+-----------------------------------------------+ | link | Link ID | +----------------------+-----------------------------------------------+ | lon | Longitude of the segment midpoint *[degrees | | | east]* | +----------------------+-----------------------------------------------+ | n | Manning's roughness | +----------------------+-----------------------------------------------+ | nCC | Compound Channel Manning's roughness | +----------------------+-----------------------------------------------+ | order | Strahler stream order | +----------------------+-----------------------------------------------+ | to | To Link ID | +----------------------+-----------------------------------------------+ | time | Time of measurement | +----------------------+-----------------------------------------------+ | TopWdth | Top Width [m] | +----------------------+-----------------------------------------------+ | TopWdthCC | Compound Channel Top Width [m] | +----------------------+-----------------------------------------------+ .. _section-a12: A12. Groundwater input and parameter files ------------------------------------------ The contents of the groundwater input and parameter files are described in the tables below. `GWBASINS.nc` .. table:: :width: 90% :align: center +----------------------+-----------------------------------------------+ | **Variable name** | **Description** | +======================+===============================================+ | y | projection y coordinate | +----------------------+-----------------------------------------------+ | x | projection x coordinate | +----------------------+-----------------------------------------------+ | crs | coordinate reference system definition | +----------------------+-----------------------------------------------+ | BASIN | groundwater basin ID | +----------------------+-----------------------------------------------+ `GWBUCKPARM.nc` .. table:: :width: 90% :align: center +-----------------------+----------------------------------------------+ | **Variable name** | **Description** | +=======================+==============================================+ | Basin | Basin monotonic ID (1...n) | +-----------------------+----------------------------------------------+ | Coeff | Coefficient | +-----------------------+----------------------------------------------+ | Expon | Exponent | +-----------------------+----------------------------------------------+ | Zmax | Zmax | +-----------------------+----------------------------------------------+ | Zinit | Zinit | +-----------------------+----------------------------------------------+ | Area_sqkm | Basin area [:math:`km^2`] | +-----------------------+----------------------------------------------+ | ComID | NHDCatchment FEATUREID (NHDFlowline ComID) | +-----------------------+----------------------------------------------+ | Loss | Fraction of bucket output lost | +-----------------------+----------------------------------------------+ .. _section-a13: A13. Spatial weights input file variable description ---------------------------------------------------- The contents of the `spatialweights.nc` file is described in the table below. .. table:: :width: 90% :align: center +--------------+---------------------------------------------+---------------+ | **Variable | **Description** | **Dimension** | | name** | | | +==============+=============================================+===============+ | polyid | ID of polygon | polyid | +--------------+---------------------------------------------+---------------+ | IDmask | Polygon ID (polyid) associated with each | data | | | record) | | +--------------+---------------------------------------------+---------------+ | overlaps | Number of intersecting polygons | polyid | +--------------+---------------------------------------------+---------------+ | weight | Fraction of intersecting polygon(polyid) | data | | | intersected by poly2 | | +--------------+---------------------------------------------+---------------+ | regridweight | Fraction of intersecting | data | | | polyid(overlapper) intersected by | | | | polygon(polyid) | | +--------------+---------------------------------------------+---------------+ | i_index | Index in the x dimension of the raster | data | | | grid *(starting with 1,1 in the LL corner)* | | +--------------+---------------------------------------------+---------------+ | j_index | Index in the y dimension of the raster | data | | | grid *(starting with 1,1 in the LL corner)* | | +--------------+---------------------------------------------+---------------+ .. _section-a14: A14. Lake and reservoir parameter tables (`LAKEPARM.nc`) -------------------------------------------------------- Variables within the `LAKEPARM.nc` file are described in the tables below. .. table:: :width: 90% :align: center +--------------------+-------------------------------------------------+ | **Variable name** | **Description** | +====================+=================================================+ | lake_id | Lake index (consecutively from 1 to n # of | | | lakes) | +--------------------+-------------------------------------------------+ | LkArea | Area [:math:`m^2`] | +--------------------+-------------------------------------------------+ | LkMxE | Elevation of maximum lake height [:math:`m`, | | | AMSL] | +--------------------+-------------------------------------------------+ | WeirC | Weir coefficient (ranges from zero to one) | +--------------------+-------------------------------------------------+ | WeirL | Weir length [:math:`m`] | +--------------------+-------------------------------------------------+ | WeirE | Weir elevation [:math:`m`, AMSL] | +--------------------+-------------------------------------------------+ | OrificeC | Orifice coefficient (ranges from zero to one) | +--------------------+-------------------------------------------------+ | OrificeA | Orifice area [:math:`m^2`] | +--------------------+-------------------------------------------------+ | OrificeE | Orifice elevation [:math:`m`, AMSL] | +--------------------+-------------------------------------------------+ | Dam_Length | Dam length as a multiplier on WeirL [multiplier]| +--------------------+-------------------------------------------------+ | lat | Latitude *[decimal degrees north]* | +--------------------+-------------------------------------------------+ | lon | Longitude *[decimal degrees east]* | +--------------------+-------------------------------------------------+ | time | time | +--------------------+-------------------------------------------------+ | ascendingIndex | Index to use for sorting IDs (ascending) | +--------------------+-------------------------------------------------+ | ifd | Initial fraction water depth | +--------------------+-------------------------------------------------+ | crs | CRS definition | +--------------------+-------------------------------------------------+ .. _section-a15: A15. Restart Files Overview --------------------------- **Cold start versus warm start model simulations:** When one start the model as a `cold start` (meaning that it is starting with the default values at the very beginning), it takes time for the model to warm up and reach an equilibrium state. For example, consider simulating streamflow values for a stream which has a base flow of at least 10 cms during the year, and you have a `cold start`. The default values of the streamflow might be zeros at the start of the modeling. It then takes time for the simulated streamflow within the model to reach the 10 cms. In contrast, a `warm start` is when the model simulation begins with the simulated values of a given time step (starting time step) from a previous run. This eliminates the processing time the model would take to reach an equilibrium state. Depending on which variable of the model you are looking at, the time required to reach to the warm state may differ. For example, groundwater requires a longer time period to reach to equilibrium. **How to do a warm start simulations with WRF-Hydro?** WRF-Hydro model outputs two set of model restart files (:file:`RESTART.YYYYmmddHH_DOMAIN` and :file:`HYDRO_RST.YYYY-mm-dd_HH:MM_DOMAIN1`) which store the model states at a specified time and could be used to start the model from that point in time. :file:`RESTART.YYYYmmddHH_DOMAIN` stores the state variables reqiured for restarting LSM and :file:`HYDRO_RST.YYYY-mm-dd_HH:MM_DOMAIN` stores the state variables required to resume the hydro components of the WRF-Hydro model. To warm start the LSM part of the model, specify path to the restart file in the :file:`namelist.hrldas` using `RESTART\_FILENAME\_REQUESTED` option. To warm start the HYDRO part of the model, specify the path to the `HYDRO\_RST` file in the :file:`hydro.namelist` using the option `RESTART\_FILE`, and also set the `gw\_restart` option to 1. If the path to the files are left empty or commented out, it means the model simulation is cold started. One could control the frequency of outputting restart files using the options `RESTART\_FREQUENCY\_HOURS` and `rst\_dt` in the :file:`namelist.hrldas` and :file:`hydro.namelist`, respectively. If these options are set to -9999, model outputs restart files once a month. Restart files are large in size, and therefore user needs to be cautious of how frequently it outputs the restart files. .. figure:: media/restarts.png :align: center **Figure A15.** Overview of restart files for the various model physics components. A15.1 RESTART_MP File Variable Table ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: Noah-MP restarts are written in ``subroutine lsm_restart()`` in :file:`module_NoahMP_hrldas_driver.F`. Noah-MP variables are defined in ``subroutine noahmplsm()`` in :file:`module_sf_noahmpdrv.F` `RESTART\_MP` file variable descriptions .. table:: :width: 90% :align: center +-------------+-------------------------------------------+------------------+ | **Variable | **Description** | **Units** | | name** | | | +=============+===========================================+==================+ | ACCPRCP | Accumulated precipitation | :math:`mm` | +-------------+-------------------------------------------+------------------+ | ACCECAN | Accumulated canopy evaporation | :math:`mm` | +-------------+-------------------------------------------+------------------+ | ACCEDIR | Accumulated direct soil evaporation | :math:`mm` | +-------------+-------------------------------------------+------------------+ | ACCETRAN | Accumulated transpiration | :math:`mm` | +-------------+-------------------------------------------+------------------+ | ACMELT | accumulated melting water out of snow | :math:`mm` | | | bottom | | +-------------+-------------------------------------------+------------------+ | ACSNOW | accumulated snowfall on grid | :math:`mm` | +-------------+-------------------------------------------+------------------+ | ALBOLD | snow albedo at last time step (-) | | +-------------+-------------------------------------------+------------------+ | AREAXY | (in the file but not used by the model) | | +-------------+-------------------------------------------+------------------+ | CANICE | Canopy ice water content / | :math:`mm` | | | canopy-intercepted ice | | +-------------+-------------------------------------------+------------------+ | CANLIQ | Canopy liquid water content / | :math:`mm` | | | canopy-intercepted liquid water | | +-------------+-------------------------------------------+------------------+ | CH | Sensible heat exchange coefficient | | +-------------+-------------------------------------------+------------------+ | CM | Momentum drag coefficient | | +-------------+-------------------------------------------+------------------+ | DEEPRECHXY | soil moisture below the bottom of the | :math:`m^3/m^3` | | | column | | +-------------+-------------------------------------------+------------------+ | EAH | canopy air vapor pressure | :math:`Pa` | +-------------+-------------------------------------------+------------------+ | EQZWT | (in the file but not used by the model) | | +-------------+-------------------------------------------+------------------+ | FASTCP | short-lived carbon in shallow soil | :math:`g/m^2` | +-------------+-------------------------------------------+------------------+ | FDEPTHXY | (in the file but not used by the model) | | +-------------+-------------------------------------------+------------------+ | FWET | Wetted or snowed fraction of canopy | :math:`fraction` | +-------------+-------------------------------------------+------------------+ | GVFMAX | annual maximum in vegetation fraction | | +-------------+-------------------------------------------+------------------+ | GVFMIN | annual minimum in vegetation fraction | | +-------------+-------------------------------------------+------------------+ | ISNOW | Number of snow layers | :math:`count` | +-------------+-------------------------------------------+------------------+ | LAI | leaf area index | | +-------------+-------------------------------------------+------------------+ | LFMASS | Leaf mass | :math:`g/m^2` | +-------------+-------------------------------------------+------------------+ | PEXPXY | (in the file but not used by the model) | | +-------------+-------------------------------------------+------------------+ | QRFSXY | Stem mass | :math:`g/m^2` | +-------------+-------------------------------------------+------------------+ | QRFXY | (in the file but not used by the model) | | +-------------+-------------------------------------------+------------------+ | QSFC | bulk surface specific humidity | | +-------------+-------------------------------------------+------------------+ | QSLATXY | Stable carbon in deep soil | :math:`g/m^2` | +-------------+-------------------------------------------+------------------+ | QSNOW | snowfall rate on the ground | :math:`mm/s` | +-------------+-------------------------------------------+------------------+ | QSPRINGSXY | Mass of wood and woody roots | :math:`g/m^2` | +-------------+-------------------------------------------+------------------+ | QSPRINGXY | (in the file by not used by the model) | | +-------------+-------------------------------------------+------------------+ | RECHXY | recharge to the water table (diagnostic) | :math:`m^3/m^3` | +-------------+-------------------------------------------+------------------+ | RIVERBEDXY | (in the file but not used by the model) | | +-------------+-------------------------------------------+------------------+ | RIVERCONDXY | (in the file but not used by the model) | | +-------------+-------------------------------------------+------------------+ | RTMASS | mass of fine roots | :math:`g/m^2` | +-------------+-------------------------------------------+------------------+ | SAI | stem area index | | +-------------+-------------------------------------------+------------------+ | SFCRUNOFF | Accumulatetd surface runoff | :math:`mm` | +-------------+-------------------------------------------+------------------+ | SH2O | volumetric liquid soil moisture | :math:`m^3/m^3` | +-------------+-------------------------------------------+------------------+ | SMC | Volumetric Soil Moisture | :math:`m^3/m^3` | +-------------+-------------------------------------------+------------------+ | SMCWTDXY | soil moisture below the bottom of the | :math:`m^3/m^3` | | | column | | +-------------+-------------------------------------------+------------------+ | SMOISEQ | volumetric soil moisture | :math:`m^3/m^3` | +-------------+-------------------------------------------+------------------+ | SNEQV | Snow water equivalent | :math:`kg/m^2` | +-------------+-------------------------------------------+------------------+ | SNEQVO | snow mass at last time step | :math:`mm` | +-------------+-------------------------------------------+------------------+ | SNICE | snow layer ice | :math:`mm` | +-------------+-------------------------------------------+------------------+ | SNLIQ | Snow layer liquid water | :math:`mm` | +-------------+-------------------------------------------+------------------+ | SNOWH | Snow depth | :math:`m` | +-------------+-------------------------------------------+------------------+ | SNOW_T | snow temperature | :math:`K` | +-------------+-------------------------------------------+------------------+ | SOIL_T | Soil Temperature on NSOIL layers | :math:`K` | +-------------+-------------------------------------------+------------------+ | STBLCP | Stable carbon in deep soil | :math:`g/m^2` | +-------------+-------------------------------------------+------------------+ | STMASS | stem mass | :math:`g/m^2` | +-------------+-------------------------------------------+------------------+ | TAH | Canopy Air Temperature | :math:`K` | +-------------+-------------------------------------------+------------------+ | TAUSS | snow age factor | | +-------------+-------------------------------------------+------------------+ | TG | Ground Temperature | :math:`K` | +-------------+-------------------------------------------+------------------+ | TV | Canopy Temperature | :math:`K` | +-------------+-------------------------------------------+------------------+ | UDRUNOFF | Accumulated underground runoff" | :math:`mm` | +-------------+-------------------------------------------+------------------+ | WA | Water in aquifer relative to reference | :math:`kg/m^2` | | | level | | +-------------+-------------------------------------------+------------------+ | WOOD | Mass of wood and woody roots | :math:`g/m^2` | +-------------+-------------------------------------------+------------------+ | WSLAKE | lake water storage | :math:`mm` | +-------------+-------------------------------------------+------------------+ | WT | Water in aquifer and saturated soil | :math:`kg/m^2` | +-------------+-------------------------------------------+------------------+ | ZSNSO | Snow layer depths from snow surface | :math:`m` | +-------------+-------------------------------------------+------------------+ | ZWT | water table depth | :math:`m` | +-------------+-------------------------------------------+------------------+ | VEGFRA | Vegetation fraction | | +-------------+-------------------------------------------+------------------+ .. _section-a15.2: A15.2 HYDRO_RST File Variable Table ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: The variables are written to the `HYDRO\_RST` file in the subroutine of ``RESTART_OUT_nc`` in the :file:`Routing/module_HYDRO_io.F90`. The tables below contain all the information on the dimensions and variables in the Hydro RESTART file (`HYDRO\_RST`). .. table:: :width: 90% :align: center +---------------+-----------------------------+---------------------------+ | **Dimension** | **Description** | **It is written** | +===============+=============================+===========================+ | depth | Number of soil layers | | +---------------+-----------------------------+---------------------------+ | ix | Number of columns in the | | | | coarse grid (LSM) | | +---------------+-----------------------------+---------------------------+ | iy | Number of rows in the | | | | coarse grid (LSM) | | +---------------+-----------------------------+---------------------------+ | ixrt | Number of columns in the | | | | fine grid (hydro) | | +---------------+-----------------------------+---------------------------+ | iyrt | Number of rows in the fine | | | | grid (hydro) | | +---------------+-----------------------------+---------------------------+ | links | Number of links/reaches | | +---------------+-----------------------------+---------------------------+ | basns | Number of basins for the | Only if ``GWBASESWCRT=1`` | | | groundwater/baseflow | in the `hydro.namelist` | | | modeling | | +---------------+-----------------------------+---------------------------+ | lakes | Number of lakes | Only if the lake | | | | routing is turned on | +---------------+-----------------------------+---------------------------+ .. table:: :width: 90% :align: center +--------------+-------------------------------+----------------+----------------+-----------------+ | **Variable | **Description** | **# Dimensions | **Resolution** | **Units** | | name** | | (not | | | | | | including | | | | | | time)** | | | +==============+===============================+================+================+=================+ | cvol | volume of stream in cell | 1 | fine/link | :math:`m^3` | +--------------+-------------------------------+----------------+----------------+-----------------+ | hlink | stream stage | 1 | fine/link | :math:`m` | +--------------+-------------------------------+----------------+----------------+-----------------+ | infxsrt | infiltration excess water | 2 | coarse | :math:`mm` | +--------------+-------------------------------+----------------+----------------+-----------------+ | infxswgt | weights for disaggregation of | 2 | fine | \- | | | infxsrt | | | | +--------------+-------------------------------+----------------+----------------+-----------------+ | qbdryrt | accumulated value of the | 2 | fine | :math:`mm` | | | boundary flux | | | | +--------------+-------------------------------+----------------+----------------+-----------------+ | qlink1 | stream flow in to cell/reach | 1 | fine/link | :math:`m^3/s` | +--------------+-------------------------------+----------------+----------------+-----------------+ | qlink2 | stream flow out of cell/reach | 1 | fine/link | :math:`m^3/s` | +--------------+-------------------------------+----------------+----------------+-----------------+ | qstrmvolrt | Accumulated depth of stream | 2 | fine | :math:`mm` | | | channel inflow | | | | +--------------+-------------------------------+----------------+----------------+-----------------+ | sfcheadrt | surface head on the coarse | 2 | coarse | :math:`mm` | | | grid | | | | +--------------+-------------------------------+----------------+----------------+-----------------+ | sfcheadsubrt | surface head on the routing | 2 | fine | :math:`mm` | | | grid | | | | +--------------+-------------------------------+----------------+----------------+-----------------+ | sh2owgt | weights for disaggregation of | 3 | fine | \- | | | total soil moisture (smc) | | | | +--------------+-------------------------------+----------------+----------------+-----------------+ | sh2ox | liquid soil moisture | 3 | coarse | :math:`m^3/m^3` | +--------------+-------------------------------+----------------+----------------+-----------------+ | smc | total liq+ice soil moisture. | 3 | coarse | :math:`m^3/m^3` | +--------------+-------------------------------+----------------+----------------+-----------------+ | soldrain | soil drainage | 2 | coarse | :math:`mm` | +--------------+-------------------------------+----------------+----------------+-----------------+ | stc | soil temperature | 3 | coarse | :math:`K` | +--------------+-------------------------------+----------------+----------------+-----------------+ | lake_inflort | lake inflow | 2 | fine | :math:`mm` | +--------------+-------------------------------+----------------+----------------+-----------------+ | resht | water surface elevation | 1 | link | :math:`m` | +--------------+-------------------------------+----------------+----------------+-----------------+ | qlakeo | outflow from lake used in | 1 | link | :math:`m^3/s` | | | diffusion scheme | | | | +--------------+-------------------------------+----------------+----------------+-----------------+ | qlakei | lake inflow | numLakes | link | :math:`m^3/s` | +--------------+-------------------------------+----------------+----------------+-----------------+ | z_gwsubbas | depth in ground water bucket | 1 | link | :math:`m` | +--------------+-------------------------------+----------------+----------------+-----------------+ .. _section-a16: A16. Streamflow Nudging ----------------------- Below is an example netCDF header nudging time slice observation file containing 2 gages. The command :program:`ncdump -h` was used to produce this header information. :: netcdf 2013-06-01_21:45:00.15min.usgsTimeSlice { dimensions: stationIdStrLen = 15 ; stationIdInd = UNLIMITED ; // (2 currently) timeStrLen = 19 ; variables: char stationId(stationIdInd, stationIdStrLen) ; stationId:long_name = "USGS station identifier of length 15" ; char time(stationIdInd, timeStrLen) ; time:units = "UTC" ; time:long_name = "YYYY-MM-DD_HH:mm:ss UTC" ; float discharge(stationIdInd) ; discharge:units = "m^3/s" ; discharge:long_name = "Discharge.cubic_meters_per_second" ; short discharge_quality(stationIdInd) ; discharge_quality:units = "-" ; discharge_quality:long_name = "Discharge quality 0 to 100 to be scaled by 100." ; float queryTime(stationIdInd) ; queryTime:units = "seconds since 1970-01-01 00:00:00 local TZ" ; // global attributes: :fileUpdateTimeUTC = "2017-08-25_17:24:22" ; :sliceCenterTimeUTC = "2013-06-01_21:45:00" ; :sliceTimeResolutionMinutes = "15" ; } Below is an example `nudgingParams.nc` file containing parameters for 3 gages. The command :program:`ncdump -h` was used to create this header information. :: netcdf nudgingParams { dimensions: stationIdInd = UNLIMITED ; // (3 currently) monthInd = 12 ; threshCatInd = 2 ; threshInd = 1 ; stationIdStrLen = 15 ; variables: float G(stationIdInd) ; G:units = "-" ; G:long_name = "Amplitude of nudging" ; float R(stationIdInd) ; R:units = "meters" ; R:long_name = "Radius of influence in meters" ; float expCoeff(stationIdInd, monthInd, threshCatInd) ; expCoeff:units = "minutes" ; expCoeff:long_name = "Coefficient b in denominator e^(-dt/b)" ; float qThresh(stationIdInd, monthInd, threshInd) ; qThresh:units = "m^3/s" ; qThresh:long_name = "Discharge threshold category" ; char stationId(stationIdInd, stationIdStrLen) ; stationId:units = "-" ; stationId:long_name = "USGS station identifer" ; float tau(stationIdInd) ; tau:units = "minutes" ; tau:long_name = "Time tapering parameter half window size in minutes" ; } .. _section-a17: A17. National Water Model (NWM) Configuration --------------------------------------------- The community WRF-Hydro modeling system is currently the underlying modeling architecture for the NOAA National Water Model. This means that the community WRF-Hydro model code is configurable into the National Water Model configurations that run in operations at the National Center for Environmental Prediction (NCEP). .. pull-quote:: “\ *The NWM is an hourly cycling uncoupled analysis and forecast system that provides streamflow for 2.7 million river reaches and other hydrologic information on 1km and 250m grids. The model provides complementary hydrologic guidance at current NWS River Forecast Center (RFC) river forecast locations and significantly expanded guidance coverage and type in underserved locations.* *The NWM ingests forcing from a variety of sources including Multi-Radar Multi-Sensor (MRMS) radar-gauge observed precipitation data and High-Resolution Rapid Refresh (HRRR), Rapid Refresh (RAP), Global Forecast System (GFS) and Climate Forecast System (CFS) Numerical Weather Prediction (NWP) forecast data. USGS real-time streamflow observations are assimilated and all NWM configurations benefit from the inclusion of ~5500 reservoirs. The core of the NWM system is the National Center for Atmospheric Research (NCAR)-supported community Weather Research and Forecasting (WRF)-Hydro hydrologic model. WRF-Hydro is configured to use the Noah Multi-Parameterization (Noah-MP) Land Surface Model (LSM) to simulate land surface processes. Separate water routing modules perform diffusive wave surface routing and saturated subsurface flow routing on a 250m grid, and Muskingum-Cunge channel routing down NHDPlusV2 stream reaches. River analyses and forecasts are provided across a domain encompassing the continental U.S. and hydrologically-contributing areas, while land surface output is available on a larger domain that extends beyond the continental U.S. into Canada and Mexico (roughly from latitude 19N to 58N). In addition, NWM forcing datasets are provided on this domain at a resolution of 1km.*\ ” .. centered:: *Excerpt from NOUS41 KWBC 061735 PNSWSH NWS Office of Science and Technology Integration* Newer versions of the National Water Model were extended to Hawaii, Puerto Rico and the U.S. Virgin Islands, and South-Central Alaska. A17.1 Operational NWM ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ For more information regarding the operational configuration, input, and output data of the National Water Model see the Office of Water Prediction website: http://water.noaa.gov/about/nwm and the Open Commons Consortium Environmental Data Commons website: http://edc.occ-data.org/nwm/. There are different NWM configurations that run operationally. The full list of the configurations and their specifics can be found at - https://water.noaa.gov/about/nwm The latest NWM configuration and files can be found on the NOAA NCEP site: - https://www.nco.ncep.noaa.gov/pmb/codes/nwprod/ (scroll to the nwm.vX folder) Namelists for different operational configurations can be found on the NOAA NCEP site, for example: - NWMv3.0 CONUS Analysis & Assimilation cycle: https://www.nco.ncep.noaa.gov/pmb/codes/nwprod/nwm.v3.0.12/parm/analysis_assim/ - NWMv3.0 South-Central Alaska Medium-Range Forecast cycle: https://www.nco.ncep.noaa.gov/pmb/codes/nwprod/nwm.v3.0.12/parm/ak_medium_range/ - NWMv3.0 Hawaii Short-Range Forecast cycle: https://www.nco.ncep.noaa.gov/pmb/codes/nwprod/nwm.v3.0.12/parm/hi_short_range/ - NWMv3.0 Puerto Rico & U.S. Virgin Islands Short-Range Forecast cycle: https://www.nco.ncep.noaa.gov/pmb/codes/nwprod/nwm.v3.0.12/parm/pr_short_range/ An archive of National Water Model operational outputs can be found on Google Cloud: - https://console.cloud.google.com/storage/browser/national-water-model/ A17.2 NWM Retrospectives ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In addition to the operational model outputs, we also produce long-term (20-40 year) retrospectives for most versions of the National Water Model. The National Water Model Retrospectives can be found on AWS and Google Cloud: - https://registry.opendata.aws/nwm-archive/ - https://console.cloud.google.com/storage/browser/national-water-model-v3-0 .. _section-a18: A18. The Crocus Glacier Model ----------------------------- Crocus is an energy and mass transfer snowpack model, initially developed for avalanche forecasting (*Brun et al., 1989, 1992*). The version that was implemented into the French SURFEX model V8.0 (*Vionnet et al., 2012*) is being used here. This version has several updates from older versions of Crocus, such as the impacts of wind drift. The Crocus snowpack model is a multilayered, physically based snow model that explicitly calculates snow grain properties in each snow layer and how these properties change over time. The grain properties of dendricity, sphericity and size are prognosed in Crocus through metamorphism, compaction and impacts of wind drift. Furthermore, the snow albedo is calculated based on the snow grain properties from the top 3cm of the snowpack (*Vionnet et al., 2012*) and is calculated in three spectral bands (0.3-0.8, 0.8-1.5 and 1.5-2.5 `\mu m`). Impurities in aging snow are parameterized in the UV and visible spectral band (0.3-0.8 `\mu m`) from the age of the snow, with a time constant of 60 days. See *Vionnet et al. (2012)* for a detailed description of the albedo calculations. The albedo over ice is constant in all spectral bands and is 0.38, 0.23 and 0.08 for the spectral bands 0.3-0.8, 0.8-1.5 and 1.5-2.5 `\mu m`. The sensible and latent heat are parameterized with an effective roughness length over snow and ice (see *Vionnet et al. (2012)* for further details). In the Crocus model, it is possible to divide the snow into a user-defined maximum numbers of dynamically evolving layers. As new snow is accumulated, a new active layer is added. As different snow layers become similar (based upon the number of user-set layers, the thickness of the snow layers and the snow grain characteristics), these snow layers will merge into single snow layers. The Crocus module is added to the Noah-MP land surface model in WRF-Hydro to act as a glacier mass balance model (*Eidhammer et al. 2021*). Over designated glacier grid points, the Crocus snow model represents both snow and ice, while outside of the designated glacier grid points, the regular three-layer snow model in Noah-MP is used. Since the current Crocus implementation in WRF-Hydro only acts over designated glacier grid points, we follow *Gerbaux et al. (2005)* and assume that the temperatures at the bottom of the glacier and the ground below are both at `0^\circ C`. Note that we have not yet incorporated fluxes between the glacier and the ground below; thus, there is a constant temperature boundary condition. Both Crocus and Noah-MP (for the non-glacier grid points) output runoff from snowmelt (and precipitation). This runoff is provided to the terrain routing models in WRF-Hydro. Note that the implementation of Crocus as a glacier mass balance model does not address glacier movement (i.e., plastic flow) nor lateral wind (re)distribution of snow. However, there are two options for including impacts on the snow due to wind. One of the options impacts the snow density during blowing snow events (*Brun et al., 1997*). This option is important in polar environments (*Brun et al., 1997*). The other option is the sublimation due to snow drift, which was implemented by *Vionnet et al. (2012)* and which is in the Crocus version that is used in this study. As implemented, if the glacier completely melts over a user-defined glacier grid point, the original Noah-MP module is used from this point on. Therefore, as currently implemented, the glacier cannot grow horizontally in extent; it can only decrease in extent, as no dynamic response of the ice mass is included in the model. Over short model time periods, the lack of increase in glacier extent might impact a few grid points at the edges of the glacier. However, given the expected increase in temperature in the future, we do not expect that limiting glacier horizontal growth will have a major impact over most studied glaciers as most are likely to decrease in mass and extent. .. rubric:: Running WRF-Hydro / Glacier Below is a description on how to run with Crocus as a glacier model. There are only a few namelist options that needs to be added in :file:`namelist.hrldas`: .. code-block:: fortran &CROCUS_nlist crocus_opt = 1 ! 0 model is off, 1 model is on act_lev = 40 ! 1-50, 20-40 normal options / The initialization file wrfinput needs two additional fields to be defined: | ``glacier`` | ``glacier_thickness`` The field ``glacier`` should have the value of 1 over glacier gridpoints. The ``glacier`` field can be provided by the user, or the user can use the glacier category from ``IVGTYP``. Here is an example how to generate initial glacier fields for an “ideal” simulation, with homogeneous glacier thickness layer. In this case, ``IVGTYP=24`` represents glaciers: .. code-block:: bash ncap2 -O -s 'glacier=IVGTYP' wrfinput.nc wrfinput.nc ncap2 -O -s 'where(glacier!=24) glacier=0' wrfinput.nc wrfinput.nc ncap2 -O -s 'where(glacier==24) glacier=1' wrfinput.nc wrfinput.nc To create a 300 m thick glacier: .. code-block:: bash ncap2 -O -s 'glacier_thickness=glacier*300' wrfinput.nc wrfinput.nc At initialization, it is assumed that the glacier consists of only ice, and the density is that of pure ice (`900 \frac{kg}{m^3}`). Within the user-defined maximum layers (``act_lev``) the glacier is initialized with all the layers having the same assumed density and snow grain properties. As new snow accumulates during the simulations, the layers representing the glacier will start to merge since all layers contain the initialized ice. .. rubric:: Crocus outputs .. table:: :width: 90% :align: center :name: table-a16 +--------------+-----------+----------------------------------------------+--------------------+ | | Dimension | Explanation | Units | +==============+===========+==============================================+====================+ | PSNOWSWE | 3D | Snow water equivalent | `kg/m^2` | +--------------+-----------+----------------------------------------------+--------------------+ | PSNOWTEMP | 3D | Glacier temperature | `K` | +--------------+-----------+----------------------------------------------+--------------------+ | PSNOWALB | 2D | Albedo | `-` | +--------------+-----------+----------------------------------------------+--------------------+ | PSNOWTHRUFAL | 2D | Accumulated surface runoff | `kg/m^2` | +--------------+-----------+----------------------------------------------+--------------------+ | PSNOWHEIGHT | 2D | Total glacier thickness | `m` | +--------------+-----------+----------------------------------------------+--------------------+ | PSNOWTOTSWE | 2D | Total glacier snow water equivalent | `kg/m^2` | +--------------+-----------+----------------------------------------------+--------------------+ | PSNOWGRAN1 | 3D | Snow grain parameter 1 | `-` | +--------------+-----------+----------------------------------------------+--------------------+ | PSNOWGRAN2 | 3D | Snow grain parameter 2 | `-` | +--------------+-----------+----------------------------------------------+--------------------+ | PSNOWDZ | 3D | Thickness of snow/ice layers | `m` | +--------------+-----------+----------------------------------------------+--------------------+ | PSNOWHIST | 3D | Snow grain historical parameter | `-` | +--------------+-----------+----------------------------------------------+--------------------+ | PSNOWLIQ | 3D | Liquid content | `kg/m^2` | +--------------+-----------+----------------------------------------------+--------------------+ | PSNOWRHO | 3D | Snow/ice density | `kg/m^3` | +--------------+-----------+----------------------------------------------+--------------------+ | FLOW_ICE | 2D | Accumulated surface runoff from ice surface | `kg/m^2` (or `mm`) | +--------------+-----------+----------------------------------------------+--------------------+ | FLOW_SNOW | 2D | Accumulated surface runoff from snow surface | `kg/m^2` (or `mm`) | +--------------+-----------+----------------------------------------------+--------------------+ .. note:: Note on other WRF-Hydro outputs: The following outputs are informed from both Noah-MP and Crocus. Over glacier gridpoints, the outputs are informed from Crocus: ``ACCET``, ``ALBEDO``, ``SNOWEQV``, ``SNOWH`` and ``ACSNOWM``. Currently there are no namelist options to change parameter values. Several important parameters that can be modified can be found in: :file:`src/Land_models/NoahMP/phys/surfex/modd_snow_par.F90` Surface runoff is assigned to ``FLOW_ICE`` when the top active layer at the specific grid point has a density of 850 kg/m3, while surface runoff is assigned to ``FLOW_SNOW`` when the top active layer has a density equal to or less than 850 kg/m3. The sum of ``FLOW_ICE`` and ``FLOW_SNOW`` is equal to ``PSNOWTHRUFAL``. Note that runoff from precipitation is included in surface runoff, thus ``FLOW_SNOW`` and ``FLOW_ICE`` cannot be used directly as indication if melt is from the ice part of the glacier or snow part of the glacier. .. _section-a19: A19. Model Output Variables --------------------------------------------- A19.1. Land surface model output variables ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :file:`{YYYYMMDDHHMM}.LDASOUT_DOMAIN{X}` .. csv-table:: LDASOUT :file: output-tables/LDASOUT_DOMAIN.csv :header-rows: 1 A19.2. Land surface diagnostic output variables ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :file:`{YYYYMMDDHHMM}.LSMOUT_DOMAIN{X}` .. csv-table:: LSMOUT :file: output-tables/LSMOUT.csv :header-rows: 1 A19.3. Streamflow output variables at all channel reaches/cells ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :file:`{YYYYMMDDHHMM}.CHRTOUT_DOMAIN{X}` .. csv-table:: CHRTOUT :file: output-tables/CHRTOUT_DOMAIN.csv :header-rows: 1 A19.4. Streamflow output variables at forecast points or gage reaches/cells ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :file:`{YYYYMMDDHHMM}.CHANOBS_DOMAIN{X}` .. csv-table:: CHANOBS_DOMAIN :file: output-tables/CHANOBS_DOMAIN.csv :header-rows: 1 A19.5. Streamflow output variables on the 2D high resolution routing grid ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :file:`{YYYYMMDDHHMM}.CHRTOUT_GRID{X}` .. csv-table:: CHRTOUT_GRID :file: output-tables/CHRTOUT_GRID.csv :header-rows: 1 A19.6. Terrain routing variables on the 2D high resolution routing grid ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :file:`{YYYYMMDDHHMM}.RTOUT_DOMAIN{X}` .. csv-table:: RTOUT :file: output-tables/RTOUT_DOMAIN.csv :header-rows: 1 A19.7. Lake output variables ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :file:`{YYYYMMDDHHMM}.LAKEOUT_DOMAIN{X}` .. csv-table:: LAKEOUT :file: output-tables/LAKEOUT_DOMAIN.csv :header-rows: 1 A19.8. Ground water output variables ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :file:`{YYYYMMDDHHMM}.GWOUT_DOMAIN{X}` .. csv-table:: GWOUT :file: output-tables/GWOUT_DOMAIN.csv :header-rows: 1