Several bit-for-bit fixes especially around soil-moisture streams
Pre-releaseA list of several bit-for-bit fixes. Some very minor and other's more extensive.
mksurfdata_map was extended so that when you specify vegetation types, you can let it use the natural and crop coverage
from the input datasets. This allows you to for example run a global simulation with all vegetation types in every grid cell.
This can be useful in seeing what types of vegetation grow in each grid cell. Also simplify some of the logic that allowed
for old format PFT datasets that didn't include crop information. Since, we don't have or need to work with such datasets
this complex logic could be removed. Also added some new unit tests for mksurfdata and the defining PFT values.
Add time interpolation alogrithm type to most of the stream files, so it can be changed via namelist. Add historical data to the
Nitrogen deposition future scenario datasets.
Add namelist control variables for soilm_offset, and tint_algo for most of the streams. tint_algo allows you to control the time
interpolation and change it to a simpler one (like upper) in order to show that the streams output agrees with the streams data
input. soilm_offset allows the user to change the time-stamp offset if the time-stamp isn't at the middle of averaging interval.
This is important for the soil moisture streams for a case where you want to use the output of a CTSM simulation for soil-moisture
as normally the time-stamp is the end of the interval (so you could use -1296000 to roughly compensate for the time-stamps to be
at the end of the month rather than mid-month). Add a namelist item to continue when soil moisture is prescribed and a gridpoint
is missing on the input streams file, but required for the simulation running. Also add an optional history field H2OSOI_PRESCRIBED_GRC
that corresponds to the input soil moisture streams, so you can ensure the prescribe soil moisture is working correctly and agrees
with the input dataset.
Fix the threading bug for soil-moisture and LAI streams. This is done by adding a new "advance" subroutine that does the streams
advance part of the calculation in a non-OpenMP area of the CLM driver, while the "interp" subroutine remains in the Open-MP
loop.
Include missing prescribed testmods directory. Allow branches with use_init_interp=T with a log message about it.
Move tests from hobart to izumi.
This is bit-for-bit