Download - What’s New in VIC 4.0.6
What’s New in VIC 4.0.6What’s New in VIC 4.0.6
Ted BohnTed Bohn
Hydro SeminarHydro Seminar
October 12, 2007October 12, 2007
OutlineOutline
Updates since 4.0.5Updates since 4.0.5– New FeaturesNew Features– Bug FixesBug Fixes– Backwards-compatibilityBackwards-compatibility
How To Get 4.0.6How To Get 4.0.6
Future PlansFuture Plans– VIC 4.1.0/4.1.1VIC 4.1.0/4.1.1
New FeaturesNew Features
Flexible OutputFlexible Output– Write exactly the variables you want to seeWrite exactly the variables you want to see– Reduce disk usage & run timeReduce disk usage & run time
Output AggregationOutput Aggregation– To any multiple of model TIME_STEP, up to dailyTo any multiple of model TIME_STEP, up to daily– Reduce disk usage & run timeReduce disk usage & run time– Avoid unnecessary post-processing (by hand)Avoid unnecessary post-processing (by hand)
ALMA Input/OutputALMA Input/Output– Compliance with ALMA standard for model intercomparisonsCompliance with ALMA standard for model intercomparisons– http://www.lmd.jussieu.fr/~polcher/ALMA/http://www.lmd.jussieu.fr/~polcher/ALMA/
Output HeadersOutput Headers– Document exactly what’s in your file and how createdDocument exactly what’s in your file and how created
Important fortsunami
ALMA output
Flexible Output
Output Aggregation
Print Headers
Number of output files
Number of vars in fileFile prefix
Variable name
Multiplier (only usedfor binary output)
Variable typeFormat code
Example Global Parameter File
This variable has 3 elements,but we just specify it once
Resulting Output File
ALMA yes/no
Output Time Step
Number of Records
Variable Names
3 Elements of OUT_SOIL_MOIST
Optional Header
Date printed automatically(not printed for OUTPUT_FORCE option)
HeadersHeaders
Available for binary output filesAvailable for binary output filesAvailable for forcing files produced with the Available for forcing files produced with the OUTPUT_FORCE optionOUTPUT_FORCE optionVIC will automatically detect and skip headers in VIC will automatically detect and skip headers in forcing files (if they start with #)forcing files (if they start with #)
In global parameter file:In global parameter file:PRT_HEADERPRT_HEADER TRUETRUE– HeaderHeader
PRT_HEADERPRT_HEADER FALSE (or not mentioned)FALSE (or not mentioned)– No headerNo header
ALMA InputALMA InputVIC now accepts the following input forcing vars:VIC now accepts the following input forcing vars:– SNOWFSNOWF snowfall rate (kg/m^2s)snowfall rate (kg/m^2s)– RAINFRAINF rainfall rate (kg/m^2s)rainfall rate (kg/m^2s)– CRAINFCRAINF convective rainfall rate (kg/m^2s)convective rainfall rate (kg/m^2s)– LSRAINFLSRAINF large scale rainfall rate (kg/m^2s)large scale rainfall rate (kg/m^2s)– QAIRQAIR specific humidity (kg/kg)specific humidity (kg/kg)– WIND_EWIND_E zonal wind speed (m/s)zonal wind speed (m/s)– WIND_NWIND_N meridional wind speed (m/s)meridional wind speed (m/s)– TAIRTAIR air temperature per time step (K)air temperature per time step (K)– PSURFPSURF atmospheric pressure (Pa)atmospheric pressure (Pa)http://www.lmd.jussieu.fr/~polcher/ALMA/convention_input_3.htmlhttp://www.lmd.jussieu.fr/~polcher/ALMA/convention_input_3.html
To see complete list of available input forcing vars, see To see complete list of available input forcing vars, see vicNl_def.hvicNl_def.hVIC automatically handles these if they are listed in your VIC automatically handles these if they are listed in your global parameter fileglobal parameter file
ALMA OutputALMA Output
In global parameter file:In global parameter file:ALMA_OUTPUTALMA_OUTPUT TRUETRUE– Moisture fluxes converted from mm/timestep to mm/sMoisture fluxes converted from mm/timestep to mm/s– Temperatures converted from C to KTemperatures converted from C to K– Pressures converted from kPa to PaPressures converted from kPa to Pa– DeltaCC and DeltaH converted from W/mDeltaCC and DeltaH converted from W/m22 to J/m to J/m22
Recommend %.7e output format for ALMA moisture Recommend %.7e output format for ALMA moisture fluxesfluxesALMA_OUTPUTALMA_OUTPUT FALSE (or not mentioned at all)FALSE (or not mentioned at all)– Default behaviorDefault behavior
More info on ALMA output conventions:More info on ALMA output conventions:http://www.lmd.jussieu.fr/~polcher/ALMA/convention_output_3.htmlhttp://www.lmd.jussieu.fr/~polcher/ALMA/convention_output_3.html
List of available input forcing vars: List of available input forcing vars: vicNl_def.hvicNl_def.h
Variable NameNote: name in your global param file must match this exactly
Variable Description
List of available output vars: List of available output vars: vicNl_def.hvicNl_def.h
Instructions on how to add a new output variable to VIC will be posted on the VIC web site
Variable NameNote: name in your global param file must match this exactly
Variable Description
In the VIC source code folder:In the VIC source code folder:global.param.sampleglobal.param.sample– All available options visibleAll available options visible
““Recipes” for flexible output:Recipes” for flexible output:– output.TRADITIONAL.templateoutput.TRADITIONAL.template– output.OUTPUT_FORCE.templateoutput.OUTPUT_FORCE.template– output.PILPS-2E.ALMA.templateoutput.PILPS-2E.ALMA.template– output.OUTPUT_FORCE.ALMA.templateoutput.OUTPUT_FORCE.ALMA.template– output.LDAS_OUTPUT.templateoutput.LDAS_OUTPUT.template– output.OPTIMIZE.templateoutput.OPTIMIZE.templateYou can paste the contents of these files into your You can paste the contents of these files into your
global param fileglobal param file
Example FilesExample Files
ALMA-compliantformats
Historicalformats
VIC uses these formatsautomatically; just herefor your reference
State FilesState Files
SAVE_STATE user_def.h option is goneSAVE_STATE user_def.h option is goneNow, global param file controls reading/writing Now, global param file controls reading/writing state files:state files:– To read an initial state file:To read an initial state file:
INIT_STATEINIT_STATE init_state_filenameinit_state_filename– To save a state file:To save a state file:
STATENAMESTATENAME state_file_namestate_file_nameSTATEYEARSTATEYEAR state_yearstate_yearSTATEMONTHSTATEMONTH state_monthstate_monthSTATEDAYSTATEDAY state_daystate_day
State file is written AFTER the FINAL timestep State file is written AFTER the FINAL timestep on STATEDAYon STATEDAY
Bug FixesBug Fixes
BASEFLOW optionBASEFLOW option
Replaces BASEFLOW_NIJSSEN2001 and Replaces BASEFLOW_NIJSSEN2001 and ARNO_PARAMS optionsARNO_PARAMS options
BASEFLOW ARNO (or not mentioned)BASEFLOW ARNO (or not mentioned)– Standard baseflow parameters in the soil parameter Standard baseflow parameters in the soil parameter
filefile
BASEFLOW NIJSSEN2001BASEFLOW NIJSSEN2001– Baseflow parameters from Nijssen et al 2001Baseflow parameters from Nijssen et al 2001– (rarely needed – only for certain global and/or arctic (rarely needed – only for certain global and/or arctic
data sets)data sets)
Bug FixesBug Fixes
Aerodynamic Resistance OutputAerodynamic Resistance Output
Pre 4.0.6:Pre 4.0.6:– Value printed was the value before stability correction Value printed was the value before stability correction
appliedapplied– Aggregated by arithmetic average over veg tilesAggregated by arithmetic average over veg tiles
Now:Now:– Corrected valueCorrected value– Aggregated by 1/(arithmetic average of Aggregated by 1/(arithmetic average of
conductances)conductances)
Bug FixesBug Fixes
Baseflow formulaBaseflow formula
4.0.4, 4.0.5: typo in non-linear part of 4.0.4, 4.0.5: typo in non-linear part of formulaformula
Now: fixedNow: fixed
Very little difference in results unless your Very little difference in results unless your grid cells commonly experience near-grid cells commonly experience near-saturation in bottom soil layersaturation in bottom soil layer
Bug FixesBug Fixes
Liquid soil moisture should never be < Liquid soil moisture should never be < residual moistureresidual moisture
Occasional reports of invalid soil moistureOccasional reports of invalid soil moisture– Can’t reproduce thisCan’t reproduce this
Found & fixed some bugs in codeFound & fixed some bugs in code– No difference in results so farNo difference in results so far
Please let us know if you find soil moisture Please let us know if you find soil moisture < residual moisture< residual moisture
Bug FixesBug Fixes
For complete list of bug fixes, see For complete list of bug fixes, see README.txt in source code folderREADME.txt in source code folder
Backwards CompatibilityBackwards Compatibility
You should be able to replace 4.0.5 with 4.0.6 with You should be able to replace 4.0.5 with 4.0.6 with few or no changes to your parametersfew or no changes to your parameters
Differences:Differences:Replace ARNO_PARAMS and/or BASEFLOW Replace ARNO_PARAMS and/or BASEFLOW _NIJSSEN2001 with BASEFLOW_NIJSSEN2001 with BASEFLOWState file behavior completely controlled by State file behavior completely controlled by global param fileglobal param fileState files saved at END of STATEDAYState files saved at END of STATEDAY– To read them as initial state files in a later run, start To read them as initial state files in a later run, start
your run on the following dayyour run on the following day
Other Useful Features (not new)Other Useful Features (not new)
Command-line optionsCommand-line optionsvicNl –vvicNl –v– Which version am I running?Which version am I running?
vicNl –ovicNl –o– What are the compile-time options (from user_def.h)?What are the compile-time options (from user_def.h)?(these could be different from what’s currently in (these could be different from what’s currently in
user_def.h, if you’ve changed user_def.h but not user_def.h, if you’ve changed user_def.h but not recompiled VIC)recompiled VIC)
vicNl –hvicNl –h– List of valid command-line optionsList of valid command-line options
Other Useful Features (not new)Other Useful Features (not new)
COMPUTE_TREELINECOMPUTE_TREELINE
For use with SNOW_BANDS > 1For use with SNOW_BANDS > 1
If TRUE, VIC computes the location of the tree If TRUE, VIC computes the location of the tree line based on lapse rate and mean July air templine based on lapse rate and mean July air temp– Mean July air temp can be specified in 54Mean July air temp can be specified in 54thth column of column of
soil parameter filesoil parameter file
Any bands above the tree line will have tree veg Any bands above the tree line will have tree veg tiles replaced with grass (or veg of your choice)tiles replaced with grass (or veg of your choice)
This can prevent runaway snow packsThis can prevent runaway snow packs
Other Useful Features (not new)Other Useful Features (not new)
ARC_SOIL optionARC_SOIL option
If specified, VIC will read soil parameters If specified, VIC will read soil parameters from Arc/Info ascii-format gridsfrom Arc/Info ascii-format grids
Known BugsKnown Bugs
(To be addressed in VIC 4.1)(To be addressed in VIC 4.1)For multiple snowbands and For multiple snowbands and FULL_ENERGY/FROZEN_SOILS = FULL_ENERGY/FROZEN_SOILS = TRUE, partitioning of water and ice in soil TRUE, partitioning of water and ice in soil may be wrongmay be wrong– This combination of model modes is not This combination of model modes is not
commoncommon
Forcing disaggregation & lapsing not Forcing disaggregation & lapsing not consistent within modelconsistent within model
How to get codeHow to get code
Currently beta-testing VIC 4.0.6 – please Currently beta-testing VIC 4.0.6 – please help!help!
Latest beta version available atLatest beta version available at/usr/local/hydro/build/models/vic/VIC_4.0.6_r1/usr/local/hydro/build/models/vic/VIC_4.0.6_r1
ororftp.hydro.washington.edu/pub/vic/VIC_4.0.6_Code_beta_r1.tar.gzftp.hydro.washington.edu/pub/vic/VIC_4.0.6_Code_beta_r1.tar.gz
VIC Web Site:
•Documentation•Source code infoand downloads
Future PlansFuture Plans
Release VIC 4.0.6: November 1Release VIC 4.0.6: November 1– Will include updating of web documentationWill include updating of web documentation– Hopefully no VIC 4.0.7Hopefully no VIC 4.0.7
VIC 4.1.0/4.1.1VIC 4.1.0/4.1.1– Current beta version is 4.1.0_r4 (freeze Oct 19)Current beta version is 4.1.0_r4 (freeze Oct 19)
Flexible output, output aggregation, ALMA I/O, output headersFlexible output, output aggregation, ALMA I/O, output headersLake modelLake modelSpatial frost, spatial snowSpatial frost, spatial snowBlowing snowBlowing snowPermafrostPermafrostCONTINUE_ON_ERRORCONTINUE_ON_ERROR
– 4.1.0_r5 (freeze Nov 1)4.1.0_r5 (freeze Nov 1)Update to lake model – requires change in lake parameter file formatUpdate to lake model – requires change in lake parameter file formatKostas’s snow model?Kostas’s snow model?
– 4.1.1 (release Dec 1?)4.1.1 (release Dec 1?)Basically 4.1.0_r5 with fixes to any minor bugs found in beta testingBasically 4.1.0_r5 with fixes to any minor bugs found in beta testing
Future PlansFuture Plans
Known issues in 4.1.0/4.1.1 (probably will be Known issues in 4.1.0/4.1.1 (probably will be addressed post-4.1.1)addressed post-4.1.1)Results different from 4.0.6 - valid?Results different from 4.0.6 - valid?COMPUTE_TREELINE doesn’t functionCOMPUTE_TREELINE doesn’t functionFor multiple snowbands and For multiple snowbands and FULL_ENERGY/FROZEN_SOILS = TRUE, FULL_ENERGY/FROZEN_SOILS = TRUE, partitioning of water and ice in soil may be wrongpartitioning of water and ice in soil may be wrongForcing disaggregation & lapsing not consistent Forcing disaggregation & lapsing not consistent within modelwithin modelOthers – see VIC web pages for detailsOthers – see VIC web pages for details
Best Practices for Running on Best Practices for Running on ClusterCluster
Only write those variables you absolutely needOnly write those variables you absolutely need
Aggregate to daily (OUT_STEP 24) whenever Aggregate to daily (OUT_STEP 24) whenever possiblepossible
If you have a large domain, split it into smaller If you have a large domain, split it into smaller pieces and run each as a separate jobpieces and run each as a separate job
Write output locally (/state/partition1/……) and Write output locally (/state/partition1/……) and only copy output to /raid when job is finishedonly copy output to /raid when job is finished