Variable Infiltration Capacity (VIC) Model

repository·master·Indexed 43 days ago

https://github.com/uw-hydro/vic

An open-source macroscale hydrological model (MHM) used for regional, continental, and global hydrological studies. It features subgrid variability in soil storage, nonlinear base flow recession, and gravity drainage moisture movement. The project includes drivers for the Regional Arctic System Model (RASM) framework in CESM-based environments and a Python driver utilizing CFFI.

Tokens
134.4K
Snippets
131
Records
316
Agent score
53%

What's inside VIC

  1. Overview of the VIC Image Driver

    master

    The Image Driver is the modern implementation of the Variable Infiltration Capacity (VIC) model. It is characterized by the following technical features:

    • I/O Format: Uses netCDF for input and output operations.
    • Execution Model: Runs in a 'space-before-time' evaluation order.
    • Parallelism: Utilizes MPI (Message Passing Interface) for parallel processing.
  2. Overview of the VIC model workflow

    master

    Running the VIC model follows a standard sequence of steps:

    1. Prepare input files: Gather necessary environmental and forcing data.
    2. Download source code: Obtain the VIC model implementation.
    3. Configure output files: Define how the model results should be formatted.
    4. Execute commands: Run the model using a driver.
    5. Post-processing: The VIC output must be fed into a routing model to generate a final hydrograph.

    For a complete working example, you can use the Stehekin Basin sample data set available at https://github.com/UW-Hydro/VIC_sample_data.

  3. Overview of the Variable Infiltration Capacity (VIC) Model

    master

    The Variable Infiltration Capacity (VIC) model is a macroscale hydrological model (MHM) used for regional, continental, and global hydrological studies.

    Key hydrological features include:

    • Subgrid Variability: Represents subgrid variability in soil storage capacity as a spatial probability distribution to relate surface runoff.
    • Base Flow: Parameterized as a nonlinear recession occurring from a lower soil moisture zone.
    • Moisture Movement: Modeled as gravity drainage, where unsaturated hydraulic conductivity is a function of soil saturation.
    • Statistical Spatial Variability: Represents spatial variability in soil properties at sub-grid scales statistically rather than assigning specific parameters to subgrid locations.

    VIC is an open-source research model. It does not include a graphical user interface (GUI) or built-in analysis tools, as users are expected to use their own toolsets for data analysis.

  4. Overview of available VIC sample datasets

    master

    The samples/ directory contains complete datasets for testing the VIC model with different drivers. Currently available datasets include:

    Image Driver

    • Stehekin: 10-days of forcings.

    Classic Driver

    • Stehekin: 10-days of forcings.

    Dataset Details

    • Stehekin: A distributed dataset covering the entire Stehekin River Basin in Washington State, USA.
  5. Understand the VIC model support model and limitations

    master

    The VIC model is open-source software licensed under the MIT license. There is no official support provided by the developers.

    Support Channels

    • Model Setup and Application Questions: Use the VIC listserve to ask questions. This is a community-driven forum where users help other users.
    • Source Code Issues: All exchanges regarding the VIC source code are managed through the VIC GitHub page.

    Unsupported Areas

    The VIC development community does not provide support for:

    • Building or running the model on platforms other than LINUX, UNIX, or OSX.
    • Operating system-level issues (LINUX, UNIX, or OSX).
    • Development of project-specific features.
    • Configuring individual model applications.

    Users are expected to have a foundational understanding of the model and scientific computing before attempting to use it.

  6. New features in VIC 5.1.0 rc1

    master

    VIC 5.1.0 rc1 (released April 27, 2018) introduced several major enhancements over VIC 5.0.1, including:

    • Streamflow Routing Extensions: Added ROUT_RVIC for routing in image mode (default is ROUT_STUB).
    • Parallelization: Added support for thread parallelization using OpenMP in image and CESM drivers.
    • Improved Drainage: Drainage between soil layers now uses an exact integral based on the Brook & Corey curve instead of a simple numerical solution.
    • I/O Performance: Speed up NetCDF operations in image/CESM drivers by opening/closing files only once.
    • New Parameters: Added support for BULK_DENSITY_COMB, ORGANIC_FRACT, and MAX_SNOW_ALBEDO via the parameter file.
  7. How VIC documentation versions are served on Read the Docs

    master

    The VIC documentation is hosted on Read the Docs and provides multiple versions corresponding to the repository branches and tags:

    • master: Documentation for the master branch.
    • develop: Documentation for the develop branch.
    • VIC.${tag}: Documentation for specific tags in the VIC history.
  8. Understand the VIC 5.0.0 Architecture: Drivers and Core

    master

    VIC 5.0.0 introduced a major refactoring that separates the physical core (vic_run) from the driver source code. This allows the model to support multiple drivers with different interfaces and evaluation orders.

    Key Drivers:

    • Classic Driver: Provides backward compatibility for VIC 4 users. It supports ASCII and binary I/O and uses a time-before-space evaluation loop order. It is suitable for running at individual grid cells.
    • Image Driver: A more modern interface that uses a space-before-time evaluation loop order, supports netCDF I/O, and enables parallelization using MPI.
  9. Configure Carbon Cycle Processes

    master

    VIC can optionally simulate carbon cycle processes, including photosynthesis, autotrophic respiration, and heterotrophic respiration.

    Key Constraints and Behaviors:

    • Plant Phenology: Plant phenology is not dynamic. Vegetative biomass is not simulated. Characteristics like LAI (Leaf Area Index) must be prescribed as static inputs, similar to how they are handled when carbon cycling is disabled.
    • Soil Carbon Reservoirs: The model manages three distinct soil carbon pools with specific residence times:
      • Litter: ~2.86 years
      • Intermediate: ~33.3 years
      • Slow: ~1000 years
    • NPP Integration: The previous year's total Net Primary Productivity (NPP) is added to the litter pool via a constant daily flux: 1/365 * (previous year's total NPP).
    • Respiration: Respiration from these pools is calculated based on the stored carbon, an exponential decay of the residence time, Lloyd-Taylor temperature dependence, and soil moisture functions. Carbon from the litter and intermediate pools is transferred to subsequent pools, while carbon from the slow pool is released to the atmosphere.
  10. Available VIC Drivers

    master

    VIC can be executed using several different drivers, depending on your integration needs:

    • Classic Driver: The standard execution method.
    • Image Driver: Likely used for specific data format or containerized workflows.
    • CESM Driver: Used for integration with the Community Earth System Model.
    • Python Driver: Allows for controlling the model via Python scripts.
  11. Configure Sub-hourly Timesteps and Calendars

    master

    VIC 5.0.0 supports sub-hourly timesteps and non-standard calendars.

    • Timestep Units: The units for the VIC timestep have changed from hours to seconds. The minimum supported timestep is one second.
    • Calendar Support: VIC supports all CF compliant calendars. The standard Gregorian calendar remains the default.

    Note: If running at a timestep of less than one hour, extensive testing is suggested.