What`s New in VIC 4.0.6

advertisement
VIC: Model Overview
Ted Bohn
UW Surface Water Hydrology
Seminar
November 15, 2012
Outline
VIC Overview
 VIC Web Site
 How to Run VIC
 How to Run the Routing Model
 Future Development
 Conclusions

VIC Model Overview
What is VIC?



Large-scale hydrologic
model (Liang et al, 1994)
Simulates water & energy
storages and fluxes
Inputs: daily or sub-daily
meteorological drivers





Precipitation
Air temperature
Wind speed
etc
Model time step length =
daily or sub-daily
VIC Model Overview
VIC is intended for
Large regions (> 100,100
km2)
Monthly flows and landatmosphere fluxes
Coupling with GCMs
VIC Model Overview
VIC Makes Some Approximations:

Land surface = grid of large (>1km), flat, uniform cells


Equations derived for small, uniform cases are applied to very large
heterogeneous areas
Sub-grid heterogeneity is handled via statistical distributions



Elevation
Land cover
Water can only enter a grid cell via the atmosphere





Non-channel flow between grid cells is ignored
MOST runoff reaches local channel network before reaching grid cell
boundary
Once water reaches the channel network, it is assumed to stay in the
channel (it cannot flow back into the soil)
Grid cells are simulated independently of each other
Routing of stream flow is performed separately from the land surface
simulation, using a separate model (Lohmann et al., 1996 and 1998)
VIC Model Features
Validity of these assumptions?
1. Uniform grid cells/small-scale equations

Depends on:


Linearity of the processes (does average land surface
produce average results?)
Statistical independence of processes (no
correlations/interactions)
2. Runoff goes to local channels/ doesn’t come
back/independence of grid cells

Depends on:




Grid cell size
Channel network density
Rule of thumb: Grid cell size > spacing between channels
(or big enough to contain typical hill or mountain)
Groundwater flow must be small
VIC Model Features
Meteorological Inputs
 VIC can accept any combination of daily or subdaily met. variables
 At minimum, VIC requires daily Prcp, Tmin,
Tmax, and Wind Speed





VIC uses MTCLIM algorithms to compute daily (and
hourly) incoming shortwave radiation and daily
humidity
VIC uses Prata algorithm to compute daily incoming
longwave algorithm
VIC uses cubic spline to interpolate diurnal cycle of T
From diurnal T, computes sub-daily values of other
forcings
Prcp and Wind held constant throughout day
VIC Model Features
Land Cover

“Tiles”




Each tile is homogeneous



Each type of vegetation gets 1
tile
Optional lake/wetland tile
Spatial distribution ignored
Trees have same height, LAI,
etc
Each tile modeled separately
Fluxes and storages from the
tiles are averaged together
(weighted by area fraction) to
give grid-cell average for
output
VIC Model Features
Evapotranspiration (ET)
 From canopy storage
 From soil via transpiration OR bare soil evap


If veg present, no bare soil evap
If overstory, no understory evap
6 types of Potential Evap (PET)
 Open water
 Wet soil
 Natural Veg with no soil moisture limitation (but other
resistances intact)
 Natural Veg with no environmental limitations
 Short reference crop
 Tall reference crop
VIC Model Features
Penman-Monteith formulation
= f(radiation, humidity, wind, surface roughness, architectural resistance,
stomatal resistance)

Architectural Resistance



Stomatal Resistance




= Penman-Monteith with stomatal resistance set to 0
Transpiration


Stomata: pores in leaves for transport of H2O, CO2
Plants actively change stomatal opening to optimize photosynthesis and retain
moisture
= f(radiation, temperature, humidity, soil moisture, LAI)
Evap of canopy storage (dew on leaves)


Shape of canopy; impedance to turbulent transport
= f(LAI, canopy structure)
= Penman-Monteith
Bare soil evap


= Penman-Monteith with architectural and stomatal resistance set to 0
Only applied to saturated soil fraction
VIC Model Features
Soil




Typically 3 soil layers
Infiltration into the top-most layers
controlled by variable infiltration
capacity (VIC) parameterization
Top-most layers can lose moisture
to evapotranspiration
Gravity-driven flow from upper
layers to lower layers




Q = f(soil moisture, Ksat)
ARNO baseflow formulation for
drainage from bottom layer
Optional organic content in soil
parameter file
Optional water table position
computed via Van Genuchten curve
VIC Model Features
Soil T profile

1. QUICK_FLUX approximation



2. Finite element scheme






(QUICK_FLUX TRUE in global parameter
file)
Assumes exponential decay towards
“deep temperature” with depth
(QUICK_FLUX FALSE in global parameter
file)
Heat diffusion equation
Anywhere from 3 to 50 “nodes”
Hydro soil layer average T can be
output (as of VIC 4.1.2)
Optional soil freeze/thaw:
FROZEN_SOIL TRUE in global
parameter file
Finite element + Frozen Soil is
computationally expensive

Only recommended where soil freezing is
important process
VIC Model Features
Soil T heterogeneity



Option: SPATIAL_FROST (user_def.h)
Linear (uniform) distribution of soil T around mean
Allows some moisture movement in soil when avg T below
freezing
VIC Model Features
Snow





2-layer formulation
Precip, Sublimation and melt
Albedo decay
Energy balance
Need diurnal radiation to get
snowmelt rate right


SNOW_STEP in global parameter
file
Partial snow cover can also be
considered (affects melt rate)

(SPATIAL_SNOW TRUE in
user_def.h)
VIC Model Features
Elevation Bands



Snow pack size depends non-linearly on
altitude, via precipitation and temperature
In temperate mountainous regions, with
seasonally-varying snow line, using the
average elevation, temperature, and
precipitation over the entire grid cell gives
wrong answer
How it works:






Subdivide grid cell into arbitrary number of
elevation bands
Within each band, meteorologic forcings
are lapsed from grid cell average elevation
to band's elevation
Geographic locations or configurations of
elevation bands are not considered; VIC
lumps all areas of same elevation range
into 1 band
Fluxes and storages from the bands are
averaged together (weighted by area
fraction) to give grid-cell average for
writing to output files
Specify in global parameter file
Less necessary when running VIC at high
resolution (1/16 degree)
VIC Model Features
Dynamic Lake/Wetland Model
(Bowling, 2002, 2009)
•Multi-layer lake model of Hostetler et al.
2000
•Energy-balance model
•Mixing, radiation attenuation,
variable ice cover
•Dynamic lake area (taken from
topography) allows seasonal inundation
of adjacent wetlands
•1 composite lake per cell
•Lakes can (as of VIC 4.1.2) receive
input from upstream channel network:
•Requires running upstream cells first
•One option: run entire basin without lakes, then route flows, then
simulate lake as single grid cell
•Note: lake parameters (bathymetry, wfrac, mindepth, etc) not
available on global scale; so far calibrating case-by-case
VIC Model Features
River Routing





Routing of stream flow is performed
separately from the land surface simulation,
using a separate model, typically the routing
model of Lohmann, et al. (1996; 1998)
Each grid cell is represented by a node in
the channel network
The total runoff and baseflow from each grid
cell is first convolved with a unit
hydrograph representing the distribution of
travel times of water from its points of origin
to the channel network
Then, each grid cell's input into the channel
network is routed through the channel using
linearized St. Venant's equations
A lot of slop here: we typically don’t
calibrate the unit hydrograph, channel
velocities, etc. Errors are small when
looking at monthly flows from large
basins
Outline
VIC Overview
 VIC Web Site
 How to Run VIC
 How to Run the Routing Model
 Future Development
 Conclusions

VIC Web Site
www.hydro.washington.edu/Lettenmaier/Models/VIC/
Outline
VIC Overview
 VIC Web Site
 How to Run VIC
 How to Run the Routing Model
 Future Development
 Conclusions

How to Run VIC
1.
2.
3.
4.
Download source code
Compile (via “make”)
Prepare input files
Run VIC
vicNl –g global_parameter_file >& log.file.txt
Other Usage:
 To see version info:
vicNl –v

To see compile-time option settings:
vicNl –o
Global Parameter File
Global Parameter File = Master Input File
 Names/locations of all other input/output files
 Contents/formatting of input forcing and output
files


Settings of most simulation options





You can make whatever output files you want
Start/stop dates
Model time step
Water Balance v. Full Energy mode
Etc
Options and their allowed values are listed in
vicNl_def.h
Other Parameter Files
ASCII text
 1+ line(s) per grid cell
 Formats described on VIC web site
 Optionally, soil parameters can be
specified in Arc/INFO grid format

Met. Forcing Files


ASCII or binary
Can be traditional units (e.g. mm) or ALMA convention
(e.g. m3/sec)


You MUST describe file contents in the global parameter file






ALMA = standard for atmospheric models
Variables
Start date
Time step
Measurement height
Usually 1 file per grid cell
Optionally a 2nd file


Can have different variables, time step, start date than first
file
New input forcing variable, CHANNEL_IN, is only used for input
into a lake

Can be the routed runoff of upstream cells
State Files
Can be ASCII or Binary
 Initial state file has same format as final
state file
 Initial state file can be the final state file
from a previous VIC run

Output Files




Can be ASCII or Binary
Units can be traditional or ALMA convention
1+ file(s) per grid cell
You can either:



Specify the files’ names and contents in the global
parameter file
Or omit this information and have VIC create default
output files
You can either:


Specify the output time step (n-hourly or daily)
Or omit this and the output time step will = model time
step
VIC Simulation Mode Settings
2 types of settings:
 Run-time




Most options are of this type
Set in global parameter file
Examples of most available in global.param.sample
Compile-time


Only a few options
Set in user_def.h


Values in user_def.h may be misleading, if it has been
edited since the last “make”
To see their current values, type
vicNl –o

To change these:
1.
2.
3.
Edit user_def.h
Make clean
Make
vicNl_def.h Describes Most Model
Options

Input Forcing Variables
/***** Forcing Variable
#define N_FORCING_TYPES
#define AIR_TEMP
0 /*
*/
#define ALBEDO
1 /*
#define CHANNEL_IN 2 /*

Types *****/
24
air temperature per time step [C] (ALMA_INPUT: [K])
surface albedo [fraction] */
incoming channel flow [m3] (ALMA_INPUT: [m3/s]) */
Output Forcing Variables
/***** Output Variable Types *****/
#define N_OUTVAR_TYPES 160
// Water Balance Terms - state variables
#define OUT_ASAT
0 /* Saturated Area Fraction */
#define OUT_LAKE_AREA_FRAC
1 /* lake surface area as fraction of the
grid cell area [fraction] */
#define OUT_LAKE_DEPTH
2 /* lake depth (distance between surface and
deepest point) [m] */
vicNl_def.h Describes Most Model
Options

Simulation Modes: options_struct
typedef struct {
// simulation modes
int
AboveTreelineVeg; /* Default veg type to use above
treeline;
Negative number indicates bare
soil. */
char
AERO_RESIST_CANSNOW; /* "AR_406" = multiply aerodynamic
resistance
…
} option_struct
•Example global parameter file
•Included in code distribution
•To make global parameter file
for your project, copy this file
and edit it
•Contains most options, set to
#######################################################################
default values
# VIC Model Parameters - 4.1.x
Global.param.sample
#######################################################################
# $Id: global.param.sample,v 5.7.2.28 2012/04/15 05:39:10 vicadmin Exp $
#######################################################################
# Simulation Parameters
#######################################################################
NLAYER
3
# number of soil layers
NODES
10
# number of soil thermal nodes
TIME_STEP
3
# model time step in hours (set to 24 if FULL_ENERGY = FALSE, set to <
24 if FULL_ENERGY = TRUE)
SNOW_STEP
3
# time step in hours for which to solve the snow model (should =
TIME_STEP if TIME_STEP < 24)
STARTYEAR
2000
# year model simulation starts
STARTMONTH
01
# month model simulation starts
STARTDAY
01
# day model simulation starts
STARTHOUR
00
# hour model simulation starts
ENDYEAR
2000
# year model simulation ends
ENDMONTH
12
# month model simulation ends
ENDDAY
31
# day model simulation ends
FULL_ENERGY
TRUE
# TRUE = calculate full energy balance; FALSE = compute water balance
only
FROZEN_SOIL
TRUE
# TRUE = calculate frozen soils
#######################################################################
# Soil Temperature Parameters
Outline
VIC Overview
 VIC Web Site
 How to Run VIC
 How to Run the Routing Model
 Future Development
 Conclusions

How to Run the Routing Model
1.
2.
3.
4.
Download source code
Compile (via “make”)
Prepare input files
Run rout
rout input_file >& log.file.txt
Input Files
“Input” File = Master Input File
 Names/locations of all other input/output files
 Settings of simulation options


Start/stop dates
Etc
Unit Hydrograph File
 Distribution of overland travel times for a pulse of runoff to reach
the channel (impulse response)
 ASCII text
 Format:
time(h) flow_fraction
Station Location File
 ASCII text
 List row,column coordinates of station(s) for which you want a
hydrograph
Input Files
Flow Direction File
 ASCII Arc/INFO
 Numeric code indicates pixel’s flow
direction
Flow Fraction File
 ASCII Arc/INFO
 Fraction of pixel’s runoff that enters
channel network
 Usually = fraction of pixel that’s in the
basin
Input Files
Other Optional ASCII Arc/INFO Files:
(You can either specify a filename or just a
single value that will be used in all pixels)
Flow Velocity File
 Diffusivity File

Input Files
Runoff Files
 ASCII Text (or NetCDF, in surface water
monitor)
 ASCII: require the following format
Year Month Day (data) (data) Runoff Baseflow
 Extra columns at the end of the line are
allowed (and ignored)
 VIC’s default output “fluxes” files have this
format

Daily runoff and baseflow will be added
together
Output Files
Daily, Monthly, Annual flow files
Units depend on settings in main input file
Outline
VIC Overview
 VIC Web Site
 How to Run VIC
 How to Run the Routing Model
 Future Development
 Conclusions

Future Development
Possible additions:
 NetCDF Input/Output
 Complete Carbon Cycle (port from my work)
 Lakebottom heat flux (port from my work)
 Distrib water table (port from my work)
 Methane?
 More user-friendly lake model
 Multiple soil types per cell
 Replace (veg tile, snow band) array with
“patches”, each with own soil, veg, elevation, etc
characteristics
 Flow routing within VIC
 Suggestions?
Large-Scale Modeling: Challenges
How to Validate Model
Results?

Large-scale simulations vs. point measurements



Streamflow is our friend!



Soil moisture extremely heterogeneous
One point is NOT representative of entire grid cell
Aggregates the runoff of the entire basin above the
gauge
How would we do this with other hydrologic
variables?
Satellites can measure things visible at surface

Problem: lateral extent (e.g. snow cover) not equal to
total storage (e.g. snow depth)
Conclusions



Goals of large-scale models not the same as
hillslope-scale models
Different assumptions & approximations
Large-scale behavior may look different from
small-scale




Non-linearities
Interactions
Fine-scale variations, where important,
represented by statistical distributions
Validation of large-scale models requires largescale observations, special techniques
Thank You

More information at VIC web site:
www.hydro.washington.edu/Lettenmaier/Models/VIC/
Large-Scale Modeling: Overview
What is a model?





(Idealized) Representation of
some aspect of natural world
Aid to understanding the real
world
(Usually) Simpler than the
real world
Captures most important
features of the system
Less important features may
be omitted or approximated
Large-Scale Modeling: Overview
Types of Models:


Numerical (computer)
Analytical (equations)







Penman-Monteith
Transpiration
Newton’s Gravity
Conceptual (need not be
mathematical)
Role model
Fashion model
Model airplane
Etc
VIC = Large-Scale Land Surface
Hydrology Model

Captures important features of large hydrologic
systems



Coarse resolution (why?)



Spatial: 1/16- to 2-degree (5-200 km)
Temporal: generally analyze outputs at monthly scales
Inputs



Sub-continental to global systems
>100,000 km2
Meteorology
Soil, vegetation, topography
Outputs

Water & energy storages and fluxes (snowpack, streamflow,
soil moisture, etc)
Large-Scale Modeling: Overview
Why use a large-scale hydrologic model?

Estimating
continental/global:



Allocation of international
water resources





water budgets
land-atmosphere energy
fluxes
Drinking water
Agriculture
Hydropower
Environmental
Hydrologic impacts of large-scale climate variations/change


El Nino, Pacific Decadal Oscillation, etc
Global Warming
(These all have signatures that vary over large spatial scales)

Land surface component of global climate model
Large-Scale Modeling: Overview
Why Coarse Resolution?
 Computational Efficiency
 Large-scale questions don’t require fine
resolution
 Uncertainties at fine resolution


Observations
Model Equations
Large-Scale Modeling: Overview
Primary Analysis Needs:
 Availability of water resources







River discharge
Soil moisture
Snow pack & Reservoir storage
Large areas
Historical and projected
Seasonal averages
Interannual variability & trends
Generally, coarse outputs (monthly data, at 1/8degree or larger resolution), are sufficient
 Room for slop…
Large-Scale Modeling: Overview
What are the largest sources of uncertainty in hydrologic modeling?
Observations
 ΔS = P – ET – R





R: Moderately well-observed (at surface) at large scale (but not everywhere)
P: Well-sampled only in populated affluent areas
ET: Very poorly sampled
S (Snow, Soil Moisture, Lakes/Reservoirs): Very poorly sampled
Meteorologic inputs are a substantial component of uncertainty
Model equations
 Equations from “pure” lab settings applied to large, heterogeneous areas



Usually can’t predict “effective” parameters of these equations a priori
Must calibrate them by comparing model outputs to observations
Model behaviors generally not sufficiently constrained by observations

Errors in S can be compensated by errors in ET
Aggregating these over larger scales reduces errors (at the expense
of precision)
Large-Scale Modeling: Overview
Therefore, large-scale models may use
different equations from what you might
expect on the hillslope scale…
Download