📄 readme.txt
字号:
Arc/info soil parameter files and ARNO soil parameters Files affected: read_soilparam_arc.c Description: VIC 4.0.4 does not handle ARNO soil parameters in arc/info soil files. VIC 4.0.5 now handles them in all soil files (assuming ARC_SOIL is TRUE).Soil thermal node calculations Files affected: soil_conduction.c Description: set_node_parameters(): Modified to correct differences between calculations to determine maximum node moisture and node moisture, so that nodes on the boundary between soil layers are computed the same way for both. (port from 4.1.0 beta) distribute_node_moisture_properties(): Modified to check that node soil moisture is less than or equal to maximum node soil moisture, otherwise an error is printed to the screen and the model exits. (port from 4.1.0 beta)Canopy evaporation and distributed precipitation Files affected: surface_fluxes.c Description: Fixed initialization of canopyevap to initialize for every value of dist, rather than just dist 0. (found by Justin Sheffield at Princeton)Output debug file error Files affected: write_atmosdata.c Description: No longer close the debug file, since the next cell must write to it. (found by Justin Sheffield at Princeton)Calculation of deltaH when FS_ACTIVE is FALSE Files affected: func_surf_energy_bal.c Description: Added check that both FS_ACTIVE and FROZEN_SOIL are true before adjusting *deltaH. This is just a safety measure; ice and ice0 should both be 0 when FS_ACTIVE is FALSE. (found by Justin Sheffield at Princeton)Root_brent error message clarification Files affected: calc_surf_energy_bal.c, frozen_soil.c, root_brent.c, snow_melt.c, vicNl.h Description: Instead of printing error messages, root_brent.c passes error messages to the functions that called it, leaving it to them to describe the specific error and its consequences. In 4.0.4, root_brent's messages sometimes were wrong.Statefile name change Files affected: open_state_file.c Description: Modified the statefile name to contain year, month, day rather than day, month, year. This makes it consistent with the planned release of 4.1.0. (port from 4.1.0 beta)Display current grid cell number for arc/info soil files Files affected: read_soilparam_arc.c Description: In 4.0.4, for arc/info-format soil files, the current grid cell is not displayed (for regular-format soil files, it is displayed). Now the current grid cell number is always displayed.Fluxes file output format (ascii) Files affected: write_data.c Description: In 4.0.4, some fields in the ascii-format fluxes output file were not separated by white space when values became large. This has been fixed.Binary file opening message Files affected: open_file.c Description: In 4.0.4, the message announcing the opening of a binary input file for reading was truncated. This has been fixed.--------------------------------------------------------------------------------December 1, 2003: VIC release 4.0.4This release covers fixes for a small number of additional bugs discoveredsince the release of 4.0.4 beta r3, plus 2 new features.New Features: - Typing 'vicNl -v' on the command line now displays the version of VIC you are running. This provides a fast, simple way of determining the version of VIC without running a simulation. - The parameters {Ds, Dsmax, Ws and c} in the soil parameter file may now be replaced by the set of ARNO baseflow parameters {d1, d2, d3, d4}. To enable VIC to read the ARNO baseflow parameters, you must add the following line to the global parameter file: ARNO_PARAMS TRUE and replace {Ds, Dsmax, Ws, and c} with {d1, d2, d3, and d4} in the soil parameter file. To disable this behavior, your soil file should contain {Ds, Dsmax, Ws, and c} and your global parameter file should contain: ARNO_PARAMS FALSE or you may omit the ARNO_PARAMS line entirely.Modifications: read_vegparam.c: Applied Alan Hamlet's fix for COMPUTE_TREELINE option, which fixed a segmentation fault when COMPUTE_TREELINE=TRUE. This consisted of removing the call to realloc and instead allocating an extra veg class to begin with, as well as assigning this extra veg class a very small fraction of the grid cell's area to avoid changing the results for areas below the treeline. TJB runoff.c: This fixed strange behavior (spikes) in bottom-layer soil moisture and baseflow for low liquid moisture conditions (e.g. frozen soils). Changed calculation of dt_baseflow to go to zero when soil liquid moisture <= residual moisture. Changed block that handles case of total soil moisture < residual moisture to not allow dt_baseflow to go negative. TJB write_model_state.c, read_initial_model_state.c: (bugs found by Lifeng Luo at Princeton) Read_initial_model_state was not parsing ASCII state files according to the format written by write_model_state. Modified write_model_state.c to add a "\n" after writing mu. Modified read_initial_model_state to loop over tmp_Nveg and tmp_Nband when searching for the desired cellnum, and to read the correct number of lines per veg class once the desired cellnum has been found. TJB vicNl_def.h, get_global_param.c, read_soilparam.c: Added the ARNO_PARAMS option. If TRUE, read_soilparam reads the ARNO baseflow parameters d1, d2, d3, and d4 and converts them to Ds, Dsmax, Ws, and c. TJB snow_utility.c: In the snow_density function, modified the checks on delta_depth so that the condition is delta_depth > MAX_CHANGE*depth Modified compression due to aging to only be calculated if depth > 0. TJB global.h, vicNl.c, cmd_proc.c: Modified the version information banner to display the version string defined in global.h. Added -v option to display version information as well. TJB--------------------------------------------------------------------------------September 5, 2003: VIC release 4.0.4beta r3 snow_utility.c: modification by KAC Added check to keep compression from aging from exceeding the actual depth of the snowpack. get_global_param.c, initialize_atmos.c, read_vegparam.c, vicNl_def.h: modification by KAC Moved COMPUTE_TREELINE flag from user_def.h to the options structure. Now when not set to FALSE, the value indicates the default above treeline vegetation if no usable vegetation types are in the grid cell (i.e. everything has a canopy). A negative value will cause the model to use bare soil. Make sure that positive index value refer to a non-canopied vegetation type in the vegetation library. To activate treeline calculation, add the following to your global control file: COMPUTE_TREELINE n If n < 0, the default above treeline vegetation is set to bare soil. If n >= 0, the default vegetation type is set to type n in the vegetation library. To deactivate treeline calculation, add the following or remove the line from the global control file: COMPUTE_TREELINE FALSE WARNING #1: Since the model does not store default root zone distributions, the default vegetation type will use the values from the last defined vegetation type for the current grid cell (i.e. veg type N-1, prior to the addition of the new vegetation type). WARNING #2: If you are using GLOBAL_LAI, than the LAI and dew storage terms for the default vegetation type will be set to the values used by the last occurrence of the default vegetation type. write_model_state.c: bug found by AWW and KAC Modified to print space before dz_node for ASCII state file, this corrects a problem with state files created for models using the Cherkauer and Lettenmaier (1999) heat flux formulation.--------------------------------------------------------------------------------June 4, 2003: VIC release 4.0.4beta r2This covers bugs found during tests with the snow algorithm. solve_snow.c: Bug found by KAC Counter for number of days since last snowfall was incremented twice in the MELTING update. This has been fixed. solve_snow.c: modification by KAC Added check so that MELTING flag is only TRUE if melt occurs in the melt season - currently this is defined between March 1 and October 1. Otherwise the MELTING flag can trigger rapid very early season melt write_model_state.c, read_initial_model_state.c, open_state_file.c, check_state_file.c: Modification by KAC Modified to handle both ASCII and BINARY state files. NOTE: ASCII mode is designed to make it easier to create a state file for initializing a point model. It includes all features of the Binary state file, but values are truncated so the resulting restart will not be identical. If you need an exact restart, use the Binary files. Also removed ice content from the state file as it is computed at the begining of each time step, so storing its value is unnecessary.--------------------------------------------------------------------------------April 23, 2003: VIC release 4.0.4beta r1This covers bug fixes found by beta testers and fixed in the version ofthe code bundled with this file. surface_fluxes.c: (found by Ingjerd Haddeland) Indexing fix sent SNOW_STEP to calc_surf_energy_bal rather than the model time step, meaning that without snow the evaporation was computed for SNOW_STEP hours rather than a full day. This was fixed by introducing step_inc to index the arrays, while step_dt keeps track of the correct time step.--------------------------------------------------------------------------------March 27, 2003: VIC release 4.0.4betaThis release covers patches for several bugs found in 4.0.3, which were never formally released (i.e. the downloadable source code was modified, but no major announcement was made). It also includes other fixes and modifications that have been identified as being needed prior to releasing version 4.1.0, which will involve several significant changes (including lakes & wetlands, spatial snow & frost, and a closed canopy energy balance).Modifications: Snow albedo update: (found by Keith) In previous releases, the snow albedo function has been hyper sensitive to trace amounts of snowfall during the melt period. Whenever new snow falls or the cold content falls below 0, the albedo is switched from the ablation curve to the accumulation curve. This curve is then followed until the cold content exceeds 0, indicating it is in the spring melt season. This is fine when accounting for thin early season snowpacks or mid- season melt events, however, a cold snap or light dusting of snow should not reset the snowpack albedo to much higher winter values for days or weeks at a time. This release of the model monitors the state of pack with the variable MELTING. This flag keeps the snowpack on the ablation curve unless new snow- fall exceeds a threshold (TraceSnow in user_def.h) indicating that the top of the snowpack should be represented by the albedo of the new snow. Model initialization: (found by Ulysses and Keith) In previous releases, the initialization of soil layer moist[] and ice[] was within a second set of loops for band and vegetation, using the same counters. Because of the dual use of counters, initialization was not completed correctly. The primary effect of this was that thermal node values beyond the first vegetation type were not correctly initialized, which caused the model to crash during some simulations with full energy or frozen soils active. Without frozen soil, most simulations would compensate for the problem within their spin-up time, so it is unlikely that this bug impacts any simulations not employing frozen soil. Snow time step: (found by Andy, et al.) The snow algorithm needs to run sub-daily for the energy balance components to function properly. This means that for daily simulations, the snow model must be solved at a finer (sub-daily) time step. In the previous release, initialize_atmos.c stored sub-daily met data in each days variable using positions (e.g. 0,1,..8 for 3 hour data). In surface_fluxes.c the model indexed the sub-daily time steps used by the snow algorithm with hours (e.g. 0,3,6,...21 for three hour data). This means the arrays were incorrectly indexed and the resulting model simulations would be wrong. The fix implemented here has been tested under several model configurations and is deemed the official version. WARNING: There are several versions of this fix circulating, please update your code to this version - the previous fixes may not work in all circumstances! FROZEN_SOIL active flag: (found by Ed and Justin) The cause of the problem is a bug in the code that occurs when the global frozen soils flag (FROZEN_SOILS) is set to true but the individual cell frozen soil flag (FS_ACTIVE) is set to false. This causes the change in soil heat storage to be
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -