How to Use VIC as a Meteorological Forcing Disaggregator¶
In normal operation, VIC disaggregates daily forcings to a sub-daily time step, either the model time step (TIME_STEP) or the snow time step (SNOW_STEP) if this is different from the model time step. Normally, these disaggregated forcings are used internally but never written to the output files. However, there are many cases in which we want to store these disaggregated forcings; for example, preparing sub-daily forcings for other hydrologic models, or examining the inputs to VIC's physics functions.
For this reason, VIC has an option (OUTPUT_FORCE) to write its internal sub-daily forcings to output files. When OUTPUT_FORCE is TRUE in the global parameter file, VIC will run as before, but after disaggregating each grid cell's forcings, it will move to the next grid cell without running a simulation.
Here is a detailed procedure for running VIC in OUTPUT_FORCE mode:
Global Parameter File¶
Create a global parameter file. Because VIC will not actually run a simulation, it will ignore some of the file's contents. The only settings that VIC will pay attention to in this mode are:
TIME_STEP
: Set this to the sub-daily interval that you want your forcings disaggregated toSNOW_STEP
: Set this equal toTIME_STEP
STARTYEAR
,STARTMONTH
,STARTDAY
,STARTHOUR
: Set these to the start date for your disaggregated forcingsENDYEAR
,ENDMONTH
,ENDDAY
: Set these to the end date for your disaggregated forcings- All the variables in the forcing section should be the same as before, i.e. these describe the input (daily) forcings that you are reading:
FORCING1
,FORCING2
(if applicable),FORCE_FORMAT
,FORCE_ENDIAN
,N_TYPES
,FORCE_TYPE
(there must be one of these for each input variable, e.g. PREC, TMAX, TMIN, WIND),FORCE_DT
,FORCEYEAR
,FORCEMONTH
,FORCEDAY
,FORCEHOUR
,GRID_DECIMAL
,WIND_H
,MEASURE_H
, andALMA_INPUT
VEGLIB
,VEGLIB_VEGCOVER
,VEGPARAM
,ROOT_ZONES
,VEGPARAM_LAI
,VEGPARAM_VEGCOVER
,VEGPARAM_ALB
: Set to the same values as you would for a full VIC simulationRESULT_DIR
: Set to the name of the directory where the disaggregated forcings should be writtenOUT_STEP
: Set to 0ALMA_OUTPUT
: For standard VIC forcings, set to FALSE; for ALMA-compliant forcings (often required by other models) set to TRUEBINARY_OUTPUT
: Set this to FALSE to produce ASCII forcings, TRUE to produce BINARY forcingsSKIPYEAR
: We recommend setting this to 0OUTPUT_FORCE
: This must be set to TRUEN_OUTFILES
,OUTFILE
,OUTVAR
: These can be omitted; by default, VIC will produce 1 output file per grid cell, names "full_data_lat_lon_," where lat, lon = latitude and longitude of te grid cell's center. These default output files will contain the following variables:
Name | Units (ALMA_OUTPUT FALSE) | Units (ALMA_OUTPUT TRUE) |
---|---|---|
PREC | [mm/timestep] | [mm/sec] |
AIR_TEMP | [deg C] | [K] |
SHORTWAVE | [W/m2] | [W/m2] |
LONGWAVE | [W/m2] | [W/m2] |
DENSITY | [kg/m3] | [kg/m3] |
PRESSURE | [kPa] | [Pa] |
VP | [kPa] | [Pa] |
WIND | [m/s] | [m/s] |
If you wish to output different forcing variables from the ones wirtten by default, you will need to specify these in the global parameter file.
Run VIC¶
vicNl -g global_param_file
Disaggregated forcings should now reside in the directory you specified in the global parameter file.